module GBTiles::GBT::Export::ASM::Effects

Public Instance Methods

effect_arpeggio() click to toggle source
# 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() click to toggle source
# 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() click to toggle source
# 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() click to toggle source
# File lib/gbtiles/gbt/export/asm/effects/jump.rb, line 6
def effect_jump
  {
    :number => 8,
    :params => effect_param
  }
end
effect_pan() click to toggle source
# 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() click to toggle source
# 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() click to toggle source
# File lib/gbtiles/gbt/export/asm/effects/volume.rb, line 6
def effect_volume
  throw "Volume is implemented on a per-channel basis"
end