Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[FR] Add support for multiple (stereo) output channels #9

Closed
SpotlightKid opened this issue Nov 29, 2019 · 5 comments · Fixed by #1002
Closed

[FR] Add support for multiple (stereo) output channels #9

SpotlightKid opened this issue Nov 29, 2019 · 5 comments · Fixed by #1002
Assignees
Labels
new feature Feature additions and requests
Milestone

Comments

@SpotlightKid
Copy link

Relevant opcode:

The main use case is SFZ files for drum sets, where one would want to route different drum sounds to different output channels, so they can be routed to different track in the DAW, e.g. for treating them with different effects or do custom panning.

@SpotlightKid SpotlightKid changed the title [FR] Add support for multiple (stero) output channels [FR] Add support for multiple (stereo) output channels Nov 29, 2019
@SpotlightKid
Copy link
Author

Relevant IRC discussion in #lv2:

[22:05:50] <strogon14> re sfizz, my request isn't so much about mult-channel per se,  i.e 3.1/5.1/7.1, but about routing diffent regions to different plugin outputs. the 'output' opcode for regions seems to be applicable for this: https://sfzformat.com/opcodes/output
[22:06:03] <strogon14> s/diffent/different/
[22:06:37] <strogon14> main use case would be drum set, where you want to route differnt drum sounds to different DAW channels
[22:06:41] <paulfd> ho I did not know this one
[22:07:16] <paulfd> actually that's more or less what I was thinking about adding if you wanted multi-channel so if it's already there, all the better
[22:07:26] <paulfd> yeah I see the use cases pretty well
[22:07:59] <strogon14> problem is, in LV2 you'd either need dynamic ports or various versions of the plugin with different number of audio output ports
[22:08:03] <paulfd> back to LV2 then, is there any way to adapt the number of output ports ?
[22:09:26] <strogon14> there is the dynamic manifest feature, but discovery of plugins using this feature is disabled by default in lilv . http://lv2plug.in/ns/ext/dynmanifest/dynmanifest.html
[22:09:38] <paulfd> the dynamic manifest thing seemed to be more on plugin loading than on "file" loading but maybe I read it wrong, or are you thinking about something else?
[22:11:13] <strogon14> since the ports are defined in the TTL file, with a static TTL file, the number of ports is fixed.
[22:11:42] <strogon14> Idk if there is another LV2 extension, which allows dynamic ports
[22:11:58] <paulfd> yep
[22:12:08] <paulfd> multiple versions may be the simplest
[22:12:18] <paulfd> I've seen it before on other plugins
[22:12:32] <strogon14> yes, e.g. avldrums.lv2
[22:15:09] <paulfd> done like this with per-region dispatches it should be quite doable, although the "0 to 1024" range for this parameter is a bit mean I have to say :D
[22:15:43] <paulfd> now that the LV2 interface is more or less usable I can get back to improving the engine
[22:17:29] <strogon14> I think 16 (stereo?) channels would be enough.
[22:19:31] <strogon14> maybe add a "mix" channel to multi-channel versions of the plugin where all outputs get routed to in addition to their separate outputs. the mix output would also have the output of the regions
[22:19:58] <strogon14> where the "output" opcode value is higher than the number of channels
[22:21:08] <strogon14> with LV2 you can have different plugin descriptors in the same plugin dll for different multi-channel versions (e.g. 2x, 4x, 8x, 16x)

@paulfd paulfd self-assigned this Dec 3, 2019
@redtide redtide added the new feature Feature additions and requests label Dec 14, 2019
@paulfd paulfd added this to the 0.4.0 milestone Feb 18, 2020
@paulfd paulfd modified the milestones: 0.4.0, 0.5.0 Apr 2, 2020
@SpotlightKid
Copy link
Author

Any news or new ideas on this topic?

@paulfd
Copy link
Member

paulfd commented Jun 14, 2020

In part yes. I'd like to take some time and think about how to articulate this with the effect buses (i.e. you should also somehow be able to route these busses to specific outputs, or maybe they should go the main one?). Since @jpcima studied the effects much more than I did, he probably has more insights.

@SpotlightKid
Copy link
Author

The main reason for wanting separate outputs is so you can treat them with different effects. So, IMHO, if you are using inbuilt effects, there's less need for separate outputs, i.e. you'd probably use the main outputs anyway.

As a source for inspiration: the classic Kurzweil K2000 synthesizer has a stereo "Mix" output and 4 stereo output busses ("A" - "D"). You can route each layer (akin to a region in SFZ, I guess) to one of the four busses. If there is a cable inserted in the jacks of the respective bus output, then the bus signal will be sent out there and not to the "Mix" output. If no cable is inserted, the signal of that bus will be added to the signal of the "Mix" output. The internal effects are added only to signals going to the "Mix" output.

@jpcima
Copy link
Collaborator

jpcima commented Jun 14, 2020

This possibility will be opened after implementing routing to the effects section, according to the indications of the Cakewalk book. This is issue #207.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
new feature Feature additions and requests
Projects
None yet
Development

Successfully merging a pull request may close this issue.

4 participants