Ejemplo n.º 1
0
        private void OnBtnPreviousClick(object sender, EventArgs e)
        {
            OnBtnStopClick(sender, e);

            if (charts.Count == 0)
            {
                return;
            }

            if (ShuffleBox.Checked)
            {
                var randomizer = new Random();
                playback.Track = randomizer.Next(charts.Count);
            }
            else
            {
                if (playback.Track <= 0)
                {
                    playback.Track = charts.Count - 1;
                }
                else
                {
                    playback.Track--;
                }
            }

            MusicList.FocusedItem = MusicList.Items[playback.Track];
            BtnPlay.PerformClick();
        }
Ejemplo n.º 2
0
        async private void OnOpenMenuClick(object sender, EventArgs e)
        {
            var openDialog = new OpenFileDialog();

            openDialog.Filter      = "O2Jam Chart File|*.ojn";
            openDialog.Multiselect = true;

            if (openDialog.ShowDialog() == DialogResult.OK)
            {
                int count = charts.Count;
                AddChart(openDialog.FileNames);

                if (charts.Count > 0 && openDialog.FileNames.Length > 0)
                {
                    try
                    {
                        var header = await ChartDecoder.DecodeHeaderAsync(openDialog.FileNames[0]);

                        var item = MusicList.Items.Cast <ListViewItem>().FirstOrDefault((listItem) => listItem.Text == header.Title);

                        MusicList.FocusedItem = item;
                        BtnPlay.PerformClick();
                    }
                    catch (Exception ex)
                    {
                        MessageBox.Show(ex.Message, "Error", MessageBoxButtons.OK, MessageBoxIcon.Warning);
                    }
                }
            }
        }
Ejemplo n.º 3
0
        private void OnBtnNextClick(object sender, EventArgs e)
        {
            OnBtnStopClick(sender, e);

            if (charts.Count == 0)
            {
                return;
            }

            if (ShuffleBox.Checked)
            {
                var randomizer = new Random();
                int index      = randomizer.Next(charts.Count);
                while (index == playback.Track)
                {
                    index = randomizer.Next(charts.Count);
                }

                playback.Track = index;
            }
            else
            {
                if (playback.Track >= charts.Count - 1)
                {
                    playback.Track = 0;
                }
                else
                {
                    playback.Track++;
                }
            }

            MusicList.FocusedItem = MusicList.Items[playback.Track];
            BtnPlay.PerformClick();
        }
Ejemplo n.º 4
0
 private void OnMusicListKeyDown(object sender, KeyEventArgs e)
 {
     if (e.KeyCode == Keys.Enter)
     {
         BtnPlay.PerformClick();
     }
 }
Ejemplo n.º 5
0
 private void sheet_KeyUp(object sender, KeyEventArgs e)
 {
     if (e.Control)
     {
         if (e.KeyCode == Keys.O)
         {
             BtnOpen.PerformClick();
         }
         else if (e.KeyCode == Keys.E)
         {
             BtnSave.PerformClick();
         }
         else if (e.KeyCode == Keys.T)
         {
             BtnConvert.PerformClick();
         }
         else if (e.KeyCode == Keys.S)
         {
             BtnSynth.PerformClick();
         }
         else if (e.KeyCode == Keys.Add || e.KeyCode == Keys.Oemplus)
         {
             sheet.NoteWidth *= 1.1F;
             sheet.Redraw();
         }
         else if (e.KeyCode == Keys.Subtract || e.KeyCode == Keys.OemMinus)
         {
             sheet.NoteWidth *= 1 / 1.1F;
             sheet.Redraw();
         }
     }
     else if (e.KeyCode == Keys.Space)
     {
         if (_file == null)
         {
             return;
         }
         BtnPlay.PerformClick();
     }
     else if (e.KeyCode == Keys.Left)
     {
         if (_file == null)
         {
             return;
         }
         _file.CurrentTime = _file.CurrentTime.Subtract(TimeSpan.FromSeconds(0.25));
         sheet.Time        = _file.CurrentTime;
         sheet.Redraw();
     }
     else if (e.KeyCode == Keys.Right)
     {
         if (_file == null)
         {
             return;
         }
         _file.CurrentTime = _file.CurrentTime.Add(TimeSpan.FromSeconds(0.25));
         sheet.Time        = _file.CurrentTime;
         sheet.Redraw();
     }
 }
Ejemplo n.º 6
0
        private void ListViewLogFile_DoubleClick(object sender, EventArgs e)
        {
            string ClickedTime = ListViewLogFile.SelectedItems[0].SubItems[0].Text;

            ClickedTime = ClickedTime.Substring(ClickedTime.IndexOf(' ') + 1);
            //MessageBox.Show(ClickedTime);
            ClickedTime = ClickedTime.Substring(0, ClickedTime.IndexOf("."));
            txtCurrentTimeStemp.Text = ClickedTime;
            TimeSpan tempTime = TimeSpan.Parse(ClickedTime);

            syncVideos(tempTime);
            BtnPlay.PerformClick();
        }
Ejemplo n.º 7
0
        async private void OnRenderComplete(object sender, EventArgs e)
        {
            await renderTask;

            if (charts.Count == 0)
            {
                GroupPlayback.Invoke(new Action(() => GroupPlayback.Enabled = false));
                return;
            }

            int repeat     = (int)RepeatBox.Invoke(new Func <int>(() => RepeatBox.SelectedIndex));
            int difficulty = (int)DifficultyBox.Invoke(new Func <int>(() => DifficultyBox.SelectedIndex));

            if (repeat != 1)
            {
                SetHighlightState(false);

                if ((bool)ShuffleBox.Invoke(new Func <bool>(() => ShuffleBox.Checked)))
                {
                    var randomizer = new Random();
                    playback.Track = randomizer.Next(charts.Count);
                }
                else if (repeat == 2 && playback.Track >= charts.Count)
                {
                    playback.Track = 0;
                }
                else if (playback.Track < charts.Count - 1)
                {
                    playback.Track++;
                }
                else
                {
                    playback.Track = 0;
                    return;
                }
            }

            MusicList.Invoke(new Action(() => MusicList.FocusedItem = MusicList.Items[playback.Track]));
            BtnPlay.Invoke(new Action(() => BtnPlay.PerformClick()));
        }
Ejemplo n.º 8
0
 private void OnMusicListMouseDoubleClick(object sender, MouseEventArgs e)
 {
     BtnPlay.PerformClick();
 }