X-Git-Url: https://git.carlh.net/gitweb/?a=blobdiff_plain;ds=sidebyside;f=gtk2_ardour%2Fmidi_tracer.cc;h=cbf500ff99b321df4ca4db57085044bd04f12c27;hb=5fef65538040fbac1b9edd1847a269aa925a49c9;hp=ea4b0c2d545cdaae2e87e20cebf337645689eb85;hpb=7a30e63eaad66ded1c47f5cdb2e0f28c3b0a1d4a;p=ardour.git diff --git a/gtk2_ardour/midi_tracer.cc b/gtk2_ardour/midi_tracer.cc index ea4b0c2d54..cbf500ff99 100644 --- a/gtk2_ardour/midi_tracer.cc +++ b/gtk2_ardour/midi_tracer.cc @@ -23,6 +23,9 @@ #include #include +#include "pbd/localtime_r.h" +#include "pbd/timersub.h" + #include "midi++/parser.h" #include "ardour/async_midi_port.h" @@ -40,13 +43,11 @@ using namespace Glib; MidiTracer::MidiTracer () : ArdourWindow (_("MIDI Tracer")) - , parser (0) , line_count_adjustment (200, 1, 2000, 1, 10) , line_count_spinner (line_count_adjustment) , line_count_label (_("Line history: ")) , autoscroll (true) , show_hex (true) - , collect (true) , show_delta_time (false) , _update_queued (0) , fifo (1024) @@ -212,7 +213,7 @@ MidiTracer::tracer (Parser&, byte* msg, size_t len) s = snprintf (buf, bufsize, "+%02" PRId64 ":%06" PRId64, (int64_t) delta.tv_sec, (int64_t) delta.tv_usec); bufsize -= s; } else { - localtime_r (&tv.tv_sec, &now); + localtime_r ((const time_t*)&tv.tv_sec, &now); s = strftime (buf, bufsize, "%H:%M:%S", &now); bufsize -= s; s += snprintf (&buf[s], bufsize, ".%06" PRId64, (int64_t) tv.tv_usec); @@ -402,6 +403,8 @@ MidiTracer::tracer (Parser&, byte* msg, size_t len) // If you want to append more to the line, uncomment this first // bufsize -= s; + assert(s <= buffer_size); // clang dead-assignment + fifo.write (&buf, 1); if (g_atomic_int_get (const_cast (&_update_queued)) == 0) {