![]() |
Re: Bass Player Komponente: TBassDLLPlayer (+ Demos)
naja Kritiker gibt es immer, egal was man macht...
Wobei: runger hat ja auch was gutes geschrieben Zitat:
|
Re: Bass Player Komponente: TBassDLLPlayer (+ Demos)
So, leider habe ich eine schlechte Nachricht zu verkünden.
Ich war dieses Wochenende mal wieder zu hause und dort konnte ich endlich den besagten Test durchführen. Welcher Test? Na ganz einfach: was passiert, wenn man mehr als eine Soundkarte hat? In meinem Musikstudio habe ich eine Maschine mit zwei Soundkarten. Wozu? na ganz einfach, um einen Monitor (zum Vorhören) zu haben. Naja, wie dem auch sei. Leider muss ich euch mitteilen, dass die neue Komponente (v2.1) nicht mehr mehr als eine Soundkarte unterstützen kann. Dieses Problem ergibt sich leider bei der Benutzung von bass_fx.dll diese möchte nämlich auf Funktionen der Bass.dll zugreifen. Deshalb sucht bass_fx.dll auch nach der bass.dll. Da aber leider die Bass-Funktionen nicht als Objekt zur Verfügung stehen, überschreibt die Bass_init-Prozedur die globalen Einstellungen in der bass.dll. Deshalb gewinnt immer die letzte Initialisierung. Schade. Also, wer mehr Funktionen braucht, kann leider nur eine Soundkarte ansprechen. Ich finde das ziemlich be******** aber kann es leider zur Zeit nicht ändern. /* Warum ging es vorher?: Weil die bass.dll für jede Soundkarte extra in den Speicher geladen wurde. Da gab es dann zwei globale, abgeschlossene Bass-Systeme (für jede Soundkarte eine) Und genau dieses geniale Prinzip kann nicht mehr angewendet werden, wenn man die bass_fx.dll benutzen möchte. */ Bin also für Vorschläge offen. MfG Thorsten |
Re: Bass Player Komponente: TBassDLLPlayer (+ Demos)
hmm also mir ist es im prinzip egal, ob es für mehrere Soundkarten geht, da ich sowieso immer nur für eine code..
Trotzdem hätte ich eine Bitte, und zwar ob du vielleicht kurz (wie wir es schon einmal hatten) schreiben kannst, welche CodeZeilen man jetzt braucht um die dlls einzubinden, und dann um Channels anzulegen, etc. Würde denk ich vielen helfen! (inklusive mir :D) thx |
Re: Bass Player Komponente: TBassDLLPlayer (+ Demos)
Da brauch ich eigentlich nicht viel zu schreiben...
Das geht wie gehabt. Die Zusatzfunktionen der bass_fx.dll stehen sofort zur Verfügung.
Delphi-Quellcode:
Hoffe das hilft weiter.
BassChannel.Tempo:= -30..30; // Tempo verändern
BassChannel.Samplerate:= z.B.: 30870..57330 // Samplerate verändern BassChannel.Pitch:=-30..30; // Pitch verändern MfG Thorsten |
Re: Bass Player Komponente: TBassDLLPlayer (+ Demos)
aha thx.
Und die bass.dll / bass_fx.dll sollte wahrscheinlich im Programm - Verzeichnis liegen |
Re: Bass Player Komponente: TBassDLLPlayer (+ Demos)
Um die Dll-Dateien brauchst du dir keine Gedanken machen. Wenn sie nicht vorhanden sind, werden sie automatisch erzeugt.
MfG Thorsten |
Re: Bass Player Komponente: TBassDLLPlayer (+ Demos)
Zitat:
|
Re: Bass Player Komponente: TBassDLLPlayer (+ Demos)
Update der TBassDLLPlayer - Komponente von Version 1.23 (bzw. 1.24) auf 1.25 . (
![]() Änderung: Laden aus einer Resource hinzugefügt. Ein Demo ist in den "SimplePayer Demos" enthalten.
Delphi-Quellcode:
function LoadFromResourceName(ResourceName: PChar; ResTyp: TRC_ResourceTyp): Boolean;
Code:
Beispiel:
[b]ResTyp[/b] kann vom Wert RC_MUSIC oder RC_STREAM sein.
- [i][b]RC_MUSIC[/b][/i] gibt an das es sich bei der Resource um eine Musicdatei (*.mod, *.it, *.xm ...) handelt. - [i][b]RC_STREAM[/b][/i] gibt an das es sich bei der Resource um eine Sampledatei (*.wav, *.mp3, ...) handelt. Der Rückgabewert der Funktion [i]LoadFromResourceName[/i] ist bei Erfolg [i][b]True[/b][/i] anderenfalls [i][b]False[/b][/i]. Die Resourcen müssen vom Ressourcentyp [i]RCDATA[/i] sein.
Delphi-Quellcode:
procedure TForm1.Button1Click(Sender: TObject);
begin // Load Music from Resource if not BassdllPlayer1.LoadFromResourceName('MeineModMusicDaten', RC_MUSIC) then Windows.Beep(880,150); // Start playing BassdllPlayer1.Play; end; procedure TForm1.Button2Click(Sender: TObject); begin // Load Stream from Resource if not BassdllPlayer1.LoadFromResourceName('MeineWavStreamDaten', RC_STREAM) then Windows.Beep(880,150); // Start playing BassdllPlayer1.Play; end; Die Resourcedatei (.rc) sieht dann zB. so aus:
Code:
;Resourcename | Resource Typ | Resourcefile
; MeineModMusicDaten RCDATA "Moddatei.XM" MeineWavStreamDaten RCDATA "Wavedatei.WAV" |
Re: Bass Player Komponente: TBassDLLPlayer (+ Demos)
mal eine Frage:
Gibts zu der Komponente schon irgendwo sowas wie eine Dokumentation, zu dem Einbau, Verwendung der Funktionen etc? Ansonsten würd ich mich eventuell bereit erklären, sowas anzugehen :D |
Mir ist was anderes aufgefallen (kann sein dass es in zwischen behoben ist):
Bei BassDllPlayer1.GetSongLengthAsString bekommt man nicht die Länge, sondern die aktuelle Trackposition als String. Es müsste also BassDllPlayer1.GetSongPosAsString oder so heissen, oder nicht? Gruß Mister X |
Alle Zeitangaben in WEZ +1. Es ist jetzt 15:55 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 by Thomas Breitkreuz