![]() |
Bass.dll Equalizer
Hi,
ich möchte einen kleinen Equalizer mit Reverb-Funktion programmieren (wie im Beispiel). Das will ich mit der Bass.dll machen. Das Beispiel läuft irgendwie nicht, abgeleitete Klassen vom Bassdllplayer bringen auch nur Inakzeptable Ergebnisse. Wie kann ich einen Equalizer mit der Bass.dll programmieren, der aus 3 Trackbars besteht (von mir aus auch mehr) und möglichst eine Reverb-Funktion hat ? |
DP-Maintenance
Dieses Thema wurde von "alcaeus" von "Sonstige Fragen zu Delphi" nach "Multimedia" verschoben.
Wenns um Multimedia geht, warum nicht gleich dorthin? ;) |
Re: Bass.dll Equalizer
Hallo Nils,
hast du dir mal mein ![]() ![]() Dort gibt es eine eigene Equalizer-Klasse. MfG Thorsten |
Re: Bass.dll Equalizer
Welche soll ich da nehmen ?
|
Re: Bass.dll Equalizer
Naja, die erste Demo benötigt keine Graphics32-Komponenten. Wenn es dir also nur um den Equalizer und die Spezialfunktionen geht, dann reicht auch die erste Demo. Wenn du ein bischen über den Tellerrand schauen möchtest kannst du dir auch mal die neuste Version anschauen, dort sind dann auch die Visualisierungen stärker vertreten.
Der größte Unterschied zwischen den beiden Versionen besteht in der Dll-Benutzung. In der ersten Version wird diese direkt in den Speicher geladen, in der Zweiten wird eine Dll aus der EXE-ausgepackt und dann so geladen wie es Windows vorschreibt. Vorteil der ersten Variante ist dabei, dass man unendlich viele Soundkarten unanhängig voneinander ansprechen kann (in einer Anwendung! mit unendlich vielen Channels pro Soundkarte - auch ältere Soundkarten). Nachteil dieser Variante ist, dass die Sonderfunktionen wie Tempo, Pitch und Samplerate nicht eingebaut werden können, weil dafür eine weiter Dll nötig ist, die nur dann funktioniert, wenn die bass.dll so geladen wird wie es Windows vorschreibt. Deshalb gibt es jetzt die neue Version, da ist dann aber nur noch eine Soundkarte pro Anwendung möglich. Wie du siehtst ist das Thema etwas komplexer. Du must selber entscheiden was du brauchst/machen willst. MfG Thorsten |
Re: Bass.dll Equalizer
Welche Unit ist jetzt die Frage, ich habe jetzt einfach die vom zweiten Link genommen, aber welche Units sind wichtig ?
|
Re: Bass.dll Equalizer
Alle, die mit Bass* beginnen...
|
Re: Bass.dll Equalizer
Delphi-Quellcode:
Warum passiert nichts, wenn ich die TrackBar verschiebe ?
var
BassEqulisierReverb : TBassEqulisierReverb; procedure TfrmMain.FormCreate(Sender: TObject); begin BassEqulisierReverb := TBassEqulisierReverb.Create; end; procedure TfrmMain.TrackBar1Change(Sender: TObject); begin if BASS_ChannelIsActive(chan) = BASS_ACTIVE_PLAYING then begin BassEqulisierReverb.Level := TrackBar1.Position; end; end; |
Re: Bass.dll Equalizer
Hallo Nils,
das geht so nicht! Meine Klassenstruktur nimmt dir viele Sachen ab. Das funktioniert aber nur wenn du auch meine Klassen benutzt. BassPlayerU und BassChannelU sind das Grundgerüst. Wenn du alles selber machen willst, dann must du auch alles selber machen. Nur Teile meiner Klassen kannst du nicht benutzen, entweder alles oder nichts. Kontret zu deiner Frage eine Gegenfrage: Woher weiß die Reverb-Klasse welchen Channel du manipulieren willst? - Das muss initialisiert werden (das passiert automatisch, wenn du BassChannelU benutzt) |
Alle Zeitangaben in WEZ +1. Es ist jetzt 05:22 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