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).

-Tres

- Tres.Finocchiaro@gmail.com


On Wed, Feb 26, 2014 at 4:36 PM, Tobias Doerffel <tobias.doerffel@gmail.com> wrote:
Hi,

I'm about to deal with https://github.com/LMMS/lmms/issues/280 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?

Toby

------------------------------------------------------------------------------
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.
http://pubads.g.doubleclick.net/gampad/clk?id=126839071&iu=/4140/ostg.clktrk
_______________________________________________
LMMS-devel mailing list
LMMS-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/lmms-devel