Author Topic: BASSASIO Stall  (Read 68 times)

MrBlister

  • Posts: 13
BASSASIO Stall
« on: 9 Jan '23 - 13:02 »
Hi There,
I have a Bass application playing to four stereo outputs but I'm working on making an ASIO-compatible version. It's going okay except for a bug I cannot get to the bottom of - I think it's something in my Timer check routine, but I thought I'd shout out in case somebody recognises the behaviour and can offer a clue of what I'm looking for.
Single streams play/stop/pause exactly as you'd hope. However, when running multiple streams, stopping one seems to hang or pause the rest. They resume when you restart the stopped one. I have made a simple two-stereo app as a test and that works fine.
Thanks a lot,
Steve

Ian @ un4seen

  • Administrator
  • Posts: 24797
Re: BASSASIO Stall
« Reply #1 on: 9 Jan '23 - 17:10 »
How are you stopping each stream? It sounds like BASS_ASIO_Stop may be involved, as that would stop all channels on the same ASIO device. If you use BASS_ASIO_ChannelPause instead then the other channels should continue to play.

If you happen to be playing everything through a multi-channel mixer, then rather than pausing the ASIO output, you can pause the individual streams via BASS_Mixer_ChannelFlags and the BASS_MIXER_CHAN_PAUSE flag.

MrBlister

  • Posts: 13
Re: BASSASIO Stall
« Reply #2 on: 9 Jan '23 - 18:37 »
Thank you. I've been using variations on:

asioOut.Stop()
     If asioOut IsNot Nothing Then
          asioOut.Dispose()
      End If

seems to work on my sandpit version but I will certainly play with your suggestions because it does seem to fit.
Thanks again for your help.
Steve