View Single Post
Old 03-12-2018, 10:43 AM   #937
Geoff Waddington
Human being with feelings
 
Geoff Waddington's Avatar
 
Join Date: Mar 2009
Location: Dartmouth, Nova Scotia
Posts: 11,235
Default

Quote:
Originally Posted by Freex View Post
From what i understand, if each layer sends unique messages, that are not duplicated in the other layer somewhere, then there would be not cross talk, and you could consider them as two controllers in one.
That is true, but without a "kick" from the surface to tell us to change layers, the values for each Widget would stay on the previous layer, until you touched them.

So, even though the surface can easily push messages to CSI, CSI needs a message to tell it to refresh the layer when it changes.

There appears to be no such feedback mechanism, making the whole thing pretty ineffective.

The key is getting to XTouch to send out a midi message when the Layer buttons are pushed.

[Edit] This is why I LOVE discussion, it almost always leads to a better product.

The reason we need CSI to get kicked is because it's optimized.
There is a setting in Reaper for Control Surface Display Update Frequency.
The default is 15Hz, which means CSI gets a kick 15 times a second to update the Widgets.
If we actually did this we could easily bury the midi stream.
So, instead we keep the last value sent and only send a mdi message if the current value disagrees with the previous value, in other words if it has changed.

OK, so, we want to keep the optimization, but we also want to accommodate situations like the XTouch silent layers.

I believe we should add an option to send out an update every second or so, regardless of the need to.
That way we up the stream traffic slightly, but now you can use both layers
__________________
To install you need the CSI Software and Support Files
For installation instructions and documentation see the Wiki
Donate -- via PayPal to waddingtongeoff@gmail.com

Last edited by Geoff Waddington; 03-12-2018 at 10:59 AM.
Geoff Waddington is offline   Reply With Quote