diff --git a/libs/ardour/amp.cc b/libs/ardour/amp.cc index 478fe2cddd..4f99815feb 100644 --- a/libs/ardour/amp.cc +++ b/libs/ardour/amp.cc @@ -43,7 +43,7 @@ using namespace PBD; #define GAIN_COEFF_DELTA (1e-5) Amp::Amp (Session& s, const std::string& name, boost::shared_ptr gc, bool control_midi_also) - : Processor(s, "Amp") + : Processor(s, "Amp", Temporal::AudioTime) , _apply_gain_automation(false) , _current_gain(GAIN_COEFF_ZERO) , _current_automation_sample (INT64_MAX) diff --git a/libs/ardour/ardour/automatable.h b/libs/ardour/ardour/automatable.h index 078ff98283..ca2ee38780 100644 --- a/libs/ardour/ardour/automatable.h +++ b/libs/ardour/ardour/automatable.h @@ -50,7 +50,7 @@ class AutomationControl; class LIBARDOUR_API Automatable : virtual public Evoral::ControlSet, public Slavable { public: - Automatable(Session&); + Automatable(Session&, Temporal::TimeDomain); Automatable (const Automatable& other); virtual ~Automatable(); @@ -114,6 +114,8 @@ public: PBD::Signal0 AutomationStateChanged; + Temporal::TimeDomain time_domain() const { return _time_domain; } + protected: Session& _a_session; @@ -136,6 +138,7 @@ protected: private: PBD::ScopedConnectionList _control_connections; ///< connections to our controls' signals + Temporal::TimeDomain _time_domain; }; diff --git a/libs/ardour/ardour/automatable_sequence.h b/libs/ardour/ardour/automatable_sequence.h index f5da0889de..0522a9b727 100644 --- a/libs/ardour/ardour/automatable_sequence.h +++ b/libs/ardour/ardour/automatable_sequence.h @@ -30,9 +30,9 @@ namespace ARDOUR { template class /*LIBARDOUR_API*/ AutomatableSequence : public Automatable, public Evoral::Sequence { public: - AutomatableSequence(Session& s) + AutomatableSequence(Session& s, Temporal::TimeDomain td) : Evoral::ControlSet() - , Automatable(s) + , Automatable(s, td) , Evoral::Sequence(EventTypeMap::instance()) {} diff --git a/libs/ardour/ardour/disk_io.h b/libs/ardour/ardour/disk_io.h index ce933718fb..ba36347453 100644 --- a/libs/ardour/ardour/disk_io.h +++ b/libs/ardour/ardour/disk_io.h @@ -59,7 +59,8 @@ public: static const std::string state_node_name; - DiskIOProcessor (Session&, Track&, const std::string& name, Flag f); + DiskIOProcessor (Session&, Track&, const std::string& name, Flag f, Temporal::TimeDomain td); + virtual ~DiskIOProcessor (); static void set_buffering_parameters (BufferingPreset bp); diff --git a/libs/ardour/ardour/disk_reader.h b/libs/ardour/ardour/disk_reader.h index dca916d791..e1df603f82 100644 --- a/libs/ardour/ardour/disk_reader.h +++ b/libs/ardour/ardour/disk_reader.h @@ -41,7 +41,7 @@ template class MidiRingBuffer; class LIBARDOUR_API DiskReader : public DiskIOProcessor { public: - DiskReader (Session&, Track&, std::string const& name, DiskIOProcessor::Flag f = DiskIOProcessor::Flag (0)); + DiskReader (Session&, Track&, std::string const& name, Temporal::TimeDomain, DiskIOProcessor::Flag f = DiskIOProcessor::Flag (0)); ~DiskReader (); bool set_name (std::string const& str); diff --git a/libs/ardour/ardour/io_processor.h b/libs/ardour/ardour/io_processor.h index 5e10e501e1..d48e4d16c4 100644 --- a/libs/ardour/ardour/io_processor.h +++ b/libs/ardour/ardour/io_processor.h @@ -49,7 +49,7 @@ public: ARDOUR::DataType default_type = DataType::AUDIO, bool sendish=false); IOProcessor (Session&, boost::shared_ptr input, boost::shared_ptr output, - const std::string& proc_name, bool sendish=false); + const std::string& proc_name, Temporal::TimeDomain, bool sendish=false); virtual ~IOProcessor (); diff --git a/libs/ardour/ardour/pannable.h b/libs/ardour/ardour/pannable.h index 092946b493..1e56e7a657 100644 --- a/libs/ardour/ardour/pannable.h +++ b/libs/ardour/ardour/pannable.h @@ -39,7 +39,7 @@ class Panner; class LIBARDOUR_API Pannable : public PBD::Stateful, public Automatable, public SessionHandleRef { public: - Pannable (Session& s); + Pannable (Session& s, Temporal::TimeDomain); ~Pannable (); boost::shared_ptr pan_azimuth_control; diff --git a/libs/ardour/ardour/panner_shell.h b/libs/ardour/ardour/panner_shell.h index 2399b85990..8fed7efa40 100644 --- a/libs/ardour/ardour/panner_shell.h +++ b/libs/ardour/ardour/panner_shell.h @@ -51,7 +51,7 @@ class Pannable; class LIBARDOUR_API PannerShell : public SessionObject { public: - PannerShell (std::string name, Session&, boost::shared_ptr, bool is_send = false); + PannerShell (std::string name, Session&, boost::shared_ptr, Temporal::TimeDomain, bool is_send = false); virtual ~PannerShell (); std::string describe_parameter (Evoral::Parameter param); diff --git a/libs/ardour/ardour/presentation_info.h b/libs/ardour/ardour/presentation_info.h index 023b947730..dbcca362ae 100644 --- a/libs/ardour/ardour/presentation_info.h +++ b/libs/ardour/ardour/presentation_info.h @@ -141,6 +141,7 @@ class LIBARDOUR_API PresentationInfo : public PBD::Stateful static const Flag Route; /* mask for any route (bus or track */ static const Flag Track; /* mask to use for any track */ static const Flag Bus; /* mask to use for any bus */ + static const Flag MidiIndicatingFlags; /* MidiTrack or MidiBus */ typedef uint32_t order_t; typedef uint32_t color_t; diff --git a/libs/ardour/ardour/processor.h b/libs/ardour/ardour/processor.h index a05870e9b1..a1c194d502 100644 --- a/libs/ardour/ardour/processor.h +++ b/libs/ardour/ardour/processor.h @@ -51,7 +51,7 @@ class LIBARDOUR_API Processor : public SessionObject, public Automatable, public public: static const std::string state_node_name; - Processor(Session&, const std::string& name); + Processor(Session&, const std::string& name, Temporal::TimeDomain); Processor (const Processor& other); virtual ~Processor(); diff --git a/libs/ardour/ardour/rc_configuration.h b/libs/ardour/ardour/rc_configuration.h index 8961e9044e..2fe51ccfb6 100644 --- a/libs/ardour/ardour/rc_configuration.h +++ b/libs/ardour/ardour/rc_configuration.h @@ -24,6 +24,8 @@ #include #include +#include "temporal/types.h" + #include "ardour/libardour_visibility.h" #include "ardour/types.h" #include "ardour/utils.h" diff --git a/libs/ardour/ardour/rc_configuration_vars.h b/libs/ardour/ardour/rc_configuration_vars.h index a9261c8590..7aa9f91c1a 100644 --- a/libs/ardour/ardour/rc_configuration_vars.h +++ b/libs/ardour/ardour/rc_configuration_vars.h @@ -34,7 +34,7 @@ DO dump the config using cfgtool to system_config after modifying this file. - ./waf && gtk2_ardour/arcfg system_config +S ./waf && gtk2_ardour/arcfg system_config *****************************************************/ /* IO connection */ @@ -225,6 +225,7 @@ CONFIG_VARIABLE (double, automation_thinning_factor, "automation-thinning-factor CONFIG_VARIABLE (std::string, freesound_download_dir, "freesound-download-dir", Glib::get_home_dir() + "/Freesound/snd") CONFIG_VARIABLE (samplecnt_t, range_location_minimum, "range-location-minimum", 128) /* samples */ CONFIG_VARIABLE (EditMode, edit_mode, "edit-mode", Slide) +CONFIG_VARIABLE (Temporal::TimeDomain, default_automation_time_domain, "default-automation-time-domain", Temporal::BeatTime) /* plugin related */ diff --git a/libs/ardour/ardour/types_convert.h b/libs/ardour/ardour/types_convert.h index 9a4192d8b9..3184964350 100644 --- a/libs/ardour/ardour/types_convert.h +++ b/libs/ardour/ardour/types_convert.h @@ -25,6 +25,7 @@ #endif #include "pbd/enum_convert.h" +#include "pbd/i18n.h" #include "ardour/types.h" #include "ardour/data_type.h" diff --git a/libs/ardour/audioregion.cc b/libs/ardour/audioregion.cc index 337f96cfdb..9d20171331 100644 --- a/libs/ardour/audioregion.cc +++ b/libs/ardour/audioregion.cc @@ -247,7 +247,7 @@ AudioRegion::AudioRegion (Session& s, timecnt_t const & start, timecnt_t const : Region (s, start, len, name, DataType::AUDIO) , AUDIOREGION_STATE_DEFAULT , _envelope (Properties::envelope, boost::shared_ptr (new AutomationList (Evoral::Parameter(EnvelopeAutomation), Temporal::AudioTime))) - , _automatable (s) + , _automatable (s, Temporal::AudioTime) , _fade_in_suspended (0) , _fade_out_suspended (0) { @@ -260,7 +260,7 @@ AudioRegion::AudioRegion (const SourceList& srcs) : Region (srcs) , AUDIOREGION_STATE_DEFAULT , _envelope (Properties::envelope, boost::shared_ptr (new AutomationList (Evoral::Parameter(EnvelopeAutomation), Temporal::AudioTime))) - , _automatable(srcs[0]->session()) + , _automatable(srcs[0]->session(), Temporal::AudioTime) , _fade_in_suspended (0) , _fade_out_suspended (0) { @@ -275,7 +275,7 @@ AudioRegion::AudioRegion (boost::shared_ptr other) * to do with sources (and hence _start). So when we copy the envelope, we just use the supplied offset. */ , _envelope (Properties::envelope, boost::shared_ptr (new AutomationList (*other->_envelope.val(), timepos_t (Temporal::AudioTime), timepos_t (other->_length)))) - , _automatable (other->session()) + , _automatable (other->session(), Temporal::AudioTime) , _fade_in_suspended (0) , _fade_out_suspended (0) { @@ -297,7 +297,7 @@ AudioRegion::AudioRegion (boost::shared_ptr other, timecnt_t to do with sources (and hence _start). So when we copy the envelope, we just use the supplied offset. */ , _envelope (Properties::envelope, boost::shared_ptr (new AutomationList (*other->_envelope.val(), timepos_t (offset.samples()), timepos_t (other->_length)))) - , _automatable (other->session()) + , _automatable (other->session(), Temporal::AudioTime) , _fade_in_suspended (0) , _fade_out_suspended (0) { @@ -316,7 +316,7 @@ AudioRegion::AudioRegion (boost::shared_ptr other, const Sour : Region (boost::static_pointer_cast(other), srcs) , AUDIOREGION_COPY_STATE (other) , _envelope (Properties::envelope, boost::shared_ptr (new AutomationList (*other->_envelope.val()))) - , _automatable (other->session()) + , _automatable (other->session(), Temporal::AudioTime) , _fade_in_suspended (0) , _fade_out_suspended (0) { @@ -335,7 +335,7 @@ AudioRegion::AudioRegion (SourceList& srcs) : Region (srcs) , AUDIOREGION_STATE_DEFAULT , _envelope (Properties::envelope, boost::shared_ptr (new AutomationList(Evoral::Parameter(EnvelopeAutomation), Temporal::AudioTime))) - , _automatable(srcs[0]->session()) + , _automatable(srcs[0]->session(), Temporal::AudioTime) , _fade_in_suspended (0) , _fade_out_suspended (0) { diff --git a/libs/ardour/automatable.cc b/libs/ardour/automatable.cc index cdb7ee5c52..edc60a6481 100644 --- a/libs/ardour/automatable.cc +++ b/libs/ardour/automatable.cc @@ -59,9 +59,11 @@ bool Automatable::skip_saving_automation = false; const string Automatable::xml_node_name = X_("Automation"); -Automatable::Automatable(Session& session) - : _a_session(session) - , _automated_controls (new ControlList) +Automatable::Automatable(Session& session, Temporal::TimeDomain td) + : ControlSet () + , _a_session(session) + , _automated_controls (new ControlList ()) + , _time_domain (td) { } diff --git a/libs/ardour/capturing_processor.cc b/libs/ardour/capturing_processor.cc index f90c670fa6..a2d281e0f4 100644 --- a/libs/ardour/capturing_processor.cc +++ b/libs/ardour/capturing_processor.cc @@ -27,7 +27,7 @@ namespace ARDOUR { CapturingProcessor::CapturingProcessor (Session & session, samplecnt_t latency) - : Processor (session, X_("capture point")) + : Processor (session, X_("capture point"), Temporal::AudioTime) , block_size (AudioEngine::instance()->samples_per_cycle()) , _latency (latency) { diff --git a/libs/ardour/delayline.cc b/libs/ardour/delayline.cc index 135b3795d4..3fd3a42659 100644 --- a/libs/ardour/delayline.cc +++ b/libs/ardour/delayline.cc @@ -35,13 +35,14 @@ using namespace PBD; using namespace ARDOUR; DelayLine::DelayLine (Session& s, const std::string& name) - : Processor (s, string_compose ("latcomp-%1-%2", name, this)) - , _bsiz (0) - , _delay (0) - , _pending_delay (0) - , _roff (0) - , _woff (0) - , _pending_flush (false) +#warning NUTEMPO why audio time when this processor can handle MIDI also + : Processor (s, string_compose ("latcomp-%1-%2", name, this), Temporal::AudioTime) + , _bsiz (0) + , _delay (0) + , _pending_delay (0) + , _roff (0) + , _woff (0) + , _pending_flush (false) { } diff --git a/libs/ardour/delivery.cc b/libs/ardour/delivery.cc index b0a6479c62..e060f50b09 100644 --- a/libs/ardour/delivery.cc +++ b/libs/ardour/delivery.cc @@ -57,7 +57,7 @@ bool Delivery::panners_legal = false; Delivery::Delivery (Session& s, boost::shared_ptr io, boost::shared_ptr pannable, boost::shared_ptr mm, const string& name, Role r) - : IOProcessor(s, boost::shared_ptr(), (role_requires_output_ports (r) ? io : boost::shared_ptr()), name, (r == Send || r == Aux || r == Foldback)) + : IOProcessor(s, boost::shared_ptr(), (role_requires_output_ports (r) ? io : boost::shared_ptr()), name, Temporal::AudioTime, (r == Send || r == Aux || r == Foldback)) , _role (r) , _output_buffers (new BufferSet()) , _current_gain (GAIN_COEFF_ZERO) @@ -68,7 +68,7 @@ Delivery::Delivery (Session& s, boost::shared_ptr io, boost::shared_ptr(new PannerShell (_name, _session, pannable, is_send)); + _panshell = boost::shared_ptr(new PannerShell (_name, _session, pannable, time_domain(), is_send)); } _display_to_user = false; @@ -92,7 +92,7 @@ Delivery::Delivery (Session& s, boost::shared_ptr pannable, boost::sha if (pannable) { bool is_send = false; if (r & (Delivery::Send|Delivery::Aux|Delivery::Foldback)) is_send = true; - _panshell = boost::shared_ptr(new PannerShell (_name, _session, pannable, is_send)); + _panshell = boost::shared_ptr(new PannerShell (_name, _session, pannable, time_domain(), is_send)); } _display_to_user = false; diff --git a/libs/ardour/disk_io.cc b/libs/ardour/disk_io.cc index a71f8d3780..809e7ded3f 100644 --- a/libs/ardour/disk_io.cc +++ b/libs/ardour/disk_io.cc @@ -48,8 +48,8 @@ const string DiskIOProcessor::state_node_name = X_("DiskIOProcessor"); // PBD::Signal0 DiskIOProcessor::DiskOverrun; // PBD::Signal0 DiskIOProcessor::DiskUnderrun; -DiskIOProcessor::DiskIOProcessor (Session& s, Track& t, string const & str, Flag f) - : Processor (s, str) +DiskIOProcessor::DiskIOProcessor (Session& s, Track& t, string const & str, Flag f, Temporal::TimeDomain td) + : Processor (s, str, td) , _flags (f) , _slaved (false) , in_set_state (false) diff --git a/libs/ardour/disk_reader.cc b/libs/ardour/disk_reader.cc index f08a63f825..b9403d1b71 100644 --- a/libs/ardour/disk_reader.cc +++ b/libs/ardour/disk_reader.cc @@ -57,8 +57,8 @@ DiskReader::Declicker DiskReader::loop_declick_in; DiskReader::Declicker DiskReader::loop_declick_out; samplecnt_t DiskReader::loop_fade_length (0); -DiskReader::DiskReader (Session& s, Track& t, string const& str, DiskIOProcessor::Flag f) - : DiskIOProcessor (s, t, X_("player:") + str, f) +DiskReader::DiskReader (Session& s, Track& t, string const& str, Temporal::TimeDomain td, DiskIOProcessor::Flag f) + : DiskIOProcessor (s, t, X_("player:") + str, f, td) , overwrite_sample (0) , run_must_resolve (false) , _declick_amp (s.nominal_sample_rate ()) diff --git a/libs/ardour/disk_writer.cc b/libs/ardour/disk_writer.cc index ebb997be55..6b30e8d4a9 100644 --- a/libs/ardour/disk_writer.cc +++ b/libs/ardour/disk_writer.cc @@ -47,7 +47,7 @@ ARDOUR::samplecnt_t DiskWriter::_chunk_samples = DiskWriter::default_chunk_sampl PBD::Signal0 DiskWriter::Overrun; DiskWriter::DiskWriter (Session& s, Track& t, string const & str, DiskIOProcessor::Flag f) - : DiskIOProcessor (s, t, X_("recorder:") + str, f) + : DiskIOProcessor (s, t, X_("recorder:") + str, f, Config->get_default_automation_time_domain()) , _capture_captured (0) , _was_recording (false) , _xrun_flag (false) diff --git a/libs/ardour/io_processor.cc b/libs/ardour/io_processor.cc index 3dc6cf0c8d..7cc1235244 100644 --- a/libs/ardour/io_processor.cc +++ b/libs/ardour/io_processor.cc @@ -47,7 +47,7 @@ namespace ARDOUR { class Session; } IOProcessor::IOProcessor (Session& s, bool with_input, bool with_output, const string& proc_name, const string io_name, DataType dtype, bool sendish) - : Processor(s, proc_name) + : Processor (s, proc_name, (dtype == DataType::AUDIO ? Temporal::AudioTime : Temporal::BeatTime)) { /* these are true in this constructor whether we actually create the associated IO objects or not. @@ -71,8 +71,8 @@ IOProcessor::IOProcessor (Session& s, bool with_input, bool with_output, /* create an IOProcessor that proxies to an existing IO object */ IOProcessor::IOProcessor (Session& s, boost::shared_ptr in, boost::shared_ptr out, - const string& proc_name, bool sendish) - : Processor(s, proc_name) + const string& proc_name, Temporal::TimeDomain td, bool sendish) + : Processor(s, proc_name, td) , _input (in) , _output (out) { diff --git a/libs/ardour/meter.cc b/libs/ardour/meter.cc index 299768f831..a2ddd2626b 100644 --- a/libs/ardour/meter.cc +++ b/libs/ardour/meter.cc @@ -42,7 +42,7 @@ using namespace std; using namespace ARDOUR; PeakMeter::PeakMeter (Session& s, const std::string& name) - : Processor (s, string_compose ("meter-%1", name)) + : Processor (s, string_compose ("meter-%1", name), Temporal::AudioTime) { Kmeterdsp::init (s.nominal_sample_rate ()); Iec1ppmdsp::init (s.nominal_sample_rate ()); diff --git a/libs/ardour/midi_model.cc b/libs/ardour/midi_model.cc index 6e51fe3fa7..c5c0c0841f 100644 --- a/libs/ardour/midi_model.cc +++ b/libs/ardour/midi_model.cc @@ -59,7 +59,7 @@ using namespace ARDOUR; using namespace PBD; MidiModel::MidiModel (boost::shared_ptr s) - : AutomatableSequence(s->session()) + : AutomatableSequence (s->session(), Temporal::BeatTime) { set_midi_source (s); } diff --git a/libs/ardour/monitor_processor.cc b/libs/ardour/monitor_processor.cc index 931a53b2e5..11ae205c95 100644 --- a/libs/ardour/monitor_processor.cc +++ b/libs/ardour/monitor_processor.cc @@ -48,7 +48,7 @@ namespace ARDOUR { } MonitorProcessor::MonitorProcessor (Session& s) - : Processor (s, X_("MonitorOut")) + : Processor (s, X_("MonitorOut"), Temporal::AudioTime) , solo_cnt (0) , _monitor_active (false) diff --git a/libs/ardour/pannable.cc b/libs/ardour/pannable.cc index b5255d2fb8..1fb2ee8a52 100644 --- a/libs/ardour/pannable.cc +++ b/libs/ardour/pannable.cc @@ -39,8 +39,8 @@ using namespace std; using namespace PBD; using namespace ARDOUR; -Pannable::Pannable (Session& s) - : Automatable (s) +Pannable::Pannable (Session& s, Temporal::TimeDomain td) + : Automatable (s, td) , SessionHandleRef (s) , pan_azimuth_control (new PanControllable (s, "", this, PanAzimuthAutomation)) , pan_elevation_control (new PanControllable (s, "", this, PanElevationAutomation)) diff --git a/libs/ardour/panner_shell.cc b/libs/ardour/panner_shell.cc index 54040459d1..e24d7ce33a 100644 --- a/libs/ardour/panner_shell.cc +++ b/libs/ardour/panner_shell.cc @@ -66,7 +66,7 @@ using namespace std; using namespace ARDOUR; using namespace PBD; -PannerShell::PannerShell (string name, Session& s, boost::shared_ptr p, bool is_send) +PannerShell::PannerShell (string name, Session& s, boost::shared_ptr p, Temporal::TimeDomain td, bool is_send) : SessionObject (s, name) , _pannable_route (p) , _is_send (is_send) @@ -78,7 +78,7 @@ PannerShell::PannerShell (string name, Session& s, boost::shared_ptr p , _force_reselect (false) { if (is_send) { - _pannable_internal.reset(new Pannable (s)); + _pannable_internal.reset(new Pannable (s, td)); if (Config->get_link_send_and_route_panner()) { _panlinked = true; } else { diff --git a/libs/ardour/plugin_insert.cc b/libs/ardour/plugin_insert.cc index 960cd47d46..f8095fc81e 100644 --- a/libs/ardour/plugin_insert.cc +++ b/libs/ardour/plugin_insert.cc @@ -76,7 +76,8 @@ using namespace PBD; const string PluginInsert::port_automation_node_name = "PortAutomation"; PluginInsert::PluginInsert (Session& s, boost::shared_ptr plug) - : Processor (s, (plug ? plug->name() : string ("toBeRenamed"))) +#warning NUTEMPO why audio time when this processor can handle MIDI also + : Processor (s, (plug ? plug->name() : string ("toBeRenamed")), Temporal::AudioTime) , _sc_playback_latency (0) , _sc_capture_latency (0) , _plugin_signal_latency (0) diff --git a/libs/ardour/polarity_processor.cc b/libs/ardour/polarity_processor.cc index 737180e472..574cdb7a63 100644 --- a/libs/ardour/polarity_processor.cc +++ b/libs/ardour/polarity_processor.cc @@ -28,7 +28,7 @@ using namespace ARDOUR; using namespace PBD; PolarityProcessor::PolarityProcessor (Session& s, boost::shared_ptr control) - : Processor(s, "Polarity") + : Processor(s, "Polarity", Temporal::AudioTime) , _control (control) { } diff --git a/libs/ardour/presentation_info.cc b/libs/ardour/presentation_info.cc index 52cbaa39df..63fbe23deb 100644 --- a/libs/ardour/presentation_info.cc +++ b/libs/ardour/presentation_info.cc @@ -120,6 +120,7 @@ const PresentationInfo::Flag PresentationInfo::AllRoutes = PresentationInfo::Fla const PresentationInfo::Flag PresentationInfo::MixerRoutes = PresentationInfo::Flag (PresentationInfo::Route|PresentationInfo::MasterOut|PresentationInfo::MonitorOut); const PresentationInfo::Flag PresentationInfo::AllStripables = PresentationInfo::Flag (PresentationInfo::AllRoutes|PresentationInfo::VCA); const PresentationInfo::Flag PresentationInfo::MixerStripables = PresentationInfo::Flag (PresentationInfo::MixerRoutes|PresentationInfo::VCA); +const PresentationInfo::Flag PresentationInfo::MidiIndicatingFlags = PresentationInfo::Flag (PresentationInfo::MidiTrack|PresentationInfo::MidiBus); void PresentationInfo::make_property_quarks () diff --git a/libs/ardour/processor.cc b/libs/ardour/processor.cc index 6d9cb7275d..2d6a78c198 100644 --- a/libs/ardour/processor.cc +++ b/libs/ardour/processor.cc @@ -58,9 +58,9 @@ namespace ARDOUR { class Session; } // Always saved as Processor, but may be IOProcessor or Send in legacy sessions const string Processor::state_node_name = "Processor"; -Processor::Processor(Session& session, const string& name) +Processor::Processor(Session& session, const string& name, Temporal::TimeDomain td) : SessionObject(session, name) - , Automatable (session) + , Automatable (session, td) , _pending_active(false) , _active(false) , _next_ab_is_active(false) @@ -82,7 +82,7 @@ Processor::Processor(Session& session, const string& name) Processor::Processor (const Processor& other) : Evoral::ControlSet (other) , SessionObject (other.session(), other.name()) - , Automatable (other.session()) + , Automatable (other.session(), other.time_domain()) , Latent (other) , _pending_active(other._pending_active) , _active(other._active) diff --git a/libs/ardour/rc_configuration.cc b/libs/ardour/rc_configuration.cc index 6f09ff1c50..c7c0d7f7dd 100644 --- a/libs/ardour/rc_configuration.cc +++ b/libs/ardour/rc_configuration.cc @@ -31,6 +31,8 @@ #include "pbd/file_utils.h" #include "pbd/replace_all.h" +#include "temporal/types_convert.h" + #include "ardour/audioengine.h" #include "ardour/disk_reader.h" #include "ardour/disk_writer.h" diff --git a/libs/ardour/route.cc b/libs/ardour/route.cc index f4210c22fc..f1d26c354c 100644 --- a/libs/ardour/route.cc +++ b/libs/ardour/route.cc @@ -184,7 +184,7 @@ Route::init () /* panning */ if (!(_presentation_info.flags() & PresentationInfo::MonitorOut)) { - _pannable.reset (new Pannable (_session)); + _pannable.reset (new Pannable (_session, Config->get_default_automation_time_domain())); } /* input and output objects */ @@ -958,7 +958,7 @@ Route::add_processor_from_xml_2X (const XMLNode& node, int version) } else if (node.name() == "Send") { - boost::shared_ptr sendpan (new Pannable (_session)); + boost::shared_ptr sendpan (new Pannable (_session, Config->get_default_automation_time_domain())); processor.reset (new Send (_session, sendpan, _mute_master)); } else { diff --git a/libs/ardour/stripable.cc b/libs/ardour/stripable.cc index 6ab83c8922..b293b0e994 100644 --- a/libs/ardour/stripable.cc +++ b/libs/ardour/stripable.cc @@ -36,7 +36,7 @@ using std::string; Stripable::Stripable (Session& s, string const & name, PresentationInfo const & pi) : SessionObject (s, name) - , Automatable (s) + , Automatable (s, (pi.flags() & PresentationInfo::MidiIndicatingFlags) ? Temporal::BeatTime : Temporal::AudioTime) , _presentation_info (pi) , _active_color_picker (0) { diff --git a/libs/ardour/track.cc b/libs/ardour/track.cc index 4986965bff..171c026831 100644 --- a/libs/ardour/track.cc +++ b/libs/ardour/track.cc @@ -91,7 +91,7 @@ Track::init () DiskIOProcessor::Flag dflags = DiskIOProcessor::Recordable; - _disk_reader.reset (new DiskReader (_session, *this, name(), dflags)); + _disk_reader.reset (new DiskReader (_session, *this, name(), Config->get_default_automation_time_domain(), dflags)); _disk_reader->set_block_size (_session.get_block_size ()); _disk_reader->set_owner (this); diff --git a/libs/ardour/unknown_processor.cc b/libs/ardour/unknown_processor.cc index 23c55d843a..eddc8ef5f6 100644 --- a/libs/ardour/unknown_processor.cc +++ b/libs/ardour/unknown_processor.cc @@ -52,7 +52,7 @@ proc_type_map (std::string const& str) } UnknownProcessor::UnknownProcessor (Session& s, XMLNode const & state) - : Processor (s, "") + : Processor (s, "", Temporal::AudioTime) , _state (state) , have_ioconfig (false) , saved_input (0) diff --git a/libs/evoral/ControlSet.cc b/libs/evoral/ControlSet.cc index c9096187db..b0aba9ce9d 100644 --- a/libs/evoral/ControlSet.cc +++ b/libs/evoral/ControlSet.cc @@ -30,11 +30,11 @@ using namespace std; namespace Evoral { -ControlSet::ControlSet() +ControlSet::ControlSet () { } -ControlSet::ControlSet (const ControlSet&) +ControlSet::ControlSet (ControlSet const & other) : noncopyable () { /* derived class must copy controls */ diff --git a/libs/evoral/Sequence.cc b/libs/evoral/Sequence.cc index 5ebd252938..8e2ca9be69 100644 --- a/libs/evoral/Sequence.cc +++ b/libs/evoral/Sequence.cc @@ -86,7 +86,7 @@ Sequence