示例#1
0
            public TrackRow(TrackSong track)
            {
                Width   = 600;
                Height  = 50;
                Masking = true;

                TrackModel = track;
            }
示例#2
0
        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);
        }
示例#3
0
 public TrackManagerAudioTrack(TrackSong trackSong, ITrackStore trackManager)
 {
     this.trackSong    = trackSong;
     this.trackManager = trackManager;
 }
示例#4
0
 protected virtual TrackManagerAudioTrack CreatePreviewTrack(TrackSong trackSong, ITrackStore trackStore) =>
 new TrackManagerAudioTrack(trackSong, trackStore);