set (last_when, true);
}
-void
-AudioClock::metric_position_changed ()
-{
- set (last_when, true);
-}
-
void
AudioClock::session_configuration_changed (std::string p)
{
Config->ParameterChanged.connect (_session_connections, invalidator (*this), boost::bind (&AudioClock::session_configuration_changed, this, _1), gui_context());
_session->config.ParameterChanged.connect (_session_connections, invalidator (*this), boost::bind (&AudioClock::session_configuration_changed, this, _1), gui_context());
_session->tempo_map().PropertyChanged.connect (_session_connections, invalidator (*this), boost::bind (&AudioClock::session_property_changed, this, _1), gui_context());
- _session->tempo_map().MetricPositionChanged.connect (_session_connections, invalidator (*this), boost::bind (&AudioClock::metric_position_changed, this), gui_context());
+ _session->tempo_map().MetricPositionChanged.connect (_session_connections, invalidator (*this), boost::bind (&AudioClock::session_property_changed, this, _1), gui_context());
XMLProperty const * prop;
XMLNode* node = _session->extra_xml (X_("ClockModes"));
void session_configuration_changed (std::string);
void session_property_changed (const PBD::PropertyChange&);
- void metric_position_changed ();
Field index_to_field () const;
_session->RouteAdded.connect (_session_connections, invalidator (*this), boost::bind (&Editor::add_routes, this, _1), gui_context());
_session->DirtyChanged.connect (_session_connections, invalidator (*this), boost::bind (&Editor::update_title, this), gui_context());
_session->tempo_map().PropertyChanged.connect (_session_connections, invalidator (*this), boost::bind (&Editor::tempo_map_changed, this, _1), gui_context());
- _session->tempo_map().MetricPositionChanged.connect (_session_connections, invalidator (*this), boost::bind (&Editor::marker_position_changed, this), gui_context());
+ _session->tempo_map().MetricPositionChanged.connect (_session_connections, invalidator (*this), boost::bind (&Editor::tempometric_position_changed, this, _1), gui_context());
_session->Located.connect (_session_connections, invalidator (*this), boost::bind (&Editor::located, this), gui_context());
_session->config.ParameterChanged.connect (_session_connections, invalidator (*this), boost::bind (&Editor::parameter_changed, this, _1), gui_context());
_session->StateSaved.connect (_session_connections, invalidator (*this), boost::bind (&Editor::session_state_saved, this, _1), gui_context());
void compute_current_bbt_points (std::vector<ARDOUR::TempoMap::BBTPoint>& grid, framepos_t left, framepos_t right);
void tempo_map_changed (const PBD::PropertyChange&);
- void marker_position_changed ();
+ void tempometric_position_changed (const PBD::PropertyChange&);
void redisplay_tempo (bool immediate_redraw);
uint32_t bbt_beat_subdivision;
}
void
-Editor::marker_position_changed ()
+Editor::tempometric_position_changed (const PropertyChange& /*ignored*/)
{
if (!_session) {
return;
TempoMap *_tempo_map;
void tempo_map_changed (const PBD::PropertyChange&);
- void gui_tempo_map_changed ();
/* edit/mix groups */
std::pair<double, framepos_t> predict_tempo_position (TempoSection* section, const Timecode::BBT_Time& bbt);
bool can_solve_bbt (TempoSection* section, const Timecode::BBT_Time& bbt);
- PBD::Signal0<void> MetricPositionChanged;
+ PBD::Signal1<void,const PBD::PropertyChange&> MetricPositionChanged;
void fix_legacy_session();
private:
set_dirty ();
}
-void
-Session::gui_tempo_map_changed ()
-{
- clear_clicks ();
-
- playlists->update_after_tempo_map_change ();
-
- _locations->apply (*this, &Session::update_locations_after_tempo_map_change);
-}
-
void
Session::update_locations_after_tempo_map_change (const Locations::LocationList& loc)
{
delete _tempo_map;
_tempo_map = new TempoMap (_current_frame_rate);
_tempo_map->PropertyChanged.connect_same_thread (*this, boost::bind (&Session::tempo_map_changed, this, _1));
- _tempo_map->MetricPositionChanged.connect_same_thread (*this, boost::bind (&Session::gui_tempo_map_changed, this));
+ _tempo_map->MetricPositionChanged.connect_same_thread (*this, boost::bind (&Session::tempo_map_changed, this, _1));
/* MidiClock requires a tempo map */
++d;
}
- MetricPositionChanged (); // Emit Signal
+ MetricPositionChanged (PropertyChange ()); // Emit Signal
}
/** moves a MeterSection to a specified position.
++d;
}
- MetricPositionChanged (); // Emit Signal
+ MetricPositionChanged (PropertyChange ()); // Emit Signal
}
bool
++d;
}
if (can_solve) {
- MetricPositionChanged (); // Emit Signal
+ MetricPositionChanged (PropertyChange ()); // Emit Signal
}
return can_solve;
}
++d;
}
- MetricPositionChanged (); // Emit Signal
+ MetricPositionChanged (PropertyChange ()); // Emit Signal
}
/** Returns the exact bbt-based beat corresponding to the bar, beat or quarter note subdivision nearest to