FoscOffset

Returns a FoscOffset.


Description

TODO


Attributes Summary

Instance Properties

graceDisplacement Gets grace displacement.

Instance Methods: Special Methods

copy
deepCopy
==
>=
storeArgs
>
hash
<=
<
asCompileString
-

Instance Methods: Additional

exclusivelyBetween
inclusivelyBetween


Usage

  1. Initializes from integer numerator:

    FoscOffset(3, 1).format;
    3/1
  2. Initializes from integer numerator and denominator:

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

    FoscOffset(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.

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

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

    FoscOffset([3, 16]).format;
    3/16
  7. Initializes from duration:

    FoscOffset(FoscDuration(3, 16)).format;
    3/16
  8. Initializes from other offset:

    FoscOffset(FoscOffset(3, 16)).format;
    3/16
  9. Initializes from other offset with grace displacement:

    a = FoscOffset([3, 16], graceDisplacement: [-1, 16]);
    FoscOffset(a).format;
    3/16
  10. Intializes from fraction:

    FoscOffset(FoscFraction(3, 16)).format;
    3/16
  11. Initializes from solidus string:

    FIXME ERROR: String:reduceFraction: receiver size must be 2: 4.

    FoscOffset("3/16").format;
  12. Initializes from nonreduced fraction:

    FIXME: ERROR: syntax error, unexpected CLASSNAME, expecting NAME or WHILE or ‘[’ or ‘(’

    FoscOffset(mathtools.NonreducedFraction(6, 32)).format;
  13. FoscOffsets inherit from built-in fraction:

    FIXME: surely duration?

    FoscOffset(3, 16).isKindOf(FoscDuration).postln;
    true
  14. FoscOffsets are numeric:

    FIXME: not sure of an example for this.

    FoscOffset(3, 16);
    FoscOffset(3, 16)


Instance Properties


graceDisplacement

Gets grace displacement.

Defaults to nil.

Set to duration or nil.

Returns duration or nil.

  1. Gets grace displacement equal to nil

    a = FoscOffset(1, 4);
    a.graceDisplacement.isNil.postln;
    true
  2. Gets grace displacement equal to a negative sixteenth

    a = FoscOffset([1, 4], graceDisplacement: [-1, 16]);
    a.graceDisplacement.format;
    -1/16
  3. Stores zero-valued grace displacement as nil

    a = FoscOffset([1, 4], graceDisplacement: nil);
    a.graceDisplacement.isNil.postln;
    true


Instance Methods: Special Methods


copy

  1. Example

    a = FoscOffset(FoscDuration(3, 16), graceDisplacement: [1, 16]);
    a.copy;
    a.pair.postln;
    [ 3, 16 ]
    a.graceDisplacement.pair.postln;
    [ 1, 16 ]


deepCopy


==

  1. Example

    a = FoscOffset(1, 4, graceDisplacement: [-1, 16]);
    b = FoscOffset(1, 4, graceDisplacement: [-1, 16]);
    (a == b).postln;
    true
  2. Example

    a = FoscOffset(1, 4, graceDisplacement: [-1, 8]);
    b = FoscOffset(1, 4, graceDisplacement: [-1, 16]);
    (a == b).postln;
    false
  3. Example

    a = FoscOffset(1, 4);
    b = FoscOffset(2, 4);
    (a == b).postln;
    false


>=

  1. Example

    a = FoscOffset(1, 4, graceDisplacement: [-1, 16]);
    b = FoscOffset(1, 4, graceDisplacement: [-1, 16]);
    (a >= b).postln;
    true
  2. Example

    a = FoscOffset(1, 4, graceDisplacement: [-1, 8]);
    b = FoscOffset(1, 4, graceDisplacement: [-1, 16]);
    (a >= b).postln;
    false
  3. Example

    a = FoscOffset(1, 4);
    b = FoscOffset(2, 4);
    (a >= b).postln;
    false


storeArgs


>

  1. Example

    a = FoscOffset(1, 4, graceDisplacement: [-1, 16]);
    b = FoscOffset(1, 4, graceDisplacement: [-1, 16]);
    (a > b).postln;
    false
  2. Example

    a = FoscOffset(1, 4, graceDisplacement: [-1, 8]);
    b = FoscOffset(1, 4, graceDisplacement: [-1, 16]);
    (a > b).postln;
    false
  3. Example

    a = FoscOffset(2, 4);
    b = FoscOffset(1, 4);
    (a > b).postln;
    true
    (a > a).postln;
    false


hash


<=

  1. Example

    a = FoscOffset(1, 4, graceDisplacement: [-1, 16]);
    b = FoscOffset(1, 4, graceDisplacement: [-1, 16]);
    (a <= b).postln;
    true
  2. Example

    a = FoscOffset(1, 4, graceDisplacement: [-1, 8]);
    b = FoscOffset(1, 4, graceDisplacement: [-1, 16]);
    (a <= b).postln;
    true
  3. Example

    a = FoscOffset(2, 4);
    b = FoscOffset(1, 4);
    (a <= b).postln;
    false


<

  1. Example

    a = FoscOffset(1, 4, graceDisplacement: [-1, 16]);
    b = FoscOffset(1, 4, graceDisplacement: [-1, 16]);
    (a < b).postln;
    false
  2. Example

    a = FoscOffset(1, 4, graceDisplacement: [-1, 8]);
    b = FoscOffset(1, 4, graceDisplacement: [-1, 16]);
    (a < b).postln;
    true
  3. Example

    a = FoscOffset(2, 4);
    b = FoscOffset(1, 4);
    (a < b).postln;
    false


asCompileString


-


Instance Methods: Additional


exclusivelyBetween

  1. Example

    a = FoscOffset(1, 4);
    b = FoscOffset(4, 4);
    c = FoscOffset(2, 4);
    c.exclusivelyBetween(a, b).postln;
    true
    a.exclusivelyBetween(a, b).postln;
    false
    a.exclusivelyBetween(b, c).postln;
    false


inclusivelyBetween

  1. Example

    a = FoscOffset(1, 4);
    b = FoscOffset(4, 4);
    c = FoscOffset(2, 4);
    c.inclusivelyBetween(a, b).postln;
    true
    a.inclusivelyBetween(a, b).postln;
    true
    a.inclusivelyBetween(b, c).postln;
    false