Sha256: 771cfa7aadb56c5eedba3249e5aa7412f86957619bc1c35165b5a4fe0f091fa8

Contents?: true

Size: 505 Bytes

Versions: 3

Compression:

Stored size: 505 Bytes

Contents

module SurfaceMaster
  module TouchOSC
    # Low-level interface to TouchOSC Bridge
    class Device < SurfaceMaster::Device
      def initialize(opts = nil, &mapper)
        @name = "TouchOSC Bridge"
        super(opts)
        @mapper = mapper || proc { |input| input }
      end

      def reset!; end

      def read
        super
          .map { |input| @mapper.call(input) }
          .compact
      end

      def write(messages)
        @output.write(Array(messages))
      end
    end
  end
end

Version data entries

3 entries across 3 versions & 1 rubygems

Version Path
surface_master-0.6.0 lib/surface_master/touch_osc/device.rb
surface_master-0.5.1 lib/surface_master/touch_osc/device.rb
surface_master-0.5.0 lib/surface_master/touch_osc/device.rb