Trevliga Spel forum
Would you like to react to this message? Create an account in a few clicks or log in to continue.

Displayonsend does not seem to work in Cycle File

2 posters

Go down

Displayonsend does not seem to work in Cycle File Empty Displayonsend does not seem to work in Cycle File

Post by thx538 Wed Nov 15, 2023 9:25 am

Hello,
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 : 24
Join date : 2023-10-23

Back to top Go down

Displayonsend does not seem to work in Cycle File Empty Re: Displayonsend does not seem to work in Cycle File

Post by Admin Wed Nov 15, 2023 10:49 am

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).
Admin
Admin
Admin

Posts : 962
Join date : 2020-03-26

https://trevligaspel.forumotion.eu

Back to top Go down

Displayonsend does not seem to work in Cycle File Empty Re: Displayonsend does not seem to work in Cycle File

Post by thx538 Thu Nov 16, 2023 5:07 pm

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.

thx538

Posts : 24
Join date : 2023-10-23

Back to top Go down

Displayonsend does not seem to work in Cycle File Empty Re: Displayonsend does not seem to work in Cycle File

Post by Admin Thu Nov 16, 2023 5:27 pm

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.
Admin
Admin
Admin

Posts : 962
Join date : 2020-03-26

https://trevligaspel.forumotion.eu

Back to top Go down

Displayonsend does not seem to work in Cycle File Empty Re: Displayonsend does not seem to work in Cycle File

Post by thx538 Thu Nov 16, 2023 5:43 pm

I understand. Not necessarily a priority IMHO.
btw, it is less "visible" now that the displayonsend works.

thx538

Posts : 24
Join date : 2023-10-23

Back to top Go down

Displayonsend does not seem to work in Cycle File Empty Re: Displayonsend does not seem to work in Cycle File

Post by Sponsored content


Sponsored content


Back to top Go down

Back to top

- Similar topics

 
Permissions in this forum:
You cannot reply to topics in this forum