GrandOrgue / grandorgue

GrandOrgue software
Other
148 stars 40 forks source link

Added capability of playing release of percussive pipes with Pipe999HasIndependentRelease=Y https://github.com/GrandOrgue/grandorgue/issues/1385 #1828

Closed oleg68 closed 3 months ago

oleg68 commented 3 months ago

Resolves: #1385

This PR introduces the new Pipe999HasIndependentRelease and HasIndependentRelease keys. They are used only with Pipe999Percussive=Y and Percussive=Y.

The main two changes for HasIndependentRelease:

oleg68 commented 3 months ago

@larspalo I documented the capability of specifying all PipeConfig items at the Windchest section and added Percussive and HasIndependentRelease to the Organ section.

oleg68 commented 3 months ago

I think the side effect requires a separare line in changelog.md. I'll add it before merge

oleg68 commented 3 months ago

Another big change is the inheritance chain of Percussive (and HasIndependentRelease) that now go from Organ, WindchestGroup, Rank to Pipe which it didn't earlier.

My dream is to put IsTremulant to the same inheritance chain: #878

larspalo commented 3 months ago

My dream is to put IsTremulant to the same inheritance chain

I know. But as I've explained at length in #878 it's inherently a mis-use of the rank feature to define different versions of states for a single pipe as different ranks - even if it's done by some it's still wrong! A rank is by definition a (single) line of actual physical pipes.

In the technical aspects of organ construction however, the tremulant usually do belong at the windchest level, and sometimes even at the main wind supply and thus affecting the whole organ - which is why one tremulant can "affect/be added to" many windchestgroups. Normally, the tremulant affects/disturbs the wind flow to all the pipes on the windchest where it's placed simultaneously. This works fine with the synthetic tremulant model even if that needs improvement too. For the sampled tremulant it's another story... Personally, I still feel that the Pipe999IsTremulant or even better Pipe999Attack999IsTremulant is a reasonable way to model sampled tremulants as different versions of the same pipe.

oleg68 commented 3 months ago

@rousseldenis could you approve this PR?

oleg68 commented 3 months ago

@rousseldenis Pourriez-vous approuver ce PR? Merci.