Returns a FoscPitchParser.
Pitch parser
| pitches | Returns parser result as an array of pitches and/or pitch segments. |
Example
n = [60, 62, 64];
FoscPitchParser(n).collect { |each| each.cs };[ "FoscPitch('C4')", "FoscPitch('D4')", "FoscPitch('E4')" ]Can contain nil (for use in FoscMaker classes)
n = [60, 62, nil, 64];
FoscPitchParser(n).collect { |each| each.cs };[ "FoscPitch('C4')", "FoscPitch('D4')", "nil", "FoscPitch('E4')" ]Example
n = "Bb4 F#5 C4 <Cb4 E+4 G4> D+5 <C4 E4 G4>";
FoscPitchParser(n).collect { |each| each.cs };[ "FoscPitch('Bb4')", "FoscPitch('F#5')", "FoscPitch('C4')", "FoscPitchSegment([
FoscPitch('Cb4'),
FoscPitch('E+4'),
FoscPitch('G4')
])", "FoscPitch('D+5')", "FoscPitchSegment([
FoscPitch('C4'),
FoscPitch('E4'),
FoscPitch('G4')
])" ]Example
n = [60, 62, 64, 'F#5', 'G#5', 'A#5'];
FoscPitchParser(n).collect { |each| each.cs };[ "FoscPitch('C4')", "FoscPitch('D4')", "FoscPitch('E4')", "FoscPitch('F#5')", "FoscPitch('G#5')", "FoscPitch('A#5')" ]Example
n = [60, 62, 64, ['F#5', 'G#5', 'A#5']];
FoscPitchParser(n).collect { |each| each.cs };[ "FoscPitch('C4')", "FoscPitch('D4')", "FoscPitch('E4')", "FoscPitchSegment([
FoscPitch('F#5'),
FoscPitch('G#5'),
FoscPitch('A#5')
])" ]!!!TODO: this should raise an exception
FoscPitchParser(['foo']);ERROR: Message 'at' not understood.Returns parser result as an array of pitches and/or pitch segments.
Example
x = "Bb4 A#2 C3 <Cb4 E+4 G4> D+-1 <C4 Eb4 G4>";
y = FoscPitchStringParser(x);
y.pitches.printAll;Example
x = "Bb4 A#2 C3 C4 Eb4 Gb~4 D~5 C#+4 Eb4 G4";
y = FoscPitchStringParser(x);
y.matchingItems.printAll;