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

Reply
 
Thread Tools Display Modes
Old 08-10-2022, 01:38 PM   #18441
Funkybot
Human being with feelings
 
Funkybot's Avatar
 
Join Date: Jul 2007
Location: New Joisey
Posts: 6,022
Default

Quote:
Originally Posted by Geoff Waddington View Post
Yup, to be honest I haven't thought through the details yet, but I envision it similar to how EuCon works with the Mix rotaries, when you bank.

For those not familiar with that, think Track banking, but instead of offsets from Track 1, it's offsets from param 0.
I was thinking banks/pages would just be "subzones" with "Next" and "Previous" actions for navigation. For instance, if a plugin had 53 params, and 16 widgets in the .mtp file, CSI would create....

LX480-1.zon (first 16 params)
LX480-2.zon (next 16 params)
LX480-3.zon (next 16 params)
LX480-4.zon (final 5 params)

Then inside each would be one or two rows to facilitate (i.e. "fake") banking. But all it would do is just cycle through the sub-zones.

...my thinking with that was "maybe Geoff has to build very little new and just leverage how CSI already works".
__________________
CSI v3 Wiki
Funkybot is offline   Reply With Quote
Old 08-10-2022, 01:41 PM   #18442
MixMonkey
Human being with feelings
 
MixMonkey's Avatar
 
Join Date: Sep 2017
Location: London, England.
Posts: 4,882
Default

Quote:
Originally Posted by Funkybot View Post
I was thinking banks/pages would just be "subzones" with "Next" and "Previous" actions for navigation. For instance, if a plugin had 53 params, and 16 widgets in the .mtp file, CSI would create....

LX480-1.zon (first 16 params)
LX480-2.zon (next 16 params)
LX480-3.zon (next 16 params)
LX480-4.zon (final 5 params)

Then inside each would be one or two rows to facilitate (i.e. "fake") banking. But all it would do is just cycle through the sub-zones.

...my thinking with that was "maybe Geoff has to build very little new and just leverage how CSI already works".
Exactly my thinking too
MixMonkey is offline   Reply With Quote
Old 08-10-2022, 02:05 PM   #18443
Navelpluisje
Human being with feelings
 
Navelpluisje's Avatar
 
Join Date: Mar 2020
Location: IJsselstein, Netherlands
Posts: 435
Default

Quote:
Originally Posted by MixMonkey View Post
Exactly my thinking too
That makes 3 of us
__________________
Created ReaSonus FaderPort: Documentation and Download from Github. Report Issues
Created Reapinger BCF2000: Documentation and Download from Reaper Stash
Donations: Buy me a coffee or beer or buy one of my shirts in Europe or North America
Navelpluisje is offline   Reply With Quote
Old 08-10-2022, 02:05 PM   #18444
Funkybot
Human being with feelings
 
Funkybot's Avatar
 
Join Date: Jul 2007
Location: New Joisey
Posts: 6,022
Default

Quote:
Originally Posted by MixMonkey View Post
Exactly my thinking too
The other benefit to that type of approach is that it's still easy to move a parameter from the LX480-3.zon to the LX480-1.zon and follows a familiar syntax.

Also, Geoff, as I'm thinking about the .mtp/.otp design idea, I'm starting to have some concerns creep in. How does CSI know to add in displays?

For instance, instead of an .mtp/.otp file, if we used a Generic_FX.zon we could do this to pair the displays with the params:

Code:
DisplayUpper1      FXParamNameDisplay 1
DisplayLower1      FXParamValueDisplay 1
Fader1             FXParam 1
That's probably the most basic example with displays. How would the .mtp/.otp approach say, "this display goes with this control?"

I'm thinking if starting with a "generic_fx.zon", that would offer users more control but get us to a similar place. A user could even hypothetically do something like this if they wanted pressing Shift to expose what was assigned to the Rotary...
Code:
Fader1                   FXParam 1
DisplayUpper1            FXParamNameDisplay 1
DisplayLower1            FXParamValueDisplay 1

Rotary1                  FXParam 2
Shift+DisplayUpper1      FXParamNameDisplay 2
Shift+DisplayLower1      FXParamValueDisplay 2
...just thinking out loud here.
__________________
CSI v3 Wiki
Funkybot is offline   Reply With Quote
Old 08-10-2022, 02:33 PM   #18445
MixMonkey
Human being with feelings
 
MixMonkey's Avatar
 
Join Date: Sep 2017
Location: London, England.
Posts: 4,882
Default

Quote:
Originally Posted by Funkybot View Post
For instance, instead of an .mtp/.otp file, if we used a Generic_FX.zon we could do this to pair the displays with the params
I was thinking along those lines too, that it might be easier to create a generic FX Zone for each surface and fit the FX parameter indices into it, but I guess this is moving the whole thing back the manual Zone creation paradigm that Geoff is trying to get away from.
MixMonkey is offline   Reply With Quote
Old 08-10-2022, 02:38 PM   #18446
Freex
Human being with feelings
 
Freex's Avatar
 
Join Date: Jul 2011
Location: Northern Ireland
Posts: 904
Default

Personally I'd be happy for CSI to auto map unmapped FX

But I wouldn't want it to start saving every FX that's not mapped.

That $hit would get old fast, and surely next time round its not an unmapped FX it's got a random linear map.

Just give me a generic map, let me know I've been lazy and not sorted that FXs map out, and more on.
Freex is offline   Reply With Quote
Old 08-10-2022, 02:43 PM   #18447
MixMonkey
Human being with feelings
 
MixMonkey's Avatar
 
Join Date: Sep 2017
Location: London, England.
Posts: 4,882
Default

Quote:
Originally Posted by Freex View Post
Personally I'd be happy for CSI to auto map unmapped FX

But I wouldn't want it to start saving every FX that's not mapped.

That $hit would get old fast, and surely next time round its not an unmapped FX it's got a random linear map.

Just give me a generic map, let me know I've been lazy and not sorted that FXs map out, and more on.
I think the idea is that this is instead of actually creating a map, just an on the fly mapping that happens if there is no map saved.
MixMonkey is offline   Reply With Quote
Old 08-10-2022, 03:15 PM   #18448
Freex
Human being with feelings
 
Freex's Avatar
 
Join Date: Jul 2011
Location: Northern Ireland
Posts: 904
Default

Quote:
Originally Posted by MixMonkey View Post
I think the idea is that this is instead of actually creating a map, just an on the fly mapping that happens if there is no map saved.
That's what I thought to idea was, but then I see FXname.zon-1, FXname.zon-2, FXname.zon-3 etc, and that looks like an automatic map generator.

Which would be awful. IMHO

I assumed there would just be a "generic.zon" for your surface of choice and that's going to do the needful.
Freex is offline   Reply With Quote
Old 08-10-2022, 03:45 PM   #18449
Geoff Waddington
Human being with feelings
 
Geoff Waddington's Avatar
 
Join Date: Mar 2009
Location: Dartmouth, Nova Scotia
Posts: 11,235
Default

Great discussion !

I'm starting to like the idea of SubZones for navigation.

Also liking the "no save" approach.

As far as pairing the displays, we can probably use the .mst/.ost names themselves.

Matter of fact as long our naming conventions are solid, we may not even need .mpt/.opt files.

We can look for Widgets named Fader, Rotary, RotaryPush, DisplayUpper, DisplayLower, etc, and dodge the extra file.

We can also look for things that have numbers appended, Fader1, Fader2, etc.

We can make the assumption the we first try to display the param name, and if there is more than one display, we can also show param value.

And to Freex's point, maybe we do this entirely dynamically, never saving the .zon files, so as not to clutter up the Zones folders.

One of the things that may happen with the generic FX Zone is unwanted coupling of a Widget type to a param.

Navelpluisje's experiment shows we may be able to separate switches out.

In that case, having the freedom to assign any param to any Widget may be better than the somewhat hardwired generic FX Zone approach.

Just some more thoughts.

And just have to say what a great community we have here !
__________________
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 08-10-2022, 03:55 PM   #18450
MixMonkey
Human being with feelings
 
MixMonkey's Avatar
 
Join Date: Sep 2017
Location: London, England.
Posts: 4,882
Default

Quote:
Originally Posted by Geoff Waddington View Post
I'm starting to like the idea of SubZones for navigation.

Also liking the "no save" approach.
Pretty sure these are mutually exclusive and represent the two schools of thought on the matter
MixMonkey is offline   Reply With Quote
Old 08-10-2022, 04:17 PM   #18451
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 MixMonkey View Post
Pretty sure these are mutually exclusive and represent the two schools of thought on the matter
I must be missing something, I don't understand why.

Funkybot posted:
'I was thinking banks/pages would just be "subzones" with "Next" and "Previous" actions for navigation. For instance, if a plugin had 53 params, and 16 widgets in the .mtp file, CSI would create....

LX480-1.zon (first 16 params)
LX480-2.zon (next 16 params)
LX480-3.zon (next 16 params)
LX480-4.zon (final 5 params)

Then inside each would be one or two rows to facilitate (i.e. "fake") banking. But all it would do is just cycle through the sub-zones.

...my thinking with that was "maybe Geoff has to build very little new and just leverage how CSI already works" '

We could easily generate these dynamically and never save them.
__________________
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 08-10-2022, 04:24 PM   #18452
MixMonkey
Human being with feelings
 
MixMonkey's Avatar
 
Join Date: Sep 2017
Location: London, England.
Posts: 4,882
Default

Quote:
Originally Posted by Geoff Waddington View Post
We could easily generate these dynamically and never save them.
No, I'm the one that's missing something I automatically associated creating SubZones with actually saving them. Of course they can be created in memory and stay there.
MixMonkey is offline   Reply With Quote
Old 08-10-2022, 04:53 PM   #18453
jacksoonbrowne
Human being with feelings
 
jacksoonbrowne's Avatar
 
Join Date: Aug 2017
Location: Ottawa, Canada
Posts: 586
Default

On the CSI wiki, when I click on the link: Examples that come with the beta download
It brings me to the reaper stash with "The requested file does not exist."

I did find the files @ https://stash.reaper.fm/v/44740/CSI%...rt%20Files.zip
jacksoonbrowne is offline   Reply With Quote
Old 08-10-2022, 05:04 PM   #18454
Funkybot
Human being with feelings
 
Funkybot's Avatar
 
Join Date: Jul 2007
Location: New Joisey
Posts: 6,022
Default

Quote:
Originally Posted by jacksoonbrowne View Post
On the CSI wiki, when I click on the link: Examples that come with the beta download
It brings me to the reaper stash with "The requested file does not exist."

I did find the files @ https://stash.reaper.fm/v/44740/CSI%...rt%20Files.zip
Just updated the link. Thanks for reporting!
__________________
CSI v3 Wiki
Funkybot is offline   Reply With Quote
Old 08-10-2022, 05:08 PM   #18455
Funkybot
Human being with feelings
 
Funkybot's Avatar
 
Join Date: Jul 2007
Location: New Joisey
Posts: 6,022
Default

Quote:
Originally Posted by Geoff Waddington View Post
We could easily generate these dynamically and never save them.
Can we [I mean the "royal we" as in "Geoff" - please ] make saving optional? I think someone may have a pretty good auto-map and want to tweak it manually for the final finishing touches. I'm thinking a CSI action to optionally create .zon files would be nice. But LOVE the idea of this happening dynamically!
__________________
CSI v3 Wiki
Funkybot is offline   Reply With Quote
Old 08-10-2022, 05:08 PM   #18456
AtmanActive
Human being with feelings
 
AtmanActive's Avatar
 
Join Date: Dec 2009
Location: United Kingdom
Posts: 668
Default ToggleScrollLink

ToggleScrollLink was recently changed to default to OFF.

How do I make it ON by default for me and my surface?

I tried:
Code:
Zone "Home"
	
	OnInitialization ToggleScrollLink
but it doesn't seem to be working.
AtmanActive is offline   Reply With Quote
Old 08-10-2022, 05:11 PM   #18457
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 Funkybot View Post
Can we [I mean the "royal we" as in "Geoff" - please ] make saving optional? I think someone may have a pretty good auto-map and want to tweak it manually for the final finishing touches. I'm thinking a CSI action to optionally create .zon files would be nice. But LOVE the idea of this happening dynamically!
Yeah, I'm also thinking it should be optional to save it.

This gives us the option not to clutter up the Zone folders arbitrarily, but if we like a particular plugin, and do want to make it a Zone (Zones), we can.
__________________
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 08-10-2022, 05:12 PM   #18458
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 AtmanActive View Post
ToggleScrollLink was recently changed to default to OFF.

How do I make it ON by default for me and my surface?

I tried:
Code:
Zone "Home"
	
	OnInitialization ToggleScrollLink
but it doesn't seem to be working.
Thanks for testing, will investigate.
__________________
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 08-10-2022, 06:24 PM   #18459
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 AtmanActive View Post
ToggleScrollLink was recently changed to default to OFF.

How do I make it ON by default for me and my surface?

I tried:
Code:
Zone "Home"
	
	OnInitialization ToggleScrollLink
but it doesn't seem to be working.
Just tried it here and it works just fine.

Toggle Scroll Link ensures that the Selected Track is visible on the Control Surface.

If it is already visible on one of the Control Surface Channels, nothing happens.

If it not visible, it is made the left most Channel on the Control surface, unless you are near/at the end of your Tracks, then it is made whatever is appropriate to ensure the last Track is on the last Channel.

Is this not what you are seeing ?
__________________
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 08-11-2022, 12:59 AM   #18460
WaveTrans
Human being with feelings
 
Join Date: Aug 2019
Location: Forest City
Posts: 336
Default

Hi, Geoff,

sorry if this is not the right time for a reminder but this last post reminded me of the feature request I should remind you off (CSI: Devices...thread (post #2470))

Request was Broadcast/Recieve of Banking Actions and ToggleEnableFocusedFXMapping

@MixMonkey described it in more detail in post # 2467 (CSI: Devices... thread)

Thanks, WT
WaveTrans is online now   Reply With Quote
Old 08-11-2022, 03:20 AM   #18461
Navelpluisje
Human being with feelings
 
Navelpluisje's Avatar
 
Join Date: Mar 2020
Location: IJsselstein, Netherlands
Posts: 435
Default

Quote:
Originally Posted by Geoff Waddington View Post
Matter of fact as long our naming conventions are solid, we may not even need .mpt/.opt files.
I do not completely agree on this. Not all displays have 2 rows. The FaderPort has up to 4 and I think the MCE24 also. Both also have different display types. (FaderPort currently not in v2, but am working on it).

That's why I had this part in my proposal:
Code:
  ScribbleLine1_|    FXToggleParamNameDisplay
  ScribbleLine2_|    FXToggleParamValueDisplay
  ScribbleLine3_|    FXParamNameDisplay
  ScribbleLine4_|    FXParamValueDisplay
__________________
Created ReaSonus FaderPort: Documentation and Download from Github. Report Issues
Created Reapinger BCF2000: Documentation and Download from Reaper Stash
Donations: Buy me a coffee or beer or buy one of my shirts in Europe or North America
Navelpluisje is offline   Reply With Quote
Old 08-11-2022, 03:24 AM   #18462
Navelpluisje
Human being with feelings
 
Navelpluisje's Avatar
 
Join Date: Mar 2020
Location: IJsselstein, Netherlands
Posts: 435
Default

Quote:
Originally Posted by Geoff Waddington View Post
And to Freex's point, maybe we do this entirely dynamically, never saving the .zon files, so as not to clutter up the Zones folders.
Agree. But would it be possible to update the `CSI Toggle Write Params to /CSI/Zones/ZoneRawFXFiles when FX inserted` actionin a way that it is using the generic zone? For those who want the files and have a cool starting point WITH subzones etc.
__________________
Created ReaSonus FaderPort: Documentation and Download from Github. Report Issues
Created Reapinger BCF2000: Documentation and Download from Reaper Stash
Donations: Buy me a coffee or beer or buy one of my shirts in Europe or North America
Navelpluisje is offline   Reply With Quote
Old 08-11-2022, 04:00 AM   #18463
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 WaveTrans View Post
Hi, Geoff,

sorry if this is not the right time for a reminder but this last post reminded me of the feature request I should remind you off (CSI: Devices...thread (post #2470))

Request was Broadcast/Recieve of Banking Actions and ToggleEnableFocusedFXMapping

@MixMonkey described it in more detail in post # 2467 (CSI: Devices... thread)

Thanks, WT
It's never a bad time for a reminder.

Knee deep in EuCon right now, but will get to it when possible.
__________________
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 08-11-2022, 04:01 AM   #18464
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 Navelpluisje View Post
I do not completely agree on this. Not all displays have 2 rows. The FaderPort has up to 4 and I think the MCE24 also. Both also have different display types. (FaderPort currently not in v2, but am working on it).

That's why I had this part in my proposal:
Code:
  ScribbleLine1_|    FXToggleParamNameDisplay
  ScribbleLine2_|    FXToggleParamValueDisplay
  ScribbleLine3_|    FXParamNameDisplay
  ScribbleLine4_|    FXParamValueDisplay
I don't understand this.

CSI doesn't have Actions named FXToggleParamNameDisplay and FXToggleParamValueDisplay, are these Actions you have added ?
__________________
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 08-11-2022, 04:04 AM   #18465
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 Navelpluisje View Post
Agree. But would it be possible to update the `CSI Toggle Write Params to /CSI/Zones/ZoneRawFXFiles when FX inserted` actionin a way that it is using the generic zone? For those who want the files and have a cool starting point WITH subzones etc.
Yes, or something like it.

We would allow the option of saving Zones/SubZones if you so wish.

We touched on this in an earlier post, although I know, it's moving very quickly, I'm having trouble keeping up myself
__________________
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 08-11-2022, 04:33 AM   #18466
Navelpluisje
Human being with feelings
 
Navelpluisje's Avatar
 
Join Date: Mar 2020
Location: IJsselstein, Netherlands
Posts: 435
Default

Quote:
Originally Posted by Navelpluisje View Post
I do not completely agree on this. Not all displays have 2 rows. The FaderPort has up to 4 and I think the MCE24 also. Both also have different display types. (FaderPort currently not in v2, but am working on it).

That's why I had this part in my proposal:
Code:
  ScribbleLine1_|    FXToggleParamNameDisplay
  ScribbleLine2_|    FXToggleParamValueDisplay
  ScribbleLine3_|    FXParamNameDisplay
  ScribbleLine4_|    FXParamValueDisplay
True, these don't exist (yet). The idea is to make a difference between the toggle and non-toggle params. At least for the generated zone files. This way it will, at least in my head it worked, be easier to make a diference where to put what value/name.

So when a param is a toggle it feeds the Toggle actions and the regular actions otherwise. This will, also in my head, only work for (and i think only is needed) the generated zones
__________________
Created ReaSonus FaderPort: Documentation and Download from Github. Report Issues
Created Reapinger BCF2000: Documentation and Download from Reaper Stash
Donations: Buy me a coffee or beer or buy one of my shirts in Europe or North America
Navelpluisje is offline   Reply With Quote
Old 08-11-2022, 04:41 AM   #18467
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 Navelpluisje View Post
True, these don't exist (yet). The idea is to make a difference between the toggle and non-toggle params. At least for the generated zone files. This way it will, at least in my head it worked, be easier to make a diference where to put what value/name.

So when a param is a toggle it feeds the Toggle actions and the regular actions otherwise. This will, also in my head, only work for (and i think only is needed) the generated zones
Ah, got it.

Yes, that would make it easy to decide whether to push or turn the Rotary, unfortunately on the Faderport series, the single Rotary

Still trying to figure out why they thought a single rotary for 16 Channels was a good idea, such a great surface otherwise...
__________________
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 08-11-2022, 05:29 AM   #18468
AtmanActive
Human being with feelings
 
AtmanActive's Avatar
 
Join Date: Dec 2009
Location: United Kingdom
Posts: 668
Default

Quote:
Originally Posted by Geoff Waddington View Post
Just tried it here and it works just fine.

Toggle Scroll Link ensures that the Selected Track is visible on the Control Surface.

If it is already visible on one of the Control Surface Channels, nothing happens.

If it not visible, it is made the left most Channel on the Control surface, unless you are near/at the end of your Tracks, then it is made whatever is appropriate to ensure the last Track is on the last Channel.

Is this not what you are seeing ?
ToggleScrollLink functionality is working as expected once I enable it manually through my surface.

What is not working is OnInitialization ToggleScrollLink in my "Home" zone.
In other words, I can't get my surface to start with ScrollLink ON. It always starts with ScrollLink OFF and I need to manually activate it by tapping my TouchOSC button that does ToggleScrollLink.
As I am using only one surface, for me it is beneficial to have ScrollLink ON by default. I do understand your reasons why you need it to be OFF by default, but I was expecting to be able to bring it back to default-ON functionality by the command OnInitialization ToggleScrollLink in my "Home" zone. That command is being ignored entirely.
AtmanActive is offline   Reply With Quote
Old 08-11-2022, 05:38 AM   #18469
Navelpluisje
Human being with feelings
 
Navelpluisje's Avatar
 
Join Date: Mar 2020
Location: IJsselstein, Netherlands
Posts: 435
Default

Quote:
Originally Posted by Geoff Waddington View Post
Ah, got it.

Yes, that would make it easy to decide whether to push or turn the Rotary, unfortunately on the Faderport series, the single Rotary

Still trying to figure out why they thought a single rotary for 16 Channels was a good idea, such a great surface otherwise...
True on the pans. Same goes actually for the arm button. But it is a great controller and with CSI and some lua has really endless possibilities
__________________
Created ReaSonus FaderPort: Documentation and Download from Github. Report Issues
Created Reapinger BCF2000: Documentation and Download from Reaper Stash
Donations: Buy me a coffee or beer or buy one of my shirts in Europe or North America
Navelpluisje is offline   Reply With Quote
Old 08-11-2022, 06:55 AM   #18470
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 AtmanActive View Post
ToggleScrollLink functionality is working as expected once I enable it manually through my surface.

What is not working is OnInitialization ToggleScrollLink in my "Home" zone.
In other words, I can't get my surface to start with ScrollLink ON. It always starts with ScrollLink OFF and I need to manually activate it by tapping my TouchOSC button that does ToggleScrollLink.
As I am using only one surface, for me it is beneficial to have ScrollLink ON by default. I do understand your reasons why you need it to be OFF by default, but I was expecting to be able to bring it back to default-ON functionality by the command OnInitialization ToggleScrollLink in my "Home" zone. That command is being ignored entirely.
Please post your CSI.ini contents and your Home.zon contents, we'll get you sorted.
__________________
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 08-11-2022, 07:12 AM   #18471
AtmanActive
Human being with feelings
 
AtmanActive's Avatar
 
Join Date: Dec 2009
Location: United Kingdom
Posts: 668
Default

Quote:
Originally Posted by Geoff Waddington View Post
Please post your CSI.ini contents and your Home.zon contents, we'll get you sorted.
CSI.ini:
Code:
Version 2.0

OSCSurface "TouchOSC Samsung" 44153 44154 192.168.150.26
OSCSurface "TouchOSC Desktop" 64001 64002 127.0.0.1

Page "HomePage" 
"TouchOSC Samsung" 16 0 "AA_iPad_Mixer_v1.ost" "AA_iPad_Mixer_v1" 
"TouchOSC Desktop" 16 0 "AA_iPad_Mixer_v1.ost" "AA_iPad_Mixer_v1"

iPad__Home.zon:
Code:
Zone "Home"
	
	OnInitialization ToggleScrollLink
	OnInitialization ToggleEnableFocusedFXMapping
	OnTrackSelection Reaper _S&M_WNCLS3
	
     	IncludedZones
     	   	"Buttons"
     	   	"Track"
     	   	"SelectedTrackFXMenu"
     	   	"SelectedTrack"
		"MasterTrack"
     	IncludedZonesEnd
     
     	AssociatedZones
     		"SelectedTrackSend"
     		"SelectedTrackReceive"
     		"TrackSend"
     		"TrackReceive"	
     	AssociatedZonesEnd
		
ZoneEnd

Thanks!
AtmanActive is offline   Reply With Quote
Old 08-11-2022, 07:51 AM   #18472
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 AtmanActive View Post
CSI.ini:
Code:
Version 2.0

OSCSurface "TouchOSC Samsung" 44153 44154 192.168.150.26
OSCSurface "TouchOSC Desktop" 64001 64002 127.0.0.1

Page "HomePage" 
"TouchOSC Samsung" 16 0 "AA_iPad_Mixer_v1.ost" "AA_iPad_Mixer_v1" 
"TouchOSC Desktop" 16 0 "AA_iPad_Mixer_v1.ost" "AA_iPad_Mixer_v1"

iPad__Home.zon:
Code:
Zone "Home"
	
	OnInitialization ToggleScrollLink
	OnInitialization ToggleEnableFocusedFXMapping
	OnTrackSelection Reaper _S&M_WNCLS3
	
     	IncludedZones
     	   	"Buttons"
     	   	"Track"
     	   	"SelectedTrackFXMenu"
     	   	"SelectedTrack"
		"MasterTrack"
     	IncludedZonesEnd
     
     	AssociatedZones
     		"SelectedTrackSend"
     		"SelectedTrackReceive"
     		"TrackSend"
     		"TrackReceive"	
     	AssociatedZonesEnd
		
ZoneEnd

Thanks!
Aha, thought that might be the case, that's why I asked for your CSI.ini

You are using the same Zone folder for both surfaces.

Think about what happens.

When "TouchOSC Samsung" comes online, its Home Zone activates and the ToggleScrollLink Action is executed.

Now, when "TouchOSC Desktop" comes online, its Home Zone activates and the ToggleScrollLink Action is executed.

ToggleScrollLink isn't being ignored, it is being executed twice.

Just use different Zone folders for the two surfaces, one with the OnInitialization ToggleScrollLink and one without.

On our end we should do a better job of documenting and emphasizing that the ToggleScrollLink is actually a Page level Action, not a Surface level Action, it's unique in that characteristic.

Thanks for pointing this out, those of us who have been around a while likely recall that ScrollLink used to be a checkbox option in the Page config GUI, so it is clear to us how it needs to be defined, our collective bad on that one
__________________
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 08-11-2022, 08:13 AM   #18473
AtmanActive
Human being with feelings
 
AtmanActive's Avatar
 
Join Date: Dec 2009
Location: United Kingdom
Posts: 668
Default

Quote:
Originally Posted by Geoff Waddington View Post
Aha, thought that might be the case, that's why I asked for your CSI.ini

You are using the same Zone folder for both surfaces.

Think about what happens.

When "TouchOSC Samsung" comes online, its Home Zone activates and the ToggleScrollLink Action is executed.

Now, when "TouchOSC Desktop" comes online, its Home Zone activates and the ToggleScrollLink Action is executed.

ToggleScrollLink isn't being ignored, it is being executed twice.

Just use different Zone folders for the two surfaces, one with the OnInitialization ToggleScrollLink and one without.

On our end we should do a better job of documenting and emphasizing that the ToggleScrollLink is actually a Page level Action, not a Surface level Action, it's unique in that characteristic.

Thanks for pointing this out, those of us who have been around a while likely recall that ScrollLink used to be a checkbox option in the Page config GUI, so it is clear to us how it needs to be defined, our collective bad on that one
Ah well, that's a limitation then, right there: users can't have two surfaces using same surface data. I want to have my surface next to my control room, and I want to have another surface, but behaving absolutely the same, next to my studio room. This will be a pretty legit request from a lot of users.
So it is about ToggleScrollLink which is unique in that way that it is global, even if we treat it as local, per surface.

Maybe accept an argument for ToggleScrollLink? So, with no argument, behaves absolutely the same as it is now. But, with an argument of 0 or 1, it doesn't toggle, but sets it to OFF or ON respectively. Just thinking out loud here.
AtmanActive is offline   Reply With Quote
Old 08-11-2022, 08:27 AM   #18474
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 AtmanActive View Post
Ah well, that's a limitation then, right there: users can't have two surfaces using same surface data. I want to have my surface next to my control room, and I want to have another surface, but behaving absolutely the same, next to my studio room. This will be a pretty legit request from a lot of users.
So it is about ToggleScrollLink which is unique in that way that it is global, even if we treat it as local, per surface.

Maybe accept an argument for ToggleScrollLink? So, with no argument, behaves absolutely the same as it is now. But, with an argument of 0 or 1, it doesn't toggle, but sets it to OFF or ON respectively. Just thinking out loud here.
Well, it's really a design flaw in CSI, but there is a simple workaround.

You can have the two surfaces almost the same, with the exception of the double Scroll Link trigger by copying the contents of "AA_iPad_Mixer_v1" to another Zone folder, let's name it "AA_iPad_Mixer_v1_NoScrollLinkToggle" and removing one line only, "OnInitialization ToggleScrollLink" in the copied version.

I know it's ugly, but will work for now:

Code:
Version 2.0

OSCSurface "TouchOSC Samsung" 44153 44154 192.168.150.26
OSCSurface "TouchOSC Desktop" 64001 64002 127.0.0.1

Page "HomePage" 
"TouchOSC Samsung" 16 0 "AA_iPad_Mixer_v1.ost" "AA_iPad_Mixer_v1" 
"TouchOSC Desktop" 16 0 "AA_iPad_Mixer_v1.ost" "AA_iPad_Mixer_v1_NoScrollLinkToggle"
I would say a better option than ToggleScrollLink with a parameter would be a new Action, SetScrollLink that takes a parameter, "On" or "Off".

It would still be possible to get 2 Surfaces "fighting", but it would be preferable to what we have now.

Will also consider putting it back in the Page config.
__________________
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 08-11-2022, 08:33 AM   #18475
MixMonkey
Human being with feelings
 
MixMonkey's Avatar
 
Join Date: Sep 2017
Location: London, England.
Posts: 4,882
Default

Quote:
Originally Posted by AtmanActive View Post
Ah well, that's a limitation then, right there: users can't have two surfaces using same surface data.
It’s not the same surface data though is it? You want one to initialise with ScrollLink on and the other with ScrollLink off. If you want two surfaces to behave identically, then by all means access the same Zone folder, but that’s not the case here.
MixMonkey is offline   Reply With Quote
Old 08-11-2022, 08:41 AM   #18476
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 MixMonkey View Post
It’s not the same surface data though is it? You want one to initialise with ScrollLink on and the other with ScrollLink off. If you want two surfaces to behave identically, then by all means access the same Zone folder, but that’s not the case here.
Well, the subtle pushback is, it's not really Surface data we're talking about, but rather Page data, in all Surface aspects they are identical

It really is a design flaw.
__________________
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 08-11-2022, 08:44 AM   #18477
MixMonkey
Human being with feelings
 
MixMonkey's Avatar
 
Join Date: Sep 2017
Location: London, England.
Posts: 4,882
Default

Quote:
Originally Posted by Geoff Waddington View Post
Well, the subtle pushback is, it's not really Surface data we're talking about, but rather Page data, in all Surface aspects they are identical
I guess that’s the price we pay for being able to ToggleScrollLink from within the surface Zone. As you say, it used to be in the Prefs
MixMonkey is offline   Reply With Quote
Old 08-11-2022, 08:47 AM   #18478
Funkybot
Human being with feelings
 
Funkybot's Avatar
 
Join Date: Jul 2007
Location: New Joisey
Posts: 6,022
Default

For now, I've updated the Wiki with this information. If it eventually goes back to being a Page preference, then I can modify.

https://github.com/GeoffAWaddington/...gglescrolllink
__________________
CSI v3 Wiki
Funkybot is offline   Reply With Quote
Old 08-11-2022, 08:56 AM   #18479
AtmanActive
Human being with feelings
 
AtmanActive's Avatar
 
Join Date: Dec 2009
Location: United Kingdom
Posts: 668
Default

Quote:
Originally Posted by MixMonkey View Post
It’s not the same surface data though is it? You want one to initialise with ScrollLink on and the other with ScrollLink off. If you want two surfaces to behave identically, then by all means access the same Zone folder, but that’s not the case here.
It is.

I don't see how I would ever want to have one surface with ScrollLink ON-by-default, while having another same surface with ScrollLink OFF-by-default. Once they start running, user can enable/disable at will, that's fine.

One more case where I want to have the same surface data on several surfaces is for development reasons.
AtmanActive is offline   Reply With Quote
Old 08-11-2022, 08:59 AM   #18480
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 Funkybot View Post
For now, I've updated the Wiki with this information. If it eventually goes back to being a Page preference, then I can modify.

https://github.com/GeoffAWaddington/...gglescrolllink
Thanks, it really is an issue because, outside of modifiers, TrackNavigationManager, where Scroll Link lives, is the only thing that is at a Page level, since Track banking applies to all Surfaces.

It's tricky to get just right, because there are no Widgets or Actions at a Page level.
__________________
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
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 04:03 AM.


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