more midi I/O debugging
authorPaul Davis <paul@linuxaudiosystems.com>
Thu, 14 Jul 2011 12:59:51 +0000 (12:59 +0000)
committerPaul Davis <paul@linuxaudiosystems.com>
Thu, 14 Jul 2011 12:59:51 +0000 (12:59 +0000)
git-svn-id: svn://localhost/ardour2/branches/3.0@9873 d708f5d6-7413-0410-9779-e7cbd77b26cf

libs/ardour/midi_diskstream.cc
libs/ardour/smf_source.cc

index 848f74ccb61895d9834d9f109950b9763f821477..ff3d5d67755d0ca38ed9e2885127990aad9a61f5 100644 (file)
@@ -911,6 +911,7 @@ MidiDiskstream::do_flush (RunContext /*context*/, bool force_flush)
                        error << string_compose(_("MidiDiskstream %1: cannot write to disk"), _id) << endmsg;
                        return -1;
                } else {
+                       cerr << "didn't write, _write_source = " << _write_source << endl;
                        _last_flush_frame = _session.transport_frame();
                }
        } else {
index cf46099a3e722e20374bb4b35087bcf775e12d50..158c9c144d66c18de5c80554f4f8d622bab495d5 100644 (file)
@@ -240,9 +240,13 @@ SMFSource::write_unlocked (MidiRingBuffer<framepos_t>& source, framepos_t positi
 
        Evoral::MIDIEvent<framepos_t> ev;
 
+       cerr << "SMFSource::write unlocked, begins writing from src buffer\n";
+
        while (true) {
                bool ret = source.peek ((uint8_t*)&time, sizeof (time));
                if (!ret || time > _last_write_end + duration) {
+                       DEBUG_TRACE (DEBUG::MidiIO, string_compose ("SMFSource::write_unlocked: dropping event @ %1 because ret %4 or it is later than %2 + %3\n",
+                                                                   time, _last_write_end, duration, ret));
                        break;
                }
 
@@ -277,11 +281,12 @@ SMFSource::write_unlocked (MidiRingBuffer<framepos_t>& source, framepos_t positi
                        continue;
                }
 
+               cerr << "SMFSource:: calling append_event_unlocked_frames()\n";
                append_event_unlocked_frames(ev, position);
        }
 
        Evoral::SMF::flush();
-       free(buf);
+       free (buf);
 
        return duration;
 }
@@ -336,6 +341,7 @@ SMFSource::append_event_unlocked_frames (const Evoral::Event<framepos_t>& ev, fr
 {
        assert(_writing);
        if (ev.size() == 0)  {
+               cerr << "SMFSource: asked to append zero-size event\n";
                return;
        }
 
@@ -545,8 +551,9 @@ SMFSource::load_model (bool lock, bool force_reload)
                have_event_id = false;
        }
 
-       _model->end_write(false);
-       _model->set_edited(false);
+       //_model->end_write (_length_beats, false, true);
+       _model->end_write (false);
+       _model->set_edited (false);
 
        _model_iter = _model->begin();
 
@@ -567,7 +574,7 @@ SMFSource::flush_midi ()
                return;
        }
 
-       Evoral::SMF::end_write();
+       Evoral::SMF::end_write ();
        /* data in the file means its no longer removable */
        mark_nonremovable ();
 }