How to prevent mono-to-stereo in Logic (only)?

I need to be able to disable mono-to-stereo for Logic (only), so I use the host name to detect if Logic is running when asked for supported channel layouts. That’s working in preventing running as mono-to-stereo in Logic, but it still shows up as an option in the menus. (It just gives an error if you select that one.) So my assumption is that the plugin scanner is where that menu gets its information from. Given that, I need to know the name of the “host” when the plugin is being scanned by Logic. Anyone know that name?

I always assumed that Logic runs auval during scanning, but I might be wrong

Looks like it’s “auvaltool”.

Doesn’t seem to help, though. I log what’s going on, and it detects that it’s running Logic OR auvaltool, and that it’s asking for mono-to-stereo, and we return false in that case to say we don’t support that, but still it shows up as either Mono or Mono-to-Stereo in the menus. I even trashed the plugin, logged out and back in, ran Logic without it, then built and ran Logic and forced a scan again, and I can see my log saying it rejected mono-to-stereo, but it still shows up in the menus.

Anyone know how to force Logic to reject mono-to-stereo? I can see that Melodyne does it, but how? (Melodyne’s not Juce’d, of course.)

Try changing your plugin four char code as it might be a cache issue to rule this issue out.

1 Like

Did you check, how the plugin is actually running? Some hosts (not sure about Logic) might deliver a fake stereo input, in case the plugin doesn’t support Mono to Stereo. In which case it could be offered as mono to stereo plugin, even though the processing doesn’t support that.

But I would check @otristan 's suggestion first, sounds plausible.

Looking at the AU scan (of both the ARA and non-ARA AU versions), it shows that [1,1] and [2,2] are the only listed valid channel configurations. I renamed the third field in the triad, removed the audio unit plugin cache file, rebooted, and re-ran Logic, and it still shows mono-to-stereo available in the menus, even though it won’t instantiate as mono-to-stereo, and the scan shows only mono-to-mono and stereo-to-stereo as available. I’m really lost as to what to try now.

FWIW Logic does show sometime stuff that are not supported
and this is a bug in Logic so this is maybe your issue here especially if this happens in Logic only

Working on another plugin, our QA dept. found this happening, but I could not reproduce. The Logic scan shows it only support [1-1] and [2-2], but it shows mono-to-stereo in the plugin insert list (although it will show an error trying to load it on a track).

And it’s definitely not a cache issue, because it just started happening for me, too, and I never saw it happen before on my machine, so I know I didn’t have an old version being cached that caused it. Logic is just strange.

(Btw, in this case, we want to disable it always, not just for Logic. So I used the .jucer setting for that using {1,1},{2,2} instead of the function in code to handle it. Still happens.)

We ran into this issue as well, and after finding this thread I was about to give up and simply offer mono->stereo in Logic to avoid the awkward situation where the plugin doesn’t load. But I do note that other brands have plugins where Logic only show the mono option, so it must be possible. Softube and Izotope for example.

So if anyone knows how to tell Logic not to show the mono->stereo option I’d be very interested!

EDIT: Well, it must’ve been the cache in our case because it works as expected on another machine!

We had the same thing happen. There was something cached on some machines that had the earlier version we were working on, before removing mon-to-stereo, which caused it to look like it still had that, but opening that instance failed because our code didn’t allow it.

I found it’s possible to change the configuration using the normal juce ways, but Logic won’t update its plugin metadata unless the version number of the plugin is increased or some cache files are deleted that are surprisingly hard to find. Rescanning plugins in Logic is not enough to make the new configs show up or hide - which can be really troublesome during development.

1 Like

Temporarily changing the 4-letter plugin code also works, although Logic won’t load the plugin if it’s saved in a session (since it thinks the old plugin no longer exists) – you’ll have to add the plugin back manually. (And of course you want to change it back to the original plugin code when you release.)

I can’t say I’ve tried this but you may find setting the version number to 0 has the same effect without the issue of the plugin not being replaced. Years back I was once having some issues with something about the plugin being cached and Apple told me to set the debug build of your plugins to 0 to force auval/logic to rescan which I find tends to get rid of a number of these odd caching issues.

1 Like

Unfortunately, changing the version number doesn’t work very well for QA testing while developing, because the build pipeline doesn’t lend itself to that kind of thing easily. We just kind manually trudged through resetting the cached Logic info (I don’t recall how exactly), and otherwise just ignored the fact that it might show mono-to-stereo in the menus for some of us, assuming that happens at all. After all, we only changed that setup the one time, and won’t be changing it again. It did delay us a while at first, though, when we said we had removed mon-to-stereo, but QA said “No, you didn’t!” :person_shrugging: