GrandOrgue / OdfEdit

A tool for GrandOrgue ODF edition, and Hauptwerk to GrandOrgue ODF conversion.
GNU General Public License v3.0
7 stars 1 forks source link

[Feature request] Extending NumberOfLogicalKeys #54

Open oleg68 opened 4 months ago

oleg68 commented 4 months ago

Sometimes it is necessary to extend an existent sample set to a greater number of keys.

It can be done manually but it requires a lot of actions. For example, if the existing sample set has 58 keys and we want to extend it to 61 keys, we have to add Pipe059xxx, Pipe060xxx and Pipe061xxx entries to the ODF, referencing to some existing sample files. Usually the pipes from the same rank but one octave lower are good candidates.

So the stes for each rank are:

More tweaks may be required for mixture ranks, but these steps are sufficient in most cases.

It would be great if OdfEdit could do it automatically.

This feature is desired either for one Rank or for all selected Ranks, Stops or Manuals to the desired number of keys. The feature is not required for the whole organ because Pedal and other manuals usually have different number of keys.

eturpault commented 4 months ago

Some months ago I started to implement such a feature but I put it on hold. I car resume it when I have time for that. It was completed for the Rank extension part, and in progress for the Stop and Manual. The difficulty at Manual level is to extend the keys graphical attributes. The way to use this feature would be to first select in the sections list a Rank or a Stop or a Manual, then to give to OdfEdit the MIDI note up to which to extend the selected section and its children. Why do you recommend to set a gain -5 for the extended pipes ?

larspalo commented 4 months ago

The difficulty at Manual level is to extend the keys graphical attributes.

Maybe you could just add the option to increase the pipe and key numbers without adding more display keys?

oleg68 commented 4 months ago

@eturpault

The difficulty at Manual level is to extend the keys graphical attributes.

You need more graphical elements, but OdfEdit does not (and I think it must not) create them. So could you make this as like for the rank level: reuse the existing graphical elements one octave lower?

Why do you recommend to set a gain -5 for the extended pipes ?

Because resampling samples by one octave up increases it's loudness. -5 is necessary for compensating this effect.

eturpault commented 4 months ago

Yes existing keys images must be reused for the extended keys. If the syntax Key999ImageOn/Key999ImageOff is used it is similar to pipes extensions. If the syntax ImageOn_KEYTYPE/ImageOff_KEYTYPE is used it is a little more tricky as the last KEYTYPE has to be modified. I will try to manage the extension as best as possible.

larspalo commented 4 months ago

I will try to manage the extension as best as possible

You know, the reason I suggest not adding the display keys to an extension is that the background most likely is not adapted to it, nor will the layout of other elements on the console be. Of course, it's your decision to make, but I'd personally avoid it unless an user really explicitly wants to do that and also then takes responsibility for it.

So, at the very least I'd suggest to add both the option to extend compass without adding displayed keys and with displayed extra keys if it's really asked for. But again, it's your call to make...

eturpault commented 4 months ago

Indeed the visual aspect could be strange if additional keys are displayed in a layout not made for it, you are right. If it does not prevent to play these keys with a MIDI keyboard, so it is better to not display them.

larspalo commented 4 months ago

so it is better to not display them

If you want to add the option of displaying them, that's of course ok and might indeed have use cases, but as I suggested above I think the default perhaps should be just the functional extension as I'd expect that many would use it on sample sets that would be converted from HW.

larspalo commented 4 months ago

Both the Bygdsiljum and the Norrfjärden sample set showcases the use of having different number of display keys on the panel than what the manual itself actually have as logical and accessible keys. This makes it possible to for instance play a sounding 61 key compass keyboard without changing the visuals of the displayed manual on the panel.

larspalo commented 4 months ago

So, in addition to the steps Oleg listed above, you can just add to the panel displaying the manual the original number of keys as DisplayKeys=(original number of keys) if you don't want the display to change.

eturpault commented 4 months ago

Ok, thank you for the suggestions.

prrobinson81 commented 2 weeks ago

I don’t know anything about Python programming unfortunately so I’m not sure there’s anything I can add/help with technically for this feature request, but I’d definitely like to add a +1 vote for the capability. If there’s anything I can help with from a community/testing point of view then I’d be happy to do so though.

eturpault commented 1 week ago

I am currently working on the implementation of this new feature for OdfEdit. The compass extension is working well at rank level, I am now working to do it at stop then manual level. The extension will be possible only at the right of the keyboard.

I wonder if it is interresting to give the possibility to extend also at the left of the keyboard. Has anyone an advice on this point ? It is more tricky to do as it changes the first accessible key and pipe number of the stops. I should deliver a new version of OdfEdit by mid or end of September with this new feature (and some bugs fixing).

larspalo commented 1 week ago

I wonder if it is interresting to give the possibility to extend also at the left of the keyboard. Has anyone an advice on this point ?

I'd too suspect that most users will desire the possibility to extend the range upwards, so I think you're quite correct in your priorities. It's of course possible that someone wants to create for instance sub-octave couplers that act on pipes in an octave beyond (lower than) the normal manual range, but I don't think it's nearly as likely as the upwards extension.