FoscMultiplier

Returns a FoscMultiplier.


Description

TODO


Attributes Summary

Class Properties

*fromDotCount Makes multiplier from dotCount.

Instance Properties

isNormalized Is true when mutliplier is greater than 1/2 and less than 2. Otherwise false.

Instance Methods: Special Methods

* Multiplier times duration returns duration.


Usage

  1. Initializes from integer numerator.

    FoscMultiplier(3).format;
    3/1
  2. Initializes from integer numerator and denominator.

    FoscMultiplier(3, 16).format;
    3/16
  3. Initializes from integer-equivalent numeric numerator.

    FoscMultiplier(3.0).format;
    3/1
  4. Initializes from integer-equivalent numeric numerator and denominator.

    FIXME: returns ERROR: Array:reduceFraction: items in receiver must be integers: 3.0.

    FoscMultiplier(3.0, 16).format;
  5. Initializes from integer-equivalent singleton.

    FoscMultiplier(3).format;
    3/1
  6. Initializes from integer-equivalent pair.

    FoscMultiplier([3, 16]).format;
    3/16
  7. Initializes from other duration.

    FoscMultiplier(FoscDuration(3, 16)).format
    3/16
  8. Intializes from fraction.

    FoscMultiplier(FoscFraction(3, 16)).format;
    3/16
  9. Initializes from nonreduced fraction.

    m = FoscMultiplier(FoscNonreducedFraction(6, 32))
    m.pair.postln; //!!!! BROKEN
  10. FoscMultipliers inherit from built-in fraction.

    FoscMultiplier(3, 16).isKindOf(FoscFraction).postln; // true
    true
  11. FoscMultipliers are numbers.

    FoscMultiplier(3, 16).isKindOf(Number).postln; //!!! BROKEN
    false
  12. Attaching a multiplier to a score component multiplies that component’s duration.

    FIXME: this doesn’t seem to work…

    n = FoscNote(60, 1);
    n.attach(FoscMultiplier(5, 8));
    n.format;
    c'1


Class Properties


*fromDotCount

Makes multiplier from dotCount.

  1. Example

    FoscMultiplier.fromDotCount(0).str;
    1/1
    FoscMultiplier.fromDotCount(1).str;
    3/2
    FoscMultiplier.fromDotCount(2).str;
    7/4
    FoscMultiplier.fromDotCount(3).str;
    15/8
    FoscMultiplier.fromDotCount(4).str;
    31/16


Instance Properties


isNormalized

Is true when mutliplier is greater than 1/2 and less than 2. Otherwise false.

Returns true or false.

  1. Example

    FoscMultiplier(3, 2).isNormalized.postln;
    true
    FoscMultiplier(7, 2).isNormalized.postln;
    false


Instance Methods: Special Methods


*

Multiplier times duration returns duration.

Returns duration.

  1. Example

    a = FoscMultiplier(1, 1);
    b = FoscMultiplier(1, 3);
    c = FoscDuration(1, 3);
    
    (a * b).class.postln;        // returns a FoscMultiplier
    FoscMultiplier
    (a * c).class.postln;        // returns a FoscDuration
    FoscDuration