Ejemplo n.º 1
0
        private void ChordButtonMouseUp(object sender, MouseEventArgs e)
        {
            recorder.StopChord();
            ChordName chord = GetChordNameFromButton((Button)sender);

            AddChord(chord);
        }
Ejemplo n.º 2
0
        private void ChordButtonMouseDown(object sender, MouseEventArgs e)
        {
            recorder.StopChord();
            ChordName chord = GetChordNameFromButton((Button)sender);

            recorder.PlayChord(chord);
            AddChord(ChordName.None);
        }
Ejemplo n.º 3
0
        private void AddChord(ChordName chordName)
        {
            long elapsed  = stopwatch.ElapsedMilliseconds;
            long duration = elapsed - lastElapsedMillis;

            lastElapsedMillis = elapsed;
            recorder.AddChord(chordName, duration);
        }
Ejemplo n.º 4
0
        public static DraggableChordUI Instantiate(DraggableChordUI prefab,
                                                   Transform parent, ChordName chord)
        {
            DraggableChordUI instance = Instantiate(prefab, parent);

            instance.Chord = chord;
            instance.isProperlyInstantiated = true;
            return(instance);
        }
Ejemplo n.º 5
0
 public bool TryToRevealChord(int index, ChordName guessedChord)
 {
     if (!TryToRevealName(index, guessedChord))
     {
         return(false);
     }
     chordUIs[index].Chord = guessedChord;
     return(true);
 }
Ejemplo n.º 6
0
        /// <summary>
        /// Plays given chord.
        /// </summary>
        /// <param name="chordName">Name of chord played</param>
        public void PlayChord(ChordName chordName)
        {
            Chord chord = new Chord(scale, chordName);

            foreach (Pitch pitch in chord.Tones)
            {
                harmonyProvider.AddInputStream(PitchSelector.GetWavePlayer(pitch, session.WaveForm).Channel);
            }
            lastChord = chord;
        }
Ejemplo n.º 7
0
    public Chord(ChordName name)
    {
        if (name == ChordName.Hidden || name == ChordName.Custom)
        {
            throw new Exception("Invalid chord name");
        }
        Notes = new List <Note>();
        string nameStr  = name.ToString();
        var    rootName = (NoteName)Enum.Parse(typeof(NoteName), nameStr.Substring(0, 1));

        Notes.Add(Note.Create(rootName, defaultOctave));
        Notes.Add(Note.Create(rootName + 7, defaultOctave)); // add fifth
        if (nameStr.Contains("m"))
        {
            Notes.Add(Note.Create(rootName + 3, defaultOctave));
        }
        else
        {
            Notes.Add(Note.Create(rootName + 4, defaultOctave));
        }
        Name = name;
    }
Ejemplo n.º 8
0
        /// <summary>
        /// Add one chord and its duration to harmony.
        /// </summary>
        /// <param name="chordName">Name of chord played</param>
        /// <param name="duration">Length of chord in milliseconds</param>
        public void AddChord(ChordName chordName, long duration)
        {
            Chord chord = new Chord(scale, chordName);

            harmonyEpochs.Add(Epoch.CreateEpoch(duration, chord.Tones));
        }
Ejemplo n.º 9
0
 public Chord(Scale scale, ChordName chordName)
 {
     this.scale     = scale;
     this.chordName = chordName;
     Tones          = GetChord();
 }
Ejemplo n.º 10
0
 public void AddChord(ChordName chord)
 {
     DraggableChordUI.Instantiate(chordPrefab, content, chord);
 }
Ejemplo n.º 11
0
 public Chord(params Note[] notes)
 {
     Notes = new List <Note>(notes);
     Name  = ChordName.Custom;
 }
Ejemplo n.º 12
0
 public void AttachChord(ChordName chord)
 {
     AttachChord(DraggableChord.Instantiate(chordPrefab, transform, camera, chord, this));
 }