Displayonsend does not seem to work in Cycle File
2 posters
Page 1 of 1
Displayonsend does not seem to work in Cycle File
Hello,
I have a cycle buttons with the following code :
When I press the button, step values are send as expected but the display text remain the same, which is confirmed by looking at the log file below :
I probably miss something but to me it's just like if the option displayonsend="yes" was not taken into account.
Note: The value and display is updated properly upon reception of a midi incoming message, so I did implement a workaround (from Bome midi Translator) by returning the sent midi message but I would like to understand the behavior of the displayonsend option.
Thank you for your support.
I have a cycle buttons with the following code :
- Code:
<?xml version="1.0" encoding="utf-8" ?>
<MidiSteps version="1.1">
<Default send="yes" receive="yes" display="" image="" displayonsend="yes" useclosestvalueonreceive="no"
directionupimage="%plugin%\Images\CycleDirections\Dark\Down_Right.png"
directiondownimage="%plugin%\Images\CycleDirections\Dark\Up_Right.png"/>
<StepValues>
<Step value="0" display="Value 0"/>
<Step value="1" display="Value 1"/>
<Step value="2" display="Value 2"/>
<Step value="3" display="Value 3"/>
</StepValues>
</MidiSteps>
When I press the button, step values are send as expected but the display text remain the same, which is confirmed by looking at the log file below :
- Code:
2023-11-15 09:15:12.8585 14269,32ms DEBUG 40 ControlChange KeyPressed [cf6b16a2c1739b3042ff34b7eebecccc OutPort(BMT 4) InPort(BMT 5) Channel(3) Command(0), Payload state:0]
2023-11-15 09:15:12.8586 0,07ms DEBUG 40 Connection Send_ControlChange [cf6b16a2c1739b3042ff34b7eebecccc Sending Channel(3), Control(0), Value(1)]
2023-11-15 09:15:12.8586 0,01ms DEBUG 40 MidiController Send_ControlChange [Sending ControlChangeMessage, ID:cf6b16a2c1739b3042ff34b7eebecccc, MidiIn:BMT 5, MidiOut:BMT 4, Channel:3, Control,:0, Value:1]
2023-11-15 09:15:12.8593 0,63ms DEBUG 40 MidiStateCtrl SaveMidiState [Saving state for ControlChangeMessage, ID:cf6b16a2c1739b3042ff34b7eebecccc, MidiIn:BMT 5, MidiOut:BMT 4, Channel:3, Control,:0, Value:1, time=15/11/2023 09:15:12]
2023-11-15 09:15:12.8594 0,16ms DEBUG 40 ImageController GetImage [cf6b16a2c1739b3042ff34b7eebecccc Image 'C:\Users\LPA\AppData\Roaming\Elgato\StreamDeck\Plugins\se.trevligaspel.midi.sdPlugin\Images\CycleDirections\Dark\Down_Right.png' fetched from image cache]
2023-11-15 09:15:12.8599 0,48ms DEBUG 40 TitleThrottler SetTitle [cf6b16a2c1739b3042ff34b7eebecccc same title as last, ignoring 'Value 0' and clearing queue]
2023-11-15 09:15:12.8610 1,13ms DEBUG 40 ImageThrottler SetImage [cf6b16a2c1739b3042ff34b7eebecccc Same image hash as displayed image, ignoring new image]
2023-11-15 09:15:12.8610 0,02ms DEBUG 40 StateThrottler SetState [cf6b16a2c1739b3042ff34b7eebecccc same state as next, ignoring: State(0)]
2023-11-15 09:15:13.0514 190,32ms DEBUG 57 ControlChange KeyReleased [cf6b16a2c1739b3042ff34b7eebecccc OutPort(BMT 4) InPort(BMT 5) Channel(3) Command(0) Payload state:0]
2023-11-15 09:15:15.7391 2687,72ms DEBUG 42 ControlChange KeyPressed [cf6b16a2c1739b3042ff34b7eebecccc OutPort(BMT 4) InPort(BMT 5) Channel(3) Command(0), Payload state:0]
2023-11-15 09:15:15.7391 0,04ms DEBUG 42 Connection Send_ControlChange [cf6b16a2c1739b3042ff34b7eebecccc Sending Channel(3), Control(0), Value(2)]
2023-11-15 09:15:15.7391 0,02ms DEBUG 42 MidiController Send_ControlChange [Sending ControlChangeMessage, ID:cf6b16a2c1739b3042ff34b7eebecccc, MidiIn:BMT 5, MidiOut:BMT 4, Channel:3, Control,:0, Value:2]
2023-11-15 09:15:15.7393 0,18ms DEBUG 42 MidiStateCtrl SaveMidiState [Saving state for ControlChangeMessage, ID:cf6b16a2c1739b3042ff34b7eebecccc, MidiIn:BMT 5, MidiOut:BMT 4, Channel:3, Control,:0, Value:2, time=15/11/2023 09:15:15]
2023-11-15 09:15:15.7395 0,17ms DEBUG 42 ImageController GetImage [cf6b16a2c1739b3042ff34b7eebecccc Image 'C:\Users\LPA\AppData\Roaming\Elgato\StreamDeck\Plugins\se.trevligaspel.midi.sdPlugin\Images\CycleDirections\Dark\Down_Right.png' fetched from image cache]
2023-11-15 09:15:15.7398 0,29ms DEBUG 42 TitleThrottler SetTitle [cf6b16a2c1739b3042ff34b7eebecccc same title as last, ignoring 'Value 0' and clearing queue]
2023-11-15 09:15:15.7405 0,74ms DEBUG 42 ImageThrottler SetImage [cf6b16a2c1739b3042ff34b7eebecccc Same image hash as displayed image, ignoring new image]
2023-11-15 09:15:15.7405 0,02ms DEBUG 42 StateThrottler SetState [cf6b16a2c1739b3042ff34b7eebecccc same state as next, ignoring: State(0)]
2023-11-15 09:15:15.9904 249,82ms DEBUG 42 ControlChange KeyReleased [cf6b16a2c1739b3042ff34b7eebecccc OutPort(BMT 4) InPort(BMT 5) Channel(3) Command(0) Payload state:0]
2023-11-15 09:15:16.8092 818,84ms DEBUG 57 ControlChange KeyPressed [cf6b16a2c1739b3042ff34b7eebecccc OutPort(BMT 4) InPort(BMT 5) Channel(3) Command(0), Payload state:0]
2023-11-15 09:15:16.8092 0,04ms DEBUG 57 Connection Send_ControlChange [cf6b16a2c1739b3042ff34b7eebecccc Sending Channel(3), Control(0), Value(3)]
2023-11-15 09:15:16.8092 0,01ms DEBUG 57 MidiController Send_ControlChange [Sending ControlChangeMessage, ID:cf6b16a2c1739b3042ff34b7eebecccc, MidiIn:BMT 5, MidiOut:BMT 4, Channel:3, Control,:0, Value:3]
2023-11-15 09:15:16.8094 0,11ms DEBUG 57 MidiStateCtrl SaveMidiState [Saving state for ControlChangeMessage, ID:cf6b16a2c1739b3042ff34b7eebecccc, MidiIn:BMT 5, MidiOut:BMT 4, Channel:3, Control,:0, Value:3, time=15/11/2023 09:15:16]
2023-11-15 09:15:16.8095 0,09ms DEBUG 57 ImageController GetImage [cf6b16a2c1739b3042ff34b7eebecccc Image 'C:\Users\LPA\AppData\Roaming\Elgato\StreamDeck\Plugins\se.trevligaspel.midi.sdPlugin\Images\CycleDirections\Dark\Down_Right.png' fetched from image cache]
2023-11-15 09:15:16.8097 0,21ms DEBUG 57 TitleThrottler SetTitle [cf6b16a2c1739b3042ff34b7eebecccc same title as last, ignoring 'Value 0' and clearing queue]
2023-11-15 09:15:16.8101 0,42ms DEBUG 57 ImageThrottler SetImage [cf6b16a2c1739b3042ff34b7eebecccc Same image hash as displayed image, ignoring new image]
2023-11-15 09:15:16.8101 0,02ms DEBUG 57 StateThrottler SetState [cf6b16a2c1739b3042ff34b7eebecccc same state as next, ignoring: State(0)]
2023-11-15 09:15:17.0000 189,94ms DEBUG 40 ControlChange KeyReleased [cf6b16a2c1739b3042ff34b7eebecccc OutPort(BMT 4) InPort(BMT 5) Channel(3) Command(0) Payload state:0]
2023-11-15 09:15:19.9972 2997,19ms DEBUG 40 ControlChange KeyPressed [cf6b16a2c1739b3042ff34b7eebecccc OutPort(BMT 4) InPort(BMT 5) Channel(3) Command(0), Payload state:0]
2023-11-15 09:15:19.9973 0,05ms DEBUG 40 Connection Send_ControlChange [cf6b16a2c1739b3042ff34b7eebecccc Sending Channel(3), Control(0), Value(0)]
2023-11-15 09:15:19.9973 0,01ms DEBUG 40 MidiController Send_ControlChange [Sending ControlChangeMessage, ID:cf6b16a2c1739b3042ff34b7eebecccc, MidiIn:BMT 5, MidiOut:BMT 4, Channel:3, Control,:0, Value:0]
2023-11-15 09:15:19.9978 0,47ms DEBUG 40 MidiStateCtrl SaveMidiState [Saving state for ControlChangeMessage, ID:cf6b16a2c1739b3042ff34b7eebecccc, MidiIn:BMT 5, MidiOut:BMT 4, Channel:3, Control,:0, Value:0, time=15/11/2023 09:15:19]
2023-11-15 09:15:19.9978 0,10ms DEBUG 40 ImageController GetImage [cf6b16a2c1739b3042ff34b7eebecccc Image 'C:\Users\LPA\AppData\Roaming\Elgato\StreamDeck\Plugins\se.trevligaspel.midi.sdPlugin\Images\CycleDirections\Dark\Down_Right.png' fetched from image cache]
2023-11-15 09:15:19.9980 0,20ms DEBUG 40 TitleThrottler SetTitle [cf6b16a2c1739b3042ff34b7eebecccc same title as last, ignoring 'Value 0' and clearing queue]
2023-11-15 09:15:19.9984 0,39ms DEBUG 40 ImageThrottler SetImage [cf6b16a2c1739b3042ff34b7eebecccc Same image hash as displayed image, ignoring new image]
2023-11-15 09:15:19.9984 0,01ms DEBUG 40 StateThrottler SetState [cf6b16a2c1739b3042ff34b7eebecccc same state as next, ignoring: State(0)]
2023-11-15 09:15:20.1350 136,51ms DEBUG 40 ControlChange KeyReleased [cf6b16a2c1739b3042ff34b7eebecccc OutPort(BMT 4) InPort(BMT 5) Channel(3) Command(0) Payload state:0]
2023-11-15 09:15:24.7492 4614,23ms DEBUG 42 ControlChange OnSendToPlugin [cf6b16a2c1739b3042ff34b7eebecccc ViewLog : Yes]
I probably miss something but to me it's just like if the option displayonsend="yes" was not taken into account.
Note: The value and display is updated properly upon reception of a midi incoming message, so I did implement a workaround (from Bome midi Translator) by returning the sent midi message but I would like to understand the behavior of the displayonsend option.
Thank you for your support.
thx538- Posts : 130
Join date : 2023-10-23
Re: Displayonsend does not seem to work in Cycle File
You're correct; thanks for the bug report. I'll fix that for the next release.
You need to swap the up/down images (unless you want the arrow to point down when going up and vice versa).
You need to swap the up/down images (unless you want the arrow to point down when going up and vice versa).
Re: Displayonsend does not seem to work in Cycle File
Hello,
Thanks for taking into account my report.
Another annoyance with these controls is that when the manual direction switch is triggered (double pressed within the delay), it still sends the outgoing midi messages, resulting in two midi messages in a brief interval of time doing the opposite thing.
Is it possible to have outgoing midi blocked when direction switch is detected ?
Please note that long press is a bit more forgiving since only on message is sent, but still I think click, double click and long press should be mutually exclusive (as an UX design principle).
Thanks again for your hard work.
Thanks for taking into account my report.
Another annoyance with these controls is that when the manual direction switch is triggered (double pressed within the delay), it still sends the outgoing midi messages, resulting in two midi messages in a brief interval of time doing the opposite thing.
Is it possible to have outgoing midi blocked when direction switch is detected ?
Please note that long press is a bit more forgiving since only on message is sent, but still I think click, double click and long press should be mutually exclusive (as an UX design principle).
Thanks again for your hard work.
thx538- Posts : 130
Join date : 2023-10-23
Re: Displayonsend does not seem to work in Cycle File
That's a tricky situation. The command is sent when you release the button, and at that time, the plugin does not know if you intend to press it again shortly.
The only way to avoid a double command in that situation is to delay the first command until the plugin knows for a fact that there will not be a second press, and I don't know if that is a good solution.
The only way to avoid a double command in that situation is to delay the first command until the plugin knows for a fact that there will not be a second press, and I don't know if that is a good solution.
Re: Displayonsend does not seem to work in Cycle File
I understand. Not necessarily a priority IMHO.
btw, it is less "visible" now that the displayonsend works.
btw, it is less "visible" now that the displayonsend works.
thx538- Posts : 130
Join date : 2023-10-23
Similar topics
» Cycle Button - Translation File
» Control change cycle random behaviour
» Maintaining state of cycle buttons over multiple pages
» Open any app or file
» Clear log file
» Control change cycle random behaviour
» Maintaining state of cycle buttons over multiple pages
» Open any app or file
» Clear log file
Page 1 of 1
Permissions in this forum:
You cannot reply to topics in this forum