Author Topic: Bassmidi 16 point sinc interpolation + non-SSE2 CPU bug  (Read 227 times)

Falcosoft

  • Guest
Hi,
I would like to report that if you call BASS_ChannelSetAttribute(midistream, BASS_ATTRIB_MIDI_SRC, 2) on a non-SSE2 CPU (or on a CPU where SSE2 CPUID feature bit is disabled) the first call to any BASS_ChannelSetFX() or BASS_ChannelSetDSP() function never returns making the application in frozen state. Of course this bug only affects x86 version of bass since x64 version of bass does not seem to check SSE2 feature flag and rightfully supposes SSE2 is always available . I have noticed that it's enough to disable the SSE2 feature bit to trigger this bug (so SSE2 is still available but not reported). So I have concluded that there is a check in x86 Bass if SSE2 is available but the alternative code path does not seem to work. Of course SSE2 support can be checked also in the application using bass but I think a 'graceful degradation' in bass itself to e.g. 8 point sinc interpolation instead of hard freezing would be more ideal.

Thanks.

Ian @ un4seen

  • Administrator
  • Posts: 20437
Oops! Here's a BASSMIDI update that should fix that:

   www.un4seen.com/stuff/bassmidi.zip

Falcosoft

  • Guest
Thanks Ian,
I think now it's working perfectly (no freezes and 8 point sinc interpolation can be heard).