void ShowSelOnly(COMMAND_T*) { for (int i = 1; i <= GetNumTracks(); i++) { MediaTrack* tr = CSurf_TrackFromID(i, false); if (*(int*)GetSetMediaTrackInfo(tr, "I_SELECTED", NULL)) SetTrackVis(tr, 3); else SetTrackVis(tr, 0); } TrackList_AdjustWindows(MAJORADJUST); UpdateTimeline(); Undo_OnStateChangeEx(__LOCALIZE("Show selected tracks, hide others","sws_undo"), UNDO_STATE_TRACKCFG, -1); }
void HideAll(COMMAND_T* = NULL) { for (int i = 1; i <= GetNumTracks(); i++) SetTrackVis(CSurf_TrackFromID(i, false), 0); TrackList_AdjustWindows(MAJORADJUST); UpdateTimeline(); Undo_OnStateChangeEx(__LOCALIZE("Hide all tracks","sws_undo"), UNDO_STATE_TRACKCFG, -1); }
bool FilteredVisState::UpdateReaper(bool bHideFiltered) { bool bChanged = false; // Remove tracks from filteredOut that aren't in the project for (int i = 0; i < m_filteredOut.GetSize(); i++) if (CSurf_TrackToID(m_filteredOut.Get(i)->tr, false) <= 0) m_filteredOut.Delete(i--, true); for (int i = 1; i <= GetNumTracks(); i++) { MediaTrack* tr = CSurf_TrackFromID(i, false); int iVis = GetTrackVis(tr); int iNewVis = iVis; bool bShow = !bHideFiltered || MatchesFilter(tr); // Is this track in the filteredOut list? int j; for (j = 0; j < m_filteredOut.GetSize(); j++) if (m_filteredOut.Get(j)->tr == tr) break; if (j < m_filteredOut.GetSize()) { if (bShow) { iNewVis = m_filteredOut.Get(j)->iVis; m_filteredOut.Delete(j, true); } else iNewVis = 0; } else if (!bShow) { iNewVis = 0; TrackVisState* tvs = m_filteredOut.Add(new TrackVisState); tvs->tr = tr; tvs->iVis = iVis; } if (iVis != iNewVis) { SetTrackVis(tr, iNewVis); bChanged = true; } } if (bChanged) { TrackList_AdjustWindows(false); UpdateTimeline(); } return bChanged; }
void ShowAllTCP(COMMAND_T*) { for (int i = 1; i <= GetNumTracks(); i++) { MediaTrack* tr = CSurf_TrackFromID(i, false); SetTrackVis(tr, GetTrackVis(tr) | 2); } TrackList_AdjustWindows(MAJORADJUST); UpdateTimeline(); Undo_OnStateChangeEx(__LOCALIZE("Show all tracks in TCP","sws_undo"), UNDO_STATE_TRACKCFG, -1); }
void ToggleHide(COMMAND_T*) { for (int i = 1; i <= GetNumTracks(); i++) { MediaTrack* tr = CSurf_TrackFromID(i, false); if (*(int*)GetSetMediaTrackInfo(tr, "I_SELECTED", NULL)) SetTrackVis(tr, GetTrackVis(tr) ? 0 : 3); } TrackList_AdjustWindows(MAJORADJUST); UpdateTimeline(); Undo_OnStateChangeEx(__LOCALIZE("Toggle selected tracks fully visible/hidden","sws_undo"), UNDO_STATE_TRACKCFG, -1); }