Skip to content

Commit 61e6a20

Browse files
committed
Fix auto close device
1 parent 33c0839 commit 61e6a20

2 files changed

Lines changed: 5 additions & 3 deletions

File tree

build.gradle.kts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@ plugins {
99
}
1010

1111
group = "dev.stashy.midifunk"
12-
version = "0.5.1"
12+
version = "0.5.2"
1313

1414
repositories {
1515
mavenCentral()

src/main/kotlin/dev/stashy/midifunk/EventReceiver.kt

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -16,9 +16,11 @@ fun MidiDevice.to(e: MidiEvent) {
1616
receiver.send(e.convert(), e.timestamp)
1717
}
1818

19-
class EventReceiver(dev: MidiDevice, setReceiver: Boolean = true) : Receiver {
19+
class EventReceiver(private val dev: MidiDevice, setReceiver: Boolean = true) :
20+
Receiver {
2021
private var bus: PublishSubject<MidiEvent> = PublishSubject.create()
21-
val observable: Observable<MidiEvent> = bus.doOnSubscribe { dev.open() }.onTerminateDetach()
22+
val observable: Observable<MidiEvent>
23+
get() = bus.doOnSubscribe { dev.open() }.doFinally { if (!bus.hasObservers()) dev.close() }
2224

2325
init {
2426
if (setReceiver)

0 commit comments

Comments
 (0)