class CircuitPatchTools::Patch
Constants
- CATEGORIES
- COMMANDS
- FIELDS
- GENRES
- PATTERN
- POLYPHONY
- SYSEX
Public Class Methods
new(parameter_hash)
click to toggle source
# File lib/circuit_patch_tools/patch.rb, line 52 def initialize(parameter_hash) @parameters = parameter_hash end
unpack(raw)
click to toggle source
# File lib/circuit_patch_tools/patch.rb, line 40 def self.unpack(raw) values = raw.unpack(PATTERN) values.zip(SYSEX).each do |v, (_, name, validator)| unless validator === v raise "#{name}: #{v.inspect} does not satisfy #{validator.inspect}" end end new(FIELDS.zip(values).to_h) end
Public Instance Methods
pack()
click to toggle source
# File lib/circuit_patch_tools/patch.rb, line 56 def pack FIELDS.map { |f| @parameters[f] }.pack(PATTERN) end