![]() |
BassPlayerEx für mehrere Soundkarten...
Liste der Anhänge anzeigen (Anzahl: 3)
Nachdem wir
![]() Unübersichtlich deshalb, weil es mittlerweile zwei Varianten gibt. Beide haben ihre Vor- und Nachteile. Und leider habe ich keine Möglichkeit gefunden, alles in einem Projekt zu vereinen. Dieser Thread beschäftigt sich mit dem Einsatz der Bass.dll (und nur dieser!). Dies alles funktioniert für mehr als eine Soundkarte (pro Anwendung). Allerdings können hier keine Funktionen aus Erweiterungs-Dlls für die Bass.dll eingesetzt werden. Wer mehr Spezielfunktionen benötigt und wem eine Soundkarte pro Anwendung reicht der sollte ![]() Die Visualisierungen werden jetzt als Plugin nachgeladen. Die Pluginstruktur ist die von Winamp. Die Plugins findet ihr ![]() Viele Grüsse Thorsten |
Re: BassPlayerEx mit erweiterten Soundeffekten (eine Soundka
hallo,
ich habe die komponente mal ausprobiert, konnte aber nicht compillieren, da er in der BassPlayerU.pas "TGetLiedEvent" nicht kennt. gruss urbanbruhin |
Re: BassPlayerEx für mehrere Soundkarten (keine Spezielfunk.
Hallo urbanbruhin,
ich gebe ja zu das es schwierig ist durch den kuddelmuddel, den ich hier verzapft habe durchzusteigen :roll: Hoffe ich habe jetzt wirklich alles so korrigiert, dass es jetzt endlich richtig ist :wall: Deine erwähnte Datei gibt es in diesen Projekten nicht mehr. Sie heisst jetzt BassPlayerExU.pas. Ich habe auch gerade beide Archive mal getestet. Beide kann ich ohne Probleme compilieren und in beiden ist deine erwähnte Datei nicht vorhanden (weder als Datei noch im Quellcode) :gruebel: Also ich bin jetzt etwas verwirrt :roteyes: MfG Thorsten |
Re: BassPlayerEx für mehrere Soundkarten (keine Spezielfunk.
Endlich ist die neue Version da.
Die Anwendung enthält jetzt keine Visualisierungen mehr. Diese werden jetzt als Plugin nachgeladen. Pluginschnittstelle ist die von Winamp. Es können jetzt also auch Winampplugins eingebunden werden. Wie man solche Plugins selber macht findet ihr ![]() Viele Grüsse Thorsten |
Re: BassPlayerEx für mehrere Soundkarten...
HI, ich habe deine Demo heruntergeladen und compiliert, beim Ausführen bekomme ich aber immer eine EIntOverflow in der Unit DLLLoaderU.pas, Zeile 741.
Delphi-Quellcode:
Benutze Dellphi 2007 auf WinXP Sp2.
{$Q+}
ImageBaseDelta:=LONGWORD(ImageBase)-ImageNTHeaders.OptionalHeader.ImageBase; {$Q-} |
Re: BassPlayerEx für mehrere Soundkarten...
Hallo thabaker,
kommt der Fehler nur in der IDE oder auch wenn du die EXE startest? Gruss Thorsten |
Re: BassPlayerEx für mehrere Soundkarten...
Hi Leutz, ich weiß ja nicht genau wie das bei Vista funktioniert, ob man da dann wie quasi mehrere Sound karten hat (da kann man aj auch irgendwie den Sound für jede Anwendung einzeln steuern, soweit ich weiß), aber geht diese Version des BassPlayerEx's dann auch unter Vista?
|
Re: BassPlayerEx für mehrere Soundkarten...
Nachdem ich mir die 18 Seiten von TBass(Dll)Player reingezogen hab, bin ich auf die Idee gekommen, BassPlayerEx zu verwenden. Als einfacher Mensch fände ich es ganz nett, den BassPlayerEx auch als Komponente verwenden zu können. Jetzt hab ich aber schon mehrmals gelesen, dass es den BassPlayerEx nicht als Komponente gibt/ geben werden soll. Frage: Wird es den BassPlayerEx irgendwann mal als Komponente geben? Die Komponente hat den Vorteil, dass sie eben mehr regelt...
rollstuhlfahrer |
Re: BassPlayerEx für mehrere Soundkarten...
Hallo rollstuhlfahrer,
es gibt keine visuelle Komponente. Das bedeutet, man kann eben nicht per KlickiBunti arbeiten. Aber ist das nötig? Man kann die benötigten Sachen doch einfach selber anlegen. Und welche da nötig sind kann man doch leicht über Strg+Leertaste ermitteln. Da der BassPlayerEx keine Begrenzung bei den Channels aufweist, kann man soetwas nur schwer im Objektinspektor realisieren. Es gibt vermutlich eine Möglichkeit aber das sehe ich nicht als so tolle Erweiterung und würde das System vermutlich eher unübersichtlicher machen. Und was bleibt dann noch übrig, wenn man die Channels nicht über den Objektinspektor erreichen kann? Die drei Parameter kann man doch dann auch im Code setzen. Und mal angenommen ich realisiere jetzt auch die Channels als Visuelle Komponente, dann ist man doch wieder eingeschrängt. Weil man nur die Channels zur Verfügung hat, die auf der Form liegen. Oder man erzeugt sie sich dann doch wieder selbst. Also ich sehe da nicht unbedingt handlungsbedarf. Ist dieser Zustand, das kein visuelles Rechteck auf der Form liegt, der einzige Grund warum der BassPlayerEx nicht so gern eingesetzt wird? Das kann ich überhaupt nicht nachvollziehen. Gruss Thorsten |
Re: BassPlayerEx für mehrere Soundkarten...
da es gestern sehr spät war, hatte ich nicht so die große lust, mal in das Programm reinzuschauen, was ich eben heute nachholen werde. mal sehen, was sich machen lässt...
rollstuhlfahrer EDIT: Die Demo hat nen kleinen Macken... Wenn man auf Verzeichnis hinzufügen(Playlist) klickst und einen Ordner auswählt, in dem nicht nur Lieder drin sind, sondern auch Bilder (z.B. AlbumCover) zeigt die Anwendung jedes mal einen Fehler "Can't open File *.jpg" |
Re: BassPlayerEx für mehrere Soundkarten...
Zitat:
Zitat:
Gruss Thorsten |
Re: BassPlayerEx für mehrere Soundkarten...
Ich habe hier kein Delphi zur Hand, habe aber gerade mal in den Code geschaut.
In der Unit VisDizzyU.pas ist doch folgende Funktion...
Delphi-Quellcode:
und dort wird das Draw aufgerufen.
function render_vis(this_mod:PwinampVisModule):Integer;
var waveformData: PwaveformData; spectrumData: PspectrumData; begin waveformData:=@this_mod^.waveformData; spectrumData:=@this_mod^.spectrumData; _FDizzy.Draw(spectrumData^, waveformData^); Result:=0; end; Wo ist da jetzt das Problem? Hoffe das hilft dir weiter. Gruss Thorsten |
Re: BassPlayerEx für mehrere Soundkarten...
Da kann ich leider nicht helfen, weil ich keine Ahnung von Winamp5-Plugins habe.
Was ich nicht verstehe: 1. Wo kommt den Timer1 her, ich habe den da nicht eingebaut und wie sieht da die Event-Prozedur von aus? 2. Wieso kannst du da keinen Timer drauf machen, hast du doch gemacht? 3. Ich dachte immer das Winamp die Render-Prozedur aufruft und dann wird gezeichnet, ist das bei Winamp5 anders? Also sorry für die dummen Fragen, aber ich habe zur Zeit kein Delphi zur Hand und von Winamp5 keine Ahnung. Gruss Thorsten |
Re: BassPlayerEx für mehrere Soundkarten...
Liste der Anhänge anzeigen (Anzahl: 1)
ich hab noch nen Macken gefunden, allerdings in dem BassPlayerEx. Wenn man das Virtualisierungsfenster öffnet, hat das nur eine einzige Sprache, und das ist Englisch... Ich hab da mal was vorbereitet:
Delphi-Quellcode:
Um das nutzen zu können braucht man noch:
// Unit VisPluginControl
type TVisControlForm = class(TForm) private _Sprachen: array[0..1, 1..8] of String; //Sprachen, (btnConfigure, Label3, btnStart, // Label2, btnStop, btnClose, Label1, Form.Caption) public procedure SetSprache(SprachCode: String); function GetAvailibleSprachen: TStringList; end; implementation constructor TVisControlForm.create(AOwner: TComponent; BassDll:TBassDll); begin ... //Sprachen, (btnConfigure, Label3, btnStart, // Label2, btnStop, btnClose, Label1) // EN (0) _Sprachen[0][1] := 'Configure'; _Sprachen[0][2] := 'Description of library'; _Sprachen[0][3] := 'Start'; _Sprachen[0][4] := 'Available modules'; _Sprachen[0][5] := 'Stop'; _Sprachen[0][6] := 'Close'; _Sprachen[0][7] := 'Detected Plug-ins'; _Sprachen[0][8] := 'Visualization plug-in control'; // DE (1) _Sprachen[1][1] := 'Konfigurieren'; _Sprachen[1][2] := 'Beschreibung'; _Sprachen[1][3] := 'Start'; _Sprachen[1][4] := 'Vorhandene Module'; _Sprachen[1][5] := 'Stop'; _Sprachen[1][6] := 'Schließen'; _Sprachen[1][7] := 'Gefundene Plug-ins'; _Sprachen[1][8] := 'Virtualisierungsplug-in auswählen'; end; procedure TVisControlForm.SetSprache(SprachCode: String); begin //Sprachen, (btnConfigure, Label3, btnStart, // Label2, btnStop, btnClose, Label1) if Uppercase(SprachCode) = 'DE' then begin btnConfigure.Caption := _Sprachen[1][1]; Label3.Caption := _Sprachen[1][2]; btnStart.Caption := _Sprachen[1][3]; Label2.Caption := _Sprachen[1][4]; btnStop.Caption := _Sprachen[1][5]; btnClose.Caption := _Sprachen[1][6]; Label1.Caption := _Sprachen[1][7]; Self.Caption := _Sprachen[1][8]; end else if UpperCase(SprachCode) = 'EN' then begin btnConfigure.Caption := _Sprachen[0][1]; Label3.Caption := _Sprachen[0][2]; btnStart.Caption := _Sprachen[0][3]; Label2.Caption := _Sprachen[0][4]; btnStop.Caption := _Sprachen[0][5]; btnClose.Caption := _Sprachen[0][6]; Label1.Caption := _Sprachen[0][7]; Self.Caption := _Sprachen[0][8]; end; end; function TVisControlForm.GetAvailibleSprachen: TStringList; var Liste: TStringList; begin Liste := TStringList.Create; Liste.Add('EN'); Liste.Add('DE'); Result := Liste; Liste.Free; end; end.
Delphi-Quellcode:
rollstuhlfahrer
// Unit BassPlayerExU
type TBassPlayerEx = class(TComponent) public { Public declarations } procedure SetVisControlFormSprache(SprachCode: string); function GetVisControlFormSprachen: TStringList; end; procedure TBassPlayerEx.SetVisControlFormSprache(SprachCode: string); begin _VisControlForm.SetSprache(SprachCode); end; function TBassPlayerEx.GetVisControlFormSprachen: TStringList; begin Result := _VisControlForm.GetAvailibleSprachen; end; end. PS: Das ganze könnte man auch noch mit TLanguages ( anhang ) und oder automatischer Erkennung der Systemsprache erweitern |
Re: BassPlayerEx für mehrere Soundkarten...
jetzt, wo ich reingeschnuppert bin und schon viele Stunden Arbeit hinter mir liegen :coder: , bin ich immernoch überzeugt, eine Komponente wird sich hinbiegen lassen, aber der Aufwand ist arg groß... :gruebel: (Schätze mal: 1/2 Channel, 10 Band EQ, Fade zw. Channel1-Channel2, LiedInfo, ...)
Das ist harte Arbeit. :wall: :wall: :wall: |
Re: BassPlayerEx für mehrere Soundkarten...
mal was ganz anderes:
Wie kann man denn mit dem BassPlayerEx AddOns einbinden (z.B.: BassWMA.dll) Laut Werbung in [Komponente]TBassDllPlayer soll das hier gehen rollstuhlfahrer |
Re: BassPlayerEx für mehrere Soundkarten...
Siehe ersten Post in diesem Thread...
Zitat:
Zitat:
Zitat:
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 17:42 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz