diff options
Diffstat (limited to 'libs/ardour/ardour/session.h')
-rw-r--r-- | libs/ardour/ardour/session.h | 30 |
1 files changed, 24 insertions, 6 deletions
diff --git a/libs/ardour/ardour/session.h b/libs/ardour/ardour/session.h index 0e1b7627be..6192fe4abd 100644 --- a/libs/ardour/ardour/session.h +++ b/libs/ardour/ardour/session.h @@ -40,10 +40,11 @@ #include <midi++/types.h> #include <midi++/mmc.h> +#include <pbd/stateful.h> + #include <ardour/ardour.h> #include <ardour/configuration.h> #include <ardour/location.h> -#include <ardour/stateful.h> #include <ardour/gain.h> #include <ardour/io.h> @@ -57,6 +58,10 @@ namespace MIDI { class Port; } +namespace PBD { + class Controllable; +} + namespace ARDOUR { class Port; @@ -274,7 +279,7 @@ class Session : public sigc::trackable, public Stateful vector<Sample*>& get_silent_buffers (uint32_t howmany); vector<Sample*>& get_send_buffers () { return _send_buffers; } - Diskstream *diskstream_by_id (id_t id); + Diskstream *diskstream_by_id (const PBD::ID& id); Diskstream *diskstream_by_name (string name); bool have_captured() const { return _have_captured; } @@ -706,7 +711,7 @@ class Session : public sigc::trackable, public Stateful AudioFileSource *create_audio_source_for_session (ARDOUR::AudioDiskstream&, uint32_t which_channel, bool destructive); - Source *get_source (ARDOUR::id_t); + Source *source_by_id (const PBD::ID&); /* playlist management */ @@ -967,7 +972,13 @@ class Session : public sigc::trackable, public Stateful static apply_gain_to_buffer_t apply_gain_to_buffer; static mix_buffers_with_gain_t mix_buffers_with_gain; static mix_buffers_no_gain_t mix_buffers_no_gain; - + + static sigc::signal<void> SendFeedback; + + /* Controllables */ + + PBD::Controllable* controllable_by_id (const PBD::ID&); + protected: friend class AudioEngine; void set_block_size (jack_nframes_t nframes); @@ -1502,7 +1513,7 @@ class Session : public sigc::trackable, public Stateful /* REGION MANAGEMENT */ mutable Glib::Mutex region_lock; - typedef map<ARDOUR::id_t,AudioRegion *> AudioRegionList; + typedef map<PBD::ID,AudioRegion *> AudioRegionList; AudioRegionList audio_regions; void region_renamed (Region *); @@ -1515,7 +1526,7 @@ class Session : public sigc::trackable, public Stateful /* SOURCES */ mutable Glib::Mutex audio_source_lock; - typedef std::map<id_t, AudioSource *> AudioSourceList; + typedef std::map<PBD::ID,AudioSource *> AudioSourceList; AudioSourceList audio_sources; @@ -1743,6 +1754,13 @@ class Session : public sigc::trackable, public Stateful LayerModel layer_model; CrossfadeModel xfade_model; + + typedef std::list<PBD::Controllable*> Controllables; + Glib::Mutex controllables_lock; + Controllables controllables; + + void add_controllable (PBD::Controllable*); + void remove_controllable (PBD::Controllable*); }; }; /* namespace ARDOUR */ |