summaryrefslogtreecommitdiff
path: root/libs/evoral/src/Sequence.cpp
diff options
context:
space:
mode:
authorCarl Hetherington <carl@carlh.net>2011-04-16 15:10:25 +0000
committerCarl Hetherington <carl@carlh.net>2011-04-16 15:10:25 +0000
commit47018e771da7a4e9cb8c15e172259928d15f22a4 (patch)
tree61f054144193f66969b56e719f71514057f30741 /libs/evoral/src/Sequence.cpp
parentc437fe0f302ac0b4ccb29545cac2aa6a52e68933 (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/src/Sequence.cpp')
-rw-r--r--libs/evoral/src/Sequence.cpp4
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()) {