Delphi-PRAXiS
Seite 6 von 9   « Erste     456 78     Letzte »    

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Multimedia (https://www.delphipraxis.net/16-multimedia/)
-   -   Cover in WMP Format (https://www.delphipraxis.net/195847-cover-wmp-format.html)

EWeiss 13. Apr 2018 23:40

AW: Cover in WMP Format
 
Zitat:

Zitat von KodeZwerg (Beitrag 1399200)
Das freut mich für Dich das es letzten Endes, obwohl Du schon aufgegeben hattest, sich doch noch alles zum Guten gewendet hat. Nachdem ich mir das SetPic() angeschaut habe verstehe ich auch wieso ich hinter den Zahlen nicht wirklich ein Muster erkennen konnte :)

Jo Danke ;)
Mit eurer Hilfe.

Alleine wäre ich wohl aufgeschmissen gewesen.
Habe alles gerne perfekt ohne das andere Programme sich da einmischen. ;)

gruss

Gausi 14. Apr 2018 07:14

AW: Cover in WMP Format
 
Falls du meinen Codeschnipsel produktiv einsetzt, dann denk aber daran, dass du in den neu erstellten ID3-Tag noch weitere Informationen vom alten einfügst (mindestens noch Jahr, Kommentar, Genre). Und den alten Tag nur dann durch neuen, WMP-Kompatiblen ersetzt, wenn es nötig ist, also durch eine Abfrage der Version

Delphi-Quellcode:
if MP3tags.Version.Major = 3 then
  // vorhandenen Tag schreiben, WMP kommt damit klar
  MP3tags.WriteToFile(mp3File)
else
  // neu gebauten Tag schreiben. Dabei gehen möglicherweise Daten verloren
  v23Tag.WriteToFile(mp3file);
Dass Daten möglicherweise verloren gehen liegt daran, dass ich in dem Codeschnipsel die "dreckige" Variante für die Konvertierung von 2.3 nach 2.4 gewählt habe, und nicht jeden tatsächlich vorhandenen Frame aktualisiere.

EWeiss 14. Apr 2018 08:13

AW: Cover in WMP Format
 
Zitat:

Zitat von Gausi (Beitrag 1399207)
Falls du meinen Codeschnipsel produktiv einsetzt, dann denk aber daran, dass du in den neu erstellten ID3-Tag noch weitere Informationen vom alten einfügst (mindestens noch Jahr, Kommentar, Genre). Und den alten Tag nur dann durch neuen, WMP-Kompatiblen ersetzt, wenn es nötig ist, also durch eine Abfrage der Version

Delphi-Quellcode:
if MP3tags.Version.Major = 3 then
  // vorhandenen Tag schreiben, WMP kommt damit klar
  MP3tags.WriteToFile(mp3File)
else
  // neu gebauten Tag schreiben. Dabei gehen möglicherweise Daten verloren
  v23Tag.WriteToFile(mp3file);
Dass Daten möglicherweise verloren gehen liegt daran, dass ich in dem Codeschnipsel die "dreckige" Variante für die Konvertierung von 2.3 nach 2.4 gewählt habe, und nicht jeden tatsächlich vorhandenen Frame aktualisiere.

Danke, ja das habe ich bereits getan.
Habe bei 6000 Titeln das PRIV: Frame entfernt.
Mache die Anwendung fertig und lasse die drüber laufen.

Delphi-Quellcode:
        v23Tag.Artist := MP3Tags.Artist;
        v23Tag.Album := MP3Tags.Album;
        v23Tag.Title := MP3Tags.Title;
        v23Tag.Year := MP3Tags.Year;
        v23Tag.Track := MP3Tags.Track;
        v23Tag.Genre := MP3Tags.Genre;
        v23Tag.Rating := 128;

        for i := 1 to 16 do
        begin
           b := Random(255);
           GUID.Write(b, 1);
        end;
Anbei noch das Tool desiccate compiliert und für VS2017 angepasst.
Damit können private Frames, Comments, Ufid's aus dem Tag entfernt werden.
Es ist sehr zuverlässig und hat bei mir noch keinen Tag zerstört.

gruss

EWeiss 14. Apr 2018 10:37

AW: Cover in WMP Format
 
Ich denke das dürfte als Warnung ausreichen.

gruss

EWeiss 14. Apr 2018 13:09

AW: Cover in WMP Format
 
Hier ist das Ergebnis wer's braucht ;)

Das was in der Listbox ROT ausgelegt ist wurde nicht verändert.
Deshalb nicht weil kein AlbumArtSmall.jpg im Pfad gefunden wurde.

@Gausi habe deine mp3FileUtil im Archiv addiert hoffe das geht in Ordnung, wenn nicht werde ich sie natürlich entfernen.

gruss

DP-Maintenance 14. Apr 2018 14:12

Dieses Thema wurde am "14. Apr 2018, 15:12 Uhr" von "Daniel" aus dem Forum "Klatsch und Tratsch" in das Forum "Multimedia" verschoben.

Maekkelrajter 14. Apr 2018 15:40

AW: Cover in WMP Format
 
Der Thread hat ja einen hochinteressanten Verlauf genommen, nachdem das eigentliche Problem herausgearbeitet worden war. Die 'PRIV' - Frames hatte ich bisher überhaupt nicht auf dem Schirm. Daraufhin habe ich mal meinen eigenen MP3-Bestand mit dem von dir verlinkten Tool iDesiccate durchforstet und etliche Dateien mit solchen Frames gefunden. Wahrscheinlch sind sie irgendwann einmal durch einen nicht ausreichend restriktiv konfigurierten WMP kontaminiert worden :shock:
In meinem eigenen Programm, dessen Kernfunktion die Anonymisierung von Audiodateien (MP3 und M4A) ist, sind diese PRIV-Frames zum Glück irrelevant. Dort werden die wichtigsten Tags incl. Cover ausgelesen und gesichert. Anschließend werden alle ID3 -Tags komplett aus der Datei entfernt. Zum Schluss werden nur die ausgewählten Tags in die Datei zurückgeschrieben. Damit sollte aller kryptischer Mist entsorgt sein (hoffe ich).

Dein Projekt habe ich mir mal in die IDE geladen und angesehen. Testen werde ich das Programm allerdings (vorläufig) nicht, alldieweil ich auf absehbare Zeit keine WMP-Plugins einzusetzen gedenke. :wink:

Eine Anmerkung kann ich mir allerdings nicht verkneifen: Das Englisch in dem Readme-Text ist, vorsichtig ausgedrückt, verbesserungsfähig. Vorschläge:

Delphi-Quellcode:
 
  pString := 'the application writes PRIV: Frames to MP3 Tag' + #13#10 +               
    'this is necessary so that the visual plugins for WMP work properly' + #13#10 +   // Vorschlag: 'necessary to make the visual...'      
    'without having create the Mp3 tag via WMP (Windows Media Player)' + #13#10 +     // Vorschlag: 'without having created...'
    'a file called AlbumArtSmall.jpg is required in the Search path' + #13#10 +
    #13#10 +
    'WARNING: after execute the function over DoIt, process can''t be stopped' + #13#10 + // Vorschlag: 'after executing...'
    #13#10 +
    'Artist' + #13#10 +
    'Album' + #13#10 +
    'Title' + #13#10 +
    'Year' + #13#10 +
    'Track' + #13#10 +
    'Genre' + #13#10 +
    'Comment' + #13#10 +
     #13#10 +
    'are not changed' + #13#10 +
    'if your use more entries in the Mp3 tag' + #13#10 +
    'please close the application, or your data will be lost!';
Ich bitte um Nachsicht, dass ich den Oberlehrer in mir mal wieder nicht im Zaum halten konnte :oops:

Gruß LP

EWeiss 14. Apr 2018 15:54

AW: Cover in WMP Format
 
Zitat:

Eine Anmerkung kann ich mir allerdings nicht verkneifen: Das Englisch in dem Readme-Text ist, vorsichtig ausgedrückt, verbesserungsfähig. Vorschläge:
Danke für die Berichtigung.
Aber muss dazu sagen.. habe nie English in der Schule gelernt das bisschen das ich kann
habe ich mir mit der zeit angeeignet Gewohnheit eben wenn man viel English lesen muss gezwungener weise.

Habe ja hier schon gesagt was ich von meinem English halte ;)
https://www.delphipraxis.net/1399132-post20.html

Aber kein Problem..

Hier das Update habe noch zwei kleine Probleme behoben.
btw.. Habe es nach Multimedia verschieben lassen da es ja jetzt darum geht.
Danke an die Admins!


gruss

Gausi 14. Apr 2018 16:23

AW: Cover in WMP Format
 
zu den PRIV-Frames nochmal: Dass dadurch der Fehler hier behoben werden konnte, liegt an der Schusseligkeit des Plugin-Entwicklers. Wenn ohnehin ein Fallback auf das normale Cover "AlbumArtSmall.jpg" genommen wird, dann sollte dieser Fallback auch genommen werden, wenn im ID3-Tag keine GUID für das Coverart gefunden werden kann. Dass man das Plugin fixen kann, in dem man Datenmüll in die Datei schreibt ist einfach nur ... kaputt.

Ansonsten haben PRIV-Frames ja durchaus ihren Nutzen. Sie können allerdings in der Tat bei der Weitergabe persönliche Daten enthalten, das ist richtig. Das gilt aber auch für andere Möglichkeiten, zusätzliche Daten in den ID3-Tag zu schreiben. Einige Tagger/Ripper/Player nutzen diverse "Usertext"-Frames, andere mehrere "Kommentar"-Frames. Und der WMP ist nicht der einzige Player, der die PRIV-Frames nutzt.

EWeiss 14. Apr 2018 16:35

AW: Cover in WMP Format
 
Zitat:

Zitat von Gausi (Beitrag 1399240)
zu den PRIV-Frames nochmal: Dass dadurch der Fehler hier behoben werden konnte, liegt an der Schusseligkeit des Plugin-Entwicklers. Wenn ohnehin ein Fallback auf das normale Cover "AlbumArtSmall.jpg" genommen wird, dann sollte dieser Fallback auch genommen werden, wenn im ID3-Tag keine GUID für das Coverart gefunden werden kann. Dass man das Plugin fixen kann, in dem man Datenmüll in die Datei schreibt ist einfach nur ... kaputt.

Ansonsten haben PRIV-Frames ja durchaus ihren Nutzen. Sie können allerdings in der Tat bei der Weitergabe persönliche Daten enthalten, das ist richtig. Das gilt aber auch für andere Möglichkeiten, zusätzliche Daten in den ID3-Tag zu schreiben. Einige Tagger/Ripper/Player nutzen diverse "Usertext"-Frames, andere mehrere "Kommentar"-Frames. Und der WMP ist nicht der einzige Player, der die PRIV-Frames nutzt.

Ja auch ITune (Apple) tun das bei ihren Urheberrecht geschützten MP3 Dateien.

btw.. Hab da noch ein Problem.
Ich habe mp3Tags in Version ID3_v1
Dein mp3fileUtils meldet mir aber das kein Tag gefunden wurde aber er ist definitiv als ID3_v1 enthalten.

Wollte jetzt noch deine error messagen an einem String (Label) übergeben wie?
Sind ja enums.

gruss


Alle Zeitangaben in WEZ +1. Es ist jetzt 16:19 Uhr.
Seite 6 von 9   « Erste     456 78     Letzte »    

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz