I managed to build Audacity from its source code in Ubuntu; and I added a few lines of printf in AudacityApp.cpp and rebuilt it.
However, I started it from a command line terminal. I don’t see my printf message. Where does it go?
Yes, I used Pi’s default OS, which is Raspberry OS; and I just followed Audacity’s build instruction in Linux folder and didn’t do any extra thing.
The only thing not so common is the audio device, and its maker only makes it work with Raspberry Pi. Other than installing Audacity, I need to install its driver.
The device has 8 channels, 6 of them for 6 real MEMS microphones, the other 2 are for loopback.
Note that the audio stream runs in a separate thread, so you can’t just print to debug from there.
Can you please point me to the cpp file that handles audio stream?
I only added one printf at somewhere in AudacityApp.cpp.
The error is thrown in the AudioIO.cpp by the following lines:
if (!std::atomic{}.is_lock_free()) {
// If this check fails, then the atomic members in AudioIO.h
// might be changed to atomic to be more efficient with some
// loss of precision. That could be conditionally compiled depending
// on the platform.
wxASSERT(false);
}
As I mentioned before, I need a device, whose maker only makes it work with Raspberry Pi.
Generally Audacity works well with the 8-channel device. We have been using it for months; and we like its UI and many features.
The problem is that it crashes when I enable “Software Playthrough”. I have posted the issue in some other thread in this forum; but didn’t get any attention.
I thought maybe I should try to debug. So I built a debug version, which even cannot start. It has nothing to do with my audio device.
Also, note that the build system has changed for the yet to be released Audacity 3.0.3. This change may help with your difficulty; it may make things worse. For help with this system, go to #linux - COMPILING AUDACITY on Audacity dev on discord: https://discord.gg/m4J4JNNK
The release build 3.0.2, which I built myself recently.
Did you get a release build to work?
In fact, in Raspberry Pi, there is a default release version of Audacity if you do “sudo apt install audacity”. It’s version is 2.2.x. My project has been using this version for months, very stable.
However, both version has the problem of crash when “Software Playthrough” is enabled.