Returns a FoscTimespanList.
Timespan list.
FIXME: examples passing keyword arguments to show are ineffective. Need to implement these in writePNG.
FIXME: FoscTimespanList.show doesn’t hide tagline
| allAreContiguous | Is true when all timespans are contiguous. |
| allAreNonoverlapping | Is true when all timespans are nonoverlapping. |
| allAreWellformed | Is true when all timespans are wellformed. |
| axis | Gets axis defined as equal to arithmetic mean of start- and stop-offsets. |
| duration | Gets duration of timespan list. |
| isSorted | Is true when timespans are in time order. |
| startOffset | Gets start offset. |
| stopOffset | Gets stop offset. |
| timespan | Gets timespan of timespan list. |
| asCompileString | |
| illustrate | Illustrates timespans. |
| invert | Inverts timespans. |
| show |
| - | (abjad: sub, -) |
| sect | (abjad: and) |
| computeSect | (abjad: compute_logical_and) |
| computeUnion | (abjad: computer_logical_or) |
| computeSymmetricDifference | (abjad: compute_logical_xor) |
| computeOverlapFactor | Computes overlap factor of timespans. |
| computeOverlapFactorMapping | Computes overlap factor for each consecutive offset pair in timespans. |
| countOffsets | Counts offsets. |
| explode | Explodes timespans into timespan lists, avoiding overlap, and distributing density as evenly as possible. |
| getTimespansThatSatisfyTimeRelation | • NOTE: use select instead |
| partition | Partitions timespans into timespan lists. |
| reflect | Reflects timespans. |
| removeDegenerateTimespans | Removes degenerate timespans. |
| roundOffsets | Rounds offsets of timespans in list to multiples of multiplier. |
| scale | Scales timespan by multiplier relative to anchor. |
| sort | |
| splitAtOffset | Splits timespans at offset. |
| splitAtOffsets | Splits timespans at offsets. |
| stretch | Stretches timespans by multiplier relative to anchor. |
| translate | Translates timespans by translation. |
| translateOffsets | Translates timespans by startOffsetTranslation and stopOffsetTranslation. |
Nonverlapping timespan list.
t = FoscTimespanList([
FoscTimespan(0, 3),
FoscTimespan(3, 6),
FoscTimespan(6, 10)
]);
t.show(scale: 0.5);
Nonverlapping timespan list.
t = FoscTimespanList([ FoscTimespan(0, 10), FoscTimespan(10, 20), FoscTimespan(30, 40) ]); t.show(scale: 0.5);
Overlapping timespan list.
t = FoscTimespanList([
FoscTimespan(0, 6),
FoscTimespan(5, 12),
FoscTimespan(-2, 8),
FoscTimespan(15, 20),
FoscTimespan(24, 30)
]);
t.show(scale: 0.5);
Overlapping timespan list.
t = FoscTimespanList([
FoscTimespan(0, 3),
FoscTimespan(5, 13),
FoscTimespan(6, 10),
FoscTimespan(8, 9),
FoscTimespan(15, 23),
FoscTimespan(16, 21),
FoscTimespan(17, 19),
FoscTimespan(19, 20),
FoscTimespan(25, 30),
FoscTimespan(26, 29),
FoscTimespan(32, 34),
FoscTimespan(34, 37),
]);
t.show(scale: 0.5);
Is true when all timespans are contiguous.
Returns true or false.
Is true when timespans are contiguous.
t = FoscTimespanList([
FoscTimespan(0, 3),
FoscTimespan(3, 6),
FoscTimespan(6, 10),
]);
t.allAreContiguous;trueIs false when timespans are not contiguous.
t = FoscTimespanList([
FoscTimespan(0, 3),
FoscTimespan(4, 6),
FoscTimespan(6, 10),
]);
t.allAreContiguous;falseIs true when receiver is empty.
t = FoscTimespanList();
t.allAreContiguous;trueIs true when all timespans are nonoverlapping.
Returns true or false.
Is true when all timespans are wellformed.
Returns true or false.
Is true when all timespans are well-formed.
t = FoscTimespanList([
FoscTimespan(0, 3),
FoscTimespan(3, 6),
FoscTimespan(6, 10),
]);
t.allAreWellformed;trueIs true when all timespans are well-formed.
t = FoscTimespanList([
FoscTimespan(0, 3),
FoscTimespan(2, 6),
FoscTimespan(6, 10),
]);
t.allAreWellformed;trueIs true when receiver is empty.
t = FoscTimespanList();
t.allAreWellformed;trueGets axis defined as equal to arithmetic mean of start- and stop-offsets.
Return offset or nil.
Get axis.
t = FoscTimespanList([
FoscTimespan(0, 3),
FoscTimespan(3, 6),
FoscTimespan(6, 10),
]);
t.axis.cs;FoscOffset(5, 1)Returns nil when receiver is empty.
t = FoscTimespanList();
t.axis;Gets duration of timespan list.
Returns duration.
Get duration.
t = FoscTimespanList([
FoscTimespan(0, 3),
FoscTimespan(3, 6),
FoscTimespan(6, 10),
]);
t.duration.cs;FoscDuration(10, 1)
t = FoscTimespanList([
FoscTimespan(0, 16),
FoscTimespan(5, 12),
FoscTimespan(-2, 8),
FoscTimespan(15, 20),
FoscTimespan(24, 30)
]);
t.duration.cs;FoscDuration(32, 1)Returns zero when timespan list is empty.
t = FoscTimespanList();
t.duration.cs;FoscDuration(0, 1)Is true when timespans are in time order.
Returns true or false.
Example
t = FoscTimespanList([
FoscTimespan(0, 3),
FoscTimespan(3, 6),
FoscTimespan(6, 10)
]);
t.isSorted;trueExample
t = FoscTimespanList([
FoscTimespan(0, 3),
FoscTimespan(6, 10),
FoscTimespan(3, 6)
]);
t.isSorted;falseGets start offset.
Defined as equal to earliest start offset of any timespan in list.
Returns offset or nil.
Example
a = FoscTimespan(0, 3);
b = FoscTimespan(3, 6);
c = FoscTimespan(6, 10);
t = FoscTimespanList([a, b, c]);
t.startOffset.str;0/1Gets stop offset.
Defined as equal to latest stop offset of any timespan.
Returns offset or nil.
Example
a = FoscTimespan(0, 3);
b = FoscTimespan(3, 6);
c = FoscTimespan(6, 10);
t = FoscTimespanList([a, b, c]);
t.stopOffset;FoscOffset(10, 1)Gets timespan of timespan list.
Returns timespan.
Example
t = FoscTimespanList([
FoscTimespan(0, 10),
FoscTimespan(10, 20),
FoscTimespan(30, 40)
]);
t.cs;FoscTimespanList([
FoscTimespan(0/1, 10/1),
FoscTimespan(10/1, 20/1),
FoscTimespan(30/1, 40/1)
])Illustrates timespans.
Returns LilyPond file.
Example
t = FoscTimespanList([
FoscTimespan(0, 3),
FoscTimespan(4, 6),
FoscTimespan(6, 10),
]);
f = t.illustrate(scale: 0.5);
f.format;\version "2.22.0"
\language "english"
\markup {
\column
{
\overlay
{
\translate
#'(1.0 . 1)
\sans
\fontsize
#-3
\center-align
\fraction
0
1
\translate
#'(23.5 . 1)
\sans
\fontsize
#-3
\center-align
\fraction
3
1
\translate
#'(31.0 . 1)
\sans
\fontsize
#-3
\center-align
\fraction
4
1
\translate
#'(46.0 . 1)
\sans
\fontsize
#-3
\center-align
\fraction
6
1
\translate
#'(76.0 . 1)
\sans
\fontsize
#-3
\center-align
\fraction
10
1
}
\pad-to-box
#'(0 . 74.0)
#'(0 . 2.5)
\postscript
#"
0.2 setlinewidth
1.0 0.5 moveto
23.5 0.5 lineto
stroke
1.0 1.25 moveto
1.0 -0.25 lineto
stroke
23.5 1.25 moveto
23.5 -0.25 lineto
stroke
31.0 0.5 moveto
46.0 0.5 lineto
stroke
31.0 1.25 moveto
31.0 -0.25 lineto
stroke
46.0 1.25 moveto
46.0 -0.25 lineto
stroke
46.0 0.5 moveto
76.0 0.5 lineto
stroke
46.0 1.25 moveto
46.0 -0.25 lineto
stroke
76.0 1.25 moveto
76.0 -0.25 lineto
stroke
0.1 setlinewidth
[ 0.1 0.2 ] 0 setdash
1.0 2.5 moveto
1.0 1 lineto
stroke
23.5 2.5 moveto
23.5 1 lineto
stroke
31.0 2.5 moveto
31.0 1 lineto
stroke
46.0 2.5 moveto
46.0 1 lineto
stroke
76.0 2.5 moveto
76.0 1 lineto
stroke
0 0 moveto
0.99 setgray
0 0.01 rlineto
stroke
"
}
}f.show;
Inverts timespans.
Returns new timespan list.
Example
t = FoscTimespanList([
FoscTimespan(-2, 8),
FoscTimespan(15, 20),
FoscTimespan(24, 30),
]);
t.show(scale: 0.5);
t.invert;
t.show(range: #[-2,30], scale: 0.5);
(abjad: sub, -)
Deletes material from receiver that intersects timespan.
Operates in place and returns timespan list.
Example
t = FoscTimespanList([
FoscTimespan(0, 16),
FoscTimespan(5, 12),
FoscTimespan(-2, 8),
]);
t.show(scale: 0.5);
a = FoscTimespan(5, 10);
t - a;
t.show(scale: 0.5);
(abjad: and)
Keeps material from receiver that intersects timespan.
Operates in place and returns timespan list.
Example
t = FoscTimespanList([
FoscTimespan(0, 16),
FoscTimespan(5, 12),
FoscTimespan(-2, 8),
]);
t.show(scale: 0.5);
a = FoscTimespan(5, 10);
t.sect(a);
t.show(range: #[-2,16], scale: 0.5);
(abjad: compute_logical_and)
Computes setwise intersection (logical AND) of timespans.
Operates in place and returns timespan list.
Example
t = FoscTimespanList([
FoscTimespan(0, 10),
FoscTimespan(5, 12)
]);
t.show(scale: 0.5);
t.computeSect;
t.show(range: #[0,12], scale: 0.5);
Example
t = FoscTimespanList([
FoscTimespan(0, 10),
FoscTimespan(5, 12),
FoscTimespan(-2, 8)
]);
t.show(range: #[-2,12], scale: 0.5);
t.computeSect;
t.show(range: #[0,12], scale: 0.5);
(abjad: computer_logical_or)
Computes union (logical OR) of timespans.
Operates in place and returns timespan list.
Example
t = FoscTimespanList([
FoscTimespan(0, 10),
FoscTimespan(5, 12)
]);
t.show(scale: 0.5);
t.computeUnion;
t.show(range: #[0,12], scale: 0.5);
Example
t = FoscTimespanList([
FoscTimespan(0, 10),
FoscTimespan(5, 12),
FoscTimespan(-2, 8)
]);
t.show(range: #[-2,12], scale: 0.5);
t.computeUnion;
t.show(range: #[-2,12], scale: 0.5);
(abjad: compute_logical_xor)
Computes symmetric difference (logical XOR) of timespans.
Operates in place and returns timespan list.
Example
t = FoscTimespanList([
FoscTimespan(0, 10),
FoscTimespan(5, 12)
]);
t.show(scale: 0.5);
t.computeSymmetricDifference;
t.cs;FoscTimespanList([
FoscTimespan(0/1, 5/1),
FoscTimespan(10/1, 12/1)
])
t.show(range: #[0,12], scale: 0.5);
Example
t = FoscTimespanList([
FoscTimespan(0, 10),
FoscTimespan(5, 12),
FoscTimespan(-2, 2)
]);
t.cs;FoscTimespanList([
FoscTimespan(0/1, 10/1),
FoscTimespan(5/1, 12/1),
FoscTimespan(-2/1, 2/1)
])
t.computeSymmetricDifference;
t.cs;FoscTimespanList([
FoscTimespan(-2/1, 0/1),
FoscTimespan(2/1, 5/1),
FoscTimespan(10/1, 12/1)
])Example
t = FoscTimespanList([
FoscTimespan(0, 10),
FoscTimespan(4, 8),
FoscTimespan(2, 6)
]);
t.cs;FoscTimespanList([
FoscTimespan(0/1, 10/1),
FoscTimespan(4/1, 8/1),
FoscTimespan(2/1, 6/1)
])
t.computeSymmetricDifference;
t.cs;FoscTimespanList([
FoscTimespan(0/1, 2/1),
FoscTimespan(8/1, 10/1)
])Example
t = FoscTimespanList([
FoscTimespan(0, 10),
FoscTimespan(0, 10)
]);
t.cs;FoscTimespanList([
FoscTimespan(0/1, 10/1),
FoscTimespan(0/1, 10/1)
])
t.computeSymmetricDifference;
t.cs;FoscTimespanList([])Computes overlap factor of timespans.
Returns multiplier.
Example
l = FoscTimespanList([
FoscTimespan(0, 10),
FoscTimespan(5, 15),
FoscTimespan(20, 25),
FoscTimespan(20, 30),
]);FoscTimespanList([
FoscTimespan(0/1, 10/1),
FoscTimespan(5/1, 15/1),
FoscTimespan(20/1, 25/1),
FoscTimespan(20/1, 30/1)
])Computes overlap factor across the entire list.
l.computeOverlapFactor.cs;FoscMultiplier(7, 6)Computes overlap factor within a specific timespan.
l.computeOverlapFactor(FoscTimespan(-15, 0)).cs;FoscMultiplier(0, 1)Computes overlap factor.
l.computeOverlapFactor(FoscTimespan(-10, 5)).cs;FoscMultiplier(1, 3)Computes overlap factor.
l.computeOverlapFactor(FoscTimespan(-5, 10)).cs;FoscMultiplier(1, 1)Computes overlap factor.
l.computeOverlapFactor(FoscTimespan(0, 15)).cs;FoscMultiplier(4, 3)Computes overlap factor.
l.computeOverlapFactor(FoscTimespan(5, 20)).cs;FoscMultiplier(1, 1)Computes overlap factor.
l.computeOverlapFactor(FoscTimespan(10, 25)).cs;FoscMultiplier(1, 1)Computes overlap factor.
l.computeOverlapFactor(FoscTimespan(15, 30)).cs;FoscMultiplier(1, 1)Computes overlap factor for each consecutive offset pair in timespans.
Returns mapping.
Computes overlap factor mapping.
l = FoscTimespanList([
FoscTimespan(0, 10),
FoscTimespan(5, 15),
FoscTimespan(20, 25),
FoscTimespan(20, 30),
]);
m = l.computeOverlapFactorMapping;
m.asSortedArray.collect { |each| "%: %".format(each[0].cs, each[1].cs) };[ "FoscTimespan(0/1, 5/1): FoscMultiplier(1, 1)", "FoscTimespan(5/1, 10/1): FoscMultiplier(2, 1)", "FoscTimespan(10/1, 15/1): FoscMultiplier(1, 1)", "FoscTimespan(15/1, 20/1): FoscMultiplier(0, 1)", "FoscTimespan(20/1, 25/1): FoscMultiplier(2, 1)", "FoscTimespan(25/1, 30/1): FoscMultiplier(1, 1)" ]Counts offsets.
Returns an array of offsets and counts.
Example
a = FoscTimespanList([
FoscTimespan(-2, 6),
FoscTimespan(0, 6),
FoscTimespan(5, 6),
FoscTimespan(10, 12),
FoscTimespan(10, 16)
]);
b = a.countOffsets;
b.collect { |each| [each[0].cs, each[1]] };[ [ "FoscOffset(-2, 1)", 1 ], [ "FoscOffset(0, 1)", 1 ], [ "FoscOffset(5, 1)", 1 ], [ "FoscOffset(6, 1)", 3 ], [ "FoscOffset(10, 1)", 2 ], [ "FoscOffset(12, 1)", 1 ], [ "FoscOffset(16, 1)", 1 ] ]Explodes timespans into timespan lists, avoiding overlap, and distributing density as evenly as possible.
Returns timespan lists.
Example
l = FoscTimespanList([
FoscTimespan(0, 3),
FoscTimespan(5, 13),
FoscTimespan(6, 10),
FoscTimespan(8, 9),
FoscTimespan(15, 23),
FoscTimespan(16, 21),
FoscTimespan(17, 19),
FoscTimespan(19, 20),
FoscTimespan(25, 30),
FoscTimespan(26, 29),
FoscTimespan(32, 34),
FoscTimespan(34, 37),
]);
m = l.explode;
m.collect { |timespanList| timespanList.cs };[ "FoscTimespanList([
FoscTimespan(0/1, 3/1),
FoscTimespan(5/1, 13/1),
FoscTimespan(17/1, 19/1),
FoscTimespan(19/1, 20/1)
])", "FoscTimespanList([
FoscTimespan(6/1, 10/1),
FoscTimespan(16/1, 21/1),
FoscTimespan(26/1, 29/1),
FoscTimespan(32/1, 34/1)
])", "FoscTimespanList([
FoscTimespan(8/1, 9/1),
FoscTimespan(15/1, 23/1),
FoscTimespan(25/1, 30/1),
FoscTimespan(34/1, 37/1)
])" ]Example
l = FoscTimespanList([
FoscTimespan(0, 6),
FoscTimespan(5, 12),
FoscTimespan(-2, 8),
FoscTimespan(15, 20),
FoscTimespan(24, 30)
]);
m = l.explode;
m.collect { |timespanList| timespanList.cs };[ "FoscTimespanList([
FoscTimespan(0/1, 6/1),
FoscTimespan(15/1, 20/1)
])", "FoscTimespanList([
FoscTimespan(5/1, 12/1),
FoscTimespan(24/1, 30/1)
])", "FoscTimespanList([
FoscTimespan(-2/1, 8/1)
])" ]• NOTE: use select instead
Example
l = FoscTimespanList([
FoscTimespan(0, 3),
FoscTimespan(3, 6),
FoscTimespan(6, 10)
]);
m = FoscTimespan(8, 15);
z = l.select { |timespan| timespan.intersectsTimespan(m) };
z.cs;FoscTimespanList([
FoscTimespan(6/1, 10/1)
])Partitions timespans into timespan lists.
Returns zero or more timespan lists.
Partition timespans.
l = FoscTimespanList([
FoscTimespan(0, 3),
FoscTimespan(3, 6),
FoscTimespan(6, 10)
]);
m = l.partition;
m.collect { |timespanList| timespanList.cs };[ "FoscTimespanList([
FoscTimespan(0/1, 3/1)
])", "FoscTimespanList([
FoscTimespan(3/1, 6/1)
])", "FoscTimespanList([
FoscTimespan(6/1, 10/1)
])" ]Partition timespans.
l = FoscTimespanList([
FoscTimespan(0, 16),
FoscTimespan(5, 12),
FoscTimespan(-2 ,8),
FoscTimespan(15, 20),
FoscTimespan(24, 30)
]);
m = l.partition;
m.collect { |timespanList| timespanList.cs };[ "FoscTimespanList([
FoscTimespan(0/1, 16/1),
FoscTimespan(5/1, 12/1),
FoscTimespan(-2/1, 8/1),
FoscTimespan(15/1, 20/1)
])", "FoscTimespanList([
FoscTimespan(24/1, 30/1)
])" ]Treats tangent timespans as part of the same group when includeTangentTimespans is true.
l = FoscTimespanList([
FoscTimespan(0, 3),
FoscTimespan(3, 6),
FoscTimespan(6, 10)
]);
m = l.partition(includeTangentTimespans: true);
m.collect { |timespanList| timespanList.cs };[ "FoscTimespanList([
FoscTimespan(0/1, 3/1),
FoscTimespan(3/1, 6/1),
FoscTimespan(6/1, 10/1)
])" ]Reflects timespans.
Operates in place and returns timespan list.
Reflects timespans about timespan list axis.
l = FoscTimespanList([
FoscTimespan(0, 3),
FoscTimespan(3, 6),
FoscTimespan(6, 10)
]);
l.show(scale: 0.5);
l.reflect;
l.show(scale: 0.5);
Reflects timespans about arbitrary axis.
l = FoscTimespanList([
FoscTimespan(0, 3),
FoscTimespan(3, 6),
FoscTimespan(6, 10)
]);
l.show(range: #[0,30], scale: 0.5);
l.reflect(15);
l.show(range: #[0,30], scale: 0.5);
Removes degenerate timespans.
Operates in place and returns timespan list.
Example
l = FoscTimespanList([
FoscTimespan(5, 5),
FoscTimespan(5, 10),
FoscTimespan(5, 25)
]);
l.removeDegenerateTimespans;
l.cs;FoscTimespanList([
FoscTimespan(5/1, 10/1),
FoscTimespan(5/1, 25/1)
])Rounds offsets of timespans in list to multiples of multiplier.
Operates in place and returns timespan list.
Rounds offsets relative to timespan list start offset.
l = FoscTimespanList([
FoscTimespan(0, 3),
FoscTimespan(3, 6),
FoscTimespan(6, 10)
]);
l.roundOffsets(3);
l.cs;FoscTimespanList([
FoscTimespan(0/1, 3/1),
FoscTimespan(3/1, 6/1),
FoscTimespan(6/1, 9/1)
])Rounds offsets relative to timespan list stop offset.
l = FoscTimespanList([
FoscTimespan(0, 2),
FoscTimespan(3, 6),
FoscTimespan(6, 10)
]);
l.roundOffsets(5, anchor: 'right');
l.cs;FoscTimespanList([
FoscTimespan(-5/1, 0/1),
FoscTimespan(0/1, 5/1),
FoscTimespan(5/1, 10/1)
])Scales timespan by multiplier relative to anchor.
Operates in place and returns timespan list.
Scales timespans relative to timespan list start offset.
l = FoscTimespanList([
FoscTimespan(0, 3),
FoscTimespan(3, 6),
FoscTimespan(6, 10)
]);
l.scale(2);
l.cs;FoscTimespanList([
FoscTimespan(0/1, 6/1),
FoscTimespan(3/1, 9/1),
FoscTimespan(6/1, 14/1)
])Scales timespans relative to timespan list stop offset.
l = FoscTimespanList([
FoscTimespan(0, 3),
FoscTimespan(3, 6),
FoscTimespan(6, 10)
]);
l.scale(2, anchor: 'right');
l.cs;FoscTimespanList([
FoscTimespan(-3/1, 3/1),
FoscTimespan(0/1, 6/1),
FoscTimespan(2/1, 10/1)
])Example
l = FoscTimespanList([
FoscTimespan(6, 10),
FoscTimespan(0, 3),
FoscTimespan(3, 6)
]);
l.sort.cs;FoscTimespanList([
FoscTimespan(0/1, 3/1),
FoscTimespan(3/1, 6/1),
FoscTimespan(6/1, 10/1)
])Splits timespans at offset.
Returns array of FoscTimespanLists.
Splits at offset.
l = FoscTimespanList([
FoscTimespan(0, 3),
FoscTimespan(3, 6),
FoscTimespan(6, 10)
]);
m = l.splitAtOffset(4);
m.collect { |timespanList| timespanList.cs };[ "FoscTimespanList([
FoscTimespan(0/1, 3/1),
FoscTimespan(3/1, 4/1)
])", "FoscTimespanList([
FoscTimespan(4/1, 6/1),
FoscTimespan(6/1, 10/1)
])" ]Splits at offset.
l = FoscTimespanList([
FoscTimespan(0, 3),
FoscTimespan(3, 6),
FoscTimespan(6, 10)
]);
m = l.splitAtOffset(-1);
m.collect { |timespanList| timespanList.cs };[ "FoscTimespanList([])", "FoscTimespanList([
FoscTimespan(0/1, 3/1),
FoscTimespan(3/1, 6/1),
FoscTimespan(6/1, 10/1)
])" ]Splits timespans at offsets.
Returns one or more timespan lists.
Splits at offset3.
l = FoscTimespanList([
FoscTimespan(0, 3),
FoscTimespan(3, 6),
FoscTimespan(4, 10),
FoscTimespan(15, 20)
]);
m = l.splitAtOffsets(#[-1,3,6,12,13]);
m.collect { |timespanList| timespanList.cs };[ "FoscTimespanList([
FoscTimespan(0/1, 3/1)
])", "FoscTimespanList([
FoscTimespan(3/1, 6/1),
FoscTimespan(4/1, 6/1)
])", "FoscTimespanList([
FoscTimespan(6/1, 10/1)
])", "FoscTimespanList([
FoscTimespan(15/1, 20/1)
])" ]Stretches timespans by multiplier relative to anchor.
Operates in place and returns timespan list.
Stretches timespans relative to timespan list start offset.
l = FoscTimespanList([
FoscTimespan(0, 3),
FoscTimespan(3, 6),
FoscTimespan(6, 10)
]);
l.stretch(2);
l.cs;FoscTimespanList([
FoscTimespan(0/1, 6/1),
FoscTimespan(6/1, 12/1),
FoscTimespan(12/1, 20/1)
])Stretches timespans relative to timespan list stop offset.
l = FoscTimespanList([
FoscTimespan(0, 3),
FoscTimespan(3, 6),
FoscTimespan(6, 10)
]);
l.stretch(2, anchor: l.stopOffset);
l.cs;FoscTimespanList([
FoscTimespan(-10/1, -4/1),
FoscTimespan(-4/1, 2/1),
FoscTimespan(2/1, 10/1)
])Translates timespans by translation.
Operates in place and returns timespan list.
Translate timespan by offset 50.
l = FoscTimespanList([
FoscTimespan(0, 3),
FoscTimespan(3, 6),
FoscTimespan(6, 10)
]);
l.translate(50);
l.cs;FoscTimespanList([
FoscTimespan(50/1, 53/1),
FoscTimespan(53/1, 56/1),
FoscTimespan(56/1, 60/1)
])Translates timespans by startOffsetTranslation and stopOffsetTranslation.
Operates in place and returns timespan list.
Stretches timespans relative to timespan list start offset.
l = FoscTimespanList([
FoscTimespan(0, 3),
FoscTimespan(3, 6),
FoscTimespan(6, 10)
]);
l.translateOffsets(50, 50);
l.cs;FoscTimespanList([
FoscTimespan(50/1, 53/1),
FoscTimespan(53/1, 56/1),
FoscTimespan(56/1, 60/1)
])Translate timespan stop offsets only.
l = FoscTimespanList([
FoscTimespan(0, 3),
FoscTimespan(3, 6),
FoscTimespan(6, 10)
]);
l.translateOffsets(stopOffsetTranslation: 20);
l.cs;FoscTimespanList([
FoscTimespan(0/1, 23/1),
FoscTimespan(3/1, 26/1),
FoscTimespan(6/1, 30/1)
])