diff --git a/gtk2_ardour/editor_drag.h b/gtk2_ardour/editor_drag.h index 72a8683599..bd43c345a2 100644 --- a/gtk2_ardour/editor_drag.h +++ b/gtk2_ardour/editor_drag.h @@ -908,6 +908,8 @@ private: bool _drag_valid; }; +#warning NUTEMPO may or may not need this in the new world +#if 0 /** tempo curve twist drag */ class TempoTwistDrag : public Drag { @@ -937,7 +939,7 @@ private: bool _drag_valid; XMLNode* _before_state; }; - +#endif /** tempo curve twist drag */ class TempoEndDrag : public Drag diff --git a/gtk2_ardour/editor_mouse.cc b/gtk2_ardour/editor_mouse.cc index 53dff82ce4..7dbf505371 100644 --- a/gtk2_ardour/editor_mouse.cc +++ b/gtk2_ardour/editor_mouse.cc @@ -817,7 +817,7 @@ Editor::button_press_handler_1 (ArdourCanvas::Item* item, GdkEvent* event, ItemT _drags->set (new CursorDrag (this, *_playhead_cursor, false), event); } else if (ArdourKeyboard::indicates_constraint (event->button.state) && Keyboard::modifier_state_contains (event->button.state, Keyboard::PrimaryModifier)) { - _drags->set (new TempoTwistDrag (this, item), event); + // _drags->set (new TempoTwistDrag (this, item), event); } else if (ArdourKeyboard::indicates_constraint (event->button.state)) { _drags->set (new BBTRulerDrag (this, item), event); } diff --git a/libs/ardour/ardour/midi_region.h b/libs/ardour/ardour/midi_region.h index ece984b8cc..31a81e7aed 100644 --- a/libs/ardour/ardour/midi_region.h +++ b/libs/ardour/ardour/midi_region.h @@ -141,8 +141,6 @@ class LIBARDOUR_API MidiRegion : public Region bool set_name (const std::string & str); - void set_start_internal (timecnt_t const &); - void model_changed (); void model_contents_changed (); void model_shifted (timecnt_t qn_distance); diff --git a/libs/temporal/tempo.cc b/libs/temporal/tempo.cc index 99cf3a4df5..f6495f5612 100644 --- a/libs/temporal/tempo.cc +++ b/libs/temporal/tempo.cc @@ -40,6 +40,7 @@ std::string Meter::xml_node_name = X_("Meter"); superclock_t Temporal::superclock_ticks_per_second = 508032000; // 2^10 * 3^4 * 5^3 * 7^2 +SerializedRCUManager TempoMap::_map_mgr (new TempoMap (Tempo (120.0), Meter (4, 4), 44100)); thread_local TempoMap::SharedPtr TempoMap::_tempo_map_p; void @@ -596,6 +597,22 @@ TempoMap::~TempoMap() { } +TempoMap::TempoMap (TempoMap const & other) + : _sample_rate (other.sample_rate()) + , _dirty (false) + , _generation (0) + , _time_domain (other.time_domain()) + , _initial_tempo (other.metric_at (0).tempo()) + , _initial_meter (other.metric_at (0).meter()) + , _initial_music_time (*this) +{ +#warning NUTEMPO since these lists are intrusive we must actually rebuild them + // _meters = other._meters; + // _bartimes = other._bartimes; + // _points = other._points; + // _tempos = other._tempos; +} + void TempoMap::set_dirty (bool yn) { diff --git a/libs/temporal/temporal/tempo.h b/libs/temporal/temporal/tempo.h index ce9b66f36f..a8d051a0ba 100644 --- a/libs/temporal/temporal/tempo.h +++ b/libs/temporal/temporal/tempo.h @@ -625,6 +625,7 @@ class LIBTEMPORAL_API TempoMap : public PBD::StatefulDestructible public: TempoMap (Tempo const & initial_tempo, Meter const & initial_meter, samplecnt_t sr); + TempoMap (TempoMap const &); ~TempoMap(); void set_dirty (bool yn);