Delphi-PRAXiS
Seite 2 von 2     12   

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Software-Projekte der Mitglieder (https://www.delphipraxis.net/26-software-projekte-der-mitglieder/)
-   -   BassPlayerEx für mehrere Soundkarten... (https://www.delphipraxis.net/65380-bassplayerex-fuer-mehrere-soundkarten.html)

omata 4. Jan 2008 13:05

Re: BassPlayerEx für mehrere Soundkarten...
 
Zitat:

Zitat von EWeiss
Wenn erlaubt möchte ich das Plugin gerne Winamp5 Kompatibel machen.
Für die Bitmaps einen eigenen Ordner anlegen und das Window wenn möglich Transparent zu machen
also ohne Borderstyle.

:thumb: gute Idee, da freu ich mich schon drauf.

Zitat:

Zitat von EWeiss
Auch unter BassVis läuft es gut

Das freut mich besonders, dann habe ich da ja nicht zu großen Blödsinn verzapft.

Gruss
Thorsten

omata 4. Jan 2008 20:24

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:
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;
und dort wird das Draw aufgerufen.

Wo ist da jetzt das Problem? Hoffe das hilft dir weiter.

Gruss
Thorsten

omata 4. Jan 2008 21:00

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

rollstuhlfahrer 6. Jan 2008 07:26

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:
// 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.
Um das nutzen zu können braucht man noch:
Delphi-Quellcode:
// 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.
rollstuhlfahrer

PS: Das ganze könnte man auch noch mit TLanguages ( anhang ) und oder automatischer Erkennung der Systemsprache erweitern

rollstuhlfahrer 6. Jan 2008 18:49

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:

rollstuhlfahrer 19. Jan 2008 22:38

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

omata 19. Jan 2008 23:07

Re: BassPlayerEx für mehrere Soundkarten...
 
Siehe ersten Post in diesem Thread...

Zitat:

Zitat von omata
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 hier mal schauen.

Zitat:

Zitat von rollstuhlfahrer
Laut Werbung in [Komponente]TBassDllPlayer soll das hier gehen

Zitat:

Zitat von turboPASCAL
:arrow: Eine Erweiterte Komponente (+ Demo) BassPlayerEx zu diesem Thema hat omata geschrieben.
Mit ihr ist es möglich mehrere Sound-Kanäle gleichzeitig abzuspielen. Unbedingt Sehenswert. :thumb: Preview

Wo steht das? :gruebel:


Alle Zeitangaben in WEZ +1. Es ist jetzt 16:53 Uhr.
Seite 2 von 2     12   

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