summaryrefslogtreecommitdiff
path: root/libs/ardour/ardour
diff options
context:
space:
mode:
Diffstat (limited to 'libs/ardour/ardour')
-rw-r--r--libs/ardour/ardour/audio_diskstream.h19
-rw-r--r--libs/ardour/ardour/audioengine.h3
-rw-r--r--libs/ardour/ardour/session.h2
3 files changed, 15 insertions, 9 deletions
diff --git a/libs/ardour/ardour/audio_diskstream.h b/libs/ardour/ardour/audio_diskstream.h
index 53dbe5bd9b..12ad418a75 100644
--- a/libs/ardour/ardour/audio_diskstream.h
+++ b/libs/ardour/ardour/audio_diskstream.h
@@ -66,17 +66,12 @@ class AudioDiskstream : public Diskstream
std::string input_source (uint32_t n=0) const {
boost::shared_ptr<ChannelList> c = channels.reader();
if (n < c->size()) {
- return (*c)[n]->source ? (*c)[n]->source->name() : "";
+ return (*c)[n]->source.name;
} else {
return "";
}
}
- Port *input_source_port (uint32_t n=0) const {
- boost::shared_ptr<ChannelList> c = channels.reader();
- if (n < c->size()) return (*c)[n]->source; return 0;
- }
-
void set_record_enabled (bool yn);
int set_destructive (bool yn);
int set_non_layered (bool yn);
@@ -179,6 +174,12 @@ class AudioDiskstream : public Diskstream
bool commit (framecnt_t nframes);
private:
+ struct ChannelSource {
+ std::string name;
+
+ bool is_physical () const;
+ void ensure_monitor_input (bool) const;
+ };
struct ChannelInfo : public boost::noncopyable {
@@ -197,8 +198,10 @@ class AudioDiskstream : public Diskstream
boost::shared_ptr<AudioFileSource> fades_source;
boost::shared_ptr<AudioFileSource> write_source;
- /// the Port that our audio data comes from
- Port *source;
+ /// information the Port that our audio data comes from
+
+ ChannelSource source;
+
Sample *current_capture_buffer;
Sample *current_playback_buffer;
diff --git a/libs/ardour/ardour/audioengine.h b/libs/ardour/ardour/audioengine.h
index e025169f0a..8e68581e12 100644
--- a/libs/ardour/ardour/audioengine.h
+++ b/libs/ardour/ardour/audioengine.h
@@ -170,6 +170,9 @@ class AudioEngine : public SessionHandlePtr
Port *register_output_port (DataType, const std::string& portname);
int unregister_port (Port &);
+ bool port_is_physical (const std::string&) const;
+ void ensure_monitor_input (const std::string&, bool) const;
+
void split_cycle (pframes_t offset);
int connect (const std::string& source, const std::string& destination);
diff --git a/libs/ardour/ardour/session.h b/libs/ardour/ardour/session.h
index c67e3d10fe..29aae1fbd4 100644
--- a/libs/ardour/ardour/session.h
+++ b/libs/ardour/ardour/session.h
@@ -1221,7 +1221,7 @@ class Session : public PBD::StatefulDestructible, public PBD::ScopedConnectionLi
void route_processors_changed (RouteProcessorChange);
bool find_route_name (std::string const &, uint32_t& id, char* name, size_t name_len, bool);
- void count_existing_route_channels (ChanCount& in, ChanCount& out);
+ void count_existing_track_channels (ChanCount& in, ChanCount& out);
void auto_connect_route (Route*,
ChanCount& existing_inputs,
ChanCount& existing_outputs,