|
|
|
01-02-2023, 07:26 PM
|
#21481
|
Human being with feelings
Join Date: Mar 2009
Location: Dartmouth, Nova Scotia
Posts: 11,569
|
Quote:
Originally Posted by MixMonkey
That's cool So here's a 32 parameter limit for this method and on a single row device, the three 'hidden' rows will be accessed by Shift, Option and Control but that's as far as the modifier behaviour goes. Can pushes be switches?
|
Yes, that's the idea, and after that, you can do anything you want manually in the rest of the Zone definition, pushes, compound modifiers (e.g. Shift+Control), other controls, etc.
This is just a quick way to get the most tedious stuff done quickly and easily.
And frequently, that's all a lot of folks will need.
__________________
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
|
|
|
01-02-2023, 07:37 PM
|
#21482
|
Human being with feelings
Join Date: Sep 2017
Location: London, England.
Posts: 5,003
|
Quote:
Originally Posted by Geoff Waddington
This is just a quick way to get the most tedious stuff done quickly and easily.
And frequently, that's all a lot of folks will need.
|
Definitely I was losing sight of the "quick" thing..
So we'll have three ways of getting FX parameteres onto a surface- cool
|
|
|
01-03-2023, 08:36 AM
|
#21483
|
Human being with feelings
Join Date: Jan 2022
Location: Unifield
Posts: 397
|
Wow!
Testing the new TCPFX.
At first, with the latest EXP, Reaper was not recognizing CSI (Win10), then I noticed I was a couple of Reaper builds behind, and after upgrading to 6.73 it all worked just fine.
Still grasping the full extent of the possibilities it opens, but definitely a great addition to CSI.
|
|
|
01-03-2023, 04:06 PM
|
#21484
|
Human being with feelings
Join Date: Mar 2009
Location: Dartmouth, Nova Scotia
Posts: 11,569
|
Quote:
Originally Posted by MixMonkey
Sounds good! Build it up row by row. Would it be possible to clear for the next row by removing and re-inserting the plugin?
|
Looked into this, couldn't find a way to make it work without losing the FX alias.
However, the good news is, you can just hover the mouse over the leftmost, topmost one, hold down Option (Alt), and click until they're all gone.
Now you're ready for the next row.
__________________
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
|
|
|
01-03-2023, 04:42 PM
|
#21485
|
Human being with feelings
Join Date: Sep 2017
Location: London, England.
Posts: 5,003
|
Quote:
Originally Posted by Geoff Waddington
However, the good news is, you can just hover the mouse over the leftmost, topmost one, hold down Option (Alt), and click until they're all gone.
|
Just tried this, it's much better than using the list!
|
|
|
01-03-2023, 05:14 PM
|
#21486
|
Human being with feelings
Join Date: Mar 2009
Location: Dartmouth, Nova Scotia
Posts: 11,569
|
Quote:
Originally Posted by MixMonkey
Just tried this, it's much better than using the list!
|
Kenny Gioia to the rescue, found it in one of his videos
__________________
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
|
|
|
01-03-2023, 05:24 PM
|
#21487
|
Human being with feelings
Join Date: Sep 2017
Location: London, England.
Posts: 5,003
|
Quote:
Originally Posted by Geoff Waddington
Kenny Gioia to the rescue, found it in one of his videos
|
He's a helpful chap I confess I'm a stranger to track controls. I kinda pass them by on my way to the envelopes
|
|
|
01-04-2023, 09:15 AM
|
#21488
|
Human being with feelings
Join Date: Mar 2009
Location: Dartmouth, Nova Scotia
Posts: 11,569
|
Ok, almost there with the next iteration.
Need some help with saving the row:
Code:
// View Buttons
GlobalView Global
MidiTracks GoSelectedTrackTCPFX
Inputs NoAction
AudioTracks NoAction
AudioInstrument NoAction
Aux NoAction
Busses GoRotaryFXMapTemplate
Outputs SaveFXMapTemplateRow FXRotaries
Shift+Outputs SaveFXMapTemplateRow FXRotariesShift
Alt+Outputs SaveFXMapTemplateRow FXRotariesAlt
User BuildSelectedTrackTCPFXZone
It is sooo easy to forget to press a modifier when saving a row.
Then the Zone file is a mess.
I'm thinking it should automatically increment as you save, in order to avoid this problem.
For multi row, it's easy, A, B, C, D.
For singles we need to make a choice on the hardwired order.
My first guess is:
Nothing
Shift
Control
Alt
Option
What do you folks think ?
__________________
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
|
|
|
01-04-2023, 09:35 AM
|
#21489
|
Human being with feelings
Join Date: Jul 2007
Location: New Joisey
Posts: 6,143
|
What you're proposing sounds good but I still think it would be best if handled via Reaper's Action List. Might make it easier to not mess it up and if you wanted to map to a surface you still could. I think having these as CSI actions assigned to a surface is going to lead to people pressing those buttons when they don't mean to, or having to go in and add those definitions when they want to map something, then remove them when they're done to get the button back. It doesn't work at all on some surfaces (e.g. MFTWister does not have good buttons to assign to these CSI actions). I really think Reaper actions are the way to go if at all possible.
Bonus points if we could "see" the zone get created in ReaConsole and watch the progress there to know it took.
|
|
|
01-04-2023, 09:50 AM
|
#21490
|
Human being with feelings
Join Date: Mar 2009
Location: Dartmouth, Nova Scotia
Posts: 11,569
|
Quote:
Originally Posted by Funkybot
What you're proposing sounds good but I still think it would be best if handled via Reaper's Action List.
|
Good point, but, as far as I know, not feasible.
Reaper Actions are at a CSI Manager level, not even Page level, let alone Surface level.
I guess it might work if you only had one page and one surface, but I'm not sure.
Quote:
Originally Posted by Funkybot
(e.g. MFTWister does not have good buttons to assign to these CSI actions)
|
Fair point, hopefully folks have more than just a Twister, then they could use broadcast from another surface.
__________________
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
|
|
|
01-04-2023, 10:47 AM
|
#21491
|
Human being with feelings
Join Date: Jul 2007
Location: New Joisey
Posts: 6,143
|
Quote:
Originally Posted by Geoff Waddington
Fair point, hopefully folks have more than just a Twister, then they could use broadcast from another surface.
|
I'll create a "Create_FX_Mapping" page or something and figure it out. I'll just use the BankA button plus Global modifiers for the saving.
|
|
|
01-04-2023, 10:53 AM
|
#21492
|
Human being with feelings
Join Date: Mar 2009
Location: Dartmouth, Nova Scotia
Posts: 11,569
|
Quote:
Originally Posted by Funkybot
I'll create a "Create_FX_Mapping" page or something and figure it out. I'll just use the BankA button plus Global modifiers for the saving.
|
Cool, still wondering if you or anyone else has a preference for modifier order for the single (MCU) case.
You won't need any modifiers for the multi case, It's just A, then B, then C, then D.
__________________
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; 01-04-2023 at 11:02 AM.
|
|
|
01-04-2023, 11:08 AM
|
#21493
|
Human being with feelings
Join Date: Mar 2009
Location: Dartmouth, Nova Scotia
Posts: 11,569
|
OK, folks, maybe I've not been clear enough.
It's a minor point we're talking about here.
When you have a multi row surface and press save, it just increments naturally, A, then B, then C, then D.
When you have a single row surface, the first time you press save you get the unmodified version.
The simple question is, on subsequent saves, in what order do the modifiers get assigned.
Given this list:
Shift
Control
Alt
Option
the second save will generate a Shift version, the third save will generate a Control version, etc.
Does the above order seem like the "natural" way to hardwire it ?
__________________
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
|
|
|
01-04-2023, 11:09 AM
|
#21494
|
Human being with feelings
Join Date: Jul 2007
Location: New Joisey
Posts: 6,143
|
Good point. For the twister, I'll just need one button. I'd likely still dedicate a page for it though just because BankA is the only button that kind of works for this and it's GoHome elsewhere.
For modifier order, I'd say follow the MCU order: [nothing], Shift, Option, Control, Alt. Though that might already exceed the 32 param limit being proposed (that's 40 params on an 8 fader surface if we count no modifier).
Just did a quick check of other surfaces: the Faderport8/16 only have Shift. The SSL UF8 doesn't even have that. The X-Touch Universal, MCU, C4 all have those 4 modifiers in that order so makes sense to follow that. C4 users would use RotaryA/B/C/D anyway.
|
|
|
01-04-2023, 11:26 AM
|
#21495
|
Human being with feelings
Join Date: Mar 2009
Location: Dartmouth, Nova Scotia
Posts: 11,569
|
Quote:
Originally Posted by Funkybot
Good point. For the twister, I'll just need one button. I'd likely still dedicate a page for it though just because BankA is the only button that kind of works for this and it's GoHome elsewhere.
For modifier order, I'd say follow the MCU order: [nothing], Shift, Option, Control, Alt. Though that might already exceed the 32 param limit being proposed (that's 40 params on an 8 fader surface if we count no modifier).
Just did a quick check of other surfaces: the Faderport8/16 only have Shift. The SSL UF8 doesn't even have that. The X-Touch Universal, MCU, C4 all have those 4 modifiers in that order so makes sense to follow that. C4 users would use RotaryA/B/C/D anyway.
|
Cool, I was trying to guess what folks would expect based on the most common modifiers present, but yeah, I always use SOCA, since it's the natural on MCU, X-Touch Universal, etc.
It's really not that big a deal I guess, if enough people complain it's easy to change.
__________________
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
|
|
|
01-04-2023, 11:50 AM
|
#21496
|
Human being with feelings
Join Date: Jul 2007
Location: New Joisey
Posts: 6,143
|
In that case, don't let us slow you down!
|
|
|
01-04-2023, 05:22 PM
|
#21497
|
Human being with feelings
Join Date: Mar 2009
Location: Dartmouth, Nova Scotia
Posts: 11,569
|
New build is up.
CSI Support Files.zip
CSI Exp.zip
Implemented Build TCP FX Zone changes as discussed.
Code:
Zone Home
OnInitialization ToggleEnableFocusedFX
IncludedZones
Buttons
Track
MasterTrack
IncludedZonesEnd
AssociatedZones
SelectedTrackSend
SelectedTrackReceive
SelectedTrackFXMenu
TrackSend
TrackReceive
TrackFXMenu
VCA
Folder
SelectedTrackTCPFX
RotaryFXMapTemplate
AssociatedZonesEnd
ZoneEnd
Code:
// View Buttons
GlobalView Global
MidiTracks GoSelectedTrackTCPFX
Inputs NoAction
AudioTracks NoAction
AudioInstrument NoAction
Aux NoAction
Busses GoRotaryFXMapTemplate
Outputs SaveFXMapTemplateRow SingleRotaryRow
User BuildSelectedTrackTCPFXZone
Code:
Zone "RotaryFXMapTemplate"
OnZoneActivation SetXTouchDisplayColors Cyan
OnZoneDeactivation RestoreXTouchDisplayColors
DisplayUpper1 TCPFXParamNameDisplay 0
DisplayLower1 TCPFXParamValueDisplay 0
Rotary1 TCPFXParam 0
DisplayUpper2 TCPFXParamNameDisplay 1
DisplayLower2 TCPFXParamValueDisplay 1
Rotary2 TCPFXParam 1
DisplayUpper3 TCPFXParamNameDisplay 2
DisplayLower3 TCPFXParamValueDisplay 2
Rotary3 TCPFXParam 2
DisplayUpper4 TCPFXParamNameDisplay 3
DisplayLower4 TCPFXParamValueDisplay 3
Rotary4 TCPFXParam 3
DisplayUpper5 TCPFXParamNameDisplay 4
DisplayLower5 TCPFXParamValueDisplay 4
Rotary5 TCPFXParam 4
DisplayUpper6 TCPFXParamNameDisplay 5
DisplayLower6 TCPFXParamValueDisplay 5
Rotary6 TCPFXParam 5
DisplayUpper7 TCPFXParamNameDisplay 6
DisplayLower7 TCPFXParamValueDisplay 6
Rotary7 TCPFXParam 6
DisplayUpper8 TCPFXParamNameDisplay 7
DisplayLower8 TCPFXParamValueDisplay 7
Rotary8 TCPFXParam 7
ZoneEnd
The above is for a single row rotary setup -- e.g. MCU.
If you wanted to use Faders, you would use a FaderFXMapTemplate Zone, replacing Rotary with Fader.
You would also do this:
Code:
Outputs SaveFXMapTemplateRow SingleFaderRow
Likewise, if you have a multi row surface, you would use these Zones
RotaryAFXMapTemplate
RotaryBFXMapTemplate
RotaryCFXMapTemplate
RotaryDFXMapTemplate
Obviously the Widgets in those Zones would be renamed accordingly.
Here's an example for a multi row setup.
Code:
Zone Home
OnInitialization ToggleEnableFocusedFX
IncludedZones
Buttons
Track
MasterTrack
IncludedZonesEnd
AssociatedZones
SelectedTrackSend
SelectedTrackReceive
SelectedTrackFXMenu
TrackSend
TrackReceive
TrackFXMenu
VCA
Folder
SelectedTrackTCPFX
RotaryAFXMapTemplate
RotaryBFXMapTemplate
RotaryCFXMapTemplate
RotaryDFXMapTemplate
AssociatedZonesEnd
ZoneEnd
Code:
// View Buttons
GlobalView Global
MidiTracks GoSelectedTrackTCPFX
Inputs NoAction
AudioTracks NoAction
AudioInstrument NoAction
Aux NoAction
Busses GoRotaryAFXMapTemplate
Shift+Busses GoRotaryBFXMapTemplate
Option+Busses GoRotaryCFXMapTemplate
Control+Busses GoRotaryDFXMapTemplate
Outputs SaveFXMapTemplateRow MultipleRotaryRows
User BuildSelectedTrackTCPFXZone
The workflow is very similar to the previous workflow, with changes in bold:
Open the Mixer.
Find and select a Track with no FX and insert the one you want to map.
Right click on the FX and at the very bottom of the menu choose Rename FX instance — this will be the alias for the FX.
Close the Mixer.
Resize the Selected Track in the TCP view so you can see what you are doing.
Hit the button mapped to GoRotaryFXMapTemplate.
Add whatever params you wish to map for the FX to the TCPFXParams on the Track, and alias them as needed.
You will see the progress on your surface.
Hit the button mapped to SaveFXMapTemplateRow.
Whilst holding Option(Alt) Click on the TCPFX params to remove them.
If you have a multi row surface, move to the next row of Rotaries
e.g. Shift+Busses GoRotaryBFXMapTemplate.
Add whatever params you wish to map for the FX to the TCPFXParams on the Track, and alias them as needed.
You will see the progress on your surface.
Hit the button mapped to SaveFXMapTemplateRow.
Starting at Whilst holding Option(Alt)... repeat until you have defined the rows you need.
Hit the button mapped to BuildSelectedTrackTCPFXZone.
Check the TCPFXGeneratedZones folder.
__________________
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
|
|
|
01-04-2023, 09:01 PM
|
#21498
|
Human being with feelings
Join Date: Jul 2007
Location: New Joisey
Posts: 6,143
|
Gave it a quick go and it works! Mapped two rows on a plugin!
First issue: after I've created the map, if I subsequently activate this zone from an FX Menu...
Code:
Zone "VST: ValhallaSpaceModulator (Valhalla DSP, LLC)" "SpaceModulator"
FXRotariesA 0 1 2 3 4 5 6 8
// "Mix" "Rate" "Depth" "Feedback" "Manual" "Mode" "Bypass" "Delta"
FXRotariesB 7
// "Wet"
ZoneEnd
...RotariesB2-B8 and their displays have nothing assigned to them, so they need to get "NoAction" commands automatically. Right now, that's not happening so prior zone assignments on B2-B7 are bleeding through.
Second issue: when I loaded that FX via the menu, the aliases weren't read from the FXParamAlias.txt file. Example: RotaryA1 was still showing "wetDRY", and "rate" (lowercase), instead of "Mix" and "Rate". The FXParamAlias.txt did have the aliases though.
In terms of feedback, setting this up was a bit tedious, but it does indeed work. Tips for others: when doing multiple rows, it's uber crucial that you clear out the TCP FX Params and start from scratch for each row. You'll also need to keep track of what you assigned in RowA. Otherwise, RowB will be a mess and could include prior assignments, or you could get double assignments because you have no control over the TCP FX order or just forgot that you already mapped a param in RowA. I made both variations on that mistake: first time, I forgot to clear. Second time, I ended up with something I had mapped on Row A already on Row B because I forgot what was in Row A.
It would be nice if a ReaConsole window could show the current state text of the WIP fx.zon just to help keep track.
|
|
|
01-04-2023, 09:11 PM
|
#21499
|
Human being with feelings
Join Date: Jul 2007
Location: New Joisey
Posts: 6,143
|
Geoff, is there any chance this could be made to work with the AutoGeneratedFX zones? Where it locates the template zones and pre-populates multiple?
Example of how that could work:
1. Look for RotaryFXMapTemplate, if found, auto assign FX Params in order and move to next, if not found, skip and go to next
2. Look for RotaryAFXMapTemplate, if found, auto-assign remaining FX Params in order and move to next, if not found, skip and move to next
3. Look for RotaryBFXMapTemplate, if found, auto-assign remaining params and move to next, if not found, skip and move to next
4. Look for RotaryCFXMapTemplate, if found, auto-assign remaining params and move to next, if not found, skip and move to next
5. Look for RotaryDFXMapTemplate, if found, auto-assign remaining params and move to next, if not found, skip and move to next
6. Look for FaderXMapTemplate, if found, auto-assign remaining params and move to next, if not found, skip and...
7. When there are no more FX params, or no more zone template files found, write zone file, place in AutoGeneratedFXZones.
This would allow us to leverage these template zones for auto-mapping multiple rows on the C4, SCE24, and Twister.
Gonna hit the hay, but nice work on this!
|
|
|
01-05-2023, 12:07 AM
|
#21500
|
Human being with feelings
Join Date: Mar 2009
Location: Dartmouth, Nova Scotia
Posts: 11,569
|
Quote:
Originally Posted by Funkybot
Gave it a quick go and it works! Mapped two rows on a plugin!
|
Thanks for testing !
Quote:
Originally Posted by Funkybot
First issue: after I've created the map, if I subsequently activate this zone from an FX Menu...
Code:
Zone "VST: ValhallaSpaceModulator (Valhalla DSP, LLC)" "SpaceModulator"
FXRotariesA 0 1 2 3 4 5 6 8
// "Mix" "Rate" "Depth" "Feedback" "Manual" "Mode" "Bypass" "Delta"
FXRotariesB 7
// "Wet"
ZoneEnd
...RotariesB2-B8 and their displays have nothing assigned to them, so they need to get "NoAction" commands automatically. Right now, that's not happening so prior zone assignments on B2-B7 are bleeding through.
|
Good point, will enhance it based on the Template Zone definitions.
Quote:
Originally Posted by Funkybot
Second issue: when I loaded that FX via the menu, the aliases weren't read from the FXParamAlias.txt file. Example: RotaryA1 was still showing "wetDRY", and "rate" (lowercase), instead of "Mix" and "Rate". The FXParamAlias.txt did have the aliases though.
|
Do you also have a VST: ValhallaSpaceModulator (Valhalla DSP, LLC) Zone in the main Zone directory ?
I was anticipating possible issues where Zones later alphabetically than TCPFXGeneratedZones could clobber the TCPFXGeneratedZones definitions.
Please let me know, this could be a good test case.
Quote:
Originally Posted by Funkybot
In terms of feedback, setting this up was a bit tedious, but it does indeed work. Tips for others: when doing multiple rows, it's uber crucial that you clear out the TCP FX Params and start from scratch for each row. You'll also need to keep track of what you assigned in RowA. Otherwise, RowB will be a mess and could include prior assignments, or you could get double assignments because you have no control over the TCP FX order or just forgot that you already mapped a param in RowA. I made both variations on that mistake: first time, I forgot to clear. Second time, I ended up with something I had mapped on Row A already on Row B because I forgot what was in Row A.
|
Yup, made all of those mistakes myself
See next post for a proposed solution.
__________________
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
|
|
|
01-05-2023, 12:28 AM
|
#21501
|
Human being with feelings
Join Date: Mar 2009
Location: Dartmouth, Nova Scotia
Posts: 11,569
|
Quote:
Originally Posted by Funkybot
Geoff, is there any chance this could be made to work with the AutoGeneratedFX zones? Where it locates the template zones and pre-populates multiple?
Example of how that could work:
1. Look for RotaryFXMapTemplate, if found, auto assign FX Params in order and move to next, if not found, skip and go to next
2. Look for RotaryAFXMapTemplate, if found, auto-assign remaining FX Params in order and move to next, if not found, skip and move to next
3. Look for RotaryBFXMapTemplate, if found, auto-assign remaining params and move to next, if not found, skip and move to next
4. Look for RotaryCFXMapTemplate, if found, auto-assign remaining params and move to next, if not found, skip and move to next
5. Look for RotaryDFXMapTemplate, if found, auto-assign remaining params and move to next, if not found, skip and move to next
6. Look for FaderXMapTemplate, if found, auto-assign remaining params and move to next, if not found, skip and...
7. When there are no more FX params, or no more zone template files found, write zone file, place in AutoGeneratedFXZones.
This would allow us to leverage these template zones for auto-mapping multiple rows on the C4, SCE24, and Twister.
|
Great idea, currently AutoGeneratedFX is too primitive.
However, that triggers an idea of how to streamline TCPFXGeneratedZones.
We'll have a 2 button process as opposed to 3.
It will be based on the Associated Zones present in the Home Zone.
I think we can safely say that a given surface would have either modifier based or row based templates, but not both.
So, we just need a Start Action and a Build Action.
Let's use the row based example.
The workflow simplifies to:
Press the Start button -- CSI will load Row A template.
Insert FX and proceed to map row A.
Press the Build button.
CSI will save the generated Zone.
CSI will load row B template.
Aside -- I would love to find a way to clear the TCP FX panel at this point.
Map row B.
Note that Row A will be live at this point, so you will have that reference available.
Press the Build button.
CSI will save the generated Zone.
CSI will load row C template.
Map row C.
Note that Rows A and B will be live at this point, so you will have that reference available.
That's the basic concept.
Much easier.
__________________
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
|
|
|
01-05-2023, 06:57 AM
|
#21502
|
Human being with feelings
Join Date: Jul 2007
Location: New Joisey
Posts: 6,143
|
I agree that's much easier!
|
|
|
01-05-2023, 07:49 AM
|
#21503
|
Human being with feelings
Join Date: Mar 2009
Location: Dartmouth, Nova Scotia
Posts: 11,569
|
Quote:
Originally Posted by Funkybot
I agree that's much easier!
|
Actually, I think there's an even better way to do it.
We don't really need separate SelectedTrackTCPFX and Template Zones.
For instance, if you had a C4, the SelectedTrackTCPFX Zone could include all 32 positions.
Then, you just select up to 32 Params from the TCP FX list to map and alias, viewing your work in real time.
Then just press build, CSI can sort out where to change from A to B to C to D from the SelectedTrackTCPFX Zone.
Similarly, for single row devices, the Shift, Option, Control, Alt pattern would apply.
So there would be just 2 buttons:
Code:
// View Buttons
GlobalView Global
MidiTracks NoAction
Inputs NoAction
AudioTracks NoAction
AudioInstrument NoAction
Aux NoAction
Busses NoAction
Outputs GoSelectedTrackTCPFX
User BuildSelectedTrackTCPFXZone
No more clearing params, etc.
Now if there were only a way to drag the TCP FX params to reorder 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
|
|
|
01-05-2023, 08:01 AM
|
#21504
|
Human being with feelings
Join Date: Jul 2007
Location: New Joisey
Posts: 6,143
|
Quote:
Originally Posted by Geoff Waddington
Actually, I think there's an even better way to do it.
We don't really need separate SelectedTrackTCPFX and Template Zones.
For instance, if you had a C4, the SelectedTrackTCPFX Zone could include all 32 positions.
Then, you just select up to 32 Params from the TCP FX list to map and alias, viewing your work in real time.
Then just press build, CSI can sort out where to change from A to B to C to D from the SelectedTrackTCPFX Zone.
Similarly, for single row devices, the Shift, Option, Control, Alt pattern would apply.
So there would be just 2 buttons:
Code:
// View Buttons
GlobalView Global
MidiTracks NoAction
Inputs NoAction
AudioTracks NoAction
AudioInstrument NoAction
Aux NoAction
Busses NoAction
Outputs GoSelectedTrackTCPFX
User BuildSelectedTrackTCPFXZone
No more clearing params, etc.
Now if there were only a way to drag the TCP FX params to reorder them...
|
That's more in line with my original thinking of just having one zone that acts as an FX Template for others. I dig it. Much, much cleaner (and easier to explain)!
Regarding re-ordering the TCP FX Params, that sounds like a Justin/Schwa request. But it would certainly benefit more than just CSI.
Note: it's not too hard to figure out how to reorder the items yourself based on the .zon contents so I don't see it as a major dealbreaker, especially now that you're working on making it so we can map multiple rows at a time.
Maybe just add the same -1 = NoAction in the .zon files that EZFXZones used. That way this...
Code:
Zone "VST: ValhallaSpaceModulator (Valhalla DSP, LLC)" "SpaceModulator"
FXRotariesA 0 1 2 3 4 5 6 8
// "Mix" "Rate" "Depth" "Feedback" "Manual" "Mode" "Bypass" "Delta"
FXRotariesB 7
// "Wet"
ZoneEnd
...could become this (with manual editing of course - not expecting this to happen within Reaper or CSI's mapping due to the TCP constraints):
Code:
Zone "VST: ValhallaSpaceModulator (Valhalla DSP, LLC)" "SpaceModulator"
FXRotariesA 0 1 2 3 4 5 6 8
// "Mix" "Rate" "Depth" "Feedback" "Manual" "Mode" "Bypass" "Delta"
FXRotariesB -1 -1 -1 -1 -1 -1 -1 7
// NoAction NoAction NoAction NoAction NoAction NoAction "Wet"
ZoneEnd
|
|
|
01-05-2023, 08:04 AM
|
#21505
|
Human being with feelings
Join Date: Jul 2007
Location: New Joisey
Posts: 6,143
|
Quote:
Originally Posted by Geoff Waddington
Do you also have a VST: ValhallaSpaceModulator (Valhalla DSP, LLC) Zone in the main Zone directory ?
I was anticipating possible issues where Zones later alphabetically than TCPFXGeneratedZones could clobber the TCPFXGeneratedZones definitions.
Please let me know, this could be a good test case.
|
To go back to this...I did at some point and removed the old one from the FX Zones folder. But maybe got the order of operations wrong. That would totally explain it.
|
|
|
01-05-2023, 08:04 AM
|
#21506
|
Human being with feelings
Join Date: Mar 2009
Location: Dartmouth, Nova Scotia
Posts: 11,569
|
Quote:
Originally Posted by Funkybot
That's more in line with my original thinking of just having one zone that acts as an FX Template for others. I dig it. Much, much cleaner (and easier to explain)!
Regarding re-ordering the TCP FX Params, that sounds like a Justin/Schwa request. But it would certainly benefit more than just CSI.
Note: it's not too hard to figure out how to reorder the items yourself based on the .zon contents so I don't see it as a major dealbreaker, especially now that you're working on making it so we can map multiple rows at a time.
Maybe just add the same -1 = NoAction in the .zon files that EZFXZones used. That way this...
Code:
Zone "VST: ValhallaSpaceModulator (Valhalla DSP, LLC)" "SpaceModulator"
FXRotariesA 0 1 2 3 4 5 6 8
// "Mix" "Rate" "Depth" "Feedback" "Manual" "Mode" "Bypass" "Delta"
FXRotariesB 7
// "Wet"
ZoneEnd
...could become this (with manual editing of course):
Code:
Zone "VST: ValhallaSpaceModulator (Valhalla DSP, LLC)" "SpaceModulator"
FXRotariesA 0 1 2 3 4 5 6 8
// "Mix" "Rate" "Depth" "Feedback" "Manual" "Mode" "Bypass" "Delta"
FXRotariesB -1 -1 -1 -1 -1 -1 -1 7
// NoAction NoAction NoAction NoAction NoAction NoAction "Wet"
ZoneEnd
|
Yup, -1 is the ticket
__________________
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
|
|
|
01-05-2023, 08:07 AM
|
#21507
|
Human being with feelings
Join Date: Mar 2009
Location: Dartmouth, Nova Scotia
Posts: 11,569
|
Quote:
Originally Posted by Funkybot
To go back to this...I did at some point and removed the old one from the FX Zones folder. But maybe got the order of operations wrong. That would totally explain it.
|
Yeah, there were far too many order of operations gotchas with the early drafts, I got bit by them many times
__________________
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
|
|
|
01-05-2023, 08:59 AM
|
#21508
|
Human being with feelings
Join Date: Sep 2017
Location: London, England.
Posts: 5,003
|
Could we not just assign the whole lot in one go and let CSI chop it into blocks of eight?
|
|
|
01-05-2023, 09:01 AM
|
#21509
|
Human being with feelings
Join Date: Mar 2009
Location: Dartmouth, Nova Scotia
Posts: 11,569
|
Quote:
Originally Posted by MixMonkey
Could we not just assign the whole lot in one go and let CSI chop it into blocks of eight?
|
Yes, exactly, that's the plan.
CSI can derive from the SelectedTrackTCPFX Zone how to chop it up.
__________________
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
|
|
|
01-05-2023, 12:33 PM
|
#21510
|
Human being with feelings
Join Date: Jul 2011
Location: Northern Ireland
Posts: 923
|
Quote:
Originally Posted by Geoff Waddington
Given this list:
Shift
Control
Alt
Option
the second save will generate a Shift version, the third save will generate a Control version, etc.
Does the above order seem like the "natural" way to hardwire it ?
|
I would have thought (looking at how they are laid out on the MCU and Behringer)
Shift
Control
Option
Alt
Then again, the whole TCPFX things goes right over my head, So i'm happily typing away to create my FX Zones.
Although did i not read a while back a possible Auto map for no mapped plugins?
Last edited by Freex; 01-05-2023 at 12:38 PM.
|
|
|
01-05-2023, 12:59 PM
|
#21511
|
Human being with feelings
Join Date: Jul 2007
Location: New Joisey
Posts: 6,143
|
Quote:
Originally Posted by Freex
Then again, the whole TCPFX things goes right over my head, So i'm happily typing away to create my FX Zones.
Although did i not read a while back a possible Auto map for no mapped plugins?
|
Yes, the Auto-mapping is great for plugins with a small number of parameters. No need to do anything special, it "just works". Won't help you with those mega-FX plugins with hundreds of automation params but it's terrific for those small EQs, compressor, chorus, reverb plugins with just a small number of params that you haven't mapped yet. Everything's automatic and transparent.
Same thing for stepped params. No more having to futz around with parameter steps in the fx.zon files, they also "just work" (for the vast majority of plugins anyway).
I'll get all this stuff documented and up on the wiki soon. But great stuff is happening with FX mapping in CSI.
|
|
|
01-05-2023, 01:08 PM
|
#21512
|
Human being with feelings
Join Date: Jul 2011
Location: Northern Ireland
Posts: 923
|
Quote:
Originally Posted by Funkybot
I'll get all this stuff documented and up on the wiki soon. But great stuff is happening with FX mapping in CSI.
|
Then hopefully I'll understand... but it might be a big ask. LOL
(I confess, I spent way to long the other night, trying to figure out why an FXZone I'd created a while back didnt work,
turns out,
SubZomeEnd
is hard to notice. LOL
|
|
|
01-05-2023, 01:24 PM
|
#21513
|
Human being with feelings
Join Date: Jul 2007
Location: New Joisey
Posts: 6,143
|
Quote:
Originally Posted by Freex
Then hopefully I'll understand... but it might be a big ask. LOL
(I confess, I spent way to long the other night, trying to figure out why an FXZone I'd created a while back didnt work,
turns out,
SubZomeEnd
is hard to notice. LOL
|
I had something similar happen recently with a missing ZoneEnd line.
|
|
|
01-05-2023, 01:55 PM
|
#21514
|
Human being with feelings
Join Date: Mar 2009
Location: Dartmouth, Nova Scotia
Posts: 11,569
|
Been thinking about this all day.
One of the most important challenges, at least to me , is the parameter order.
If I have a C4/SCE24, etc., and want to map a parametric EQ, I always like to have a row for Q, a row for frequency, and a row for boost/cut.
It would be sheer luck if the plugin author laid out the parameter indices that way.
Reaper follows the plugin author, perfectly logical.
For our purposes, I think we can do slightly better than just accepting this, as long as we take a chill approach to our mapping, as opposed to a rush approach
In other words, it would be great to be able to drag the TCP FX params around, rearranging the surface locations incredibly easily.
I won't give up on chasing this, but in the meantime...
I think we can do this to limp along for now.
We'll use the simple MCU row for illustration.
Ok, so you first add the param with index 3, all good.
It shows up on Rotary 1.
Now you add the param with index 2, it shows up on Rotary 1, and the parameter with index 3 shows up on Rotary 2, not what we want.
How about if we ignore the TCP FX order and go by order in which they are added.
So rerunning the above scenario, when the param with index 2 is added, Rotary 1 remains mapped to the parameter with index 3, and Rotary 2 is mapped the param with index 2.
Not really pretty, the order on the surface does not agree with the order on the screen, but at least we get the order we want on the surface.
If we make a mistake on the last one added, it is fairly simple to undo one level.
If we remove a parameter in the middle somewhere, it still holds up reasonably well.
However, it may be difficult to insert a parameter in the middle slot we just removed, they will be in different places on the screen and the surface, tricky but possible.
If we remove more than one in the middle, things get very dark, very quickly
I still think it's worth a shot, I will start thinking about how to code it, unless I get heavy pushback from you folks
So, push away
__________________
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
|
|
|
01-05-2023, 02:44 PM
|
#21515
|
Human being with feelings
Join Date: Jul 2007
Location: New Joisey
Posts: 6,143
|
That actually sounds great to me. No push here at all.
I think we can explain it thusly: the TCPFXParams are being leveraged by CSI to build and map FX.zon files. So it's based on the order added. When you're done, you build the map and you've created an fx.zon specific to that plugin using Reaper as the mapping tool.
If you want the order in the TCPFX, then use the SelectedTrackTCPFX.zon file. That's what it's for.
Seems perfectly logical and it's super annoying when you add something like "Reverb Mode" on your B7 widget, then Reaper decides to put it first and now it's on A1 and moves everything else around. This approach solves that in a very logical way.
|
|
|
01-05-2023, 03:15 PM
|
#21516
|
Human being with feelings
Join Date: Sep 2021
Location: Quebec, Canada
Posts: 123
|
Reaper 6.73
Windows 10 Pro
Latest exp version of CSI.
I did several tests with the FollowTCP but it does not work here.
Here is my code.
Zone "Track"
// Uncollapse Track Folder
Hold+Select| Reaper _SWS_SELCHILDREN //SWS: Select only children of selected folders
Hold+Select| Reaper _SWSTL_BOTH // SWS: Show selected track(s) in TCP and MCP
Hold+Selectø Reaper 40297 // Track: Unselect (clear selection of) all tracks
Hold+Select| Reaper _SWS_SELNEARESTPREVFOLDER // SWS: Select nearest previous folder
Hold+Select| Speak "Folder Open"
// Collapse Track Folder
Shift+Hold+Select| Reaper _SWS_SELCHILDREN //SWS: Select only children of selected folders
Shift+Hold+Select| Reaper _SWSTL_HIDE // SWS: Hide selected track(s)
Shift+Hold+Select| Reaper 40297 // Track: Unselect (clear selection of) all tracks
Shift+Hold+Select| Reaper _SWS_SELNEARESTPREVFOLDER // SWS: Select nearest previous folder
Shift+Hold+Select| Speak "Folder Closed"
Zone "Buttons"
// F3, Show All tracks
F3 Reaper _SWS_SELFOLDSTARTS // SWS: Select all folder start tracks
F3 Reaper _SWS_COLLAPSE // SWS: Set selected folder(s) collapsed
F3 Reaper 41594 // Track: Make all tracks visible in TCP and mixer
F3 Reaper _SWS_SEL1 // SWS: Select only track 1
F3 Speak "All Tracks Are Displayed"
// Show Track Folders only
F4 Reaper _SWS_SELFOLDSTARTS // SWS: Select all folder start tracks
F4 Reaper _SWSTL_SHOWEX // SWS: Show selected track(s), hide others
F4 Reaper _SWS_UNCOLLAPSE // SWS: Set selected folder(s) uncollapsed
F4 Reaper _SWS_SEL1 // SWS: Select only track 1
F4 Speak "Only Track Folders Are Displayed"
Everything is displayed perfectly on the X-Touch but in the TCP, the display is completely different.
Is there a problem with the FollowTCP function or is it me doing something wrong?
Thanks guys.
__________________
LeeJul
Reaper FrenchLangPack here:
stash.reaper.fm/v/45280/REAPER_SWS_FRC.ReaperLangPac
|
|
|
01-05-2023, 03:20 PM
|
#21517
|
Human being with feelings
Join Date: Jul 2007
Location: New Joisey
Posts: 6,143
|
leejul, please post the contents of your csi.ini.
|
|
|
01-05-2023, 05:17 PM
|
#21518
|
Human being with feelings
Join Date: Sep 2017
Location: London, England.
Posts: 5,003
|
Quote:
Originally Posted by Geoff Waddington
I still think it's worth a shot, I will start thinking about how to code it, unless I get heavy pushback from you folks
So, push away
|
No push back here It's a great idea for reasonably small FX.zon, and to be honest, if the the FX.zon is large, why are you using this method?
I still think it's worth printing the raw FX contents at the end of the created FX.zon, as built-in guide for further editing.
|
|
|
01-05-2023, 05:31 PM
|
#21519
|
Human being with feelings
Join Date: Mar 2009
Location: Dartmouth, Nova Scotia
Posts: 11,569
|
Quote:
Originally Posted by MixMonkey
No push back here It's a great idea for reasonably small FX.zon, and to be honest, if the the FX.zon is large, why are you using this method?
I still think it's worth printing the raw FX contents at the end of the created FX.zon, as built-in guide for further editing.
|
Definitely going to keep that !
__________________
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
|
|
|
01-05-2023, 05:38 PM
|
#21520
|
Human being with feelings
Join Date: Sep 2021
Location: Quebec, Canada
Posts: 123
|
Quote:
Originally Posted by Funkybot
leejul, please post the contents of your csi.ini.
|
Version 2.0
MidiSurface "X-Touch" 17 19
Page "HomePage" FollowTCP
"X-Touch" 8 0 "X-Touch.mst" "X-Touch"
Thanks for your help.
__________________
LeeJul
Reaper FrenchLangPack here:
stash.reaper.fm/v/45280/REAPER_SWS_FRC.ReaperLangPac
|
|
|
Thread Tools |
|
Display Modes |
Linear Mode
|
Posting Rules
|
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts
HTML code is Off
|
|
|
All times are GMT -7. The time now is 11:07 PM.
|