Go Back   Cockos Incorporated Forums > REAPER Forums > MIDI Hardware, Control Surfaces, and OSC

Reply
 
Thread Tools Display Modes
Old 09-12-2021, 06:40 PM   #14921
Funkybot
Human being with feelings
 
Funkybot's Avatar
 
Join Date: Jul 2007
Location: New Joisey
Posts: 5,973
Default

Quote:
Originally Posted by Marek View Post
Sorry if that wasn't clear from my post, but that's exactly what I'm doing now. It works this way of course, that's not my issue.
It's just I don't like that feeling from buttons. You know, press - nothing happen, release - now we're talking.

I think a work around would be some kind of delaying the receiving message from CSI to the device. Let say under 1 sec.
The thing I'm not getting is this: CSI doesn't wait until release today. It operates on press.

Try it with this simple example:
Code:
Click     Reaper 40364       // Toggle metronome
Press the Click button and hold it...click gets enabled before the release. There may be a tiny lag as a result of a Hold modifier, but definitely not waiting until the release action.
Funkybot is offline   Reply With Quote
Old 09-12-2021, 09:24 PM   #14922
Marek
Human being with feelings
 
Marek's Avatar
 
Join Date: Jul 2013
Location: Auckland, NZ
Posts: 96
Default

The issue isn’t that the device dosn’t work with the press message.

OK, simplified storry of the button
I’m pressing a button, the button creates a message, the message is sent to the midi port and also internally. Button lights up. Cool.
CSI is seeing the message, and sending an action to Reaper.
Reaper sees the request from CSI and executes the action. Supercool.
About the feedback:
Reaper talking to CSI, hey, my button (let say play) changed the status, it’s ON now.
CSI checks zones/widgets and sends a message to the device accordingly.
The device receives the message. The message means light the button up.
Supercool.
I’m releasing the button, the button creates a release message turning the LED off ... oh bugger.

Hope my previous posts make more sense now


Quote:
Originally Posted by Marek View Post
I have a little issue.

I prefer when a hardware button triggers an action on pressing it, instead of releasing.
I also like to see the feedback on the button’s LED.
Sounds easy, doesn't it? Here is the catch.
Internal messaging on the device can’t be turned off. No problem, the message is also received from CSI to overwrite the LED status. The trouble is, that the message from CSI is received before the button is released of course. The release of the button overwrites the LED with the internal message afterward.
The release message can’t be turned off on the device, it’s always generated.

From my understanding of the CSI I think it can’t be resolved in CSI, just outside of CSI. Am I right?

Well, I suppose I have to live with buttons reacting only to released position.
Quote:
Originally Posted by Marek View Post
Quote:
Originally Posted by 722 View Post
Just guessing, but wouldn’t it be possible to create a new button (widget) in your MST file, that would react just on the release message of the button and handle the LED?
Sorry if that wasn't clear from my post, but that's exactly what I'm doing now. It works this way of course, that's not my issue.
It's just I don't like that feeling from buttons. You know, press - nothing happen, release - now we're talking.

I think a work around would be some kind of delaying the receiving message from CSI to the device. Let say under 1 sec.
Marek is offline   Reply With Quote
Old 09-13-2021, 05:08 AM   #14923
Geoff Waddington
Human being with feelings
 
Geoff Waddington's Avatar
 
Join Date: Mar 2009
Location: Dartmouth, Nova Scotia
Posts: 11,150
Default

Quote:
Originally Posted by Marek View Post
The issue isn’t that the device dosn’t work with the press message.

OK, simplified storry of the button
I’m pressing a button, the button creates a message, the message is sent to the midi port and also internally. Button lights up. Cool.
Ummm... actually not cool

The button has absolutely no knowledge about whether or not Reaper actually did anything -- the surface has absolutely no business making lit/unlit decisions unilaterally.

This is a problem with various surfaces, I have a Console 1 which exhibits more or less the same behaviour, there is a Widget type "AnyPress" that may/may not help you.

Once again this is a surface problem, and must be approached from that perspective, just sayin'
__________________
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
Geoff Waddington is offline   Reply With Quote
Old 09-13-2021, 05:27 AM   #14924
MixMonkey
Human being with feelings
 
MixMonkey's Avatar
 
Join Date: Sep 2017
Location: London, England.
Posts: 4,835
Default

Reposting this as it may have got lost in the shuffle:

Just a little bug report on the latest (and possibly previous) Exp build.

Reaper crashes when loading a session if there's no CSI.ini file in the CSI folder. It doesn't create a new, blank one.

It also crashes if all the entries are removed from the prefs window.

I'm still seeing the missing tracks on unpinning occasionally but haven't managed to track down the circumstances yet.

On a more positive note, bank to selected track on project load and the RecordArm lights indicating track pinning are working fine.

Could we have the 'bank to selected track' split off as an Action in it's own right? This would be super useful for use in combination with scripts whose final act is to restore a selected track.
MixMonkey is offline   Reply With Quote
Old 09-13-2021, 06:32 AM   #14925
Geoff Waddington
Human being with feelings
 
Geoff Waddington's Avatar
 
Join Date: Mar 2009
Location: Dartmouth, Nova Scotia
Posts: 11,150
Default

Quote:
Originally Posted by MixMonkey View Post
Reposting this as it may have got lost in the shuffle:

Just a little bug report on the latest (and possibly previous) Exp build.

Reaper crashes when loading a session if there's no CSI.ini file in the CSI folder. It doesn't create a new, blank one.

It also crashes if all the entries are removed from the prefs window.

I'm still seeing the missing tracks on unpinning occasionally but haven't managed to track down the circumstances yet.

On a more positive note, bank to selected track on project load and the RecordArm lights indicating track pinning are working fine.

Could we have the 'bank to selected track' split off as an Action in it's own right? This would be super useful for use in combination with scripts whose final act is to restore a selected track.
Thanks for the reminder, just eliminating the EuCon.ini and EuCon folder from the install, so in the right frame of mind to come back to CSI when this round of EuCon work is done and tackle any .ini file/config issues in the CSI world.
__________________
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
Geoff Waddington is offline   Reply With Quote
Old 09-13-2021, 05:02 PM   #14926
Marek
Human being with feelings
 
Marek's Avatar
 
Join Date: Jul 2013
Location: Auckland, NZ
Posts: 96
Default

Quote:
Originally Posted by Geoff Waddington View Post
-- the surface has absolutely no business making lit/unlit decisions unilaterally.
Yes, I know, but I can also understand why some surfaces were designed this way.

Quote:
Originally Posted by Geoff Waddington View Post
This is a problem with various surfaces, I have a Console 1 which exhibits more or less the same behaviour, there is a Widget type "AnyPress" that may/may not help you.
Yes, using “AnyPress” was also my first thought. Unfortunately, the surface doesn’t care about my feelings at all The button in the toggle mode generates messages just on the release of the button instead of press. Whoever developed that firmware, damn you!

Quote:
Originally Posted by Geoff Waddington View Post
Once again this is a surface problem, and must be approached from that perspective, just sayin'
Yes, that was my understanding. I just wanted to be sure that I didn’t miss something. I’m still not fully familiar with CSI functionality. Thank you for clarifying!

Can I solve this issue for now? Yes. I route the midi feedback through MIDI-OX with a delay of 200ms for the buttons messages. This way the device receives the feedback after the button is released, rewriting the status of the LED after an internal message. Done.
Is this method worth it? I’m not sure yet … probably not.

Last edited by Marek; 09-13-2021 at 05:08 PM.
Marek is offline   Reply With Quote
Old 09-13-2021, 05:39 PM   #14927
nofish
Human being with feelings
 
nofish's Avatar
 
Join Date: Oct 2007
Location: home is where the heart is
Posts: 12,093
Default

Quote:
Originally Posted by Marek View Post
I’m releasing the button, the button creates a release message turning the LED off ... oh bugger.
That sounds like the button acts as a momentary switch. On my device I can set buttons to either momentary or latch, but I guess you've checked already if possible on your device?
nofish is online now   Reply With Quote
Old 09-14-2021, 02:40 AM   #14928
susbemol
Human being with feelings
 
susbemol's Avatar
 
Join Date: Jul 2007
Location: London, UK
Posts: 1,217
Default

It's that time of the week again that I check in to try and find out if the issue with REAPER not following the CS has been looked at yet. Looking at previous messages, it doesn't look like it has been addressed just yet. Is that right?
susbemol is offline   Reply With Quote
Old 09-14-2021, 04:31 AM   #14929
MixMonkey
Human being with feelings
 
MixMonkey's Avatar
 
Join Date: Sep 2017
Location: London, England.
Posts: 4,835
Default

Quote:
Originally Posted by susbemol View Post
It's that time of the week again that I check in to try and find out if the issue with REAPER not following the CS has been looked at yet. Looking at previous messages, it doesn't look like it has been addressed just yet. Is that right?
Not fixed yet, i'm afraid. Geoff's tied up getting the Eucon implementation up to speed, but he'll be back in CSI land soon
MixMonkey is offline   Reply With Quote
Old 09-14-2021, 05:30 AM   #14930
susbemol
Human being with feelings
 
susbemol's Avatar
 
Join Date: Jul 2007
Location: London, UK
Posts: 1,217
Default

Quote:
Originally Posted by MixMonkey View Post
Not fixed yet, i'm afraid. Geoff's tied up getting the Eucon implementation up to speed, but he'll be back in CSI land soon
No worries, I thought that might be the case. I also thought he was done with EuCon for now but clearly not! Thanks for letting me know.
susbemol is offline   Reply With Quote
Old 09-14-2021, 05:30 AM   #14931
Geoff Waddington
Human being with feelings
 
Geoff Waddington's Avatar
 
Join Date: Mar 2009
Location: Dartmouth, Nova Scotia
Posts: 11,150
Default

Quote:
Originally Posted by susbemol View Post
It's that time of the week again that I check in to try and find out if the issue with REAPER not following the CS has been looked at yet. Looking at previous messages, it doesn't look like it has been addressed just yet. Is that right?
As @MixMonkey said, over in EuCon land right now, I can tell you I've had a couple of passes at this and can't find what's wrong, but we're pretty relentless around here, so rest assured we will get it fixed
__________________
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
Geoff Waddington is offline   Reply With Quote
Old 09-14-2021, 05:32 AM   #14932
susbemol
Human being with feelings
 
susbemol's Avatar
 
Join Date: Jul 2007
Location: London, UK
Posts: 1,217
Default

Quote:
Originally Posted by Geoff Waddington View Post
As @MixMonkey said, over in EuCon land right now, I can tell you I've had a couple of passes at this and can't find what's wrong, but we're pretty relentless around here, so rest assured we will get it fixed
Thanks, Geoff. It will be very much appreciated!
susbemol is offline   Reply With Quote
Old 09-14-2021, 06:44 AM   #14933
cjewellstudios
Human being with feelings
 
Join Date: Sep 2017
Posts: 998
Default

Quote:
Originally Posted by Marek View Post
Yes, I know, but I can also understand why some surfaces were designed this way.


Yes, using “AnyPress” was also my first thought. Unfortunately, the surface doesn’t care about my feelings at all The button in the toggle mode generates messages just on the release of the button instead of press. Whoever developed that firmware, damn you!


Yes, that was my understanding. I just wanted to be sure that I didn’t miss something. I’m still not fully familiar with CSI functionality. Thank you for clarifying!

Can I solve this issue for now? Yes. I route the midi feedback through MIDI-OX with a delay of 200ms for the buttons messages. This way the device receives the feedback after the button is released, rewriting the status of the LED after an internal message. Done.
Is this method worth it? I’m not sure yet … probably not.
That's interesting. I'm pretty sure that's also what's happening with TouchOSC. There are workarounds for that as well but I wonder if we could possibly implement this fix in CSI in the mst?

For the problematic buttons we could have a FB_ProcessorDelayed? Just a thought.

I think we would still need the OSC workaround I came up with for the modifiers.
cjewellstudios is offline   Reply With Quote
Old 09-14-2021, 09:04 AM   #14934
Geoff Waddington
Human being with feelings
 
Geoff Waddington's Avatar
 
Join Date: Mar 2009
Location: Dartmouth, Nova Scotia
Posts: 11,150
Default

Quote:
Originally Posted by cjewellstudios View Post
That's interesting. I'm pretty sure that's also what's happening with TouchOSC. There are workarounds for that as well but I wonder if we could possibly implement this fix in CSI in the mst?

For the problematic buttons we could have a FB_ProcessorDelayed? Just a thought.

I think we would still need the OSC workaround I came up with for the modifiers.
Honestly not a big fan of anything that involves delays.

You end up needing buffers which can overflow, things can freeze up, etc., etc.

Open to any other workarounds folks can think of though.
__________________
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
Geoff Waddington is offline   Reply With Quote
Old 09-14-2021, 09:23 AM   #14935
cjewellstudios
Human being with feelings
 
Join Date: Sep 2017
Posts: 998
Default

Quote:
Originally Posted by Geoff Waddington View Post
Honestly not a big fan of anything that involves delays.

You end up needing buffers which can overflow, things can freeze up, etc., etc.

Open to any other workarounds folks can think of though.
Its sloppy. I get it

Good thing is I'm actually learning my way around Lua and I can probably come up with a snippet of code that does the delay on the surface side.

In that same vein, I did get more response from Hexler basically admitting that if more people message them about it they will be more apt to come up with a solution.

EDIT: What about re-sending the correct message after the release of the button? Also messy, and I don't know enough about programming to know if that also involves a buffer so just spitballing here

Last edited by cjewellstudios; 09-14-2021 at 09:31 AM.
cjewellstudios is offline   Reply With Quote
Old 09-14-2021, 09:42 AM   #14936
MixMonkey
Human being with feelings
 
MixMonkey's Avatar
 
Join Date: Sep 2017
Location: London, England.
Posts: 4,835
Default

Quote:
Originally Posted by cjewellstudios View Post
In that same vein, I did get more response from Hexler basically admitting that if more people message them about it they will be more apt to come up with a solution.
Time to check out Lemur as an OSC companion for CSI methinks
MixMonkey is offline   Reply With Quote
Old 09-14-2021, 09:54 AM   #14937
cjewellstudios
Human being with feelings
 
Join Date: Sep 2017
Posts: 998
Default

Quote:
Originally Posted by MixMonkey View Post
Time to check out Lemur as an OSC companion for CSI methinks
Absolutely not lol

Just kidding...

but I've spent hours and hours (probably 15 plus) making a really nice layout that's almost ready to show.

Lemur is also not being updated and TouchOSC's new version is in the infancy stage with constant updates.

The workaround isnt THAT bad considering all the quality of life improvements to naming controls and editing layouts.

Just make your layout normally like you would without the workaround, then when you are ready to start making connections and getting the correct feedback.
1 duplicate the button

2. change the new button's color to have an alpha (rgb"A") to 0 making it completely transparent.

3. Make the button on bottom a reciever of the osc message and the invisible button on top the sender.
cjewellstudios is offline   Reply With Quote
Old 09-14-2021, 10:09 AM   #14938
MixMonkey
Human being with feelings
 
MixMonkey's Avatar
 
Join Date: Sep 2017
Location: London, England.
Posts: 4,835
Default

Quote:
Originally Posted by cjewellstudios View Post
1 duplicate the button

2. change the new button's color to have an alpha (rgb"A") to 0 making it completely transparent.

3. Make the button on bottom a reciever of the osc message and the invisible button on top the sender.
...for every button, life's too short I'd rather just use TouchOSC V1 and check out alternatives.

It's a fundamental flaw in their software and the fact that no-one picked up on it until we came along suggests that the great majority of TouchOSC use cases are one-way only.

Because of this, I don't think we can expect any consideration for CSI's feedback model going forward and personally, I won't be spending any more time developing CSI/TouchOSC integration.
MixMonkey is offline   Reply With Quote
Old 09-14-2021, 10:21 AM   #14939
cjewellstudios
Human being with feelings
 
Join Date: Sep 2017
Posts: 998
Default

Quote:
Originally Posted by MixMonkey View Post
...for every button, life's too short I'd rather just use TouchOSC V1 and check out alternatives.

It's a fundamental flaw in their software and the fact that no-one picked up on it until we came along suggests that the great majority of TouchOSC use cases are one-way only.

Because of this, I don't think we can expect any consideration for CSI's feedback model going forward and personally, I won't be spending any more time developing CSI/TouchOSC integration.
It's a fundamental flaw, agreed but I can't say I agree with the rest of your thinking here.

The new naming convention alone makes the new touchosc faster than mk1 x10.

Using group names, indexes and tags I can now take this incredibly complex fader channel strip group thing I made and duplicate it, drag it over and change the name of the group (and one group layer below it) and now all of the complex things I've packed into this fader group have the correct message (TrackSelect2, TrackMute2, etc etc)

You could easily take a section of my layout and use it in your own because you can have multiple tabs open in the editor and copy/paste at will.

It would take me maybe 5 min to make 48 tracks with correct osc addresses for everything. (I realized quickly older iPads don't like that, but that's not the point here)

I do have faith that we will eventually get our fix for the buttons and there is some great stuff on the horizon as well like image support and a branch view for when layouts get complex.

I look at the fundamental flaw as a niggle. I don't think it's worth it investing time into lemur since it's not being actively developed and hasn't been for some time.

Open Stage Control is a different story but I've been down that road before with absolutely no success. It could be done for sure but I am not that guy.
cjewellstudios is offline   Reply With Quote
Old 09-14-2021, 10:32 AM   #14940
MixMonkey
Human being with feelings
 
MixMonkey's Avatar
 
Join Date: Sep 2017
Location: London, England.
Posts: 4,835
Default

Quote:
Originally Posted by cjewellstudios View Post
It's a fundamental flaw, agreed but I can't say I agree with the rest of your thinking here.
Hey, no problem By all means carry on with your project. I'm certainly not a big OSC user, so my priorities are different.

Hopefully Hexler will fix the bug, I'm just not prepared to invest more time until they do. They already have my money

My biggest concern with OSC has nothing to do with Hexler. I'm concerned that it's too reliant on what are often very shakey wireless networks and this could be a limiting factor in what can be achieved as the software progresses. The fact that you can't connect phones and pads with a simple USB connection and use OSC has always looked like a failing to me.
MixMonkey is offline   Reply With Quote
Old 09-14-2021, 10:41 AM   #14941
Funkybot
Human being with feelings
 
Funkybot's Avatar
 
Join Date: Jul 2007
Location: New Joisey
Posts: 5,973
Default

Quote:
Originally Posted by MixMonkey View Post
Hey, no problem By all means carry on with your project. I'm certainly not a big OSC user, so my priorities are different.

Hopefully Hexler will fix the bug, I'm just not prepared to invest more time until they do. They already have my money
If it helps, I just reported the button feedback issue. Had been meaning to do that.

Quote:
Originally Posted by MixMonkey View Post
My biggest concern with OSC has nothing to do with Hexler. I'm concerned that it's too reliant on what are often very shakey wireless networks and this could be a limiting factor in what can be achieved as the software progresses. The fact that you can't connect phones and pads with a simple USB connection and use OSC has always looked like a failing to me.
Has anyone figured out what the latency would be like if implementing a TCP vs. UDP connection? I don't know of anything that supports both with TouchOSC just yet, but at least TouchOSC added support for TCP in MK II. My understanding is that TCP would add some latency (not sure at all how much - could be minimal, could be unacceptable) but the benefit is that every packet sent gets confirmation on receipt or is resent. So no more dropped data. If the latency were only a few ms, that would be the way forward IMO.

But that's a big "if" and I have no idea what the effort would be to code and test it and don't want to imply I'm volunteering Geoff for anything.
Funkybot is offline   Reply With Quote
Old 09-14-2021, 10:50 AM   #14942
cjewellstudios
Human being with feelings
 
Join Date: Sep 2017
Posts: 998
Default

Hard to argue with the instability and somewhat wild wild west nature of OSC.

I was hoping, like funkybot mentioned TCP would be an upgrade.

I was also hoping for local address support. For using a secondary touchscreen monitor. I imagine that to be maybe the ultimate solution. No network issues to worry about.

Also not volunteering Geoff for anything
cjewellstudios is offline   Reply With Quote
Old 09-14-2021, 10:53 AM   #14943
MixMonkey
Human being with feelings
 
MixMonkey's Avatar
 
Join Date: Sep 2017
Location: London, England.
Posts: 4,835
Default

Quote:
Originally Posted by cjewellstudios View Post
Also not volunteering Geoff for anything
I think TCP support in OSC would probably need Justin and Schwa to be volunteered too
MixMonkey is offline   Reply With Quote
Old 09-14-2021, 02:48 PM   #14944
cjewellstudios
Human being with feelings
 
Join Date: Sep 2017
Posts: 998
Default

Quote:
Originally Posted by MixMonkey View Post
I think TCP support in OSC would probably need Justin and Schwa to be volunteered too
Yeah maybe you're right. There's a little blurb about what's involved in the TCP protocol in the TouchOSC manual.

Quote:
"When using one of the TCP/IP connection types, TouchOSC will use a simple message framing scheme as suggested by the OSC 1.0 specification

...the stream should begin with an int32 giving the size of the first packet, followed by the contents of the first packet, followed by the size of the second packet, etc."
I doubt that helps anyone

Interestingly enough though, I am pretty sure you can use local address (127.0.0.1) using the native Reaper OSC implementation. Here's a sentence I found about using localhost.

Quote:
The processing of any packet sent to a loopback address is implemented in the link layer of the TCP/IP stack.
Does it then stand to reason that maybe, just maybe, the groundwork for such support is already there?

I don't know anything I'm merely grasping at straws. It's an interesting conversation nonetheless.
cjewellstudios is offline   Reply With Quote
Old 09-15-2021, 02:47 AM   #14945
Marek
Human being with feelings
 
Marek's Avatar
 
Join Date: Jul 2013
Location: Auckland, NZ
Posts: 96
Default

https://github.com/GeoffAWaddington/.../wiki/Encoders
"In order to support the widest possible range of hardware encoders, CSI now allows users to customize which values their encoders transmit"

Is it already implemented in v1.1?
Only MCU values (01,41) and their increments work as they should, any another values fail.


Also, what's that 7F below for? My understating is that CSI doesn't do anything with that value. Is it there just because syntax says so?

Widget Rotary1
Encoder b0 10 7f [ < 41 > 01 ]
FB_Encoder b0 10 7f
WidgetEnd

Last edited by Marek; 09-15-2021 at 03:17 AM.
Marek is offline   Reply With Quote
Old 09-15-2021, 06:17 AM   #14946
MixMonkey
Human being with feelings
 
MixMonkey's Avatar
 
Join Date: Sep 2017
Location: London, England.
Posts: 4,835
Default

Quote:
Originally Posted by Marek View Post
https://github.com/GeoffAWaddington/.../wiki/Encoders
"In order to support the widest possible range of hardware encoders, CSI now allows users to customize which values their encoders transmit"

Is it already implemented in v1.1?
Only MCU values (01,41) and their increments work as they should, any another values fail.


Also, what's that 7F below for? My understating is that CSI doesn't do anything with that value. Is it there just because syntax says so?

Widget Rotary1
Encoder b0 10 7f [ < 41 > 01 ]
FB_Encoder b0 10 7f
WidgetEnd
What surface are you using?
MixMonkey is offline   Reply With Quote
Old 09-15-2021, 02:12 PM   #14947
Marek
Human being with feelings
 
Marek's Avatar
 
Join Date: Jul 2013
Location: Auckland, NZ
Posts: 96
Default

Quote:
Originally Posted by MixMonkey View Post
What surface are you using?
That should be irrelevant
I can setup the hardware for 01/41, that's not my issue.
Also you can completely ignore the part where I'm talking about the mysterious F7. That part is more for fan, than anything else

The important part is this:
Quote:
Originally Posted by Marek View Post
https://github.com/GeoffAWaddington/.../wiki/Encoders
"In order to support the widest possible range of hardware encoders, CSI now allows users to customize which values their encoders transmit"

Is it already implemented in v1.1?
Only MCU values (01,41) and their increments work as they should, any another values fail.
From my observation it looks like a bug in CSI itself. You can try it yourself.
For example something simple, not even acceleration:
Setup your hardware as an encoder with nonstandard values, let say (01,7f) and change the widget accordingly.

Widget Rotary1
Encoder b0 10 7f [ < 7f > 01 ]
FB_Encoder b0 10 7f
WidgetEnd

The value 01 still works how it should, but the value 7f does funky stuff
Marek is offline   Reply With Quote
Old 09-15-2021, 03:14 PM   #14948
siniarch
Human being with feelings
 
siniarch's Avatar
 
Join Date: Jun 2018
Posts: 705
Default

Quote:
Originally Posted by Marek View Post
That should be irrelevant
I can setup the hardware for 01/41, that's not my issue.
Also you can completely ignore the part where I'm talking about the mysterious F7. That part is more for fan, than anything else

The important part is this:

From my observation it looks like a bug in CSI itself. You can try it yourself.
For example something simple, not even acceleration:
Setup your hardware as an encoder with nonstandard values, let say (01,7f) and change the widget accordingly.

Widget Rotary1
Encoder b0 10 7f [ < 7f > 01 ]
FB_Encoder b0 10 7f
WidgetEnd

The value 01 still works how it should, but the value 7f does funky stuff
Hi Marek,

And welcome to the CSI project. I see what you are saying and unfortunately I do not have time to test this by altering the hardware and then updating the MST file to comply with new hardware changes.

Please do not take the following as an attack, I'm having a really hard time phrasing it and trying to not come off as offensive but rather it be received friendly. Tone is hard to convey via text only.

My guess is that most people on this thread also do not have time to test out a different way to do things just for theoretical reasons. So, if you are able to change your hardware and have it react like all others with 01/41 and their corresponding ascending numbers then my question is why not do this?

Again, please understand that I am not saying that you are incorrect. You may have found a bug in CSI, but at the moment and unless you can share with us a good reason to deviate from the norm that is needed for your purpose then at least there is one way that it is working correctly. Why not follow the path of least resistance. Like Bruce Lee said "Be like water my friend".

Geoff is working super hard to make CSI and now Eucon CSI work as best as possible, but he is only one person, and although this MAY be a bug, it is one that has a low priority as there is a working way to do things at the moment. So perhaps he can look at it later when other things have been completed and this may be one thing that is of next importance, but without knowing your reasoning behind needing this to work outside of 01/41 numbers, it will most likely not get a lot of attention.

Again, I do not mean disrespect at all, and I too have things I want CSI to fix ASAP, but I also am not in the path of most important at the moment.

Perhaps you can share a great reason for needing this and you an others may ask Geoff to move this issue up the chain.

Best of luck with your issue, and again, welcome to CSI. It is an incredible software.

Btw, anyone reading this and/or using CSI, please don't forget to donate and support Geoff. He's so generous with his time and skills. I need to remember to donate more to him as well.
__________________
www.SiniCon.io .......... Digital Audio Controllers
www.AcousticalGarden.com ........ Los Angeles Boutique Sound Studio
siniarch is offline   Reply With Quote
Old 09-15-2021, 03:19 PM   #14949
Funkybot
Human being with feelings
 
Funkybot's Avatar
 
Join Date: Jul 2007
Location: New Joisey
Posts: 5,973
Default

Quote:
Originally Posted by Marek View Post
That should be irrelevant
I can setup the hardware for 01/41, that's not my issue.
Also you can completely ignore the part where I'm talking about the mysterious F7. That part is more for fan, than anything else

The important part is this:

From my observation it looks like a bug in CSI itself. You can try it yourself.
For example something simple, not even acceleration:
Setup your hardware as an encoder with nonstandard values, let say (01,7f) and change the widget accordingly.

Widget Rotary1
Encoder b0 10 7f [ < 7f > 01 ]
FB_Encoder b0 10 7f
WidgetEnd

The value 01 still works how it should, but the value 7f does funky stuff

Are you sure your device is actually transmitting 7f when being rotated counter-clockwise and 01 when clockwise? What device are we talking about? Does it send acceleration values?

Have you tried discrete steps? This definitely works (discrete steps):

Code:
Widget RotaryA1
	MFTEncoder b0 00 7f [ < 3f 3e 3d 3c 3b 3a 39 38 36 33 2f > 41 42 43 44 45 46 47 48 4a 4d 51 ]
	FB_Fader7Bit b0 00 00
WidgetEnd
Funkybot is offline   Reply With Quote
Old 09-15-2021, 04:46 PM   #14950
cjewellstudios
Human being with feelings
 
Join Date: Sep 2017
Posts: 998
Default New TouchOSC Layout

Nowhere close to done. But the recent conversations about the new TouchOSC and a little down time due to a covid scare (if I have it, I have somewhat mild symptoms) lit a fire under my butt to get this mostly together.

The video is grainy for some odd reason but it shows off what the new version can do.

Some initial thoughts would be appreciated.

https://drive.google.com/file/d/1l0g...ew?usp=sharing
cjewellstudios is offline   Reply With Quote
Old 09-15-2021, 05:24 PM   #14951
MixMonkey
Human being with feelings
 
MixMonkey's Avatar
 
Join Date: Sep 2017
Location: London, England.
Posts: 4,835
Default

Quote:
Originally Posted by Marek View Post
Widget Rotary1
Encoder b0 10 7f [ < 7f > 01 ]
FB_Encoder b0 10 7f
WidgetEnd

The value 01 still works how it should, but the value 7f does funky stuff
Try this instead:
Code:
Widget Rotary1
  EncoderPlain b0 10 7f
  FB_Encoder b0 10 7f
WidgetEnd
MixMonkey is offline   Reply With Quote
Old 09-15-2021, 05:38 PM   #14952
Funkybot
Human being with feelings
 
Funkybot's Avatar
 
Join Date: Jul 2007
Location: New Joisey
Posts: 5,973
Default

Quote:
Originally Posted by cjewellstudios View Post
Nowhere close to done. But the recent conversations about the new TouchOSC and a little down time due to a covid scare (if I have it, I have somewhat mild symptoms) lit a fire under my butt to get this mostly together.

The video is grainy for some odd reason but it shows off what the new version can do.

Some initial thoughts would be appreciated.

https://drive.google.com/file/d/1l0g...ew?usp=sharing
That's seriously impressive stuff there.
Funkybot is offline   Reply With Quote
Old 09-15-2021, 06:01 PM   #14953
siniarch
Human being with feelings
 
siniarch's Avatar
 
Join Date: Jun 2018
Posts: 705
Default

Quote:
Originally Posted by cjewellstudios View Post
Nowhere close to done. But the recent conversations about the new TouchOSC and a little down time due to a covid scare (if I have it, I have somewhat mild symptoms) lit a fire under my butt to get this mostly together.

The video is grainy for some odd reason but it shows off what the new version can do.

Some initial thoughts would be appreciated.

https://drive.google.com/file/d/1l0g...ew?usp=sharing
That is pretty awesome!
__________________
www.SiniCon.io .......... Digital Audio Controllers
www.AcousticalGarden.com ........ Los Angeles Boutique Sound Studio
siniarch is offline   Reply With Quote
Old 09-15-2021, 06:11 PM   #14954
MixMonkey
Human being with feelings
 
MixMonkey's Avatar
 
Join Date: Sep 2017
Location: London, England.
Posts: 4,835
Default

Quote:
Originally Posted by cjewellstudios View Post
Nowhere close to done. But the recent conversations about the new TouchOSC and a little down time due to a covid scare (if I have it, I have somewhat mild symptoms) lit a fire under my butt to get this mostly together.

The video is grainy for some odd reason but it shows off what the new version can do.

Some initial thoughts would be appreciated.

https://drive.google.com/file/d/1l0g...ew?usp=sharing
Looks great! How are the meters driven? Do the channel colors correspond to the track colors in Reaper?

The video looked fine after I downloaded it.

....ps I'd change those rivets to Allen bolts or Phillips screws, they makes it look a bit like a child's toy from the 1950's
MixMonkey is offline   Reply With Quote
Old 09-15-2021, 06:36 PM   #14955
cjewellstudios
Human being with feelings
 
Join Date: Sep 2017
Posts: 998
Default

Quote:
Originally Posted by MixMonkey View Post
Looks great! How are the meters driven? Do the channel colors correspond to the track colors in Reaper?

The video looked fine after I downloaded it.

....ps I'd change those rivets to Allen bolts or Phillips screws, they makes it look a bit like a child's toy from the 1950's
Thanks to you and Funkybot as well!

The colors are done with suffixes on the track names. *Drm for drums for example gives us blue. I wrote a script that looks for the suffix, sets the color, then actually deletes the suffix because it's ugly It's similar to SWS auto color I suppose. So when I do my initial preparing of my session, I'll just add custom actions that add the proper suffixes.

Now that I'm thinking about it. Maybe the suffixes can be the desired color instead of the the instrument. *Blue for example. I can throw a set of 12 or more set colors into the script. I know that blue is correct color for drums, but I doubt most of you will agree

Duly noted about the rivets! I liked them but now I can't unsee what you said I'll try and make them better for sure.

Edit: Forgot to answer the meter question. So TrackOutputMeterMaxPeakLR is hooked to faders like I've done before. Those faders are tucked inside a group inside the channel strip so you can't see them. The meter is just a bunch of colored boxes stacked on top of eachother. Then there's a black box that gets bigger and smaller depending the position of the fader, and that hides the "leds". The faders that the TrackOutputMeterMaxPeakLR action is mapped to communicate to the black box via the notify function in TouchOSC.

Last edited by cjewellstudios; 09-15-2021 at 08:18 PM.
cjewellstudios is offline   Reply With Quote
Old 09-15-2021, 08:54 PM   #14956
cjewellstudios
Human being with feelings
 
Join Date: Sep 2017
Posts: 998
Default

How's this?

Last edited by cjewellstudios; 12-29-2021 at 07:18 PM.
cjewellstudios is offline   Reply With Quote
Old 09-16-2021, 04:55 AM   #14957
MixMonkey
Human being with feelings
 
MixMonkey's Avatar
 
Join Date: Sep 2017
Location: London, England.
Posts: 4,835
Default

Quote:
Originally Posted by cjewellstudios View Post
How's this?
Ooooo, Torxes!, even classier than Allen bolts!
MixMonkey is offline   Reply With Quote
Old 09-16-2021, 10:12 AM   #14958
MixR
Human being with feelings
 
Join Date: Jan 2017
Location: London
Posts: 327
Default

Is SelectedTrackNavigator supposed to be working on more than one track?

Sorry, I am new to this and would like to be able to set the automation mode for all selected channels via a button on my SSL UF8.
Right now, with several channels selected pressing the automation mode buttons does nothing. When I select an individual channel the auto mode changes as expected.

My Zone file looks like this:
Code:
Zone "SelectedChannel"
    SelectedTrackNavigator
    Off                         TrackAutoMode  "0"                //Trim
    Read                     TrackAutoMode  "1"                //Read
    Write                    TrackAutoMode  "3"                //Write
    Touch                    TrackAutoMode  "2"                //Touch    
    Latch                    TrackAutoMode  "4"                //Latch
ZoneEnd
__________________
PC Ryzen 7950x|W11 Pro|Reaper (latest)
2x RME HDSPe MADI FX | SSL UF8|UF1|UC1
PC Ryzen 5950X|W11 Pro|AudioGridder Server
MixR is offline   Reply With Quote
Old 09-16-2021, 10:43 AM   #14959
MixMonkey
Human being with feelings
 
MixMonkey's Avatar
 
Join Date: Sep 2017
Location: London, England.
Posts: 4,835
Default

Quote:
Originally Posted by MixR View Post
Is SelectedTrackNavigator supposed to be working on more than one track?

Sorry, I am new to this and would like to be able to set the automation mode for all selected channels via a button on my SSL UF8.
Right now, with several channels selected pressing the automation mode buttons does nothing. When I select an individual channel the auto mode changes as expected.

My Zone file looks like this:
Code:
Zone "SelectedChannel"
    SelectedTrackNavigator
    Off                         TrackAutoMode  "0"                //Trim
    Read                     TrackAutoMode  "1"                //Read
    Write                    TrackAutoMode  "3"                //Write
    Touch                    TrackAutoMode  "2"                //Touch    
    Latch                    TrackAutoMode  "4"                //Latch
ZoneEnd
Yes, it does work with multiple tracks selected. I can't remember offhand if this has been included in V1.1 or whether it's only in the Experimental build at the moment.

Try downloading the Experimental build and just swap the dylibs and see. If it starts working, welcome to the bleeding edge!

https://stash.reaper.fm/browse.php?q...=th&o=nd&pp=24

Also, make sure you also include the 'Global' variants of the auto modes in your SelectedChannelZone. Something like this:
Code:
Zone "SelectedTrack"
    SelectedTrackNavigator
        Read                        TrackAutoMode 1
        Write                       TrackAutoMode 3
        Trim                        TrackAutoMode 0
        Touch                       TrackAutoMode 2
        Latch                       TrackAutoMode 4
        Group                       Reaper "42023"              //Set track automation mode to latch preview
        Shift+Read                  GlobalAutoMode 1
    	Shift+Write                 GlobalAutoMode 3
    	Shift+Trim                  GlobalAutoMode 0
    	Shift+Touch                 GlobalAutoMode 2
    	Shift+Latch                 GlobalAutoMode 4  
    	Shift+Group                 Reaper "42024"              //Set all tracks automation mode to latch preview
ZoneEnd
As an auto mode bonus, you could also put:
Code:
Alt+DisplayLower|  TrackAutoModeDisplay
..in your Channel Zone (change DisplayLower if your's is called something different and I'm assuming you have an Alt modifier) Now if you push Alt, you'll see the auto status of all the channels on the lower display
MixMonkey is offline   Reply With Quote
Old 09-17-2021, 12:46 AM   #14960
MixR
Human being with feelings
 
Join Date: Jan 2017
Location: London
Posts: 327
Default

Wow, thank you so much, MixMonkey! I do have the global options but chose to leave them out of the code bit from my Zone.
I'll check out the bleeding edge build and will try the lower display idea - need to find the alt key on the UF8 first though (I have a shift key which is in use for pan, amongst others).
Edit: After checking the latest dylib I still can't change automation mode for multiple selected tracks.

Is it at all possible to display the dB value of a fader whilst writing automation? The lower display of my fader shows its value when I am in trim/read mode but as soon as I switch to any auto mode the value goes to 0.00 and stays there. The Reaper fader displays its values when writing automation but it's so small that I would much prefer having it displayed above the fader on the UF8.
__________________
PC Ryzen 7950x|W11 Pro|Reaper (latest)
2x RME HDSPe MADI FX | SSL UF8|UF1|UC1
PC Ryzen 5950X|W11 Pro|AudioGridder Server

Last edited by MixR; 09-17-2021 at 02:11 AM.
MixR is offline   Reply With Quote
Reply

Thread Tools
Display Modes

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off

Forum Jump


All times are GMT -7. The time now is 10:23 PM.


Powered by vBulletin® Version 3.8.11
Copyright ©2000 - 2024, vBulletin Solutions Inc.