Lyrics in eyeD3 eingeben

Wenn du dir nicht sicher bist, in welchem der anderen Foren du die Frage stellen sollst, dann bist du hier im Forum für allgemeine Fragen sicher richtig.
Antworten
Benutzeravatar
padrino
User
Beiträge: 4
Registriert: Dienstag 22. April 2008, 10:20
Kontaktdaten:

Samstag 13. September 2008, 17:56

Ich schreibe ein kleines Programm nur Songtexte in eine mp3 Datei zu importieren. Aber irgendwie verstehe ich nicht wie macht man das? In die doc Datei steht wie man es von den console macht, aber das ganze mit os.system zu machen ist irgendwie doof.

Also bis jetzt ist es so:

Code: Alles auswählen

lyrics = self.text_ctrl_3.GetValue()
                print self.filename
                print self.filepath
                f = open('tmp/%s.txt' % self.filename[:-4], 'w') # Das ist wenn der Benutzer keine Lyrics Datei usgewählt hat und den Text selber geschrieben hat.
                f.write(lyrics)
                lyricsfile = "tmp/%s.txt" % self.filename[:-4]
                os.system('eyeD3 -L "::$(cat %s)" %s' % (lyricsfile, self.filepath))
Kann mir jemand vielleicht helfen um das richtig in Python zu machen?


// Entschuldigen Sie mein Deutsch, aber es ist nicht meine Muttersprache.
Leonidas
Administrator
Beiträge: 16024
Registriert: Freitag 20. Juni 2003, 16:30
Kontaktdaten:

Samstag 13. September 2008, 21:10

Mit ``os.system()`` wirst du die Ausgabe von eyeD3 nicht lesen können. Nimm dazu das subprocess-Modul (siehe Dokumentation und Forumssuche).
Zuletzt geändert von Leonidas am Sonntag 14. September 2008, 16:13, insgesamt 1-mal geändert.
My god, it's full of CARs! | Leonidasvoice vs Modvoice
Benutzeravatar
br3z3l
User
Beiträge: 10
Registriert: Mittwoch 30. Januar 2008, 21:31
Kontaktdaten:

Sonntag 14. September 2008, 16:13

Ich würd eyeD3 einfach als Python Modul einbinden ...
Benutzeravatar
padrino
User
Beiträge: 4
Registriert: Dienstag 22. April 2008, 10:20
Kontaktdaten:

Sonntag 14. September 2008, 17:05

br3z3l hat geschrieben:Ich würd eyeD3 einfach als Python Modul einbinden ...
Genau das will ich machen. Vielleicht habe ich mich nicht so klar ausgedrückt. Ich will nur Lyrics in den dazugehörigen Frame schreiben:

Etwas ähnliches wie das:

Code: Alles auswählen

import eyeD3

tag = eyeD3.Tag()
tag.getArtist() # Gibt den Artist Name
tag.getTitle() # ... 

tag.setArtist('Madonna') #gibt neue Name für Artist
tag.set.Title('....') #...
tag.update()
Also auf jeden Fall geht nicht so einfach mit tag.setLyrics, weil man muss noch Sprache (bul, eng, ger), Komentar und den Songtext eingeben.
Leonidas
Administrator
Beiträge: 16024
Registriert: Freitag 20. Juni 2003, 16:30
Kontaktdaten:

Sonntag 14. September 2008, 17:43

Und wo genau ist dann da die Schwierigkeit? Zur Not kannst du ja immer schauen wie ``eyeD3`` das selbst macht (der Autor ist allerdings seltsam, da er Strichpunkte verwendet).

Code: Alles auswählen

tag.addLyrics(lyrics, desc, lang)
My god, it's full of CARs! | Leonidasvoice vs Modvoice
Antworten