Sha256: 98064e1fe394f79ba3230a12a0d4d27b0e47bdb9cbff000f984555c4db4db402

Contents?: true

Size: 513 Bytes

Versions: 9

Compression:

Stored size: 513 Bytes

Contents

# A staff is a set of lines and spaces that provides context for a pitch
class HeadMusic::Staff
  DEFAULT_LINE_COUNT = 5

  attr_reader :default_clef, :line_count, :instrument

  def initialize(default_clef_key, instrument: nil, line_count: nil)
    @default_clef = HeadMusic::Clef.get(default_clef_key)
    @line_count = line_count || DEFAULT_LINE_COUNT
    @instrument = HeadMusic::Instrument.get(instrument) if instrument
  end

  def clef
    default_clef || instrument&.default_staves&.first&.clef
  end
end

Version data entries

9 entries across 9 versions & 1 rubygems

Version Path
head_music-7.0.5 lib/head_music/staff.rb
head_music-7.0.4 lib/head_music/staff.rb
head_music-7.0.3 lib/head_music/staff.rb
head_music-7.0.2 lib/head_music/staff.rb
head_music-7.0.1 lib/head_music/staff.rb
head_music-7.0.0 lib/head_music/staff.rb
head_music-6.0.1 lib/head_music/staff.rb
head_music-6.0.0 lib/head_music/staff.rb
head_music-5.0.0 lib/head_music/staff.rb