Returns a FoscMetronomeMark.
Tempo indicator.
| *makeTempoEquationMarkup |
| context | |
| customMarkup | |
| isImprecise | Is true if tempo is entirely textual or if tempo’s units_per_minute is a range. Otherwise false. |
| quartersPerMinute | |
| referenceDuration | |
| textualIndication | |
| unitsPerMinute |
| + | (abjad: add) |
| / | (abjad: div) |
| format | |
| == | (not in abjad ?) |
| < | (abjad: lt) |
| * | (abjad mul) |
| [(abjad:](#(abjad:) | rmul) |
| asCompileString | (abjad: str) |
| - | (abjad: sub) |
| [(abjad:](#(abjad:) | truediv) |
| durationToSeconds | (abjad: duration_to_milliseconds) |
| listRelatedTempos | (abjad: list_related_tempos) |
| unitDuration | (not in abjad – for compatibility with SuperCollider) |
| unitTempo | (not in abjad – for compatibility with SuperCollider) |
Initialize integer-valued metronome mark.
a = FoscScore();
b = FoscStaff(FoscLeafMaker().(#[60,62,64,65], [1/8]));
a.add(b);
m = FoscMetronomeMark(#[1,4], 90);
b[0].attach(m);
a.show;
!!!TODO: incomplete implementation
Initialize rational-valued metronome mark.
a = FoscScore();
b = FoscStaff(FoscLeafMaker().(#[60,62,64,65], [1/8]));
a.add(b);
m = FoscMetronomeMark(#[1,4], FoscFraction(182, 2));
b[0].attach(m);
a.show;Initialize from text, duration, and range.
a = FoscScore();
b = FoscStaff(FoscLeafMaker().(#[60,62,64,65], [1/8]));
a.add(b);
m = FoscMetronomeMark(#[1,4], #[120, 133], "Quick");
b[0].attach(m);
a.show;
!!!TODO: incomplete implementation
Use rational-value units-per-minute together with custom markup for float-valued metronome marks.
a = FoscScore();
b = FoscStaff(FoscLeafMaker().(#[60,62,64,65], [1/8]));
a.add(b);
t = FoscMetronomeMark.makeTempoEquationMarkup(#[1,4], 90.1);
m = FoscMetronomeMark(#[1,4], FoscFraction(#[900,10]), customMarkup: t);
b[0].attach(m);
a.show;Is true if tempo is entirely textual or if tempo’s units_per_minute is a range. Otherwise false.
Returns true or false.
Example
FoscMetronomeMark(FoscDuration(1, 4), 60).isImprecise.postln; // falsefalse
FoscMetronomeMark(4, 60, 'Langsam').isImprecise.postln; // falsefalse
FoscMetronomeMark(textualIndication: 'Langsam').isImprecise.postln; // truefalse
FoscMetronomeMark(4, [35, 50], 'Langsam').isImprecise.postln; // truetrue
FoscMetronomeMark(FoscDuration(1, 4), [35, 50]).isImprecise.postln; // truetrueExample
a = FoscMetronomeMark(FoscDuration(1, 8), 60);
a.quartersPerMinute.postln;30.0(abjad: add)
(abjad: div)
(not in abjad ?)
Example
a = FoscMetronomeMark([1, 4], 72);
b = FoscMetronomeMark([1, 4], 72);
c = FoscMetronomeMark([1, 8], 72);
d = FoscMetronomeMark([1, 4], 60);
(a == b).postln; // truetrue
(a == c).postln; // falsefalse
(a == d).postln; // falsefalse(abjad: lt)
(abjad mul)
rmul)
(abjad: str)
(abjad: sub)
truediv)
(abjad: duration_to_milliseconds)
A quarter-note lasts a second at quarter equals 60.
a = FoscMetronomeMark(#[1,4], 60);
a.durationToSeconds(1/4).asFloat.postln;1.0A quarter-note lasts 2/3 of a second at quarter equals 60.
a = FoscMetronomeMark(#[1,4], 90);
a.durationToSeconds(1/4).asFloat.postln;0.66666666666667(abjad: list_related_tempos)
(not in abjad – for compatibility with SuperCollider)
Example
a = FoscMetronomeMark([1, 4], 60);
a.unitDuration.asFloat.postln;1.0Example
a = FoscMetronomeMark([1, 4], 120);
a.unitDuration.asFloat.postln;0.5(not in abjad – for compatibility with SuperCollider)
Example
a = FoscMetronomeMark([1, 4], 60);
a.unitTempo.asFloat.postln;1.0
a = FoscMetronomeMark([1, 4], 120);
a.unitTempo.postln;2.0