Old 03-26-2014, 07:28 PM   #1
N2NPro
Human being with feelings
 
Join Date: Aug 2013
Location: SD Cali
Posts: 112
Default Peavey StudioMix Bi-Directional Control Via OSC

Hello Reaper World,
I have successfully set up my (Win 7 64 DAW) with my old Peavey StudioMix control surface using MidiOx and LoopMidi via the Action list to do Uni-directional control over the master fader and mute, 48 channels of volume, pan and select channel. I have also set up 10 assignable rotors, the transport buttons, jog wheel and assorted buttons for mute/solo selected, undo/redo and bank ahead/previous. It all works a treat one way. As the StudioMix has motorized faders, I would really like to use the Bi-Directional capabilities as I did in Sonar. I have been following threads regarding the implementation of OSC for Bi-Dir communication for control surfaces. I have tried to get my tiny brain to understand the likes of OSC, PureData and such but, I fear, the whole set up of the a fore mentioned StudioMix was my peak intelligence. I am a studio engineer not a programmer
I am wondering if anyone has had success with using OSC for Bi-Directional communication for control surfaces like the Peavey StudioMix??
Any advice or counseling is gladly appreciated and welcome.

N2N
N2NPro is offline   Reply With Quote
Old 03-26-2014, 08:13 PM   #2
Banned
Human being with feelings
 
Banned's Avatar
 
Join Date: Mar 2008
Location: Unwired (probably in the proximity of Amsterdam)
Posts: 4,868
Default

Hi N2N,

Yes, indeed, bi-directional control can indeed be achieved using REAPER's OSC Control Surface feature, by converting back and forth between MIDI and OSC. I'm not familiar with the Peavey StudioMix, but as long as it speaks MIDI, I think we're good.

Since some of my previous posts on this forum with examples of this sort of thing (where I typically used Pure data), we have a new kid on the block: OSCII-bot, made by Cockos' very own Justin. Perhaps you're lucky, as playing with that was on my todo list for quite a while already, and I just got around to it. As your issue seems like a nice test/demonstration project, and it would certainly be a shame not to use those motorized faders, let's see how we can use OSCII-bot to achieve bi-directional control using your device? I'll try to make a little script, and walk you through the setup step by step.

First, though, we would need to know exactly what type/format of MIDI messages come out the device when you move faders, turn knobs, or push buttons. Can you post some more details? Please be as specific as you can.
__________________
˙lɐd 'ʎɐʍ ƃuoɹʍ ǝɥʇ ǝɔıʌǝp ʇɐɥʇ ƃuıploɥ ǝɹ,noʎ
Banned is offline   Reply With Quote
Old 03-26-2014, 08:24 PM   #3
N2NPro
Human being with feelings
 
Join Date: Aug 2013
Location: SD Cali
Posts: 112
Default

Hi Banned,

Here are the details of the Peavey StudioMix:

Control NRPN Number(s)
Knobs (1 - 8), Row 1: 500-507
Knobs (1 - 8), Row 2: 1500-1507
Master Knob 1: 4500
Master Knob 2: 4501

Buttons (1 - 8): 2500-2507
Master Button: 4502
Vertical Buttons (top down): 5000-5004

Faders (1 - 8): 3500-3507
Master Fader: 4503

Transport Buttons:
Rew 6000
Ff 6001
Play 6003
Stop 6002
Rec 6004
Int/MMC 6005

Jog 7000
Shuttle 7001

Here is what StudioMix sends, *only on Channel 16.

Knobs send a value of 1 when turned clockwise and 16383 when turned counter-clockwise.

Buttons send a value of 1 when depressed and 16383 when released.

Faders theoretically send values between 0 and 16383.

The transport buttons send a value of 1 when depressed and 16383 when released.

Jog NRPN 7000
Shuttle NRPN 7001

The jog wheel acts like a knob; it sends a value of 1 for each "click" clockwise and 16383 for each "click" counter-clockwise.

The shuttle wheel sends out a value of 1 when it is turned a little bit clockwise; as it is turned more in that direction, it sends out values of 2 through 7. Similarly, as it is turned counter-clockwise, it sends values that progress from 16383 to 16377 at the counter-clockwise extreme.

I hope these are the necessary details.

Thanks again for your assistance.
Kindly,

N2N
N2NPro is offline   Reply With Quote
Old 03-26-2014, 08:33 PM   #4
N2NPro
Human being with feelings
 
Join Date: Aug 2013
Location: SD Cali
Posts: 112
Default

Hi Banned,

Here's a Pic of the StudioMix with NRPN numbers and my assignments.
http://www.n2nproductions.com/studio...ol%20Guide.JPG

Cheers!
N2NPro is offline   Reply With Quote
Old 03-26-2014, 09:11 PM   #5
Banned
Human being with feelings
 
Banned's Avatar
 
Join Date: Mar 2008
Location: Unwired (probably in the proximity of Amsterdam)
Posts: 4,868
Default

Oh, wow, NRPNs... you *are* lucky, as Jeffos already created an awesome little script which I had just adapted for use with OSCII-bot - which will no doubt come in very handy and save me from most of the hard work, as NRPN's are relatively complicated to handle. So, thanks again, Jeffos!

There seem to be some other fun challenges, too: the StudioMix device seems to have endless rotaries using a 'relative' control mechanism. That implies that we can't simply convert their data; first we have to retrieve their current values from REAPER, (store it) and then increment or decrement them as needed whenever their corresponding knobs are turned. On the bright side, this does allow us to define the value increment/decrement step size however we wish. Also, the shuttle wheel apparently supports 'acceleration'. Nice! That'll probably also require some special handling... but, in any case, I think it should be quite feasible to get bi-directional control going for your device using the OSC<-->MIDI conversion route. So I'll start hacking on a little script for your device.

Next, now that we seem to have the tech specs covered well enough to get started, at least, we need to think/talk a bit more about the design/lay-out. What do you (plan to) use the Jog Wheel / Shuttle Wheel for? And which knobs / buttons perform which functions? I would assume, one row of knobs is used for panning/balance? What does (or: should) "Int/MMC" do? If you change banks, do the NRPNs change?

[EDIT:] Ah, that picture is helpful, answers some questions already.
__________________
˙lɐd 'ʎɐʍ ƃuoɹʍ ǝɥʇ ǝɔıʌǝp ʇɐɥʇ ƃuıploɥ ǝɹ,noʎ
Banned is offline   Reply With Quote
Old 03-26-2014, 09:43 PM   #6
N2NPro
Human being with feelings
 
Join Date: Aug 2013
Location: SD Cali
Posts: 112
Default

Quote:
Originally Posted by Banned
Next, now that we seem to have the tech specs covered well enough to get started, at least, we need to think/talk a bit more about the design/lay-out. What do you (plan to) use the Jog Wheel / Shuttle Wheel for? And which knobs / buttons perform which functions? I would assume, one row of knobs is used for panning/balance? What does (or: should) "Int/MMC" do? If you change banks, do the NRPNs change?
NRPN's do not change as far as I know with bank change.
*using MidiOx I programed different maps for banking and used separate channels to do so. IE. Bank 1-8 =ch 16, Bank 9-16 =ch 15. MidiOx converted the NRPN to CC and the channels too.

Jog 7000 = fine scroll
Shuttle 7001 = fast scroll
Buttons 2500-07 = Channel Select
Button 4502 = Bank FWD
Button 5000 = Bank PREV
Button 5001 = Mute Selected
Button 5002 = Solo Selected
Button 5003 = Redo
Button 5004 = Undo
Button 6000 = Go to Beginning
Button 6001 = Go to End
Button 6002 = Play/Pause
Button 6003 = Stop
Button 6004 = REC
Button 6005 = Master Mute
Rotors 1500-07 Pan
Rotors 500-507, 4500, 4501 = Assignable

Let me know if you need more info.

Thank you again for your efforts!

N2N
N2NPro is offline   Reply With Quote
Old 03-26-2014, 10:16 PM   #7
Banned
Human being with feelings
 
Banned's Avatar
 
Join Date: Mar 2008
Location: Unwired (probably in the proximity of Amsterdam)
Posts: 4,868
Default

Quote:
Originally Posted by N2NPro View Post
NRPN's do not change as far as I know with bank change.
*using MidiOx I programed different maps for banking and used separate channels to do so. IE. Bank 1-8 =ch 16, Bank 9-16 =ch 15. MidiOx converted the NRPN to CC and the channels too.
Ah, I see.
Quote:
Originally Posted by N2NPro View Post
Rotors 500-507, 4500, 4501 = Assignable
Hmm, not sure what to do with these... How do you currently assign them to something in REAPER? Do you make MidiOx convert the relative NRPN data to relative 'regular' CC# data, perhaps? Do you want to preserve their ability to be assigned to various things on the fly? (I would think, we can have OSCII-bot perform such a conversion, too, as it can also handle MIDI to MIDI.)
__________________
˙lɐd 'ʎɐʍ ƃuoɹʍ ǝɥʇ ǝɔıʌǝp ʇɐɥʇ ƃuıploɥ ǝɹ,noʎ
Banned is offline   Reply With Quote
Old 03-26-2014, 10:28 PM   #8
N2NPro
Human being with feelings
 
Join Date: Aug 2013
Location: SD Cali
Posts: 112
Default

Quote:
Originally Posted by Banned
Hmm, not sure what to do with these... How do you currently assign them to something in REAPER? Do you make MidiOx convert the relative NRPN data to relative 'regular' CC# data, perhaps? Do you want to preserve their ability to be assigned to various things on the fly? (I would think, we can have OSCII-bot perform such a conversion, too, as it can also handle MIDI to MIDI.)
Yes, MidiOx converts the "Assignable section" so they can be "learned" on the fly. I have MidiOx send maps with the assignable section sent on channel 11.

Cheers!
N2NPro is offline   Reply With Quote
Old 03-27-2014, 09:02 AM   #9
Banned
Human being with feelings
 
Banned's Avatar
 
Join Date: Mar 2008
Location: Unwired (probably in the proximity of Amsterdam)
Posts: 4,868
Default

Quote:
Originally Posted by N2NPro View Post
Yes, MidiOx converts the "Assignable section" so they can be "learned" on the fly. I have MidiOx send maps with the assignable section sent on channel 11.

Cheers!
Ok, I could replicate that, and have OSCII-bot convert NRPNs 500-507/4500/4501 to regular MIDI CC# on channel 11 (or whatever channel you choose). However, that would slightly complicate the setup, as we would need to have OSCII-bot use multiple output MIDI ports, and send MIDI to REAPER using a virtual MIDI cable. So I would suggest we leave this part for later, and focus on the other stuff first. Getting the motorized faders to work seems more important for now, right? It also seems a bit 'cleaner' (and thus, hopefully slightly easier to wrap your head around) to initially keep the setup as simple as possible, like this:

[REAPER] <==OSC==> [OSCII-bot] <==MIDI==> [StudioMix]

Later on, we can decide to expand the setup with a MIDI output from OSCII-bot to REAPER, like this:

[REAPER] <==================OSC==> [OSCII-bot] <==MIDI==> [StudioMix] (everything else)
[REAPER] <==MIDI==> (LoopMidi) <==MIDI==> [OSCII-bot] <==MIDI==> [StudioMix] (NRPNs 500-507/4500/4501)
__________________
˙lɐd 'ʎɐʍ ƃuoɹʍ ǝɥʇ ǝɔıʌǝp ʇɐɥʇ ƃuıploɥ ǝɹ,noʎ
Banned is offline   Reply With Quote
Old 03-27-2014, 09:44 AM   #10
N2NPro
Human being with feelings
 
Join Date: Aug 2013
Location: SD Cali
Posts: 112
Default

Hi Banned, yes, the motorized faders have priority. The assignable knobs would be very nice. Perhaps as I become better acquainted the procedure of mapping etcetera, I may be able to tackle some of these things my own.
Looking forward to getting my hands a bit dirty

N2N
N2NPro is offline   Reply With Quote
Old 03-27-2014, 10:17 AM   #11
Banned
Human being with feelings
 
Banned's Avatar
 
Join Date: Mar 2008
Location: Unwired (probably in the proximity of Amsterdam)
Posts: 4,868
Default

Quote:
Originally Posted by N2NPro View Post
Hi Banned, yes, the motorized faders have priority. The assignable knobs would be very nice. Perhaps as I become better acquainted the procedure of mapping etcetera, I may be able to tackle some of these things my own.
Looking forward to getting my hands a bit dirty

N2N
Cool. Ok, let's start getting a bit practical then.

There are two important things to set up before we can proceed to test a script. Let's get these out of the way first, so we can get to the fun stuff:

[1] Configure an 'OSC Control Surface' in REAPER;

[2] Install OSCII-bot and set it up to communicate with [A] the OSC Control Surface (using OSC), and [B] with your StudioMix device (using MIDI).

For [1], you open REAPER, and go Preferences > Control Surfaces > [Add] > Control surface mode: OSC (Open Sound Control). Then, at the "Pattern config" drop-down menu, choose "(open config directory)", which should open the folder (in Explorer for Windows, Finder for OS X) where configuration files for REAPER's OSC Control Surfaces are kept.

While the default configuration should work, it would have REAPER send a whole lot of OSC messages for things we aren't interested in ('flooding'). So it makes sense to use an optimized version of the default configuration, where lots of things are disabled (by 'commenting out' lines, i.e. prefixing them with a "#" character). (Btw, note that editing the Default.ReaperOSC file itself does not have any effect - so we *have* to use a different file if we wish to change anything.)

Here is my configuration file for this setup: OSCII-bot+StudioMix.ReaperOSC. Unzip and move to the folder you just opened. Now go to the "Pattern config" drop-down menu again, and choose "OSCII-bot+StudioMix" to select this configuration file.

Side note: these .ReaperOSC config files are in fact simple text files, but they have the extension .ReaperOSC. For editing convenience, you may want to instruct your operating system to open these files with a plain text editor when you double click them.

Next, take a look at the settings for the IP networking. Make sure the boxes for receive and send are ticked, as well as "Allow binding messages to REAPER actions and FX learn". The default port numbers and IP addresses should probably work; we'll test those next, when we have OSCII-bot running.

[2] Install OSCII-bot. First, we start with a very simple script for testing the MIDI and OSC input/output, to achieve this:

[REAPER] <==OSC==> [OSCII-bot] <==MIDI==> [StudioMix]

Connect and switch on your StudioMix device. Then, start OSCII-bot. At the top of its window, it should tell you the path to the folder where scripts should be installed. Open that folder, and put this file in it: IOTest.txt. Open that file in a plain text editor.

In REAPER > Preferences > Audio > MIDI Devices > MIDI hardware settings, note the name of MIDI input and output ports associated with the StudioMix device (probably something like "StudioMix In 1" / "StudioMix Out 1"). Also, preferably set the device to <disabled> in REAPER - since REAPER won't have any use whatsoever for the unprocessed NRPN messages that the StudioMix is sending out.

In OSCII-bot, click the "Reload scripts" button in the right bottom corner. It may work out-of-the-box, but don't be surprised if some error messages now appear in OSCII-bot. We need to tweak the config until they're gone.

For the MIDI input (MIDI from the StudioMix device to OSCII-bot), you need to configure this line:
Code:
@input in1 MIDI "StudioMix"
Similarly, for the MIDI output (MIDI from OSCII-bot to the StudioMix device), you need to configure this line:
Code:
@output out1 MIDI "StudioMix"
You should only edit the device name, i.e. the parts between the quote marks ("StudioMix"). (NB: everything coming after "//" on a line are only comments, and don't affect anything.)

For OSC, the input and output needs to match the settings used in REAPER's OSC Control Surface configuration. For that, you may need to tweak these lines:
Code:
@input localhost-input OSC "127.0.0.1:9000"
@output localhost OSC "192.168.1.2:8000" 1024 0
You can (and perhaps have to) use different IP addresses and/or port numbers - whatever works for you. You should probably try to match the default settings shown in REAPER's OSC Control Surface for the IP addresses; I think REAPER uses whatever is already working on your system. Compare the lines above with the settings I used for REAPER's OSC Control Surface:



Note that:
- the settings used for 'Receive on port' / 'Host IP' match the settings at @output;
- the settings used for 'Send to port' / 'Device IP' match the settings at @input.

If you see any errors in OSCII-bot, try editing the IOTest.txt file, saving, and reloading the script again in OSCII-bot.

Any questions or problems so far? Lets hear it.
__________________
˙lɐd 'ʎɐʍ ƃuoɹʍ ǝɥʇ ǝɔıʌǝp ʇɐɥʇ ƃuıploɥ ǝɹ,noʎ

Last edited by Banned; 03-27-2014 at 12:36 PM. Reason: added some clarification
Banned is offline   Reply With Quote
Old 03-27-2014, 10:23 AM   #12
Banned
Human being with feelings
 
Banned's Avatar
 
Join Date: Mar 2008
Location: Unwired (probably in the proximity of Amsterdam)
Posts: 4,868
Default

Btw, any other REAPER users who have a Peavy StudioMix out there? Feel free to jump in!
__________________
˙lɐd 'ʎɐʍ ƃuoɹʍ ǝɥʇ ǝɔıʌǝp ʇɐɥʇ ƃuıploɥ ǝɹ,noʎ
Banned is offline   Reply With Quote
Old 03-27-2014, 01:29 PM   #13
N2NPro
Human being with feelings
 
Join Date: Aug 2013
Location: SD Cali
Posts: 112
Default

Hi Banned,
It seems the OSCii-bot has accepted my settings.
It has loaded the script and states:
Listening on '127.0.0.1:9000'
2 inputs, 2 outputs, 0 strings

Total: 1 scripts, 2 inputs, 2 outputs

When I move a control on the StudioMix the bottom OSCII-bot responds with some funky codes.

When I open Reaper nothing happens regarding faders or any controls. What should be happening now?
N2NPro is offline   Reply With Quote
Old 03-27-2014, 02:05 PM   #14
Banned
Human being with feelings
 
Banned's Avatar
 
Join Date: Mar 2008
Location: Unwired (probably in the proximity of Amsterdam)
Posts: 4,868
Default

Quote:
Originally Posted by N2NPro View Post
Hi Banned,
It seems the OSCii-bot has accepted my settings.
It has loaded the script and states:
Listening on '127.0.0.1:9000'
2 inputs, 2 outputs, 0 strings

Total: 1 scripts, 2 inputs, 2 outputs
Awesome, that means we have no errors, all connections working!

(We may already have the hardest part covered now. :P)

Did it simply accept the settings as I had them in the script, or did you have to edit anything? (If so, please paste the lines you changed.)
Quote:
Originally Posted by N2NPro View Post
When I move a control on the StudioMix the bottom OSCII-bot responds with some funky codes.
Those are the raw MIDI bytes coming in, shown in hexadecimal format. It confirms that MIDI coming from the StudioMix is received by OSCII-bot - and it comes in handy for quick diagnostic checks.
Quote:
Originally Posted by N2NPro View Post
When I open Reaper nothing happens regarding faders or any controls. What should be happening now?
Nothing, yet, haha. I just wanted to make sure that we have all the required connections working properly. Next, we need to exchange that simple test script for one that actually does some MIDI and OSC conversion. A.k.a. the fun stuff with moving faders.

(Give me time for another coffee while I quickly try to iron out a few little issues... for one, I'm having a bit of trouble getting the selected track(s) solo/mute working correctly now, and seeing some weirdness in REAPER - not sure if it's just a silly mistake, a bug in my setup, or a bug in REAPER. Need to create a little test setup... back after coffee. )

[EDIT:] D'oh. No bug, just forgot how to use the various settings properly.

(I simply needed to set DEVICE_TRACK_FOLLOWS to LAST_TOUCHED instead of DEVICE in the .ReaperOSC file...)
__________________
˙lɐd 'ʎɐʍ ƃuoɹʍ ǝɥʇ ǝɔıʌǝp ʇɐɥʇ ƃuıploɥ ǝɹ,noʎ

Last edited by Banned; 03-27-2014 at 02:27 PM.
Banned is offline   Reply With Quote
Old 03-27-2014, 02:17 PM   #15
N2NPro
Human being with feelings
 
Join Date: Aug 2013
Location: SD Cali
Posts: 112
Default

Hi Banned,
I had to change the host IP to match Reaper (192.168.2.113) and the Midi I/O names to Layla24 MIDI instead of StudioMix. That's it. It all worked great from your amazing instructions.
BTW, I am sure more StudioMix owners are out there and will be very excited to use Reaper once this is complete.

Looking forward to the next instructions.

You are an amazing person to take us under your wing!


With humble gratitude! Cheers,

N2N
N2NPro is offline   Reply With Quote
Old 03-27-2014, 02:52 PM   #16
Banned
Human being with feelings
 
Banned's Avatar
 
Join Date: Mar 2008
Location: Unwired (probably in the proximity of Amsterdam)
Posts: 4,868
Default

Good. I have updated the device name for the MIDI I/O configuration in my first version of this script: StudioMix+REAPER.txt.
I didn't touch the IP address though, so you have to edit that once again for this next script, as you have just done with the test script. Just copy and paste the line from the test script.

Then, make sure to delete the previous test script, because OSCII-bot *can and will* load multiple scripts it finds it its folder (which would be confusing to both us and OSCII-bot).

Also, download the updated version of the .ReaperOSC configuration file: OSCII-bot+StudioMix.ReaperOSC and replace the previous version with this one. I made some minor but important changes.

After reloading the config in REAPER (simply choose it again in the dropdown menu), and reloading the script in OSCII-bot, things should hopefully become fun. I would also expect to see some bugs, though - testing something for specific hardware without actually having that hardware is a bit unreliable.

Btw, for now, I have assigned the top row of knobs to pan 2. For those controls, before anything happens on REAPER's end, you'll have to change the track panning mode to stereo / dual pan mode.

Oh, and the Shuttle Wheel now *scrubs*... and probably needs some more fine-tuning.

But first, I'm curious to hear if this (sort of) works. So check it out, and let's hear it!
__________________
˙lɐd 'ʎɐʍ ƃuoɹʍ ǝɥʇ ǝɔıʌǝp ʇɐɥʇ ƃuıploɥ ǝɹ,noʎ

Last edited by Banned; 03-27-2014 at 03:05 PM. Reason: needed to mention new version of .ReaperOSC config file
Banned is offline   Reply With Quote
Old 03-27-2014, 03:39 PM   #17
N2NPro
Human being with feelings
 
Join Date: Aug 2013
Location: SD Cali
Posts: 112
Default

Hi Banned,
It's all hooked up and working. I'll give you a full run down after testing a bit. I can see some fine tuning will be in order. This looks amazingly promising!!

I will post back shortly.

N2N
N2NPro is offline   Reply With Quote
Old 03-27-2014, 04:23 PM   #18
Banned
Human being with feelings
 
Banned's Avatar
 
Join Date: Mar 2008
Location: Unwired (probably in the proximity of Amsterdam)
Posts: 4,868
Default

Quote:
Originally Posted by N2NPro View Post
It's all hooked up and working.
W00t! OSCII-bot FTFW!
Quote:
Originally Posted by N2NPro View Post
I'll give you a full run down after testing a bit. I can see some fine tuning will be in order.
... as was to be expected.
Quote:
Originally Posted by N2NPro View Post
This looks amazingly promising!!

I will post back shortly.

N2N
No hurries, enjoy!
__________________
˙lɐd 'ʎɐʍ ƃuoɹʍ ǝɥʇ ǝɔıʌǝp ʇɐɥʇ ƃuıploɥ ǝɹ,noʎ
Banned is offline   Reply With Quote
Old 03-27-2014, 11:53 PM   #19
N2NPro
Human being with feelings
 
Join Date: Aug 2013
Location: SD Cali
Posts: 112
Default

Hi Banned,
First off, I want to say thank you for all your hard work and efforts. I know this is a conglomeration of works but it is still a tremendous undertaking and I fully appreciate your generous sharing and instruction.

My testing:
1. Bi-direction faders works smoothly until multiple tracks are selected at which point the faders start to jitter and change volume (usually up).

2. Dbl clk fader to zero out, produces inconsistent results in volume levels, it doesn't go to zero - up to 1.5 db difference in range between all faders. 1&2 include master fader inconsistency.

3. Selecting tracks produces inconsistent behavior especially when using keyboard combo's like ctrl/select or shift select.

4. Bank FWD or PREV doesn't function at all.

5. Play/Pause and Stop are switched up control wise. EDIT-> I changed this myself. (I just switched numbers in the OSCII-bot.txt)

6. The Shuttle control (Outer wheel, NRPN 7001) kind of pumps the action, meaning a clockwise turn moves the play cursor ahead a few beats and upon returning it to center moves it forward a few more beats. The same applies to the counter clockwise motion.

7. The Jog wheel scrolls the time line but doesn't move the play cursor. I'm hoping to have the shuttle move the play cursor roughly fwd or rev and the jog wheel move the play cursor finely fwd or rev.

8. FWD and REW work as "move a little ahead or back" but not "Transport- Go to start/end of project, as I would prefer. EDIT-> I changed this myself. (I changed to OSCII-bot.txt to an action. I saw
how you did Undo/Redo) kind of proud of myself to get that one.

9. REC, Master Mute, Mute/Solo selected and redo/undo all work great.

10. Panning rotors work great the resolution is perfect. I disabled the Master pan as it is unnecessary in my work (master pan always stays centered). The top rotors (500-507) and master rotor 1&2 (4500,4501)I would prefer to be assignable.

Summary:
Priority would be the channel select issue, the fader jitter issue and banking FWD and PREV.

I'm looking forward to you feedback.

Ever grateful!

N2N
N2NPro is offline   Reply With Quote
Old 03-28-2014, 09:26 AM   #20
Banned
Human being with feelings
 
Banned's Avatar
 
Join Date: Mar 2008
Location: Unwired (probably in the proximity of Amsterdam)
Posts: 4,868
Default

Okay, let's try to tackle these one at a time.
Quote:
Originally Posted by N2NPro View Post
1. Bi-direction faders works smoothly until multiple tracks are selected at which point the faders start to jitter and change volume (usually up).
Of course, when multiple tracks are selected, moving one fader *should* also affect(s) the others; i.e. they should move as a group. But, since we have bi-directional control, that may result in some sort of feedback loop. I'm not sure if this can be easily fixed, and without access to the hardware it may be difficult to fine-tune this sort of behavior. (I don't have anything similar with motorized faders either atm; I used to own a Yamaha ProMix 01 that I only used for the faders, but lost that a few years ago).

I'm guessing that the jitter problem you're seeing is related to rounding issues when converting track volume fader values from OSC to MIDI, as your faders have a (much) more limited resolution than REAPER. Perhaps we can prevent the jitter issue somehow, by rounding the values to the resolution of the hardware. For that, we'd have to know the *exact* resolution of the faders on the StudioMix device. Their range may be 14 bit (0-16383) in theory, but it is very unlikely that all bits are used. Can you try to figure out the exact 'step size' of the faders by looking at their MIDI output, using some kind of MIDI monitor (e.g. ReaControlMIDI > Show Log - enable the device for input first, as you should currently have it disabled)?

Another possibility would be some sort of time-out mechanism when multiple tracks are selected. I'm not sure how best to implement something like that, and also, it may make more sense to put up a FR to add such a functionality to REAPER's OSC Control Surface implementation itself, as this seems to be an issue that is likely to happen as well with similar hardware.
Quote:
Originally Posted by N2NPro View Post
2. Dbl clk fader to zero out, produces inconsistent results in volume levels, it doesn't go to zero - up to 1.5 db difference in range between all faders. 1&2 include master fader inconsistency.
Zero: I assume you mean 0dB there? Fwiw, I do know that when a fader is at its minimum position, it sends a value of *nearly* 0 (rather than absolute 0).

I guess this is probably caused by the same (rounding) issue as your issue 1. And, maybe, by slight differences between the 9 faders - which could perhaps be addressed by some sort of calibration. That would probably be quite complicated, though...
Quote:
Originally Posted by N2NPro View Post
3. Selecting tracks produces inconsistent behavior especially when using keyboard combo's like ctrl/select or shift select.
Not sure about this one... The interaction between track selection on (a) remote control surface(s) and track selection in REAPER can be really confusing, and can be controlled by some values to define device behavior in the .ReaperOSC file.

Do the revised settings (see below, re: 4) perhaps improve the behavior? If not, please describe some specific examples of the inconsistencies you're seeing.
Quote:
Originally Posted by N2NPro View Post
4. Bank FWD or PREV doesn't function at all.
Oops, seems like I had commented out some line which I shouldn't have in the OSCII-bot+StudioMix.ReaperOSC file. To fix, simply uncomment these two lines by removing the "# " bit in front of them:
Code:
# DEVICE_PREV_TRACK_BANK t/device/track/bank/-
# DEVICE_NEXT_TRACK_BANK t/device/track/bank/+
Also, change this line:
Code:
REAPER_TRACK_FOLLOWS REAPER
to
Code:
REAPER_TRACK_FOLLOWS DEVICE
(and reload the OSC configuration, of course). You can also re-download my updated version.

Btw, also try changing this line:
Code:
DEVICE_TRACK_BANK_FOLLOWS MIXER
to
Code:
DEVICE_TRACK_BANK_FOLLOWS DEVICE
The MIXER setting is fun: if you scroll the mixer in REAPER, you should see the motorized faders 'scroll' sideways too! The DEVICE setting may be more practical, though. Just try both to find out which behavior best suits your workflow.
Quote:
Originally Posted by N2NPro View Post
5. Play/Pause and Stop are switched up control wise. EDIT-> I changed this myself. (I just switched numbers in the OSCII-bot.txt)
Oh... I now see you used stop for play/pause and vice versa all along. I was going by the [> and [ ] symbols in the picture instead of your textual description there. Good to see that you fixed it already.
Quote:
Originally Posted by N2NPro View Post
6. The Shuttle control (Outer wheel, NRPN 7001) kind of pumps the action, meaning a clockwise turn moves the play cursor ahead a few beats and upon returning it to center moves it forward a few more beats. The same applies to the counter clockwise motion.
Hmm, this control is probably the hardest to understand / configure for something useful.

I'm guessing, when you return to center by going counterclockwise after having turned it clockwise first, it is still sending out 'positive' values, but with a decreasing step size, rather than 'negative' values. Can you try to find out more details? Perhaps record the MIDI of such a movement so we can analyse it?
Quote:
Originally Posted by N2NPro View Post
7. The Jog wheel scrolls the time line but doesn't move the play cursor. I'm hoping to have the shuttle move the play cursor roughly fwd or rev and the jog wheel move the play cursor finely fwd or rev.
How about putting those FWD/REW commands here, as they *do* move the cursor "a little ahead or back" (see 8. below)?
Quote:
Originally Posted by N2NPro View Post
8. FWD and REW work as "move a little ahead or back" but not "Transport- Go to start/end of project, as I would prefer. EDIT-> I changed this myself. (I changed to OSCII-bot.txt to an action. I saw how you did Undo/Redo) kind of proud of myself to get that one.
Excellent. I'm proud of you too.
Quote:
Originally Posted by N2NPro View Post
9. REC, Master Mute, Mute/Solo selected and redo/undo all work great.
Awesome.
Quote:
Originally Posted by N2NPro View Post
10. Panning rotors work great the resolution is perfect. I disabled the Master pan as it is unnecessary in my work (master pan always stays centered).
Yeah, I kind of figured that. I only set up the master pan control to fill the available space in a consistent manner, and have something to test for that knob too.
Quote:
Originally Posted by N2NPro View Post
The top rotors (500-507) and master rotor 1&2 (4500,4501)I would prefer to be assignable.
Ok, then we'll change those NRPNs to something else. (Did you test if the knobs work as expected with the pan 2 controls, though?)

One thing we can do (that I hadn't thought of earlier, but should work perfectly) is to make them send OSC messages like:
Code:
/studiomix/knob/1 [value]
Then you would use the 'learn' function in REAPER to bind these messages to whatever you want.

For another option (the one I suggested earlier), we could convert those NRPNs to 'regular' CC#s. This seems slightly less elegant, and may add some additional latency, but would perhaps also be more broadly usable (since MIDI is supported almost everywhere, and OSC isn't).

For the second option, you need to add another MIDI output from OSCII-bot to REAPER (as the first one is already in use for sending 'feedback' to the StudioMix device), using a virtual MIDI cable such as LoopMidi (or MIDIYoke, the IAC driver bus on OS X, etc.). You have already seen how to configure a MIDI output, so we'll do much the same again. After the line
Code:
@output out1 MIDI "Layla24 MIDI"
you should add another line, such as
Code:
@output out2 MIDI "LoopMidi"
As before, you may need to edit the name to match the name reported by the driver.

Next, you should decide if you want your CC#s to use 7 or 14 bit resolution, absolute or relative, and which MIDI channel(s) and CC#s should be used. I'll make some changes to the script and have v0.3 send some OSC and/or CC#s. Can you post your version 0.2?

[EDIT: halfway my coffee, already have the OSC version working, using the same step size as the pan controls. Not having feedback really sucks, though. ]
__________________
˙lɐd 'ʎɐʍ ƃuoɹʍ ǝɥʇ ǝɔıʌǝp ʇɐɥʇ ƃuıploɥ ǝɹ,noʎ
Banned is offline   Reply With Quote
Old 03-28-2014, 11:57 AM   #21
jico27
Human being with feelings
 
jico27's Avatar
 
Join Date: Oct 2009
Location: Paris / France
Posts: 373
Red face

Quote:
Originally Posted by Banned View Post
Cool. Ok, let's start getting a bit practical then.

...

Note that:
- the settings used for 'Receive on port' / 'Host IP' match the settings at @output;
- the settings used for 'Send to port' / 'Device IP' match the settings at @input.

If you see any errors in OSCII-bot, try editing the IOTest.txt file, saving, and reloading the script again in OSCII-bot.

Any questions or problems so far? Lets hear it.

Hi, i'm trying to jump in but my settings are wrong. I have no chance with them.
Can you help me ?
Here they are:
Receive on port 8000 Host IP 192.168.0.22
Send to port 9000 Device IP 127.0.0.1
Outgoing max... 1024 Wait... 0ms

IO test.txt is edited like this:

// ### MIDI input from StudioMix device ###
@input in1 MIDI "StudioMix" // This may work for the StudioMix device; edit the name if it doesn't
//@input in1 MIDI "Port 1" // This is for testing with a Behringer BCR-2000 on OS X - feel free to delete or comment out

// ### OSC input from REAPER (using an OSC Control Surface configuration) ###
// NB: REAPER's OSC Control Surface must be configured to *send* OSC messages to this network address/port!
@input localhost-input OSC "127.0.0.1:9000"
//@input localhost-input OSC "192.168.0.22:9000"

// ### OSC output to REAPER ###
// NB: REAPER's OSC Control Surface must be configured to *receive* OSC messages on this network address/port!
//@output localhost OSC "127.0.0.1:8000" 1024 0 // try to use this one first (may work if wi-fi is switched on)
@output localhost OSC "192.168.0.22:8000" 1024 0 // else, try to use this one (may work if wi-fi is switched off)

// ### MIDI output to StudioMix device ###
@output out1 MIDI "StudioMix" // This may work for the StudioMix device; edit the name if it doesn't...

N.B.: I can't change the Host IP address (for 127.0.0.1). Writing in the field is not available...

Cockos OscII-Bot displays this:
Warning: tried to open device matching 'StudioMix'(0) but failed, will retry
Error listening for '127.0.0.1:9000'
Warning: tried to open device matching 'StudioMix'(0) but failed, will retry
1 inputs, 2 outputs, 0 strings

Total: 1 scripts, 1 inputs, 2 outputs

Is there anything that i did wrong?
jico27 is offline   Reply With Quote
Old 03-28-2014, 12:32 PM   #22
jico27
Human being with feelings
 
jico27's Avatar
 
Join Date: Oct 2009
Location: Paris / France
Posts: 373
Default

Wow, i've just seen the incredible work you've done in your updated version.
Hope this will work for me too.
Actually, a year ago or so, i asked to Klinke (a famous member of this forum) if he was planning to make an extension for reaper for the studiomix. His answer was 'might be a possibility', but that was none of his priorities. Suddenly my studiomix appeared so obsolete to me...
And today, thanks to you, i find this incredible opportunity to make this little CS work with Reaper !
It's really generous of you to share your programming knowledge.
A great thank you !
jico27 is offline   Reply With Quote
Old 03-28-2014, 01:04 PM   #23
Banned
Human being with feelings
 
Banned's Avatar
 
Join Date: Mar 2008
Location: Unwired (probably in the proximity of Amsterdam)
Posts: 4,868
Default

Glad to see other StudioMix users jumping in.
Quote:
Originally Posted by jico27 View Post
Hi, i'm trying to jump in but my settings are wrong. I have no chance with them.
Can you help me ? [...]

Is there anything that i did wrong?
I'm sorry, but I don't really have an idea... as I don't know how to configure the IP networking on your system. Perhaps you have Windows 8, using IPv6? (127.0.0.1 aka 'localhost' is in the old IPv4 format). Try changing the line
Code:
@input localhost-input OSC "127.0.0.1:9000"
to something else, until OSCII-bot doesn't give you an error; then match it in REAPER's OSC Control Surface settings. Maybe look at the networking configuration on your system to get a clue? (E.g. on Windows, type "ipconfig /all" in the command line console thing.)

(See, this is exactly why I used that I/O test script: to get the connectivity issues out of the way first - it's really quite a separate issue... )

To fix the MIDI I/O errors, I guess you should use the name "Layla24 MIDI" for both input and output lines, as suggested by N2NPro (the last updated version of the script already includes that).
__________________
˙lɐd 'ʎɐʍ ƃuoɹʍ ǝɥʇ ǝɔıʌǝp ʇɐɥʇ ƃuıploɥ ǝɹ,noʎ
Banned is offline   Reply With Quote
Old 03-28-2014, 01:16 PM   #24
jico27
Human being with feelings
 
jico27's Avatar
 
Join Date: Oct 2009
Location: Paris / France
Posts: 373
Unhappy

I renamed 'Studio mix' into 'Profire 2626 MIDI' to match my I/O names, but still no luck:
Error listening for '127.0.0.1:9000'
1 inputs, 2 outputs, 0 strings

Total: 1 scripts, 1 inputs, 2 outputs

What can be the reason for this failure?
jico27 is offline   Reply With Quote
Old 03-28-2014, 01:36 PM   #25
jico27
Human being with feelings
 
jico27's Avatar
 
Join Date: Oct 2009
Location: Paris / France
Posts: 373
Smile

To follow your advice, i changed 127.0.0.1 to 127.0.1.10 and it works.
I let you know if all the rest goes right...
jico27 is offline   Reply With Quote
Old 03-28-2014, 01:50 PM   #26
Banned
Human being with feelings
 
Banned's Avatar
 
Join Date: Mar 2008
Location: Unwired (probably in the proximity of Amsterdam)
Posts: 4,868
Default

Quote:
Originally Posted by jico27 View Post
I renamed 'Studio mix' into 'Profire 2626 MIDI' to match my I/O names, but still no luck:
Error listening for '127.0.0.1:9000'
1 inputs, 2 outputs, 0 strings

Total: 1 scripts, 1 inputs, 2 outputs

What can be the reason for this failure?
Again, no idea - this really has nothing to do with OSCII-bot per se. IP networking issues are typically related to your system (what OS do you use, how do you use wi-fi and/or ethernet? etc.). I'd suggest searching for a solution more generally, not in this specific context.

Maybe try this (this works on my system, too):
Code:
@input localhost-input OSC "localhost:9000"
__________________
˙lɐd 'ʎɐʍ ƃuoɹʍ ǝɥʇ ǝɔıʌǝp ʇɐɥʇ ƃuıploɥ ǝɹ,noʎ
Banned is offline   Reply With Quote
Old 03-28-2014, 01:51 PM   #27
Banned
Human being with feelings
 
Banned's Avatar
 
Join Date: Mar 2008
Location: Unwired (probably in the proximity of Amsterdam)
Posts: 4,868
Default

Quote:
Originally Posted by jico27 View Post
I renamed 'Studio mix' into 'Profire 2626 MIDI' to match my I/O names, but still no luck:
Error listening for '127.0.0.1:9000'
1 inputs, 2 outputs, 0 strings

Total: 1 scripts, 1 inputs, 2 outputs

What can be the reason for this failure?
Again, no idea - this really has nothing to do with OSCII-bot per se. IP networking issues are typically related to your system (what OS do you use, how do you use wi-fi and/or ethernet? etc.). I'd suggest searching for a solution more generally, not in this specific context.

Maybe try this (this works on my system, too):
Code:
@input localhost-input OSC "localhost:9000"
You can also type "localhost" into REAPER's OSC Control Surface 'Device IP' field.
Quote:
Originally Posted by jico27 View Post
To follow your advice, i changed 127.0.0.1 to 127.0.1.10 and it works.
I let you know if all the rest goes right...
Hope it does... again, make sure to match the output from REAPER's OSC Control Surface to OSCII-bot's input, and match the output from OSCII-bot to REAPER's OSC Control Surface input. Success!
__________________
˙lɐd 'ʎɐʍ ƃuoɹʍ ǝɥʇ ǝɔıʌǝp ʇɐɥʇ ƃuıploɥ ǝɹ,noʎ

Last edited by Banned; 03-28-2014 at 02:13 PM.
Banned is offline   Reply With Quote
Old 03-28-2014, 03:18 PM   #28
jico27
Human being with feelings
 
jico27's Avatar
 
Join Date: Oct 2009
Location: Paris / France
Posts: 373
Default

I had to change twice the device ip adress which now is ok.
The Layla24 MIDI name doesn't work for me since i have a 'Profire 2626 MIDI' interface to connect to the StudioMix. So i edited the files with this name mentioned instead.
As for the rest, everything worked as expected! oscii-bot now displays :
E:\Users\JMR\AppData\Roaming\oscii-bot\IOTest.txt
Listening on '127.0.1.0:9000'
2 inputs, 2 outputs, 0 strings

E:\Users\JMR\AppData\Roaming\oscii-bot\StudioMix+REAPER.txt
Attached to already-opened device 'Profire 2626 MIDI'
Attached to already-opened listener '127.0.1.0:9000'
Attached to already-opened device 'Profire 2626 MIDI'
2 inputs, 2 outputs, 47 strings

Total: 2 scripts, 2 inputs, 2 outputs

Everything is properly connected, thanks to your advice.
My Studio Mix behaves approximately as N2NPro described it, with slight differences.

Play doesn't work but i can use stop for play and stop.
REW & FW have a very slow course & action with little range
Faders run very smoothly,
Pans work right
Master works perfectly
Rec works right
BNK FW & BNK PREV work both right
5001 & 5002 (mute sel & solo sel) don't work
2500 to 2507 (chan sel) have no action
7001 (fine tuning) doesn't behave exactly the same way if turned clockwise / counterclockwise
7000 doesn't move the cursor but goes through the project.
5004 (undo) works fine but 5003 (redo) doesn't work

I didn't try the midi learn function yet for the assignable buttons, but this is a very good start, considering that i never thought it possible to use my studiomix with reaper.
Thanks again.
jico27 is offline   Reply With Quote
Old 03-28-2014, 03:27 PM   #29
jico27
Human being with feelings
 
jico27's Avatar
 
Join Date: Oct 2009
Location: Paris / France
Posts: 373
Default

Trying to get some sleep now...
it's almost midnight here.
See you tomorrow.
jico27 is offline   Reply With Quote
Old 03-28-2014, 03:49 PM   #30
Banned
Human being with feelings
 
Banned's Avatar
 
Join Date: Mar 2008
Location: Unwired (probably in the proximity of Amsterdam)
Posts: 4,868
Default

Quote:
Originally Posted by jico27 View Post
I had to change twice the device ip adress which now is ok. [...]
Everything is properly connected, thanks to your advice.
My Studio Mix behaves approximately as N2NPro described it, with slight differences. [...]

I didn't try the midi learn function yet for the assignable buttons, but this is a very good start, considering that i never thought it possible to use my studiomix with reaper.
Thanks again.
You're welcome, and great to hear that you got the connections working! You can now just delete that IOTest.txt script and continue with the StudioMix+REAPER.txt one.

Fwiw, I haven't implemented MIDI for the top row of knobs, but OSC (for simplicity's sake: no virtual MIDI cable needed). In REAPER, you would use exactly the same window to 'learn' bindings to them, though - so that shouldn't make much of a difference in practice. To the contrary: this allows us to easily define the 'step size' for those knobs.

Hopefully, we'll sort out the remaining quirks, your feedback will likely be very helpful. I think I already fixed a few, but haven't yet replaced the script in my Dropbox for you guys to download (still testing some stuff). Check back later for an updated version, and we'll step through that list of quirks again.
Quote:
Originally Posted by jico27 View Post
Trying to get some sleep now...
it's almost midnight here.
See you tomorrow.
Same timezone up here in Les Pays-Bas. But.. it's Friday night!! No time for sleep just yet...
__________________
˙lɐd 'ʎɐʍ ƃuoɹʍ ǝɥʇ ǝɔıʌǝp ʇɐɥʇ ƃuıploɥ ǝɹ,noʎ
Banned is offline   Reply With Quote
Old 03-28-2014, 04:15 PM   #31
N2NPro
Human being with feelings
 
Join Date: Aug 2013
Location: SD Cali
Posts: 112
Default

Hi Banned & jico27,
I too am glad to have another StudioMix enthusiast on board. And yes, Banned is a true guru leading his flock and I am a devoted and grateful follower.

Quote:
Originally Posted by Banned
Of course, when multiple tracks are selected, moving one fader *should* also affect(s) the others; i.e. they should move as a group. But, since we have bi-directional control, that may result in some sort of feedback loop. I'm not sure if this can be easily fixed, and without access to the hardware it may be difficult to fine-tune this sort of behavior. (I don't have anything similar with motorized faders either atm; I used to own a Yamaha ProMix 01 that I only used for the faders, but lost that a few years ago).
The StudioMix has a bit of jitter and fader creep even in Sonar. There was a group modding the StudioMix with a new eprom that sent CC messages and improved or cured fader creep/jitter so it's a known issue. The problem here is, it's more than jitter/creep, it's fighting my movements when several tracks are selected and then creeps up on it's own until I de-select the tracks. The fewer the tracks, the less fight... One thing that intrigued me regarding PD was the ability to re-map the resolution and I thought perhaps this might be a way to not only implement the StudioMix bi-directionally but improve it's smoothness. You mentioned re-mapping the fader resolution to inf/0 instead of inf/+6db to gain higher resolution, perhaps this might improve the jitter/creep (of course I'm just guessing.)

Quote:
Originally Posted by Banned
Can you try to figure out the exact 'step size' of the faders by looking at their MIDI output, using some kind of MIDI monitor (e.g. ReaControlMIDI > Show Log - enable the device for input first, as you should currently have it disabled)?
My REAControl log files->http://www.n2nproductions.com/studio...og%20Files.zip

Quote:
Originally Posted by N2NPro
7. The Jog wheel scrolls the time line but doesn't move the play cursor. I'm hoping to have the shuttle move the play cursor roughly fwd or rev and the jog wheel move the play cursor finely fwd or rev.
Quote:
Originally Posted by Banned
How about putting those FWD/REW commands here, as they *do* move the cursor "a little ahead or back" (see 8. below)?
That sounds good.

Quote:
Originally Posted by Banned
For another option (the one I suggested earlier), we could convert those NRPNs to 'regular' CC#s. This seems slightly less elegant, and may add some additional latency, but would perhaps also be more broadly usable (since MIDI is supported almost everywhere, and OSC isn't).

For the second option, you need to add another MIDI output from OSCII-bot to REAPER (as the first one is already in use for sending 'feedback' to the StudioMix device), using a virtual MIDI cable such as LoopMidi (or MIDIYoke, the IAC driver bus on OS X, etc.). You have already seen how to configure a MIDI output, so we'll do much the same again.
This is not a problem I prefer assignable to CC but I have no idea regarding 7/14 bit and absolute or relative... Now I use mostly relative for FX controls.
What would be nice is to have the knob open the plugin GUI when the rotor is moved so you can see which FX you are working on. Not sure if this is possible but it seems nothing is impossible for you

I have tested your "re-download my updated version." and it works better. The select issue is gone when using ctrl/shift and the StudioMix select buttons.
The fader jitter/creep is still there along with multi-selected fader fighting when trying to move.

Here are my v0.2 files->http://www.n2nproductions.com/studio...les%20v0.2.zip

Thank you again! I am looking forward to the next mods.
Kindly,

N2N
N2NPro is offline   Reply With Quote
Old 03-28-2014, 05:03 PM   #32
Banned
Human being with feelings
 
Banned's Avatar
 
Join Date: Mar 2008
Location: Unwired (probably in the proximity of Amsterdam)
Posts: 4,868
Default

Quote:
Originally Posted by N2NPro View Post
Hi Banned & jico27,
I too am glad to have another StudioMix enthusiast on board. And yes, Banned is a true guru leading his flock and I am a devoted and grateful follower.

Quote:
Originally Posted by N2NPro View Post
The StudioMix has a bit of jitter and fader creep even in Sonar. There was a group modding the StudioMix with a new eprom that sent CC messages and improved or cured fader creep/jitter so it's a known issue. The problem here is, it's more than jitter/creep, it's fighting my movements when several tracks are selected and then creeps up on it's own until I de-select the tracks. The fewer the tracks, the less fight... One thing that intrigued me regarding PD was the ability to re-map the resolution and I thought perhaps this might be a way to not only implement the StudioMix bi-directionally but improve it's smoothness. You mentioned re-mapping the fader resolution to inf/0 instead of inf/+6db to gain higher resolution, perhaps this might improve the jitter/creep (of course I'm just guessing.)
Rescaling may help slightly, but I don't really think it changes the fundamental problem. (Its main benefit, imho, is being able to use the full resolution, instead of having a significant 'dead zone' that hardly ever gets used. Also, I like to *throw* faders up without going over 0dB. ).

What may help, is to use the timer mechanism for waiting between packets. Try setting a positive value in this line:
Code:
@output localhost OSC "192.168.2.113:8000" 0 0
For example, try 10 or 20 ms:
Code:
@output localhost OSC "192.168.2.113:8000" 10 0
And similarly, adjust the "Wait between packets" value in REAPER's OSC Control Surface settings. Perhaps that will delay the feedback just enough not to get into a loop? I'd suggest experimenting a bit with relatively high settings (maybe even 500ms or so) - if the issue would disappear, keep lowering the time-out value until you experience the problem, then go one step back.

Fwiw, the default values are packets of 1024 bytes, waiting 10ms between packets. But I typically disable packets (max. size = 0) and will not let REAPER wait to send anything, in order to minimize latency as much as possible. But that may not be a wise choice for this particular setup, with motorized faders 'fighting' you.
Quote:
Originally Posted by N2NPro View Post
Cool, I'll have a look at them.
Quote:
Originally Posted by N2NPro View Post
This is not a problem I prefer assignable to CC but I have no idea regarding 7/14 bit and absolute or relative... Now I use mostly relative for FX controls.
What would be nice is to have the knob open the plugin GUI when the rotor is moved so you can see which FX you are working on. Not sure if this is possible but it seems nothing is impossible for you
Well, we may be able to do something like that... but Pure data would probably be easier for such more complex stuff. And, if you want to have 'freely assignable' knobs, we would need some mechanism to figure out if they're actually assigned to an effect - by definition, they could be doing *anything*.

Of course, you can also use *fixed* assignments with the OSC features, and use those knobs for plug-in parameters, in banks of 8 (or 10) at a time. But then you'd also need to reserve two more buttons for selecting the next/previous parameter bank. Or, use one knob (NRPN 4501?) left/right for selecting prev/next banks, leaving 9 knobs (NRPN 500-507+4500) for a bank of 9 parameters. How does that sound?
Quote:
Originally Posted by N2NPro View Post
I have tested your "re-download my updated version." and it works better. The select issue is gone when using ctrl/shift and the StudioMix select buttons.
The fader jitter/creep is still there along with multi-selected fader fighting when trying to move.
Good to hear the adjustments have improved the behavior. More later, stay tuned.
__________________
˙lɐd 'ʎɐʍ ƃuoɹʍ ǝɥʇ ǝɔıʌǝp ʇɐɥʇ ƃuıploɥ ǝɹ,noʎ

Last edited by Banned; 03-28-2014 at 06:20 PM.
Banned is offline   Reply With Quote
Old 03-28-2014, 05:53 PM   #33
Banned
Human being with feelings
 
Banned's Avatar
 
Join Date: Mar 2008
Location: Unwired (probably in the proximity of Amsterdam)
Posts: 4,868
Default

Some remarks about a few of these issues:
Quote:
Originally Posted by jico27 View Post
[...] My Studio Mix behaves approximately as N2NPro described it, with slight differences.

Play doesn't work but i can use stop for play and stop.
Note that N2NPro chose to switch the play/pause and stop buttons around (for some reason - you'd have to ask him). But of course, I'll be glad to show you how to switch them back.
Quote:
Originally Posted by jico27 View Post
REW & FW have a very slow course & action with little range
Well, that's simply how they work... not much I can do about that, afaik. If this really bothers you, you may consider putting up a FR for configurable forwarding/rewinding speed. It would get my vote.
Quote:
Originally Posted by jico27 View Post
5001 & 5002 (mute sel & solo sel) don't work
2500 to 2507 (chan sel) have no action
They should now work, last time I tested...

I'm guessing that you did not yet install the OSCII-bot+StudioMix.ReaperOSC config file (posted above) for the OSC Control Surface in REAPER? Some settings need to be configured different from the default config (for example, as noted above, DEVICE_TRACK_FOLLOWS should be set to LAST_TOUCHED instead of DEVICE for this to work as expected).
Quote:
Originally Posted by jico27 View Post
7001 (fine tuning) doesn't behave exactly the same way if turned clockwise / counterclockwise
Yeah, this is a probably going to be a tough one to get right.
Quote:
Originally Posted by jico27 View Post
7000 doesn't move the cursor but goes through the project.
Yes, it just scrolls, for now - I am going to change that, to use the forward/rewind functions (which now reside under those transport buttons mentioned above), as N2NPro already has requested. Would that work for you too? Lay-out/design is more a matter of personal preference than technical debugging, of course. Feel free to suggest something different, and I'll see what I can do.
Quote:
Originally Posted by jico27 View Post
5004 (undo) works fine but 5003 (redo) doesn't work
Hmm, it did when I briefly tested it... of course, REAPER needs to have something to redo - the function is 'greyed out' until you actually undo one or more steps. This had me fooled a few times during testing as well ("hey, I'm pressing this button, but not seeing anything change... ?").
__________________
˙lɐd 'ʎɐʍ ƃuoɹʍ ǝɥʇ ǝɔıʌǝp ʇɐɥʇ ƃuıploɥ ǝɹ,noʎ
Banned is offline   Reply With Quote
Old 03-28-2014, 09:51 PM   #34
N2NPro
Human being with feelings
 
Join Date: Aug 2013
Location: SD Cali
Posts: 112
Default

Hi Banned et al,

Quote:
Originally Posted by Banned
What may help, is to use the timer mechanism for waiting between packets. Try setting a positive value in this line:
Code:
@output localhost OSC "192.168.2.113:8000" 0 0

For example, try 10 or 20 ms:
Code:
@output localhost OSC "192.168.2.113:8000" 10 0

And similarly, adjust the "Wait between packets" value in REAPER's OSC Control Surface settings. Perhaps that will delay the feedback just enough not to get into a loop? I'd suggest experimenting a bit with relatively high settings (maybe even 500ms or so) - if the issue would disappear, keep lowering the time-out value until you experience the problem, then go one step back.
Fwiw, the default values are packets of 1024 bytes, waiting 10ms between packets. But I typically disable packets (max. size = 0) and will not let REAPER wait to send anything, in order to minimize latency as much as possible. But that may not be a wise choice for this particular setup, with motorized faders 'fighting' you.
Unfortunately, this didn't help a bit, in fact, as I raised the value it worsened. The ranges became much more varied and unmanageable. Maybe scaling will help.

Quote:
Originally Posted by Banned
Quote:
Originally Posted by jico27 View Post
[...] My Studio Mix behaves approximately as N2NPro described it, with slight differences.

Play doesn't work but i can use stop for play and stop.
Note that N2NPro chose to switch the play/pause and stop buttons around (for some reason - you'd have to ask him). But of course, I'll be glad to show you how to switch them back.
Somehow we missed that connection... I have mine set so the play button is "Play/Pause" and the stop button is "stop". (Just as I like it) my files have those changes along with removing the master pan knob.

Quote:
Originally Posted by Banned
Of course, you can also use *fixed* assignments with the OSC features, and use those knobs for plug-in parameters, in banks of 8 (or 10) at a time. But then you'd also need to reserve two more buttons for selecting the next/previous parameter bank. Or, use one knob (NRPN 4501?) left/right for selecting prev/next banks, leaving 9 knobs (NRPN 500-507+4500) for a bank of 9 parameters. How does that sound?
Is it possible to assign a keyboard key to change banks so as to not lose a knob or pair of buttons? Assigning knobs without feedback could get very confusing, that's why I thought maybe upon selecting a track and touching a knob could also trigger the FX GUI. I like the idea of having all 10 knobs assigned to specific FX parameters that are switchable with track banking.
example:
Track 1-8 have EQ (4 knobs), COMP (2 knobs), REVERB (2 knobs)
by selecting track 1 and touching knob 1 opens the EQ GUI, or selecting track 1 and pressing a keyboard hot key brings up the EQ GUI so when the knob is turned you can see exactly what's going on. This would be amazing instead of doing it blind or clicking around to bring the GUI.

I hope there's something that can be done regarding fader jitter/creep... it's kind of a deal breaker. I am totally impressed with the concepts and am ready to continue plugging away. I am going to have a swing at the Jog and shuttle wheels.
I look forward to your responses.

I found this, not sure if the info might shed some light on jitter correction.
http://www.n2nproductions.com/studio...er%20Eater.rtf

N2N

Last edited by N2NPro; 03-28-2014 at 11:26 PM.
N2NPro is offline   Reply With Quote
Old 03-29-2014, 03:49 AM   #35
jico27
Human being with feelings
 
jico27's Avatar
 
Join Date: Oct 2009
Location: Paris / France
Posts: 373
Wink

ok deleted IOtest.txt
After updating & verification
- 5004 (undo) & 5003 (redo) both work fine
- I don't clearly see where
2500 to 2507 (chan sel) have an action. They have no action on the track select button.
is it on the midi / audio channels of each track?
- 5001 & 5002 (mute sel & solo sel) don't work

Also, I'd be glad to get the play button working again since it's not assigned to anything.

A FR for configurable forwarding/rewinding speed is a good idea but it may not have any success with the reaper team. So the option consisting in putting the FWD/REW commands on the jog wheel sounds good to me too.

Personnally i have no real problem about jitter/creep behaviors on my faders. Everythning seems to be ok.

But i vote for N2N's option about assignable buttons (1-8) in association with keyboards shortcuts and the ability to open the GUI when a rotary is moved.
These ideas are certainly based on a long experience with sonar + studio mix. In any case they make sense to me.

I look forward to your new mods, banner.
jico27 is offline   Reply With Quote
Old 03-29-2014, 05:40 AM   #36
Banned
Human being with feelings
 
Banned's Avatar
 
Join Date: Mar 2008
Location: Unwired (probably in the proximity of Amsterdam)
Posts: 4,868
Default

Quote:
Originally Posted by jico27 View Post
[...]
- I don't clearly see where
2500 to 2507 (chan sel) have an action. They have no action on the track select button.
is it on the midi / audio channels of each track?
- 5001 & 5002 (mute sel & solo sel) don't work

[...] Personnally i have no real problem about jitter/creep behaviors on my faders. Everythning seems to be ok. [...]
I'm guessing you *still* did not install that OSCII-bot+StudioMix.ReaperOSC file, then. Did you?

The 'fighting faders' issue is related to having multiple tracks selected. So, if the track selection buttons do not work for you yet, I wouldn't expect to see that specific issue either.
__________________
˙lɐd 'ʎɐʍ ƃuoɹʍ ǝɥʇ ǝɔıʌǝp ʇɐɥʇ ƃuıploɥ ǝɹ,noʎ
Banned is offline   Reply With Quote
Old 03-29-2014, 07:26 AM   #37
N2NPro
Human being with feelings
 
Join Date: Aug 2013
Location: SD Cali
Posts: 112
Default

Hi jico27,

You have to place the OSCII-bot+StudioMix.ReaperOSC file in the OSC folder found typically at:
users-(your user)-appdata-roaming-Reaper-OSC
Once you have the file in the correct place you can select it from the Reaper Control surface OSC GUI. You probably have it set to default now. Once you make that change you should be good to go with all the controls.
Keep us posted.

N2N
N2NPro is offline   Reply With Quote
Old 03-29-2014, 07:45 AM   #38
N2NPro
Human being with feelings
 
Join Date: Aug 2013
Location: SD Cali
Posts: 112
Default

Hi Banned,
I had a go last night with trying to get the jog wheel changed to "Tansport: Scrub/jog fine control" Cmd ID 974. I can't do it. I'm sure it has to do with incorrect setting as it was set to scrolling the time line and has different parameters, I can't figure out. I tried stealing the code from the other knobs but haven't been lucky.
Thanks again for all your help and attention.

N2N
N2NPro is offline   Reply With Quote
Old 03-29-2014, 08:00 AM   #39
jico27
Human being with feelings
 
jico27's Avatar
 
Join Date: Oct 2009
Location: Paris / France
Posts: 373
Question

Quote:
Originally Posted by Banned View Post
I'm guessing you *still* did not install that OSCII-bot+StudioMix.ReaperOSC file, then. Did you?
Yes, i did. I've just re-downloaded it, just to be sure. But i have no better results. This time I noticed a
"unknown action "DEVICE_MARKER_COUNT"on line 19" error message as i selected the OSCII-Bot+StudioMix pattern in the CS parameter window.
Maybe i didn't pay attention or didn't see it this morning.
I apologize about that. I suppose it may be the cause of the misfunctioning...(?)
jico27 is offline   Reply With Quote
Old 03-29-2014, 08:05 AM   #40
Banned
Human being with feelings
 
Banned's Avatar
 
Join Date: Mar 2008
Location: Unwired (probably in the proximity of Amsterdam)
Posts: 4,868
Default

Quote:
Originally Posted by jico27 View Post
Yes, i did. I've just re-downloaded it, just to be sure. But i have no better results. This time I noticed a
"unknown action "DEVICE_MARKER_COUNT"on line 19" error message as i selected the OSCII-Bot+StudioMix pattern in the CS parameter window.
Maybe i didn't pay attention or didn't see it this morning.
I apologize about that. I suppose it may be the cause of the misfunctioning...(?)
What version of REAPER are you using? I think the marker stuff has been added quite recently. And if the config fails to load, that would explain things not working as expected. Try installing the latest version of REAPER, if you haven't yet?
__________________
˙lɐd 'ʎɐʍ ƃuoɹʍ ǝɥʇ ǝɔıʌǝp ʇɐɥʇ ƃuıploɥ ǝɹ,noʎ
Banned 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 09:24 PM.


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