PLXINE-Unit

Zur Vorstellung von Komponenten und Units für Lazarus
pluto
Lazarusforum e. V.
Beiträge: 7180
Registriert: So 19. Nov 2006, 12:06
OS, Lazarus, FPC: Linux Mint 19.3
CPU-Target: AMD
Wohnort: Oldenburg(Oldenburg)

Re: PLXINE-Unit

Beitrag von pluto »

Die Units sind Aktualisiert. Siehe ersten Beitrag... Danke für den Hinweis, hatte ich schon wieder ganz vergessen 8)
MFG
Michael Springwald

Teekeks
Beiträge: 359
Registriert: Mi 27. Mai 2009, 20:54
OS, Lazarus, FPC: OpenSuse11.4 x86 (Lazarus: 0.9.30 FPC 2.4.2)
CPU-Target: x86
Wohnort: Cottbus

Re: PLXINE-Unit

Beitrag von Teekeks »

Hi!
Hier hab ich mal die Unit etwas verbessert /erweitert:
Bei GetLen und GetCurrTime kann man nun wahlweise das Format hh:mm:ss oder mm:ss haben.

Ich hoffe es ist in Ordnung das ich da was Rum gewerkelt habe...
Dateianhänge
plxine.pas
(8.82 KiB) 87-mal heruntergeladen

pluto
Lazarusforum e. V.
Beiträge: 7180
Registriert: So 19. Nov 2006, 12:06
OS, Lazarus, FPC: Linux Mint 19.3
CPU-Target: AMD
Wohnort: Oldenburg(Oldenburg)

Re: PLXINE-Unit

Beitrag von pluto »

Ich hoffe es ist in Ordnung das ich da was Rum gewerkelt habe...

Ich habe nichts da gegen, ich finde es auch toll, dass jemand einen Praktischen Nutzen von der Unit hat.

Edit01
Vielleicht kann man es ja noch so erweitern das der User das Format selbst wählen kann. Also so ähnlich wie bei "FormatDateTime", Natürlich nur auf die Zeit bezogen.
MFG
Michael Springwald

Teekeks
Beiträge: 359
Registriert: Mi 27. Mai 2009, 20:54
OS, Lazarus, FPC: OpenSuse11.4 x86 (Lazarus: 0.9.30 FPC 2.4.2)
CPU-Target: x86
Wohnort: Cottbus

Re: PLXINE-Unit

Beitrag von Teekeks »

Darauf baue ich alles was bei mir Ton hat auf, auch meinen MP3-Player...
Es wird also vermutlich noch einiges dazu kommen :)
Vielleicht kann man es ja noch so erweitern das der User das Format selbst wählen kann. Also so ähnlich wie bei "FormatDateTime", Natürlich nur auf die Zeit bezogen.

Das ist auch eine gute Idee, dürfte aber nicht ganz so einfach sein wie das hier.
Aber ich mache mir mal Gedanken wie das am besten zu machen geht.

EDIT: wäre schön wenn du diese Version oben mit einbauen würdest.

pluto
Lazarusforum e. V.
Beiträge: 7180
Registriert: So 19. Nov 2006, 12:06
OS, Lazarus, FPC: Linux Mint 19.3
CPU-Target: AMD
Wohnort: Oldenburg(Oldenburg)

Re: PLXINE-Unit

Beitrag von pluto »

Darauf baue ich alles was bei mir Ton hat auf, auch meinen MP3-Player...
Es wird also vermutlich noch einiges dazu kommen

Sowas höhere ich gerne.... Wenn du noch Verbesserung Vorschläge hast.... nur her damit. Im Übrigen: Du kannst dein MP3-Player Audio-Player nennen, XINE Spielt bzw. soll ALLES Abspielen können. Theoretisch... Wie weit bist du denn ?

Das ist auch eine gute Idee, dürfte aber nicht ganz so einfach sein wie das hier.
Aber ich mache mir mal Gedanken wie das am besten zu machen geht.

Vielleicht könnten wir hier einfach die genannte Funktion als Vorlage nehmen.... Vielleicht befasse ich mich damit doch noch. Im


EDIT: wäre schön wenn du diese Version oben mit einbauen würdest.

Mache ich gleich Morgen... Ich werde die auch eine Nette kleine Stelle geben, oben in der Datei....
MFG
Michael Springwald

Teekeks
Beiträge: 359
Registriert: Mi 27. Mai 2009, 20:54
OS, Lazarus, FPC: OpenSuse11.4 x86 (Lazarus: 0.9.30 FPC 2.4.2)
CPU-Target: x86
Wohnort: Cottbus

Re: PLXINE-Unit

Beitrag von Teekeks »

pluto hat geschrieben:Wie weit bist du denn ?

Ich bin noch nicht soo weit:
-Musik-Sammlung anlegen+ darin suchen
-Lautstärke-fade
-verschiedene Abspielmodi
- und natürlich die ganzen Grundlagen...

pluto hat geschrieben:Vielleicht könnten wir hier einfach die genannte Funktion als Vorlage nehmen.... Vielleicht befasse ich mich damit doch noch.

Nunja, du musst natürlich dann auch vorgaben machen und so, also das Format selbst festlegen würde vl. so machbar sein :
{Stunde}:{Minute},{Sekunde}

Und die einzelnen Tags werden dann durch die Zahlen ersetzt (via Stringreplace).
So habe ich das auch bei meiner Printer-Unit gemacht.
EDIT:

Hier mal der Betreffende Ausschnitt: so in der Richtung könnten wir das hier auch machen...

Code: Alles auswählen

function TPDPrinter.ParseStr(astr: string): string;
var ast:string;
begin
  ast:=StringReplace(astr,'{$PAGE}',inttostr(aPage),[rfReplaceAll]);
  ast:=StringReplace(ast, '{$LINE}',inttostr(aLine),[rfReplaceAll]);
  ast:=StringReplace(ast, '{$DATE}',FormatDateTime('dd.mm.yyyy',Date),[rfReplaceAll]);
  ast:=StringReplace(ast, '{$TIME}',FormatDateTime('hh:nn',Time),     [rfReplaceAll]);
  result:=ast;
end;



pluto hat geschrieben:Mache ich gleich Morgen... Ich werde die auch eine Nette kleine Stelle geben, oben in der Datei....

Das finde ich schön :D

pluto
Lazarusforum e. V.
Beiträge: 7180
Registriert: So 19. Nov 2006, 12:06
OS, Lazarus, FPC: Linux Mint 19.3
CPU-Target: AMD
Wohnort: Oldenburg(Oldenburg)

Re: PLXINE-Unit

Beitrag von pluto »

Siehe ersten "Beitrag".

An sowas habe ich auch schon gedacht. Wir müssten "Aliase" Fest legen. Für Stunden, Minuten und Sekunden. Dann müssten wir den String Parsen. Z.B. in etwa so:
FormatmyTime('%hh:%mm:%se',[...]);
hh = Stunden mm = Minuten se = Sekunden
Vielleicht können wir es dann sogar noch erweitern: So das Audio-Tags mit einfließen können oder Datei Namen, Datei Verzeichnis, Datei Größe und natürlich auch die Länge.
Das GetLen und GetCurrTime müssten zu einer Funktion verschmelzten. Weißt du wie ich meine ?

Das wäre ein Grund, für mich, mich doch noch mal mit der Unit zu beschäftigen.
MFG
Michael Springwald

Teekeks
Beiträge: 359
Registriert: Mi 27. Mai 2009, 20:54
OS, Lazarus, FPC: OpenSuse11.4 x86 (Lazarus: 0.9.30 FPC 2.4.2)
CPU-Target: x86
Wohnort: Cottbus

Re: PLXINE-Unit

Beitrag von Teekeks »

Hi!
Kann XINE eigendlich mp3-Tags lesen?
Sonnst hätte ich da auch noch was da :)

pluto
Lazarusforum e. V.
Beiträge: 7180
Registriert: So 19. Nov 2006, 12:06
OS, Lazarus, FPC: Linux Mint 19.3
CPU-Target: AMD
Wohnort: Oldenburg(Oldenburg)

Re: PLXINE-Unit

Beitrag von pluto »

Angeblich soll XINE sowas können. Im Xine-Header findest du entsprechende Funktionen(meine ich) und ich meine auch das diese unit das auch schon können müsste. Xine soll auch verschiedene Playlisten-Formate unterstützen.
(Stichwort: Tag)
Ich habe mir dafür allerdings eine eigene Klasse geschrieben, die im Moment drei Formate unterstützt: m3u(beide), pls und wpl.

Was genau kann deine "Unit" denn ? Es geht ja nicht "nur" um MP3 sondern auch noch um andere Formate wie z.b. OGG(müsste auch welche haben) oder m4a oder sowas und wie gesagt: Xine spielt ja nicht NUR MP3 ab sondern sehr viele andere Formate auch. Die Frage wäre: Wäre eine Funktion wie Format möglich, in diesen Fall.
MFG
Michael Springwald

Teekeks
Beiträge: 359
Registriert: Mi 27. Mai 2009, 20:54
OS, Lazarus, FPC: OpenSuse11.4 x86 (Lazarus: 0.9.30 FPC 2.4.2)
CPU-Target: x86
Wohnort: Cottbus

Re: PLXINE-Unit

Beitrag von Teekeks »

Tja, das raus filtern der mp3-Tags mach ich per durchgehen von habd, also nur mp3 :) Aber wenn XINE so was schon kann, umso besser!
Dann brauchen wir das nur noch einzubauen...

Teekeks
Beiträge: 359
Registriert: Mi 27. Mai 2009, 20:54
OS, Lazarus, FPC: OpenSuse11.4 x86 (Lazarus: 0.9.30 FPC 2.4.2)
CPU-Target: x86
Wohnort: Cottbus

Re: PLXINE-Unit

Beitrag von Teekeks »

Also ich hab das jetzt mal gebastelt mit den Infos, ich stell es nachher rein...
EDIT:
Und hier ist sie...
Dateianhänge
plxine.pas
(9.17 KiB) 81-mal heruntergeladen

pluto
Lazarusforum e. V.
Beiträge: 7180
Registriert: So 19. Nov 2006, 12:06
OS, Lazarus, FPC: Linux Mint 19.3
CPU-Target: AMD
Wohnort: Oldenburg(Oldenburg)

Re: PLXINE-Unit

Beitrag von pluto »

Ich finde in der Datei "nur", diese Konstanten am Anfang, jedoch keine Funktion, wo sie verwendet werden, oder ist das "nur" ein Vorschlag ?

Code: Alles auswählen

TI_TITLE             = 0;
 TI_COMMENT           = 1;
 TI_ARTIST            = 2;
 TI_GENRE             = 3;
 TI_ALBUM             = 4;
 TI_YEAR              = 5;
 TI_VIDEOCODEC        = 6;
 TI_AUDIOCODEC        = 7;
 TI_SYSTEMLAYER       = 8;
 TI_INPUT_PLUGIN      = 9;
MFG
Michael Springwald

_X_
Beiträge: 250
Registriert: Di 16. Dez 2008, 20:13
OS, Lazarus, FPC: aptosid (aptosid.com); Lazarus SVN gtk2+qt4; FPC 2.4.0
CPU-Target: 32/64Bit

Re: PLXINE-Unit

Beitrag von _X_ »

Code: Alles auswählen

function TPLXine.Get_Info(Info:integer): string;
Ich glaube die da.

mfg _X_

pluto
Lazarusforum e. V.
Beiträge: 7180
Registriert: So 19. Nov 2006, 12:06
OS, Lazarus, FPC: Linux Mint 19.3
CPU-Target: AMD
Wohnort: Oldenburg(Oldenburg)

Re: PLXINE-Unit

Beitrag von pluto »

Die ist mir auch schon aufgefallen, jedoch sieht der Inhalt und die Parameter nicht so aus, wie ich sie mir vorgestellt hatte....
MFG
Michael Springwald

Teekeks
Beiträge: 359
Registriert: Mi 27. Mai 2009, 20:54
OS, Lazarus, FPC: OpenSuse11.4 x86 (Lazarus: 0.9.30 FPC 2.4.2)
CPU-Target: x86
Wohnort: Cottbus

Re: PLXINE-Unit

Beitrag von Teekeks »

Wie sonnst?
Wenn du z.B. nur den Titel haben willst, will man nicht unnötig Performance einbüßen nur um alles mögliche zurück zu bekommen.

Oder wie hattest du dir das vorgestellt?

Ich hab schon jetzt damit gearbeitet, alle Infos von 10000 Tracks ausgelesen + abgespeichert in 5 sec. Was will man mehr?

Antworten