Module: Tetsujin::DSL::Instrument

Included in:
Tetsujin::DSL
Defined in:
lib/tetsujin/dsl/instrument.rb

Instance Method Summary collapse

Instance Method Details

#create_guitar(tunings:, fretboard_length:) ⇒ Object

Parameters:

  • tunings (Array<Tetsujin::Theory::Note>)

    チューニング 低い方から順に

  • fretboard_length (Integer)

    フレット数



22
23
24
# File 'lib/tetsujin/dsl/instrument.rb', line 22

def create_guitar(tunings:, fretboard_length:)
  Tetsujin::Instrument::Guitar::Factory.create(tunings: tunings, fretboard_length: fretboard_length)
end

#create_regular_tuning_guitar(fretboard_length:) ⇒ Tetsujin::Instrument::Guitar

Parameters:

  • fretboard_length (Integer)

    フレット数

Returns:



8
9
10
11
12
13
14
15
16
17
18
# File 'lib/tetsujin/dsl/instrument.rb', line 8

def create_regular_tuning_guitar(fretboard_length:)
  tunings = [
    Tetsujin::Theory::Note.new(pitch_class:  4, octave: 2),
    Tetsujin::Theory::Note.new(pitch_class:  9, octave: 2),
    Tetsujin::Theory::Note.new(pitch_class:  2, octave: 3),
    Tetsujin::Theory::Note.new(pitch_class:  7, octave: 3),
    Tetsujin::Theory::Note.new(pitch_class: 11, octave: 3),
    Tetsujin::Theory::Note.new(pitch_class:  4, octave: 4)
  ]
  create_guitar(tunings: tunings, fretboard_length: fretboard_length)
end

#display_guitar(guitar) ⇒ void

This method returns an undefined value.

Parameters:



28
29
30
31
# File 'lib/tetsujin/dsl/instrument.rb', line 28

def display_guitar(guitar)
  displayer = Tetsujin::Instrument::Guitar::Displayer.new
  guitar.print_fretboard(displayer)
end