Module: Music::Transcription::Parsing

Defined in:
lib/music-transcription/parsing/note_node.rb,
lib/music-transcription/parsing/link_nodes.rb,
lib/music-transcription/parsing/pitch_node.rb,
lib/music-transcription/parsing/link_parsing.rb,
lib/music-transcription/parsing/note_parsing.rb,
lib/music-transcription/parsing/meter_parsing.rb,
lib/music-transcription/parsing/pitch_parsing.rb,
lib/music-transcription/parsing/duration_nodes.rb,
lib/music-transcription/parsing/segment_parsing.rb,
lib/music-transcription/parsing/duration_parsing.rb,
lib/music-transcription/parsing/convenience_methods.rb,
lib/music-transcription/parsing/articulation_parsing.rb,
lib/music-transcription/parsing/numbers/positive_integer_parsing.rb,
lib/music-transcription/parsing/numbers/nonnegative_float_parsing.rb,
lib/music-transcription/parsing/numbers/nonnegative_integer_parsing.rb,
lib/music-transcription/parsing/numbers/nonnegative_rational_parsing.rb

Defined Under Namespace

Modules: Articulation, Duration, Link, Meter, NonnegativeFloat, NonnegativeInteger, NonnegativeRational, Note, Pitch, PositiveInteger, Segment Classes: ArticulationParser, DenOnlyNode, DurationParser, GlissandoNode, LegatoNode, LinkNode, LinkParser, MeterParser, NonnegativeFloatParser, NonnegativeIntegerParser, NonnegativeRationalParser, NoteNode, NoteParser, NumDenNode, NumOnlyNode, PitchNode, PitchParser, PortamentoNode, PositiveIntegerParser, SegmentParser, SlurNode, TieNode

Constant Summary collapse

DURATION_PARSER =
DurationParser.new
PITCH_PARSER =
PitchParser.new
NOTE_PARSER =
NoteParser.new
METER_PARSER =
MeterParser.new
SEGMENT_PARSER =
SegmentParser.new

Class Method Summary collapse

Class Method Details

.durObject



13
14
15
# File 'lib/music-transcription/parsing/convenience_methods.rb', line 13

def duration dur_str
  DURATION_PARSER.parse(dur_str).to_r
end

.duration(dur_str) ⇒ Object



10
11
12
# File 'lib/music-transcription/parsing/convenience_methods.rb', line 10

def duration dur_str
  DURATION_PARSER.parse(dur_str).to_r
end

.durations(durs_str) ⇒ Object



17
18
19
20
21
# File 'lib/music-transcription/parsing/convenience_methods.rb', line 17

def durations durs_str
  durs_str.split.map do |dur_str|
    duration(dur_str)
  end
end

.dursObject



22
23
24
25
26
# File 'lib/music-transcription/parsing/convenience_methods.rb', line 22

def durations durs_str
  durs_str.split.map do |dur_str|
    duration(dur_str)
  end
end

.meter(meter_str) ⇒ Object



50
51
52
# File 'lib/music-transcription/parsing/convenience_methods.rb', line 50

def meter meter_str
  METER_PARSER.parse(meter_str).to_meter
end

.note(note_str) ⇒ Object



38
39
40
# File 'lib/music-transcription/parsing/convenience_methods.rb', line 38

def note note_str
  NOTE_PARSER.parse(note_str).to_note
end

.notes(notes_str) ⇒ Object



43
44
45
46
47
# File 'lib/music-transcription/parsing/convenience_methods.rb', line 43

def notes notes_str
  notes_str.split.map do |note_str|
    note(note_str)
  end
end

.pitch(p_str) ⇒ Object



26
27
28
# File 'lib/music-transcription/parsing/convenience_methods.rb', line 26

def pitch p_str
  PITCH_PARSER.parse(p_str).to_pitch
end

.pitches(ps_str) ⇒ Object



31
32
33
34
35
# File 'lib/music-transcription/parsing/convenience_methods.rb', line 31

def pitches ps_str
  ps_str.split.map do |p_str|
    pitch(p_str)
  end
end

.segment(seg_str) ⇒ Object



55
56
57
# File 'lib/music-transcription/parsing/convenience_methods.rb', line 55

def segment seg_str
  SEGMENT_PARSER.parse(seg_str).to_range
end