Module: GBTiles::GBT::Export::ASM::Effects
- Included in:
- Channel
- Defined in:
- lib/gbtiles/gbt/export/asm/effects/pan.rb,
lib/gbtiles/gbt/export/asm/effects/jump.rb,
lib/gbtiles/gbt/export/asm/effects/speed.rb,
lib/gbtiles/gbt/export/asm/effects/volume.rb,
lib/gbtiles/gbt/export/asm/effects/arpeggio.rb,
lib/gbtiles/gbt/export/asm/effects/cut_note.rb,
lib/gbtiles/gbt/export/asm/effects/break_and_set_step.rb
Instance Method Summary collapse
- #effect_arpeggio ⇒ Object
- #effect_break_and_set_step ⇒ Object
- #effect_cut_note ⇒ Object
- #effect_jump ⇒ Object
- #effect_pan ⇒ Object
- #effect_speed ⇒ Object
- #effect_volume ⇒ Object
Instance Method Details
#effect_arpeggio ⇒ Object
6 7 8 9 10 11 |
# File 'lib/gbtiles/gbt/export/asm/effects/arpeggio.rb', line 6 def effect_arpeggio { :number => 1, :params => effect_param } end |
#effect_break_and_set_step ⇒ Object
6 7 8 9 10 11 |
# File 'lib/gbtiles/gbt/export/asm/effects/break_and_set_step.rb', line 6 def effect_break_and_set_step { :number => 9, :params => effect_param_as_bcd } end |
#effect_cut_note ⇒ Object
6 7 8 9 10 11 |
# File 'lib/gbtiles/gbt/export/asm/effects/cut_note.rb', line 6 def effect_cut_note { :number => 2, :params => effect_param_2 } end |
#effect_jump ⇒ Object
6 7 8 9 10 11 |
# File 'lib/gbtiles/gbt/export/asm/effects/jump.rb', line 6 def effect_jump { :number => 8, :params => effect_param } end |
#effect_pan ⇒ Object
6 7 8 9 10 11 12 13 14 |
# File 'lib/gbtiles/gbt/export/asm/effects/pan.rb', line 6 def effect_pan left = effect_param_2.between?(0, 11) ? 1 : 0 right = effect_param_2.between?(4, 15) ? 1 : 0 { :number => 0, :params => (left << (3 + channel_number)) | (right << (channel_number - 1)) } end |
#effect_speed ⇒ Object
6 7 8 9 10 11 12 13 14 15 16 17 |
# File 'lib/gbtiles/gbt/export/asm/effects/speed.rb', line 6 def effect_speed speed = effect_param if speed > 0x1F then throw "Unsupported BPM speed effect: #{speed}" end { :number => 10, :params => convert_speed(speed) } end |
#effect_volume ⇒ Object
6 7 8 |
# File 'lib/gbtiles/gbt/export/asm/effects/volume.rb', line 6 def effect_volume throw "Volume is implemented on a per-channel basis" end |