public bool IsTrackEnabled (int index)
{
if (!enabled_cache.ContainsKey (index)) {
int current_index = current_track == null ? Count : TrackModel.IndexOf (current_track);
enabled_cache.Add (index, index >= current_index);
}
return enabled_cache[index];
}
public override TrackInfo this[int index] { get { lock (this) { var track = cache.GetValue(index); if (track != null) { track.Enabled = source.IsTrackEnabled(index); } return(track); } } }