diff --git a/orx-midi/src/main/kotlin/MidiTransceiver.kt b/orx-midi/src/main/kotlin/MidiTransceiver.kt index 0c9b088e..94faf7ce 100644 --- a/orx-midi/src/main/kotlin/MidiTransceiver.kt +++ b/orx-midi/src/main/kotlin/MidiTransceiver.kt @@ -86,6 +86,11 @@ class MidiTransceiver(val receiverDevice: MidiDevice, val transmitterDevicer: Mi private val receiver = receiverDevice.receiver private val transmitter = transmitterDevicer.transmitter + private inner class Destroyer: Thread() { + override fun run() { + destroy() + } + } init { transmitter.receiver = object : MidiDeviceReceiver { @@ -109,11 +114,7 @@ class MidiTransceiver(val receiverDevice: MidiDevice, val transmitterDevicer: Mi } // shut down midi if user calls `exitProcess(0)` - Runtime.getRuntime().addShutdownHook(object : Thread() { - override fun run() { - destroy() - } - }) + Runtime.getRuntime().addShutdownHook(Destroyer()) } val controlChanged = Event("midi-transceiver::controller-changed")