Not really developers-related, but this is the right place to ask since among the devs there will be somebody able to reply.
Q1: Do we have pre-release modules capable of polyphony? By this I mean whether we have or not a bunch of modules capable of creating a poly synthesizer for demonstration purpose. Fundamental modules such as VCO and VCF won’t do that right now.
Q2: Do we have any expander module implemented? Who’s planning to release some?
Thanks for the feedback
Fundamental v1 isn’t finished yet, but it will support polyphony in all relevant modules before v1 is released but after the v1 API is stabilized.
Grayscale Permutation + Variant will be the first expander module, but it will be closed-source freeware, so this probably doesn’t help you. Someone will undoubtedly release something soon enough.
Ok thanks, I’ll wait for the final implementation.
Impromptu Modular (v1 branch) has implemented the new Rack expander method for all modules having expanders (PS16, PS32, Foundry, Clocked, GS64). The code is open-source for those that want to take a look, but it needs to be improved for clarity, so read at your own risk
Marc, do you know if there is a limit on the length of the arrays used for expanders?
I doubt there is a limit since from Rack’s point of view, it’s just pointers that are managed, so I don’t think there is a limit.
No limit. The two buffers are swapped every frame, but you can choose to write less frequently than that. If you do that, you should set a flag (in the consumer buffer) to denote that the message is “old” and should not be used again. Or, you can set a flag every frame in the producer buffer to denote that the message should be used or not.
Check out the v1 branch of Fundamental for examples of polyphonic modules:
Fundamental Merge, Split, VCA, and Viz are all polyphonic.
Also the v1 branch of my plugin, Computerscare Modules:
ComputerscareDebug, ComputerscareKnolyPobs are polyphonic.