Is there another (for a lack of a better word) 'signal' an Open Stage Control button can send? I've been using simple CCs ever since, but I don't want them to interfere with modulation, vibrato, mics, etc. I have a fader tab for those. Jeff Laity uses "NRPNs". Sure, there are undefined CCs, but I mean come on. Really? CCs 100-127. More buttons. Moving to channel 2. MORE buttons. Moving to channel 3. And it takes so much time! I have a Finale touch controller on hold because of this! There's absolutely no way Jono not Bono's Cubase controller uses MIDI CC's. That many buttons! OSC users with big touchscreens! How do you do it!
Maybe ask @jono_not_bono ?
I don't know about Finale, but depending on what DAW you use, just have a dedicated MIDI Port/device.
I use all CC and Note messages for all 16 channels. Most daws let you choose which MIDI devices should funcion as MIDI input and which ones as control messages.
In Cubase, Reaper and Pro Tools it's possible. Let me know if you search on how.
Only using CCs you get 2048 controls. When using Notes, you are already at the double. If that's not enough, hit me up!
Hope that helps.
That's EXACTLY what I'm doing -- when I get a DAW that lets me choose my desired MIDI inputs.
GarageBand has served me well but I could definitely use an upgrade. Hopefully soon. Can Logic do that? Let me choose the MIDI inputs?
Oh shit... but then I can't use my OSC faders. Oh well. At least I have hardware faders.
Hi @fscarlett4i4 ,
Sorry for the delay, but I was in contact with a colleague who uses Logic. He showed me the settings menu and it seems like it should work.
I don't know much about Logic, but there's a "MIDI Input" tab in settings that let's you choose devices that are used by your tracks.
Then there's a "Control Surfaces". When you go there, you are prompted with a popup window. Inside here you can select and assign the DAW's control messages. Also it let's you choose which MIDI device is beeing used as input.
So in OSC create two midi devices:
- For midi cc, notes, faders, etc.
- For DAW control messages
Then select the first in Logic's "Control Surfaces" and make sure you disable the 2nd device in the "MIDI Input" in settings.
I really hope this helped. You got me in a "asking for a friend" kind of situation there ...
This shouldn't be a problem.
That's possible?
Sure
Have a look here.
Best
It's been a while. I hope I'm not too late. I now have Logic. I'm setting up a touch controller now but I don't understand the whole MIDI devices thing. I can't really understand what's in the link you sent. Should both devices be 0,0 (IAC Driver OSC) or should they be different? Where do I type in the 2 midi devices? In the MIDI field? FYI, this is what's in the midi
field:
OSC:0,0 path=/usr/local/bin/python3
And this is the MIDI device list:
(INFO, MIDI) Inputs
-1: Void (bypass)
0: IAC Driver OSC
1: Scarlett 4i4 USB
2: nanoKONTROL2 SLIDER/KNOB
(INFO, MIDI) Outputs
-1: Void (bypass)
0: IAC Driver OSC
1: Scarlett 4i4 USB
2: nanoKONTROL2 CTRL
Hi @fscarlett4i4 ,
yes, OSC:0,0
should do the trick for now. It generates a midi target (port) for your server. Inside of your editor you can then assign this in the target property. This is also explained a in the Example configuration and the OSC properties for the widgets.
Have a look at this example:
In your case you write midi:OSC
instead. Or you give your devices/ports different names like I do.
You are on a Mac and therefor don't need the path variable. This was important for an earlier version of OSC and is now only used for reasons we don't need to cover
Then select "IAC Driver OSC" in Logic and you should be ready to go. Have fun!
Right, but how do I add multiple MIDI devices in the console? Since I want one for faders and one for buttons. Does OSC:0,0 OSC_faders:0,0
work? Semicolon maybe?
As for the path variable, I'm guessing it has something to do with Python. And when I got OSC, I got a bunch of stuff along with it to make sure it worked correctly, like Python, Xcode, etc. Do I still need these? I'm on v1.17.
On Mac I strongly recommend using virtual ports directly from open stage control by writing "name:virtual" instead of "name:0,0" in the midi config, it's much easier to work with.
The midi config should not contain any path variable, you've probably followed an outdated tutorial if that's the case.
Keep in mind that a space character seperates the commands. so in your case don't just write IAC driver xy
but use quotation marks like this: "IAC driver xy"
.
Here's an example:
"MAP_1:IAC-Virtual MAP_1_toOSC,IAC-Virtual MAP_1_fromOSC" "MIDI_1:IAC-Virtual MIDI_1,IAC-Virtual MIDI_1"
Python & Xcode is not needed. You can deinstall Xcode. Python is already installed on your mac and should stay there Depending on your OS version, you might want to run python3 instead of 2, but it does not matter here.
Best
Like this?
"OSC_Buttons:Virtual" "OSC_Faders:Virtual"
Open stage control doesn't use whatever version of python is installed on the system, it's bundled with a tiny self contained python binary.
@fscarlett4i4 virtual
is lower case. If you write osc_buttons:virtual
in the server's midi config, it will create a virtual midi device (that other software should be able to connect to). Widgets will need to have their target set to midi:osc_buttons
to send/receive from/to this virtual device.
Oh that makes sense. Great!
Sorry, I have question unrelated to this topic, but the discussion ...
So the path variable can be set to tell OSC where to find python in case it doesn't (as specified in documentation). But would OSC prefer the system python over the self contained modules if you set the path? As far as I understand the code, it would not override, if the midiBinary is exists.
It only overrides when "path=" is included in the midi settings, AND another condition connected to "pythonPathOverride" and the midiBinaries. But I can't wrap my head around if that's really what it's saying.
Finally trying this out. Got 2 MIDI devices now, thanks guys. But unfortunately with the osc_buttons:virtual device disabled in MIDI input (which is what I want so the buttons don't mess with CC data), Control Surfaces is not picking it up.
When on a mac you don't necessarily need the whole virtual
settings.
You can just go to "Audio-MIDI-Setup", then "MIDI-Studio". Doubleclick on "IAC-Virtual" like here:
Enable it, so it turns green like in the picture. Yours is probably enabled and you've been here already
Then go to "Ports" and add as many MIDI devices to the list as you wish like you can see here:
Press "Apply" and refresh the MIDI device list in OSC. All the ports you have created should now be visible for OSC. Then again use the names as they appear in the list in OSC to type in the Inputs and Outputs for the targets in midi-settings. Here's an example from above:
Inside Logic you'll NOT find "MAP_1", but "IAC-Virtual MAP_1_fromOSC". The name "MAP_1" is just being used by OSC, but outside it's still your IAC-Virtual.
Did this make things more clear?
Yes, but still, since "IAC Driver OSC Buttons" is disabled in Logic's MIDI inputs, Logic basically acts like it doesn't exist. Therefore, I can't send MIDI messages directly from OSC to Logic (via key command assignments). What I can do is send MIDI messages to Logic indirectly, via Keyboard Maestro.