Exemplo n.º 1
0
 private static void PlayNoteAsRequired(string note, int a4Reference, PlayableSequence playableSequence)
 {
     if (note != null)
     {
         var musicNote = MusicNote.Create(note, a4Reference);
         if (musicNote?.IsValid ?? false)
         {
             ShowNote(musicNote);
             var musicNotes = musicNote.MajorScale.ToArray();
             WriteMessage($"Playing Major Scale: {string.Join(',', musicNotes)}");
             playableSequence.LoadSequenceFromString(musicNote.MajorScale);
             playableSequence.Prepare();
             playableSequence.Play();
             Thread.Sleep(1000);
             musicNotes = musicNote.MinorScale.ToArray();
             WriteMessage($"Playing Minor Scale: {string.Join(',', musicNotes)}");
             playableSequence.LoadSequenceFromString(musicNote.MinorScale);
             playableSequence.Prepare();
             playableSequence.Play();
             Thread.Sleep(1000);
             WriteMessage($"Playing Relative Minor Scale {musicNote.RelativeMinor}m: {string.Join(',', musicNote.RelativeMinorScale)}");
             playableSequence.LoadSequenceFromString(musicNote.RelativeMinorScale);
             playableSequence.Prepare();
             playableSequence.Play();
         }
         else
         {
             WriteMessage($"{note} is NOT a valid note!", ConsoleColor.Red);
         }
     }
 }
Exemplo n.º 2
0
        private static PlayableSequence CreatePlayableSequence(NoteScalerOptions o, int a4Reference)
        {
            var playableSequence = new PlayableSequence()
            {
                MeasureTime    = o.Speed.GetValueOrDefault(),
                Octave         = o.Octave.GetValueOrDefault(),
                A4Reference    = a4Reference,
                InstrumentType = o.Instrument
            };

            playableSequence.PlayableSequenceEvent += PlayableSequence_PlayableSequenceEvent;
            return(playableSequence);
        }
Exemplo n.º 3
0
 private static void PlayTabAsRequired(string tabName, PlayableSequence playableSequence)
 {
     if (!string.IsNullOrEmpty(tabName))
     {
         var result = playableSequence.LoadFromFile(tabName, "Tabs", out string errorString, out Tablature tabs);
         if (!result)
         {
             WriteMessage(errorString, ConsoleColor.Red);
         }
         else
         {
             tabs.FixUp();
             IStringInstrument guitar = new Guitar(tabs.Tuning, 21);
             playableSequence.ConvertTabsToNoteSequence(guitar, tabs);
             playableSequence.Repeat = tabs.Repeat;
             playableSequence.Prepare();
             playableSequence.Play();
         }
     }
 }
Exemplo n.º 4
0
        private static void PlaySongAsRequired(string key, string fileName, PlayableSequence playableSequence)
        {
            if (!string.IsNullOrEmpty(fileName))
            {
                var result = playableSequence.LoadFromFile(fileName, "Songs", out string errorString, out Song song);
                if (!result)
                {
                    WriteMessage(errorString, ConsoleColor.Red);
                }
                else
                {
                    var currentSong = GetTheSongByKeyAsRequired(key, song);
                    playableSequence.ConvertSongNotesToNoteSequence(currentSong);
                    playableSequence.Prepare();
                    playableSequence.Play();

                    if (song.Reverse)
                    {
                        playableSequence.ReverseSequence();
                        playableSequence.Play();
                    }
                }
            }
        }
Exemplo n.º 5
0
 private void Awake()
 {
     m_Instance = Instantiate(m_Sequence);
 }