[orx-midi] Fix shutdown hook with inner class

This commit is contained in:
Edwin Jakobs
2021-04-10 17:18:12 +02:00
parent 0818df964c
commit ddc81fc521

View File

@@ -86,6 +86,11 @@ class MidiTransceiver(val receiverDevice: MidiDevice, val transmitterDevicer: Mi
private val receiver = receiverDevice.receiver private val receiver = receiverDevice.receiver
private val transmitter = transmitterDevicer.transmitter private val transmitter = transmitterDevicer.transmitter
private inner class Destroyer: Thread() {
override fun run() {
destroy()
}
}
init { init {
transmitter.receiver = object : MidiDeviceReceiver { transmitter.receiver = object : MidiDeviceReceiver {
@@ -109,11 +114,7 @@ class MidiTransceiver(val receiverDevice: MidiDevice, val transmitterDevicer: Mi
} }
// shut down midi if user calls `exitProcess(0)` // shut down midi if user calls `exitProcess(0)`
Runtime.getRuntime().addShutdownHook(object : Thread() { Runtime.getRuntime().addShutdownHook(Destroyer())
override fun run() {
destroy()
}
})
} }
val controlChanged = Event<MidiEvent>("midi-transceiver::controller-changed") val controlChanged = Event<MidiEvent>("midi-transceiver::controller-changed")