After finally installing visual studio 2012, I decided to upgrade OF for my projects as well and moved from OF 0.7.4 to OF 0.8.0. While my project compiles fine, the ofSoundStream / ofRtAudioSoundStream implementation is no longer working for me.
Since the error message wasn’t entirely helpful, I decided to add these two lines in my new and old project:
After comparing the soundstream files and libraries with winmerge, I saw that Windows was already using rtAudio and that the library was updated from version 4.0.6 to 4.0.12.
Would anyone have a clue what might have changed and why it no longer detects any of my sound devices properly?
seems like the library was probably compiled with support only for ASIO devices, i think in windows if you are doing RT audio you should be using ASIO anyway but i would try recompiling RtAudio and checking which options it has when running the configure script. there’s probably some other types of drivers that now come disabled by default
There is a flag _WINDOWS_DS_ for DirectSound and a flag _WINDOWS_ASIO_ for ASIO.
If both are defined, I get the error in the screenshot. If I just build it with DirectSound support, it works fine here.
I’m still a bit confused though why it isn’t working with ASIO though. The GX device I’m using is a Line 6 Pod Studio GX device (USB Soundcard for connecting a guitar with low latencies) that comes with ASIO drivers (Works fine in Amplitube/Gearbox etc).
Nope, the samples build fine (they have the two flags enabled) and if I try to run the audioprobe I get this:
D:\projects\rtaudio-4.0.12\tests\Windows>audioprobe.exe
RtAudio Version 4.0.12
Compiled APIs:
Windows ASIO
Windows Direct Sound
Current API: Windows ASIO
Found 1 device(s) ...
Device Name = ASIO GX
Probe Status = Successful
Output Channels = 2
Input Channels = 4
Duplex Channels = 2
This is the default output device.
This is the default input device.
Natively supported data formats:
32-bit float
Supported sample rates = 44100 48000 88200 96000
hmm… maybe the next step is to try the code from audioProbe in the main.cpp of an OF project (in place of the typical main). Can you try that? Maybe there’s an issue with compile flags or DLLs that’s making Asio not work?
I did notice that after running those bundled samples, it did work a few times without issues on OF 0.8.0 until the next reboot. It showed the GX device as default asio device so perhaps we’re missing an additional callback or the device needs to be flagged default somehow first.