mark session dirty when dragging tempo markers.
This commit is contained in:
parent
666ed3a0bd
commit
7b9784fff4
@ -773,12 +773,6 @@ AudioClock::session_property_changed (const PropertyChange&)
|
||||
set (last_when, true);
|
||||
}
|
||||
|
||||
void
|
||||
AudioClock::metric_position_changed ()
|
||||
{
|
||||
set (last_when, true);
|
||||
}
|
||||
|
||||
void
|
||||
AudioClock::session_configuration_changed (std::string p)
|
||||
{
|
||||
@ -1194,7 +1188,7 @@ AudioClock::set_session (Session *s)
|
||||
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"));
|
||||
|
@ -223,7 +223,6 @@ class AudioClock : public CairoWidget, public ARDOUR::SessionHandlePtr
|
||||
|
||||
void session_configuration_changed (std::string);
|
||||
void session_property_changed (const PBD::PropertyChange&);
|
||||
void metric_position_changed ();
|
||||
|
||||
Field index_to_field () const;
|
||||
|
||||
|
@ -1395,7 +1395,7 @@ Editor::set_session (Session *t)
|
||||
_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());
|
||||
|
@ -1729,7 +1729,7 @@ class Editor : public PublicEditor, public PBD::ScopedConnectionList, public ARD
|
||||
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;
|
||||
|
@ -189,7 +189,7 @@ Editor::tempo_map_changed (const PropertyChange& /*ignored*/)
|
||||
}
|
||||
|
||||
void
|
||||
Editor::marker_position_changed ()
|
||||
Editor::tempometric_position_changed (const PropertyChange& /*ignored*/)
|
||||
{
|
||||
if (!_session) {
|
||||
return;
|
||||
|
@ -1705,7 +1705,6 @@ class LIBARDOUR_API Session : public PBD::StatefulDestructible, public PBD::Scop
|
||||
|
||||
TempoMap *_tempo_map;
|
||||
void tempo_map_changed (const PBD::PropertyChange&);
|
||||
void gui_tempo_map_changed ();
|
||||
|
||||
/* edit/mix groups */
|
||||
|
||||
|
@ -495,7 +495,7 @@ class LIBARDOUR_API TempoMap : public PBD::StatefulDestructible
|
||||
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:
|
||||
|
@ -5626,16 +5626,6 @@ Session::tempo_map_changed (const PropertyChange&)
|
||||
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)
|
||||
{
|
||||
|
@ -260,7 +260,7 @@ Session::post_engine_init ()
|
||||
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 */
|
||||
|
||||
|
@ -3271,7 +3271,7 @@ TempoMap::gui_set_tempo_position (TempoSection* ts, const framepos_t& frame, con
|
||||
++d;
|
||||
}
|
||||
|
||||
MetricPositionChanged (); // Emit Signal
|
||||
MetricPositionChanged (PropertyChange ()); // Emit Signal
|
||||
}
|
||||
|
||||
/** moves a MeterSection to a specified position.
|
||||
@ -3319,7 +3319,7 @@ TempoMap::gui_set_meter_position (MeterSection* ms, const framepos_t& frame)
|
||||
++d;
|
||||
}
|
||||
|
||||
MetricPositionChanged (); // Emit Signal
|
||||
MetricPositionChanged (PropertyChange ()); // Emit Signal
|
||||
}
|
||||
|
||||
bool
|
||||
@ -3346,7 +3346,7 @@ TempoMap::gui_change_tempo (TempoSection* ts, const Tempo& bpm)
|
||||
++d;
|
||||
}
|
||||
if (can_solve) {
|
||||
MetricPositionChanged (); // Emit Signal
|
||||
MetricPositionChanged (PropertyChange ()); // Emit Signal
|
||||
}
|
||||
return can_solve;
|
||||
}
|
||||
@ -3498,7 +3498,7 @@ TempoMap::gui_stretch_tempo (TempoSection* ts, const framepos_t& frame, const fr
|
||||
++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
|
||||
|
Loading…
Reference in New Issue
Block a user