Class: HeadMusic::Instruments::InstrumentConfigurationOption
- Inherits:
-
Object
- Object
- HeadMusic::Instruments::InstrumentConfigurationOption
- Defined in:
- lib/head_music/instruments/instrument_configuration_option.rb
Overview
An option for an instrument configuration.
Examples:
- Piccolo trumpet leadpipe: "a" option with transposition_semitones: -1
- Bass trombone F attachment: "engaged" option with lowest_pitch_semitones: -6
- Trumpet mute: "straight", "cup", "harmon" options (no pitch effects)
Instance Attribute Summary collapse
-
#default ⇒ Object
readonly
Returns the value of attribute default.
-
#lowest_pitch_semitones ⇒ Object
readonly
Returns the value of attribute lowest_pitch_semitones.
-
#name_key ⇒ Object
readonly
Returns the value of attribute name_key.
-
#transposition_semitones ⇒ Object
readonly
Returns the value of attribute transposition_semitones.
Instance Method Summary collapse
- #==(other) ⇒ Object
- #affects_range? ⇒ Boolean
- #affects_transposition? ⇒ Boolean
- #default? ⇒ Boolean
-
#initialize(name_key:, default: false, transposition_semitones: nil, lowest_pitch_semitones: nil) ⇒ InstrumentConfigurationOption
constructor
A new instance of InstrumentConfigurationOption.
- #to_s ⇒ Object
Constructor Details
#initialize(name_key:, default: false, transposition_semitones: nil, lowest_pitch_semitones: nil) ⇒ InstrumentConfigurationOption
Returns a new instance of InstrumentConfigurationOption.
12 13 14 15 16 17 |
# File 'lib/head_music/instruments/instrument_configuration_option.rb', line 12 def initialize(name_key:, default: false, transposition_semitones: nil, lowest_pitch_semitones: nil) @name_key = name_key.to_sym @default = default @transposition_semitones = transposition_semitones @lowest_pitch_semitones = lowest_pitch_semitones end |
Instance Attribute Details
#default ⇒ Object (readonly)
Returns the value of attribute default.
10 11 12 |
# File 'lib/head_music/instruments/instrument_configuration_option.rb', line 10 def default @default end |
#lowest_pitch_semitones ⇒ Object (readonly)
Returns the value of attribute lowest_pitch_semitones.
10 11 12 |
# File 'lib/head_music/instruments/instrument_configuration_option.rb', line 10 def lowest_pitch_semitones @lowest_pitch_semitones end |
#name_key ⇒ Object (readonly)
Returns the value of attribute name_key.
10 11 12 |
# File 'lib/head_music/instruments/instrument_configuration_option.rb', line 10 def name_key @name_key end |
#transposition_semitones ⇒ Object (readonly)
Returns the value of attribute transposition_semitones.
10 11 12 |
# File 'lib/head_music/instruments/instrument_configuration_option.rb', line 10 def transposition_semitones @transposition_semitones end |
Instance Method Details
#==(other) ⇒ Object
31 32 33 |
# File 'lib/head_music/instruments/instrument_configuration_option.rb', line 31 def ==(other) to_s == other.to_s end |
#affects_range? ⇒ Boolean
27 28 29 |
# File 'lib/head_music/instruments/instrument_configuration_option.rb', line 27 def affects_range? !lowest_pitch_semitones.nil? end |
#affects_transposition? ⇒ Boolean
23 24 25 |
# File 'lib/head_music/instruments/instrument_configuration_option.rb', line 23 def affects_transposition? !transposition_semitones.nil? end |
#default? ⇒ Boolean
19 20 21 |
# File 'lib/head_music/instruments/instrument_configuration_option.rb', line 19 def default? @default == true end |
#to_s ⇒ Object
35 36 37 |
# File 'lib/head_music/instruments/instrument_configuration_option.rb', line 35 def to_s name_key.to_s end |