From 2de09888b6be3c0d81a1a8089b9a8e87ececa0ee Mon Sep 17 00:00:00 2001 From: Paul Davis Date: Wed, 14 Aug 2013 12:40:49 -0400 Subject: [PATCH] some const_cast<> additions for OS X where gcc believes that volatile int* means const int* --- gtk2_ardour/midi_tracer.cc | 6 +++--- libs/ardour/midi_diskstream.cc | 16 ++++++++-------- libs/gtkmm2ext/prolooks_helpers.c | 2 +- 3 files changed, 12 insertions(+), 12 deletions(-) diff --git a/gtk2_ardour/midi_tracer.cc b/gtk2_ardour/midi_tracer.cc index ba116d39aa..ea4b0c2d54 100644 --- a/gtk2_ardour/midi_tracer.cc +++ b/gtk2_ardour/midi_tracer.cc @@ -404,9 +404,9 @@ MidiTracer::tracer (Parser&, byte* msg, size_t len) fifo.write (&buf, 1); - if (g_atomic_int_get (&_update_queued) == 0) { + if (g_atomic_int_get (const_cast (&_update_queued)) == 0) { gui_context()->call_slot (invalidator (*this), boost::bind (&MidiTracer::update, this)); - g_atomic_int_inc (&_update_queued); + g_atomic_int_inc (const_cast (&_update_queued)); } } @@ -414,7 +414,7 @@ void MidiTracer::update () { bool updated = false; - g_atomic_int_dec_and_test (&_update_queued); + g_atomic_int_dec_and_test (const_cast (&_update_queued)); RefPtr buf (text.get_buffer()); diff --git a/libs/ardour/midi_diskstream.cc b/libs/ardour/midi_diskstream.cc index 088b2fcc40..66a3754e2d 100644 --- a/libs/ardour/midi_diskstream.cc +++ b/libs/ardour/midi_diskstream.cc @@ -202,8 +202,8 @@ MidiDiskstream::non_realtime_input_change () seek (_session.transport_frame()); } - g_atomic_int_set(&_frames_pending_write, 0); - g_atomic_int_set(&_num_captured_loops, 0); + g_atomic_int_set(const_cast (&_frames_pending_write), 0); + g_atomic_int_set(const_cast (&_num_captured_loops), 0); } int @@ -376,8 +376,8 @@ MidiDiskstream::process (BufferSet& bufs, framepos_t transport_frame, pframes_t } _write_source->mark_write_starting_now( capture_start_frame, capture_captured, loop_length); - g_atomic_int_set(&_frames_pending_write, 0); - g_atomic_int_set(&_num_captured_loops, 0); + g_atomic_int_set(const_cast (&_frames_pending_write), 0); + g_atomic_int_set(const_cast (&_num_captured_loops), 0); was_recording = true; } } @@ -446,7 +446,7 @@ MidiDiskstream::process (BufferSet& bufs, framepos_t transport_frame, pframes_t break; } } - g_atomic_int_add(&_frames_pending_write, nframes); + g_atomic_int_add(const_cast (&_frames_pending_write), nframes); if (buf.size() != 0) { Glib::Threads::Mutex::Lock lm (_gui_feed_buffer_mutex, Glib::Threads::TRY_LOCK); @@ -799,7 +799,7 @@ MidiDiskstream::do_flush (RunContext /*context*/, bool force_flush) return 0; } - const framecnt_t total = g_atomic_int_get(&_frames_pending_write); + const framecnt_t total = g_atomic_int_get(const_cast (&_frames_pending_write)); if (total == 0 || _capture_buf->read_space() == 0 || @@ -834,7 +834,7 @@ MidiDiskstream::do_flush (RunContext /*context*/, bool force_flush) error << string_compose(_("MidiDiskstream %1: cannot write to disk"), id()) << endmsg; return -1; } - g_atomic_int_add(&_frames_pending_write, -to_write); + g_atomic_int_add(const_cast (&_frames_pending_write), -to_write); } out: @@ -1044,7 +1044,7 @@ MidiDiskstream::transport_looped (framepos_t) the Source and/or entirely after the capture is finished. */ if (was_recording) { - g_atomic_int_add(&_num_captured_loops, 1); + g_atomic_int_add(const_cast (&_num_captured_loops), 1); } } diff --git a/libs/gtkmm2ext/prolooks_helpers.c b/libs/gtkmm2ext/prolooks_helpers.c index 1489a8cb3e..cdac2dbafe 100644 --- a/libs/gtkmm2ext/prolooks_helpers.c +++ b/libs/gtkmm2ext/prolooks_helpers.c @@ -891,7 +891,7 @@ GType prolooks_hsl_get_type (void) { gpointer prolooks_hsl_ref (gpointer instance) { ProlooksHSL* self; self = instance; - g_atomic_int_inc (&self->ref_count); + g_atomic_int_inc (&self->ref_count); return instance; }