• Apfeltalk ändert einen Teil seiner Allgemeinen Geschäftsbedingungen (AGB), das Löschen von Useraccounts betreffend.
    Näheres könnt Ihr hier nachlesen: AGB-Änderung
  • Viele hassen ihn, manche schwören auf ihn, wir aber möchten unbedingt sehen, welche Bilder Ihr vor Eurem geistigen Auge bzw. vor der Linse Eures iPhone oder iPad sehen könnt, wenn Ihr dieses Wort hört oder lest. Macht mit und beteiligt Euch an unserem Frühjahrsputz ---> Klick

Shell-Skript zum Wechsel der iTunes Bibliothek

Waldgeist

Tokyo Rose
Registriert
13.10.06
Beiträge
69
Hallo werte apfeltalk-Nutzer,

ich bin ein recht neuer Mac-Nutzer, bin aber gerade dabei mich einzuarbeiten.
Im Moment versuche ich ein bisschen mit Shell-Skripten zu "spielen".

Und zwar habe ich den folgenden Plan, welchen ich umsetzen will:

Da die MacBook Platte ja nur 60 GB fasst, ist es blödsinn dort seine gesamte Musik mit rumzuschleppen. Ich will somit auf dem MacbBook nur sagen wir 10% der gesamten Musik mitnehmen.
Aber zuhause will ich auch auf die andere Musik zugreifen können, welche auf einer externen Bibliothek liegt.
Ich will also ein Shell Skript ausführen, welches dann entweder eine entsprechende Datei austauscht oder aber auch nur einen Teil in einer Datei.
Und zwar soll zum einen der Speicherort der Bibliothek geändert werden und auch der speicherort der Musik, das wenn neue Musik hinzugefügt wird, diese im richtigen Verzeichnis landet.

Ich hoffe soweit ist es zu verstehen was ich machen will?

Gut, mein größtes Problem ist jetzt, wo sind diese Informationen gespeichert?
Bisher habe ich dazu noch nichts bei google gefunden. Irgend wo stand was von der Info Datei von iTunes. Aber die kann ich nicht finden, vermutlich gelöscht.
Kann mir jemand mitteilen, in welcher Datei diese Daten gespeichert sind?
Weitere Informationen google ich mir dann erstmal zusammen. Sollte dann nicht mehr das Problem werden.

Vielen Dank für Antworten.

MfG und allen einen schönen Abend,

Grüße Jons
 

pepi

Cellini
Registriert
03.09.05
Beiträge
8.740
Dein Vorhaben Dich mit der Shell zu befassen in Ehren, aber wenn Du in iTunes 7 beim Starten des Programmes die alt-Taste gedrückt hältst, dann kannst Du Dir eine Bibliothek aussuchen.
Gruß Pepi
 

Waldgeist

Tokyo Rose
Registriert
13.10.06
Beiträge
69
stimmt :).
Ich habe das ebend mal ausprobiert. Und ich dachte immer,
das der trotzdem die gleichen Pfade der Musikdaten nimmt, was aber nicht der Fall ist. Vielen Dank auf jeden Fall.

Ich werde trotzdem weiter dran arbeiten.
Und ich glaube auch den Ort der config zu haben.
Aber ich schaue erstmal nach.
Wenn ich was habe, dann poste ich es nochmal.

Allen einen schönen Abend.

Grüße Jons
 
Registriert
17.08.06
Beiträge
37
Warum so umstaendlich?
Mounte doch einfach die Externe Platte/ Freigabe / was auch immer einfach als iTunes Verzeichnis. Das erspart einem das Alt irgendwas gedoens beim starten von iTunes. (und Dateien must du dann auch keine bearbeiten.)

z.B. so:
(Anahme: Externe Platte, iTunes hat eine Partition fuer sich)
Platte anschliesen, und erstmal gucken, als welches Device sie erkannt wird:
Code:
krieg >mount
....
/dev/disk1s1 on Volumes/NoName (local, nodev, nosuid)
jetzt unmounten, wir brauchen die Partition woanders..
Code:
krieg >sudo umount /dev/disk1s1
krieg >sudo mount -t msdos /dev/disk1s1 ~/Music/iTunes/
(das -t beim mount kommt aufs filesystem an, normalerweise gehts ohne, bei dem
fat- zeug will er es aber immer genau wissen)
und schwubdiwupp.. nach dem starten von iTunes nimmt es die Bibliothek auf der externen Platte, bzw. legt dort ne neue an, falls vorher noch keine da war.
Nach dem unmounten / auswerfen wird wieder die Lokale Bib. verwendet.

Die Variante ist zwar bei USB und Firewireplatten etwas umstaendlich (vielleicht kann man os x ja dazu bringen, bestimmte platten an ne bestimmte stelle zu mounten - Hinweise werden gerne entgegengenommen) und auch das auswerfen ist etwas "zickig", wenn die externe Bibliothek aber auf einem NFS-Share (oder von mir aus auch Samba oder Webdav) liegt, und man es direkt dort hin mounten kann, ist es eigendlich ganz praktisch - und geht ohne allzu wildes rumgescripte ;)

viele gruesse.

sg.
 

Waldgeist

Tokyo Rose
Registriert
13.10.06
Beiträge
69
Ja darauf sollte es im Enteffekt hinauslaufen.
Aber ich will halt langsam reinkommen und ein kleines Shell-Skript schreiben,
was erstmal die Daten tauscht.
Ich habe das auch soweit hinbekommen.
Die Informationen zur Bib. lieben in /Users/username/Library/Preferences/com.apple.iTunes.plist <- dürfte so stimmen.

Ich habe das shell-Skript auch soweit fertig.
Die aktuelle Bibliothek wird mit der anderen ausgetauscht.
Jetzt will ich nur noch iTunes automatisch beenden und danach automatisch staten.
Bisher hat meine Suche dazu aber nicht viel gebracht. Nur kill und killall.
Aber kill braucht eine Prozessid. Und killall, lieber nochmal nachfragen ^^.
Wenn jemand kurz posten kann, wie das per shell geht wäre es super.

Grüße Jonas
 
Registriert
17.08.06
Beiträge
37
Aber kill braucht eine Prozessid. Und killall, lieber nochmal nachfragen ^^.
Wenn jemand kurz posten kann, wie das per shell geht wäre es super.

Grüße Jonas

Für die iTunes-PID zum Beispiel sowas:
Code:
ps aux | grep -m 1 iTunes | awk '/\ / {print $2}'

nicht wirklich schön - und nicht getestet -, sollte aber tun.

sg
 

pepi

Cellini
Registriert
03.09.05
Beiträge
8.740
Für die iTunes-PID zum Beispiel sowas:
Code:
ps aux | grep -m 1 iTunes | awk '/\ / {print $2}'
nicht wirklich schön - und nicht getestet -, sollte aber tun.
sg

Testen hätte echt geholfen. Nämlich draufzukommen, daß es überhaupt nicht das tut was es soll...

1. Findet es mal garnichts. Auch nicht wenn iTunes läuft.
2. Nur dann wenn man sein Terminal Fenster deutlich größer als 80*25 Zeichen betreibt.
3. Findet es auch den iTunes Helper und andere Apps die irgendwo iTunes im Namen tragen. Das ist wohl nicht im Sinne des Erfinders.


Damit klappt es besser:
Code:
ps auxw | grep -m 1 "/Applications/iTunes.app/Contents/MacOS/iTunes"  | awk '/\ / {print $2}'

Was ich hier auch nicht getestet habe ist was passiert wenn mehrere User eingelogged sind (Fast User Switching) und mehrere davon iTunes offen haben.
Das ist als Übungsaufgabe für den Lernwilligen zu sehen. :-D
Gruß Pepi
 

Waldgeist

Tokyo Rose
Registriert
13.10.06
Beiträge
69
Besten Dank für die Antwort...
Habe das mal getestet.
Aber beenden tut er iTunes nicht.
Allerdings habe ich mal nur ps auxw eingegeben, da listet er mir ja alles mögliche auf,
darunter befindet sich auch iTunes unter genau dem Pfad der von dir angegeben ist.
Immerhin weiß ich, dass es an dem nicht liegt :).

Mit dem Rest kann ich auch schon wieder nicht allzu viel anfangen.
Ich könnte, wenn ich dafür gerade ausreichend zeit hätte, natürlich wieder Stunden bei google verbringen, aber vllt. hat ja jemand lange Weile und möchte mir erklären was was bei dem Befehl macht. Würde mir wirklich weiterhelfen.

Vielen Dank und einen schönen Abend,

Grüße Jonas

PS: Durch die Zeile die oben gepostet ist (ps auxw | grep -m 1 "/Applications/iTunes.app/Contents/MacOS/iTunes" | awk '/\ / {print $2}')
kommt die Ausgabe "807". Vermutlich die Prozessid..?
 

pepi

Cellini
Registriert
03.09.05
Beiträge
8.740
Die Zeile liefert Dir die Prozess ID, das ist alles. Allerdings berücksichtigt das nicht, wenn mehrere iTunes (von verschiedenen Usern) laufen. Dazu wäre wohl ein
Code:
ps xw
besser geeignet, da es Dir dann nur eigene Prozesse liefert.

Wobei es evt. auch gescheiter wäre iTunes per AppleScript zu beenden. ist zumindest eine Überlegung wert.


Ich unterstütze die Faulheit sein Wissen ein wenig über Google zu finden nur sehr ungern. Ich werde Dir daher nicht vorkauen was der Rest tut. Vielleicht solltest Du grundsätzlich mal erst ein wenig mehr über die Shell und über Shellskripte (Prozesse, Stdin, Stdout, Stderr, Pipes, Plumbing, etc.) lernen.

Daher sei Dir der Befehl man ans Herz gelegt. Du findest bestimmt auch ganz schnell ein paar kurze und Hilfreiche Antworten auf die Frage: Was tut der Unix Befehl man?
Gruß Pepi