Bass-Question

Started by Chris,

Chris

Hi....I'm using Bass as 3 weeks and I must say it's one of the best Components what I ever see....(I'm delphi-Developer)
Now my Question...I want to build a Double Mp3/wma Ogg Player
+ Sample.Player) with support that the user can add EQ+Flanger+echo+hall for every Player.......what ist now the better way???
for every player one Bass Instance ?? (bass1.dll,bass2.dll)
or for every player  a channel ????
Greetings (from a at this moment very cold germany)

Chris

hedgehog

i think you can use only one instance of bass, and use basswma dll to play wma files. Use only one channel that will be created with BASS_StreamCreateFile in case of WAv/OGG or samples of with BASS_WMA_StreamCreateFile in case of WMA files. the result will be the same: a handler to a channel that you'll use to apply FX...
try something like this:

if file=wma then ch:=BASS_WMA_StreamCreateFile(..)
else ch:=BASS_StreamCreateFile(..);

BASS_ChannelSetFXPrames(ch,..);

have you 'stood??
Regards HH

Ian @ un4seen

It depends on if you want to play the sounds on separate soundcards. If you do, then multi-instance is the way to go. If you don't, then you should use a single instance (multiple channels), as it's obviously simpler :)

FX are added per channel, so that shouldn't affect your decision.

Chris

#3
Thanks for the fast Answers.......I think the better way ist multible Bass.dll`s because Some users have one soundcard other users have more Soundcards....
But.. the way....to edit all the bass.dll Declaration (its a must if i will using multible Bass Dll`s..is a long work...

Chris

hedgehog

i don't think so, if you call the 2nd dll BASS2.dll just one BASS header (.h, .pas) save it with another name (bass2.pas), in this one with a text editor choose from edit menu replace, then replace every instance of the word BASS with the word BASS2...