diff --git a/orx-midi/src/main/kotlin/MidiTransceiver.kt b/orx-midi/src/main/kotlin/MidiTransceiver.kt index 897627b0..89b808bf 100644 --- a/orx-midi/src/main/kotlin/MidiTransceiver.kt +++ b/orx-midi/src/main/kotlin/MidiTransceiver.kt @@ -106,6 +106,13 @@ class MidiTransceiver(val receiverDevice: MidiDevice, val transmitterDevicer: Mi override fun close() { } } + + // shut down midi if user calls `exitProcess(0)` + Runtime.getRuntime().addShutdownHook(object : Thread() { + override fun run() { + destroy() + } + }) } val controlChanged = Event("midi-transceiver::controller-changed").signature(MidiEvent::class.java)