FAQ & Terms of UseFAQ & Terms Of Use   Wiggler RadioMW Radio   Muff Wiggler TwitterTwitter   Support the site @ PatreonPatreon 
 SearchSearch   RegisterSign up   Log inLog in 

presonus studio one focus/global mapping
MUFF WIGGLER Forum Index -> Music Software  
Author presonus studio one focus/global mapping
Hi All, I've been messing with presonus studio one recently, probably not the most wiggly thing you could be making music with but it's easy to use in a traditional cubase style sequencer/daw layout. I've been playing with the mapping system recently, it's pretty powerful and has some useful mapping features, unfortunately most of the juicy bits are not documented.

They barely scratch the surface of what it can do in the manual and in any tutorials so I thought I'd share some bits and pieces with everyone and hopefully show some decent stuff you can do within studio one with mapping, with full mixer channel tracking using a single fader, an encoder and some buttons and mapping out your favourite effects/instruments so external control is always there at your fingertips.

So where to start? Essentially, the global and focus mapping systems in studio one allow you to control almost every aspect of studio one using midi devices, the mapping files are all xml based and can be opened in any text editor.

There are 2 types of mapping, global mapping (1 physical control is mapped to a single virtual control and nothing else) or focus mapping (a single physical control can be mapped to many different devices but can only be used on the one that is currently in focus), this makes for a very powerful system, on the one hand you can have a permanent mixer setup on one controller using global mapping that is always available and on a second unit you could have a 16 pot box that is mapped to every single effect/ or instrument in your daw that changes on the fly as you access each insert, send or instrument.

on a windows system the mapping files are stored in 3 places:

C:\Program Files\Presonus\Studio One 2\Devices
C:\Users\<your name\AppData\Roaming\Presonus\Studio One 2\User Devices
C:\Users\<your name\AppData\Roaming\Presonus\Studio One 2\Surface Data

The Devices/User Devices are pretty similar, The factory global mapping files are in the \Devices folder, user created devices are put in the \User Devices folder.

Each device is under a sub-folder with the name of the manufacturer in it, each sub-folder can have more than 1 device in it, if there is more than one then there are usually sub-folders for each device.

If you create a new device but don't give it a manufacturers name then it will be created in the root of the \User Devices folder.

The main files to look into are .device, .js and .surface.xml the .device file gives a control surface it's classID, name and device category. the .js file I think performs some functions which are slightly outside of the mappings capabilities and lastly the .surface.xml files are where the magic happens, this is where your control surface is described in some detail (or not, we'll get into that later).

So if you grab a text editor and throw C:\Program Files\Presonus\Studio One 2\Devices\Presonus\Faderport.surface.xml into it, you can take a look at roughly how it all works. lets take a little look at the first control.

<Control name="fader" title="Fader" type="fader" options="receive transmit public/>

name= name of the control object when referenced internally throughout the surface.xml file

title= text label for the object that the user will see on screen

type= the type of control the object is, there are many types, fader, knob, button, relative.....)

options= the options available for a particular control object, in this instance it can receive midi, transmit it and the control is also visible to the public in the gui. There are quite a few more options than this grin

So the first control, although it's all midi, doesn't really look much like it, it doesn't tell us the type of midi message or the resolution or anything, this particular control is handled by some back end code, as the device is actually made by presonus, if you setup a faderport device in studio one, open the midi monitor you can see the actual midi data it's sending, it's actually using nrpns to send 14bit data. I'll get into this in a little more detail in another post.

Let's look at a 2nd control, the play button:
<Control name="playButton" type="trigger" options="receive">
<MidiMessage status="PolyPressure" address="6" resolution="2"/>

you'll notice that it's slightly different, no title, less options and an extra line. With the options set to receive only, it will only receive data and won't send it back out (tip, if you want to look at the data for any object, set it's options to transmit to see what data it's expecting!!), it's also not a public object, so you won't see it in the gui. This particular control type is 'trigger' which is a button type.

The extra line Looks more familiar with some midi information:
status= the midi message status byte, you can use a name or the Decimal/Hex value for the message you want to listen for.

address = the 1st midi data byte, in this instance I think it's the key that the polypressure(aftertouch?) is for, for a normal CC this would actually be the CC number.

resolution= this is the resolution of the incoming data, it's a button in this case hence 2, depending on the physical control and the software you're trying to control, you can adjust the resolution so the data matches up, this can be useful in some instances where a control like a fader might keep looping round because it's resolution doesn't match the physical data that's incoming.

So that's a couple of controls looked at in a little detail, this is by no means comprehensive and is just meant to give a starting basis to anyone that wants to take a look at doing their own comprehensive mappings.

The 3rd folder (you did remember there was a 3rd folder didn't you?) is where the focus mapping data is stored, focus mapping is fantastic, you can map out an effect/instrument and use that effect/instrument on many different channels with different settings and as soon as that effect/instrument is in focus, your control surface is ready for you to start tweaking.

I won't go into great detail about the focus mapping files, just throw the presonus ps-49.surfacedata file into a text editor and take a look, it's xml based again, lots of scary looking hex ID strings but it's all relatively simple and easy to see what's going on there. It's a presonus hardware keyboard and they've focus mapped all of the onboard effects to the 5 knobs/faders on the keyboard, I used it partially as a basis for my own mappings as it doesn't have to be used on a keyboard, it can be anything with 5 knobs on it (or more, the more the merrier).

I think that's a reasonable start for now in the world of studio one mapping, I would suggest to anyone looking into this to grab a text editor with formatting options and wingrep (it's great for searching text files so you can compare functions) and dive into the text files. I have barely scratched the surface of what you can do, I have mapped out a behringer cmd pl-1 (dj controller) to be a presonus faderport (motorised fader single channel control with pan, mute, solo, that tracks the channel you're on and transport controls), all of a sudden this turns my almost useless in a daw dj controller into a powerful little mixer :-)
Thanks for sharing this! I will look into it soon. I've just upgraded to the last version of studio one. Great program!
Great information, Reggie. I'm looking forward to your next post on controller mapping.
Hi talfred, I'm glad you might find this useful, there are so many things that you can do with the mappings that aren't listed, I've only scratched the surface of what's possible myself. Studying the faderport and the mackie mappings it's possible to create a pretty comprehensive mapping and enhance them for your own specific needs, + there's the added bonus of macros and key mappings that can all be used too.
Hi Reggie..i hope you re still connected to this forum.
I just found your post and i d like some help if possible.
I m trying to control the track faders and pans in S1 with a palettegear controler ( check these theyre amazing ) and i cant find a way to use the focus method so it can control every track i click on with my single hardware fader.
It only goes for global and reading your post you were onto some good stuff to that direction but my knowledge on the matter is really crappy smile
MUFF WIGGLER Forum Index -> Music Software  
Page 1 of 1
Powered by phpBB © phpBB Group