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.
Benutzeravatar
padrino
User
Beiträge: 4
Registriert: Dienstag 22. April 2008, 10:20
Kontaktdaten:

Lyrics in eyeD3 eingeben

Beitragvon padrino » 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.
Benutzeravatar
Leonidas
Administrator
Beiträge: 16023
Registriert: Freitag 20. Juni 2003, 16:30
Kontaktdaten:

Beitragvon Leonidas » 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:

Beitragvon br3z3l » 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:

Beitragvon padrino » 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 language=python]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()
[/code]

Also auf jeden Fall geht nicht so einfach mit tag.setLyrics, weil man muss noch Sprache (bul, eng, ger), Komentar und den Songtext eingeben.
Benutzeravatar
Leonidas
Administrator
Beiträge: 16023
Registriert: Freitag 20. Juni 2003, 16:30
Kontaktdaten:

Beitragvon Leonidas » 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

Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder