Ejemplo n.º 1
0
        public static bool TryParse(string s, out RhythmicDuration duration)
        {
            int val;

            if (!int.TryParse(s, out val))
            {
                duration = default(RhythmicDuration);
                return(false);
            }
            duration = new RhythmicDuration(val);
            return(true);
        }
        public static bool TryParse(string s, out RhythmicDuration duration)
        {
            int val;

            if (!int.TryParse(s, out val))
            {
                duration = default(RhythmicDuration);
                return(false);
            }
            var denominatorAsPowerOfTwo = UsefulMath.Log2(val);

            duration = new RhythmicDuration(denominatorAsPowerOfTwo);
            return(true);
        }
        /// <summary>
        /// Returns a proportion of this RhythmicDuration to the second RhythmicDuration. Dots are not taken into account.
        /// For example if this RhythmicDuration is half note duration and the second duration is quarter note duration, the proportion of 4:2 will be returned.
        /// </summary>
        /// <param name="duration"></param>
        /// <returns></returns>
        public Proportion ToFractionOf(RhythmicDuration duration)
        {
            var factor = GetFactor();

            return(new Proportion(((int)duration.Denominator * factor), (int)(Denominator * factor)));
        }
Ejemplo n.º 4
0
 public Proportion ToFractionOf(RhythmicDuration duration)
 {
     return(new Proportion(duration.Denominator, Denominator));
 }
Ejemplo n.º 5
0
 public static IEnumerable <RhythmicUnit> Parse(params int[] durations)
 {
     return(RhythmicDuration.Parse(durations).Select(d => new RhythmicUnit(d, false)).ToArray());
 }
Ejemplo n.º 6
0
 public static IEnumerable <RhythmicUnit> Parse(string s, string separator)
 {
     return(RhythmicDuration.Parse(s, separator).Select(d => d.ToRhythmicUnit(false)));
 }
Ejemplo n.º 7
0
 public RhythmicUnit(RhythmicDuration duration, bool isRest) : this()
 {
     Duration = duration;
     IsRest   = isRest;
 }
Ejemplo n.º 8
0
 public Tempo(RhythmicDuration beatUnit, int beatsPerMinute) : this()
 {
     BeatUnit       = beatUnit;
     BeatsPerMinute = beatsPerMinute;
 }