summaryrefslogtreecommitdiff
path: root/libs/ardour/ardour/midi_ring_buffer.h
diff options
context:
space:
mode:
authorHans Baier <hansfbaier@googlemail.com>2008-12-29 00:19:18 +0000
committerHans Baier <hansfbaier@googlemail.com>2008-12-29 00:19:18 +0000
commitcca4f22141d64afce82fd8851cde8eb8ce597c9f (patch)
treeaf288603d050a38a273763bc3fc70ba8dbf02192 /libs/ardour/ardour/midi_ring_buffer.h
parentfa71e0e12acbe0d27a618b3cfe3fa6f98f6f64ff (diff)
* 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
Diffstat (limited to 'libs/ardour/ardour/midi_ring_buffer.h')
-rw-r--r--libs/ardour/ardour/midi_ring_buffer.h4
1 files changed, 2 insertions, 2 deletions
diff --git a/libs/ardour/ardour/midi_ring_buffer.h b/libs/ardour/ardour/midi_ring_buffer.h
index ec489ee5b6..7ffdcf3b8c 100644
--- a/libs/ardour/ardour/midi_ring_buffer.h
+++ b/libs/ardour/ardour/midi_ring_buffer.h
@@ -59,7 +59,7 @@ public:
* be forced to while reading.
*/
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 {
@@ -67,7 +67,7 @@ public:
}
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: