Sha256: 7a725f75913edfe7a53a888d013e9ea30fd7e1ab6f08c645dc85e57dd9f2eb42

Contents?: true

Size: 744 Bytes

Versions: 3

Compression:

Stored size: 744 Bytes

Contents

require File.join( File.dirname( __FILE__ ), "osc_argument" )

module OSC
  class OSCInt32 < OSCArgument
    def tag() 'i' end
    def encode() [@val].pack('N').force_encoding("BINARY") end
  end

  class OSCFloat32 < OSCArgument
    def tag() 'f' end
    def encode() [@val].pack('g').force_encoding("BINARY") end
  end

  class OSCDouble64 < OSCArgument
    def tag() 'd' end
    def encode() [@val].pack('G').force_encoding("BINARY") end
  end

  class OSCString < OSCArgument
    def tag() 's' end
    def encode() padding(@val.sub(/\000.*\z/, '') + "\000").force_encoding("BINARY") end
  end

  class OSCBlob < OSCArgument
    def tag() 'b' end
    def encode() padding([@val.size].pack('N') + @val).force_encoding("BINARY") end
  end
end

Version data entries

3 entries across 3 versions & 1 rubygems

Version Path
osc-ruby-1.1.3 lib/osc-ruby/osc_types.rb
osc-ruby-1.1.2 lib/osc-ruby/osc_types.rb
osc-ruby-1.1.1 lib/osc-ruby/osc_types.rb