Einsortieren der Elemente aus den virtuellen DB-Ordnern in reale Ordner auf der HDD

Moin!

Folgendes schwebt mir vor: Ich möchte (automatisiert on demand per Skript aus der db-Anwendung heraus) die Elemente (Songs und OAD), die ich in der Datenbank in verschiedene virtuelle Ordner sortiere, auch auf der HDD/SSD in die gleiche Ordnerstruktur sortieren/verschieben.

Der Grund: Ich habe ein Riesenpaket an CD’s gerippt (gefunden im FB-Marketplace), in den Ordner “unsortiert” in der DB importiert und von dort aus sortiere ich sie in die entsprechenden virtuellen Ordner, nachdem ich sie mit Cue-Punkten versehen und getaggt habe (und ggf. gelöscht, weil ja nicht jeder Song eines Samplers oder Albums benötigt wird). Wenn ich damit irgendwann fertig bin, lasse ich per Massenbearbeitung die Tags in die Dateien zurückschreiben.
Dadurch, und wenn die Dateien und Ordner im Speicherort dann durch das Skript angelegt wurden, hat man die Möglichkeit, im Falle eines Systemabsturzes und Verlust der Datenbank, den Speicherort wieder einzulesen und durch die Funktion “Ordnerstruktur behalten” ist auch (fast) alles wieder korrekt am richtigen Platz.

Ausschlaggebend für die Idee war bei mir, das iTunes eine ähnliche Möglichkeit bietet, nämlich das Verwalten des Musikordners.

Da ich in Sachen Skript’s leider nahezu eine Null bin, könnte ich also umfassende Hilfe benötigen und frage unsere Skriptgötter hier, die erstaunliches zutage bringen :grinning:

Grundfrage: Ist das überhaupt möglich? Kann ein Skript die virtuellen Ordner samt Inhalt auslesen? Darf die Skriptengine rechte- und funktionsmässig fehlende Ordner auf der HDD/SSD anlegen und Dateien verschieben?
Ich denke da so in die Richtung, dass man ja im DB-Fenster Elemente per Rechtsklick kopieren und tatsächlich die Datei(en) dann irgendwo physisch ablegen kann. Das könnte u.U. vielleicht ein Ansatz sein.

So denn, ich freue mich auf eure Ideen und eine lebhafte Diskussion! :grin:

Hallo Scrat,

grundsätzlich finde ich den Gedanken gar nicht so schlecht. Aber die Grundidee der virtuellen DB-Ordner ist ja aus meiner Sicht, dass gerade der Speicherplatz nicht angetastet wird, sondern nur darauf verwiesen wird. Außerdem ist ja der Vorteil der virtuellen Ordner, dass man eine Datei gleichzeitig in mehreren (max. wievielen eigentlich?) virtuellen DB-Ordner einordnen kann. Das wäre ja mit realen Ordnern gar nicht möglcih. Es sei denn man speichert dieselbe Datei dann auch in mehreren Ordnern.
Ich habe meine Tonträger streng nach Archivnummern archiviert. Für Audifiles gibt es pro Archivnummer (also Tonträger) einen Ordner auf der Platte und nicht digitalisierte Tonträger können unter größeren Mühen direkt analog zugespielt werden.
Trotzdem wäre es möglicherweise nicht uninteressant, die Zuordnung zu virtuellen Ordnern irgendwie im tag zu hinterlegen…
Schöne Grüße
Martin

Das mit dem Hinterlegen der Zuordnung im Tag (so denn dort irgendwo was frei ist), wäre auch nicht schlecht. Oder in einer MMD, da passt ja bestimmt eine Menge rein.

Das ich mit meiner Idee bzw. der Anfrage gegen das Grundkonzept der virtuellen Ordner “verstosse”, ist mir klar. Es geht mir hauptsächlich dabei um die erste Grundsortierung, da es mit der DB doch um einiges komfortabler ist, die Songs vorzuhören, Cue-Punkte zu setzen usw. und sie dann in die entsprechenden Ordner zu verteilen.

Ich möchte dieselbe Grundsortierung aber auch physikalisch vorliegen haben (was ja schon der Fall ist, aber “nur” durch meinen bisherigen Bestand bestückt), um den Kram auch zu DJ-Zwecken weiterzuverwenden.

Ich bin verwirrt.

Einerseits erkennst du das Prinzip der Datenbank vollkommen korrekt, andererseits verlangst du der Datenbank etwas ab, was sie so gar nicht leisten kann und dann machst du irgendwo mittendrin einen großen Logikfehler.

Wenn ich dich nicht ganz grundlegend missverstanden habe, kann deine Idee so gar nicht funktionieren.

Gehen wir der Sache mal detailliert auf den Grund.

Du weißt, dass die mAirListDB die Funktion “Ordnerstruktur beibehalten” hat, das schreibst du ja selber. So weit, so schön.
Andererseits aber rippst du deine neuen CDs wild auf einen Haufen und importierst sie in “Unsortiert”.

Bereits hier erkenne ich den ersten logischen Bruch.
Wir finden, man sollte seinen CDs von vornherein auf der Festplatte einen klaren, eindeutigen Platz zuweisen. Über “Ordnerstruktur beibehalten” findet sich in der mAirListDB dann gewissermaßen ein Abbild der Festplattenordnung, was gewisse Suchvorgänge erleichtern kann.

Weiter:
Die Datenbank ist ja nichts anderes als ein Verzeichnis des physischen Speicherortes des jeweiligen Elements. Eine Art Telefonbuch mit Adressverzeichnis.
Du möchtest jetzt, dass mAirList aufgrund deiner Ordnerverschiebung in der mAirListDB zugleich den physischen Speicherort auf der Platte ändert und diesen Eintrag in der Datenbank anpasst. Ein massiver Eingriff mit Folgen - besser nicht.

Warum könnte das scheitern?
Die Ordner in der Datenbank heißen nur deshalb “virtuell”, weil sie real eigentlich gar nicht existieren. Das ermöglicht es, dass ein Element sowohl im Ordner “Deutsch” als auch “Schlager” als auch “1960er Jahre” aufgelistet ist.
Preisfrage: Welcher der drei Ordner ist jetzt der dominante, nach dem sich das physische Verzeichnis ändern soll - und die anderen nicht?

Jeder Start des von dir angedachten Skripts würde alle (!) Ordnerveränderungen, die du im Laufe der Zeit so vorgenommen hast, zu Änderungen auf der Festplatte führen.
Ich möchte eindringlich davor warnen!

Bitte verschiebe deine gerippten CDs zuerst auf der Festplatte an die richtigen Plätze und importiere sie danach in die mAirListDB. Auch wenn du es jetzt vielleicht nicht ganz nachvollziehen magst, aber in ein paar Jahren denkst du an unseren Austausch zurück und wirst mir danken.

Noch so ein Logik-Ding: Was soll damit dann geschehen? Den Titel auch von der Festplatte löschen?

Immerhin: Wenn du einen Titel aus der mAirListDB entfernst, wirst du im Dialog bereits gefragt, ob der Titel nur aus dem Ordner entfernt oder auch physisch gelöscht werden soll. Diese Möglichkeit besteht in der manuellen Bearbeitung also schonmal. Aber automatisiert? Was nicht in der Datenbank drin ist, soll automatisch auch von der Festplatte verschwinden? Gewagt…

Das ist auch so eine Baustelle, die ich am liebsten beseitigt hätte, aber Torben kann oder möchte da - noch! - nicht loslassen, glaube ich.

Die mAirListDB ist nun mal keine ID-Tag-Verwaltung. Es geht sowieso nur mit mp3s, nicht aber mit flac, aac undsoweiter, und auch bei mp3s werden nicht alle Felder zurückgeschrieben. Ich würde also nicht allzu stark auf dieses Pferd setzen.

Nach einiger Überlegung kam ich zu der Überzeugung, wir sollten diesen Zopf “In ID-Tag schreiben” einfach mal komplett abschneiden. Ist aber noch nicht geschehen. Vielleicht kommt es ja mit der v7, wann auch immer sie erscheinen möge. Wie auch immer: Sollte dieses Feature eines Tages weg sein, gebt mir die Schuld.
ID-Tag-Bearbeitung (oder auch Vorbis Comment, siehe flac) gehört in die Hände spezialisierter Programme wie z.B. Mp3tag von Florian Heidenreich. Nicht vom Programmnamen täuschen lassen, das taggt nahezu alles, was nicht bei drei auf dem Baum ist. :upside_down_face:

Meine These zur Datenbank, und da sind Torben und ich weitestgehend einer Meinung: Änderungen in und für die Datenbank bleiben auch dort. Alles außerhalb der Datenbank sollte außerhalb erledigt werden und das auch bestenfalls vor der Synchronisation.
Dass man über die Massenbearbeitung Tags neu einlesen kann, bleibt ja bestehen.

Du hast ja recht. Ich wollte mir halt ein paar Schritte sparen. Prinzipiell habe ich das vorher auch immer so gehalten, das ich die Files physisch schon vorsortiert habe. Aber Angesichts der riesigen Menge (rund 100 CD’s, inkl. Sampler, Doppel-Sampler etc). erschien mir der Weg so schneller. War wohl dämlich…

Nebenbei: MP3Tag nutze ich seit Jahren… :smiley:

Also, Thema durch, kann meinethalben geschlossen werden.