Dplug icon indicating copy to clipboard operation
Dplug copied to clipboard

Bus concept, more semantics with channels?

Open p0nce opened this issue 9 years ago • 9 comments

Instead of N ins, M outs, a plugin would specify buses and each buses would have a (potential?) number of channels.

For VST 2.4 the bus would be flattened.

This item would require to put more knowledge of bus and channels into the client (currently they only exist in the audio callbacks), in order to implement bypass and other things in this place too.

Some things are in clients derived implementation when they should be in parent.

Hopefully this would allow to be more harmonious with how AU work, and handle mono and stereo buses likewise. The main problem is that I know next to nothing about VST3 and AAX, and that IPlug is like that for a reason.

p0nce avatar Aug 26 '16 13:08 p0nce

  • Need to know how AAX handle this first.
  • IPlug2 is like IPlug in that regard

p0nce avatar May 02 '17 08:05 p0nce

Should fix #186 first.

p0nce avatar Oct 15 '17 12:10 p0nce

AAX has a better design imho than that, it defines a format for input, a format for output, and eventually format for "aux" inputs.

p0nce avatar Dec 16 '17 17:12 p0nce

I don't think it's critical until someone wants a sidechain input.

p0nce avatar Nov 26 '18 23:11 p0nce

This is something I would like to look into more closely. On the client would this replace LegalIO or would you think LegalIO and Buses would work together?

abaga129 avatar Oct 26 '19 04:10 abaga129

LegalIO would need to be replaced by a new description

p0nce avatar Oct 26 '19 09:10 p0nce

Checklist to implement this

  • [ ] #186
  • [ ] Decide on bus semantics for Dplug:client
  • [ ] VST implementation
  • [ ] VST3 implementation
  • [ ] AU implementation
  • [ ] AAX implementation
  • [ ] LV2 implementation
  • [ ] Test, test test!!!

abaga129 avatar Oct 28 '19 03:10 abaga129

This is entirely related to a WIP implementation of "Audio Modules" in #259 (EDIT: mmm, can be left for later)

p0nce avatar Sep 10 '21 21:09 p0nce

Is there a way to do it while maintaining compat for 1-1 and 2-2 plugins? would be awesome... else it will be extra painful to have differet path for "bus" and "non-bus" clients.

Or perhaps the generic Client needs to be rewritten to be plugin format-like, and then the various clients can be ported to Client2.

p0nce avatar Dec 15 '22 13:12 p0nce