Handle paste from non-toggled to boolean automation track.
authornick_m <mainsbridge@gmail.com>
Fri, 30 Oct 2015 16:54:18 +0000 (03:54 +1100)
committernick_m <mainsbridge@gmail.com>
Fri, 30 Oct 2015 16:54:18 +0000 (03:54 +1100)
- sort-of fixes #6431

libs/evoral/src/ControlList.cpp

index d0e1df9ad98950ee16c0da26146e0fae15ad21f1..73c1675a6ccc9af88ac20a6830fa9f2e3f40ca3b 100644 (file)
@@ -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;