public void removeTrack(String name)
        {
            selectionCollection.clearSelection();
            TimelineViewTrack track = namedTracks[name];

            track.removeAllActions();
            namedTracks.Remove(name);
            tracks.Remove(track);
            //Look for new bottom.
            int lowestTrack = TRACK_START_Y;

            foreach (TimelineViewTrack leftoverTrack in tracks)
            {
                int bottom = leftoverTrack.Bottom;
                if (bottom > lowestTrack)
                {
                    lowestTrack = bottom;
                }
            }
            trackY = lowestTrack;
            if (TrackRemoved != null)
            {
                TrackRemoved.Invoke(track);
            }
            track.Dispose();
        }
 public void clearTracks()
 {
     selectionCollection.clearSelection();
     foreach (TimelineViewTrack track in tracks)
     {
         if (TrackRemoved != null)
         {
             TrackRemoved.Invoke(track);
         }
         track.Dispose();
     }
     trackY = TRACK_START_Y;
     namedTracks.Clear();
     tracks.Clear();
 }
 public void RemoveTrack(PlayableBase playable)
 {
     Tracks.Remove(playable);
     History.Remove(playable);
     TrackRemoved?.Invoke(this, playable);
 }