#include <time.h>
-#include <pbd/fastlog.h>
-#include <pbd/ringbufferNPT.h>
+#include "pbd/fastlog.h"
+#include "pbd/ringbufferNPT.h"
-#include <ardour/ardour.h>
-#include <ardour/configuration.h>
-#include <ardour/diskstream.h>
-#include <ardour/midi_playlist.h>
-#include <ardour/midi_ring_buffer.h>
-#include <ardour/midi_state_tracker.h>
-#include <ardour/utils.h>
+#include "ardour/ardour.h"
+#include "ardour/diskstream.h"
+#include "ardour/midi_playlist.h"
+#include "ardour/midi_ring_buffer.h"
+#include "ardour/midi_state_tracker.h"
+#include "ardour/utils.h"
struct tm;
float playback_buffer_load() const;
float capture_buffer_load() const;
- void get_playback(MidiBuffer& dst, nframes_t start, nframes_t end, nframes_t offset);
+ void get_playback(MidiBuffer& dst, nframes_t start, nframes_t end);
void set_record_enabled (bool yn);
int set_state(const XMLNode& node);
void monitor_input (bool);
-
- boost::shared_ptr<SMFSource> write_source () { return _write_source; }
+
+ MidiRingBuffer<nframes_t>* playback_buffer () { return _playback_buf; }
+ MidiRingBuffer<nframes_t>* capture_buffer () { return _capture_buf; }
+ boost::shared_ptr<SMFSource> write_source () { return _write_source; }
int set_destructive (bool yn); // doom!
void non_realtime_input_change ();
void non_realtime_locate (nframes_t location);
- static void set_readahed_frames( nframes_t frames_ahead ) { midi_readahead = frames_ahead; }
+ static void set_readahead_frames(nframes_t frames_ahead) { midi_readahead = frames_ahead; }
protected:
int seek (nframes_t which_sample, bool complete_refill = false);
protected:
friend class MidiTrack;
- int process (nframes_t transport_frame, nframes_t nframes, nframes_t offset, bool can_record, bool rec_monitors_input);
+ int process (nframes_t transport_frame, nframes_t nframes, bool can_record, bool rec_monitors_input);
bool commit (nframes_t nframes);
static nframes_t midi_readahead;
void engage_record_enable ();
void disengage_record_enable ();
- void check_note_onoffs(Evoral::MIDIEvent<MidiBuffer::TimeType> &event);
- void emit_pending_note_offs(MidiBuffer &dst, nframes_t time);
-
- MidiRingBuffer<MidiBuffer::TimeType>* _playback_buf;
- MidiRingBuffer<MidiBuffer::TimeType>* _capture_buf;
- MidiPort* _source_port;
- boost::shared_ptr<SMFSource> _write_source;
- nframes_t _last_flush_frame;
- NoteMode _note_mode;
- MidiStateTracker _midi_state_tracker;
- volatile gint _frames_written_to_ringbuffer;
- volatile gint _frames_read_from_ringbuffer;
+
+ MidiRingBuffer<nframes_t>* _playback_buf;
+ MidiRingBuffer<nframes_t>* _capture_buf;
+ MidiPort* _source_port;
+ boost::shared_ptr<SMFSource> _write_source;
+ nframes_t _last_flush_frame;
+ NoteMode _note_mode;
+ MidiStateTracker _midi_state_tracker;
+ MidiStateTracker _incoming_midi_state_tracker;
+ volatile gint _frames_written_to_ringbuffer;
+ volatile gint _frames_read_from_ringbuffer;
};
}; /* namespace ARDOUR */