Kopieren und verschieben per Kontextmenü

Gegeben:
2 Dateien mit unterschiedlichem Inhalt aber gleichem Dateinamen in 2 verschiedenen Ordnern, beide Ordner sind in Mp3Tag eingelesen

Wenn man per Kontextmenü Datei 1 in den Ordner von Datei 2 kopiert, bekommt man die Duplikatsfehlermeldung und wird gefragt, ob man die im Ziel vorhandene Datei überschreiben, überspringen oder individuell auswählen will.
Wenn man sich dafür entscheidet, die Datei im Ziel zu belassen, also quasi den Kopiervorgang nicht durchführen will, zeigt MP3Tag in Datei 2 die Inhalte von Datei 1 an. Ein Markieren der Datei 2 führt wieder zur richtigen Anzeige.

Gegeben:
Szenario wie oben aber ohne dass der Zielordner mit eingelesen ist.

Ein Verschieben von Datei 1 führt bei Überspringen oder individueller Entscheidung, die Datei im Zielordner unverändert zu lassen dazu, dass der Pfad sich ändert und die Datei im Zielpfad angezeigt wird. Allerdings wird das Cover nicht angezeigt. Verändern das Taginhalts in der angezeigten Datei wirken sich auf die Datei im Zielverzeichnis aus.

Danke für die Hinweise!

Szenario 1

Das konnte ich ohne weiteres Reproduzieren. Das Problem ist, dass ich momentan keine Rückmeldung vom System erhalte, wie sich der Benutzer entschieden hat. Ich schaue also nach, ob die Zieldatei existiert und wenn ja, werden die Daten der Quelldatei angezeigt. Wahrscheinlich komme ich um ein erneutes Auslesen nicht herum, wollte das aber wenn möglich vermeiden.

Szenario 2

Das hat bei mir nicht geklappt. Stattdessen wurde beim Überspringen die Quelldatei aus der Dateiliste entfernt, obwohl sie im Quellordner noch vorhanden war.

Vielleicht liegt es ja daran, was das aktuelle Arbeitsverzeichnis ist.

Die geschilderten Phänomene sind mir immer mal wieder aufgefallen und bevor ich jetzt mal einen Bugreport formuliert habe, hatte ich es eingehend getestet. Irgendwie hatte ich bei den Tests auch den Eindruck, dass das Verhalten beim geschilderten Vorgehen nicht konsistent war, hatte das allerdings auf eventuelle Blackouts bei mir geschoben.

Ich habe jetzt Szenario 2 nochmals durchgespielt. Dabei kam immer die Frage, ob ich das Verzeichnis neu einlesen möchte. Bejahe ich die Frage, werden beide Dateien in ihrem richtigen Ordner korrekt angezeigt. Verneine ich die Frage, kommt es zur falschen Darstellung:
Beide Dateien werden angezeigt. Allerdings wird die Quelldatei ebenfalls im Zielordner lokalisiert. (Ich habe eine Spalte mit dem Wert %_path% definiert.) Veränderungen im Tag der Quelldatei werden im Tag der Zieldatei vorgenommen.

So gesehen wäre also das Fehlverhalten darauf zurückzuführen, dass ich die aufpoppende Frage zum Neueinlesen verneint habe. Ich bin mir aber absolut sicher, dass ich diese Frage bei meinen vorherigen Tests nicht gestellt bekam und vermute daher, dass es eine gewisse Inkonsistenz gibt, eventuell abhängig von unterschiedlichen Gegebenheiten bei meinen Tests. Allerdings ist mir nicht eingefallen, worin der Unterschied gelegen haben könnte. Vielleicht würfelt MP3Tag auch nur. :wink:

Die heutigen Tests wurden wie folgt vorgenommen:
Oberordner: Test
Unterordner 1: Quelle mit 1 Datei
Unterordner 2: Ziel mit 1 Datei
Eingelesen habe ich den Oberordner Test.

Wenn man keinen Oberordner einliest und die beiden Unterordner einzeln zu MP3Tag hinzufügt verschwindet natürlich eine der beiden Dateien aus der Dateiliste wegen des Refresh, je nachdem welches Arbeitsverzeichnis aktiv ist.

Ich habe über die letzten Tage beide Funktionen (Kopieren und Verschieben) komplett neu implementiert und dabei Windows API Funktionen verwendet, die erst mit Windows 7 eingeführt wurden.

Das Ganze ist etwas komplexer geworden, allerdings bekomme ich darüber auch mit, falls z.B. beim Kopieren/Verschieben beide Varianten einer kollidierenden Datei behalten werden sollen.

Ich würde mich freuen, wenn Du die beiden Szenarien nochmal durchspielen könntest und auch allgmein die neue Implementierung ausgiebig testen könntest. Es ist wie gesagt recht komplex geworden :sweat_smile:

Hier ein Link zu einer internen, nicht offiziellen Version (3.12.0.1):

https://download.mp3tag.de/support/763D8849-D00F-4170-BC00-DE1B5B96222E-3-12-0-1/mp3tagv312_1setup.exe

Ich habe die Kopieren und Verschieben Funktionen nun mehrmals getestet und bisher keinerlei Fehlfunktion mehr feststellen können.

1 Like

Vielen Dank für Deine Tests! Ich habe das nun auch offiziell in die Mp3tag v3.12a eingebaut.

This topic was automatically closed 30 days after the last reply. New replies are no longer allowed.