Module: OutroRails::InstrumentsHelper
- Included in:
- ApplicationHelper, ChordChartsHelper
- Defined in:
- app/helpers/outro_rails/instruments_helper.rb
Constant Summary collapse
- GUITAR_STANDARD_TUNING =
Instruments::Guitar::STANDARD_TUNING
Instance Method Summary collapse
- #guitar_open_midis(tuning = GUITAR_STANDARD_TUNING) ⇒ Object
- #guitar_positions(positions) ⇒ Object
- #guitar_tuning_options ⇒ Object
- #guitar_tunings ⇒ Object
- #midi_to_note(midi, prefer: :sharps) ⇒ Object (also: #piano_midi_to_note)
- #midi_to_note_name(midi, prefer: :sharps) ⇒ Object
- #note_to_midi(note) ⇒ Object (also: #piano_note_to_midi)
- #piano_keys_between(start_note, end_note, prefer: :sharps) ⇒ Object
Instance Method Details
#guitar_open_midis(tuning = GUITAR_STANDARD_TUNING) ⇒ Object
29 30 31 |
# File 'app/helpers/outro_rails/instruments_helper.rb', line 29 def guitar_open_midis(tuning = GUITAR_STANDARD_TUNING) Instruments::Guitar.new(tuning: tuning).open_midis end |
#guitar_positions(positions) ⇒ Object
33 34 35 |
# File 'app/helpers/outro_rails/instruments_helper.rb', line 33 def guitar_positions(positions) Instruments::Guitar.normalize_positions(positions) end |
#guitar_tuning_options ⇒ Object
11 12 13 |
# File 'app/helpers/outro_rails/instruments_helper.rb', line 11 def guitar_tunings.map { |tuning| [ tuning.label, tuning.slug ] } end |
#guitar_tunings ⇒ Object
7 8 9 |
# File 'app/helpers/outro_rails/instruments_helper.rb', line 7 def guitar_tunings Instruments::Guitar::Tunings.all end |
#midi_to_note(midi, prefer: :sharps) ⇒ Object Also known as: piano_midi_to_note
20 21 22 |
# File 'app/helpers/outro_rails/instruments_helper.rb', line 20 def midi_to_note(midi, prefer: :sharps) Theory::Pitch.from_midi(midi, prefer: prefer).to_s end |
#midi_to_note_name(midi, prefer: :sharps) ⇒ Object
25 26 27 |
# File 'app/helpers/outro_rails/instruments_helper.rb', line 25 def midi_to_note_name(midi, prefer: :sharps) Theory::Pitch.from_midi(midi, prefer: prefer).note_name.to_s end |
#note_to_midi(note) ⇒ Object Also known as: piano_note_to_midi
15 16 17 |
# File 'app/helpers/outro_rails/instruments_helper.rb', line 15 def note_to_midi(note) Theory::Pitch.parse(note).midi end |
#piano_keys_between(start_note, end_note, prefer: :sharps) ⇒ Object
37 38 39 |
# File 'app/helpers/outro_rails/instruments_helper.rb', line 37 def piano_keys_between(start_note, end_note, prefer: :sharps) Instruments::Piano.keys_between(start_note, end_note, prefer: prefer) end |