AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Bass.dll Equalizer

Ein Thema von Nils_13 · begonnen am 11. Feb 2006 · letzter Beitrag vom 12. Feb 2006
Antwort Antwort
Nils_13

Registriert seit: 15. Nov 2004
2.647 Beiträge
 
#1

Bass.dll Equalizer

  Alt 11. Feb 2006, 17:36
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 ?
  Mit Zitat antworten Zitat
11. Feb 2006, 17:41
Dieses Thema wurde von "alcaeus" von "Sonstige Fragen zu Delphi" nach "Multimedia" verschoben.
Wenns um Multimedia geht, warum nicht gleich dorthin?
omata

Registriert seit: 26. Aug 2004
Ort: Nebel auf Amrum
3.154 Beiträge
 
Delphi 7 Enterprise
 
#3

Re: Bass.dll Equalizer

  Alt 11. Feb 2006, 17:43
Hallo Nils,

hast du dir mal mein Demo oder auch diese Demo (neueste Version) angesehen?
Dort gibt es eine eigene Equalizer-Klasse.

MfG
Thorsten
  Mit Zitat antworten Zitat
Nils_13

Registriert seit: 15. Nov 2004
2.647 Beiträge
 
#4

Re: Bass.dll Equalizer

  Alt 11. Feb 2006, 17:46
Welche soll ich da nehmen ?
  Mit Zitat antworten Zitat
omata

Registriert seit: 26. Aug 2004
Ort: Nebel auf Amrum
3.154 Beiträge
 
Delphi 7 Enterprise
 
#5

Re: Bass.dll Equalizer

  Alt 11. Feb 2006, 18:02
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
  Mit Zitat antworten Zitat
Nils_13

Registriert seit: 15. Nov 2004
2.647 Beiträge
 
#6

Re: Bass.dll Equalizer

  Alt 11. Feb 2006, 18:48
Welche Unit ist jetzt die Frage, ich habe jetzt einfach die vom zweiten Link genommen, aber welche Units sind wichtig ?
  Mit Zitat antworten Zitat
omata

Registriert seit: 26. Aug 2004
Ort: Nebel auf Amrum
3.154 Beiträge
 
Delphi 7 Enterprise
 
#7

Re: Bass.dll Equalizer

  Alt 11. Feb 2006, 20:07
Alle, die mit Bass* beginnen...
  Mit Zitat antworten Zitat
Nils_13

Registriert seit: 15. Nov 2004
2.647 Beiträge
 
#8

Re: Bass.dll Equalizer

  Alt 12. Feb 2006, 12:01
Delphi-Quellcode:
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;
Warum passiert nichts, wenn ich die TrackBar verschiebe ?
  Mit Zitat antworten Zitat
omata

Registriert seit: 26. Aug 2004
Ort: Nebel auf Amrum
3.154 Beiträge
 
Delphi 7 Enterprise
 
#9

Re: Bass.dll Equalizer

  Alt 12. Feb 2006, 20:28
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)
  Mit Zitat antworten Zitat
Antwort Antwort


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 09:05 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