Page 1 of 3
How do synced modules manage parameter values?
Posted: Thu Mar 12, 2015 10:40 pm
by Perfect Human Interface
This is something I've never really thought about because I've never had to. But how do synced modules manage parameter values between them? For example, if you add float value of 2 to one module, all modules will get that 2. If you change the value it changes for all modules. But if you link a knob to it, those knob values change independently. If you change a preset name in a knob, those values change independently. This is great because it lets you develop with synced modules while being able to adjust GUI parameters independently as you should. But how does Flowstone know what to sync and not to sync?
I currently am trying to set a string value to set an inherited preset name in a module but the linked modules always get identical values. I didn't want to un-sync them for such a little thing.
Also apparently syncing modules inside of synced modules breaks. I have two sync modules, then put two new modules inside one of the original modules and synced the two new modules, and the new modules in the other original module did not sync, neither did they receive any of the changes inside the new modules from the other synced original module.

That doesn't seem unusual but it's good to know you can't nest synced modules.
In theory I guess I could use that to disassociate the string value I'm trying to change.

Re: How do synced modules manage parameter values?
Posted: Thu Mar 12, 2015 11:17 pm
by KG_is_back
The way I believe syncing works in Flowstone is, that when you have synced modules Flowstone instantly repeats every editing you make in any of them. Some actions are considered editing the module and other don't.
Editing the module is: adding/moving/removing modules and prims inside the module. Changing links in any way. Manually changing contents of some prims (namely int/float/bool/string/text prim and Code/Ruby/ASM component). Changing names of prims/modules/inputs/outputs and marking them as properties.
Actions that are not considered editing the module (and therefore do not trigger syncing) are:
Receiving inputs (including wireless inputs and mouse interaction with GUI) and editing Properties of the module (including child modules).
Re: How do synced modules manage parameter values?
Posted: Thu Mar 12, 2015 11:18 pm
by Perfect Human Interface
That's a perfect explanation!
Re: How do synced modules manage parameter values?
Posted: Fri Mar 13, 2015 1:23 am
by RJHollins
Thanks for the skoolin' KG

Re: How do synced modules manage parameter values?
Posted: Sat May 14, 2016 10:14 am
by Spogg
I've read the stuff above but I found an "issue" not mentioned here and I suspect a bug.
-I have 6 synced modules.
-I create a new sub-module with its own small front panel and copy it into one of the synced modules and connect it.
-It correctly appears instantly and functions as intended in all 6 parent modules.
The problem:
if I re-arrange (even slightly) the front panel arrangement in the new child module the child module in the other 5 don't track it correctly. The position of the labels and controls do move but to slightly different positions to the one I'm re-arranging. In this way it's not possible to set the parent front panel up correctly unless I un-sync and edit each of the six parents independently. Which is a pain, especially in my current project.
I've tried to paste in the new child module itself synced, but with the 6 parent modules not synced, and I still have the same issue when organising the child's front panel.
I've tried to paste into the synced parent with synced child modules (sync nesting) but I see from this topic that's not allowed but it does sync but with the same layout problem.
I've tried to start the pasting with the controls and labels set to snap-in grid positions but still the same issue.
I've restarted flowstone but it's reproducible.
It seems to me that front panel layout sync is broken, because it tries to sync (stuff all moves around) so it appears that it's intended to work.
So, any ideas or help? I hope it's me and I'm breaking some unwritten rule (no mention in the user guide).
If this isn't clear I can make something to upload but I thought I'd just ask first...
Cheers
Spogg
Re: How do synced modules manage parameter values?
Posted: Sat May 14, 2016 11:40 am
by tulamide
Spogg wrote:If this isn't clear I can make something to upload but I thought I'd just ask first...
Maybe an example would help.
If I understood correctly, I couldn't reproduce it. My test:
I copied "Knob - Static With Gauge" 6x from the toolbox and synchronized them. Then I created a module from "Switch" and "Switch - LED" and copied this module into the first Gauge. Then, inside of that module, I changed the layout of the new module by moving "Switch - LED" a bit to the right. It was absolutely synchronous to all the other 5 modules.
Re: How do synced modules manage parameter values?
Posted: Sat May 14, 2016 12:45 pm
by Spogg
OK I think you have understood me correctly tulamide.
I'll sort something out when I have a bit of time (busy today!). Maybe it's a specific schematic corruption (had this before) so I'll try making a test one from scratch...
Cheers
Spogg
Re: How do synced modules manage parameter values?
Posted: Sun May 15, 2016 3:22 pm
by Spogg
Well it's reproducible for me
Here's a simple schematic I knocked up with a similar architecture to the project where I first encountered this issue.
I've not really taken advantage of syncing before but I thought it would be useful for my current project but this is a deal breaker, for layout anyway.
I've put a note inside the schematic but it's pretty obvious. Can this be corrected without deleting and re-doing anything?
I feel certain this isn't as it should be...
This is in version 3.08.1
Any help or comments would be greatly appreciated!
Cheers
Spogg
Re: How do synced modules manage parameter values?
Posted: Sun May 15, 2016 3:52 pm
by Nubeat7
works as it should do here on 3.06
Re: How do synced modules manage parameter values?
Posted: Sun May 15, 2016 3:56 pm
by tulamide
Works here as well.
Nothing was changed on the sync system, so I doubt it has to do with it. But maybe someone with 3.0.8.1 can confirm?
EDIT: Added a fsm for you to play with. Go into the first adsr, look for "meter-db" and inside the view select the meter. Ctrl-drag to finetune the position and look what's displayed in the higher layers.