MP3s zusammenfügen

Bissy

Raisin Rouge
Registriert
03.02.07
Beiträge
1.176
Hi,

arbeite mich gerade in Objective C ein, habe allerdings schon einige Vorkenntnisse (C++).

Für OS X habe ich noch nie programmiert!

Mein Problem:

Ich muss öfters MP3 Dateien zusammenfügen. So weit so gut. Das Problem: Der "cat"-Befehl im Terminal versagt ab und zu, wenn ID3-Tags in den Files stecken. Außerdem sind es sooo viele Dateien, dass ich das nicht manuell machen will.

Mit reicht ein Programm in der Kommandozeile, also grafisch brauch ich da jetzt erstmal nix.

Setup:
Die zusammenzufügenden Dateien liegen jeweils in einem Ordner, durch nummeriert, sodass der "CAT"-Befehl sie "richtig" zusammen setzen würde.

Ich würde gerne ausgehend von einem Startverzeichnis das Programm starten. In diesem Verzeichnis sind Unterordner. Jeder UNterordner enthält eine unterschiedliche Anzahl an Files, die zu einer Datei zusammengefügt werden sollen. Pro Unterordner also eine Datei.

Das Programm muss somit (eigentlich klingt das ganz einfach) nur rekursiv die Verzeichnisse durchlaufen, in jedem Verzeichnis die vorliegenden Dateien von den ID3-Tags befreien, die Dateien per "cat" zusammenfügen (denke mal, dass man Terminal-Befehle auch in nem Programm ausführen kann oder), und dann optional wieder einen ID3 Tag in den Header setzen.

Finde allerdings keine Infos zu Operationen an MP3-Dateien. Ich weiß also gar nicht, wie ich an die ID3-Tags heran komme. Gibt es dazu eine fertige Library, die mir das erlaubt? Wie sieht es aus mit dem Zusammenfügen der Dateien? Wie rufe ich einen solchen Terminalbefehl auf? Geht das überhaupt?

Puh, schon echt ne Herausforderung, aber Learning by Doing ist immer noch am effizientesten.
 

Poljpocket

Salvatico di Campascio
Registriert
07.01.07
Beiträge
432
Erstelle doch einfach ein C++ Kommandozeilentool. Das kannst du mit Xcode erstellen.

Gruss ppocket
 

Bissy

Raisin Rouge
Registriert
03.02.07
Beiträge
1.176
Ok, ich weiß trotzdem nicht, wie ich auf die ID3 Informationen zugreifen und diese aus den MP3 löschen kann.
 

NSObject

Braeburn
Registriert
24.04.09
Beiträge
44
hast du dir das schon angeschaut? http://id3lib.sourceforge.net/ - ich denke, in der Library solltest du fündig werden.
Ansonsten gibt's sicher auch schon fertige Commandline-Tools, mit denen man den Job auch erledigen kann - schau halt mal bei sourceforge
 

karolherbst

Danziger Kant
Registriert
11.05.07
Beiträge
3.878
oder du wertest die ID3 Tags aus, einfach die Länge bestimmen => abschneiden => zusammen basteln. Fertig
 

Bissy

Raisin Rouge
Registriert
03.02.07
Beiträge
1.176
Ganz blöde Frage ;)

In der Library id3lib ist eine .exp-Datei. Wie importiere ich die in Xcode?
 

NSObject

Braeburn
Registriert
24.04.09
Beiträge
44
Ganz blöde Frage ;)

In der Library id3lib ist eine .exp-Datei. Wie importiere ich die in Xcode?

hmm - du hast nicht zufällig die Windows-Binaries der Library runtergeladen? Damit wird's sicher nix - ich fürchte, du musst das selbst compilieren ... ;)
 

karolherbst

Danziger Kant
Registriert
11.05.07
Beiträge
3.878
sonst fink installieren und per apt-get holen, oder Macports oder Darwinports... je nachdem wie du es haben willst. Selbst kompilieren geht natürlich auch.
 

Bissy

Raisin Rouge
Registriert
03.02.07
Beiträge
1.176
Puuuhh, das wird mir jetzt schon alles zu hoch hier :D Ich glaub ich muss mein Vorhaben noch ein wenig zurück stellen und mir erstmal ein Buch zum Thema Objective-C und Cocoa kaufen. Jemand eine Empfehlung?

Der Informatik Leistungskurs ist bei mir doch schon wieder 5 Jahre her, in denen ich keine Entwicklungsumgebungen mehr um mich hatte. Somit sind die Erinnerungen verblasst. Das "Grundverständnis" ist zwar noch da, aber leider ist das gerade so, als würde ich eine komplett neue Sprache erlernen. Habe mich mal ein bisschen durchgeklickt bisher, und dieser Interface Builder in Xcode macht einem sowas ja auch wirklich sehr leicht. Bin da noch anderes aus Perl-Zeiten gewohnt (Stichwort Tk und Wx).
Allerdings dauert das doch alles ein bisschen länger als gedacht.
 

karolherbst

Danziger Kant
Registriert
11.05.07
Beiträge
3.878
Du brauchst doch deswegen kein Cocoa lernen. Schreibe einfach in C++ ein Programm mittels Carbon und binde die id3lib ein. Die import Anweisung solltest du kennen. Einfach die lib installieren, den header einbinden und dann mit dem Objekt arbeiten. Dann brauchste kein Cocoa kein ObjC. Jedoch lege ich dir XCode als Umgebung nahe.
 

Bissy

Raisin Rouge
Registriert
03.02.07
Beiträge
1.176
Ich möchte aber gerne Cocoa lernen. Nach dem Umstieg von Windows (vor 3 Jahren) habe ich nichts mehr programmiert, und das will ich jetzt einfach als "Impuls" nutzen um da voll einzusteigen :)
 

karolherbst

Danziger Kant
Registriert
11.05.07
Beiträge
3.878
dann hol dir das Buch "Objective-C und Cocoa" von "Amin Negm-Awad" (der auch hier im AT aktiv ist)
 

Bissy

Raisin Rouge
Registriert
03.02.07
Beiträge
1.176
Perfekt, danke! Gehe morgen gleich mal in die Buchhandlung und schaue obs das da gibt. Wie heißt der hier im AT? Dann kann ich den gleich mal nerven wenn ich was nicht verstehe :D
 

Bissy

Raisin Rouge
Registriert
03.02.07
Beiträge
1.176
So, Buch ist da, dann fang ich jetzt wohl mal an. Optisch ist es schon mal gut! :D
Erste Auffälligkeit: Auf der Außenseite und auch im bibliographischen Information steht "2. Auflage", in der einleitung hingegen steht groß in schwarzen Lettern "Vorwort zur dritten Auflage". Was denn nun? Mmmmhhh..