diff options
author | nick_m <mainsbridge@gmail.com> | 2015-10-31 03:54:18 +1100 |
---|---|---|
committer | nick_m <mainsbridge@gmail.com> | 2015-10-31 03:54:18 +1100 |
commit | fcc626132ed4094b3e36e8b7a6ed488a227c4dcc (patch) | |
tree | 6eed5e07e57905ebacb0ab57157623e86d285a33 /libs | |
parent | 4a3413f2d46cd948d5c11ba2010f22f55d2eb55f (diff) |
Handle paste from non-toggled to boolean automation track.
- sort-of fixes #6431
Diffstat (limited to 'libs')
-rw-r--r-- | libs/evoral/src/ControlList.cpp | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/libs/evoral/src/ControlList.cpp b/libs/evoral/src/ControlList.cpp index d0e1df9ad9..73c1675a6c 100644 --- a/libs/evoral/src/ControlList.cpp +++ b/libs/evoral/src/ControlList.cpp @@ -1663,6 +1663,9 @@ ControlList::paste (const ControlList& alist, double pos, float /*times*/) value /= (src_desc.upper - src_desc.lower); // normalize range value *= (_desc.upper - _desc.lower); // scale to our range value += _desc.lower; // translate to our offset + if (_desc.toggled) { + value = (value < 0.5) ? 0.0 : 1.0; + } } _events.insert (where, new ControlEvent((*i)->when + pos, value)); end = (*i)->when + pos; |