summaryrefslogtreecommitdiff
path: root/libs/ardour/ardour
diff options
context:
space:
mode:
Diffstat (limited to 'libs/ardour/ardour')
-rw-r--r--libs/ardour/ardour/delivery.h1
-rw-r--r--libs/ardour/ardour/midi_port.h5
-rw-r--r--libs/ardour/ardour/midi_track.h1
-rw-r--r--libs/ardour/ardour/port.h1
-rw-r--r--libs/ardour/ardour/processor.h1
-rw-r--r--libs/ardour/ardour/route.h1
-rw-r--r--libs/ardour/ardour/session.h1
7 files changed, 9 insertions, 2 deletions
diff --git a/libs/ardour/ardour/delivery.h b/libs/ardour/ardour/delivery.h
index 309eff8511..70016ade05 100644
--- a/libs/ardour/ardour/delivery.h
+++ b/libs/ardour/ardour/delivery.h
@@ -76,6 +76,7 @@ public:
void no_outs_cuz_we_no_monitor(bool);
void cycle_start (pframes_t);
void transport_stopped (framepos_t frame);
+ void realtime_locate ();
BufferSet& output_buffers() { return *_output_buffers; }
diff --git a/libs/ardour/ardour/midi_port.h b/libs/ardour/ardour/midi_port.h
index 9a685be4e4..69e17ca08e 100644
--- a/libs/ardour/ardour/midi_port.h
+++ b/libs/ardour/ardour/midi_port.h
@@ -43,6 +43,7 @@ class MidiPort : public Port {
void flush_buffers (pframes_t nframes, framepos_t time);
void transport_stopped ();
+ void realtime_locate ();
void reset ();
Buffer& get_buffer (pframes_t nframes) {
@@ -59,9 +60,9 @@ class MidiPort : public Port {
private:
MidiBuffer* _buffer;
bool _has_been_mixed_down;
- bool _resolve_in_process;
+ bool _resolve_required;
- MidiStateTracker _midi_state_tracker;
+ void resolve_notes (void* jack_buffer, MidiBuffer::TimeType when);
};
} // namespace ARDOUR
diff --git a/libs/ardour/ardour/midi_track.h b/libs/ardour/ardour/midi_track.h
index 35f1ab58e3..af02585529 100644
--- a/libs/ardour/ardour/midi_track.h
+++ b/libs/ardour/ardour/midi_track.h
@@ -43,6 +43,7 @@ public:
int declick, bool can_record, bool rec_monitors_input, bool& need_butler);
void realtime_handle_transport_stopped ();
+ void realtime_locate ();
void use_new_diskstream ();
void set_diskstream (boost::shared_ptr<Diskstream>);
diff --git a/libs/ardour/ardour/port.h b/libs/ardour/ardour/port.h
index 15085ec47b..5eceac5ebc 100644
--- a/libs/ardour/ardour/port.h
+++ b/libs/ardour/ardour/port.h
@@ -118,6 +118,7 @@ public:
virtual Buffer& get_buffer (pframes_t nframes) = 0;
virtual void flush_buffers (pframes_t /*nframes*/, framepos_t /*time*/) {}
virtual void transport_stopped () {}
+ virtual void realtime_locate () {}
bool physically_connected () const;
diff --git a/libs/ardour/ardour/processor.h b/libs/ardour/ardour/processor.h
index 05f7dd4fb1..d6d023d8d1 100644
--- a/libs/ardour/ardour/processor.h
+++ b/libs/ardour/ardour/processor.h
@@ -85,6 +85,7 @@ class Processor : public SessionObject, public Automatable, public Latent
virtual ChanCount output_streams() const { return _configured_output; }
virtual void realtime_handle_transport_stopped () {}
+ virtual void realtime_locate () {}
/* note: derived classes should implement state(), NOT get_state(), to allow
us to merge C++ inheritance and XML lack-of-inheritance reasonably
diff --git a/libs/ardour/ardour/route.h b/libs/ardour/ardour/route.h
index 8f2baa18f9..5dc9c9358b 100644
--- a/libs/ardour/ardour/route.h
+++ b/libs/ardour/ardour/route.h
@@ -124,6 +124,7 @@ class Route : public SessionObject, public Automatable, public RouteGroupMember,
virtual bool record_enabled() const { return false; }
virtual void nonrealtime_handle_transport_stopped (bool abort, bool did_locate, bool flush_processors);
virtual void realtime_handle_transport_stopped () {}
+ virtual void realtime_locate () {}
virtual void set_pending_declick (int);
/* end of vfunc-based API */
diff --git a/libs/ardour/ardour/session.h b/libs/ardour/ardour/session.h
index c1bd84ae46..3bda654a8e 100644
--- a/libs/ardour/ardour/session.h
+++ b/libs/ardour/ardour/session.h
@@ -1195,6 +1195,7 @@ class Session : public PBD::StatefulDestructible, public PBD::ScopedConnectionLi
void stop_transport (bool abort = false, bool clear_state = false);
void start_transport ();
void realtime_stop (bool abort, bool clear_state);
+ void realtime_locate ();
void non_realtime_start_scrub ();
void non_realtime_set_speed ();
void non_realtime_locate ();