Class: Coltrane::Renderers::TextRenderer::RepresentationPianoNoteSetDrawer

Inherits:
BaseDrawer
  • Object
show all
Defined in:
lib/coltrane/renderers/text_renderer/representation_piano_note_set_drawer.rb

Constant Summary collapse

PIANO_TEMPLATE =
"\u250C\u2500\u252C\u2500\u252C\u252C\u2500\u252C\u2500\u2565\u2500\u252C\u2500\u252C\u252C\u2500\u252C\u252C\u2500\u252C\u2500\u2565\u2500\u252C\u2500\u252C\u252C\u2500\u252C\u2500\u2565\u2500\u252C\u2500\u252C\u252C\u2500\u252C\u252C\u2500\u252C\u2500\u2510\n\u2502 \u2502 \u2502\u2502 \u2502 \u2551 \u2502 \u2502\u2502 \u2502\u2502 \u2502 \u2551 \u2502 \u2502\u2502 \u2502 \u2551 \u2502 \u2502\u2502 \u2502\u2502 \u2502 \u2502\n\u2502 \u2502X\u2502\u2502X\u2502 \u2551 \u2502X\u2502\u2502X\u2502\u2502X\u2502 \u2551 \u2502X\u2502\u2502X\u2502 \u2551 \u2502X\u2502\u2502X\u2502\u2502X\u2502 \u2502\n\u2502 \u2502X\u2502\u2502X\u2502 \u2551 \u2502X\u2502\u2502X\u2502\u2502X\u2502 \u2551 \u2502X\u2502\u2502X\u2502 \u2551 \u2502X\u2502\u2502X\u2502\u2502X\u2502 \u2502\n\u2502 \u2515\u2565\u2519\u2515\u2565\u2519 \u2551 \u2515\u2565\u2519\u2515\u2565\u2519\u2515\u2565\u2519 \u2551 \u2515\u2565\u2519\u2515\u2565\u2519 \u2551 \u2515\u2565\u2519\u2515\u2565\u2519\u2515\u2565\u2519 \u2502\n\u2502  \u2551  \u2551  \u2551  \u2551  \u2551  \u2551  \u2551  \u2551  \u2551  \u2551  \u2551  \u2551  \u2551  \u2502\n\u2502XX\u2551XX\u2551XX\u2551XX\u2551XX\u2551XX\u2551XX\u2551XX\u2551XX\u2551XX\u2551XX\u2551XX\u2551XX\u2551XX\u2502\n\u2514\u2500\u2500\u2568\u2500\u2500\u2568\u2500\u2500\u2568\u2500\u2500\u2568\u2500\u2500\u2568\u2500\u2500\u2568\u2500\u2500\u2568\u2500\u2500\u2568\u2500\u2500\u2568\u2500\u2500\u2568\u2500\u2500\u2568\u2500\u2500\u2568\u2500\u2500\u2568\u2500\u2500\u2518\n"

Instance Attribute Summary

Attributes inherited from BaseDrawer

#flavor, #layout, #model, #options, #per_row

Instance Method Summary collapse

Methods inherited from BaseDrawer

#initialize

Constructor Details

This class inherits a constructor from Coltrane::Renderers::TextRenderer::BaseDrawer

Instance Method Details

#renderObject



18
19
20
21
22
23
24
25
26
# File 'lib/coltrane/renderers/text_renderer/representation_piano_note_set_drawer.rb', line 18

def render
  PIANO_TEMPLATE.each_line.map.each_with_index do |l, ln|
    case ln
    when 2, 3 then replace_x(l, Representation::Piano.black_notes, 1, ln - 2)
    when 6    then replace_x(l, Representation::Piano.white_notes, 2)
    else l
    end
  end.join
end