Heikki Tauriainen <[email protected]> writes:

> (About a year ago the project team was very kind to accept some MIDI event
> handling patches of mine into the official sources, and create an issue
> for tracking their status – should this happen again, I'm happy to answer
> any questions about what I've tried to do.)
>
>
> In short, these patches will add the following three context properties
> for controlling additional MIDI parameters:
>
>     Staff.midiPanPosition   [an integer from 0 to 127]
>          Pan position (0 = hard left, 64 = center, 127 = hard right)

Should be #LEFT hard left  #CENTER center  #RIGHT  hard right.

The range is not entirely symmetric.  Pan has a fine control also where
0000 is left, 2000 is center, and 3fff is hard right.  I think I'd use
the conversion formula
round ((dir+1)*max/2)
where max is the available maximal value and round is the normal
round-to-even rule.

>     Staff.midiReverbLevel   [an integer from 0 to 127]
>          Reverb effect level (0 = no effect, 127 = full effect)
>     Staff.midiChorusLevel   [an integer from 0 to 127]
>          Chorus effect level (0 = no effect, 127 = full effect)

Effects should probably scale from 0 to 1 rather than 0 to 127.

I don't see "Balance".

> For simplicity, the integer values are simply passed directly into the
> generated MIDI files without performing any calculations on them
> (except for checking their range): for example, I didn't implement any
> scaling for the values (which admittedly differs from how MIDI volume
> is handled with midiMinimumVolume and midiMaximumVolume).

But I think that should be done.

-- 
David Kastrup


_______________________________________________
lilypond-devel mailing list
[email protected]
https://lists.gnu.org/mailman/listinfo/lilypond-devel

Reply via email to