Skip to content

Commit 041f03d

Browse files
committed
update dependencies
1 parent bd4a78f commit 041f03d

File tree

10 files changed

+130
-39
lines changed

10 files changed

+130
-39
lines changed

build.gradle.kts

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -112,7 +112,8 @@ kotlin {
112112
exclude("org.slf4j", "slf4j-simple")
113113
}
114114
implementation("io.github.kdroidfilter:platformtools.darkmodedetector:_")
115-
implementation("io.github.kdroidfilter:platformtools.permissionhandler:_")
115+
// implementation("com.mohamedrejeb.calf:calf-permissions:_")
116+
// implementation("io.github.kdroidfilter:platformtools.permissionhandler:_")
116117

117118
implementation("org.jetbrains.kotlinx:kotlinx-coroutines-debug:_")
118119
implementation("io.projectreactor.tools:blockhound:_")
@@ -146,6 +147,7 @@ tasks.withType<org.jetbrains.kotlin.gradle.tasks.KotlinCompile>() {
146147
compilerOptions {
147148
// coroutine debugging, disables optimizing away unused variables in coroutines
148149
// freeCompilerArgs.add("-Xdebug")
150+
optIn.add("kotlin.time.ExperimentalTime")
149151

150152
freeCompilerArgs .addAll(
151153
"-P",

gradle/wrapper/gradle-wrapper.properties

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
distributionBase=GRADLE_USER_HOME
22
distributionPath=wrapper/dists
3-
distributionUrl=https\://services.gradle.org/distributions/gradle-8.13-bin.zip
3+
distributionUrl=https\://services.gradle.org/distributions/gradle-8.14-bin.zip
44
networkTimeout=10000
55
validateDistributionUrl=true
66
zipStoreBase=GRADLE_USER_HOME

settings.gradle.kts

Lines changed: 8 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -36,6 +36,12 @@ dependencyResolutionManagement {
3636

3737
plugins {
3838
// See https://jmfayard.github.io/refreshVersions
39-
id("de.fayard.refreshVersions") version "0.60.5"
39+
id("de.fayard.refreshVersions") version "0.60.6"
4040
id("org.gradle.toolchains.foojay-resolver-convention") version "1.0.0"
41-
}
41+
}
42+
43+
//refreshVersions {
44+
// this.extraArtifactVersionKeyRules = """
45+
// |
46+
// """.trimMargin().lines()
47+
//}

src/desktopMain/kotlin/Main.kt

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -55,6 +55,7 @@ import nestdrop.watchNestdropConfig
5555
import org.jetbrains.compose.resources.painterResource
5656
import osc.nestdropListenAddress
5757
import osc.nestdropSendAddress
58+
import osc.runCopySend
5859
import osc.runNestDropSend
5960
import osc.startNestdropOSC
6061
import reactor.blockhound.BlockHound
@@ -117,6 +118,13 @@ object Main {
117118
delay(100)
118119
}
119120
}
121+
flowScope.launch(Dispatchers.IO) {
122+
while (true) {
123+
logger.info { "starting OSC sender" }
124+
runCopySend()
125+
delay(100)
126+
}
127+
}
120128
// flowScope.launch(Dispatchers.IO) {
121129
// while (true) {
122130
// runControlSend()

src/desktopMain/kotlin/beatCounter.kt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@ import kotlinx.coroutines.flow.map
1010
import kotlinx.coroutines.flow.onEach
1111
import kotlinx.coroutines.flow.sample
1212
import kotlinx.coroutines.launch
13-
import kotlinx.datetime.Clock
13+
import kotlin.time.Clock
1414
import osc.OSCMessage
1515
import osc.OscSynced
1616
import osc.nestdropSendChannel

src/desktopMain/kotlin/nestdrop/deck/Deck.kt

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -29,8 +29,8 @@ import kotlinx.coroutines.flow.onEach
2929
import kotlinx.coroutines.flow.sample
3030
import kotlinx.coroutines.flow.stateIn
3131
import kotlinx.coroutines.launch
32-
import kotlinx.datetime.Clock
33-
import kotlinx.datetime.Instant
32+
import kotlin.time.Clock
33+
import kotlin.time.Instant
3434
import kotlinx.serialization.Serializable
3535
import nestdrop.ImgMode
3636
import nestdrop.NestdropControl

src/desktopMain/kotlin/nestdrop/loadNestdropConfig.kt

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,7 @@ import kotlinx.coroutines.flow.MutableStateFlow
1212
import kotlinx.coroutines.flow.StateFlow
1313
import kotlinx.coroutines.flow.asStateFlow
1414
import kotlinx.coroutines.flow.consumeAsFlow
15+
import kotlinx.coroutines.flow.debounce
1516
import kotlinx.coroutines.flow.distinctUntilChanged
1617
import kotlinx.coroutines.flow.launchIn
1718
import kotlinx.coroutines.flow.mapNotNull
@@ -29,6 +30,8 @@ import utils.KWatchChannel
2930
import utils.KWatchEvent
3031
import utils.asWatchChannel
3132
import utils.xml
33+
import kotlin.time.Duration.Companion.milliseconds
34+
import kotlin.time.Duration.Companion.seconds
3235

3336
private val logger = KotlinLogging.logger { }
3437

@@ -40,8 +43,10 @@ suspend fun watchNestdropConfig(): StateFlow<NestdropSettings> {
4043
nestdropConfigFile
4144
.asWatchChannel(KWatchChannel.Mode.SingleFile)
4245
.consumeAsFlow()
46+
.debounce(100.milliseconds)
4347
.mapNotNull {
4448
if (it.kind == KWatchEvent.Kind.Modified) {
49+
// delay(100)
4550
try {
4651
parseNestdropXml()
4752
} catch (e: Exception) {

src/desktopMain/kotlin/osc/OSCUtil.kt

Lines changed: 35 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -44,8 +44,8 @@ import kotlinx.coroutines.flow.onEach
4444
import kotlinx.coroutines.flow.sample
4545
import kotlinx.coroutines.launch
4646
import kotlinx.coroutines.runBlocking
47-
import kotlinx.datetime.Clock
48-
import kotlinx.datetime.Instant
47+
import kotlin.time.Clock
48+
import kotlin.time.Instant
4949
import nestdrop.QueueType
5050
import nestdrop.deck.OSCQueueUpdate
5151
import java.net.InetAddress
@@ -78,9 +78,10 @@ val serializer = OSCSerializerAndParserBuilder().also { serializer ->
7878
// serializer.registerArgumentHandler(CustomAwtColorArgumentHandler.INSTANCE)
7979
}
8080

81-
8281
val nestdropSendChannel = Channel<OSCPacket>(Channel.BUFFERED)
8382

83+
val copySendChannel = Channel<OSCPacket>(Channel.BUFFERED)
84+
8485
val nestdropSendAddress = MutableStateFlow(
8586
InetSocketAddress(
8687
InetAddress.getLoopbackAddress(), // InetAddress.getByName("127.0.0.1"),
@@ -93,6 +94,12 @@ val nestdropListenAddress = MutableStateFlow(
9394
8001
9495
)
9596
)
97+
val copyToAddress = MutableStateFlow(
98+
InetSocketAddress(
99+
InetAddress.getLoopbackAddress(), // InetAddress.getByAddress(byteArrayOf(127, 0, 0, 1)),
100+
8008
101+
)
102+
)
96103

97104
suspend fun runNestDropSend() {
98105
nestdropSendAddress.collectLatest { address ->
@@ -115,6 +122,28 @@ suspend fun runNestDropSend() {
115122
}
116123
}
117124

125+
126+
suspend fun runCopySend() {
127+
copyToAddress.collectLatest { address ->
128+
coroutineScope {
129+
val port = OSCPortOut(serializer, address)
130+
port.connect()
131+
logger.debug { "constructed OSC port" }
132+
for (oscPacket in copySendChannel) {
133+
try {
134+
// logger.debug { "ND OUT: ${oscPacket.stringify()}" }
135+
port.send(oscPacket)
136+
} catch (e: Exception) {
137+
logger.error(e) {}
138+
}
139+
}
140+
logger.error { "port closed" }
141+
port.close()
142+
}
143+
144+
}
145+
}
146+
118147
suspend fun nestdropPortSend(packet: OSCMessage) {
119148
nestdropSendChannel.send(packet)
120149
}
@@ -264,6 +293,7 @@ suspend fun startNestdropOSC() {
264293
}
265294
.addPacketListener(
266295
object : OSCPacketListener {
296+
267297
val receivingSyncedValues = OscSynced.syncedValues
268298
.filterIsInstance<OscSynced.Receiving<*>>()
269299
.filter { it.receive && it.target == OscSynced.Target.Nestdrop }
@@ -310,6 +340,7 @@ suspend fun startNestdropOSC() {
310340
logger.debug { "ND IN: ${message.stringify()}" }
311341
}
312342
syncedValue.onMessageEvent(message)
343+
copySendChannel.send(message)
313344
}
314345
}
315346
}
@@ -322,7 +353,7 @@ suspend fun startNestdropOSC() {
322353
}
323354
}
324355
)
325-
.addPacketListener(debugListener)
356+
// .addPacketListener(debugListener)
326357
.build()
327358
.also {
328359
logger.info { "start listening on $address" }

src/desktopMain/kotlin/ui/UpdateCheckerUI.kt

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -18,8 +18,6 @@ import androidx.compose.ui.Modifier
1818
import androidx.compose.ui.text.style.TextAlign
1919
import androidx.compose.ui.unit.dp
2020
import io.github.kdroidfilter.platformtools.appmanager.getAppInstaller
21-
import io.github.kdroidfilter.platformtools.permissionhandler.hasInstallPermission
22-
import io.github.kdroidfilter.platformtools.permissionhandler.requestInstallPermission
2321
import io.github.kdroidfilter.platformtools.releasefetcher.downloader.Downloader
2422
import io.github.kdroidfilter.platformtools.releasefetcher.github.GitHubReleaseFetcher
2523
import io.github.oshai.kotlinlogging.KotlinLogging
@@ -91,7 +89,6 @@ fun UpdateCheckerUI(fetcher: GitHubReleaseFetcher) {
9189
) {
9290
IconButton(
9391
onClick = {
94-
9592
if (!hasInstallPermission()) {
9693
showPermissionDialog = true
9794
} else {
@@ -333,4 +330,8 @@ fun UpdateCheckerUI(fetcher: GitHubReleaseFetcher) {
333330
Spacer(modifier = Modifier.height(8.dp))
334331
CircularProgressIndicator(color = MaterialTheme.colors.secondary)
335332
}
333+
}
334+
fun hasInstallPermission(): Boolean = true
335+
fun requestInstallPermission(onGranted: () -> Unit, onDenied: () -> Unit) {
336+
onGranted()
336337
}

versions.properties

Lines changed: 63 additions & 25 deletions
Original file line numberDiff line numberDiff line change
@@ -1,53 +1,91 @@
11
#### Dependencies and Plugin versions with their available updates.
2-
#### Generated by `./gradlew refreshVersions` version 0.60.5
2+
#### Generated by `./gradlew refreshVersions` version 0.60.6
33
####
44
#### Don't manually edit or split the comments that start with four hashtags (####),
55
#### they will be overwritten by refreshVersions.
66
####
77
#### suppress inspection "SpellCheckingInspection" for whole file
88
#### suppress inspection "UnusedProperty" for whole file
99

10-
plugin.org.jetbrains.compose=1.8.0
10+
plugin.org.jetbrains.compose=1.8.2
11+
## # available=1.9.0-alpha01
12+
## # available=1.9.0-alpha02
13+
## # available=1.9.0-alpha03
14+
## # available=1.9.0-beta01
15+
## # available=1.9.0-beta02
16+
## # available=1.9.0-beta03
17+
## # available=1.9.0-rc01
1118

12-
plugin.dev.reformator.stacktracedecoroutinator=2.5.1
19+
plugin.dev.reformator.stacktracedecoroutinator=2.5.7
1320

1421
version.ch.qos.logback..logback-classic=1.5.18
1522

16-
version.com.akuleshov7..ktoml-core=0.7.0
23+
version.com.akuleshov7..ktoml-core=0.7.1
1724

1825
version.com.github.doyaaaaaken..kotlin-csv-jvm=1.10.0
1926

20-
version.io.github.cdimascio..dotenv-kotlin=6.5.1
21-
22-
version.io.github.kdroidfilter..platformtools.appmanager=0.2.9
23-
24-
version.io.github.kdroidfilter..platformtools.core=0.2.9
25-
26-
version.io.github.kdroidfilter..platformtools.darkmodedetector=0.2.9
27+
version.com.mohamedrejeb.calf..calf-permissions=0.8.0
2728

28-
version.io.github.kdroidfilter..platformtools.permissionhandler=0.2.9
29-
30-
version.io.github.kdroidfilter..platformtools.releasefetcher=0.2.9
31-
32-
version.io.projectreactor.tools..blockhound=1.0.11.RELEASE
29+
version.io.github.cdimascio..dotenv-kotlin=6.5.1
3330

34-
version.kotlin=2.1.21
35-
## # available=2.2.0-Beta1
36-
## # available=2.2.0-Beta2
37-
## # available=2.2.0-RC
31+
version.io.github.kdroidfilter..platformtools.appmanager=0.3.3
32+
## # available=0.3.4
33+
## # available=0.3.5
34+
## # available=0.4.0
35+
## # available=0.5.0
36+
## # available=0.6.0
37+
## # available=0.6.1
38+
39+
version.io.github.kdroidfilter..platformtools.core=0.3.3
40+
## # available=0.3.4
41+
## # available=0.3.5
42+
## # available=0.4.0
43+
## # available=0.5.0
44+
## # available=0.6.0
45+
## # available=0.6.1
46+
47+
version.io.github.kdroidfilter..platformtools.darkmodedetector=0.3.3
48+
## # available=0.3.4
49+
## # available=0.3.5
50+
## # available=0.4.0
51+
## # available=0.5.0
52+
## # available=0.6.0
53+
## # available=0.6.1
54+
55+
version.io.github.kdroidfilter..platformtools.permissionhandler=0.3.3
56+
## # available=0.3.4
57+
## # available=0.3.5
58+
59+
version.io.github.kdroidfilter..platformtools.releasefetcher=0.3.3
60+
## # available=0.3.4
61+
## # available=0.3.5
62+
## # available=0.4.0
63+
## # available=0.5.0
64+
## # available=0.6.0
65+
## # available=0.6.1
66+
67+
version.io.projectreactor.tools..blockhound=1.0.13.RELEASE
68+
69+
version.kotlin=2.2.10
70+
## # available=2.2.20-Beta1
71+
## # available=2.2.20-Beta2
72+
## # available=2.2.20-RC
3873

3974
version.com.illposed.osc..javaosc-core=0.9
4075

41-
version.io.github.oshai..kotlin-logging=7.0.7
76+
version.io.github.oshai..kotlin-logging=7.0.13
4277

43-
version.io.github.pdvrieze.xmlutil..serialization=0.91.1
78+
version.io.github.pdvrieze.xmlutil..serialization=0.91.2
4479

4580
version.io.github.xn32..json5k=0.3.0
4681

4782
version.kotlinx.coroutines=1.10.2
4883

49-
version.kotlinx.datetime=0.6.2
84+
version.kotlinx.datetime=0.7.1-0.6.x-compat
5085

51-
version.kotlinx.serialization=1.8.1
86+
version.kotlinx.serialization=1.9.0
5287

53-
version.ktor=3.1.3
88+
version.ktor=3.2.0
89+
### available=3.2.1
90+
### available=3.2.2
91+
### available=3.2.3

0 commit comments

Comments
 (0)