From: Vesa <di...@nb...> - 2014-01-12 08:54:05
|
On 01/12/2014 09:14 AM, Johannes Lorenz wrote: >> Why not instead two plugins: send plugin and return plugin. That way you >> can send anything anywhere... >> >> Also, they should have the option to send to / return from external >> sources/sinks via Jack. That alone would make LMMS 200% more powerful... > Sounds extremely powerful to me to have a send and return thing. But why do you call it plugins? I think they should not be plugged in (like external LADSPA effect plugins), but be part of the main program, shouldn't they? > > Also, I think we need to build a simple graph (if this does not already exist in the sources): They can be internal plugins, like BassEnhancer, Stereophonic Matrix or Peak controller. They are parts of the software and use LMMS internal interfaces to interface with the software, but they're still plugins. The point of making them plugins is threefold: 1) then they can be easily added to any point in any FX chain, and 2) this way there won't need to be any fundamental changes in the mechanics of LMMS, meaning that the feature can be implemented sooner, 3) this allows us to keep the simple, linear nature of LMMS FX chains, which is good in that it's easy for newbies to figure out, much easier than the mess of wires in modular synths (Psycle, Buzz) or Ardour's "route anything anywhere" matrices. > Channel 3 gets a return from an effect which has Channel 1 as input. Thus, there is a dependency between Ch 1 and Ch 3: Ch 3 can not be computed until Ch 1 has been computed (to some part). Can you agree here? > Well, that or there will be a small latency between the channels. I don't think there is such dependency resolution in LMMS, we already have peak controllers that transmit control data based on the output of one instrument/fx chain, and they can be connected anywhere. What about circular connections? (Ever try connecting a peak controller into the same instrument it listens? Try it, you can get some really fun effects that way.) Anyway, we should keep it simple, so let's just have the channels be layered in order - from smallest number to largest. That way users will know that they get better results if they connect downwards, ie. from ch1 to ch3, but may get more latency if they connect from ch3 to ch1. |