1. Diese Seite verwendet Cookies. Wenn du dich weiterhin auf dieser Seite aufhältst, akzeptierst du unseren Einsatz von Cookies. Weitere Informationen

Shell-Skript zum Wechsel der iTunes Bibliothek

Dieses Thema im Forum "iTunes (Mac only!)" wurde erstellt von Waldgeist, 17.10.06.

  1. Waldgeist

    Waldgeist Tokyo Rose

    Dabei seit:
    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
     
  2. pepi

    pepi Cellini

    Dabei seit:
    03.09.05
    Beiträge:
    8.741
    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
     
  3. Waldgeist

    Waldgeist Tokyo Rose

    Dabei seit:
    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
     
  4. soylentgreen

    Dabei seit:
    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.
     
  5. Waldgeist

    Waldgeist Tokyo Rose

    Dabei seit:
    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
     
  6. soylentgreen

    Dabei seit:
    17.08.06
    Beiträge:
    37
    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
     
  7. pepi

    pepi Cellini

    Dabei seit:
    03.09.05
    Beiträge:
    8.741
    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
     
  8. Waldgeist

    Waldgeist Tokyo Rose

    Dabei seit:
    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..?
     
  9. pepi

    pepi Cellini

    Dabei seit:
    03.09.05
    Beiträge:
    8.741
    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
     

Diese Seite empfehlen