changes to get program to actually run (missing symbols)

Still crashes at startup due to static initialization of initial tempo map.
This commit is contained in:
Paul Davis 2020-11-19 09:03:28 -07:00
parent 0d41f87f4b
commit 534c08074d
5 changed files with 22 additions and 4 deletions

View file

@ -908,6 +908,8 @@ private:
bool _drag_valid; bool _drag_valid;
}; };
#warning NUTEMPO may or may not need this in the new world
#if 0
/** tempo curve twist drag */ /** tempo curve twist drag */
class TempoTwistDrag : public Drag class TempoTwistDrag : public Drag
{ {
@ -937,7 +939,7 @@ private:
bool _drag_valid; bool _drag_valid;
XMLNode* _before_state; XMLNode* _before_state;
}; };
#endif
/** tempo curve twist drag */ /** tempo curve twist drag */
class TempoEndDrag : public Drag class TempoEndDrag : public Drag

View file

@ -817,7 +817,7 @@ Editor::button_press_handler_1 (ArdourCanvas::Item* item, GdkEvent* event, ItemT
_drags->set (new CursorDrag (this, *_playhead_cursor, false), event); _drags->set (new CursorDrag (this, *_playhead_cursor, false), event);
} else if (ArdourKeyboard::indicates_constraint (event->button.state) } else if (ArdourKeyboard::indicates_constraint (event->button.state)
&& Keyboard::modifier_state_contains (event->button.state, Keyboard::PrimaryModifier)) { && 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)) { } else if (ArdourKeyboard::indicates_constraint (event->button.state)) {
_drags->set (new BBTRulerDrag (this, item), event); _drags->set (new BBTRulerDrag (this, item), event);
} }

View file

@ -141,8 +141,6 @@ class LIBARDOUR_API MidiRegion : public Region
bool set_name (const std::string & str); bool set_name (const std::string & str);
void set_start_internal (timecnt_t const &);
void model_changed (); void model_changed ();
void model_contents_changed (); void model_contents_changed ();
void model_shifted (timecnt_t qn_distance); void model_shifted (timecnt_t qn_distance);

View file

@ -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 superclock_t Temporal::superclock_ticks_per_second = 508032000; // 2^10 * 3^4 * 5^3 * 7^2
SerializedRCUManager<TempoMap> TempoMap::_map_mgr (new TempoMap (Tempo (120.0), Meter (4, 4), 44100));
thread_local TempoMap::SharedPtr TempoMap::_tempo_map_p; thread_local TempoMap::SharedPtr TempoMap::_tempo_map_p;
void 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 void
TempoMap::set_dirty (bool yn) TempoMap::set_dirty (bool yn)
{ {

View file

@ -625,6 +625,7 @@ class LIBTEMPORAL_API TempoMap : public PBD::StatefulDestructible
public: public:
TempoMap (Tempo const & initial_tempo, Meter const & initial_meter, samplecnt_t sr); TempoMap (Tempo const & initial_tempo, Meter const & initial_meter, samplecnt_t sr);
TempoMap (TempoMap const &);
~TempoMap(); ~TempoMap();
void set_dirty (bool yn); void set_dirty (bool yn);