From 374faa0d5c30ffeb508463777e7f7fe536273c7f Mon Sep 17 00:00:00 2001 From: Paul Davis Date: Wed, 2 Feb 2022 15:03:49 -0700 Subject: [PATCH] PatchChange: use correct hwx constants to detect/set "unset" byte values --- libs/evoral/evoral/PatchChange.h | 21 +++++++++------------ 1 file changed, 9 insertions(+), 12 deletions(-) diff --git a/libs/evoral/evoral/PatchChange.h b/libs/evoral/evoral/PatchChange.h index 4b9bc2df59..48a9a8c985 100644 --- a/libs/evoral/evoral/PatchChange.h +++ b/libs/evoral/evoral/PatchChange.h @@ -84,16 +84,16 @@ public: return *this; } void unset() { - _bank_change_msb.buffer()[1] = 0xf; /* unset */ - _bank_change_lsb.buffer()[1] = 0xf; /* unset */ - _program_change.buffer()[1] = 0xf; /* unset */ + _bank_change_msb.buffer()[1] = 0x80; /* unset */ + _bank_change_lsb.buffer()[1] = 0x80; /* unset */ + _program_change.buffer()[1] = 0x80; /* unset */ assert (!is_set()); } bool is_set() const { - return ((_bank_change_msb.buffer()[1] & 0xf) == 0) && - ((_bank_change_lsb.buffer()[1] & 0xf) == 0) && - ((_program_change.buffer()[1] & 0xf) == 0); + return ((_bank_change_msb.buffer()[1] & 0x80) == 0) && + ((_bank_change_lsb.buffer()[1] & 0x80) == 0) && + ((_program_change.buffer()[1] & 0x80) == 0); } event_id_t id () const { @@ -117,12 +117,9 @@ public: } void set_channel (uint8_t c) { - _bank_change_msb.buffer()[0] &= 0xf0; - _bank_change_msb.buffer()[0] |= c; - _bank_change_lsb.buffer()[0] &= 0xf0; - _bank_change_lsb.buffer()[0] |= c; - _program_change.buffer()[0] &= 0xf0; - _program_change.buffer()[0] |= c; + _bank_change_msb.buffer()[0] = c & 0xf; + _bank_change_lsb.buffer()[0] = c & 0xf; + _program_change.buffer()[0] = c & 0xf; } uint8_t program () const {