Esempio n. 1
0
    public bool IsToneInRange(string toneString)
    {
        MusicTone tone;
        int       octave;

        MusicUtilities.StringToToneOctave(toneString, out tone, out octave);

        return(IsToneInRange(tone, octave));
    }
Esempio n. 2
0
    // play random tone from given variables - scale and range
    public void PlayTone(string instrument, ToneDuration duration, MusicTone baseTone, ToneRange toneRange, string scale)
    {
        string    toneString = MusicScale.MusicScales[scale].GetRandomTone(toneRange, baseTone);
        MusicTone tone;
        int       octave;

        MusicUtilities.StringToToneOctave(toneString, out tone, out octave);

        PlayTone(instrument, duration, tone, octave);
    }
Esempio n. 3
0
    /// <summary>
    /// Gets names of tones made from MusicTone and its octave index
    /// </summary>
    /// <param name="baseTone">Starting tone of the scale</param>
    /// <param name="startOctave">Index of starting tone octave</param>
    /// <param name="toneCount">Number of tones, including starting tone</param>
    /// <returns></returns>
    public List <string> GetToneNames(MusicTone baseTone, int startOctave, int toneCount)
    {
        List <string> tones = new List <string>();

        tones.Add(baseTone.ToString() + "_" + startOctave.ToString());

        List <int> offsets = MusicUtilities.GetAbsoluteListFromRelativeList(this.ToneOffsets, toneCount - 1);

        int currentOctave;

        foreach (int toneOffset in offsets)
        {
            currentOctave = startOctave + toneOffset / 12;
            tones.Add(((MusicTone)(toneOffset % 12)).ToString() + "_" + currentOctave.ToString());
        }

        return(tones);
    }