コード例 #1
0
        public void SelectTrack(int index)
        {
            if (_trackList.Count == 0)
            {
                return;
            }

            CurrentTrackIndex = index;

            if (CurrentTrackIndex >= _trackList.Count)
            {
                CurrentTrackIndex = _trackList.Count - 1;
            }
            if (CurrentTrackIndex < 0)
            {
                CurrentTrackIndex = 0;
            }

            if (CurrentTrack.Media != null)
            {
                _windowsMediaPlayer.currentMedia = CurrentTrack.Media;
            }

            ProgressChanged?.Invoke(this, ProgressRaw);
            TrackSelected?.Invoke(this, CurrentTrack);
            VolumeChanged?.Invoke(this, Volume);
            _timer.Start();
        }
コード例 #2
0
        public void Read(string fileName)
        {
            // Load file
            FileStream fstream = new FileStream(fileName, FileMode.Open,
                                                FileAccess.Read, FileShare.None);

            StreamReader stream = new StreamReader(fstream);

            using (stream)
            {
                DumpReader dumpreader = new DumpReader();
                sequence = dumpreader.Read(stream);
            }
            if (sequence == null)
            {
                MessageBox.Show("Invalid dump file", "Karaboss", MessageBoxButtons.OK, MessageBoxIcon.Error);
                return;
            }

            sequence.Clean();

            // Propose to select tracks
            DialogResult   dr        = new DialogResult();
            frmSelectTrack frmSelect = new frmSelectTrack(sequence);

            dr = frmSelect.ShowDialog();
            if (dr == DialogResult.Cancel)
            {
                return;
            }

            // Raise event track selected
            TrackSelected?.Invoke(this, sequence.tracks[frmSelect.TrackNumber]);
        }
コード例 #3
0
        private void HandleLoadCompleted(object sender, AsyncCompletedEventArgs e)
        {
            sequence.Clean();
            // Propose to select tracks
            DialogResult   dr        = new DialogResult();
            frmSelectTrack frmSelect = new frmSelectTrack(sequence);

            dr = frmSelect.ShowDialog();
            if (dr == DialogResult.Cancel)
            {
                return;
            }

            // Raise event track selected
            TrackSelected?.Invoke(this, sequence.tracks[frmSelect.TrackNumber]);
        }