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

Reply
 
Thread Tools Display Modes
Old 07-13-2023, 09:30 AM   #23481
Funkybot
Human being with feelings
 
Funkybot's Avatar
 
Join Date: Jul 2007
Location: New Joisey
Posts: 6,143
Default

Would it be possible to modify the learn behavior to include a "pickup" or "catch" mode for the assignment when using Fader and Push widgets?

Example:

1. My FXParam's current value is around 75% (0.75)
2. I'm going to assign it to a fader
3. I enter learn mode
4. My faders are at 0
5. I move a fader

Result: the FXParam jumps to 0% or near it.

Desired behavior:

6. I keep moving the fader and nothing happens until the fader crosses the 75% FX value so there's not a big jump upon assignment. Obviously, it won't be perfect, but it will prevent big changes to the sound during the learn process.
__________________
CSI v3 Wiki
Funkybot is online now   Reply With Quote
Old 07-13-2023, 09:39 AM   #23482
Funkybot
Human being with feelings
 
Funkybot's Avatar
 
Join Date: Jul 2007
Location: New Joisey
Posts: 6,143
Default

Also, at the moment, we still need to refresh all surfaces for the new learned FX.zon to actually be activated after being saved. Not sure if that was meant to be addressed in this latest build but figured I'd mention it.
__________________
CSI v3 Wiki
Funkybot is online now   Reply With Quote
Old 07-13-2023, 09:52 AM   #23483
Funkybot
Human being with feelings
 
Funkybot's Avatar
 
Join Date: Jul 2007
Location: New Joisey
Posts: 6,143
Default

Hi Geoff, I think the Learn mode should build a series of "NoActions" for any unused widgets and modifiers when the maps are saved.

Below, I'm mostly learning things on faders except for tuning parameters which I put on Rotary (see Option+Rotary1 thru 3, and Control+Rotary1 thru 3) because it will be easier to recenter those later on without knocking the whole synth out of tune.

Now, I had the Option modifier latched, but just downright forgot I had FineTune assigned to the Rotary and moved the fader (Option+Fader2), which resulted in the filter resinance moving (Fader2, unmodified).

Expected Result:

Option+Fader1 is assigned to a NoAction when saving the LearnedFX zone. Same for other unused widgets and modifier combinations.

Hopefully this doesn't complicate things too much.

Code:
Zone "VST3i: Repro-5 (u-he)" "Repro-5"
	OnZoneActivation SetXTouchDisplayColors Cyan
	OnZoneDeactivation RestoreXTouchDisplayColors

#Begin auto generated section
	Fader1	FXParam 60
	DisplayUpper1	FixedTextDisplay "Cutoff"
	DisplayLower1	FXParamValueDisplay 60

	Fader2	FXParam 61
	DisplayUpper2	FixedTextDisplay "Resonance"
	DisplayLower2	FXParamValueDisplay 61

	Fader3	FXParam 63
	DisplayUpper3	FixedTextDisplay "Envelope Amount"
	DisplayLower3	FXParamValueDisplay 63

	Fader4	FXParam 62
	DisplayUpper4	FixedTextDisplay "Keyboard Amount"
	DisplayLower4	FXParamValueDisplay 62

	Fader5	FXParam 55
	DisplayUpper5	FixedTextDisplay "Osc A"
	DisplayLower5	FXParamValueDisplay 55

	Fader6	FXParam 56
	DisplayUpper6	FixedTextDisplay "Osc B"
	DisplayLower6	FXParamValueDisplay 56

	Fader7	FXParam 57
	DisplayUpper7	FixedTextDisplay "Noise/Feedback"
	DisplayLower7	FXParamValueDisplay 57

	Fader8	FXParam 0
	DisplayUpper8	FixedTextDisplay "Output"
	DisplayLower8	FXParamValueDisplay 0

	Shift+Fader1	FXParam 22
	Shift+DisplayUpper1	FixedTextDisplay "Attack"
	Shift+DisplayLower1	FXParamValueDisplay 22

	Shift+Fader2	FXParam 23
	Shift+DisplayUpper2	FixedTextDisplay "Decay"
	Shift+DisplayLower2	FXParamValueDisplay 23

	Shift+Fader3	FXParam 24
	Shift+DisplayUpper3	FixedTextDisplay "Sustain"
	Shift+DisplayLower3	FXParamValueDisplay 24

	Shift+Fader4	FXParam 25
	Shift+DisplayUpper4	FixedTextDisplay "Release"
	Shift+DisplayLower4	FXParamValueDisplay 25

	Shift+Fader5	FXParam 26
	Shift+DisplayUpper5	FixedTextDisplay "Attack"
	Shift+DisplayLower5	FXParamValueDisplay 26

	Shift+Fader6	FXParam 27
	Shift+DisplayUpper6	FixedTextDisplay "Decay"
	Shift+DisplayLower6	FXParamValueDisplay 27

	Shift+Fader7	FXParam 28
	Shift+DisplayUpper7	FixedTextDisplay "Sustain"
	Shift+DisplayLower7	FXParamValueDisplay 28

	Shift+Fader8	FXParam 29
	Shift+DisplayUpper8	FixedTextDisplay "Release"
	Shift+DisplayLower8	FXParamValueDisplay 29

	Option+Rotary1	FXParam 31
	Option+DisplayUpper1	FixedTextDisplay "Frequency"
	Option+DisplayLower1	FXParamValueDisplay 31

	Option+Rotary2	FXParam 32
	Option+DisplayUpper2	FixedTextDisplay "Fine Tune"
	Option+DisplayLower2	FXParamValueDisplay 32

	Option+Fader3	FXParam 30
	Option+DisplayUpper3	FixedTextDisplay "Octave"
	Option+DisplayLower3	FXParamValueDisplay 30

	Option+Fader4	FXParam 33
	Option+DisplayUpper4	FixedTextDisplay "Saw Wave"
	Option+DisplayLower4	FXParamValueDisplay 33

	Option+Fader5	FXParam 34
	Option+DisplayUpper5	FixedTextDisplay "Pulse Wave"
	Option+DisplayLower5	FXParamValueDisplay 34

	Option+Fader6	FXParam 35
	Option+DisplayUpper6	FixedTextDisplay "Pulse Width"
	Option+DisplayLower6	FXParamValueDisplay 35

	Option+Fader7	FXParam 36
	Option+DisplayUpper7	FixedTextDisplay "Hard Sync"
	Option+DisplayLower7	FXParamValueDisplay 36

	Option+Fader8	FXParam 55
	Option+DisplayUpper8	FixedTextDisplay "Osc A"
	Option+DisplayLower8	FXParamValueDisplay 55

	Shift+Option+Fader1	FXParam 7
	Shift+Option+DisplayUpper1	FixedTextDisplay "Frequency"
	Shift+Option+DisplayLower1	FXParamValueDisplay 7

	Shift+Option+Fader2	FXParam 6
	Shift+Option+DisplayUpper2	FixedTextDisplay "Sync Mode"
	Shift+Option+DisplayLower2	FXParamValueDisplay 6

	Shift+Option+Fader3	FXParam 5
	Shift+Option+DisplayUpper3	FixedTextDisplay "Time Base"
	Shift+Option+DisplayLower3	FXParamValueDisplay 5

	Shift+Option+Fader4	FXParam 10
	Shift+Option+DisplayUpper4	FixedTextDisplay "Saw Wave"
	Shift+Option+DisplayLower4	FXParamValueDisplay 10

	Shift+Option+Fader5	FXParam 9
	Shift+Option+DisplayUpper5	FixedTextDisplay "Triangle Wave"
	Shift+Option+DisplayLower5	FXParamValueDisplay 9

	Shift+Option+Fader6	FXParam 8
	Shift+Option+DisplayUpper6	FixedTextDisplay "Square Wave"
	Shift+Option+DisplayLower6	FXParamValueDisplay 8

	Shift+Option+Fader7	FXParam 2
	Shift+Option+DisplayUpper7	FixedTextDisplay "Source"
	Shift+Option+DisplayLower7	FXParamValueDisplay 2

	Shift+Option+Fader8	FXParam 4
	Shift+Option+DisplayUpper8	FixedTextDisplay "Source"
	Shift+Option+DisplayLower8	FXParamValueDisplay 4

	Control+Rotary1	FXParam 42
	Control+DisplayUpper1	FixedTextDisplay "Frequency"
	Control+DisplayLower1	FXParamValueDisplay 42

	Control+Rotary2	FXParam 43
	Control+DisplayUpper2	FixedTextDisplay "Fine Tune"
	Control+DisplayLower2	FXParamValueDisplay 43

	Control+Fader3	FXParam 41
	Control+DisplayUpper3	FixedTextDisplay "Octave"
	Control+DisplayLower3	FXParamValueDisplay 41

	Control+Fader4	FXParam 44
	Control+DisplayUpper4	FixedTextDisplay "Saw Wave"
	Control+DisplayLower4	FXParamValueDisplay 44

	Control+Fader5	FXParam 45
	Control+DisplayUpper5	FixedTextDisplay "Triangle Wave"
	Control+DisplayLower5	FXParamValueDisplay 45

	Control+Fader6	FXParam 46
	Control+DisplayUpper6	FixedTextDisplay "Pulse Wave"
	Control+DisplayLower6	FXParamValueDisplay 46

	Control+Fader7	FXParam 47
	Control+DisplayUpper7	FixedTextDisplay "Pulse Width"
	Control+DisplayLower7	FXParamValueDisplay 47

	Control+Fader8	FXParam 48
	Control+DisplayUpper8	FixedTextDisplay "Low Frequency"
	Control+DisplayLower8	FXParamValueDisplay 48

	Shift+Option+Control+Fader1	FXParam 11
	Shift+Option+Control+DisplayUpper1	FixedTextDisplay "LFO / Noise Mix"
	Shift+Option+Control+DisplayLower1	FXParamValueDisplay 11

	Shift+Option+Control+Fader2	FXParam 39
	Shift+Option+Control+DisplayUpper2	FixedTextDisplay "Global Freq Mod"
	Shift+Option+Control+DisplayLower2	FXParamValueDisplay 39

	Shift+Option+Control+Fader3	FXParam 50
	Shift+Option+Control+DisplayUpper3	FixedTextDisplay "Global Freq Mod"
	Shift+Option+Control+DisplayLower3	FXParamValueDisplay 50

	Shift+Option+Control+Fader4	FXParam 40
	Shift+Option+Control+DisplayUpper4	FixedTextDisplay "Global PW Mod"
	Shift+Option+Control+DisplayLower4	FXParamValueDisplay 40

	Shift+Option+Control+Fader5	FXParam 51
	Shift+Option+Control+DisplayUpper5	FixedTextDisplay "Global PW Mod"
	Shift+Option+Control+DisplayLower5	FXParamValueDisplay 51

	Shift+Option+Control+Fader6	FXParam 65
	Shift+Option+Control+DisplayUpper6	FixedTextDisplay "Global Mod"
	Shift+Option+Control+DisplayLower6	FXParamValueDisplay 65

	Shift+Option+Control+Fader7	FXParam 12
	Shift+Option+Control+DisplayUpper7	FixedTextDisplay "Upper Limit"
	Shift+Option+Control+DisplayLower7	FXParamValueDisplay 12

	Shift+Option+Control+Fader8	FXParam 13
	Shift+Option+Control+DisplayUpper8	FixedTextDisplay "Lower Limit"
	Shift+Option+Control+DisplayLower8	FXParamValueDisplay 13

	Alt+Fader1	FXParam 49
	Alt+DisplayUpper1	FixedTextDisplay "Keyboard Pitched"
	Alt+DisplayLower1	FXParamValueDisplay 49

	Alt+Fader2	FXParam 53
	Alt+DisplayUpper2	FixedTextDisplay "Filter Env Amount"
	Alt+DisplayLower2	FXParamValueDisplay 53

	Alt+Fader3	FXParam 52
	Alt+DisplayUpper3	FixedTextDisplay "Osc B Amount"
	Alt+DisplayLower3	FXParamValueDisplay 52

	Alt+Fader4	FXParam 37
	Alt+DisplayUpper4	FixedTextDisplay "Voice Freq Mod"
	Alt+DisplayLower4	FXParamValueDisplay 37

	Alt+Fader5	FXParam 38
	Alt+DisplayUpper5	FixedTextDisplay "Voice PW Mod"
	Alt+DisplayLower5	FXParamValueDisplay 38

	Alt+Fader6	FXParam 64
	Alt+DisplayUpper6	FixedTextDisplay "Voice Mod"
	Alt+DisplayLower6	FXParamValueDisplay 64

	Alt+Fader7	FXParam 18
	Alt+DisplayUpper7	FixedTextDisplay "Amount"
	Alt+DisplayLower7	FXParamValueDisplay 18

	Alt+Fader8	FXParam 54
	Alt+DisplayUpper8	FixedTextDisplay "Amount"
	Alt+DisplayLower8	FXParamValueDisplay 54

	Control+Alt+Fader1	FXParam 99
	Control+Alt+DisplayUpper1	FixedTextDisplay "Pre-Delay"
	Control+Alt+DisplayLower1	FXParamValueDisplay 99

	Control+Alt+Fader2	FXParam 100
	Control+Alt+DisplayUpper2	FixedTextDisplay "Pre-Delay"
	Control+Alt+DisplayLower2	FXParamValueDisplay 100

	Control+Alt+Fader3	FXParam 101
	Control+Alt+DisplayUpper3	FixedTextDisplay "Tone"
	Control+Alt+DisplayLower3	FXParamValueDisplay 101

	Control+Alt+Fader4	FXParam 102
	Control+Alt+DisplayUpper4	FixedTextDisplay "Dry/Wet Mix"
	Control+Alt+DisplayLower4	FXParamValueDisplay 102

	Control+Alt+Fader5	FXParam 88
	Control+Alt+DisplayUpper5	FixedTextDisplay "Bass Frequency"
	Control+Alt+DisplayLower5	FXParamValueDisplay 88

	Control+Alt+Fader6	FXParam 91
	Control+Alt+DisplayUpper6	FixedTextDisplay "Mid Frequency"
	Control+Alt+DisplayLower6	FXParamValueDisplay 91

	Control+Alt+Fader7	FXParam 94
	Control+Alt+DisplayUpper7	FixedTextDisplay "High Frequency"
	Control+Alt+DisplayLower7	FXParamValueDisplay 94

	Control+Alt+Fader8	FXParam 98
	Control+Alt+DisplayUpper8	FixedTextDisplay "Mode"
	Control+Alt+DisplayLower8	FXParamValueDisplay 98

	Option+Control+Alt+Fader1	FXParam 87
	Option+Control+Alt+DisplayUpper1	FixedTextDisplay "Flavour"
	Option+Control+Alt+DisplayLower1	FXParamValueDisplay 87

	Option+Control+Alt+Fader2	FXParam 81
	Option+Control+Alt+DisplayUpper2	FixedTextDisplay "Sync"
	Option+Control+Alt+DisplayLower2	FXParamValueDisplay 81

	Option+Control+Alt+Fader3	FXParam 82
	Option+Control+Alt+DisplayUpper3	FixedTextDisplay "Mode"
	Option+Control+Alt+DisplayLower3	FXParamValueDisplay 82

	Option+Control+Alt+Fader4	FXParam 86
	Option+Control+Alt+DisplayUpper4	FixedTextDisplay "Modulation"
	Option+Control+Alt+DisplayLower4	FXParamValueDisplay 86

	Option+Control+Alt+Fader5	FXParam 83
	Option+Control+Alt+DisplayUpper5	FixedTextDisplay "Delay Time"
	Option+Control+Alt+DisplayLower5	FXParamValueDisplay 83

	Option+Control+Alt+Fader6	FXParam 84
	Option+Control+Alt+DisplayUpper6	FixedTextDisplay "Mix"
	Option+Control+Alt+DisplayLower6	FXParamValueDisplay 84

	Option+Control+Alt+Fader7	FXParam 85
	Option+Control+Alt+DisplayUpper7	FixedTextDisplay "Mix"
	Option+Control+Alt+DisplayLower7	FXParamValueDisplay 85

	Option+Control+Alt+Fader8	FXParam 105
	Option+Control+Alt+DisplayUpper8	FixedTextDisplay "Transient"
	Option+Control+Alt+DisplayLower8	FXParamValueDisplay 105

	Shift+Option+Control+Alt+Fader1	FXParam 15
	Shift+Option+Control+Alt+DisplayUpper1	FixedTextDisplay "Active #Dist"
	Shift+Option+Control+Alt+DisplayLower1	FXParamValueDisplay 15

	Shift+Option+Control+Alt+Fader2	FXParam 66
	Shift+Option+Control+Alt+DisplayUpper2	FixedTextDisplay "Type"
	Shift+Option+Control+Alt+DisplayLower2	FXParamValueDisplay 66

	Shift+Option+Control+Alt+Fader3	FXParam 80
	Shift+Option+Control+Alt+DisplayUpper3	FixedTextDisplay "Rate"
	Shift+Option+Control+Alt+DisplayLower3	FXParamValueDisplay 80

	Shift+Option+Control+Alt+Fader4	FXParam 71
	Shift+Option+Control+Alt+DisplayUpper4	FixedTextDisplay "Crush"
	Shift+Option+Control+Alt+DisplayLower4	FXParamValueDisplay 71

	Shift+Option+Control+Alt+Fader5	FXParam 69
	Shift+Option+Control+Alt+DisplayUpper5	FixedTextDisplay "Mix"
	Shift+Option+Control+Alt+DisplayLower5	FXParamValueDisplay 69

	Shift+Option+Control+Alt+Fader6	FXParam 80
	Shift+Option+Control+Alt+DisplayUpper6	FixedTextDisplay "Input Gain"
	Shift+Option+Control+Alt+DisplayLower6	FXParamValueDisplay 80

	Shift+Option+Control+Alt+Fader7	FXParam 103
	Shift+Option+Control+Alt+DisplayUpper7	FixedTextDisplay "Mode"
	Shift+Option+Control+Alt+DisplayLower7	FXParamValueDisplay 103

	Shift+Option+Control+Alt+Fader8	FXParam 104
	Shift+Option+Control+Alt+DisplayUpper8	FixedTextDisplay "Stereo Width"
	Shift+Option+Control+Alt+DisplayLower8	FXParamValueDisplay 104

#End auto generated section
ZoneEnd

0 Output
1 Source
2 Depth #1
3 Source
4 Depth #1
5 Time Base
6 Sync Mode
7 Frequency
8 Square Wave
9 Triangle Wave
10 Saw Wave
11 LFO / Noise Mix
12 Lower Limit
13 Upper Limit
14 Noise / S&H
15 Active #Dist
16 Reallocate Voices
17 Note Priority
18 Amount
19 PWheel Range+
20 PWheel Range-
21 Master Tune
22 Attack
23 Decay
24 Sustain
25 Release
26 Attack
27 Decay
28 Sustain
29 Release
30 Octave
31 Frequency
32 Fine Tune
33 Saw Wave
34 Pulse Wave
35 Pulse Width
36 Hard Sync
37 Voice Freq Mod
38 Voice PW Mod
39 Global Freq Mod
40 Global PW Mod
41 Octave
42 Frequency
43 Fine Tune
44 Saw Wave
45 Triangle Wave
46 Pulse Wave
47 Pulse Width
48 Low Frequency
49 Keyboard Pitched
50 Global Freq Mod
51 Global PW Mod
52 Osc B Amount
53 Filter Env Amount
54 Amount
55 Osc A
56 Osc B
57 Noise/Feedback
58 Noise/Feedback Mode
59 Key Tracking Source
60 Cutoff
61 Resonance
62 Keyboard Amount
63 Envelope Amount
64 Voice Mod
65 Global Mod
66 Type
67 Amount
68 Tone
69 Mix
70 Rate
71 Crush
72 Pan 1
73 Pan 2
74 Pan 3
75 Pan 4
76 Pan 5
77 Pan 6
78 Pan 7
79 Pan 8
80 Input Gain
81 Sync
82 Mode
83 Delay Time
84 Regeneration
85 Mix
86 Modulation
87 Flavour
88 Bass Frequency
89 Bass Gain (EQ)
90 Bass Vol (Res)
91 Mid Frequency
92 Mid Gain (EQ)
93 Mid Vol (Res)
94 High Frequency
95 High Gain (EQ)
96 High Vol (Res)
97 Q/Resonance
98 Mode
99 Pre-Delay
100 Decay
101 Tone
102 Dry/Wet Mix
103 Gain
104 Stereo Width
105 Transient
106 Envelope Polarity
107 Pan
...
__________________
CSI v3 Wiki
Funkybot is online now   Reply With Quote
Old 07-13-2023, 10:05 AM   #23484
MixMonkey
Human being with feelings
 
MixMonkey's Avatar
 
Join Date: Sep 2017
Location: London, England.
Posts: 5,003
Default

Quote:
Originally Posted by Geoff Waddington View Post
New Exp build is up.

https://stash.reaper.fm/v/42044/CSI%20Exp.zip

ToggleAutoFXMapping should work again.

Learn FX Params much improved as per our discussion.
Working super-slick Auto-map is behaving itself now.

Only thing to pick up is that after you've learnt some parameters and saved (the fx.zon is created in the AutoGeneratedFXZones), the FX.zon doesn't immediately become active in the same way an auto-mapped FX.zon does. The name appears in the FXMenu, but GoFXSlot doesn't activate the Zone. Refresh of control surfaces cures it, then it will map.

Question: will this work across the whole C4? I've only got it on row D at the moment.
MixMonkey is offline   Reply With Quote
Old 07-13-2023, 10:28 AM   #23485
Geoff Waddington
Human being with feelings
 
Geoff Waddington's Avatar
 
Join Date: Mar 2009
Location: Dartmouth, Nova Scotia
Posts: 11,569
Default

Quote:
Originally Posted by Funkybot View Post
Also, at the moment, we still need to refresh all surfaces for the new learned FX.zon to actually be activated after being saved. Not sure if that was meant to be addressed in this latest build but figured I'd mention it.
Thanks for reminding me

Got to remember to ToggleAutoFXMapping off, so that I can test this
__________________
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 07-13-2023, 11:07 AM   #23486
Funkybot
Human being with feelings
 
Funkybot's Avatar
 
Join Date: Jul 2007
Location: New Joisey
Posts: 6,143
Default

Geoff, what would you think of the concept of a "ToggleLocalFXMapping" action? The idea being that with that option off, CSI will attempt to activate the FX on any available surfaces like it currently does (basically broadcasting). But with it on, FX will only attempt to activate locally.

In my particular setup, I'd really like to have the X-Touch only mapping FX locally. As is, when I activate an FX on the X-Touch, CSI tries to map on the Twister, and when there's no map, the Twister is no longer in the home zone but there are no FX active on it. So I lose access to some buttons I want to keep active on the Twister when FX are mapped on the X-Touch.

Hope that made sense.
__________________
CSI v3 Wiki
Funkybot is online now   Reply With Quote
Old 07-13-2023, 11:20 AM   #23487
Geoff Waddington
Human being with feelings
 
Geoff Waddington's Avatar
 
Join Date: Mar 2009
Location: Dartmouth, Nova Scotia
Posts: 11,569
Default

Speaking of things I've been meaning to clean up...

The local modifiers check box on the Surface config panel seems so arbitrary, out of place, and static.

Playing around with the SCEC24 has driven that point home.

When I've got a plugin mapped across the whole surface, it would often be nice to have local modifiers.

Then when I exit, it would be nice to revert to global modifiers.

This is a much more flexible approach.

Propose we replace the current check box with a new Action -- ToggleUseLocalModifiers.

If you want them on always for a surface, just add this to your Home Zone:

Code:
Zone Home
    OnInitialization	ToggleRestrictTextLength 7
    OnInitialization 	ToggleEnableFocusedFXMapping
    OnInitialization    ToggleUseLocalModifiers
If you want them on only for FX:

Code:
Zone FXPrologue
	OnZoneActivation	SetXTouchDisplayColors Cyan
	OnZoneActivation	ToggleUseLocalModifiers
	OnZoneDeactivation	RestoreXTouchDisplayColors
	OnZoneDeactivation	ToggleUseLocalModifiers
	Plugin      		ClearFXSlot
ZoneEnd
and like that for any other usage you might have.

Unless someone has a strong objection, I'll make the 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
Geoff Waddington is offline   Reply With Quote
Old 07-13-2023, 11:22 AM   #23488
Geoff Waddington
Human being with feelings
 
Geoff Waddington's Avatar
 
Join Date: Mar 2009
Location: Dartmouth, Nova Scotia
Posts: 11,569
Default

Quote:
Originally Posted by Funkybot View Post
Geoff, what would you think of the concept of a "ToggleLocalFXMapping" action? The idea being that with that option off, CSI will attempt to activate the FX on any available surfaces like it currently does (basically broadcasting). But with it on, FX will only attempt to activate locally.

In my particular setup, I'd really like to have the X-Touch only mapping FX locally. As is, when I activate an FX on the X-Touch, CSI tries to map on the Twister, and when there's no map, the Twister is no longer in the home zone but there are no FX active on it. So I lose access to some buttons I want to keep active on the Twister when FX are mapped on the X-Touch.

Hope that made sense.
Yeah, that's really part of the whole Broadcast/Receive discussion we need to have.
__________________
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; 07-13-2023 at 11:51 AM.
Geoff Waddington is offline   Reply With Quote
Old 07-13-2023, 11:23 AM   #23489
Geoff Waddington
Human being with feelings
 
Geoff Waddington's Avatar
 
Join Date: Mar 2009
Location: Dartmouth, Nova Scotia
Posts: 11,569
Default

Quote:
Originally Posted by MixMonkey View Post
Question: will this work across the whole C4? I've only got it on row D at the moment.
I think so, try it and let me know
__________________
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 07-13-2023, 12:27 PM   #23490
MixMonkey
Human being with feelings
 
MixMonkey's Avatar
 
Join Date: Sep 2017
Location: London, England.
Posts: 5,003
Default

Quote:
Originally Posted by Geoff Waddington View Post
I think so, try it and let me know
Alas, no. This is my SurfaceFXLayout:
Code:
Zone SurfaceFXLayout
    Rotary       FXParam RingStyle=Dot
    DisplayUpper FixedTextDisplay
    DisplayLower FXParamValueDisplay    
ZoneEnd

#WidgetTypes Rotary RotaryPush
#RingStyles Dot Fill BoostCut Spread
#DisplayRows DisplayUpper DisplayLower
...and this is the FXLayout:
Code:
Zone FXLayouts
    "" "D" 8
    "" "C" 8
    "" "B" 8
ZoneEnd
Only row D will learn anything.
MixMonkey is offline   Reply With Quote
Old 07-13-2023, 12:43 PM   #23491
Funkybot
Human being with feelings
 
Funkybot's Avatar
 
Join Date: Jul 2007
Location: New Joisey
Posts: 6,143
Default

Quote:
Originally Posted by MixMonkey View Post
Alas, no. This is my SurfaceFXLayout:
Code:
Zone SurfaceFXLayout
    Rotary       FXParam RingStyle=Dot
    DisplayUpper FixedTextDisplay
    DisplayLower FXParamValueDisplay    
ZoneEnd

#WidgetTypes Rotary RotaryPush
#RingStyles Dot Fill BoostCut Spread
#DisplayRows DisplayUpper DisplayLower
...and this is the FXLayout:
Code:
Zone FXLayouts
    "" "D" 8
    "" "C" 8
    "" "B" 8
ZoneEnd
Only row D will learn anything.
MM, you need a new Associated Zone type (don't forget to add to home.zon) called "LearnFXParams". Try this (note the SomeButton actions)...

Code:
Zone "LearnFXParams"

    RotaryA|             LearnFXParam
    RotaryPushA|         LearnFXParam
    DisplayUpperA|       LearnFXParamNameDisplay
    DisplayLowerA|       LearnFXParamValueDisplay

    RotaryB|             LearnFXParam
    RotaryPushB|         LearnFXParam
    DisplayUpperB|       LearnFXParamNameDisplay
    DisplayLowerB|       LearnFXParamValueDisplay

    RotaryC|             LearnFXParam
    RotaryPushC|         LearnFXParam
    DisplayUpperC|       LearnFXParamNameDisplay
    DisplayLowerC|       LearnFXParamValueDisplay

    RotaryD|             LearnFXParam
    RotaryPushD|         LearnFXParam
    DisplayUpperD|       LearnFXParamNameDisplay
    DisplayLowerD|       LearnFXParamValueDisplay

    SomeButton           SaveLearnedFXParams
    SomeButton           GoHome

    SomeOtherButton      EraseLastTouchedFXParam
    YetAnotherButton     RevertToExistingZoneParam
ZoneEnd
__________________
CSI v3 Wiki
Funkybot is online now   Reply With Quote
Old 07-13-2023, 01:38 PM   #23492
Geoff Waddington
Human being with feelings
 
Geoff Waddington's Avatar
 
Join Date: Mar 2009
Location: Dartmouth, Nova Scotia
Posts: 11,569
Default

OK, no pushback, local modifiers check box is history.
__________________
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 07-13-2023, 01:45 PM   #23493
Funkybot
Human being with feelings
 
Funkybot's Avatar
 
Join Date: Jul 2007
Location: New Joisey
Posts: 6,143
Default

All good!
__________________
CSI v3 Wiki
Funkybot is online now   Reply With Quote
Old 07-13-2023, 02:51 PM   #23494
MixMonkey
Human being with feelings
 
MixMonkey's Avatar
 
Join Date: Sep 2017
Location: London, England.
Posts: 5,003
Default

Quote:
Originally Posted by Funkybot View Post
MM, you need a new Associated Zone type (don't forget to add to home.zon) called "LearnFXParams". Try this (note the SomeButton actions)...
Ah! I have the AssociatedZone, I'll add rows B and C to it.
MixMonkey is offline   Reply With Quote
Old 07-13-2023, 04:06 PM   #23495
Geoff Waddington
Human being with feelings
 
Geoff Waddington's Avatar
 
Join Date: Mar 2009
Location: Dartmouth, Nova Scotia
Posts: 11,569
Default

New Exp build is up.

https://stash.reaper.fm/v/42044/CSI%20Exp.zip

Learned Zone should now be available without needing a refresh surfaces.

Added new Action -- ToggleUseLocalModifiers

The check box is gone, it's now dynamic.

FB, discovered an issue in the Buttons Zone.

It has the ClearFXSlot Action.

That won't work because ClearFXSlot takes its context from the Zone it was called from.

So, if called from the Buttons Zone, it will try to deactivate and unload the Buttons Zone.

Fortunately, it won't find Buttons in the FX slots list, and it all works out

However, in my testing I wasn't getting the local modifiers to toggle back to global modifiers when I left the FX Zone, that's how I discovered the issue.

The fix was simple, remove it from the Buttons Zone and put it here:

Code:
Zone FXPrologue
	OnZoneActivation 	ToggleUseLocalModifiers
	OnZoneDeactivation 	ToggleUseLocalModifiers
	LeftDisplay	    	FXNameDisplay Font=4
	RightDisplay 		TrackNameDisplay Font=3
    	OLEDButton8 	    	ClearFXSlot            
    	OLEDButton8 	    	GoHome        DisplayText=Home TopMargin=0 BottomMargin=64 Font=6 ForegroundOn=#ffffffff BackgroundOn=#00ff00ff ForegroundOff=#ffffffff BackgroundOff=#000000ff
ZoneEnd
Pretty subtle stuff, but now everyone that reads this is aware of that subtlety
__________________
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 07-13-2023, 05:39 PM   #23496
MixMonkey
Human being with feelings
 
MixMonkey's Avatar
 
Join Date: Sep 2017
Location: London, England.
Posts: 5,003
Default

Quote:
Originally Posted by Geoff Waddington View Post
New Exp build is up.

Learned Zone should now be available without needing a refresh surfaces.

Added new Action -- ToggleUseLocalModifiers
Learned Zone now loads properly.


This works:
Code:
OnInitialization ToggleUseLocalModifiers
I tried this in the LearnFXParams Zone, but no joy:
Code:
Zone LearnFXParams
    RotaryB|            LearnFXParam
    RotaryPushB|        LearnFXParam
    DisplayUpperB|      LearnFXParamNameDisplay
    DisplayLowerB|      LearnFXParamValueDisplay

    RotaryC|            LearnFXParam
    RotaryPushC|        LearnFXParam
    DisplayUpperC|      LearnFXParamNameDisplay
    DisplayLowerC|      LearnFXParamValueDisplay
    
    RotaryD|            LearnFXParam
    RotaryPushD|        LearnFXParam
    DisplayUpperD|      LearnFXParamNameDisplay
    DisplayLowerD|      LearnFXParamValueDisplay
    
    RotaryPushA1        SaveLearnedFXParams
    DisplayUpperA1      FixedTextDisplay SAVE           
    RotaryPushA2        ToggleEraseFXParam
    DisplayUpperA2      FixedTextDisplay ERASE
    RotaryPushA3        RevertToExistingZoneParam
    DisplayUpperA3      FixedTextDisplay REVERT
ZoneEnd
When I learn a parameter, it appears on rows B,C and D. It only saves row D and when it re-loads, the parameter value is on row B, the parameter name is on row C and there's nothing on row D.

If I remove the row B and row C entries in the LearnFXParams Zone, everything works normally.
MixMonkey is offline   Reply With Quote
Old 07-13-2023, 05:56 PM   #23497
Geoff Waddington
Human being with feelings
 
Geoff Waddington's Avatar
 
Join Date: Mar 2009
Location: Dartmouth, Nova Scotia
Posts: 11,569
Default

Quote:
Originally Posted by MixMonkey View Post
Learned Zone now loads properly.
Excellent.

Quote:
Originally Posted by MixMonkey View Post
This works:
Code:
OnInitialization ToggleUseLocalModifiers
Also excellent.

Quote:
Originally Posted by MixMonkey View Post
I tried this in the LearnFXParams Zone, but no joy:
Code:
Zone LearnFXParams
    RotaryB|            LearnFXParam
    RotaryPushB|        LearnFXParam
    DisplayUpperB|      LearnFXParamNameDisplay
    DisplayLowerB|      LearnFXParamValueDisplay

    RotaryC|            LearnFXParam
    RotaryPushC|        LearnFXParam
    DisplayUpperC|      LearnFXParamNameDisplay
    DisplayLowerC|      LearnFXParamValueDisplay
    
    RotaryD|            LearnFXParam
    RotaryPushD|        LearnFXParam
    DisplayUpperD|      LearnFXParamNameDisplay
    DisplayLowerD|      LearnFXParamValueDisplay
    
    RotaryPushA1        SaveLearnedFXParams
    DisplayUpperA1      FixedTextDisplay SAVE           
    RotaryPushA2        ToggleEraseFXParam
    DisplayUpperA2      FixedTextDisplay ERASE
    RotaryPushA3        RevertToExistingZoneParam
    DisplayUpperA3      FixedTextDisplay REVERT
ZoneEnd
When I learn a parameter, it appears on rows B,C and D. It only saves row D and when it re-loads, the parameter value is on row B, the parameter name is on row C and there's nothing on row D.

If I remove the row B and row C entries in the LearnFXParams Zone, everything works normally.
What does your FXLayout look like ?
__________________
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 07-13-2023, 06:00 PM   #23498
MixMonkey
Human being with feelings
 
MixMonkey's Avatar
 
Join Date: Sep 2017
Location: London, England.
Posts: 5,003
Default

Quote:
Originally Posted by Geoff Waddington View Post
What does your FXLayout look like ?
Like this:

Code:
Zone FXLayouts
    "" "B" 8
    "" "C" 8
    "" "D" 8
ZoneEnd
MixMonkey is offline   Reply With Quote
Old 07-14-2023, 06:21 AM   #23499
Geoff Waddington
Human being with feelings
 
Geoff Waddington's Avatar
 
Join Date: Mar 2009
Location: Dartmouth, Nova Scotia
Posts: 11,569
Default

Quote:
Originally Posted by Funkybot View Post
Hi Geoff, I think the Learn mode should build a series of "NoActions" for any unused widgets and modifiers when the maps are saved.
Yes, didn't realize a change I made stopped that from happening, thanks for pointing it out.

Quote:
Originally Posted by Funkybot View Post
Now, I had the Option modifier latched, but just downright forgot I had FineTune assigned to the Rotary and moved the fader (Option+Fader2), which resulted in the filter resonance moving (Fader2, unmodified).
Hmmm...

First off, it should have been assigned to Option+Fader2, since Option was latched.

Second, it is per design that if you had the FineTune param focused, and it was assigned to Option+Rotary2, and then you moved Option+Fader2, it should reassign.

When we discussed this, it was noted that that is how other learn functions do it, makes sense.

Or am I missing the point you're making entirely ?
__________________
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 07-14-2023, 06:24 AM   #23500
Funkybot
Human being with feelings
 
Funkybot's Avatar
 
Join Date: Jul 2007
Location: New Joisey
Posts: 6,143
Default

Quote:
Originally Posted by Geoff Waddington View Post
Hmmm...

First off, it should have been assigned to Option+Fader2, since Option was latched.

...

Or am I missing the point you're making entirely ?
There was no problem in the assignment, I didn't assign it to Option+Fader2. Option+Fader2 only came into play after I had already saved the map and loaded it via the FX Menu. The only problem was that Option+Fader2 was missing the NoAction, so if that gets added back in, it would've been a non-issue. So I think we're good.
__________________
CSI v3 Wiki
Funkybot is online now   Reply With Quote
Old 07-14-2023, 06:50 AM   #23501
Funkybot
Human being with feelings
 
Funkybot's Avatar
 
Join Date: Jul 2007
Location: New Joisey
Posts: 6,143
Default

Geoff, just thinking out loud here, but do we even need a LearnFXParams zone file? Or more specifically: do we need this part?
Code:
Zone "LearnFXParams"
    OnZoneActivation    SetXTouchDisplayColors Yellow
    
    Rotary|             LearnFXParam
    RotaryPush|         LearnFXParam
    Fader|              LearnFXParam
    DisplayUpper|       LearnFXParamNameDisplay
    DisplayLower|       LearnFXParamValueDisplay
Might it be better to just leverage the existing SurfaceFXLayout and FXLayout zones for the available widgets and type?
Code:
Zone SurfaceFXLayout
	Fader FXParam
	DisplayUpper FixedTextDisplay
	DisplayLower FXParamValueDisplay
ZoneEnd

#WidgetTypes Rotary RotaryPush Fader
#RingStyles Dot Fill BoostCut Spread
#DisplayRows DisplayUpper DisplayLower
In my head, the LearnFXParams zone is really only needed to dedicate buttons to the save/write actions and may be able to go down to this:
Code:
Zone "LearnFXParams"
    OnZoneActivation    SetXTouchDisplayColors Yellow
    
    F3                  SaveLearnedFXParams
    F3                  GoHome
    F4                  EraseLastTouchedFXParam
    F5                  RevertToExistingZoneParam
ZoneEnd
...and if those actions could be called from the Buttons.zon, I may not even need that. I only bring this up to reduce any potential redundancy and simplify things.
__________________
CSI v3 Wiki
Funkybot is online now   Reply With Quote
Old 07-14-2023, 07:54 AM   #23502
Geoff Waddington
Human being with feelings
 
Geoff Waddington's Avatar
 
Join Date: Mar 2009
Location: Dartmouth, Nova Scotia
Posts: 11,569
Default

Quote:
Originally Posted by Funkybot View Post
Geoff, just thinking out loud here, but do we even need a LearnFXParams zone file? Or more specifically: do we need this part?
Code:
Zone "LearnFXParams"
    OnZoneActivation    SetXTouchDisplayColors Yellow
    
    Rotary|             LearnFXParam
    RotaryPush|         LearnFXParam
    Fader|              LearnFXParam
    DisplayUpper|       LearnFXParamNameDisplay
    DisplayLower|       LearnFXParamValueDisplay
Might it be better to just leverage the existing SurfaceFXLayout and FXLayout zones for the available widgets and type?
Code:
Zone SurfaceFXLayout
	Fader FXParam
	DisplayUpper FixedTextDisplay
	DisplayLower FXParamValueDisplay
ZoneEnd

#WidgetTypes Rotary RotaryPush Fader
#RingStyles Dot Fill BoostCut Spread
#DisplayRows DisplayUpper DisplayLower
In my head, the LearnFXParams zone is really only needed to dedicate buttons to the save/write actions and may be able to go down to this:
Code:
Zone "LearnFXParams"
    OnZoneActivation    SetXTouchDisplayColors Yellow
    
    F3                  SaveLearnedFXParams
    F3                  GoHome
    F4                  EraseLastTouchedFXParam
    F5                  RevertToExistingZoneParam
ZoneEnd
...and if those actions could be called from the Buttons.zon, I may not even need that. I only bring this up to reduce any potential redundancy and simplify things.
Good point !

I think it's even better to use the Surface layout, no chance of mismatches.

I think we still need the "LearnFXParams" Zone as you described last, I'm runnin' out of controls to assign in the Buttons Zone
__________________
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 07-14-2023, 08:25 AM   #23503
MixMonkey
Human being with feelings
 
MixMonkey's Avatar
 
Join Date: Sep 2017
Location: London, England.
Posts: 5,003
Default

Quote:
Originally Posted by Geoff Waddington View Post
I think we still need the "LearnFXParams" Zone as you described last, I'm runnin' out of controls to assign in the Buttons Zone
Me too
MixMonkey is offline   Reply With Quote
Old 07-14-2023, 09:51 AM   #23504
Geoff Waddington
Human being with feelings
 
Geoff Waddington's Avatar
 
Join Date: Mar 2009
Location: Dartmouth, Nova Scotia
Posts: 11,569
Default

Aha, something programatic I've been struggling with has just resolved itself, thanks to FB.

The question was what to do when folks went "outside the lines".

Now, with the FXLayouts and SurfaceFXLayout defining the boundaries, it simply will not be possible to learn a parameter that will not "fit" into the existing layout structure.

Thanks FB !
__________________
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 07-14-2023, 10:30 AM   #23505
Funkybot
Human being with feelings
 
Funkybot's Avatar
 
Join Date: Jul 2007
Location: New Joisey
Posts: 6,143
Default

Even the sun shines on a dog's behind some days.
__________________
CSI v3 Wiki
Funkybot is online now   Reply With Quote
Old 07-14-2023, 11:12 AM   #23506
MT4U
Human being with feelings
 
MT4U's Avatar
 
Join Date: Jan 2022
Location: Unifield
Posts: 397
Default

Quote:
Originally Posted by Funkybot View Post
Even the sun shines on a dog's behind some days.
Been busy like hell these last weeks, but keeping up with the Forum. Incredible developments, I will do my best to upgrade this weekend and try all the new stuff.

Amazing work as always Geoff!
__________________

CSI_FX
: SubZone based GUI/Automapper for CSI.(UPD:2024-09-04)
Video Demo/Tutorial
Scripts for CSI: Reaper EEL2 scripts to use with CSI
MT4U is offline   Reply With Quote
Old 07-14-2023, 06:57 PM   #23507
jacksoonbrowne
Human being with feelings
 
jacksoonbrowne's Avatar
 
Join Date: Aug 2017
Location: Ottawa, Canada
Posts: 665
Default

When its ready for "prime time" and fully doc'd on the Wiki, I will test out the FX stuff on the X32.

Should be fun
__________________
AKA: Roy Wallingford
jacksoonbrowne is offline   Reply With Quote
Old 07-16-2023, 01:46 PM   #23508
markus@mark7studios
Human being with feelings
 
Join Date: Mar 2023
Posts: 3
Default Avid Artist Mix

Hey everyone!
First of all, thanks for creating this helpful thread!
If this isn't the correct place to post this, I apologise!

I've been struggling to get my Avid Artist Mix to work on Reaper. I followed the handy, informative installation instructions on github, but Reaper and the Artist Mix don't seem to be connecting. I suspect it might have something to do with my lack of understanding of what to input at the 'OSC Surface' setup step. I think I managed to find the 'Remote device IP' under the 'My Surfaces' tab>Show Info of the EuControl application, but it's a weird IP address: 192.168.0.3:49168 - should I input all of that into CSI setup? And I wasn't able to find anything on Send or Receive ports anywhere in the EuControl application - I'm pretty stupid with all things network, so any help or info on where I might be able to find the correct IP details and Port numbers would be greatly appreciated! Thank you, once again
markus@mark7studios is offline   Reply With Quote
Old 07-16-2023, 01:48 PM   #23509
Funkybot
Human being with feelings
 
Funkybot's Avatar
 
Join Date: Jul 2007
Location: New Joisey
Posts: 6,143
Default

Quote:
Originally Posted by markus@mark7studios View Post
Hey everyone!
First of all, thanks for creating this helpful thread!
If this isn't the correct place to post this, I apologise!

I've been struggling to get my Avid Artist Mix to work on Reaper. I followed the handy, informative installation instructions on github, but Reaper and the Artist Mix don't seem to be connecting. I suspect it might have something to do with my lack of understanding of what to input at the 'OSC Surface' setup step. I think I managed to find the 'Remote device IP' under the 'My Surfaces' tab>Show Info of the EuControl application, but it's a weird IP address: 192.168.0.3:49168 - should I input all of that into CSI setup? And I wasn't able to find anything on Send or Receive ports anywhere in the EuControl application - I'm pretty stupid with all things network, so any help or info on where I might be able to find the correct IP details and Port numbers would be greatly appreciated! Thank you, once again
I'm going to reply to this under the Device Setup thread here:

https://forum.cockos.com/showthread....278718&page=20
__________________
CSI v3 Wiki
Funkybot is online now   Reply With Quote
Old 07-16-2023, 06:49 PM   #23510
Geoff Waddington
Human being with feelings
 
Geoff Waddington's Avatar
 
Join Date: Mar 2009
Location: Dartmouth, Nova Scotia
Posts: 11,569
Default

It's getting late and I'm probably overthinking this, but here goes.

CSI will now automatically load an existing auto mapped Zone into learn if one exists.

So far so good.

However, there is no guarantee that the auto mapped Zone has not stopped by Remap before arriving at learn.

It could have something mapped to other Widgets than the default -- e.g. -- something mapped to RotaryPush as well as Rotary.

The original design thinking was to auto override -- if a param was mapped to Rotary, and you pressed RotaryPush, the mapping would adjust accordingly, the param would now be mapped to RotaryPush.

This gets tricky.

I think the easy way out for now is to force the user to erase the Rotary mapping, then remap the param to the RotaryPush.

A bit more clunky, and it doesn't solve all the problems, but it is a bit more workable.

The other approach is to damn the torpedos, full steam ahead, and just allow the auto mapping, let the chips fall where they may.

What do you 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
Geoff Waddington is offline   Reply With Quote
Old 07-16-2023, 08:42 PM   #23511
Funkybot
Human being with feelings
 
Funkybot's Avatar
 
Join Date: Jul 2007
Location: New Joisey
Posts: 6,143
Default

What's the downside in letting the chips fall where they may? Is it a complexity thing?

Part of me thinks, if I auto-mapped, I probably won't go into Learn Mode often. Next step will likely be the Remap window. I think the first time I map a plugin, I'm either going to Automap or Learn. Then further editing would be in the Remap window. But I would be unlikely to shortcut and go from Autmap to Learn. Not sure how helpful that is to you.
__________________
CSI v3 Wiki
Funkybot is online now   Reply With Quote
Old 07-16-2023, 10:36 PM   #23512
Geoff Waddington
Human being with feelings
 
Geoff Waddington's Avatar
 
Join Date: Mar 2009
Location: Dartmouth, Nova Scotia
Posts: 11,569
Default

Quote:
Originally Posted by Funkybot View Post
What's the downside in letting the chips fall where they may? Is it a complexity thing?

Part of me thinks, if I auto-mapped, I probably won't go into Learn Mode often. Next step will likely be the Remap window. I think the first time I map a plugin, I'm either going to Automap or Learn. Then further editing would be in the Remap window. But I would be unlikely to shortcut and go from Autmap to Learn. Not sure how helpful that is to you.
That's pretty much my thinking as well.

Ok, for a first cut, we'll go with the chips fall where they may approach, as that seems the most intuitive from a Ux perspective.

I'm also dumping the Revert Action -- it allowed you to go back to the auto mapped behaviour for a control.

Seems to me it adds needless complexity.

If you go into learn mode with a plugin that is already mapped, it loads automatically,

If you then get into trouble in learn mode reassigning things, just bail without saving

Ok, I'll build that.

[edit] Turned out to be a PITA to do that.
If you learn a param with, say, a Fader, then learn that param with, say, a Rotary, they both control the param.
It's easy to fix, if you want to remove, say, the Fader, just move it, then hit the button mapped to the EraseLastTouchedFXParam Action.
Hmmm... that Action is poorly named, changing it to EraseLastTouchedControl
__________________
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; 07-16-2023 at 11:22 PM.
Geoff Waddington is offline   Reply With Quote
Old 07-17-2023, 05:35 AM   #23513
Geoff Waddington
Human being with feelings
 
Geoff Waddington's Avatar
 
Join Date: Mar 2009
Location: Dartmouth, Nova Scotia
Posts: 11,569
Default

New Exp build is up.

https://stash.reaper.fm/v/42044/CSI%20Exp.zip

First draft of Learn mode.

LearnFXParams now looks like this:

Code:
Zone "LearnFXParams"
    OnZoneActivation	SetXTouchDisplayColors Cyan

    Inputs		SaveLearnedFXParams
    Inputs		GoHome

    AudioInstrument     EraseLastTouchedControl
ZoneEnd
If you map a Widget to a param, then map another Widget to the same param, they will both control that param.

That's what EraseLastTouchedControl is used for.

Just move the control you want to erase and press the button mapped to EraseLastTouchedControl.

Mix, try it with the C4, I think it should work now.

The save does not yet write the Widget properties, just thought I'd get this out there for preliminary testing.

Please let me know what you find.
__________________
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 07-17-2023, 06:04 AM   #23514
Funkybot
Human being with feelings
 
Funkybot's Avatar
 
Join Date: Jul 2007
Location: New Joisey
Posts: 6,143
Default

Quote:
Originally Posted by Geoff Waddington View Post
New Exp build is up.

https://stash.reaper.fm/v/42044/CSI%20Exp.zip

First draft of Learn mode.

LearnFXParams now looks like this:

Code:
Zone "LearnFXParams"
    OnZoneActivation	SetXTouchDisplayColors Cyan

    Inputs		SaveLearnedFXParams
    Inputs		GoHome

    AudioInstrument     EraseLastTouchedControl
ZoneEnd
If you map a Widget to a param, then map another Widget to the same param, they will both control that param.

That's what EraseLastTouchedControl is used for.

Just move the control you want to erase and press the button mapped to EraseLastTouchedControl.

Mix, try it with the C4, I think it should work now.

The save does not yet write the Widget properties, just thought I'd get this out there for preliminary testing.

Please let me know what you find.
Was working well up until Reaper went poof and disappeared.

I was mapping a synth plugin (E-phonic Invader2).

I successfully mapped:

Unmodified faders
Shift faders
Option faders
Control faders
Alt faders
6 of 8 Shift+Option faders (I left two unassigned intentionally)

The crash occurred when I attempted to add a latched Control modifier to Shift+Option (i.e. I was trying to move onto Shift+Option+Control). And there was no warning or indication of the crash. Reaper just spit me out back at the desktop.

Code:
Zone "LearnFXParams"
    OnZoneActivation    SetXTouchDisplayColors Yellow

    F3                  SaveLearnedFXParams
    F3                  GoHome
    F4                  EraseLastTouchedControl

ZoneEnd
Unrelated [to the crash] question on the above .zon: does this utilize the FXPrologue? If yes, shouldn't the SetXTouchDisplayColors be there instead of the LearnFXParams zone? If no, wouldn't it be better to utilize the Prologue/Epilogue zones?

Code:
Zone SurfaceFXLayout
	Fader FXParam
	DisplayUpper FixedTextDisplay
	DisplayLower FXParamValueDisplay
ZoneEnd

#WidgetTypes Rotary RotaryPush Fader
#RingStyles Dot Fill BoostCut Spread
#DisplayRows DisplayUpper DisplayLower
Code:
Zone FXLayouts
     "" "" 8
     "Shift" "" 8
     "Option" "" 8
     "Control" "" 8
     "Alt" "" 8
     "Shift+Option" "" 8
     "Shift+Control" "" 8
     "Shift+Alt" "" 8
     "Option+Control" "" 8
     "Option+Alt" "" 8
     "Control+Alt" "" 8
ZoneEnd
Conclusion: so looking at this, it's clear I'm missing Shift+Option+Control in the FXLayouts. So somewhat understandable that this crashed. But it still shouldn't do that and wasn't doing that in earlier builds. ...where it wasn't using the FXLayout with the missing combinations.

I'll add it to the FXLayouts and try again. I'm sure it'll work this time.

EDIT: I'm thinking undefined modifier combinations should just do nothing in Learn mode. Or, ideal state: CSI allows for all modifier combinations based on the available list of modifiers. Would clean up the FXLayouts.
__________________
CSI v3 Wiki

Last edited by Funkybot; 07-17-2023 at 06:11 AM.
Funkybot is online now   Reply With Quote
Old 07-17-2023, 06:14 AM   #23515
Geoff Waddington
Human being with feelings
 
Geoff Waddington's Avatar
 
Join Date: Mar 2009
Location: Dartmouth, Nova Scotia
Posts: 11,569
Default

Quote:
Originally Posted by Funkybot View Post
Was working well up until Reaper went poof and disappeared.

I was mapping a synth plugin (E-phonic Invader2).

I successfully mapped:

Unmodified faders
Shift faders
Option faders
Control faders
Alt faders
6 of 8 Shift+Option faders (I left two unassigned intentionally)

The crash occurred when I attempted to add a latched Control modifier to Shift+Option (i.e. I was trying to move onto Shift+Option+Control). And there was no warning or indication of the crash. Reaper just spit me out back at the desktop.
Oops, I need to put in a "no colouring outside the lines" check -- aka you can't map outside of what you define in FXLayouts.


Quote:
Originally Posted by Funkybot View Post
Unrelated [to the crash] question on the above .zon: does this utilize the FXPrologue? If yes, shouldn't the SetXTouchDisplayColors be there instead of the LearnFXParams zone? If no, wouldn't it be better to utilize the Prologue/Epilogue zones?
Is does indeed use FXPrologue, the colour statement here simply sets the colour of the LearnFXParams Zone itself, not the resulting map.

[edit] I see you came to the same conclusion re: undefined modifier combinations as I was typing
__________________
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; 07-17-2023 at 06:44 AM.
Geoff Waddington is offline   Reply With Quote
Old 07-17-2023, 06:25 AM   #23516
Funkybot
Human being with feelings
 
Funkybot's Avatar
 
Join Date: Jul 2007
Location: New Joisey
Posts: 6,143
Default

Quote:
Originally Posted by Geoff Waddington View Post
Oops, I need to put in a "no colouring outside the lines" check -- aka you can't map outside of what you define in FXLayouts.
Glad I was the first to do something dumb and expose an issue before someone else found it.

Quote:
Originally Posted by Geoff Waddington View Post
Is does indeed use FXPrologue, the colour statement here simply sets the colour of the LearnFXParams Zone itself, not the resulting map.
Ah, that makes perfect sense now!

Side thought: from my particular vantage point in relation to the X-Touch, the yellow has very good legibility/contrast.
__________________
CSI v3 Wiki
Funkybot is online now   Reply With Quote
Old 07-17-2023, 06:35 AM   #23517
Geoff Waddington
Human being with feelings
 
Geoff Waddington's Avatar
 
Join Date: Mar 2009
Location: Dartmouth, Nova Scotia
Posts: 11,569
Default

Quote:
Originally Posted by Funkybot View Post
Glad I was the first to do something dumb and expose an issue before someone else found it.
Me too

It was actually me who did something dumb

Quote:
Originally Posted by Funkybot View Post
Ah, that makes perfect sense now!

Side thought: from my particular vantage point in relation to the X-Touch, the yellow has very good legibility/contrast.
Yeah, Yellow and Cyan get used a lot around 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

Last edited by Geoff Waddington; 07-17-2023 at 06:44 AM.
Geoff Waddington is offline   Reply With Quote
Old 07-17-2023, 06:42 AM   #23518
Geoff Waddington
Human being with feelings
 
Geoff Waddington's Avatar
 
Join Date: Mar 2009
Location: Dartmouth, Nova Scotia
Posts: 11,569
Default

New Exp build is up.

https://stash.reaper.fm/v/42044/CSI%20Exp.zip

Fix for crash reported by FB.

Grrr, hate crashes !
__________________
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 07-17-2023, 06:44 AM   #23519
Funkybot
Human being with feelings
 
Funkybot's Avatar
 
Join Date: Jul 2007
Location: New Joisey
Posts: 6,143
Default

If anyone wants a handy-dandy list of all the modifier permutations (or we just want to include this in the support files for the X-Touch so undefined combinations are a non-issue despite the upcoming fix), here's the full list:

Code:
Zone FXLayouts
     "" "" 8
     "Shift" "" 8
     "Option" "" 8
     "Control" "" 8
     "Alt" "" 8
     "Shift+Option" 8
     "Shift+Control" "" 8
     "Shift+Alt" "" 8
     "Shift+Option+Control" "" 8
     "Shit+Option+Contro+Alt" "" 8
     "Shift+Control+Alt" "" 8
     "Shift+Option+Alt" "" 8
     "Option+Control" "" 8
     "Option+Alt" "" 8
     "Option+Control+Alt" "" 8
     "Control+Alt" "" 8
ZoneEnd
__________________
CSI v3 Wiki
Funkybot is online now   Reply With Quote
Old 07-17-2023, 06:46 AM   #23520
Geoff Waddington
Human being with feelings
 
Geoff Waddington's Avatar
 
Join Date: Mar 2009
Location: Dartmouth, Nova Scotia
Posts: 11,569
Default

Quote:
Originally Posted by Funkybot View Post
If anyone wants a handy-dandy list of all the modifier permutations (or we just want to include this in the support files for the X-Touch so undefined combinations are a non-issue despite the upcoming fix), here's the full list:

Code:
Zone FXLayouts
     "" "" 8
     "Shift" "" 8
     "Option" "" 8
     "Control" "" 8
     "Alt" "" 8
     "Shift+Option" 8
     "Shift+Control" "" 8
     "Shift+Alt" "" 8
     "Shift+Option+Control" "" 8
     "Shit+Option+Contro+Alt" "" 8
     "Shift+Control+Alt" "" 8
     "Shift+Option+Alt" "" 8
     "Option+Control" "" 8
     "Option+Alt" "" 8
     "Option+Control+Alt" "" 8
     "Control+Alt" "" 8
ZoneEnd
Thanks, the only issue with including it is the humungous files that modifier set will generate

[edit] Just did the math -- over 1600 lines
__________________
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 07:27 PM.


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