Fix another bug wrt visual appearance of layered regions in
overlaid mode. git-svn-id: svn://localhost/ardour2/branches/3.0@11098 d708f5d6-7413-0410-9779-e7cbd77b26cf
This commit is contained in:
parent
f440f91849
commit
9e785781f2
@ -964,6 +964,7 @@ RegionMoveDrag::finished_no_copy (
|
|||||||
|
|
||||||
list<pair<boost::shared_ptr<Region>, double> > pending_explicit_relayers;
|
list<pair<boost::shared_ptr<Region>, double> > pending_explicit_relayers;
|
||||||
Playlist::RegionList pending_implicit_relayers;
|
Playlist::RegionList pending_implicit_relayers;
|
||||||
|
set<RouteTimeAxisView*> views_to_update;
|
||||||
|
|
||||||
if (_brushing) {
|
if (_brushing) {
|
||||||
/* all changes were made during motion event handlers */
|
/* all changes were made during motion event handlers */
|
||||||
@ -989,6 +990,8 @@ RegionMoveDrag::finished_no_copy (
|
|||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
views_to_update.insert (dest_rtv);
|
||||||
|
|
||||||
framepos_t where;
|
framepos_t where;
|
||||||
|
|
||||||
if (changed_position && !_x_constrained) {
|
if (changed_position && !_x_constrained) {
|
||||||
@ -1134,6 +1137,17 @@ RegionMoveDrag::finished_no_copy (
|
|||||||
add_stateful_diff_commands_for_playlists (modified_playlists);
|
add_stateful_diff_commands_for_playlists (modified_playlists);
|
||||||
|
|
||||||
_editor->commit_reversible_command ();
|
_editor->commit_reversible_command ();
|
||||||
|
|
||||||
|
/* We have futzed with the layering of canvas items on our streamviews.
|
||||||
|
If any region changed layer, this will have resulted in the stream
|
||||||
|
views being asked to set up their region views, and all will be
|
||||||
|
well. If not, we might now have badly-ordered region views. Ask
|
||||||
|
the Streamviews involved to sort themselves out, just in case.
|
||||||
|
*/
|
||||||
|
|
||||||
|
for (set<RouteTimeAxisView*>::iterator i = views_to_update.begin(); i != views_to_update.end(); ++i) {
|
||||||
|
(*i)->view()->playlist_layered ((*i)->track ());
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
/** Remove a region from a playlist, clearing the diff history of the playlist first if necessary.
|
/** Remove a region from a playlist, clearing the diff history of the playlist first if necessary.
|
||||||
|
@ -118,6 +118,8 @@ public:
|
|||||||
|
|
||||||
void check_record_layers (boost::shared_ptr<ARDOUR::Region>, ARDOUR::framepos_t);
|
void check_record_layers (boost::shared_ptr<ARDOUR::Region>, ARDOUR::framepos_t);
|
||||||
|
|
||||||
|
virtual void playlist_layered (boost::weak_ptr<ARDOUR::Track>);
|
||||||
|
|
||||||
sigc::signal<void, RegionView*> RegionViewAdded;
|
sigc::signal<void, RegionView*> RegionViewAdded;
|
||||||
sigc::signal<void> RegionViewRemoved;
|
sigc::signal<void> RegionViewRemoved;
|
||||||
|
|
||||||
@ -141,7 +143,6 @@ protected:
|
|||||||
void layer_regions ();
|
void layer_regions ();
|
||||||
|
|
||||||
virtual void playlist_switched (boost::weak_ptr<ARDOUR::Track>);
|
virtual void playlist_switched (boost::weak_ptr<ARDOUR::Track>);
|
||||||
virtual void playlist_layered (boost::weak_ptr<ARDOUR::Track>);
|
|
||||||
|
|
||||||
virtual void color_handler () = 0;
|
virtual void color_handler () = 0;
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user