Beispiel #1
0
 public void Metronome_Stop(object sender, MetronomeEventArgs e)
 {
     if (State == LooperState.Recording)
     {
         StopRecording();
     }
     else if (State == LooperState.Playing)
     {
         StopPlayback();
     }
 }
Beispiel #2
0
        /// <summary>
        /// Wire this to base metronome.
        /// Changes state of Looper (idle, recording, playing) at the start of bar
        /// </summary>
        public void Metronome_Bar(object sender, MetronomeEventArgs e)
        {
            int length = Convert.ToInt32(numericUpDown_length.Value);
            int start  = Convert.ToInt32(numericUpDown_start.Value);

            if (State == LooperState.ReadyToRecord)
            {
                if (e.BarNumber % start == 0)
                {
                    StartingBar = e.BarNumber;
                    StartRecording();
                }
            }
            if (State == LooperState.ReadyToPlay)
            {
                if (e.BarNumber % start == 0)
                {
                    StartingBar = e.BarNumber;
                    StartPlayback();
                }
            }
            if (State == LooperState.Recording)
            {
                if (e.BarNumber >= StartingBar + length)
                {
                    StopRecording();
                }
            }
            if (State == LooperState.Playing)
            {
                if (e.BarNumber >= StartingBar + length)
                {
                    //StopPlayback();
                    StartingBar = e.BarNumber;
                    StartPlayback();
                }
            }
        }
Beispiel #3
0
        /// <summary>
        /// Wire this to metronome.
        /// Displays bar (phrase) progrees on the progressbar.
        /// </summary>
        public void Metronome_Beat(object sender, MetronomeEventArgs e)
        {
            int length = Convert.ToInt32(numericUpDown_length.Value);
            int start  = Convert.ToInt32(numericUpDown_start.Value);

            int lengthBeats = length * e.BeatsInBar;
            int currentBeat = e.BarNumber * e.BeatsInBar + e.BeatNumber;
            int startBeats  = start * e.BeatsInBar;

            switch (State)
            {
            case LooperState.ReadyToRecord:
            case LooperState.ReadyToPlay:
                coloredProgressBar_record.Value = (currentBeat % startBeats) + 1;
                coloredProgressBar_record.Value = (currentBeat % startBeats) + 1;
                break;

            case LooperState.Recording:
            case LooperState.Playing:
                coloredProgressBar_record.Value = (((e.BarNumber - StartingBar) * e.BeatsInBar + e.BeatNumber) % lengthBeats) + 1;
                break;
            }
        }
Beispiel #4
0
 protected virtual void OnStarted(MetronomeEventArgs e)
 {
     Started?.Invoke(this, e);
 }
Beispiel #5
0
 protected virtual void OnBar(MetronomeEventArgs e)
 {
     label_bar.Text = e.BarNumber.ToString();
     Bar?.Invoke(this, e);
 }
Beispiel #6
0
 protected virtual void OnBeat(MetronomeEventArgs e)
 {
     //Console.WriteLine(currentBar + "/" + currentBeat);
     label_beat.Text = (e.BeatNumber + 1).ToString() + "/" + numericUpDown_metronomeMeasuse.Value.ToString();
     Beat?.Invoke(this, e);
 }