Class: Rtmidi::MidiIn::Release

Inherits:
Object
  • Object
show all
Defined in:
lib/rtmidi/midi_in.rb

Instance Method Summary collapse

Constructor Details

#initialize(handle) ⇒ Release

Returns a new instance of Release.



11
12
13
14
# File 'lib/rtmidi/midi_in.rb', line 11

def initialize(handle)
  @handle = handle
  @mutex = Mutex.new
end

Instance Method Details

#callObject



16
17
18
# File 'lib/rtmidi/midi_in.rb', line 16

def call(*)
  free
end

#freeObject



20
21
22
23
24
25
26
27
# File 'lib/rtmidi/midi_in.rb', line 20

def free
  @mutex.synchronize do
    return if @handle.nil? || @handle.null?

    Native.rtmidi_in_free(@handle)
    @handle = nil
  end
end