Wie rückwärts PLS updaten bei Duplikatenbearbeitung

Hallo,

mp3tag ist ja ein super Tool und ich hoffe mal hier eine Antwort auf meine langjährige ungelöste Frage zu finden:

Ich möchte aus meiner Musiksammlung möglichst alle Duplikate entfernen. Also werden alle Media-Dateien (e.g. mp3, ogg, flac, ...) und alle Playlisten (.m3u mit relativen Pfaden) eingelesen.

Nun stelle ich fest, dass ich ein Lied doppelt (sagen wir mal "Song" der Gruppe "Favorite" vom Album "Debut") sowohl in Ordner

\\share\Music\Pop&Rock\Favorite\mp3\Debut - 03 Song.mp3

als auch in Ordner

\\share\Music\Sampler\Hurra\mp3\Hits04 - 07 Favorite Song.mp3

habe. Beide Dateien werden von mehr als einer Playliste (die ich nicht alle im Kopf habe), und die irgendwo unterhalb von \Music\ liegen heraus referenziert.

Ich möchte nun die Datei

..\Music\Sampler\Hurra\mp3\Hits04 - 07 Favorite Song.mp3

löschen und sicherstellen, dass alle Playlisten, die diesen Eintrag enthalten, durch einen Eintrag der relativ zur jeweiligen Playliste ist auf

..\Music\Pop&Rock\Favorite\mp3\Debut - 03 Song.mp3

ersetzt werden?
Wenn die Änderungen vollzogen und committed sind, möchte ich die geänderten Playlisten zurück ins Dateisystem schreiben.

Hat da jemand eine Idee, wie man so was so automatisiert wie möglich anpackt?

Es gibt Programme extra zum finden von Duplikaten. Z. B. MP3find. Ist sogar Freeware meine ich.
Ich würde die Sammlung mit solch einem Programm aufräumen und dann mit mp3tag die Playlisten einfach neu erstellen.

Danke für den Vorschlag (immerhin mal überhaupt Feedback), aber sorry zeitlich / vom Aufwand nicht durchführbar - no go!

ls -lR | grep ".m3u" | wc -l

2933

Das hört sich zunächst an wie ein "Suchen und Ersetzen in mehreren Textdateien".
Wenn neuer Eintrag vorhanden, dann alten Eintrag löschen.
Wenn alter Eintrag vorhanden, dann ersetzen mit neuem Eintrag.
Notepad++, Textpad und viele andere Editoren beherrschen diese Textbearbeitungsaufgabe.

Einen Eintrag in der Playlist zu erzeugen, der relativ zur jeweiligen Playliste ist, das mag vielleicht etwas komplizierter sein, wenn in der Playliste relative Pfade verwendet werden, die sich auf den Speicherort der Playlist beziehen.

DD.20090806.1817.CEST

Hallo Detlev,

genau hier liegt der Knackpunkt. Absolute Pfade bieten sich aus zwei Gründen nicht an:

i)
Die Bearbeitung der Daten erfolgt auf einem Rechner mit ext. Platte als Master bzw. Staging Server (z.B. F:... also Windows).
Nach erfolgter Bearbeitung werden die Daten auf ein Netzwerklaufwerk exportiert (Samba Server \\).

ii)
es gibt verschiedenste Klienten. Die einen mögen keine Windows-LW-Bustaben, die anderen keine UNC-Pfade in den Playlisten.

Man könnte natürlich stumpf jeweils nur den relativen Pfad zwischen den Media-Dateien mit einem Text-Editor in allen .m3us die man findet und wo es matcht ersetzten, aber das würde zu einer immer länger werdenden Berg und Talfahrt in den Pfaden führen!?

Aus

Sampler\Hurra\mp3\Hits04 - 07 Favorite Song.mp3

würde dann

Sampler\Hurra\mp3......\Pop&Rock\Favorite\mp3\Debut - 03 Song.mp3

und beim nächsten

Sampler\Hurra\mp3......\Pop&Rock\Favorite\mp3......\Fete\CalmMood\mp3\Debut - 03 Song.mp3

*** schüttel ***

Hmm, eine Lösung könnte sein ... die passenden Klienten finden <_<

Diese Pfadangabe soll bedeuten, dass die Playlistdatei im Ordner "Sampler" liegt und auf die Datei "Sampler\Hurra\mp3\Hits04 - 07 Favorite Song.mp3" ein paar Ordner unterhalb zeigt?

Warum sind die m3u Dateien verstreut in unterschiedlichen Unterordnern (dein Konzept)?

Wenn die m3u Dateien in einem Ordner gesammelt wären, dann könnte das die Sache vielleicht einfacher machen, denn dann kannst du in allen m3u Dateien absolute Pfade benutzen.

Wenn du - wegen deines Konzepts - eine m3u Datei in einem bestimmten Unterordner benötigst, dann richtest du dir an diesem Ort eine "Verknüpfung" ein, die auf die zugehörige m3u Datei zeigt, die sich im m3u Sammelordner befindet.

Oder du bietest den Zugriff auf die Playlisten über eine html Seite an, die eine Liste aller Playlist-Links präsentiert.

Ich möchte noch anmerken, dass ich doppelte Musikdateien zulasse, wenn sie zu unterschiedlichen Produkten gehören (Sampler, Album, ...).

DD.20090808.1030.CEST

nein :wink: Meine Philosophie ist, dass die Lösungen möglichst standardkonform und damit herrstellerübergreifend sind. Bei proprietären Ansätzen mach man mit sich oft abhängig ...

Nein, mein Beispiel war falsch gewählt. Die PL "2004 - Vol XY.m3u" liegt z.B. in

[hier kann je nach Mountpoint was anderes stehen]\Musik\Sampler\Hurra\

und verweist (relativ) erst mal auf Dateien im selben Pfad, die sich weiter unterhalb im Verzeichnis mp3 befinden, z.B.

mp3\Lied1.mp3
mp3\Lied2.mp3
[...]
mp3\Lied20.mp3

Nach einem Austausch sollte dann der Eintrag auf z.B.

....\Pop&Rock\Favorite\mp3\Debut - 03 Song.mp3

zeigen.

Das mache ich, damit ich auch etwas wiederfinde:

ls -lR | grep ".m3u" | wc -l

2933 :wink:

Die per Genre-Künstlername-Datum aufgebaute Verzeichnisstruktur meines Dateisystems ist IMO wieder das einzig einigermaßen funktionierende Konzept, was Klienten-übergreifend trägt. Meine Xbox hat nichts davon, dass ich in der Medialibrary meines Winamp nach einem Titel oder String suchen kann.

Ich glaube Du denkst da zu OS-lastig :wink:
Natürlich könnte ich auf meinem Master-Set (Windows) eine Verknüpfung setzen, nur meinst Du mein Palm T|X weiß irgendwas mit einer Datei PLAYLIST.LNK in dem Verzeichnis Sampler\Hurra\ anzufangen!?! Oder gibt es ein Tool was beim Kopieren der Dateien von Windows (NTFS) über SMB die Windowsverknüpfungen automatisch auf dem Samba-Share (ext2) in Symbolischen Links überführt? :slight_smile:

Wie oben: zum einen möchte ich schnell ans gewünschte Ziel gelangen und zum anderen wieder nicht auf allen Klienten umsetzbar.

Ich auch noch, aber vom den Konzept will ich weg (auch wenn Plattenplatz immer günster wird) :wink: aber das synchen dauert halt immer länger :frowning:

Auch wenn ich IMO einer Lösung noch nicht näher gekommen bin, trotzdem vielen Dank für die Diskussion, die zum eigenen Nachdenken und Hinterfragen anregt!

Aber was Anderes und vielleicht Einfacheres. Welches Tool liest PLen ein und meldet die (mit) ungültigen Referenzen.