Execution order

Official support for: xsrdo.blogspot.com
Post Reply New Topic
RELATED
PRODUCTS

Post

Is the order in which modules are inserted into a project the same as the order in which the computation of the modules while running the project will be executed?

Post

The process order is always 0 ~ num modules

From a new project start inserting modules...
0 Output Module
1 Oscillator Module
2 Patchbay Module
3 Filter Module
num modules = 4

Now delete the Patchbay Module
0 Output Module
1 Oscillator Module
2 'empty slot' Do not process
3 Filter Module
num modules = 4

Now insert a Delay Module and a Chorus Module
SynthCraft will place them in the next available empty slot
0 Output Module
1 Oscillator Module
2 Delay Module
3 Filter Module
4 Chorus Module
num modules = 5

So to answer your question
If you create a project without deleting any modules. Yes
If you delete and then insert a module. No
Because in this example you inserted the Filter Module before the Delay Module but the Delay Module will now be processed before the Filter Module as it was placed into the 'empty slot' above it.

Does this make sense.

Post

Thanks! I will print this out and apply those rules to see how it works. :)

Post

I should also say that when compiling the final plugin...

0 Output Module
1 Oscillator Module
2 'empty slot' Do not process
3 Filter Module
num modules = 4

Will be optimized into...
0 Output Module
1 Oscillator Module
2 Filter Module
num modules = 3

Post

I should also, also, say that when building the final plugin the compiler will optimize out any none functional modules, such as the Signal Analyzer Module and Comments (which are also modules) like the example above.
This could in some circumstances rearrange the execution order in the final plugin, if for instance, you made a filter.

If you want to see this in action, I can send you a debug version.

This all gets me thinking. Maybe add some modules that retain their execution order. Or perhaps an option to manually define/rearrange the execution order. Just some ideas for the future.

Kirsty :)

Post

The execution order is only relevant to me because I need an integrator (see: https://en.wikipedia.org/wiki/Integrator ) which one could build by using feedback and very small delays (of a few sample times only), but if you could add an integrator module then you will not hear me about the execution order again. :wink:

Post Reply

Return to “XSRDO - SynthCraft”