better error msg about autoloop location
[ardour.git] / libs / ardour / smf_source.cc
index 1fd058dbd84347be1d9dfe165afb646b80de098a..e0462efb08137f9cb14e8004e32f3aed4e4b2d1d 100644 (file)
@@ -25,7 +25,6 @@
 #include <unistd.h>
 #include <errno.h>
 
-#include "pbd/mountpoint.h"
 #include "pbd/pathscanner.h"
 #include "pbd/stl_delete.h"
 #include "pbd/strsplit.h"
@@ -282,7 +281,7 @@ SMFSource::write_unlocked (MidiRingBuffer<framepos_t>& source, framepos_t positi
                append_event_unlocked_frames(ev, position);
        }
 
-       Evoral::SMF::flush();
+       Evoral::SMF::flush ();
        free (buf);
 
        return duration;
@@ -339,9 +338,9 @@ SMFSource::append_event_unlocked_frames (const Evoral::Event<framepos_t>& ev, fr
                return;
        }
 
-       /* printf("SMFSource: %s - append_event_unlocked_frames ID = %d time = %u, size = %u, data = ",
-               name().c_str(), ev.id(), ev.time(), ev.size());
-          for (size_t i=0; i < ev.size(); ++i) printf("%X ", ev.buffer()[i]); printf("\n");*/
+       // printf("SMFSource: %s - append_event_unlocked_frames ID = %d time = %u, size = %u, data = ",
+       // name().c_str(), ev.id(), ev.time(), ev.size());
+       // for (size_t i=0; i < ev.size(); ++i) printf("%X ", ev.buffer()[i]); printf("\n");
 
        if (ev.time() < _last_ev_time_frames) {
                cerr << "SMFSource: Warning: Skipping event with non-monotonic time" << endl;
@@ -362,7 +361,7 @@ SMFSource::append_event_unlocked_frames (const Evoral::Event<framepos_t>& ev, fr
                const Evoral::Event<double> beat_ev (ev.event_type(),
                                                     ev_time_beats,
                                                     ev.size(),
-                                                    (uint8_t*)ev.buffer());
+                                                    const_cast<uint8_t*>(ev.buffer()));
                _model->append (beat_ev, event_id);
        }
 
@@ -428,10 +427,11 @@ SMFSource::mark_streaming_write_completed ()
 void
 SMFSource::mark_midi_streaming_write_completed (Evoral::Sequence<Evoral::MusicalTime>::StuckNoteOption stuck_notes_option, Evoral::MusicalTime when)
 {
-       Glib::Mutex::Lock lm (_lock);
+       Glib::Threads::Mutex::Lock lm (_lock);
        MidiSource::mark_midi_streaming_write_completed (stuck_notes_option, when);
 
        if (!writable()) {
+               warning << string_compose ("attempt to write to unwritable SMF file %1", _path) << endmsg;
                return;
        }
 
@@ -459,9 +459,9 @@ SMFSource::load_model (bool lock, bool force_reload)
                return;
        }
 
-       boost::shared_ptr<Glib::Mutex::Lock> lm;
+       boost::shared_ptr<Glib::Threads::Mutex::Lock> lm;
        if (lock)
-               lm = boost::shared_ptr<Glib::Mutex::Lock>(new Glib::Mutex::Lock(_lock));
+               lm = boost::shared_ptr<Glib::Threads::Mutex::Lock>(new Glib::Threads::Mutex::Lock(_lock));
 
        if (_model && !force_reload) {
                return;