Skip to content

Commit

Permalink
Fix auto close device
Browse files Browse the repository at this point in the history
  • Loading branch information
stashymane committed Aug 2, 2021
1 parent 33c0839 commit 61e6a20
Show file tree
Hide file tree
Showing 2 changed files with 5 additions and 3 deletions.
2 changes: 1 addition & 1 deletion build.gradle.kts
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@ plugins {
}

group = "dev.stashy.midifunk"
version = "0.5.1"
version = "0.5.2"

repositories {
mavenCentral()
Expand Down
6 changes: 4 additions & 2 deletions src/main/kotlin/dev/stashy/midifunk/EventReceiver.kt
Original file line number Diff line number Diff line change
Expand Up @@ -16,9 +16,11 @@ fun MidiDevice.to(e: MidiEvent) {
receiver.send(e.convert(), e.timestamp)
}

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

init {
if (setReceiver)
Expand Down

0 comments on commit 61e6a20

Please sign in to comment.