Sha256: 59d988e8af1dd5abf62311cc8eb8cc450c92067a00beb9ad60f85792a4c89c44

Contents?: true

Size: 847 Bytes

Versions: 7

Compression:

Stored size: 847 Bytes

Contents

module SurfaceMaster
  # Unclassified error.
  class GenericError < StandardError; end

  # Error raised when the MIDI device specified doesn't exist.
  class NoSuchDeviceError < GenericError; end

  # Error raised when the MIDI device specified is busy.
  class DeviceBusyError < GenericError; end

  # Error raised when an input has been requested, although device has been initialized without
  # input.
  class NoInputAllowedError < GenericError; end

  # Error raised when an output has been requested, although device has been initialized without
  # output.
  class NoOutputAllowedError < GenericError; end

  # Error raised when anything fails while communicating with a device.
  class CommunicationError < GenericError
    attr_accessor :source
    def initialize(e)
      super(e.portmidi_error)
      self.source = e
    end
  end
end

Version data entries

7 entries across 7 versions & 1 rubygems

Version Path
surface_master-0.6.0 lib/surface_master/errors.rb
surface_master-0.5.1 lib/surface_master/errors.rb
surface_master-0.5.0 lib/surface_master/errors.rb
surface_master-0.4.1 lib/surface_master/errors.rb
surface_master-0.4.0 lib/surface_master/errors.rb
surface_master-0.2.1 lib/surface_master/errors.rb
surface_master-0.2.0 lib/surface_master/errors.rb