Old 07-08-2018, 06:37 PM   #1
fred garvin
Human being with feelings
 
Join Date: May 2018
Posts: 791
Default Help w Faderport type device in OSC

NOTE: Got everything working except for volume sync and track name! Going to repost tomorrow with a working version. Thanks to Gecko!


So I'm trying to make a Faderport-like device with TouchOSC based on the LogicTouch layout that comes with it. Looks like this:



A little bit frustrating, the weird undocumented stuff that comes with it works for the most part, and most of the things I try from the official Reaper config file don't seem to work. Could use a little help as follows, roughly in order of priority:

- The volume fader works... but I'd really really really like it to pick up the current value of whatever track it's controlling automatically rather than current behavior where I have to scrub it to get it to pick up the control. If there's no way to do this automatically then if a sync button type approach would work that would be fine. The control has settings for relative and absolute response, neither seem to do anything.

- I'd like to have an RTZ (return to zero) button (that works lol). DONE thanks to GeckoLikesMartini!

- I'd like to be able to set and delete markers. Can't find a command for this anywhere. In TouchOSC there seems to be a option to send key commands so I tried having the Set button send an M lol but doesn't work.

- Track label doesn't work. Ideally this would have the name of whatever track the device was currrently controlling. The command I am currently using to try to do this is this:
/track/name
from this line in the Reaper OSC config file:
TRACK_NAME s/track/name s/track/@/name
Also tried
/1/track/name
...because a lot of the TouchOSC stuff that works has that leading /1. The original TouchOSC line was completely different, but didn't work either.

- I added zoom buttons that work, but the y axis (track height) ones don't focus on the active track, and I would like them to. Currently using:
/zoom/y/+
etc. from the Reaper config file lines:
ZOOM_X- b/zoom/x/- r/zoom/x
ZOOM_X+ b/zoom/x/+ r/zoom/x
ZOOM_Y- b/zoom/y/- r/zoom/y
ZOOM_Y+ b/zoom/y/+ r/zoom/y

Everything else seems to work! It's pretty close, hoping someone can give me a hand finishing up.

Available to anyone who wants to test it or use it at:
https://stash.reaper.fm/33916/f1.touchosc
https://stash.reaper.fm/33918/f1.ReaperOSC

If you want to use or help with it and you are unfamiliar with TouchOSC, f1.ReaperOSC needs to go in your Reaper OSC config file folder and your TouchOSC device needs the f1.touchosc layout file.

For convenience of anyone trying to help, I'll post the entire config file below.

Thanks!

Last edited by fred garvin; 07-10-2018 at 03:25 AM.
fred garvin is offline   Reply With Quote
Old 07-08-2018, 06:39 PM   #2
fred garvin
Human being with feelings
 
Join Date: May 2018
Posts: 791
Default

Here's my config file for reference, also available at the link above.

Thanks!

# OSC pattern config file for TouchOSC LogicTouch layout.

# See extensive comments in Default.ReaperOSC.

DEVICE_TRACK_COUNT 1
DEVICE_SEND_COUNT 4
DEVICE_RECEIVE_COUNT
DEVICE_FX_COUNT 8
DEVICE_FX_PARAM_COUNT 4
DEVICE_FX_INST_PARAM_COUNT
DEVICE_MARKER_COUNT
DEVICE_REGION_COUNT

REAPER_TRACK_FOLLOWS DEVICE
DEVICE_TRACK_FOLLOWS DEVICE
DEVICE_TRACK_BANK_FOLLOWS DEVICE
DEVICE_FX_FOLLOWS DEVICE

DEVICE_ROTARY_CENTER 0.5

# ----------------------------------------------------------------

SCROLL_X-
SCROLL_X+
SCROLL_Y-
SCROLL_Y+
ZOOM_X- b/zoom/x/- r/zoom/x
ZOOM_X+ b/zoom/x/+ r/zoom/x
ZOOM_Y- b/zoom/y/- r/zoom/y
ZOOM_Y+ b/zoom/y/+ r/zoom/y

TIME
BEAT
SAMPLES
FRAMES

METRONOME t/1/click
REPLACE t/1/replace
REPEAT t/1/cycle

RECORD t/1/record
STOP t/1/stop
PLAY t/1/play
PAUSE

AUTO_REC_ARM
SOLO_RESET
ANY_SOLO

REWIND b/1/rewind
FORWARD b/1/forward

REWIND_FORWARD_BYMARKER t/1/bymarker
REWIND_FORWARD_SETLOOP t/1/bycycle
GOTO_MARKER i/marker t/marker/@
GOTO_REGION

SCRUB

PLAY_RATE
TEMPO

MARKER_NAME
MARKER_NUMBER
REGION_NAME
REGION_NUMBER
LAST_MARKER_NAME
LAST_MARKER_NUMBER
LAST_REGION_NAME
LAST_REGION_NUMBER

MASTER_VOLUME
MASTER_PAN
MASTER_VU
MASTER_VU_L
MASTER_VU_R

MASTER_SEND_NAME
MASTER_SEND_VOLUME
MASTER_SEND_PAN

TRACK_NAME s/track/name s/track/@/name
TRACK_NUMBER

TRACK_MUTE t/1/mute
TRACK_SOLO t/1/solo
TRACK_REC_ARM t/1/recenable
TRACK_MONITOR t/1/input
TRACK_SELECT

TRACK_VU
TRACK_VU_L
TRACK_VU_R
TRACK_VOLUME n/1/volume s/1/trkvolval
TRACK_PAN n/1/pan s/1/trkpanval
TRACK_PAN2
TRACK_PAN_MODE

TRACK_SEND_NAME s/2/sendname@
TRACK_SEND_VOLUME n/2/sendlevel/@
TRACK_SEND_VOLUME
TRACK_SEND_PAN
TRACK_SEND_PAN

TRACK_NAME s/track/name s/track/@/name
TRACK_RECV_NAME s/track/recv/@/name s/track/@/recv/@/name
TRACK_RECV_VOLUME
TRACK_RECV_VOLUME
TRACK_RECV_PAN
TRACK_RECV_PAN

TRACK_AUTO
TRACK_AUTO_TRIM t/1/atmoff
TRACK_AUTO_READ t/1/atmread
TRACK_AUTO_LATCH t/1/atmlatch
TRACK_AUTO_TOUCH t/1/atmtouch
TRACK_AUTO_WRITE

TRACK_VOLUME_TOUCH
TRACK_PAN_TOUCH

FX_NAME s/2/plugname s/2/insertname@
FX_NUMBER s/2/slot#
FX_BYPASS b/2/insertbypass/1/@
FX_OPEN_UI

FX_PRESET
FX_PREV_PRESET
FX_NEXT_PRESET

FX_PARAM_NAME s/2/parname@
FX_WETDRY
FX_PARAM_VALUE n/2/fxpar@ s/2/parval@

FX_EQ_BYPASS
FX_EQ_OPEN_UI

FX_EQ_PRESET
FX_EQ_PREV_PRESET
FX_EQ_NEXT_PRESET

FX_EQ_MASTER_GAIN
FX_EQ_WETDRY

FX_EQ_HIPASS_FREQ
FX_EQ_HIPASS_GAIN
FX_EQ_HIPASS_Q
FX_EQ_LOSHELF_FREQ
FX_EQ_LOSHELF_GAIN
FX_EQ_LOSHELF_Q
FX_EQ_BAND_FREQ
FX_EQ_BAND_GAIN
FX_EQ_BAND_Q
FX_EQ_NOTCH_FREQ
FX_EQ_NOTCH_GAIN
FX_EQ_NOTCH_Q
FX_EQ_HISHELF_FREQ
FX_EQ_HISHELF_GAIN
FX_EQ_HISHELF_Q
FX_EQ_LOPASS_FREQ
FX_EQ_LOPASS_GAIN
FX_EQ_LOPASS_Q

FX_INST_NAME
FX_INST_BYPASS
FX_INST_OPEN_UI

FX_INST_PRESET
FX_INST_PREV_PRESET
FX_INST_NEXT_PRESET

FX_INST_PARAM_NAME
FX_INST_PARAM_VALUE
FX_INST_PARAM_VALUE

LAST_TOUCHED_FX_TRACK_NAME
LAST_TOUCHED_FX_TRACK_NUMBER
LAST_TOUCHED_FX_NAME
LAST_TOUCHED_FX_NUMBER
LAST_TOUCHED_FX_PARAM_NAME
LAST_TOUCHED_FX_PARAM_VALUE

ACTION
MIDIACTION
MIDILISTACTION

# ----------------------------------------------------------------

DEVICE_TRACK_COUNT
DEVICE_SEND_COUNT
DEVICE_RECEIVE_COUNT
DEVICE_FX_COUNT
DEVICE_FX_PARAM_COUNT
DEVICE_FX_INST_PARAM_COUNT
DEVICE_MARKER_COUNT
DEVICE_REGION_COUNT

REAPER_TRACK_FOLLOWS
REAPER_TRACK_FOLLOWS_REAPER
REAPER_TRACK_FOLLOWS_DEVICE

DEVICE_TRACK_FOLLOWS
DEVICE_TRACK_FOLLOWS_DEVICE
DEVICE_TRACK_FOLLOWS_LAST_TOUCHED

DEVICE_TRACK_BANK_FOLLOWS
DEVICE_TRACK_BANK_FOLLOWS_DEVICE
DEVICE_TRACK_BANK_FOLLOWS_MIXER

DEVICE_FX_FOLLOWS
DEVICE_FX_FOLLOWS_DEVICE
DEVICE_FX_FOLLOWS_LAST_TOUCHED
DEVICE_FX_FOLLOWS_FOCUSED

DEVICE_TRACK_SELECT
DEVICE_PREV_TRACK t/1/track-
DEVICE_NEXT_TRACK t/1/track+

DEVICE_TRACK_BANK_SELECT
DEVICE_PREV_TRACK_BANK
DEVICE_NEXT_TRACK_BANK

DEVICE_FX_SELECT
DEVICE_PREV_FX t/2/slot-
DEVICE_NEXT_FX t/2/slot+

DEVICE_FX_PARAM_BANK_SELECT s/2/page#
DEVICE_PREV_FX_PARAM_BANK t/2/page-
DEVICE_NEXT_FX_PARAM_BANK t/2/page+

DEVICE_FX_INST_PARAM_BANK_SELECT
DEVICE_FX_INST_PARAM_BANK_SELECT
DEVICE_PREV_FX_INST_PARAM_BANK
DEVICE_NEXT_FX_INST_PARAM_BANK

DEVICE_MARKER_BANK_SELECT
DEVICE_PREV_MARKER_BANK
DEVICE_NEXT_MARKER_BANK

DEVICE_REGION_BANK_SELECT
DEVICE_PREV_REGION_BANK
DEVICE_NEXT_REGION_BANK
fred garvin is offline   Reply With Quote
Old 07-08-2018, 09:36 PM   #3
mschnell
Human being with feelings
 
mschnell's Avatar
 
Join Date: Jun 2013
Location: Krefeld, Germany
Posts: 14,686
Default

Quote:
Originally Posted by fred garvin View Post
So I'm trying to make a Faderport-like device with a Touch (screen) ...
Reaper already comes with features that allow for designing such a GUI using HTML and to have Reaper being accessed via HTTP from any (Touchscreen) device that allows to run a standard browser.

So why design dedicated hardware ?

If you want to use custom-Hardware, you could make it run (embedded) Linux and a standard (embedded) Browser.

-Michael

Last edited by mschnell; 07-08-2018 at 09:42 PM.
mschnell is offline   Reply With Quote
Old 07-08-2018, 10:28 PM   #4
fred garvin
Human being with feelings
 
Join Date: May 2018
Posts: 791
Default

Quote:
Originally Posted by mschnell View Post
Reaper already comes with features that allow for designing such a GUI using HTML and to have Reaper being accessed via HTTP from any (Touchscreen) device that allows to run a standard browser.
Iiiii did not know that! Maybe if this doesn't work out... does it do all the above? Especially the live faders? Hate that scrubbing thing.

Quote:
Originally Posted by mschnell View Post
...standard browser...dedicated hardware...
Well um this is just an old Amazon Fire and a $5 app lol. Not so much dedicated hardware. more like recycling lol. As for the standard browser, my experience with tablet browsers is that they're unreliable. Whereas my experience with TouchOSC is that it'll literally run all day with no issues. Plus well hell, it's almost done. So maybe not ready to give up on this just yet... but thanks!
fred garvin is offline   Reply With Quote
Old 07-08-2018, 11:16 PM   #5
fred garvin
Human being with feelings
 
Join Date: May 2018
Posts: 791
Default

Quote:
Originally Posted by mschnell View Post
Reaper already comes with features that allow for designing such a GUI using HTML and to have Reaper being accessed via HTTP from any (Touchscreen) device that allows to run a standard browser.
Yah, tried it, cool! Buuuut, um doesn't work basically. Pull up channels on my very simple test project, faders don't work or work very erratically with lag unusable for real time tasks, (although they do pick up the live fader state lol grrr, well at least I see it can be done lol), hit solo it solos all tracks lol... as opposed to TouchOSC which is silky smooth and features seem to work as intended, if you can get them to work lol. But thanks!
fred garvin is offline   Reply With Quote
Old 07-09-2018, 12:53 AM   #6
GeckoLikesMartini
Human being with feelings
 
Join Date: Jun 2016
Posts: 127
Default

Hi,

First, sorry for my bad english.... you may try this as starting point:

https://stash.reaper.fm/33919/f1_test.zip

I like to start with the default.ReaperOSC and edit the Lemur- or TouchOSC-template.

Volume, trackname, track select and RTZ should work now and you may use this as an example for the other functions.

Also keep an eye on this part of the ReaperOSC:

REAPER_TRACK_FOLLOWS DEVICE
DEVICE_TRACK_FOLLOWS LAST_TOUCHED
DEVICE_TRACK_BANK_FOLLOWS DEVICE
DEVICE_FX_FOLLOWS DEVICE

Regards, mj
GeckoLikesMartini is offline   Reply With Quote
Old 07-09-2018, 01:51 AM   #7
fred garvin
Human being with feelings
 
Join Date: May 2018
Posts: 791
Default

Quote:
Originally Posted by GeckoLikesMartini View Post
...try this...
Thank you so much! Gave it a quick try and found that some things worked and some broke like unfortunately the transport controls stopped working but the RTZ button is definitely implemented and added to my layout! I'll spend more time on it tomorrow, see if I can get your version completely working here.

Yah, the original layout from hexler seems to have a lotta non-standard stuff in it according to the Reaper config but still mostly works somehow so trying to work from the Reaper config just breaks stuff right and left. I bring one or two lines over, test, fix, repeat lol. But better than the alternative, don't wanna redo every single command if there's any way not to lol.

Thanks again!
fred garvin is offline   Reply With Quote
Old 07-09-2018, 07:41 AM   #8
mschnell
Human being with feelings
 
mschnell's Avatar
 
Join Date: Jun 2013
Location: Krefeld, Germany
Posts: 14,686
Default

Quote:
Originally Posted by fred garvin View Post
um doesn't work basically ... as opposed to TouchOSC which is silky smooth and features seem to work as intended, if you can get them to work lol. But thanks!
Unfortunately I don't know "um" nor "TouchOSC".

-Michael
mschnell is offline   Reply With Quote
Old 07-09-2018, 07:57 AM   #9
mschnell
Human being with feelings
 
mschnell's Avatar
 
Join Date: Jun 2013
Location: Krefeld, Germany
Posts: 14,686
Default

Did you read -> https://forum.cockos.com/showthread.php?t=188194

-Michael
mschnell is offline   Reply With Quote
Old 07-09-2018, 08:52 AM   #10
azslow3
Human being with feelings
 
Join Date: Nov 2017
Location: Heidelberg, Germany
Posts: 797
Default

Quote:
Originally Posted by fred garvin View Post
Yah, the original layout from hexler seems to have a lotta non-standard stuff in it according to the Reaper config but still mostly works somehow so trying to work from the Reaper config just breaks stuff right and left. I bring one or two lines over, test, fix, repeat lol. But better than the alternative, don't wanna redo every single command if there's any way not to lol.
After quick look at your layout and config... I recommend to do things "from scratch", with clear understanding what you are doing.
I mean go throw TouchOSC controls one by one, checking in "Listen" what they are sending and modifying corresponding lines from the default pattern config.
All that will take under one hour. But AFTER you read and understand every single line+comment in the default config. If something is unclear there, people can help to clarify.
Otherwise someone can just make complete working configuration, in fact that is simpler then explaining how to do this...
azslow3 is offline   Reply With Quote
Old 07-09-2018, 10:02 AM   #11
GeckoLikesMartini
Human being with feelings
 
Join Date: Jun 2016
Posts: 127
Default

Quote:
Originally Posted by fred garvin View Post
... Gave it a quick try and found that some things worked and some broke like unfortunately the transport controls stopped working ...
Yes, sorry for the broken functions... that's because I started with the default.ReaperOSC. But as azslow3 pointed out, I also recommend using the default.ReaperOSC. There you can also read how the OSC-functions work in Reaper.

Regards, mj
GeckoLikesMartini is offline   Reply With Quote
Old 07-09-2018, 11:48 AM   #12
fred garvin
Human being with feelings
 
Join Date: May 2018
Posts: 791
Default

Thanks Gecko! Really appreciate your help!

It seems that I have offended some people. Sorry about that. It is absolutely true that I do not understand OSC programming. I am not a computer programmer so I thought it might be OK to ask for a little help.
fred garvin is offline   Reply With Quote
Reply

Thread Tools
Display Modes

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

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

Forum Jump


All times are GMT -7. The time now is 10:21 AM.


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