diff options
author | Carl Hetherington <carl@carlh.net> | 2011-04-16 15:10:25 +0000 |
---|---|---|
committer | Carl Hetherington <carl@carlh.net> | 2011-04-16 15:10:25 +0000 |
commit | 47018e771da7a4e9cb8c15e172259928d15f22a4 (patch) | |
tree | 61f054144193f66969b56e719f71514057f30741 /libs/evoral | |
parent | c437fe0f302ac0b4ccb29545cac2aa6a52e68933 (diff) |
Fix erroneous masking when loading bank changes (part of #3916).
git-svn-id: svn://localhost/ardour2/branches/3.0@9359 d708f5d6-7413-0410-9779-e7cbd77b26cf
Diffstat (limited to 'libs/evoral')
-rw-r--r-- | libs/evoral/src/Sequence.cpp | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/libs/evoral/src/Sequence.cpp b/libs/evoral/src/Sequence.cpp index d7ae73c056..5842e35b92 100644 --- a/libs/evoral/src/Sequence.cpp +++ b/libs/evoral/src/Sequence.cpp @@ -819,10 +819,10 @@ Sequence<Time>::append(const Event<Time>& event, event_id_t evid) } else if (ev.is_cc() && (ev.cc_number() == MIDI_CTL_MSB_BANK || ev.cc_number() == MIDI_CTL_LSB_BANK)) { /* note bank numbers in our _bank[] array, so that we can write an event when the program change arrives */ if (ev.cc_number() == MIDI_CTL_MSB_BANK) { - _bank[ev.channel()] &= (0x7f << 7); + _bank[ev.channel()] &= ~(0x7f << 7); _bank[ev.channel()] |= ev.cc_value() << 7; } else { - _bank[ev.channel()] &= 0x7f; + _bank[ev.channel()] &= ~0x7f; _bank[ev.channel()] |= ev.cc_value(); } } else if (ev.is_cc()) { |