AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Projekte BassPlayerEx bzw. Winamp Visualisierungsplugins
Thema durchsuchen
Ansicht
Themen-Optionen

BassPlayerEx bzw. Winamp Visualisierungsplugins

Ein Thema von omata · begonnen am 11. Apr 2006 · letzter Beitrag vom 18. Jul 2008
Antwort Antwort
Seite 1 von 2  1 2      
omata
Registriert seit: 26. Aug 2004
So, es gibt neue Versionen vom BassPlayerEx...

mit erweiterten Soundeffekten (eine Soundkarte)
für mehrere Soundkarten (keine Spezielfunk.)

Der BassPlayerEx kann jetzt auch Winamp-Plugins einbinden. Dazu müssen die Dlls in einem Verzeichnis (Plugins) liegen, dass im selben Verzeichnis liegt, wie die Bassplayeranwendung.

Die Visualisierungen, die vorher in der EXE einkombiliert waren sind jetzt hier auch als Plugins zubekommen.

Diese Plugins funktionieren auch im Winamp.

Viele Grüsse
Thorsten
Miniaturansicht angehängter Grafiken
winampvis.png  
Angehängte Dateien
Dateityp: zip visturbopascal_146.zip (26,0 KB, 145x aufgerufen)
Dateityp: zip visdizzy_198.zip (504,5 KB, 149x aufgerufen)
Dateityp: zip viscappellozza_186.zip (11,2 KB, 129x aufgerufen)

Geändert von omata (14. Aug 2011 um 19:18 Uhr)
 
100nF
 
#2
  Alt 16. Apr 2006, 09:11
hallo omata,

ist denn das einbinden jetzt genau gleich wie vorher?
also etwa so:
Delphi-Quellcode:
var
  vis: TFrameVisTurboPascal;

//...

Vis := TFrameVisTurboPascal.create(self);

//...

vis.Paint(ActiveChannel, image321);

//...

vis.free;
oder geht das jetzt anders?

gruss
urbanbruhin
  Mit Zitat antworten Zitat
omata

 
Delphi 7 Enterprise
 
#3
  Alt 17. Apr 2006, 18:47
Hallo urbanbruhin,

das Einbinden erfolgt, indem man eine Dll in das Plugin-Verzeichnis kopiert und diese dann im Player auswählt. Das ist also so wie z.B. bei Winamp.
Wie die Dll aufgebaut sein muss, dafür habe ich die Beispiele gemacht. Alle Visnualisierungen, die vorher in der EXE waren sind jetzt in Pluginform als Dll + Source hier zu finden.

Also schau dir einfach mal die Beispiele an.

MfG
Thorsten
  Mit Zitat antworten Zitat
100nF
 
#4
  Alt 20. Aug 2006, 08:04
hallo omata,

also ich habe jetzt sehr lange herumprobiert, doch ich kriege es einfach nicht hin, die plugins einzubinden.
ich habe jetzt ein Programm, das den TBassPlayerEx verwendet.
nun muss ich ja eine combobox reinsetzen, damit man ein plugin wählen kann.
aber was muss ich im code verändern, damit das funktioniert?

könntest du vielleicht alle code-teile mal einzeln posten, also was z.B. ins FormCreate rein kommt, oder ins FormClose usw.

Gruss
urbanbruhin
  Mit Zitat antworten Zitat
omata

 
Delphi 7 Enterprise
 
#5
  Alt 20. Aug 2006, 19:11
Hallo urbanbruhin,

das geht (mit deiner jetzigen Version) minimal so...
Delphi-Quellcode:
uses ... BassPlayerExU, BassChannelU ...
:
  private
    FBassPlayerEx:TBassPlayerEx;
:
procedure TForm.FormCreate(Sender: TObject);
var BassChannel:TBassChannel;
begin
  FBassPlayerEx:=TBassPlayerEx.Create(1, Self);
  BassChannel:=FBassPlayerEx.addChannel(100);
  BassChannel.LoadFromFile('Lied.mp3');
  BassChannel.Play;
end;

procedure TForm.FormDestroy(Sender: TObject);
begin
  FBassPlayerEx.free;
end;

procedure TForm.ButtonClick(Sender: TObject);
begin
  FBassPlayerEx.ShowVisControlForm;
end;
Mit ShowVisControlForm wird das Kontrollfenster für die Visualisierungen geöffnet. Die Plugins müssen in einem Ordner Plugins der im Programmverzeichnis liegen muss, liegen.

Ich habe gerade eine neue Version hochgeladen, jetzt kannst du auch ohne VisControlForm Plugins laden...
Delphi-Quellcode:
procedure TForm.ButtonRunClick(Sender: TObject);
begin
  FBassPlayerEx.RunVisPlugin('vis_dizzy.dll', 0);
end;

procedure TForm.ButtonQuitClick(Sender: TObject);
begin
  FBassPlayerEx.QuitVisPlugin;
end;
Gruss
Thorsten
  Mit Zitat antworten Zitat
100nF
 
#6
  Alt 20. Aug 2006, 21:14
Hallo omata,

Vielen Dank!!

aber zwei fragen habe ich noch:
wenn ich mit RunVisPlugin ein Plugin lade, und später ein anderes laden will, muss ich dann zuerst QuitVisPlugin und dann RunVisPlugin aufrufen, oder genügt es, immer RunVisPlugin zu verwenden und beim beenden des programmes QuitVisPlugin aufzurufen?

und die zweite frage:
wie kann ich jetzt auf die einstellungen der visualisierungen zugreifen (verändern), ohne das einstellungs-fenster aufzurufen?

Gruss
urbanbruhin
  Mit Zitat antworten Zitat
omata

 
Delphi 7 Enterprise
 
#7
  Alt 20. Aug 2006, 22:11
Hallo urbanbruhin,

RunVisPlugin schliesst eine geöffnete Visualisierung bevor eine neue geöffnet wird. Es geht also durchaus einfach nur RunVisPlugin zu benutzen.
QuitVisPlugin schliesst und entlädt die aktuelle Visualisierung. Wenn man eine Visualisierung nur wegklickt und sie nicht mehr sieht, läuft sie einfach weiter und verbraucht CPU-Zeit.
Beim Beenden des Programms wird eine geöffnete Visualisierung geschlossen. Du kannst aber brauchst nicht an das Schliessen zu denken, das übernimmt alles der BassPlayerEx.

Das ganze ist also sehr flexible. Trotzdem kann es zu Problemen kommen und das Programm mit einer Fehlermeldung abstürzen. Es scheint an den Visualisierungen zu liegen. Wie sauber die programmiert wurden.

Auf die Einstellungen der Plugins kann zur Zeit nur über das Kontrollfenster zu gegriffen werden. Da muss ich noch ein bißchen drüber nachdenken, wie da eine geeignete Struktur aussehen kann.

Gruss
Thorsten
  Mit Zitat antworten Zitat
100nF
 
#8
  Alt 21. Aug 2006, 17:00
Hi,

ein kleines problem habe ich jetzt noch...

ich will für die visualisierung mein eigenes TImage32 verwenden.
aber wo muss ich den namen des TImage32 angeben, in dem die visualisierung erscheinen soll?

gruss
urbanbruhin
  Mit Zitat antworten Zitat
omata

 
Delphi 7 Enterprise
 
#9
  Alt 21. Aug 2006, 17:13
Hallo urbanbruhin,

ich verstehe deine Frage nicht so ganz. In den beiden Beispielen VisDizzy und VisCappellozza benutze ich doch auch TImage32. Hast du dir das mal angesehen?

Gruss
Thorsten
  Mit Zitat antworten Zitat
100nF
 
#10
  Alt 21. Aug 2006, 17:20
Hi,

also wenn ich jetzt RunVisPlugin() ausführe, erscheint die visualisierung entweder in einem neuen fenster, oder einfach vollbild.

ich will aber die visualisierung auf dem formular meines programmes haben. wie mache ich das?

irgendwie blick ich da nicht so ganz durch...

EDIT: und übrigens ist ja bei den beiden Beispielen VisDizzy und VisCappellozza gar keine DLL vorhanden

gruss
urbanbruhin
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 2  1 2      


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 11:40 Uhr.
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