Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

YAML combinations reset default couplers #1489

Closed
kerkovits opened this issue Apr 23, 2023 · 2 comments · Fixed by #1492
Closed

YAML combinations reset default couplers #1489

kerkovits opened this issue Apr 23, 2023 · 2 comments · Fixed by #1492
Labels
bug Something isn't working
Milestone

Comments

@kerkovits
Copy link
Contributor

The Niederzwehren sampleset at http://binauralpipes.com/Niederzwehren/Kassel-Niederzwehren.zip has couplers between the first manual and the other two. As this is a coupling manual without own stops, the couplers are always engaged, and are not visible to the user.

I tried exporting YAML combinations, and imported that later on another computer. The hidden couplers became disengaged, and the lower manual produced no sound. The issue is not present if I save a CMB, and load it with 'import combinations'.

@larspalo
Copy link
Contributor

larspalo commented May 1, 2023

@oleg68 The Displayed for the structural elements of an organ is a relic from old times where the main panel was specified in the structural section. With the new panel format the main panel is [Panel000] and all structural elements default to a displayed false - but are displayed as needed on [Panel000]. So, in the old format they are not displayed - but in the new format they are displayed as they exist on [Panel000].

The reason why it's this complicated is because of keeping compatibility with older versions of specification. Also the current implementation is not fully adapted to deal with the new way of separating the displayed items as anything that is defined on the panels. The structural section is not intended to be used for any kind of display related stuff in the new format.

Any logic checking if a drawstop is displayed or not must take into account multiple things. The simple case is if Displayed=Y in the structural section like in the old format, and this works since ancient times. For the new format GO should check all of the panels (or at the very least [Panel000]) and see if an element is displayed there, if so, then they should be considered displayed even if the value of Displayed is false in the structural section.

The (only) reason to list the switches in the [Manual999] sections is to have them included in the built in divisionals of GO. As it's not immediately obvious that the CombinationsStoreNonDisplayedDrawstops might currently cancel that - I almost think that listing the switches (or stops, couplers, tremulants - etc) in the manual sections should override the [Organ] setting for divisionals.

What is your opinion on this?

@oleg68
Copy link
Contributor

oleg68 commented May 1, 2023

@larspalo I ask you to continue this discussion in #1498

@oleg68 oleg68 added the bug Something isn't working label May 3, 2023
oleg68 added a commit that referenced this issue May 3, 2023
…1489 (#1492)

* Fixed processing yaml combinations on organs with invisible couplers #1489

* Added saving GOCombination::m_IsFull in both cmb and yaml file
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Something isn't working
Projects
None yet
3 participants