diff --git a/EOCVSimPlugin/src/main/kotlin/io/github/deltacv/papervision/plugin/PaperVisionEOCVSimPlugin.kt b/EOCVSimPlugin/src/main/kotlin/io/github/deltacv/papervision/plugin/PaperVisionEOCVSimPlugin.kt index dc79c73..b15367f 100644 --- a/EOCVSimPlugin/src/main/kotlin/io/github/deltacv/papervision/plugin/PaperVisionEOCVSimPlugin.kt +++ b/EOCVSimPlugin/src/main/kotlin/io/github/deltacv/papervision/plugin/PaperVisionEOCVSimPlugin.kt @@ -247,16 +247,20 @@ class PaperVisionEOCVSimPlugin : EOCVSimPlugin() { override fun onEnable() { engine.setMessageHandlerOf { - eocvSim.tunerManager.getTunableFieldWithLabel(message.label)?.setFieldValue(message.index, message.value) - respond(OkResponse()) + eocvSim.onMainUpdate.doOnce { + eocvSim.tunerManager.getTunableFieldWithLabel(message.label)?.setPipelineFieldValue(message.value) + respond(OkResponse()) + } } engine.setMessageHandlerOf { - for (i in message.values.indices) { - eocvSim.tunerManager.getTunableFieldWithLabel(message.label)?.setFieldValue(i, message.values[i]) - } + eocvSim.onMainUpdate.doOnce { + for (i in message.values.indices) { + eocvSim.tunerManager.getTunableFieldWithLabel(message.label)?.setFieldValue(i, message.values[i]) + } - respond(OkResponse()) + respond(OkResponse()) + } } engine.setMessageHandlerOf { diff --git a/PaperVision/src/main/kotlin/io/github/deltacv/papervision/attribute/TypedAttribute.kt b/PaperVision/src/main/kotlin/io/github/deltacv/papervision/attribute/TypedAttribute.kt index 309b6bb..062cd90 100644 --- a/PaperVision/src/main/kotlin/io/github/deltacv/papervision/attribute/TypedAttribute.kt +++ b/PaperVision/src/main/kotlin/io/github/deltacv/papervision/attribute/TypedAttribute.kt @@ -235,7 +235,7 @@ abstract class TypedAttribute(val attributeType: AttributeType) : Attribute() { when (value) { is Array<*> -> TunerChangeValuesMessage(label, value) is Iterable<*> -> TunerChangeValuesMessage(label, value.map { it as Any }.toTypedArray()) - else -> TunerChangeValueMessage(label, 0, value) + else -> TunerChangeValueMessage(label, value) } ) } diff --git a/PaperVision/src/main/kotlin/io/github/deltacv/papervision/node/vision/classification/FilterContoursByAreaNode.kt b/PaperVision/src/main/kotlin/io/github/deltacv/papervision/node/vision/classification/FilterContoursByAreaNode.kt index f7cb6f9..101ab2b 100644 --- a/PaperVision/src/main/kotlin/io/github/deltacv/papervision/node/vision/classification/FilterContoursByAreaNode.kt +++ b/PaperVision/src/main/kotlin/io/github/deltacv/papervision/node/vision/classification/FilterContoursByAreaNode.kt @@ -30,8 +30,8 @@ class FilterContoursByAreaNode : DrawNode() { val input = ListAttribute(INPUT, PointsAttribute, "$[att_contours]") - val minArea = DoubleAttribute(INPUT, "$[att_minarea]") - val maxArea = DoubleAttribute(INPUT, "$[att_maxarea]") + val minArea = IntAttribute(INPUT, "$[att_minarea]") + val maxArea = IntAttribute(INPUT, "$[att_maxarea]") val output = ListAttribute(OUTPUT, PointsAttribute, "$[att_filteredcontours]") @@ -41,7 +41,7 @@ class FilterContoursByAreaNode : DrawNode() { + minArea + maxArea - maxArea.value.set(100.0) + maxArea.value.set(100) + output.rebuildOnChange() } diff --git a/Shared/src/main/kotlin/io/github/deltacv/papervision/engine/client/message/PrevizMessages.kt b/Shared/src/main/kotlin/io/github/deltacv/papervision/engine/client/message/PrevizMessages.kt index e5ea7b6..70f22ed 100644 --- a/Shared/src/main/kotlin/io/github/deltacv/papervision/engine/client/message/PrevizMessages.kt +++ b/Shared/src/main/kotlin/io/github/deltacv/papervision/engine/client/message/PrevizMessages.kt @@ -44,7 +44,6 @@ class PrevizAskNameMessage : PaperVisionEngineMessageBase() class TunerChangeValueMessage( var label: String, - var index: Int, var value: Any ) : PaperVisionEngineMessageBase()