Use ARDOUR::PlaylistSet instead of local typedefs

This commit is contained in:
Robin Gareus 2023-04-06 02:12:10 +02:00
parent 8b59bf47df
commit dd542b8f4d
Signed by: rgareus
GPG Key ID: A090BCE02CF57F04
10 changed files with 39 additions and 42 deletions

View File

@ -1677,7 +1677,7 @@ private:
void fade_range (); void fade_range ();
std::set<std::shared_ptr<ARDOUR::Playlist> > motion_frozen_playlists; ARDOUR::PlaylistSet motion_frozen_playlists;
bool _dragging_playhead; bool _dragging_playhead;

View File

@ -2055,7 +2055,7 @@ RegionMoveDrag::finished_no_copy (
} }
} }
for (set<std::shared_ptr<Playlist> >::iterator p = frozen_playlists.begin(); p != frozen_playlists.end(); ++p) { for (PlaylistSet::iterator p = frozen_playlists.begin(); p != frozen_playlists.end(); ++p) {
(*p)->thaw(); (*p)->thaw();
} }
@ -2101,7 +2101,7 @@ RegionMoveDrag::remove_region_from_playlist (
PlaylistSet& modified_playlists PlaylistSet& modified_playlists
) )
{ {
pair<set<std::shared_ptr<Playlist> >::iterator, bool> r = modified_playlists.insert (playlist); pair<PlaylistSet::iterator, bool> r = modified_playlists.insert (playlist);
if (r.second) { if (r.second) {
playlist->clear_changes (); playlist->clear_changes ();
@ -2771,7 +2771,7 @@ TrimDrag::motion (GdkEvent* event, bool first_move)
{ {
RegionView* rv = _primary; RegionView* rv = _primary;
pair<set<std::shared_ptr<Playlist> >::iterator,bool> insert_result; pair<PlaylistSet::iterator,bool> insert_result;
timecnt_t delta; timecnt_t delta;
timepos_t adj_time = adjusted_time (_drags->current_pointer_time () + snap_delta (event->button.state), event, true); timepos_t adj_time = adjusted_time (_drags->current_pointer_time () + snap_delta (event->button.state), event, true);
timecnt_t dt = raw_grab_time().distance (adj_time) + _pointer_offset - snap_delta (event->button.state); timecnt_t dt = raw_grab_time().distance (adj_time) + _pointer_offset - snap_delta (event->button.state);
@ -2979,7 +2979,7 @@ TrimDrag::finished (GdkEvent* event, bool movement_occurred)
} }
} }
for (set<std::shared_ptr<Playlist> >::iterator p = _editor->motion_frozen_playlists.begin(); p != _editor->motion_frozen_playlists.end(); ++p) { for (PlaylistSet::iterator p = _editor->motion_frozen_playlists.begin(); p != _editor->motion_frozen_playlists.end(); ++p) {
/* Trimming one region may affect others on the playlist, so we need /* Trimming one region may affect others on the playlist, so we need
to get undo Commands from the whole playlist rather than just the to get undo Commands from the whole playlist rather than just the
region. Use motion_frozen_playlists (a set) to make sure we don't region. Use motion_frozen_playlists (a set) to make sure we don't

View File

@ -393,8 +393,7 @@ protected:
friend class DraggingView; friend class DraggingView;
protected: protected:
typedef std::set<std::shared_ptr<ARDOUR::Playlist> > PlaylistSet; void add_stateful_diff_commands_for_playlists (ARDOUR::PlaylistSet const &);
void add_stateful_diff_commands_for_playlists (PlaylistSet const &);
private: private:
@ -515,13 +514,13 @@ private:
RouteTimeAxisView*, RouteTimeAxisView*,
ARDOUR::layer_t, ARDOUR::layer_t,
Temporal::timepos_t const &, Temporal::timepos_t const &,
PlaylistSet& ARDOUR::PlaylistSet&
); );
void remove_region_from_playlist ( void remove_region_from_playlist (
std::shared_ptr<ARDOUR::Region>, std::shared_ptr<ARDOUR::Region>,
std::shared_ptr<ARDOUR::Playlist>, std::shared_ptr<ARDOUR::Playlist>,
PlaylistSet& modified_playlists ARDOUR::PlaylistSet& modified_playlists
); );

View File

@ -2957,8 +2957,8 @@ Editor::do_layer_operation (LayerOperation op)
break; break;
} }
set<std::shared_ptr<Playlist> > playlists = selection->regions.playlists (); PlaylistSet playlists = selection->regions.playlists ();
for (set<std::shared_ptr<Playlist> >::iterator i = playlists.begin(); i != playlists.end(); ++i) { for (PlaylistSet::iterator i = playlists.begin(); i != playlists.end(); ++i) {
(*i)->clear_owned_changes (); (*i)->clear_owned_changes ();
} }
@ -2979,7 +2979,7 @@ Editor::do_layer_operation (LayerOperation op)
} }
} }
for (set<std::shared_ptr<Playlist> >::iterator i = playlists.begin(); i != playlists.end(); ++i) { for (PlaylistSet::iterator i = playlists.begin(); i != playlists.end(); ++i) {
vector<Command*> cmds; vector<Command*> cmds;
(*i)->rdiff (cmds); (*i)->rdiff (cmds);
_session->add_commands (cmds); _session->add_commands (cmds);
@ -4900,7 +4900,7 @@ Editor::cut_copy_regions (CutCopyOp op, RegionSelection& rs)
std::shared_ptr<Playlist> pl = (*x)->region()->playlist(); std::shared_ptr<Playlist> pl = (*x)->region()->playlist();
if (pl) { if (pl) {
FreezeList::iterator fl; PlaylistSet::iterator fl;
// only take state if this is a new playlist. // only take state if this is a new playlist.
for (fl = freezelist.begin(); fl != freezelist.end(); ++fl) { for (fl = freezelist.begin(); fl != freezelist.end(); ++fl) {
@ -5034,7 +5034,7 @@ Editor::cut_copy_regions (CutCopyOp op, RegionSelection& rs)
} }
} }
for (FreezeList::iterator pl = freezelist.begin(); pl != freezelist.end(); ++pl) { for (PlaylistSet::iterator pl = freezelist.begin(); pl != freezelist.end(); ++pl) {
(*pl)->thaw (); (*pl)->thaw ();
/* We might have removed regions, which alters other regions' layering_index, /* We might have removed regions, which alters other regions' layering_index,
@ -5270,7 +5270,7 @@ Editor::duplicate_some_regions (RegionSelection& regions, float times)
} }
std::shared_ptr<Playlist> playlist; std::shared_ptr<Playlist> playlist;
std::set<std::shared_ptr<Playlist> > playlists; // list of unique playlists affected by duplication PlaylistSet playlists; // list of unique playlists affected by duplication
RegionSelection sel = regions; // clear (below) may clear the argument list if its the current region selection RegionSelection sel = regions; // clear (below) may clear the argument list if its the current region selection
RegionSelection foo; RegionSelection foo;
@ -5300,7 +5300,7 @@ Editor::duplicate_some_regions (RegionSelection& regions, float times)
} }
} }
for (set<std::shared_ptr<Playlist> >::iterator p = playlists.begin(); p != playlists.end(); ++p) { for (PlaylistSet::iterator p = playlists.begin(); p != playlists.end(); ++p) {
do_ripple ((*p), start_time, span.scale (times), &exclude, false); do_ripple ((*p), start_time, span.scale (times), &exclude, false);
} }
} }
@ -5347,7 +5347,7 @@ Editor::duplicate_some_regions (RegionSelection& regions, float times)
foo.insert (foo.end(), latest_regionviews.begin(), latest_regionviews.end()); foo.insert (foo.end(), latest_regionviews.begin(), latest_regionviews.end());
} }
for (set<std::shared_ptr<Playlist> >::iterator p = playlists.begin(); p != playlists.end(); ++p) { for (PlaylistSet::iterator p = playlists.begin(); p != playlists.end(); ++p) {
(*p)->rdiff_and_add_command (_session); (*p)->rdiff_and_add_command (_session);
} }
@ -5973,7 +5973,7 @@ Editor::fork_regions_from_unselected ()
sources_list.insert(mrv->midi_region()->midi_source()); sources_list.insert(mrv->midi_region()->midi_source());
} }
std::set<std::shared_ptr<Playlist> > affected_playlists; PlaylistSet affected_playlists;
for (auto r : rs) { for (auto r : rs) {
const MidiRegionView* const mrv = dynamic_cast<const MidiRegionView*>(r); const MidiRegionView* const mrv = dynamic_cast<const MidiRegionView*>(r);
if (mrv && sources_list.find(mrv->midi_region()->midi_source()) != sources_list.end()) { if (mrv && sources_list.find(mrv->midi_region()->midi_source()) != sources_list.end()) {
@ -8391,7 +8391,7 @@ Editor::insert_time (
* than 1 track using playlists "from" a given track. * than 1 track using playlists "from" a given track.
*/ */
set<std::shared_ptr<Playlist> > pl; PlaylistSet pl;
if (all_playlists) { if (all_playlists) {
RouteTimeAxisView* rtav = dynamic_cast<RouteTimeAxisView*> (*x); RouteTimeAxisView* rtav = dynamic_cast<RouteTimeAxisView*> (*x);
@ -8407,7 +8407,7 @@ Editor::insert_time (
} }
} }
for (set<std::shared_ptr<Playlist> >::iterator i = pl.begin(); i != pl.end(); ++i) { for (PlaylistSet::iterator i = pl.begin(); i != pl.end(); ++i) {
(*i)->clear_changes (); (*i)->clear_changes ();
(*i)->clear_owned_changes (); (*i)->clear_owned_changes ();
@ -9544,7 +9544,7 @@ Editor::remove_gaps (timecnt_t const & gap_threshold, timecnt_t const & leave_ga
locations_before = &_session->locations()->get_state(); locations_before = &_session->locations()->get_state();
} }
set<std::shared_ptr<Playlist> > pl; PlaylistSet pl;
/* it will not be possible to infer this from the set<>, so keep track /* it will not be possible to infer this from the set<>, so keep track
* of it explicitly * of it explicitly
@ -9567,7 +9567,7 @@ Editor::remove_gaps (timecnt_t const & gap_threshold, timecnt_t const & leave_ga
} }
} }
for (set<std::shared_ptr<Playlist> >::iterator i = pl.begin(); i != pl.end(); ++i) { for (PlaylistSet::iterator i = pl.begin(); i != pl.end(); ++i) {
(*i)->clear_changes (); (*i)->clear_changes ();
(*i)->clear_owned_changes (); (*i)->clear_owned_changes ();
@ -9649,8 +9649,7 @@ Editor::do_ripple (std::shared_ptr<ARDOUR::Playlist> target_playlist, timepos_t
void void
Editor::do_ripple (std::shared_ptr<Playlist> target_playlist, timepos_t const & at, timecnt_t const & distance, RegionList* exclude, bool add_to_command) Editor::do_ripple (std::shared_ptr<Playlist> target_playlist, timepos_t const & at, timecnt_t const & distance, RegionList* exclude, bool add_to_command)
{ {
typedef std::set<std::shared_ptr<Playlist> > UniquePlaylists; PlaylistSet playlists;
UniquePlaylists playlists;
playlists.insert (target_playlist); playlists.insert (target_playlist);
@ -9668,18 +9667,17 @@ Editor::do_ripple (std::shared_ptr<Playlist> target_playlist, timepos_t const &
} }
if (add_to_command) { if (add_to_command) {
for (UniquePlaylists::iterator p = playlists.begin(); p != playlists.end(); ++p) { for (auto const& p : playlists) {
p->clear_changes ();
(*p)->clear_changes (); p->clear_owned_changes ();
(*p)->clear_owned_changes ();
} }
} }
for (UniquePlaylists::iterator p = playlists.begin(); p != playlists.end(); ++p) { for (auto const& p : playlists) {
(*p)->freeze (); p->freeze ();
} }
for (UniquePlaylists::iterator p = playlists.begin(); p != playlists.end(); ++p) { for (PlaylistSet::iterator p = playlists.begin(); p != playlists.end(); ++p) {
/* exclude list is only for the target */ /* exclude list is only for the target */
@ -9708,7 +9706,7 @@ Editor::do_ripple (std::shared_ptr<Playlist> target_playlist, timepos_t const &
} }
for (UniquePlaylists::iterator p = playlists.begin(); p != playlists.end(); ++p) { for (PlaylistSet::iterator p = playlists.begin(); p != playlists.end(); ++p) {
(*p)->thaw (); (*p)->thaw ();
} }

View File

@ -492,7 +492,7 @@ void
Editor::mapover_tracks_with_unique_playlists (sigc::slot<void, RouteTimeAxisView&, uint32_t> sl, TimeAxisView* basis, PBD::PropertyID prop) const Editor::mapover_tracks_with_unique_playlists (sigc::slot<void, RouteTimeAxisView&, uint32_t> sl, TimeAxisView* basis, PBD::PropertyID prop) const
{ {
RouteTimeAxisView* route_basis = dynamic_cast<RouteTimeAxisView*> (basis); RouteTimeAxisView* route_basis = dynamic_cast<RouteTimeAxisView*> (basis);
set<std::shared_ptr<Playlist> > playlists; PlaylistSet playlists;
if (route_basis == 0) { if (route_basis == 0) {
return; return;
@ -540,7 +540,7 @@ Editor::mapover_tracks_with_unique_playlists (sigc::slot<void, RouteTimeAxisView
void void
Editor::mapover_all_tracks_with_unique_playlists (sigc::slot<void, RouteTimeAxisView&, uint32_t> sl) const Editor::mapover_all_tracks_with_unique_playlists (sigc::slot<void, RouteTimeAxisView&, uint32_t> sl) const
{ {
set<std::shared_ptr<Playlist> > playlists; PlaylistSet playlists;
set<RouteTimeAxisView*> tracks; set<RouteTimeAxisView*> tracks;

View File

@ -87,7 +87,7 @@ Editor::time_stretch (RegionSelection& regions, Temporal::ratio_t const & ratio)
return aret; return aret;
} }
set<std::shared_ptr<Playlist> > midi_playlists_affected; PlaylistSet midi_playlists_affected;
for (RegionList::iterator i = midi.begin(); i != midi.end(); ++i) { for (RegionList::iterator i = midi.begin(); i != midi.end(); ++i) {
std::shared_ptr<Playlist> playlist = (*i)->playlist(); std::shared_ptr<Playlist> playlist = (*i)->playlist();
@ -116,7 +116,7 @@ Editor::time_stretch (RegionSelection& regions, Temporal::ratio_t const & ratio)
midi_playlists_affected.insert (playlist); midi_playlists_affected.insert (playlist);
} }
for (set<std::shared_ptr<Playlist> >::iterator p = midi_playlists_affected.begin(); p != midi_playlists_affected.end(); ++p) { for (PlaylistSet::iterator p = midi_playlists_affected.begin(); p != midi_playlists_affected.end(); ++p) {
PBD::StatefulDiffCommand* cmd = new StatefulDiffCommand (*p); PBD::StatefulDiffCommand* cmd = new StatefulDiffCommand (*p);
_session->add_command (cmd); _session->add_command (cmd);
if (!cmd->empty ()) { if (!cmd->empty ()) {

View File

@ -323,10 +323,10 @@ RegionSelection::end_time () const
} }
/** @return the playlists that the regions in the selection are on */ /** @return the playlists that the regions in the selection are on */
set<std::shared_ptr<Playlist> > PlaylistSet
RegionSelection::playlists () const RegionSelection::playlists () const
{ {
set<std::shared_ptr<Playlist> > pl; PlaylistSet pl;
for (RegionSelection::const_iterator i = begin(); i != end(); ++i) { for (RegionSelection::const_iterator i = begin(); i != end(); ++i) {
pl.insert ((*i)->region()->playlist ()); pl.insert ((*i)->region()->playlist ());
} }

View File

@ -66,7 +66,7 @@ public:
size_t n_midi_regions() const; size_t n_midi_regions() const;
std::set<std::shared_ptr<ARDOUR::Playlist> > playlists () const; ARDOUR::PlaylistSet playlists () const;
std::list<PBD::ID> pending; std::list<PBD::ID> pending;
ARDOUR::RegionList regionlist () const; ARDOUR::RegionList regionlist () const;

View File

@ -1395,7 +1395,7 @@ TimeAxisView::reset_visual_state ()
TrackViewList TrackViewList
TrackViewList::filter_to_unique_playlists () TrackViewList::filter_to_unique_playlists ()
{ {
std::set<std::shared_ptr<ARDOUR::Playlist> > playlists; PlaylistSet playlists;
TrackViewList ts; TrackViewList ts;
for (iterator i = begin(); i != end(); ++i) { for (iterator i = begin(); i != end(); ++i) {

View File

@ -297,14 +297,14 @@ TimeInfoBox::selection_changed ()
} }
} else { } else {
/* this is more efficient than tracking changes per region in large selections */ /* this is more efficient than tracking changes per region in large selections */
std::set<std::shared_ptr<ARDOUR::Playlist> > playlists; PlaylistSet playlists;
for (RegionSelection::iterator s = selection.regions.begin(); s != selection.regions.end(); ++s) { for (RegionSelection::iterator s = selection.regions.begin(); s != selection.regions.end(); ++s) {
std::shared_ptr<Playlist> pl = (*s)->region()->playlist(); std::shared_ptr<Playlist> pl = (*s)->region()->playlist();
if (pl) { if (pl) {
playlists.insert (pl); playlists.insert (pl);
} }
} }
for (std::set<std::shared_ptr<ARDOUR::Playlist> >::iterator ps = playlists.begin(); ps != playlists.end(); ++ps) { for (PlaylistSet::iterator ps = playlists.begin(); ps != playlists.end(); ++ps) {
(*ps)->ContentsChanged.connect (region_property_connections, invalidator (*this), (*ps)->ContentsChanged.connect (region_property_connections, invalidator (*this),
boost::bind (&TimeInfoBox::region_selection_changed, this), gui_context()); boost::bind (&TimeInfoBox::region_selection_changed, this), gui_context());
} }