Cabbage Logo
Back to Cabbage Site

Version 2.3.44 loses audio input

Hello again!

I’ve noticed that, occasionally, version 2.3.44 loses audio input from any selectable source in the settings. There’s level showing up on the meter right next to the selection, and the “Test” button for output works ok, but audio does not go through to the code. I even tried using the template for an effect, the one with just the gain knob, but audio won’t go through to the code, not from the built-in input, audio interfaces or software buses. I’m using macOS 10.15.4.

Version 2.3.0, though, has no issues at all with that. I’m able to run audio perfectly on the official release.

Screen Shot 2020-05-17 at 12.58.14

Hmm, I’m using 10.13.6 and I have no issues. I just tried now with the latest build and the simple template feedbacks like hell for me here. I will take a look, perhaps Apple have put some new restriction in place regarding access to the microphone although I thought I already caught an issue like this some months ago…

[edit] I just took a look through my Xcode buid settings, and I see that I have already addressed the microphone access issue that was introduced in 10.15(?). Can you try with the inbuilt mic, in my test I just use Built-In Output and Built-In mic?

It definitely does seem like a 10.15 thing. I just tried with the Built-In Microphone, and no cigar. Funny enough, every time I switch between 2.3.0 and 2.3.44, it asks for a microphone permission. It doesn’t happen if I open 2.3.0 two times in a row, or 2.3.44 two times in a row. I experienced this same issue back when I was using 10.12 (Sierra) with the 2.3.39 build as well. I hadn’t reported it, though, 'cause it seemed to go away on its own. Now, it came back, hehe.

The issue seems to be attacking the Cabbage beta builds specifically. I can still run audio on stand-alone apps and plugins built on 2.3.39 that I’ve signed and notarized according to the new Catalina standards.

However, I have had issues when administering online classes via Zoom where I suddenly lose microphone input all across the OS. Neither Zoom, nor any other app, will have a microphone input. The issue gets fixed by a restart. Nevertheless, the restart did not work with the Cabbage beta builds.

Not being able to use Cabbage with Zoom sucks. Are you trying to demo real-time effects, or just continue to steam your mic in Zoom when you have Cabbage running?

[edit] At some point in the last few months I had to change my MacOS build image in Azure to use 10.14, or maybe even 10.15, I can’t quite recall. Anyhow, I wonder if this has anything to do with the problem?

Hehe, I’ve actually been able to use Cabbage with Zoom. What I actually meant was that, sometimes, even regular apps like Audacity or Zoom lose all audio input as well. This leads me to believe it could also be a macOS thing. Restart works in those cases, though.

Maybe the build image does have to do with it. :expressionless: Quite honestly, I don’t believe even Apple has put together anything stable in terms of requirements that apps must ask for in order to work properly. It took me forever to get the Info.plist and Entitlements.plist files in my app right so that they would still ask for permissions. It seems you can get stuff notarized and fully approved, yet lose permissions once the end-user opens it if those two files are not edited exactly the way they need to be. Sucks.

Ah, good to know it works with Zoom :wink: I’ll look into it and see if I can spot the problem.

Thanks so much! You’re the best, Rory. :slight_smile:

Update! This might be related. I’ve lost all capability for cross-program busses. Soundflower, BlackHole, and Sound Siphon do not work anymore. I tried restarting, reinstalling, and nothing. It really does seem like something Catalina is doing. Maybe something changed in the way macOS handles audio streams in general.

[edit]: However, this is only in certain apps. Audacity can’t handle these busses at all. Reaper can.

[2nd edit]: An update on Audacity fixed the problem. There’s definitely something changing in the way Catalina handles audio streams.

A quick google for problems with audio in Catalina returns quite a lot of hits. I probably won’t get a chance to look into this until next week. I’m just wondering what the best way to do it is. I don’t really want to install Catalina, and I’m not sure a VM will work. I might just try tweaking the build settings in my automated build and try a few things there first.

Hey, if I can be of any help, lemme know. I can tweak settings on Catalina for you, if you need to. Running the latest Xcode as well.

Have you been able to build Cabbage yourself there? You’d need the VST2.4 SDK, which isn’t available any more…

Haven’t been able to. :confused: I get this error message.

Screen Shot 2020-05-23 at 22.42.39

I guess the unused variable is of no real concern. It can’t find a file meant for VSTs and it cannot load a JUCE diagnostics file.

It can’t find the VST2.4 SDK. But that’s not too bad for now as you are working on the main IDE and not the plugin interfaces. Opne the CabageIDE.jucer file and disable the PLUGINHOST_VST option:

Screen Shot 2020-05-24 at 11.57.00

I think that should get you past this issue at least.

Awesome! Thanks for the tip. I’ll let you know how it goes. The no-audio-input issue got miraculously fixed in 2.3.44 this morning. I switched between the built-in microphone and Soundflower, as well as opening 2.3.0 once before. I’ll try to pinpoint what fixes it when it happens next time and let you know.

ONE YEAR LATER, I FINALLY FIGURED IT OUT! :open_mouth:
I can’t believe I hadn’t thought about this earlier, but, for some reason, Cabbage sometimes randomly disconnects my code from the “audio ouput” module in the patcher. Sometimes, it reconnects it randomly as well, and, sometimes, it doesn’t. I noticed because Cabbage Lite worked, but not Cabbage itself. The only extra audio routing difference between the two was the patcher.

I don’t know why it might happen, but here are my specs:

Cabbage Version 2.8.0
MacBook Pro 2012
macOS Catalina 10.15.7

CPU: 2.9 GHz Dual-Core Intel Core i7
RAM: 16 GB 1600 MHz DDR3

Screen Shot 2021-09-10 at 19.52.06

CabbageLite to the rescue! :partying_face:

1 Like

Do you have auto-connect nodes set in the settings? I’d love to know why this happens. Can you produce it regularly? Does an error in your instrument when you recompile somehow break the connections?

CabbageLite doesn’t use an audio graph to connect disconnect nodes, so that’s why you don’t notice any issues there.

I don’t have “Automatically connect nodes to graph” enabled in the settings. Should I try doing that for a while? I bet that, if I just use Cabbage as I usually do, it’ll do it again with time. I’ve been trying to catch if there’s something that triggers it. There isn’t a change in my code that crashes the program —which would make me suspicious— right before it does it or anything too noticeable. I’ve noticed it doesn’t happen while I use Cabbage, but between instances of closing and re-opening the program.

The last time it happened, I wanted to work on some code that had worked the night before. I shut down my computer and re-opened the next morning. It didn’t even run once. That’s when I noticed the patcher thing.

I have a suspicion, though. I do usually open multiple files simultaneously, and I also hook up inter-application busses —Soundflower, in this instance— on the output, and I do so regularly. Lately, I’ve been connecting my synth to the FFT Spectrum widget in the Examples. I believe it might have something to do with finding the same audio outuput device every time it opens. The moment it doesn’t, it disconnects from the patcher. I’ll try to replicate this on purpose later today.

Screen Shot 2021-09-11 at 12.54.53

You should have Auto-connect nodes to graph enabled. Otherwise you have to manually connect the nodes yourself. It’s much easier to leave this enabled :wink:

Thanks for that! And, guess what? It was what I suspected and it is replicable. Let’s say I had connected “Audio interface X” and used it with Cabbage. If I close Cabbage, disconnect the interface, and then re-open cabbage, the nodes would be disconnected. Thanks for the tip in the preferences! That fixed the issue. Sorry I wasn’t aware of that option sooner.

1 Like