summaryrefslogtreecommitdiff
path: root/libs/ardour/ardour
diff options
context:
space:
mode:
authorPaul Davis <paul@linuxaudiosystems.com>2017-06-22 19:18:57 -0400
committerPaul Davis <paul@linuxaudiosystems.com>2017-09-18 11:40:53 -0400
commitd4280997fb1764ae0df619fbb34031bebd4b0670 (patch)
tree43a52031ea6e0eab44bdfab8efc715e15248e2b2 /libs/ardour/ardour
parent5ac7d733c2e34e6dfb3ad42d3c9a5d6169120784 (diff)
the return of MIDI recording, plus refactor to move post-capture playlist manipulations into Track
Diffstat (limited to 'libs/ardour/ardour')
-rw-r--r--libs/ardour/ardour/disk_writer.h7
-rw-r--r--libs/ardour/ardour/route.h5
-rw-r--r--libs/ardour/ardour/track.h5
-rw-r--r--libs/ardour/ardour/types.h7
4 files changed, 16 insertions, 8 deletions
diff --git a/libs/ardour/ardour/disk_writer.h b/libs/ardour/ardour/disk_writer.h
index f85eb26f11..72882e86fb 100644
--- a/libs/ardour/ardour/disk_writer.h
+++ b/libs/ardour/ardour/disk_writer.h
@@ -166,13 +166,8 @@ class LIBARDOUR_API DiskWriter : public DiskIOProcessor
framecnt_t& rec_nframes, framecnt_t& rec_offset
);
- struct CaptureInfo {
- framepos_t start;
- framecnt_t frames;
- };
-
- std::vector<CaptureInfo*> capture_info;
mutable Glib::Threads::Mutex capture_info_lock;
+ CaptureInfos capture_info;
private:
framecnt_t _input_latency;
diff --git a/libs/ardour/ardour/route.h b/libs/ardour/ardour/route.h
index d7f1ebe8a9..489ad0c6f9 100644
--- a/libs/ardour/ardour/route.h
+++ b/libs/ardour/ardour/route.h
@@ -583,8 +583,9 @@ public:
bool slaved_to (boost::shared_ptr<VCA>) const;
bool slaved () const;
-protected:
- friend class Session;
+ protected:
+ friend class Session;
+ virtual void use_captured_sources (SourceList& srcs, CaptureInfos const &) {}
void catch_up_on_solo_mute_override ();
void set_listen (bool);
diff --git a/libs/ardour/ardour/track.h b/libs/ardour/ardour/track.h
index 6c8266d63e..77755ab088 100644
--- a/libs/ardour/ardour/track.h
+++ b/libs/ardour/ardour/track.h
@@ -137,6 +137,8 @@ class LIBARDOUR_API Track : public Route, public Recordable
bool can_be_record_enabled ();
bool can_be_record_safe ();
+ void use_captured_sources (SourceList&, CaptureInfos const &);
+
void set_block_size (pframes_t);
boost::shared_ptr<Playlist> playlist ();
@@ -245,6 +247,9 @@ class LIBARDOUR_API Track : public Route, public Recordable
void set_align_choice_from_io ();
void input_changed ();
+ void use_captured_audio_sources (SourceList&, CaptureInfos const &);
+ void use_captured_midi_sources (SourceList&, CaptureInfos const &);
+
private:
void parameter_changed (std::string const & p);
diff --git a/libs/ardour/ardour/types.h b/libs/ardour/ardour/types.h
index 8358d78e9a..1f523bc8fe 100644
--- a/libs/ardour/ardour/types.h
+++ b/libs/ardour/ardour/types.h
@@ -705,6 +705,13 @@ namespace ARDOUR {
SMFTempoUse,
};
+ struct CaptureInfo {
+ framepos_t start;
+ framecnt_t frames;
+ };
+
+ typedef std::vector<CaptureInfo*> CaptureInfos;
+
} // namespace ARDOUR
static inline ARDOUR::framepos_t