diff options
Diffstat (limited to 'libs/ardour/ardour')
-rw-r--r-- | libs/ardour/ardour/audio_diskstream.h | 19 | ||||
-rw-r--r-- | libs/ardour/ardour/audioengine.h | 3 | ||||
-rw-r--r-- | libs/ardour/ardour/session.h | 2 |
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, |