8 posts
Page 1 of 1
I tried almost anything and I am inclined to think that this is actually a limitation of studio one, but I thought I could ask.
I have a midi surface controller that has both knobs and faders. I would like to set up one of the fader so it always control whatever channel/track is currently selected. Same for the pan knob.

But it doesn't seem to be possible. For buttons, you can pick a macro/command, and for example, arm a track that is currently selected, or solo or mute it; but if you have a knob or a fader, this option is not available.
Is this a bug of Studio One? Would make sense to assign macros to every single type of controls; but for some reason you can do that only for buttons? If that is not correct, why I can't see the menu entry to assign a slider to a global volume for example? Thanks
User avatar
by Tacman7 on Tue Feb 11, 2020 9:18 am
Have you read the chapter in the reference manual about Control Link?

Pg. 203 in my manual.

There's local and global controls.

I think you have to set it up twice if you want to send commands and midi notes, so like a keyboard controller with pads etc.
But not sure about that. I have to go read the manual more.

Studio OnePro 4 64bit Win10 i7 7700k 16gb ram
1TB SSD AsusH270M-PLUS interface:StudioKonnekt 48
Melodyne Studio - Nectar Impact LX25+
Where 'IS' Shitcreek? and
'WHY' would you go there without a paddle?
User avatar
by scottyo7 on Tue Feb 11, 2020 1:46 pm
I found this tutorial to be helpful.
I have an Akai MPK249 and I've had it's knobs and sliders controlling parameters.
But when you say "Track"... that to me, leaves a lot of room for interpretation. :roll:

Adding your specs may help shed light on your overall setup for other to help you?
See my signature link at bottom to add yours. 8-)

If you've not already done so... Please add your Signature & Gear Spec's to your Profile Here.
ASUS Laptop, i7 3820QM; 16GB; 2 Samsung 840 SSD's; NVIDIA GTX 670MX; Win 8.1.
S1 Pro 4.6.1; EZD2 2.1.8. Behringer UMC404HD USB A/I.
Synths: Alchemy, Air Tech Music Suite. Melodyne Studio 4.2.4. Ozone 5, (all 64bit).
Akai MPK249. 6 guitars. Scuffham S-Gear, Eleven Rack, two Line 6 POD's & an E-bow.
Fluid Audio FX8 monitors; Dual 28" Displays. Rode NT1; SM58. Faderport;

-My Band: "2GUYZINABASEMENT"
-Just Me
User avatar
by FC-2 on Tue Feb 11, 2020 6:10 pm
Tacman7 wroteHave you read the chapter in the reference manual about Control Link?

Pg. 203 in my manual.

There's local and global controls.

I think you have to set it up twice if you want to send commands and midi notes, so like a keyboard controller with pads etc.
But not sure about that. I have to go read the manual more.


Thanks Tacman, I did read the manual before posting, and that's why I posted :)

There is no explicit way to assign a control that is of type "slider" or "knob" for an action or macro; you can only move it; and then go to the control you want to assign it to, and right click with the mouse to bind that control.

That may work for many operations; but it does not work for my case. Imagine you have a new project, you add an instrument on a track; and in the mixer you have an element that you want to control: if I assign with right click the fader, it is all fine, until I delete that track; and add a new one. At that point, the fader has to be re-assigned. Same for the knobs if you assign it to the pan control.

Bindings done in this way (right click and assign) are only mapped for individual controllers; while I want to have the control bound to whatever I have selected.
I was able to accomplish this with the mute and solo buttons; so no matter which track I am on, as long as it is selected, I can turn mute and solo on and off with the same button. That is possible because in the midi settings of the device, I right clicked on the button I want to use, when midi learn is enabled; that show me the "assign control" menu, and from there I was able to pick the solo and mute, in the "track" category. That allow me to select any track and the buttons works as expected.

But this won't be possible with sliders and knobs, because when I have midi learn enabled, if I right click on a slider or a knob it won't show the "assign control" menu. If there is another way to do this without the menu, I am not sure. I am just going to check the manual one more time, in case after 3 passes, I missed how to do this :reading:
User avatar
by FC-2 on Tue Feb 11, 2020 6:18 pm
scottyo7 wroteI found this tutorial to be helpful.
I have an Akai MPK249 and I've had it's knobs and sliders controlling parameters.
But when you say "Track"... that to me, leaves a lot of room for interpretation. :roll:

Adding your specs may help shed light on your overall setup for other to help you?
See my signature link at bottom to add yours. 8-)


Thanks Scottyo, sadly that tutorial show what 99% of youtuber show, when explaining how to assign controls. All is fine if you have a control to assign, that is fixed, so a specific knob or element in the UI; but that won't work if what you want is a macro.

I believe all the options in the "assign control" menu, while midi learn is enabled, are macros that are assignable only to buttons.
fader-knob.JPG
fader-knob.JPG (15.28 KiB) Viewed 268 times


button.JPG
button.JPG (16.84 KiB) Viewed 268 times


assigncommand.JPG
User avatar
by niles on Wed Feb 12, 2020 1:45 am
@FC-2, what you want can only be done by writing a piece of XML code to the custom surface map ([devicename].surface.xml) of your device (found here on Windows %USERPROFILE%\AppData\Roaming\PreSonus\Studio One 4\User Devices)

This should contain something like:
Code: Select all
<?xml version="1.0" encoding="UTF-8"?>
<ControlSurface>
  <Controls>

    <!-- MIDI Controls -->
 
    <Control name="encoderVolume" title="Volume" type="knob" options="receive transmit nofeedback">
      <MidiMessage status="#B0" channel="0" address="#10"/>
    </Control>
    <Control name="encoderPan" title="Pan" type="knob" options="receive transmit nofeedback">
      <MidiMessage status="#B0" channel="0" address="#11"/>
    </Control> 
    <Control name="buttonSolo" title="Solo" type="button" options="receive transmit nofeedback">
      <MidiMessage status="#B0" channel="0" address="#12"/>
    </Control>
    <Control name="buttonMute" title="Mute" type="button" options="receive transmit nofeedback">
      <MidiMessage status="#B0" channel="0" address="#13"/>
    </Control>

  </Controls>

  <!-- SURFACE MAPPINGS -->
 
  <Mappings>
 
    <!-- MIXER MAPPING -->
 
    <DeviceMapping device="MixerConsole" name="MixerMapping">
      <ScrollBank target="FollowBank" pagesize="1" name="MixerBank">
        <!-- The Channel Strip -->
        <Strip>
          <Value control="encoderVolume"   param="volume"/>
          <Value control="encoderPan"      param="pan"/>
          <Value control="buttonMute"      param="mute"/>
          <Value control="buttonSolo"      param="solo"/>
      </ScrollBank>
    </DeviceMapping>

  </Mappings>

</ControlSurface>
With this code CC 16 = volume, CC17 = pan, CC18 = Solo and CC19 = Mute (all on channel 1).

Make sure Studio One is closed when editing the file. Else edits will be overwritten on close.

Good luck!

OS: Windows 10 Pro | HW: P9X79 • i7 3930K • 16GB • 3x EVO 860 • AMD Radeon HD6450 (@WQHD) • RME AIO
User avatar
by FC-2 on Wed Feb 12, 2020 10:50 pm
I assume this is by design at this point, and there is no way to use a fader or a knob to assign a parameter, unless you do the assignment in the UI via right click.

It is a bit disappointing to be honest, but if this is the behavior in Studio one, I guess there was no way for them to implement it otherwise. I will have to switch between the mackie mode for my faders and knobs, and the CC mode for my buttons to get the access to all the controls I need. Glad I did not invest in a more expensive midi control device, like the ones Presonus make.
User avatar
by FC-2 on Fri Feb 14, 2020 10:39 pm
niles wrote@FC-2, what you want can only be done by writing a piece of XML code to the custom surface map ([devicename].surface.xml) of your device (found here on Windows %USERPROFILE%\AppData\Roaming\PreSonus\Studio One 4\User Devices)

This should contain something like:
Code: Select all
<?xml version="1.0" encoding="UTF-8"?>
<ControlSurface>
  <Controls>

    <!-- MIDI Controls -->
 
    <Control name="encoderVolume" title="Volume" type="knob" options="receive transmit nofeedback">
      <MidiMessage status="#B0" channel="0" address="#10"/>
    </Control>
    <Control name="encoderPan" title="Pan" type="knob" options="receive transmit nofeedback">
      <MidiMessage status="#B0" channel="0" address="#11"/>
    </Control> 
    <Control name="buttonSolo" title="Solo" type="button" options="receive transmit nofeedback">
      <MidiMessage status="#B0" channel="0" address="#12"/>
    </Control>
    <Control name="buttonMute" title="Mute" type="button" options="receive transmit nofeedback">
      <MidiMessage status="#B0" channel="0" address="#13"/>
    </Control>

  </Controls>

  <!-- SURFACE MAPPINGS -->
 
  <Mappings>
 
    <!-- MIXER MAPPING -->
 
    <DeviceMapping device="MixerConsole" name="MixerMapping">
      <ScrollBank target="FollowBank" pagesize="1" name="MixerBank">
        <!-- The Channel Strip -->
        <Strip>
          <Value control="encoderVolume"   param="volume"/>
          <Value control="encoderPan"      param="pan"/>
          <Value control="buttonMute"      param="mute"/>
          <Value control="buttonSolo"      param="solo"/>
      </ScrollBank>
    </DeviceMapping>

  </Mappings>

</ControlSurface>
With this code CC 16 = volume, CC17 = pan, CC18 = Solo and CC19 = Mute (all on channel 1).

Make sure Studio One is closed when editing the file. Else edits will be overwritten on close.

Good luck!


Thanks a lot! I just noticed this message, after I posted my previous one :)

So you can edit the XML file to accomplish this, brilliant.

I tried your code (BTW there was a missing closing tag for the strip), and it seems that there is a problem recognizing faders. I changed the control from a knob to a fader, using the following code:

Code: Select all
<ControlSurface>
  <Controls>

    <!-- MIDI Controls -->
 
    <Control name="faderVolume" title="Volume" type="fader" options="receive transmit nofeedback">
      <MidiMessage status="#B0" channel="0" address="#3"/>
    </Control>


Code: Select all
  <Mappings>
 
    <!-- MIXER MAPPING -->
 
    <DeviceMapping device="MixerConsole" name="MixerMapping">
      <ScrollBank target="FollowBank" pagesize="1" name="MixerBank">
        <!-- The Channel Strip -->
        <Strip>
            <Value control="faderVolume"   param="volume"/>
        </Strip>


When I run Studio one and I move the slider, it still show as knob; and I see no movement on the volume. I assume I am doing something wrong; and working with XML without have the actual implementation for each of the tags is not ideal. Tried to look for videos on youtube about how to edit device xml files but there is virtually nothing out there, or I am typing the search incorrectly :( The control is a fader, not a knob; and I am not sure where is it reading that it is a knob, because on my file there is nothing else beside the 8 faders from my midi controller. Thanks

8 posts
Page 1 of 1

Who is online

Users browsing this forum: robertgray3 and 14 guests