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

Reply
 
Thread Tools Display Modes
Old 02-17-2020, 09:09 AM   #6681
Cragster
Human being with feelings
 
Join Date: Apr 2019
Location: Quakertown PA USA
Posts: 532
Default

Is there a way to have the shift/control/option/alt buttons stay lit when your in that mode ? right now mine light up wen i hold them to do a quick modify command but go out when i let go and on quick press to enter that mode they dont light and in some plugins i have to go in to shift mode and it would be great if the buttons stayed lit while i was in that mode so i know where im at. i tried adding the second FB_TwoState line and that didnt work either maybe its just the way the buttons are on my surface ? anyway here is what i have in my mst
Code:
Widget Shift
	Press 90 46 7f 90 46 00
WidgetEnd

Widget Option
	Press 90 47 7f 90 47 00
WidgetEnd

Widget Control
	Press 90 48 7f 90 48 00
WidgetEnd

Widget Alt
	Press 90 49 7f 90 49 00
WidgetEnd
thanks all !!
Cragster is offline   Reply With Quote
Old 02-17-2020, 09:18 AM   #6682
MixMonkey
Human being with feelings
 
MixMonkey's Avatar
 
Join Date: Sep 2017
Location: London, England.
Posts: 1,774
Default

On a bit of a roll today

Just discovered that this works as well:
Code:
Shift+RotaryPushD|              Reaper "_S&M_FXBYP|"
Option+RotaryPushD|             Reaper "_S&M_FXOFF|"
Modifiers didn't use to work in the FX menu, now they do
MixMonkey is offline   Reply With Quote
Old 02-17-2020, 09:28 AM   #6683
Funkybot
Human being with feelings
 
Join Date: Jul 2007
Posts: 1,734
Default

Quote:
Originally Posted by Cragster View Post
Is there a way to have the shift/control/option/alt buttons stay lit when your in that mode ? right now mine light up wen i hold them to do a quick modify command but go out when i let go and on quick press to enter that mode they dont light and in some plugins i have to go in to shift mode and it would be great if the buttons stayed lit while i was in that mode so i know where im at. i tried adding the second FB_TwoState line and that didnt work either maybe its just the way the buttons are on my surface ? anyway here is what i have in my mst

I'm not sure I get your request. You're only in Shift mode as long as you're holding down the modifier. So the button should only be lit while it's being held down. If it stayed on when not shifting, that would be confusing.

Are you also using your Shift as a toggle button for some plugin parameters and two-state feedback isn't working? If that's what you're looking to do, you'd definitely need the feedback line for it to have any chance of working.

FB_TwoState 90 46 7f 90 46 00
Funkybot is online now   Reply With Quote
Old 02-17-2020, 09:31 AM   #6684
MixMonkey
Human being with feelings
 
MixMonkey's Avatar
 
Join Date: Sep 2017
Location: London, England.
Posts: 1,774
Default

Quote:
Originally Posted by Funkybot View Post
I'm not sure I get your request. You're only in Shift mode as long as you're holding down the modifier. So the button should only be lit while it's being held down. If it stayed on when not shifting, that would be confusing.

Are you also using your Shift as a toggle button for some plugin parameters and two-state feedback isn't working? If that's what you're looking to do, you'd definitely need the feedback line for it to have any chance of working.

FB_TwoState 90 46 7f 90 46 00
He's talking about the quick press that makes the modifier latch.
MixMonkey is offline   Reply With Quote
Old 02-17-2020, 09:34 AM   #6685
Cragster
Human being with feelings
 
Join Date: Apr 2019
Location: Quakertown PA USA
Posts: 532
Default

Quote:
Originally Posted by Funkybot View Post
I'm not sure I get your request. You're only in Shift mode as long as you're holding down the modifier. So the button should only be lit while it's being held down. If it stayed on when not shifting, that would be confusing.

Are you also using your Shift as a toggle button for some plugin parameters and two-state feedback isn't working? If that's what you're looking to do, you'd definitely need the feedback line for it to have any chance of working.

FB_TwoState 90 46 7f 90 46 00
if you quick press one of the modifier buttons it stays in that mode without holding it down,quick press again and it leaves that modifier mode. i learned that from Geoff.so while im in say shift mode i want the shift button to stay lit
Cragster is offline   Reply With Quote
Old 02-17-2020, 09:35 AM   #6686
Funkybot
Human being with feelings
 
Join Date: Jul 2007
Posts: 1,734
Default

Quote:
Originally Posted by MixMonkey View Post
He's talking about the quick press that makes the modifier latch.
Holy crap! Do you know if you quick press the modifier latches? I literally just found that out!!!

No seriously, thanks MixMonkey. I had no idea.

Cragster, so now that I tried this out, it works here. The button stays lit in latch mode.


Code:
Widget Shift
	Press 90 46 7f 90 46 00
	FB_TwoState 90 46 7f 90 46 00
WidgetEnd
If you're seeing different, it may just be the surface I guess? The X-Touch One seems to have two-state feedback for all buttons.
Funkybot is online now   Reply With Quote
Old 02-17-2020, 09:39 AM   #6687
Cragster
Human being with feelings
 
Join Date: Apr 2019
Location: Quakertown PA USA
Posts: 532
Default

Quote:
Originally Posted by Funkybot View Post
Holy crap! Do you know if you quick press the modifier latches? I literally just found that out!!!

No seriously, thanks MixMonkey. I had no idea.

Cragster, so now that I tried this out, it works here. The button stays lit in latch mode.


Code:
Widget Shift
	Press 90 46 7f 90 46 00
	FB_TwoState 90 46 7f 90 46 00
WidgetEnd
If you're seeing different, it may just be the surface I guess? The X-Touch One seems to have two-state feedback for all buttons.
isnt it great how we all still learn something new evryday with CSI !!!
Cragster is offline   Reply With Quote
Old 02-17-2020, 09:40 AM   #6688
Funkybot
Human being with feelings
 
Join Date: Jul 2007
Posts: 1,734
Default

So if I setup the X-Touch One in "Selected Track" mode, navigation is a little lacking because you don't want to go one track at a time to navigate around in a large project.

So I created a custom action to simulate banking:



It seems to work.

My question is this: is this bad? Reaper isn't so much jumping up 8 tracks as it is immediately going up 8 tracks one after the other in immediate succession. A banking hack if you will. I'm wondering if this is a lot of data to try to send to a surface and could cause issues.
Attached Images
File Type: png 8TracksUp.png (4.0 KB, 168 views)
Funkybot is online now   Reply With Quote
Old 02-17-2020, 09:41 AM   #6689
Cragster
Human being with feelings
 
Join Date: Apr 2019
Location: Quakertown PA USA
Posts: 532
Default

Quote:
Originally Posted by Funkybot View Post
Holy crap! Do you know if you quick press the modifier latches? I literally just found that out!!!

No seriously, thanks MixMonkey. I had no idea.

Cragster, so now that I tried this out, it works here. The button stays lit in latch mode.


Code:
Widget Shift
	Press 90 46 7f 90 46 00
	FB_TwoState 90 46 7f 90 46 00
WidgetEnd
If you're seeing different, it may just be the surface I guess? The X-Touch One seems to have two-state feedback for all buttons.
yes i tried the twostate .it must just be how my surface is. thanks man
Cragster is offline   Reply With Quote
Old 02-17-2020, 09:41 AM   #6690
Funkybot
Human being with feelings
 
Join Date: Jul 2007
Posts: 1,734
Default

Quote:
Originally Posted by Cragster View Post
isnt it great how we all still learn something new evryday with CSI !!!
It really is.
Funkybot is online now   Reply With Quote
Old 02-17-2020, 09:46 AM   #6691
Cragster
Human being with feelings
 
Join Date: Apr 2019
Location: Quakertown PA USA
Posts: 532
Default

Quote:
Originally Posted by Funkybot View Post
It really is.
yes i got that one from Geoff a while back and i was like holy crap too !! haha
Cragster is offline   Reply With Quote
Old 02-17-2020, 09:46 AM   #6692
Cragster
Human being with feelings
 
Join Date: Apr 2019
Location: Quakertown PA USA
Posts: 532
Default

Quote:
Originally Posted by Cragster View Post
yes i got that one from Geoff a while back and i was like holy crap too !! haha
just wish it would stay lit. that would make it perfect
Cragster is offline   Reply With Quote
Old 02-17-2020, 10:17 AM   #6693
MixMonkey
Human being with feelings
 
MixMonkey's Avatar
 
Join Date: Sep 2017
Location: London, England.
Posts: 1,774
Default

Quote:
Originally Posted by Cragster View Post
yes i tried the twostate .it must just be how my surface is. thanks man
This works for me, if I make shift a button with an LED. I don't see why it wouldn't work on the IconProX.

When Reaper isn't running, do the buttons light up when you press them?
MixMonkey is offline   Reply With Quote
Old 02-17-2020, 10:30 AM   #6694
MixMonkey
Human being with feelings
 
MixMonkey's Avatar
 
Join Date: Sep 2017
Location: London, England.
Posts: 1,774
Default

Actually, this got me thinking. As my modifiers don't light up, I've included this in my MCU Buttons Zone:
Code:
Solo                    NoAction
Shift+Solo		Reaper "65535"  // No op
Option+Solo		Reaper "65535"
Control+Solo		Reaper "65535"
Alt+Solo		Reaper "65535"
Now, whenever I use a modifier, the Solo button lights up (the one above the Record button, not the channel Solo button)

Handy to know when your modifier is latched
MixMonkey is offline   Reply With Quote
Old 02-17-2020, 10:39 AM   #6695
WaveTrans
Human being with feelings
 
Join Date: Aug 2019
Location: Forest City
Posts: 214
Default

Quote:
Originally Posted by MixMonkey View Post
Geoff, just tried this and it works a treat! Now when I select an FX slot from the FX menu, the corresponding FX window opens! SWEET! Thanks a million!

ps Toggle+ is working again in FX context, thanks
So double assignments work now?

I remember faintly that there was advice against their use due to uncertain function a couple of weeks ago?
WaveTrans is offline   Reply With Quote
Old 02-17-2020, 10:46 AM   #6696
MixMonkey
Human being with feelings
 
MixMonkey's Avatar
 
Join Date: Sep 2017
Location: London, England.
Posts: 1,774
Default

Quote:
Originally Posted by WaveTrans View Post
So double assignments work now?

I remember faintly that there was advice against their use due to uncertain function a couple of weeks ago?
The uncertainty was due to conflict between feedback processors, which caused flickering of the LED. I know Geoff was preparing a solution where only the first assignment would generate feedback, not sure whether it was implemented yet though.

With CSI, I generally try things out and see if it works first, then look out for issues afterwards. Naturally ymmv
MixMonkey is offline   Reply With Quote
Old 02-17-2020, 11:30 AM   #6697
Cragster
Human being with feelings
 
Join Date: Apr 2019
Location: Quakertown PA USA
Posts: 532
Default

Quote:
Originally Posted by MixMonkey View Post
Actually, this got me thinking. As my modifiers don't light up, I've included this in my MCU Buttons Zone:
Code:
Solo                    NoAction
Shift+Solo		Reaper "65535"  // No op
Option+Solo		Reaper "65535"
Control+Solo		Reaper "65535"
Alt+Solo		Reaper "65535"
Now, whenever I use a modifier, the Solo button lights up (the one above the Record button, not the channel Solo button)

Handy to know when your modifier is latched
hmm i like what u did there i think ill try that. i got a few possible buttons on top my surface that could do the job .i dont know some of my buttons will light on and off when pressed and unpressed. some when i have the FB_TwoState line in the mst just stay light all the time and some only light while your holding them down ( as is my modifier buttons)
Cragster is offline   Reply With Quote
Old 02-17-2020, 12:22 PM   #6698
WaveTrans
Human being with feelings
 
Join Date: Aug 2019
Location: Forest City
Posts: 214
Default

Quote:
Originally Posted by MixMonkey View Post
The uncertainty was due to conflict between feedback processors, which caused flickering of the LED. I know Geoff was preparing a solution where only the first assignment would generate feedback, not sure whether it was implemented yet though.

With CSI, I generally try things out and see if it works first, then look out for issues afterwards. Naturally ymmv
Yes, it was the flickering lights that gave rise to concern.

Had double assigns for weeks before that issue came up.

But as you say, experimenting is everything in this state...

I`ll put them in again.
WaveTrans is offline   Reply With Quote
Old 02-17-2020, 12:30 PM   #6699
MixMonkey
Human being with feelings
 
MixMonkey's Avatar
 
Join Date: Sep 2017
Location: London, England.
Posts: 1,774
Default

Quote:
Originally Posted by WaveTrans View Post
Yes, it was the flickering lights that gave rise to concern.

Had double assigns for weeks before that issue came up.

But as you say, experimenting is everything in this state...

I`ll put them in again.
I think the ones to be wary of when double assigning are the Reaper Actions that generate feedback. I'm not absolutely positive, but I think these are the ones with an entry in the 'State' column in the action list (ie 'off or 'on')
MixMonkey is offline   Reply With Quote
Old 02-17-2020, 12:51 PM   #6700
Geoff Waddington
Human being with feelings
 
Geoff Waddington's Avatar
 
Join Date: Mar 2009
Location: Dartmouth, Nova Scotia
Posts: 5,565
Default

Should be no more worries with double assignment.

CSI now provides feedback to the surface from the first Action only, all other Action updates from Reaper are ignored -- aka -- double, triple, quadruple assign away to your hearts content
Geoff Waddington is offline   Reply With Quote
Old 02-17-2020, 02:58 PM   #6701
WaveTrans
Human being with feelings
 
Join Date: Aug 2019
Location: Forest City
Posts: 214
Default

Quote:
Originally Posted by Geoff Waddington View Post
Should be no more worries with double assignment.

CSI now provides feedback to the surface from the first Action only, all other Action updates from Reaper are ignored -- aka -- double, triple, quadruple assign away to your hearts content
Excellent!

Cheers!
WaveTrans is offline   Reply With Quote
Old 02-17-2020, 05:39 PM   #6702
Dberman
Human being with feelings
 
Join Date: Jan 2020
Posts: 28
Default

Quote:
Originally Posted by Funkybot View Post

dberman, I think this is a bit part of why we couldn't get the MCU Std or MCU User mode working in the past. Bizarre that Behringer didn't just hardwire the track fader to Fader1 in MCU Std and MCU User modes.
Funkybot, that explains a lot. I'm having the same issue in Cubase mode -- no way to map the rotary push. Behringer is famous for buying cool technology and branding it. I wonder if they got the X-Touch code and decided it was good enough. After all this, I'm thinking I returned my X-Touch Mini too soon -- I thought the One would be easier!
Dberman is offline   Reply With Quote
Old 02-17-2020, 05:50 PM   #6703
Funkybot
Human being with feelings
 
Join Date: Jul 2007
Posts: 1,734
Default

Quote:
Originally Posted by Dberman View Post
Funkybot, that explains a lot. I'm having the same issue in Cubase mode -- no way to map the rotary push. Behringer is famous for buying cool technology and branding it. I wonder if they got the X-Touch code and decided it was good enough. After all this, I'm thinking I returned my X-Touch Mini too soon -- I thought the One would be easier!
RotaryPush works here (for switching the rotary between Pan and PanWidth) in Cubase Mode (all the DAW modes really). It's the MCU Std mode where I have issues.

Here's my X-Touch_One.zon for Cubase mode.
Code:
/uses MCU Cubase template

Zone Home
	OnTrackSelection MapSelectedTrackSendsToWidgets
	IncludedZones
		"SelChannelButtons|"
		"GlobalButtons|"
		"Channel|1-8"
		"MasterChannel|"
		"JogWheelHack|"
	IncludedZonesEnd
ZoneEnd

Zone "SelChannelButtons|"
	SelectedTrackNavigator
	F1 				TrackAutoMode 1 	//Read
	F2 				TrackAutoMode 3 	//Write
	F3 				TrackAutoMode 0 	//Trim
	F4 				TrackAutoMode 2 	//touch
	Read				TrackAutoMode 4 	//Latch
ZoneEnd

Zone "GlobalButtons|"
	Zoom				Shift	
	BankLeft 			TrackBank "-8"
	BankRight 			TrackBank "8"
        ChannelLeft 			TrackBank "-1"
	ChannelRight			TrackBank "1"
	Rewind 				Rewind
	Shift+Rewind			Reaper 40042		//go to start of project
	FastForward			FastForward
	Shift+FastForward		Reaper 40043		//go to end of project
	Stop 				Stop
	Play 				Play
	Shift+Play			Reaper 1068		//Toggle repeat
	Record 				Record
	Write 				Reaper 40364 		//toggle click
	Shift				Reaper 40078		//open mixer 
	Option				Reaper 40271		//open FX Browser
	Cycle 				Reaper _S&M_TOGLFXCHAIN	//SWS/S&M: Toggle show FX chain windows for selected tracks
        Drop				Reaper 40293		//Track io routing view
	Replace				Reaper 40172 		//go to previous marker or project start
	Click				Reaper 40171		//Insert marker at current or edit position
	Solo				Reaper 40173 		//go to next marker or project end
	Scrub 				Reaper 40029		//undo
	Shift+Scrub			Reaper 40030		//redo				
	smpteBeats 			CycleTimeDisplayModes
	TimeDisplay 			TimeDisplay				
	Up 				Reaper 40111		//zoom in vertical
	Down				Reaper 40112		//zoom out vertical
	Right 				Reaper 41042		//Move edit cursor forward 1 measure
	Left 				Reaper 41043		//Move edit cursor back 1 measure
	Shift+Left			Reaper 1011		//zoom out horizontal
	Shift+Right			Reaper 1012		//zoom in horizontal
	Shift+Down			Reaper 40727		//minimize all tracks
	Shift+Up 			Reaper 40113		//toggle track height to maximum
	
ZoneEnd

Zone "Channel|"
	TrackNavigator
	DisplayUpper|  			TrackNameDisplay
	DisplayLower| 			TrackPanDisplay
	TrackTouch+DisplayLower| 	TrackVolumeDisplay
	Rotary| 			TrackPan "0"
	RotaryPush| 			GoZone PanWidth|
	Solo|				TrackSolo
	Mute|				TrackMute
	RecordArm| 			TrackRecordArm
	Shift+RecordArm|		Reaper 40495		//Cycle track record monitor
	Select|				TrackUniqueSelect
	Fader|  			TrackVolume
	FaderTouch|  			TrackTouch
	VUMeter|			TrackOutputMeter
ZoneEnd

Zone "MasterChannel|"
	MasterTrackNavigator
	MasterFader 			TrackVolume
ZoneEnd

Zone "Pan|1-8"
	TrackNavigator
	Rotary| 	TrackPan "0"
	DisplayUpper|  	TrackNameDisplay
	DisplayLower| 	TrackPanDisplay
	RotaryPush| 	GoZone PanWidth|
ZoneEnd

Zone "PanWidth|1-8"
	TrackNavigator
	Rotary| 	TrackPanWidth "1"
	DisplayUpper|  	TrackNameDisplay
	DisplayLower|	TrackPanWidthDisplay
	RotaryPush| 	GoZone Pan|
ZoneEnd

Zone "JogWheelHack|"
	JogWheelRotaryCW 		Reaper 40140
	JogWheelRotaryCW2 		Reaper 40140
	JogWheelRotaryCW3 		Reaper 40140
	JogWheelRotaryCW4 		Reaper 40140
	JogWheelRotaryCW5 		Reaper 40140
	JogWheelRotaryCW6 		Reaper 40140
	JogWheelRotaryCW7 		Reaper 40140

	JogWheelRotaryCCW 		Reaper 40141
	JogWheelRotaryCCW2 		Reaper 40141
	JogWheelRotaryCCW3 		Reaper 40141
	JogWheelRotaryCCW4 		Reaper 40141
	JogWheelRotaryCCW5 		Reaper 40141
	JogWheelRotaryCCW6 		Reaper 40141
	JogWheelRotaryCCW7 		Reaper 40141
ZoneEnd
Maybe you can compare and try that out. If you're looking for RotaryPush to do something else, let me know.
Funkybot is online now   Reply With Quote
Old 02-17-2020, 06:59 PM   #6704
MixMonkey
Human being with feelings
 
MixMonkey's Avatar
 
Join Date: Sep 2017
Location: London, England.
Posts: 1,774
Default

Quote:
Originally Posted by Funkybot View Post
RotaryPush works here (for switching the rotary between Pan and PanWidth) in Cubase Mode (all the DAW modes really). It's the MCU Std mode where I have issues.

Here's my X-Touch_One.zon for Cubase mode.
Code:
/uses MCU Cubase template

Zone Home
	OnTrackSelection MapSelectedTrackSendsToWidgets
	IncludedZones
		"SelChannelButtons|"
		"GlobalButtons|"
		"Channel|1-8"
		"MasterChannel|"
		"JogWheelHack|"
	IncludedZonesEnd
ZoneEnd

Zone "SelChannelButtons|"
	SelectedTrackNavigator
	F1 				TrackAutoMode 1 	//Read
	F2 				TrackAutoMode 3 	//Write
	F3 				TrackAutoMode 0 	//Trim
	F4 				TrackAutoMode 2 	//touch
	Read				TrackAutoMode 4 	//Latch
ZoneEnd

Zone "GlobalButtons|"
	Zoom				Shift	
	BankLeft 			TrackBank "-8"
	BankRight 			TrackBank "8"
        ChannelLeft 			TrackBank "-1"
	ChannelRight			TrackBank "1"
	Rewind 				Rewind
	Shift+Rewind			Reaper 40042		//go to start of project
	FastForward			FastForward
	Shift+FastForward		Reaper 40043		//go to end of project
	Stop 				Stop
	Play 				Play
	Shift+Play			Reaper 1068		//Toggle repeat
	Record 				Record
	Write 				Reaper 40364 		//toggle click
	Shift				Reaper 40078		//open mixer 
	Option				Reaper 40271		//open FX Browser
	Cycle 				Reaper _S&M_TOGLFXCHAIN	//SWS/S&M: Toggle show FX chain windows for selected tracks
        Drop				Reaper 40293		//Track io routing view
	Replace				Reaper 40172 		//go to previous marker or project start
	Click				Reaper 40171		//Insert marker at current or edit position
	Solo				Reaper 40173 		//go to next marker or project end
	Scrub 				Reaper 40029		//undo
	Shift+Scrub			Reaper 40030		//redo				
	smpteBeats 			CycleTimeDisplayModes
	TimeDisplay 			TimeDisplay				
	Up 				Reaper 40111		//zoom in vertical
	Down				Reaper 40112		//zoom out vertical
	Right 				Reaper 41042		//Move edit cursor forward 1 measure
	Left 				Reaper 41043		//Move edit cursor back 1 measure
	Shift+Left			Reaper 1011		//zoom out horizontal
	Shift+Right			Reaper 1012		//zoom in horizontal
	Shift+Down			Reaper 40727		//minimize all tracks
	Shift+Up 			Reaper 40113		//toggle track height to maximum
	
ZoneEnd

Zone "Channel|"
	TrackNavigator
	DisplayUpper|  			TrackNameDisplay
	DisplayLower| 			TrackPanDisplay
	TrackTouch+DisplayLower| 	TrackVolumeDisplay
	Rotary| 			TrackPan "0"
	RotaryPush| 			GoZone PanWidth|
	Solo|				TrackSolo
	Mute|				TrackMute
	RecordArm| 			TrackRecordArm
	Shift+RecordArm|		Reaper 40495		//Cycle track record monitor
	Select|				TrackUniqueSelect
	Fader|  			TrackVolume
	FaderTouch|  			TrackTouch
	VUMeter|			TrackOutputMeter
ZoneEnd

Zone "MasterChannel|"
	MasterTrackNavigator
	MasterFader 			TrackVolume
ZoneEnd

Zone "Pan|1-8"
	TrackNavigator
	Rotary| 	TrackPan "0"
	DisplayUpper|  	TrackNameDisplay
	DisplayLower| 	TrackPanDisplay
	RotaryPush| 	GoZone PanWidth|
ZoneEnd

Zone "PanWidth|1-8"
	TrackNavigator
	Rotary| 	TrackPanWidth "1"
	DisplayUpper|  	TrackNameDisplay
	DisplayLower|	TrackPanWidthDisplay
	RotaryPush| 	GoZone Pan|
ZoneEnd

Zone "JogWheelHack|"
	JogWheelRotaryCW 		Reaper 40140
	JogWheelRotaryCW2 		Reaper 40140
	JogWheelRotaryCW3 		Reaper 40140
	JogWheelRotaryCW4 		Reaper 40140
	JogWheelRotaryCW5 		Reaper 40140
	JogWheelRotaryCW6 		Reaper 40140
	JogWheelRotaryCW7 		Reaper 40140

	JogWheelRotaryCCW 		Reaper 40141
	JogWheelRotaryCCW2 		Reaper 40141
	JogWheelRotaryCCW3 		Reaper 40141
	JogWheelRotaryCCW4 		Reaper 40141
	JogWheelRotaryCCW5 		Reaper 40141
	JogWheelRotaryCCW6 		Reaper 40141
	JogWheelRotaryCCW7 		Reaper 40141
ZoneEnd
Maybe you can compare and try that out. If you're looking for RotaryPush to do something else, let me know.
Just a wild thought here, but what would happen if you used Cubase mode and defined the surface as :
Code:
"Channel|1-1"
That way CSI would see it as a single fader surface and the fader would output the correct MIDI.
MixMonkey is offline   Reply With Quote
Old 02-17-2020, 07:46 PM   #6705
Funkybot
Human being with feelings
 
Join Date: Jul 2007
Posts: 1,734
Default

Quote:
Originally Posted by MixMonkey View Post
Just a wild thought here, but what would happen if you used Cubase mode and defined the surface as :
Code:
"Channel|1-1"
That way CSI would see it as a single fader surface and the fader would output the correct MIDI.
Interesting...

So it doesn't work with Cubase mode. The X-Touch One's DAW modes use 8 faders, which move internally from fader to fader as soon as you hit channel next. So that means you get the track you want, followed by 7 blank faders as soon as you hit channel select. Which makes sense on an 8 fader surface (which it thinks it is in DAW modes). BUT...

I just tried it on the 1-fader MCU Std mode, and on first glance, it seems to work quite well! I can navigate tracks, bank, shift between pan and pan width zones, etc. That seems like a very clever way to do the same thing I was previously doing with SelectedTrackNavigator but without the hacky workarounds.

Very clever idea!!!

Dberman, if you want to try it out. Get here's the .zon...

Code:
/uses MCU Std mode. If not working, enter one of the MCU DAW modes and hit Channel Select button a few times until fader1 (address e0) is active. Then return to MCU Std mode.

Zone Home
	IncludedZones
		"SelChannelButtons|"
		"GlobalButtons|"
		"Channel|1-1"
		"MasterChannel|"
		"JogWheelHack|"
	IncludedZonesEnd
ZoneEnd

Zone "SelChannelButtons|"
	SelectedTrackNavigator
	F1 				TrackAutoMode 1 	//Read
	F2 				TrackAutoMode 3 	//Write
	F3 				TrackAutoMode 0 	//Trim
	F4 				TrackAutoMode 2 	//touch
	F5				TrackAutoMode 4 	//Latch

ZoneEnd

Zone "GlobalButtons|"
	Zoom				Shift	
	BankLeft 			TrackBank "-8"
	BankRight 			TrackBank "8"
        ChannelLeft 			TrackBank "-1"
	ChannelRight			TrackBank "1"
	Rewind 				Rewind
	Shift+Rewind			Reaper 40042		//go to start of project
	FastForward			FastForward
	Shift+FastForward		Reaper 40043		//go to end of project
	Stop 				Stop
	Play 				Play
	Shift+Play			Reaper 1068		//Toggle repeat
	Record 				Record
	Write 				Reaper 40364 		//toggle click
	Marker 				Reaper 40078		//open mixer (Mix View in S1 mode)
	Shift+Marker			Reaper 40716		//toggle MIDI editor
	Nudge 				Reaper 40271		//open FX Browser
	Cycle 				Reaper _S&M_TOGLFXCHAIN	//SWS/S&M: Toggle show FX chain windows for selected tracks
        Drop				Reaper 40293		//Track io routing view
        Replace				Reaper 40172 		//go to previous marker or project start
	Click 				Reaper 40171		//Insert marker at current or edit position
	Solo				Reaper 40173 		//go to next marker or project end				
	Save 				Reaper 40026		//save project
	Scrub 				Reaper 40029		//undo
	Shift+Scrub			Reaper 40030		//redo
	Up 				Reaper 40111		//zoom in vertical
	Down				Reaper 40112		//zoom out vertical
	Right 				Reaper 41042		//Move edit cursor forward 1 measure
	Left 				Reaper 41043		//Move edit cursor back 1 measure
	Shift+Left			Reaper 1011		//zoom out horizontal
	Shift+Right			Reaper 1012		//zoom in horizontal
	Shift+Down			Reaper 40727		//minimize all tracks
	Shift+Up 			Reaper 40113		//toggle track height to maximum
	F6				Reaper 40364 		//toggle click
	Shift+F6			Reaper _SWS_AWCOUNTRECTOG //toggle: count-in before recording	
ZoneEnd

Zone "Channel|"
	TrackNavigator
	DisplayUpper|  			TrackNameDisplay
	DisplayLower| 			TrackPanDisplay
	TrackTouch+DisplayLower| 	TrackVolumeDisplay
	Rotary| 			TrackPan "0"
	RotaryPush| 			GoZone PanWidth|
	Solo|				TrackSolo
	Mute|				TrackMute
	RecordArm| 			TrackRecordArm
	Shift+RecordArm|		Reaper 40495		//Cycle track record monitor
	Select|				TrackUniqueSelect
	Fader|  			TrackVolume
	FaderTouch|  			TrackTouch
	VUMeter|			TrackOutputMeter
ZoneEnd

Zone "MasterChannel|"
	MasterTrackNavigator
	MasterFader 			TrackVolume
ZoneEnd


Zone "PanWidth|1-1"
	TrackNavigator
	Rotary| 	TrackPanWidth "1"
	DisplayUpper|  	TrackNameDisplay
	DisplayLower|	TrackPanWidthDisplay
	RotaryPush| 	GoZone Home
ZoneEnd

Zone "JogWheelHack|"
	JogWheelRotaryCW 		Reaper 40140
	JogWheelRotaryCW2 		Reaper 40140
	JogWheelRotaryCW3 		Reaper 40140
	JogWheelRotaryCW4 		Reaper 40140
	JogWheelRotaryCW5 		Reaper 40140
	JogWheelRotaryCW6 		Reaper 40140
	JogWheelRotaryCW7 		Reaper 40140

	JogWheelRotaryCCW 		Reaper 40141
	JogWheelRotaryCCW2 		Reaper 40141
	JogWheelRotaryCCW3 		Reaper 40141
	JogWheelRotaryCCW4 		Reaper 40141
	JogWheelRotaryCCW5 		Reaper 40141
	JogWheelRotaryCCW6 		Reaper 40141
	JogWheelRotaryCCW7 		Reaper 40141
ZoneEnd
EDIT
Made some edits to correct some widget names after transfering from Cubase mode to STD.

Last edited by Funkybot; 02-17-2020 at 09:48 PM.
Funkybot is online now   Reply With Quote
Old 02-18-2020, 06:56 AM   #6706
cjewellstudios
Human being with feelings
 
Join Date: Sep 2017
Posts: 476
Default

Quote:
Originally Posted by Geoff Waddington View Post
You're working way too hard

Just use the same .mst and .zon files for both.


>>>>>>>>>>.

This rant is for everyone, not directed at the OP, and will not cease until all mention of cc's, pitch bends, velocities, etc. disappear

Hey Geoff!

Many thanks for your advice. Worked like a charm. As a quick aside, this isn't the first time I've prompted a rant but I hope it's the last My apologies

There's a couple bumps in the road ahead I see with the setup I have now.

1. Since I'm using the same mst and zon file for both twisters, when mapping fx parameters, is there a way I can call the 2nd surface?

2. Since I have effectively an 8x4 grid setup, I'd like to have the first row of 8 be tracks 1-8. But I don't really see how I can do this using the same surface file.

***my csi newbie brain says that I should just make the second twister send unique control messages and make one big surface file so I can lay the track controls across both of them, but I maybe working too hard
cjewellstudios is online now   Reply With Quote
Old 02-18-2020, 07:17 AM   #6707
MixMonkey
Human being with feelings
 
MixMonkey's Avatar
 
Join Date: Sep 2017
Location: London, England.
Posts: 1,774
Default

Quote:
Originally Posted by cjewellstudios View Post
1. Since I'm using the same mst and zon file for both twisters, when mapping fx parameters, is there a way I can call the 2nd surface?
Same .mst for both. Different .zon folders, say MFT_A and MFT_B. Any FX maps you put in each folder will map to the respective surface. I have 2 x BCR2000 and map synths across both like this. Obviously, it's down to you to divide the FX parameters for any given plugin between the surfaces. As each FX.zon file will contain the same plugin name, they will map simultaneously when called.

Quote:
2. Since I have effectively an 8x4 grid setup, I'd like to have the first row of 8 be tracks 1-8. But I don't really see how I can do this using the same surface file.
see next post...

Last edited by MixMonkey; 02-18-2020 at 07:24 AM.
MixMonkey is offline   Reply With Quote
Old 02-18-2020, 07:23 AM   #6708
MixMonkey
Human being with feelings
 
MixMonkey's Avatar
 
Join Date: Sep 2017
Location: London, England.
Posts: 1,774
Default

Quote:
2. Since I have effectively an 8x4 grid setup, I'd like to have the first row of 8 be tracks 1-8. But I don't really see how I can do this using the same surface file.
Actually, ignore that second part of my previous post. If you have two surfaces in the CSI prefs, they'll both be:

Code:
"Channel|1-4"
and CSI will span 8 tracks across them.
MixMonkey is offline   Reply With Quote
Old 02-18-2020, 07:25 AM   #6709
Funkybot
Human being with feelings
 
Join Date: Jul 2007
Posts: 1,734
Default

Don't worry about having to create different .mst's or having the devices send unique messages. You have have 5 different copies of the same controllers, doing 5 different things or working in tandem using the same .mst files. CSI keeps track of what's what.

Quote:
Originally Posted by cjewellstudios View Post
Hey Geoff!

Many thanks for your advice. Worked like a charm. As a quick aside, this isn't the first time I've prompted a rant but I hope it's the last My apologies

There's a couple bumps in the road ahead I see with the setup I have now.

1. Since I'm using the same mst and zon file for both twisters, when mapping fx parameters, is there a way I can call the 2nd surface?
What do you mean by call the second surface? Do you want to use both simultaneously or do you want to switch between surface one and two?

Let's say you want to use both simultaneously. Try this:

1. Create two MFTwister folders within your CSI\Zones folder. Call them MFTwister_1 and MFTwister_2. Put the main MFTwister.zon file in both, setup CSI to use both folders, but we'll try to do is use different fx.zon files for the different mappings. For instance...

2. For MFTwsiter_1, create the fx.zon mapping plugin parameters to the first instance as you want.

3. Now in the MFTwister_2 folder, create a second fx.zon for that same plugin, mapping plugin parameters to the second instance as you want.

...I think that's how you'd map FX between two surfaces at once even though they share the same setup. In that scenario, I believe CSI would map the fx.zon file in the MFTwister_1 zone folders to the first surface, and the do the same for surface 2.

Quote:
Originally Posted by cjewellstudios View Post
2. Since I have effectively an 8x4 grid setup, I'd like to have the first row of 8 be tracks 1-8. But I don't really see how I can do this using the same surface file.

***my csi newbie brain says that I should just make the second twister send unique control messages and make one big surface file so I can lay the track controls across both of them, but I maybe working too hard
Here's where I might modify the .mst (if you're using mine as a starting point). I'd give the widgets meaningful names [to you] for the setup you want just to make it easier to keep track of. The MFTwister can be up to 128 rotary encoders, so naming things just "rotary1" thru "rotary128" will unnecessarily complicate CSI setup down the road, so I'd probably add some logical order to the widget names.

So lets say you want the top row of 4 encoders to be Pan and ShiftPan, and the second row to be volume. In the .mst, I would probably rename the top 4 widgets "Pan1" thru "Pan4" add the shift encoders as "ShiftPan," and then have 4 widgets for the second row called "Fader" (doesn't matter they're encoders not physical faders). Obviously, add the number to the widgets name and increment up.

So now you've got 1x4 for pan/shiftpan, and the 1x4 for volume in your .mst. The corresponding zon file for that setup would look something like like this:

Code:
Zone Home
	IncludedZones
		"Channel|1-4"
	IncludedZonesEnd
ZoneEnd

Zone "Channel|"
	TrackNavigator
	Pan| 		TrackPan "0"
	PanWidth| 	TrackPanWidth "1"
	Fader|  	TrackVolume
ZoneEnd

Now...use that EXACT SAME .mst and .zon file for MFTWister 2. After you add that in CSI, it will assign tracks 1-4 to MFTwister_1 and tracks 5-8 to MFTwister_2. How? Because CSI itself is internally handling what tracks go where via the navigator. It's not going to create two sets of Reaper Tracks 1-4, it's going to create Reaper Tracks 1-4 on the first surface and then be smart enough to put Reaper Tracks 5-8 on the second one.

EDIT
Mixmonkey was typing at the same time I was. At least we're both saying the same thing! Makes me feel better.
Funkybot is online now   Reply With Quote
Old 02-18-2020, 07:27 AM   #6710
Geoff Waddington
Human being with feelings
 
Geoff Waddington's Avatar
 
Join Date: Mar 2009
Location: Dartmouth, Nova Scotia
Posts: 5,565
Default

Quote:
Originally Posted by cjewellstudios View Post
Hey Geoff!

Many thanks for your advice. Worked like a charm. As a quick aside, this isn't the first time I've prompted a rant but I hope it's the last My apologies
No apologies necessary, hope I didn't come across as too harsh, I am Canadian, we don't do that, pretty polite bunch -- well, unless you give us a pair of skates and a hockey stick -- then watch things change dramatically

Glad you're up and running

Quote:
Originally Posted by cjewellstudios View Post
There's a couple bumps in the road ahead I see with the setup I have now.

1. Since I'm using the same mst and zon file for both twisters, when mapping fx parameters, is there a way I can call the 2nd surface?
Yes just point one of the surfaces at a different Zone folder and adjust the folder contents (.zon files) accordingly.

Quote:
Originally Posted by cjewellstudios View Post
2. Since I have effectively an 8x4 grid setup, I'd like to have the first row of 8 be tracks 1-8. But I don't really see how I can do this using the same surface file.

***my csi newbie brain says that I should just make the second twister send unique control messages and make one big surface file so I can lay the track controls across both of them, but I maybe working too hard
CSI makes the big surface file for you.

When this project was started, all of us, including me, concentrated on the .mst file, mistakenly, I might add.

We've since learned all of the action (pun intended ) is in the .zon files.

There are a lot of folks around here much more familiar with your physical hardware than I, maybe post a description of what you are trying to do, I'm pretty sure it's acheivable using CSI.

[Edit]: Whilst I was leisurely replying, look what happened, when I started yours was the last post, what a great community

[Edit]: And yeah, what they said

Last edited by Geoff Waddington; 02-18-2020 at 07:32 AM.
Geoff Waddington is offline   Reply With Quote
Old 02-18-2020, 07:28 AM   #6711
cjewellstudios
Human being with feelings
 
Join Date: Sep 2017
Posts: 476
Default

Quote:
Originally Posted by MixMonkey View Post
Actually, ignore that second part of my previous post. If you have two surfaces in the CSI prefs, they'll both be:

Code:
"Channel|1-4"
and CSI will span 8 tracks across them.
Shoot. I should have included more information.

I actually want 16 tracks across 2 rows laid out like

row 1 = 1-8
row 2 = 9-16

Does that change your advice?

Thank you very much for your help MixMonkey!
cjewellstudios is online now   Reply With Quote
Old 02-18-2020, 07:33 AM   #6712
MixMonkey
Human being with feelings
 
MixMonkey's Avatar
 
Join Date: Sep 2017
Location: London, England.
Posts: 1,774
Default

Quote:
Originally Posted by cjewellstudios View Post
Shoot. I should have included more information.

I actually want 16 tracks across 2 rows laid out like

row 1 = 1-8
row 2 = 9-16

Does that change your advice?

Thank you very much for your help MixMonkey!
Not sure about that one Sounds like you would need 2 channel definitions in IncludedZones; 1-4 and 9-13. I don't know whether you can do that.
MixMonkey is offline   Reply With Quote
Old 02-18-2020, 07:44 AM   #6713
Geoff Waddington
Human being with feelings
 
Geoff Waddington's Avatar
 
Join Date: Mar 2009
Location: Dartmouth, Nova Scotia
Posts: 5,565
Default

Quote:
Originally Posted by cjewellstudios View Post
Shoot. I should have included more information.

I actually want 16 tracks across 2 rows laid out like

row 1 = 1-8
row 2 = 9-16

Does that change your advice?

Thank you very much for your help MixMonkey!
Ah, gotcha', please post your .mst file contents, I think I have a way to do this...
Geoff Waddington is offline   Reply With Quote
Old 02-18-2020, 07:47 AM   #6714
cjewellstudios
Human being with feelings
 
Join Date: Sep 2017
Posts: 476
Default

Quote:
Originally Posted by MixMonkey View Post
Not sure about that one Sounds like you would need 2 channel definitions in IncludedZones; 1-4 and 9-13. I don't know whether you can do that.
Well I'll give all this a shot and find out!

Thanks for everyone's quick responses.

I'm slowly coming around and soon I'll hopefully be as helpful to newbies as you all have been to me.

Also I live a less than a mile (kilometer? ) from Canada and I'm a huge hockey fan so I'm practically Canadian as well
cjewellstudios is online now   Reply With Quote
Old 02-18-2020, 08:11 AM   #6715
Geoff Waddington
Human being with feelings
 
Geoff Waddington's Avatar
 
Join Date: Mar 2009
Location: Dartmouth, Nova Scotia
Posts: 5,565
Default

Motown ?

Actually, upon thinking about this -- CSI can't currently do exactly what you want.

Here's the closest we can get right now:

MFT1 Row 1 -- 1-4
MFT1 Row 2 -- 5-8
MFT2 Row 1 -- 9-12
MFT2 Row 2 -- 13-16

Assuming Widget names like this in your .mst:

Row 1
Code:
RotaryA1
RotaryA2
RotaryA3
RotaryA4
Row 2
Code:
RotaryB1
RotaryB2
RotaryB3
RotaryB4
You could do this:

Code:
Zone Home
    Included Zones
        "ChannelA|1-4"
        "ChannelB|1-4"
    IncludedZoneEnd
Zone End

Zone "ChannelA|"
    TrackNavigator
    RotaryA| TrackVolume
ZoneEnd

Zone "ChannelB|"
    TrackNavigator
    RotaryB| TrackVolume
ZoneEnd

Last edited by Geoff Waddington; 02-18-2020 at 08:19 AM.
Geoff Waddington is offline   Reply With Quote
Old 02-18-2020, 08:33 AM   #6716
MixMonkey
Human being with feelings
 
MixMonkey's Avatar
 
Join Date: Sep 2017
Location: London, England.
Posts: 1,774
Default

Quote:
Originally Posted by cjewellstudios View Post
***my csi newbie brain says that I should just make the second twister send unique control messages and make one big surface file so I can lay the track controls across both of them, but I maybe working too hard
This is still a possibility You get what you want at the expense of a little flexibility and a bit more .mst work

EDIT: Actually, after a bit more thought this probably won't work because the two MFTs are connected to different MIDI ports. Sorry.

Last edited by MixMonkey; 02-18-2020 at 08:39 AM.
MixMonkey is offline   Reply With Quote
Old 02-18-2020, 08:43 AM   #6717
Geoff Waddington
Human being with feelings
 
Geoff Waddington's Avatar
 
Join Date: Mar 2009
Location: Dartmouth, Nova Scotia
Posts: 5,565
Default

Quote:
Originally Posted by MixMonkey View Post
This is still a possibility You get what you want at the expense of a little flexibility and a bit more .mst work

EDIT: Actually, after a bit more thought this probably won't work because the two MFTs are connected to different MIDI ports. Sorry.
Yeah, it's the ports and the way CSI aggregates surfaces one by one.

What would be needed is a many pass aggregator that builds up the surface bit by bit by iterating over each surfaces TrackNavigator based Zones repeatedly, very complex -- aka not doing it in the near future
Geoff Waddington is offline   Reply With Quote
Old 02-18-2020, 08:45 AM   #6718
Funkybot
Human being with feelings
 
Join Date: Jul 2007
Posts: 1,734
Default

Quote:
Originally Posted by MixMonkey View Post
This is still a possibility You get what you want at the expense of a little flexibility and a bit more .mst work
Just pontificating on that...how might that work? They're still transmitting on two MIDI ports so you'd need two CSI devices. I'm thinking the following:

1. Create MFTwister_1.mst with the addresses and widgets for device 1
2. Create MFTwister_2.mst with the addresses and widgets for device 2
3. Create a single MFTwister.zon file with instructions from both devices?
4. Create a CSI device for MFTwister_1 - using the one MFTwister .zon folder
5. Create a CSI device for MFTwister_2 - using the same MFTwister .zon folder

...would that be a possibility?

Option 2, which would almost certainly work but require some additional software would be:

1. Use unique addresses for controls across both MFTwisters in the MFTwister Utility
2. Use some MIDI software to merge the MIDI outputs of the two devices into one MIDI output port - example: "Bome MIDI Translator" could be setup to handle this
3. Create one .mst for both devices
4. Create one .zon
5. Setup your device in CSI using the virtual MIDI port receiving from both devices

The latter would be cleaner and certainly work because Reaper/CSI would never know there were two devices, they'd just see one device from the Bome MIDI Translator port. But you'd have to run that MIDI software on startup, or at least whenever you were using your DAW, for it to work.
Funkybot is online now   Reply With Quote
Old 02-18-2020, 08:47 AM   #6719
MixMonkey
Human being with feelings
 
MixMonkey's Avatar
 
Join Date: Sep 2017
Location: London, England.
Posts: 1,774
Default

Quote:
Originally Posted by Geoff Waddington View Post
Yeah, it's the ports and the way CSI aggregates surfaces one by one.

What would be needed is a many pass aggregator that builds up the surface bit by bit by iterating over each surfaces TrackNavigator based Zones repeatedly, very complex -- aka not doing it in the near future
Looks like that'll be just the one row of channel controls then
MixMonkey is offline   Reply With Quote
Old 02-18-2020, 08:50 AM   #6720
MixMonkey
Human being with feelings
 
MixMonkey's Avatar
 
Join Date: Sep 2017
Location: London, England.
Posts: 1,774
Default

Quote:
Originally Posted by Funkybot View Post
The latter would be cleaner and certainly work because Reaper/CSI would never know there were two devices, they'd just see one device from the Bome MIDI Translator port. But you'd have to run that MIDI software on startup, or at least whenever you were using your DAW, for it to work.
I think it would work, but it might drive you a liitle crazy in the process. I don't suppose you can daisy chain the MFTs?
MixMonkey 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 02:36 PM.


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