Seite 1 von 1

Lyrics in eyeD3 eingeben

Verfasst: Samstag 13. September 2008, 17:56
von padrino
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.

Verfasst: Samstag 13. September 2008, 21:10
von Leonidas
Mit ``os.system()`` wirst du die Ausgabe von eyeD3 nicht lesen können. Nimm dazu das subprocess-Modul (siehe Dokumentation und Forumssuche).

Verfasst: Sonntag 14. September 2008, 16:13
von br3z3l
Ich würd eyeD3 einfach als Python Modul einbinden ...

Verfasst: Sonntag 14. September 2008, 17:05
von padrino
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.

Verfasst: Sonntag 14. September 2008, 17:43
von Leonidas
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)