public TrackRow(TrackSong track) { Width = 600; Height = 50; Masking = true; TrackModel = track; }
public AudioTrack Get(TrackSong trackSong) { var track = CreatePreviewTrack(trackSong, trackStore); track.Started += () => Schedule(() => { CurrentTrack?.Stop(); CurrentTrack = track; audio.Tracks.AddAdjustment(AdjustableProperty.Volume, muteBindable); }); track.Stopped += () => Schedule(() => { if (CurrentTrack != track) { return; } CurrentTrack = null; audio.Tracks.RemoveAdjustment(AdjustableProperty.Volume, muteBindable); }); return(track); }
public TrackManagerAudioTrack(TrackSong trackSong, ITrackStore trackManager) { this.trackSong = trackSong; this.trackManager = trackManager; }
protected virtual TrackManagerAudioTrack CreatePreviewTrack(TrackSong trackSong, ITrackStore trackStore) => new TrackManagerAudioTrack(trackSong, trackStore);