LMMS/lmms — pull request #682 by diizy (2014-05-04 19:07:39+00:00)
Title: Automation Recording

Works per-pattern:
- there is a new context-menu option in automation patternview, similar to sampletracks, labeled simply "set/clear recording" (text could be made state-aware later)
- when recording is not set, automation pattern behaves normally and "plays back" automation to connected controls
- when recording is set, automation pattern does not "play back" automation to any of the connected controls: instead, it records automation - from the first connected control only, to keep things simple
- does not matter how the control is controlled: moving the knob by hand, controlling by MIDI or even LFO/peak controllers all works equally
- recording uses the quantization setting set in automation editor, if q=1/16 then the control is sampled every 1/16th note, etc.
- redundant points are not recorded, if the input is a "straight line", only the first value is recorded
- recording does not care about the interpolation mode in the automation track, recorded values can be interpolated with any mode just like any other automation

That just about covers it. Oh, I also added a new picture to the theme, pat_rec.png, which contains a neat little rec icon + text, this is displayed on automation patterns when record mode is active. For consistency, the same icon should be used in sampletracks too, but since sampletrack recording doesn't yet work, I didn't consider it a high priority for now.

Future TODO: a convenience option should be added in the tool menu of automation tracks to switch recording on/off on all patterns on that track, so they don't have to be switched one by one