Cardinal icon indicating copy to clipboard operation
Cardinal copied to clipboard

Feature request: additional audio IO for AU version

Open trevormeier opened this issue 3 years ago • 17 comments

It would be useful to me if the AU version of Cardinal supported 8x stereo outs. This is how I tend to work with modular, bussing various voices into the DAW for further arranging. I'm also working more and more in Quad.

Perhaps enabling the "main" plugin version for AU would be the simplest approach?

trevormeier avatar Apr 08 '22 02:04 trevormeier

AU doesn't support CV ports, so that would mean an entire custom build just for AU.

Unlikely I think.

dromer avatar Apr 08 '22 12:04 dromer

Are there only two audio outputs on VST3 as well?

In that case I'd make it a feature request for all plugin types to enable multiple audio outputs.

trevormeier avatar Apr 08 '22 15:04 trevormeier

There are 3 different VST3 plugins. Synth and FX have 2 i/o, the main Cardinal VST3 version is the same as LV2: 8 audio i/o and 10 cv i/o (+ midi).

dromer avatar Apr 08 '22 15:04 dromer

I see. Perhaps it would be possible to have the Synth & FX versions also make use of 8 audio i/o?

trevormeier avatar Apr 08 '22 15:04 trevormeier

I think this would break compatibility with a lot of DAWs. Anyway it would break compatibility for existing projects, which means its out of the question.

Maybe you can ask your DAW if they will support LV2 or VST3 instead. Otherwise my suggestion would be to break up your patch into smaller parts that you can each put on a separate track. This is also where Cardinal works best in my opinion.

dromer avatar Apr 08 '22 19:04 dromer

I’ve petitioned Apple to support other plugin formats in Logic many times. Here’s hoping, but in the meantime…

There are many other plugins that have a multi-out option. I’m not sure why that would break compatibility?

8, dreamer @.***> escreveu:

I think this would break compatibility with a lot of DAWs. Anyway it would break compatibility for existing projects, which means its out of the question.

Maybe you can ask your DAW if they will support LV2 or VST3 instead.

— Reply to this email directly, view it on GitHub, or unsubscribe. You are receiving this because you authored the thread.Message ID: @.***>

trevormeier avatar Apr 08 '22 21:04 trevormeier

Just renewing my petition for multi-out audio in Cardinal AU! I work in quad much of the time so more outputs are necessary for what I do.

trevormeier avatar May 17 '22 17:05 trevormeier

Issue is that I have never dealt with the notion of optional buses for the plugin stuff I write. Sidechain being the maximum I go for. I also do not know enough about AU and Logic to know how this really works there.

That said, if you are willing to be the "official Cardinal AU designated tester", we can just try a bunch of different things until it works right. My main worry is people reporting and asking things, then just moving away and ignoring any developments soon after. If you are willing to stick by for the long term, we can do this.

falkTX avatar May 17 '22 17:05 falkTX

I'm very happy to be a tester and to see it through to the end!

trevormeier avatar May 17 '22 18:05 trevormeier

there is no end :see_no_evil:

just pushed something that might work, wait for builds from github actions and give it a try afterwards. they usually take around 2h for macOS

falkTX avatar May 17 '22 18:05 falkTX

Looks like both build actions failed. Is there a way to get an email notification when a build passes?

trevormeier avatar May 17 '22 22:05 trevormeier

I dont know of a way for that. I only get notification if builds fail, not if they succeed. In any case, build is fixed again

falkTX avatar May 18 '22 07:05 falkTX

Tried the new build. All three AU plugins successfully pass validation in Logic (Cardinal, CardinalFX, CardinalSynth). The main Cardinal plugin is categorized as a MIDI-controlled Effect in the plugin manager, but it doesn't appear in the plugin menu when trying to load it on a track. Maybe it's sharing its plugin ID with CardinalFX?

trevormeier avatar May 18 '22 14:05 trevormeier

hmm maybe I have a copy&paste typo in https://github.com/DISTRHO/Cardinal/blob/main/jucewrapper/CMakeLists.txt#L115 but I dont see it.

related to AU category, what would be the best here?

falkTX avatar May 18 '22 16:05 falkTX

MIDI-controlled Effect is probably the best category. It allows Cardinal to be loaded as both an instrument and as an effect.

I think the problem is in the plugin bus definitions. Based on a hunch, I was able to load Cardinal (main) in Logic by setting a channel to 7.1 surround (i.e. 8 audio channels). With a 7.1 channel, Cardinal appears in the Audio FX list—but it doesn't appear when the channel has more or less than 8 channels, such as stereo or 5.1.

Typically AU plugins have a variety of channel configurations defined. For e.g. Kontakt has Mono, Stereo, Quad, and then a number Multi-Output options (8x Mono, 16x Stereo etc.) In Cardinal's case, it might make sense to have something like Stereo, Quad, and Multi-Out 4x Stereo.

A quick search showed that JUCE has support for both different bus formats (via isBusesLayoutSupported) and multi-output (via BusesProperties). There's a couple simple examples in their documentation here.

trevormeier avatar May 18 '22 19:05 trevormeier

Yeah I know about those, but to be real honest, besides the case for sidechain I have zero interest on implementing such things. multi-bus setups are a pain to implement and I have so far never needed them. so I am not going to be the one implementing this.

others are welcome to do it of course. the AU version is done with juce, so someone knowledgeable in it could just enable/disable channels, in theory.

falkTX avatar May 18 '22 20:05 falkTX

I can second the wish for multiple I/O for VST2 at least (I can live without CV I/O). It's something I used frequently in VeeSeeVSTRack too, where that was an option.

I could use VST3 but typing in it is currently a nightmare so I didn't want to rely on it for anything for the time being.

rafaelferreiraql avatar May 20 '22 02:05 rafaelferreiraql