Delphi-PRAXiS
Seite 8 von 9   « Erste     678 9      

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 14. Apr 2018 18:56

AW: Cover in WMP Format
 
Zitat:

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.
Ja da muss ich dir im vollen umfang recht geben.

Ohne AlbumArtSmall funktioniert es nicht.
Ohne PRIV auch nicht.

Also wenn ich schon auf die platte zugreife warum dann noch eine Umleitung um nach den PRIV Frames zu suchen.
Irgendwie eine Verdummung der Leute oder ein versuch dieses Plugin außerhalb WMP nicht nutzen zu können.
Das Cover aus den Tags nimmt er auch nicht.

gruss

KodeZwerg 14. Apr 2018 19:15

AW: Cover in WMP Format
 
Mein WMP kann nicht telefonieren, Mich würde interessieren was mit einer von Dir präparierten Datei passiert, also Bliss Kompatibel mit neuem ID3 Header und die dann durch den WMP getaggt wird.
Ist das mp3 danach Schrott? Ist nur der Header zerschossen? Wird das Cover wegradiert? Ist alles Okay? und solche Dinge halt.
Wenn man den ID3 Tag samt PRIV entfernt, also nurnoch Audio hat, diese cleane datei vierfach haben und zu verschiedenen Zeitpunkten von WMP einzeln taggen lassen, einmal mit Cover, einmal ohne, das ganze zweimal. Haben alle vier mp3's die gleiche GUID zugewiesen bekommen?
edit
Um zu Erfahren in wie fern eine Random() generierte GUID schädlich sein kann, darauf bezieht sich das erstere

EWeiss 14. Apr 2018 19:25

AW: Cover in WMP Format
 
Zitat:

Mein WMP kann nicht telefonieren, Mich würde interessieren was mit einer von Dir präparierten Datei passiert, also Bliss Kompatibel mit neuem ID3 Header und die dann durch den WMP getaggt wird.
Ist das mp3 danach Schrott? Ist nur der Header zerschossen? Wird das Cover wegradiert? Ist alles Okay? und solche Dinge halt.
Ich habe die kleine Anwendung geschrieben gerade deshalb weil ich WMP nicht nutzen will.
Deshalb ist mir das relativ egal da ich meine eigenen Abspieler habe.
Der andere ein fast vollständiger Clone von Winamp. 2.9
Also daran soll es nicht liegen ;)
Zitat:

Haben alle vier mp3's die gleiche GUID zugewiesen bekommen?
Keine Ahnung.. Wie gesagt ist mir relativ egal.

Leute die ihre Sammlung pflegen werden diese bestimmt nicht mit WMP taggen.

gruss

KodeZwerg 14. Apr 2018 19:56

AW: Cover in WMP Format
 
Ist ja richtig, Dein Programm sieht Spitze aus und funktioniert bestimmt auch hervorragend, Nemp genauso (und alle die ich hier vergessen hab zu erwähnen), darum ging es mir aber gerade nicht sondern um's WMP Format an sich. Ich wollt nochmal zum Thread Title.
Ich hab da halt wie Gausi meine Bedenken weil Dein Tool ja im WMP PRIV Bereich eingreift, ja Du hast 'ne Warnung drinnen damit es Dir egal sein kann, ich fragte halt einfach mal so in den Raum hinein, weil mich da doch ein gewisses feeling gepackt hat und für mich so noch nicht ganz abgeschlossen war, das Thema WMP Format.

Maekkelrajter 14. Apr 2018 22:46

AW: Cover in WMP Format
 
@ Eweiss:

Gerade habe ich mir dein Tool PrivFramesWriter nochmal genau angeschaut. Dabei fiel mir auf, dass du eine Stringlist instantiierst, aber nicht freigibst:
Delphi-Quellcode:
procedure TForm1.btnSearchClick(Sender: TObject);
var
  List: TStringList;
  IntI: Integer;
  Mask: array[0..0] of string;
begin
  edSearchpath.Text := GetFolder(CSIDL_DRIVES, 'Select search path');
  lstSearch.Clear;

  If edSearchpath.Text <> '' then
  begin
     Mask[0] := '.mp3';
     List := TStringList.Create;

     FindMediaFiles(List, edSearchpath.Text, Mask, True);
     lblCount.Caption := IntToStr(List.Count);
     ProgressCounter:= List.Count;
     lblProgress.Caption := IntToStr(ProgressCounter);

     if List.Count > 0 then
     begin
       btnDoIt.Enabled := true;
       Setlength(failed, List.Count);
     end;

     for IntI := 0 to List.Count - 1 do
       lstSearch.Items.Add(List[IntI]);

  end;
end;

Sollte das nicht so aussehen:

Delphi-Quellcode:
procedure TForm1.btnSearchClick(Sender: TObject);
var
  List: TStringList;
  IntI: Integer;
  Mask: array[0..0] of string;
begin
  edSearchpath.Text := GetFolder(CSIDL_DRIVES, 'Select search path');
  lstSearch.Clear;
  List := TStringList.Create;
  try
    If edSearchpath.Text <> '' then
    begin
      Mask[0] := '.mp3';
      FindMediaFiles(List, edSearchpath.Text, Mask, True);
      lblCount.Caption := IntToStr(List.Count);
      ProgressCounter:= List.Count;
      lblProgress.Caption := IntToStr(ProgressCounter);
      if List.Count > 0 then
      begin
        btnDoIt.Enabled := true;
        Setlength(failed, List.Count);
      end;
      for IntI := 0 to List.Count - 1 do
      lstSearch.Items.Add(List[IntI]);
    end;
  finally
    FreeAndNil(List)
  end;
end;
Gruß LP

EWeiss 15. Apr 2018 09:25

AW: Cover in WMP Format
 
Zitat:

Gerade habe ich mir dein Tool PrivFramesWriter nochmal genau angeschaut.
Unser Tool! :)

Auf jeden fall hast du recht. ;)

Keine Entschuldigung, aber im Eifer des Gefechts habe ich nur auf das Ergebnis geachtet als darauf Programmtechnisch alles korrekt zu machen.
List wird ja nach dem addieren zur Listbox nicht mehr benötigt muss also Frei gegeben werden.

Danke für die Info.

EDIT:
Würde aber die TStringlist erst erstellen wenn sie auch benötigt wird.
Warum ein Objekt initialisieren wenn ich damit nichts tun kann, also wenn das suchen abgebrochen wird.
Macht also nur sinn wenn ich anschließend damit auch Arbeiten will\kann.

gruss

EWeiss 15. Apr 2018 09:36

AW: Cover in WMP Format
 
Korrigiert so wäre es richtig.

Delphi-Quellcode:
procedure TForm1.btnSearchClick(Sender: TObject);
var
  List: TStringList;
  IntI: Integer;
  Mask: array[0..0] of string;
begin
  edSearchpath.Text := GetFolder(CSIDL_DRIVES, 'Select search path');

  If edSearchpath.Text <> '' then
  begin
     if lstSearch.Count > 0 then
       lstSearch.clear;
     try
       List := TStringList.Create;
       Mask[0] := '.mp3';

       FindMediaFiles(List, edSearchpath.Text, Mask, True);
       lblCount.Caption := IntToStr(List.Count);
       ProgressCounter:= List.Count;
       lblProgress.Caption := IntToStr(ProgressCounter);

       if List.Count > 0 then
       begin
         btnDoIt.Enabled := true;
         Setlength(failed, List.Count);
       end;

       for IntI := 0 to List.Count - 1 do
         lstSearch.Items.Add(List[IntI]);
     finally
       FreeAndNil(List);
     end;
  end;
end;
Man könnte das alles noch etwas schöner machen.
Zum Beispiel wenn ein Fehler auftritt (Tag nicht gefunden)
Die aktuelle Zeile Gelb färben so das man den Pfad bzw. die Datei erkennen kann die keinen gültigen 2.3 Tag besitzt.
Habe das mal versucht aber bei mir wird diese Zeile immer wieder mit grün über pinselt.

Nun bin kein VCL Freak eher das Gegenteil aber das ist ja bekannt.

Noch ein Pic für @KodeZwerg

gruss

DeddyH 15. Apr 2018 10:33

AW: Cover in WMP Format
 
So wäre es richtiger ;)
Delphi-Quellcode:
List := TStringList.Create;
try
  (* Mit der Liste arbeiten *)
finally
  List.Free; //reicht bei lokalen Variablen völlig aus
end;

EWeiss 15. Apr 2018 10:43

AW: Cover in WMP Format
 
Zitat:

Zitat von DeddyH (Beitrag 1399274)
So wäre es richtiger ;)
Delphi-Quellcode:
List := TStringList.Create;
try
  (* Mit der Liste arbeiten *)
finally
  List.Free; //reicht bei lokalen Variablen völlig aus
end;

oops jep vor Try ;)
Danke dann ist das jetzt geklärt ;)

Leider kann ich das alte Archiv nicht mehr löschen destotrotz hier das Update.

gruss

KodeZwerg 15. Apr 2018 10:55

AW: Cover in WMP Format
 
Zitat:

Zitat von EWeiss (Beitrag 1399272)
Noch ein Pic für @KodeZwerg

Alter Falter, dagegen sieht mein WinAMP (Version 2.04 weil's am schnellsten lädt) total mickrig aus.
Diskobeleuchtung, Überall Boxen, Dein Plugin, Mann-O-Mann, mächtig Gewaltig Egon! (spruch als Olsenbande)


Alle Zeitangaben in WEZ +1. Es ist jetzt 02:27 Uhr.
Seite 8 von 9   « Erste     678 9      

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