Es folgt ein kurzes Intro - wer keinen Bock auf meine Hinführung zur Thematik hat, sollte direkt zu Punkt 1 wechseln. Für alle Anderen: Apple hat es verkackt. Die Music-App ist weder schneller als iTunes, noch einfacher, noch besser. Die Mediathek wird nicht mehr automatisch als XML-File gespeichert, sondern das muss jetzt händisch erledigt werden. Heißt für ein Setup wie meins: ich verwalte die Musik auf meinem Hauptrechner, muss sie dann komplett auf eine externe Festplatte kopieren, die Music-Library auch, dann die Festplatte an einen meiner DJ-Rechner hängen, die Music-Library dort öffnen, den Ort des Medien-Ordners ändern, warten - also wirklich lange warten, weil die Music-App grausam langsam ist -, dann die Mediathek händisch als XML-File exportieren und dann hoffen, dass die App alles so sauber gespeichert hat, dass Traktor jeden Titel in meiner Mediathek erkennt. Und dann darf ich das auch noch für jede Festplatte für jedes meiner DJ-Setups wiederholen. Wow. Das macht richtig viel Spaß.
Was also tun? Ich habe 12.971 Playlisten, die will ich nicht alle aufgeben. Klar, ein Riesenhaufen davon ist nicht wirklich wichtig, wie das Archiv aller Auto-CDs, die ich jemals in den letzten 15 Jahren gebrannt habe. Trotzdem sind auch eine Menge wichtige Listen dabei, wie die Charts der letzten Jahrzehnte oder verschiedene Preperations für meine Resident-Jobs. Das Problem, was ich habe, ist also folgendes: nach wie vor ist keine Algorithmus so gut, wie der von Apples App - egal, ob iTunes oder Music-App -, was das Sortieren der physischen Daten angeht, also die Ordner-Struktur auf meiner Festplatte - ein Feature, das ich keinesfalls missen möchte. Aber: das System arbeitet weder einfach, noch sauber genug, um eine vernünftige Arbeit mit Traktor zu gewährleisten. Ich habe mich durch viele Seiten des Internets gewühlt und möchte hier den Weg aufzeigen, den ich gewählt habe.
Die in diesem Tutorial verwendete Software ist größtenteils Bestandteil von macOS oder Traktor. Eine bezahlte App und eine Donation-Ware sind jedoch auch dabei. Wir werden nicht gesponsert.
Jegliche in diesem Tutorial verwendete Software ist entweder Bordmittel von macOS oder Bestandteil von Traktor PRO.
1. Physische Musik-Dateien verwalten
Meine Suche war dann irgendwann doch endlich erfolgreich und ich habe eine brauchbare Alternative zur Music-App von Apple gefunden: Swinsian. Der Name ist weder zungenfreundlich noch schön, aber die Software gleicht beides locker aus. Und der Titel von diesem Tutorial ergibt endlich vollständig Sinn!
Bei der Einrichtung von Swinsian kann die Mediathek von iTunes oder der Music-App direkt übernommen werden. Danach kann man in den Optionen der Software - simultan zu den Apple-Programmen - festlegen, dass die Dateien von Swinsian angeordnet werden sollen. Und man kann noch eine ganze Menge mehr tun. Dafür ist hier aber kein Platz.
Effektiv geht es nur darum - egal, ob mit Swinsian, iTunes oder Music -, dass die Dateien gut sortiert physisch abgelegt werden. Das ist mir zumindest sehr wichtig.
Wie eingangs erwähnt, gibt es dafür in meinen Augen kaum eine bessere Software, als Apples hauseigenes Programm. Jegliche neue Musik wird also in die Music-App importiert und dort in den ID3-Tags entsprechend eigenem Gusto benannt. Dadurch wird die Musik auf der Festplatte entsprechend sortiert. So weit, so gut. Ich mache das über eine Playlist die schlicht und einfach "neu" heißt, damit ich die importierten Titel nicht alle raussuchen muss. Alternativ kann man auch in der Übersicht nach "Zuletzt hinzugefügt" sortieren.
2. Synchronisierung der Datenträger
Es folgt eine Anleitung, wie man das sogenannte Mirrorn (Synchronisieren) verschiedener Laufwerke mit macOS-Boardmitteln realisieren kann. Wem das zu kompliziert ist, der kann sich auch die Freeware "FreeFileSync" herunterladen (für macOS, Windows und Linux erhältlich). Hier geht es direkt zu der Seite vom Programm: https://freefilesync.org
Viele kleine Änderungen (Anpassungen von ID3-Tags, etc.) sind in großen Sammlungen nahezu unmöglich nachzuhalten, was das händische Ersetzen dieser maginalen Änderungen ebenfalls unmöglich macht.
Die sinnvollste Option ist hier das sogenannte Mirroring, also das Abgleichen verschiedener Daten und das exakte Kopieren. Hierfür gibt es eine Menge Software, die aber eigentlich überflüssig ist. Denn das macOS bringt den Terminal-Befehl "rsync" mit, der genau das tut. Um den Prozess zu vereinfachen, greife ich hier auf ein anderes Bordmittel von Apple, den Automator, zurück. Dieses Programm lässt mich Abfolgen von Befehlen erstellen und als eigenenes Progamm abspeichern - inklusive Terminal-Befehlen.
Was tut dieses Skript im Einzelnen?
Im ersten Schritt wird abgefragt, ob das Programm ausgeführt werden soll - jeder hat sich schonmal verklickt. (Aktion "Bestätigung verlangen")
Im zweiten Schritt wird abgefragt, ob die beiden entsprechenden Festplatten angeschlossen sind - sicher ist sicher. (Aktion "Bestätigung verlangen")
Der dritte Schritt ist dann das worauf es tatsächlich ankommt: das Shell-Skript mit rsync. (Aktion: "Shell-Skript ausführen)
Hier einmal das Skript für Copy & Paste:
rsync -aE -u --delete --exclude=/VAR1 /VAR2 /VAR3
rsync ist der eigentliche Befehl
-aE sorgt dafür, dass alle Verzeichnisse rekursiv durchsucht werden.
-u bedeutet, dass alle Dateien, die im Zielverzeichnis aktueller sind, übersprungen werden
--delete löscht alle Dateien, die am Ursprungsort nicht mehr existieren, auch aus dem Zielverzeichnis - Stichwort Datenmüll
--exclude=/ schließt Verzeichnisse oder Dateien aus
VAR1: hier kommt der Pfad zum Ordner hin, der ausgeschlossen werden soll. Ich lasse den "Automatisch zu Musik hinzufügen"-Ordner weg
VAR2: hier kommt der Pfad zum Ursprungsort hin, in diesem Falle vermutlich das Musik-Verzeichnis, welches auch in der Music-App angegeben ist
VAR3: hier kommt der Pfad zum Zielort hin, also der Ordner auf der externen Festplatte oder Ähnlichem, wo die Musik landen soll
Einige wichtige Anmerkungen zum Shell-Skript noch:
Skripte legen ein immens riesigen Wert auf korrekte Syntax, weshalb man immer darauf achten sollte, dass alles tatsächlich korrekt ist, ansonsten kann es zu massiven Datenverlusten kommen. Die Variablen "aE" und "u" verlangen ein einfaches "-" als Vorzeichen, die Variablen "delete" und "exclude" hingegen ein "--", also ein doppeltes minus. Außerdem müssen Leerzeichen in der Pfad-Struktur mit einem Backslash gekennzeichnet werden. In dem Screenshot oben, ist das bei dem Teil "Music Library" erkennbar, bei dem ein Backslash nach "Music" eingefügt werden muss. Der Backslash wird auf einem Rechner mit macOS via Shift + Alt + 7 erzeugt.
Der vierte Schritt in meiner Automator-Abfolge ist die Benachrichtigung, dass der Prozess erfolgreich abgeschlossen wurde. Dies wird über ein Java-Script bewerkstelligt. Hier der Code dafür:
var app = Application.currentApplication()
app.includeStandardAdditions = true
app.displayNotification("Alle Dateien wurden synchronisiert.", {
withTitle: "Akustisch Synchronisation",
subtitle: "Prozess abgeschlossen",
soundName: "Frog"
})
Alle Texte in Anführungszeichen können nach eigenem Bedarf angepasst werden. Nachdem das Programm das erste Mal gelaufen ist, erscheint ein eigener Reiter dafür in der Mitteilungszentrale in den Systemeinstellungen, wo die genauen Einstellungen - wie bei jeder anderen Anwendung mit Mitteilungen - angepasst werden können.
Ich empfehle, die Automator-Folge als Programm direkt im Programme-Ordner zu speichern. Darüber funktioniert der Zugriff am Einfachsten. Während das Skript ausgeführt wird, erhält man kein visuelles Feedback in Form eines Fenster, aber in der Finder-Leiste wird ein sich drehendes Zahnrad angezeigt, welches zeigt, dass der Prozess im Gange ist.
3. Traktor-Synchronisierung
Dieser Schritt in meinem Tutorial eine Sache voraus: ich nutze auf allen Rechnern dieselbe Traktor-Collection. Wenn dies für euch nicht zutrifft, erkläre unten in diesem Schritt, wie das trotzdem möglich ist.
Zu allererst habe ich auf der externen Festplatte für meine Musik, also für das digitale DJing, einen weiteren Ordner neben "Musik" angelegt und zwar den Ordner "Traktor". Diesen lege ich dann in meinen Traktor-Einstellungen als "Root-Directory" fest. Hierfür navigiert man in Traktor zu "Einstellungen" und dann zu "File Management". An diesem Punkt muss der Pfad unter "Directories" in den neuen Pfad geändert werden, bei mir ist das "/.../Traktor/Settings".
Als Nächstes muss Traktor neu gestartet werden. Nach dem Beenden von Traktor, führe einen wichtigen Zwischenschritt aus: ich importiere meine Controller- und Layout-Einstellungen von meinem Laptop, mit dem ich auflege. Hiermit stelle ich sicher, dass ich die Controller nicht erneut konfigurieren muss, weil ich eine neue Traktor-Collection angelegt habe. Dafür habe ich einfach den kompletten Settings-Ordner von meinem Laptop auf den Desktop-Rechner und anschließend in das neu gewählte Root-Directory kopiert.
Wenn Traktor dann neu startet, heißt es erst einmal aufräumen - dieser Schritt basiert darauf, dass vorher die iTunes-Mediathek genutzt wurde. Aufräumen bedeutet: die komplette Track-Collection löschen. Vorher ist es empfehlenswert, den Pfad des Root-Directories erneut zu überprüfen. In diesem Zuge kann man auch die übrigen Pfade anpassen, soll heißen "Sample Directory" und "Remix Sets Directory". Ich habe hierfür innerhalb des Ordner "Traktor" einen weiteren Ordner neben "Settings" angelegt und ihn "Content" getauft, welcher die drei Ordner "Content Import", "Recordings" und "Samples" beinhaltet.
Der Pfad zur iTunes-Music-Library ist hier noch nicht von Bedeutung, ich habe an dieser Stelle den XML-File zur Mediathek zum Zeitpunkt der ersten Synchronisierung abgelegt. Dies wird in den optionalen Schritten nützlich sein.
In den Einstellungen müssen dann außerdem folgende Optionen angewendet werden:
- Import Music-Folders at Startup
- Analyze new imported Tracks
- Show Consistency Check Report on Startup
Diese drei Optionen sorgen dafür, dass Traktor immer beim Starten die synchronisierte Festplatte auf Neuerungen überprüft, neue Tracks direkt analysiert und außerdem fehlende Tracks - die beispielsweise nicht mehr existieren, weil man eine Doppelung gelöscht hat - direkt meldet, damit sie aus der Traktor-Collection entfernt werden können. Jetzt muss Traktor erneut neu gestartet werden. Daraufhin wird alle Musik aus dem gewählten Musik-Verzeichnis importiert und analysiert. Je nach Größe der Sammlung kann das ein wenig dauern.
Der letzte wichtige Teil-Schritt besteht darin, dass Root-Directory auch auf dem mobilen Rechner auf denselben Pfad auszurichten.
Wenn nur die Collection von Traktor übernommen werden soll, dann ist es möglich, die Collection-Datei (liegt im Root-Directory und heißt "collection.nml") zu kopieren und die vorhandene Version auf dem Laptop damit zu ersetzen. Anschließend führt man in Traktor einen kompletten "Consistency Check" aus und wählt "Relocate" aus. Damit gibt man Traktor den neuen, bzw. korrekten, Pfad zu den Musik-Dateien vor. Danach müsste auch alles wie gewohnt funktionieren.
4. Repeat
So. Damit sind alle Voraussetzungen für eine erfolgreiche und einfache Synchronisierung erfüllt. Die externe Festplatte kann nun jederzeit entweder an den Desktop-Rechner zur Synchronisierung und Verwaltung der Bibliothek angeschlossen werden und anschließend kann man dieselbe Collection auf dem mobilen Rechner nutzen. Und das nicht nur auf einem, sondern jedem Beliebigen, an den man die Musik-Festplatte anschließt oder jede andere auf die gleiche Art und Weise synchronisierte Festplatte.
5. Optionale Schritte
Wie eingangs erwähnt möchte ich nicht auf alle meine iTunes-Playlisten verzichten. Deshalb habe ich die Mediathek noch einmal exportiert bei der ersten Synchronisierung. Das dient alleine dem Zweck, vorhandene Playlisten zu importieren. Man wählt also "iTunes" in der linken Seitenleiste von Traktor aus, wartet bis die Mediathek geladen wurde und kann dann mit einem einfachen Rechtsklick jede beliebige Playlist importieren. Hierbei ist es leider nicht möglich komplette Ordner als solche zu importieren.
Ende.
Ich freue mich sehr über Fragen oder Anmerkungen.