xml vs macro vs program

Aaarg… yesterday the boat sunk while i was trying to compile the new version of my instrument in H6.
Ok, it consisted of two macro’s, each was individually made, then loaded within the tree as an add-on of each layer.
Everything works in H6, but once i went making the vstsound, and thus saving everything it went berzerk.
The old instruments with the same xml were overwritten too and the new program/preset lost completely it’s track.
The buttons were there, but the underlying referencing to the functions within the zone got completely cluttered.

Question: am i correct with the assumption that for every layer there must be a macro and they exist along eachother peacefully within a vstsound…is this correct ?
Is there a master macro or something that should be placed or how do they interlink ?

kind regards,

You don’t need a macro per layer and there is no master macro.

You can control any zone or layer parameter from one macro. Even that macro can have different pages using the stack element if space is an issue. If you have a control selected on the macro and select any zone/layer in the program tree, using the parameter list you can drag the parameter to the controller and the selection scope will automatically point to that program element, even if it’s not part of the layer.

The only time I would use multiple macros is if you want to have something like different Amp envelope settings per layer for example.

I still haven’t gotten around to using the library creator, so I’m not much help in that department.

If you change any layer / zone names after creating the macro, that can cause problems though.

The problem I’m finding is how to set a macro element like a know to the focused zone. I have 85 zones, one for each key as each has a different sample and I want to map cutoff to a knob. I can map cutoff for one zone but not all even though I can map a quick control to the cutoff of the focused zone which then works for every sample.

You need to change the scope for this.

Quickest way is:

Link cutoff from one zone to a knob. You’ll see something like “Zone 1.Filter.Cutoff” in the knob value box.
Click on that value to edit. It will look something like “@0:Zone 1/@id:140002”
Change @0:Zone 1 to @type:Zone

Then it targets all zones.

Change @0:Zone 1 to @type:Zone

is there some info on what exactly this means and what other choices there are on this value field ?
i assume it is “adress” zone 1 to “adress” type = zone


Maybe this will help to explain what AposMus suggested.

I have spent HOURS trying to control the filter cutoff of all my samples in a program from one knob. What a nightmare.

I have read the manual and tried groups and the scope thing but still nothing works. Is that the only way to do it? I just can’t get my head around it. Why can’t we just “group” all the Zones so they all follow one.

Is there any one that has successfully done this yet?

Connect one zone and its filter cutoff parameter. Then change it to:


Misohoza shows the way again !
Had not figured out that one yet though.
It took me also quite a while to figure out most of the id’s and it’s relation to parameters, and honestly it would make it much easier when listings were available with what id comes for what parameter on what condition. Ok it is shown in the parameter field, but these kind of settings are a bit hidden too deep to be obvious imho.

How did you figured that one out ? (@misohoza)

kind regards,

Hi Roel.

I just wrote the same thing as Aposmus suggested in a post above.

When you connect a parameter of one zone, the id of the parameter is already there so you don’t need to look it up in parameter list.

Then you only need to adapt the beginning of the connection to target all zones, not just the one you connected.

But it can also work the other way around. When you need a scope for a zone or layer itself.
Just connect any parameter, then delete the last bit (@id:…). Now you have the scope for the zone or layer.

How did you figured that one out ?

Manual, trial and error, and this forum.
It was explained by one of the devs.