some questions / feature suggestions
Posted: Sat Oct 20, 2018 8:20 am
Hi,
doing some experiments with the Module Designer. Nice tool overall!
Have some questions (on second thought - probably more feature requests ):
1) Is there a full API documentation somewhere? Or an option to jump to the definition of the in-built classes? Something along the lines of standard Javadoc would be fine, so we can click on links to all internal and external classes
2) Is it possible to use external code editors? The internal editor is okish but of course no match for IntelliJ&Co regarding navigation, code completion etc.
Now these are definitely feature requests
1) It would be great if we could run the inputs and outputs of our modules at different rates (either a fraction or a multiple of audio rate). So the ProcessSample function is called at the least common multiple of these rates and slower inputs/outputs would e.g. just provide n times the same value as an input or sample every nth value as an output (when n is the input/output specific relative rate). If two modules with different rates are connected they would e.g. use sample and hold for decimation or repetition as needed.
Would e.g. like to build a module with 16 cv inputs at standard audio rate and one output at 16x audio rate that sends the interleaved inputs on the output and another 1 cv input 16x audio rate input and 16 standard rate cv outputs module that multiplexes the one "multi-channel" input to 16 outputs.
Dedicated multi-channel cables (at constant audio rate) would also allow this particular use case. Multi-rate processing would be more universal though, allowing multi-channel mux/demux, control rate subnets (that only have to run at audio rate at the boundary towards the audible modules), super low aliasing subnets that run above audio rate and are only downsampled once (instead of between each module) - etc.
2) Please consider to add alignment tools inside the interface designer. Currently aligning controls is a little fiddly (had mostly to use the numerical input atm.). E:g. look at how Max allows to align the object boxes with magnetic helper lines.
Edit: Found grid and align-to-grid features - no relative alignmet but already a big relief.
3) It isn't obvious for the user that a product is not defined by the project/module name but by the package name. Initially I wanted to put several related modules into the same package. When uploading I saw that they overwrote each other. Wouldn't Module Name be the more intuitive unique product key? (Also considering that this is the name under which the module will be visible in VM).
Edit: Ok, two modules with the same name are apparently allowed (so two devs could call their module "Oscillator". Thus using the package name as unique key makes sense. Could we perhaps use the combination of package name and module name, to reduce the "surprise overwrite factor"?)
4) best add some option to delete uploaded products and builds again (at least when they are still in development state).
doing some experiments with the Module Designer. Nice tool overall!
Have some questions (on second thought - probably more feature requests ):
1) Is there a full API documentation somewhere? Or an option to jump to the definition of the in-built classes? Something along the lines of standard Javadoc would be fine, so we can click on links to all internal and external classes
2) Is it possible to use external code editors? The internal editor is okish but of course no match for IntelliJ&Co regarding navigation, code completion etc.
Now these are definitely feature requests
1) It would be great if we could run the inputs and outputs of our modules at different rates (either a fraction or a multiple of audio rate). So the ProcessSample function is called at the least common multiple of these rates and slower inputs/outputs would e.g. just provide n times the same value as an input or sample every nth value as an output (when n is the input/output specific relative rate). If two modules with different rates are connected they would e.g. use sample and hold for decimation or repetition as needed.
Would e.g. like to build a module with 16 cv inputs at standard audio rate and one output at 16x audio rate that sends the interleaved inputs on the output and another 1 cv input 16x audio rate input and 16 standard rate cv outputs module that multiplexes the one "multi-channel" input to 16 outputs.
Dedicated multi-channel cables (at constant audio rate) would also allow this particular use case. Multi-rate processing would be more universal though, allowing multi-channel mux/demux, control rate subnets (that only have to run at audio rate at the boundary towards the audible modules), super low aliasing subnets that run above audio rate and are only downsampled once (instead of between each module) - etc.
2) Please consider to add alignment tools inside the interface designer. Currently aligning controls is a little fiddly (had mostly to use the numerical input atm.). E:g. look at how Max allows to align the object boxes with magnetic helper lines.
Edit: Found grid and align-to-grid features - no relative alignmet but already a big relief.
3) It isn't obvious for the user that a product is not defined by the project/module name but by the package name. Initially I wanted to put several related modules into the same package. When uploading I saw that they overwrote each other. Wouldn't Module Name be the more intuitive unique product key? (Also considering that this is the name under which the module will be visible in VM).
Edit: Ok, two modules with the same name are apparently allowed (so two devs could call their module "Oscillator". Thus using the package name as unique key makes sense. Could we perhaps use the combination of package name and module name, to reduce the "surprise overwrite factor"?)
4) best add some option to delete uploaded products and builds again (at least when they are still in development state).