Class: HeadMusic::Rudiment::DiatonicContext
Overview
Abstract class representing a diatonic tonal context (7-note scale system)
Instance Method Summary
collapse
Instance Method Details
#key_signature ⇒ Object
14
15
16
|
# File 'lib/head_music/rudiment/diatonic_context.rb', line 14
def key_signature
@key_signature ||= HeadMusic::Rudiment::KeySignature.from_scale(scale)
end
|
#parallel ⇒ Object
22
23
24
|
# File 'lib/head_music/rudiment/diatonic_context.rb', line 22
def parallel
raise NotImplementedError, "Subclasses must implement #parallel"
end
|
#relative ⇒ Object
18
19
20
|
# File 'lib/head_music/rudiment/diatonic_context.rb', line 18
def relative
raise NotImplementedError, "Subclasses must implement #relative"
end
|
#scale ⇒ Object
10
11
12
|
# File 'lib/head_music/rudiment/diatonic_context.rb', line 10
def scale
@scale ||= HeadMusic::Rudiment::Scale.get(tonic_spelling, scale_type)
end
|
#scale_type ⇒ Object
6
7
8
|
# File 'lib/head_music/rudiment/diatonic_context.rb', line 6
def scale_type
raise NotImplementedError, "Subclasses must implement #scale_type"
end
|