* fixed bug introduced in revision 3335: Hibyte lost in channel mask when restoring state from XML
git-svn-id: svn://localhost/ardour2/branches/3.0@4356 d708f5d6-7413-0410-9779-e7cbd77b26cf
This commit is contained in:
parent
fa71e0e12a
commit
cca4f22141
|
@ -160,7 +160,7 @@ MidiMultipleChannelSelector::~MidiMultipleChannelSelector()
|
||||||
}
|
}
|
||||||
|
|
||||||
void
|
void
|
||||||
MidiMultipleChannelSelector::set_channel_mode(ChannelMode mode, uint8_t mask)
|
MidiMultipleChannelSelector::set_channel_mode(ChannelMode mode, uint16_t mask)
|
||||||
{
|
{
|
||||||
switch (mode) {
|
switch (mode) {
|
||||||
case AllChannels:
|
case AllChannels:
|
||||||
|
|
|
@ -72,7 +72,7 @@ public:
|
||||||
|
|
||||||
virtual ~MidiMultipleChannelSelector();
|
virtual ~MidiMultipleChannelSelector();
|
||||||
|
|
||||||
void set_channel_mode(ARDOUR::ChannelMode mode, uint8_t mask);
|
void set_channel_mode(ARDOUR::ChannelMode mode, uint16_t mask);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @return each bit in the returned word represents a midi channel, eg.
|
* @return each bit in the returned word represents a midi channel, eg.
|
||||||
|
|
|
@ -59,7 +59,7 @@ public:
|
||||||
* be forced to while reading.
|
* be forced to while reading.
|
||||||
*/
|
*/
|
||||||
void set_channel_mode(ChannelMode mode, uint16_t mask) {
|
void set_channel_mode(ChannelMode mode, uint16_t mask) {
|
||||||
g_atomic_int_set(&_channel_mask, ((uint16_t)mode << 16) | mask);
|
g_atomic_int_set(&_channel_mask, (uint32_t(mode) << 16) | uint32_t(mask));
|
||||||
}
|
}
|
||||||
|
|
||||||
ChannelMode get_channel_mode() const {
|
ChannelMode get_channel_mode() const {
|
||||||
|
@ -67,7 +67,7 @@ public:
|
||||||
}
|
}
|
||||||
|
|
||||||
uint16_t get_channel_mask() const {
|
uint16_t get_channel_mask() const {
|
||||||
return static_cast<ChannelMode>((g_atomic_int_get(&_channel_mask) & 0x0000FFFF));
|
return g_atomic_int_get(&_channel_mask) & 0x0000FFFF;
|
||||||
}
|
}
|
||||||
|
|
||||||
protected:
|
protected:
|
||||||
|
|
Loading…
Reference in New Issue
Block a user