For me, note volume is a very minor compatibility issue when migrating a project to the new version, if that helps.  It's quick to fix volume via knob or fx channel, so if there were any negative impacts to backwards compatibility, I find volume to be relatively minor of one.  The largest impact would be instruments that specifically stack FX processors that change sounds dramatically depending on volume (i.e. Erazzor.xpf).



On Wed, Feb 26, 2014 at 4:36 PM, Tobias Doerffel <> wrote:

I'm about to deal with however
we have a little problem here. Notes at volume 100% equal MIDI events
with maximum velocity (127). For notes above 100% we can't map the
volume properly to a MIDI velocity. This leads to problems in two
areas: test notes in piano roll which are sent to the instrument track
as MIDI events and MIDI-based instruments. In both cases we can't play
notes louder than 100%. The question now is how to fix that. IMHO
there are three possible solutions:

- map volume 100% to MIDI velocity=63 and volume 200% to velocity 127.
This would make no difference for the test notes as the MIDI velocity
is mapped back to a volume with the same formula later. For MIDI-based
instruments this would lead to sound at half the volume which could be
normalized again in InstrumentTrack::processAudioBuffer() (v_scale is
doubled if n == NULL). In terms of volume things would be the same as
before except that we have a correct behaviour for notes with volume
up to 200%. The only drawback here is that instruments may sound
different at velocity=50% - imagine a good piano soundfont which would
play a less bright sound.

- make test note playback work at arbitrary volumes with a
workaround/additional information and cap velocity at 127 for
MIDI-based instruments. This would mean that any notes on e.g. an
Sf2player or VST instrument track will have a maximum volume of 100%
even if you set a higher value in piano roll.

- remove support for setting a volume > 100% for notes in piano roll
at all. Existing projects would load regularly so compatibility would
be kept. This would be the cleanest solution.

Any opinions?


Flow-based real-time traffic analytics software. Cisco certified tool.
Monitor traffic, SLAs, QoS, Medianet, WAAS etc. with NetFlow Analyzer
Customize your own dashboards, set traffic alerts and generate reports.
Network behavioral analysis & security monitoring. All-in-one tool.
LMMS-devel mailing list