Integrar controladores midi en Studio One (BCR 2000)

#1 por Julius@Wikter el 14/08/2015
Buenas a todos, hace tiempo que me decidí a aprovechar al máximo las capacidades de control de mi BCR y creo haber llegado al punto en que no veo por donde seguir (ahora toca sacar provecho del trabajo...).
Lo comento por aquí por si alguien se atreve a enzarzarse con la pelea y le apetece mejorar mi esquema, o simplemente por el hecho de que otros se puedan aprovechar de mi trabajo, dado que no ha sido poco hasta ahora. También comentaré un poco la tarea de asignar TouchOSC a las funciones del mezclador, puesto que tras mi nueva tablet de 10" (30€ usada, muy lenta para internet, totalmente operativa para control)

Para empezar, mi manera de trabajar en Studio One es casi siempre usando VSTi's (sea para controlar plugins o hardware MIDI mediante Ctrlr http://www.Ctrlr.org) y pistas de audio con inserciones de plug-ins. Creo que lo estándard.
También suele ser recurrente que use instrumentos VA, y me hace especial ilusión poder controlar esos instrumentos desde la BCR.
Así que por un lado tengo ya todo un esquema de control de síntesis en la BCR (lo cambié últimamente) de manera que todos los plugins y todo el hardware lo controlo con el mismo interfaz.

A partir de ahí, que es la parte fácil, me encuentro con el problema de que no puedo asignar fácilmente macros o tener una asignación fija de los faders del mezclador con la misma comodidad con que asigno parámetros de un plug-in una vez y me olvido... Studio One no "preasigna" los faders a nuestro controlador MIDI, hay que hacerlo manualmente y hay que hacerlo en cada tema. Se pueden crear plantillas, pero existe la posibilidad de que éstos ya esten preasignados... como?
Creando una "device".

Y aquí empieza la parte oscura.
Primero hay que localizar el directorio de "devices" de Studio One.
En mi caso:
C:\Audio\Studio One\devices

Ahí sale la lista de "fabricantes".

Para un fabricante XXX tendremos una carpeta XXX
C:\Audio\Studio One\devices\XXX

En mi caso, ya existe la Behringer BCR2000, pero el controlador deja bastante que desear, sólo permite usar 32 encoders y 28 botones, cuando podemos usar 56 encoders y 60 botones... comorrr??? Bueno, la cosa es sacar provecho a los 4 bancos de control, así que hay que modificar la "device".

En el caso de TouchOSC, hay que crear una carpeta y una subcarpeta en ella.
Carpeta: Fabricante
Subcarpeta: Modelo

Por ejemplo, démosle al controlador que nos inventaremos el nombre TouchME (éste y la marca, TouchOSC, son de libre elección...)
C:\Audio\Studio One\devices\TouchOSC\TouchME

Hasta aquí, fácil... veamos, qué hay en cada carpeta? Pues entre 3 y 5 archivos, normalmente...
Todos los podremos editar en nuestro Notepad o Write... evitad Office u otras suites. También pueden ser útiles los editores de código, sobretodo para el XML.

TouchME.device
TouchME.png
TouchME.txt
TouchME.surface.xml
XXXXX.js

Alguien escribió:

TouchME.device
Contiene información respecto a qué archivos contienen la información. Un índice...
<?xml version="1.0" encoding="UTF-8"?>
<DeviceDefinition
classID="{4BD69047-D52D-4F50-8761-03424504055C}"
category="Keyboard"
vendor="TouchOSC"
name="TouchME"
surfacePlacementSize="16"
nativeCode="ControlSurfaceDevice"
surfaceFile="TouchME.surface.xml"
/>
El valor ClassID hay que inventárselo, y no tener la mala suerte de que haya otro dispositivo con el mismo número.
En Presonus no he encontrado directrices para ajustar éste valor, pero modificando los últimos 4 valores ("055C") suele funcionar.
Categoría: Creo que no tiene incidencia en el comportamiento, por si acaso, no tocar.
Vendor: fabricante
Name: Modelo
Native code: no editar.
Surfacefile: nombre del archivo donde va la programación/listado XML. Si no está escrito correctamente, no encontrará nada...


Alguien escribió:
TouchME.png
Una imagen para mostrar, tomad la de base como referencia para medidas y hacedla a placer. Es un PNG con transparencia.


Alguien escribió:
TouchME.txt
Una descripción o mensaje que queráis leer sobre cómo instalar, qué patron de referencia hay que tomar para controlar, poner vuestro teléfono, mote, alias... etc..


Alguien escribió:
TouchME.surface.XML
El cáliz de la sabiduría. Aquí se concentran TODOS los valores, funciones y programación.
Supongo que hay funciones avanzadas, pero Presonus no ha publicado ningun manual al respecto, así que hay que buscarse las garrofas y analizar los archivos ya existentes.
Aquí va un ejemplo muy simplificado

Alguien escribió:
<?xml version="1.0" encoding="UTF-8"?>
<ControlSurface>
<Controls>
<Control name="controlb0001" title="Control1" type="knob" options="receive transmit nofeedback public">
<MidiMessage status="#B0" channel="0" address="#1"/>
</Control>

<Control name="Level[0]" title="Level[0]" type="knob" options="receive transmit nofeedback public">
<MidiMessage status="#B0" channel="1" address="#0"/>
</Control>
</Controls>

<Templates>
<Template name="ChannelStrip">
</Template>
</Templates>

<Mappings>
<Global>
</Global>

<!-- MIXER MAPPING -->
<DeviceMapping device="MixerConsole">
<PlacementBank target="RemoteBank" pagesize="16">
<!-- The Channel Strips -->
<foreach variable="$channel" count="16">
<Strip>
<Value control="Level[$channel]" param="volume"/>
<Value control="Pan[$channel]" param="pan"/>
<Value control="Solo[$channel]" param="solo"/>
<Value control="Mute[$channel]" param="mute"/>
<Value control="Rec[$channel]" param="recordArmed"/>
</Strip>
</foreach>
</PlacementBank>
</DeviceMapping>

<!-- TRANSPORT MAPPING -->
<DeviceMapping device="TransportPanel">

<Toggle control="Control128" param="start"/>
<Value control="playLED" param="start"/>
</Variant>
</DeviceMapping>

</Mappings>
</ControlSurface>




Alguien escribió:
XXXX.js
Desde los comandos del XML se pueden hacer llamadas a funciones más complejas integradas en archivos java auxiliares, pero ahí no he llegado, porque las ventajas son mayormente para dispositivos que integran funciones de control de displays como el Faderport o la MackieControl, para la BCR, ésto no tiene demasiado uso ya que lo hace casi todo por CC's (aunque si alguien valiente se atreve, soporta sysex...)

http://www.mvxsynths.tk
Lower, please

Subir
3
#2 por Julius@Wikter el 14/08/2015
Paso 2... si nos centramos en la parte <controls> del XML veremos que en cualquier archivo que abramos hay diferentes maneras de escribir los valores y no todos son imprescindibles...
Veamos uno básico:


<Control name="Level[0]" title="Level[0]" type="knob" options="receive transmit nofeedback public">
<MidiMessage status="#B0" channel="1" address="#0"/>
</Control>

Bloque 1
<Control name="Level[0]" title="Level[0]" type="knob" options="receive transmit nofeedback public">
<Control - inicio de definición de un control.
name="Level[0]" - Para uso interno. Es importante el valor entre corchetes para posterior asignación de canales
title="Level[0]" - El valor que veremos en pantalla. Puede ser title="EG1>Cutoff" si ya sabemos que va a ir asignado a ese parámetro. Por defecto (con mi BCR así está ajustado...)
type="knob" - El aspecto con que será representado en la visualización del controlador
options="receive transmit nofeedback public" - No hay demasiada información al respecto, pero está claro que receive y transmit son la opciones para enviar y recibir los valores, tal cual está servirá para la mayoría de tareas.

Bloque 2
<MidiMessage status="#B0" channel="1" address="#0"/>

<MidiMessage - inicio...
status="#B0" - En éste caso nos encontramos con la representación del parámetro de control en forma hexadecimal. Ojo. Puede darse de diferentes maneras, mediante texto, hexagesimal. Veamos:
<MidiMessage status="Controller" address="3"/>
La opción más fácil si sabemos algo de MIDI, será poner el mensaje en Hex y los controles en decimal para no tener que estar pensando en hexadecimal.
channel="1" - En algunos casos encontraremos discriminación por canal, supongo que si no se especifica, perdemos la opción de usar los canales a modo diferenciante. Es decir, nos quedamos con 6% de posibilidades. Vale la pena especificarlo, sobretodo para TouchOSC.
address="#0" . El número de parámetro, si usamos CC's (#90) no es más que el número de controlador, por ejemplo, el típico 74 para el cutoff... o era el 71? Da igual, podréis asignar el que os vaya mejor en función de vuestra distribución de control.

Bloque 3
</Control> - Final de descriptor de control. Por lo visto, no hay nada que editar aquí...

Cuando nos pongamos manos a la obra con los controles es importante ser ordenado y esquemático, incluso ayudarse de una hoja de excel para generar los valores. Usar las tabulaciones para ver claramente cada valor asignado a cada parámetro también es de gran ayuda. Si tenemos una pantalla ancha, usar un editor que no nos ajuste el texto a la hoja también puede ser de gran ayuda.

<Control name="Level[0]" title="Cutoff" type="knob" options="receive transmit nofeedback public"><MidiMessage status="#B0" channel="1" address="#0"/></Control>
<Control name="Level[1]" title="Resonance" type="knob" options="receive transmit nofeedback public"><MidiMessage status="#B0" channel="1" address="#1"/></Control>
<Control name="Level[2]" title="EGMod" type="knob" options="receive transmit nofeedback public"><MidiMessage status="#B0" channel="1" address="#2"/></Control>

También hay que recordar que el primer canal MIDI es el 0, no el 1... y que los valores empiezan por el 000. Hasta aquí, los controles...

http://www.mvxsynths.tk
Lower, please

Subir
3
#3 por Julius@Wikter el 14/08/2015
Paso 3: Mixer Mapping!
Aunque Studio One permite sacar provecho de botones para asignar a funciones de transporte, comandos de teclado y demás, (uno muy útil sería el LEARN / Alt+M) ahora lo importante es controlar los parámetros del mezclador, que como todos sabemos serán variables en funcion de las pistas que tenga cada arreglo. Así que lo práctico sería que el propio DAW asignase esos controles a los canales y no tener que hacerlo nosotros uno a uno. Ventajas? Obvias. Desventajas? Que si cambiamos la posición de un instrumento, pista de audio o canal de efecto/bus se nos desmontará el chiringuito momentáneamente, así que nuevamente hay que ser ordenados.

Veamos la verborrea empleada:
<!-- MIXER MAPPING -->
<DeviceMapping device="MixerConsole">
<PlacementBank target="RemoteBank" pagesize="16">
<!-- The Channel Strips -->
<foreach variable="$channel" count="16">
<Strip>
<Value control="Level[$channel]" param="volume"/>
<Value control="Pan[$channel]" param="pan"/>
<Value control="Solo[$channel]" param="solo"/>
<Value control="Mute[$channel]" param="mute"/>
<Value control="Rec[$channel]" param="recordArmed"/>
</Strip>
</foreach>
</PlacementBank>
</DeviceMapping>

Vamos a ver los importantes...
<!-- MIXER MAPPING --> Rótulo... entre <-- --> podréis poner lo que os venga en gusto y os sea útil para posteriores ediciones.

<PlacementBank target="RemoteBank" pagesize="16"> - Éste parámetro nos permitirá "amontonar" dispositivos, de manera que si añadimos dispositivos, éstos controlaran los canales siguientes: 1-16, 17-32, 33-48... Aunque ésto sólo será útil en estudios donde tienen el espacio necesario para amontonar éstos dispositivos, ya que a día de hoy hacerse con un par de tablets no es nada caro.

<foreach variable="$channel" count="16"> junto con <Strip> es la función que autoasigna nuestro interfaz a los valores en pantalla.
Requiere de la asignación precia del CC a un name="Control[X]" como ya se ha comentado en la asignación de controles.
Nuevamente, el primer fader del mezclador es el 0, no el 1...

<Value control="Level[$channel]" param="volume"/> - El control asignado al parámetro del mezclador, que son, según he recopilado:
volume
pan
solo
mute
recordArmed

Hasta el momento no he conseguido encontrar el parámetro para monitorizar, aunque hay más como "trackselect" que no tengo a mano. Es cuestión de tiempo que Presonus publique algo en condiciones pero, si habeis llegado hasta aquí, sereis capaces de editar o crear el archivo necesario para controlar desde vuestro disposivo.

De hecho, desde la BCR tengo la botonera lateral asignada a:
1- mostrar plugin
2- mostrar instrumento
3- anterior plugin/instrumento
4- siguiente plugin/instrumento

Y actualmente uso la BCR para editar plugins/instrumentos y TouchOSC para controlar solos, mutes, volúmenes. Me faltaría averiguar el tema de los auxiliares, monitorización de canal y un sinfín de funciones, pero no hay tiempo para todo.
También os diré que TODAS las asignaciones quedan grabadas al cerrar Studio One. Así que siempre que hagais una asignación de controles cerrad Studio One, porque aunque se cuelga muy poco, si no se cierra, se pierde todo lo asignado en la sesión.
Importante saber que esos datos de asignaciones se mantienen si eliminamos el dispositivo del menú de Studio One.
Importante también que ess datos estan en la carpeta de usuario... generalmente en

C:\Users\USUARIO\AppData\Roaming\PreSonus\Studio One 2\Surface Data

Y nos puede ser muy útil si por ejemplo os encontráis con un plugin rebelde como EXS24, que es casi imposible automatizar porque los parámetros mostrados no coinciden con los parámetros editados.
También sería muy útil si todos usásemos los mismos archivos de control... pero eso sería un proyecto ya muy complicado.

http://www.mvxsynths.tk
Lower, please

Subir
2
#4 por Gabriel el 15/08/2015
Hola wikter!

Muy bueno, muchas gracias! me lo agendo para leer tranquilamente +3
salu2,
Subir
#5 por Julius@Wikter el 15/08/2015
Gracias!
Por cierto, lo estoy pensando y creo que valdría la pena, aunque muchos no se tomaran la molestia, compartir todas las asignaciones.
En cuanto tenga un momento miro de hacerlo. También tendría que mirar de extraer la configuración de mi BCR porque por ejemplo, al tener asignados los knobs de la primera fila a valores que en un sintetizador me interesa resetear a valores diferentes a 0/127 como son el volumen (100) y el tono, desafinación o PW (64) es espcialmente útil a quien quiera sacar provecho de todo ésto.
Lo explico por encima, porque no es demasiado difícil de entender:

La primera fila de enconders tiene cuatro bancos.
Les he asignado CC 1-8, 9-16, 17-24, 25-32

Cada botón de cada encoder de la primera fila (son "puchcoders" se puedeen girar y presionar) lleva CC diferentes a los encoders.
Les he asignado CC 33-40, 41-48, 49-56, 57-64

Botones normales, 2 filas de 8
Les he asignado CC65-72 y 73-80 respectivamente

Tres filas de encoders
CC: 81-88, 89-96, 97-104

Cuatro botones
CC: 105 y 106 a la fila superior (para mostrar/ocultar editor sintetizador y plugins)
CC: 107 y 108 la inferior (para mostrar anterior/siguiente plugin/sinte)

Luego, para aprovechar que Studio One permite ser controlado con variaos dispositivos a la vez, he reproducido el entorno de la BCR en TouchOSC (así puedo copiar las asignaciones que hago en el BCR al archivo de asignaciones de TouchOSC, sin tener que reasignar con cada plugin) y he añadido un entorno de mezcla adicional en que todos los controles son emitidos por el canal 2, de manera que no interfiera con la edición de plugins y sintetizador.
Creo que va siendo hora de colgar un par de fotos...

http://www.mvxsynths.tk
Lower, please

Subir
#6 por Julius@Wikter el 15/08/2015
Ahi van un par de instantaneas... de muy mala resoluci'on porque ni movil ni tablet windows (no va nada en W10, menudo error actualizar...) estan operativos y la tablet Android lleva unos dias amenazando con morir, aunque es la 'unica que va, mal, pero va...
Archivos adjuntos:
IMG_20150815_111929.jpg
BBCode:
1439629838379.jpg
BBCode:

http://www.mvxsynths.tk
Lower, please

Subir
#7 por Julius@Wikter el 15/08/2015
Aquí los archivos:
En WindowsXP los archivos de asignaciones de controladores estan en:
C:\Documents and Settings\Julius.JULIUS-C1189FED\Datos de programa\PreSonus\Studio One 2\Surface Data
Archivos adjuntos:

http://www.mvxsynths.tk
Lower, please

Subir
#8 por Julius@Wikter el 15/08/2015
También os recomiendo ésta herramienta para editar texto.
Es especialmente prácitca para los XML porque mantiene un código de colores que evita que por error nos dejemos algun descriptor abierto.
Tambien sería útil para los HTML, pero no es lo importante ahora.

http://www.pspad.com/es/

Y ahora... en cuanto acabe el volcado de los presets de la BCR pongo el banco 1 (o 15 si os va mejor, para no pisar los originales de fábrica) que yo uso para controlar.
Por cierto, yo las asignaciones de controles las hago directamente en la BCR, el software está bien para ver o revisar, pero para editar controladores y ajustar máximos y mínimos a mí me va mejor el hardware. Cada uno que tome el camino que prefiera.
Archivos adjuntos:

http://www.mvxsynths.tk
Lower, please

Subir
#9 por Mauricio Duarte el 16/08/2015
Gracias por todos tus aportes de siempre compañero, lastimosamente no poseo S1 para trabajar pero si puedo colaborar en un futuro lo haré.

Abrazo
Subir
#10 por Julius@Wikter el 16/08/2015
En cierto modo, ésta filosofía es aplicable a otros DAW, aunque no conozco ninguno que tenga un concepto tan abierto de control externo...

http://www.mvxsynths.tk
Lower, please

Subir
#11 por Julius@Wikter el 28/08/2015
Por lo visto hay más de un interesado en una plantilla para la AKAI APC40 mk1...
Aquí estan los datos sobre su control MIDI.
Quien quiera colaborar o sugerir, que lo haga ya!

http://6be54c364949b623a3c0-4409a68c214f3a9eeca8d0265e9266c0.r0.cf2.rackcdn.com/754/documents/APC40_Communications_Protocol_rev_1.pdf

Por cierto:
El attachment que adjunté como 123.zip no es más que la plantilla para TouchOSC
http://www.hispasonic.com/index.php?controller=forum&action=view_attachment&attachment_id=176673

http://www.mvxsynths.tk
Lower, please

Subir
#12 por Julius@Wikter el 30/08/2015
Bueno, acabo de dar donde parece que más les va a doler a Presonus...
He encontrado una web en donde han publicado casi todo lo referente a la especificación de control de Studio One.
No estiendo a qué esperan para hacer público un manual éstos de Presonus, pero mientras tanto, tenemos ésto:

http://daw.one/creating-your-own-custom-basic-external-device/
http://daw.one/external-controllers-follow-single-channel-selection/

y en global,
http://daw.one/

Que mete la zarpa en esos aspectos oscuros de Studio One que desconocemos...

http://www.mvxsynths.tk
Lower, please

Subir
1
#13 por Julius@Wikter el 30/08/2015
El siguiente post lo apunto aquí sólo como referencia por posible futura necesidad.
Dado que la página es de un particular y tiene el riesgo de desaparecer, no está de más adjuntar aquí toda esta documentación.
Confío en que en Hispasonic se mantendrá durante décadas...

Control it all with Studio One Commands

July 19, 2015
In the post External controllers follow single channel selection I showed how to map your hardware MIDI controller as an External Device to control Studio One’s Global parameters. This is achieved by mapping an incoming MIDI controller to a Studio One Command in the [device name].surface.xml file of your controller. To summarize: The value of the name attribute of the Control element, correspondents with the value of the control attribute in the Command element. In the example below CC#107 (HEX #6 B) is mapped to the Studio One command for selecting the previous channel.

THE SETUP OF AN INCOMING MIDI CONTROLLER.

<Control name="prevTrack" title="Previous Track" type="button" options="receive transmit nofeedback">
<MidiMessage status="Controller" address="#6B"/>

THE MAPPING OF INCOMING MIDI CONTROLLER.

<Command control="prevTrack" command.category="Console" command.name="Previous Channel"/>

This way you can map almost any Studio One command to your MIDI device for full hands on control. Just like it’s done through the Assign Command… dialogue in Studio One’s External Device mapping window.

External_Device_Assign_Command

There’s a major difference though. When you assign controls through Studio One’s Mapping dialogue (image above), the mappings are stored in the [device name].surfacedata file instead of the [device name].surface.xml. The benefit is that they can be added, removed or changed on the fly. The benefit of mapping [device name].surface.xml is, you can hide them from the Control Link system so they won’t be accidentally removed. A useful option for manufacturers to store global functions in the device’s surface files of their hardware. But the biggest benefit is, you can use different control types and options, not available through the mapping dialogue. Like e.g: Note on/off, poly-pressure, after-touch, pitch-bend, MMC etc.

Below I compiled an extensive list of most of the available mapping commands you can map to your External Device (hardware controller). This list can be useful for those who want a little more control over the MIDI modifiers of their External Device. You can download the XML with all the commands at the bottom of the list

When you are not familiar with editing the XML files of an External Device, or not sure where to put these commands, I strongly suggest to read these posts Creating your own custom basic External Device and External controllers follow single channel selection first.

Studio One Global Mapping Commands

Application Arranger Audio Automation Browser Console Devices Edit Event File Gadgets Help Instrument Parts Macro’s Marker Media Musical Functions Navigation Note Length Presets Project Quantize Record Record Functions Record Mode Scratch Pad Song Step Record Tempo Toolbar Track Transport Video View Zoom

APPLICATION

command.category="Application" command.name="Options"
command.category="Application" command.name="Installation"
command.category="Application" command.name="Login"
command.category="Application" command.name="Activate Purchased Items"
command.category="Application" command.name="Extensions"
command.category="Application" command.name="Activation"
command.category="Application" command.name="Keyboard Shortcuts"


ARRANGER

command.category="Arranger" command.name="Delete Range"
command.category="Arranger" command.name="Select Events in Section"
command.category="Arranger" command.name="Create Sections from Markers"
command.category="Arranger" command.name="Create Markers from Sections"
command.category="Arranger" command.name="Copy to new Scratch Pad"
command.category="Arranger" command.name="Move to new Scratch Pad"
command.category="Arranger" command.name="Goto Next Section"
command.category="Arranger" command.name="Goto Previous Section"
command.category="Arranger" command.name="Add Arranger Section from Selection"


AUDIO

command.category="Audio" command.name="Normalize Audio"
command.category="Audio" command.name="Reverse Audio"
command.category="Audio" command.name="Edit with Melodyne"
command.category="Audio" command.name="Remove Melodyne"
command.category="Audio" command.name="Create Autofades"
command.category="Audio" command.name="Create Crossfades"
command.category="Audio" command.name="Decrease Volume"
command.category="Audio" command.name="Increase Volume"
command.category="Audio" command.name="Apply Audio Bend"
command.category="Audio" command.name="Decrease Volume Fine"
command.category="Audio" command.name="Increase Volume Fine"
command.category="Audio" command.name="Render Event FX"
command.category="Audio" command.name="Restore Event FX"
command.category="Audio" command.name="Insert Event FX"
command.category="Audio" command.name="Strip Silence"
command.category="Audio" command.name="Edit Volume"
command.category="Audio" command.name="Fade In to Cursor"
command.category="Audio" command.name="Fade Out from Cursor"
command.category="Audio" command.name="Detect Transients"
command.category="Audio" command.name="Remove Bend Markers"
command.category="Audio" command.name="Split at Bend Markers"
command.category="Audio" command.name="Merge to Audio Part"
command.category="Audio" command.name="Dissolve Audio Part"
command.category="Audio" command.name="Export Audioloop"
command.category="Audio" command.name="Select in Pool"
command.category="Audio" command.name="Send To new SampleOne"


AUTOMATION

command.category="Automation" command.name="Show Current Parameter"
command.category="Automation" command.name="Off"
command.category="Automation" command.name="Touch"
command.category="Automation" command.name="Latch"
command.category="Automation" command.name="Write"
command.category="Automation" command.name="Toggle Read"
command.category="Automation" command.name="Remove Current Parameter"
command.category="Automation" command.name="Read"
command.category="Automation" command.name="Next Mode"
command.category="Automation" command.name="Previous Mode"
command.category="Automation" command.name="Next Parameter"
command.category="Automation" command.name="Previous Parameter"
command.category="Automation" command.name="Manage Parameters"
command.category="Automation" command.name="Show / Hide"
command.category="Automation" command.name="Show Device"
command.category="Automation" command.name="Remove"


BROWSER

command.category="Browser" command.name="Show Instruments"
command.category="Browser" command.name="Show Effects"
command.category="Browser" command.name="Show Files"
command.category="Browser" command.name="Show Pool"
command.category="Browser" command.name="Show Home Page"
command.category="Browser" command.name="Show Loops"
command.category="Browser" command.name="Show Cloud"
command.category="Browser" command.name="Show in Explorer/Finder"
command.category="Browser" command.name="Rename File"
command.category="Browser" command.name="New Folder"
command.category="Browser" command.name="Ascend Root"
command.category="Browser" command.name="Reset Root"
command.category="Browser" command.name="New Tab"
command.category="Browser" command.name="New Root Tab"
command.category="Browser" command.name="Close Tab"
command.category="Browser" command.name="Rename Tab"
command.category="Browser" command.name="Refresh"


CONSOLE

command.category="Console" command.name="Next Channel"
command.category="Console" command.name="Previous Channel"
command.category="Console" command.name="Next Bank"
command.category="Console" command.name="Previous Bank"
command.category="Console" command.name="Toggle Size"
command.category="Console" command.name="Global Solo"
command.category="Console" command.name="Global Mute"
command.category="Console" command.name="Show Channel Editor"
command.category="Console" command.name="Show Instrument Editor"
command.category="Console" command.name="Toggle Width"
command.category="Console" command.name="Show Track"
command.category="Console" command.name="Hide Channel"
command.category="Console" command.name="Show Channel"
command.category="Console" command.name="Hide Sources"
command.category="Console" command.name="Show Sources"
command.category="Console" command.name="Toggle Sources"
command.category="Console" command.name="Open Channel"
command.category="Console" command.name="Remove Channel"
command.category="Console" command.name="Add Insert"
command.category="Console" command.name="Add Post Fader Insert"
command.category="Console" command.name="Add Send"
command.category="Console" command.name="Add Group Channel"
command.category="Console" command.name="Add FX Channel"
command.category="Console" command.name="Select Scene 1"
command.category="Console" command.name="Select Scene 2"
command.category="Console" command.name="Select Scene 3"
command.category="Console" command.name="Select Scene 4"
command.category="Console" command.name="Select Scene 5"
command.category="Console" command.name="Next Scene"
command.category="Console" command.name="Previous Scene"
command.category="Console" command.name="Show Channel Banks"
command.category="Console" command.name="Show Instrument Rack"
command.category="Console" command.name="Show External Devices"
command.category="Console" command.name="Show Trash Bin"
command.category="Console" command.name="Show Inputs"
command.category="Console" command.name="Show Outputs"


DEVICES

command.category="Devices" command.name="Assign Current Parameter"
command.category="Devices" command.name="All Notes Off"
command.category="Devices" command.name="Next Device in Rack"
command.category="Devices" command.name="Previous Device in Rack"


EDIT

command.category="Edit" command.name="Cut"
command.category="Edit" command.name="Copy"
command.category="Edit" command.name="Paste"
command.category="Edit" command.name="Delete"
command.category="Edit" command.name="Select All"
command.category="Edit" command.name="Deselect All"
command.category="Edit" command.name="Nudge"
command.category="Edit" command.name="Nudge Back"
command.category="Edit" command.name="Nudge Bar"
command.category="Edit" command.name="Nudge Bar Back"
command.category="Edit" command.name="Select All on Tracks"
command.category="Edit" command.name="Deselect All on Tracks"
command.category="Edit" command.name="Create Ranges on Tracks"
command.category="Edit" command.name="Create Ranges"
command.category="Edit" command.name="Split Loop"
command.category="Edit" command.name="Split Range"
command.category="Edit" command.name="Undo"
command.category="Edit" command.name="Toggle Snap"
command.category="Edit" command.name="Duplicate"
command.category="Edit" command.name="Duplicate Shared"
command.category="Edit" command.name="Duplicate and Insert"
command.category="Edit" command.name="Paste at Original Position"
command.category="Edit" command.name="Move to Cursor"
command.category="Edit" command.name="Split at Cursor"
command.category="Edit" command.name="Select All in Loop"
command.category="Edit" command.name="Autoscroll"
command.category="Edit" command.name="Invert Selection"
command.category="Edit" command.name="Redo"
command.category="Edit" command.name="Insert Silence"
command.category="Edit" command.name="Nudge Up"
command.category="Edit" command.name="Nudge Up Fine"
command.category="Edit" command.name="Nudge Down"
command.category="Edit" command.name="Nudge Down Fine"
command.category="Edit" command.name="Select Events in Range"
command.category="Edit" command.name="Move to Origin"
command.category="Edit" command.name="Insert Bend Marker"
command.category="Edit" command.name="Reset Bend Marker"
command.category="Edit" command.name="Size Range Start"
command.category="Edit" command.name="Size Range Start Back"
command.category="Edit" command.name="Size Range End"
command.category="Edit" command.name="Size Range End Back"
command.category="Edit" command.name="Size Range Start to Hotspot"
command.category="Edit" command.name="Size Range Start to Hotspot Back"
command.category="Edit" command.name="Size Range End to Hotspot"
command.category="Edit" command.name="Size Range End to Hotspot Back"
command.category="Edit" command.name="Move Range"
command.category="Edit" command.name="Move Range Back"
command.category="Edit" command.name="Move Range to Hotspot"
command.category="Edit" command.name="Move Range to Hotspot Back"
command.category="Edit" command.name="Size Range Start Up"
command.category="Edit" command.name="Size Range Start Down"
command.category="Edit" command.name="Size Range End Up"
command.category="Edit" command.name="Size Range End Down"
command.category="Edit" command.name="Move Range Up"
command.category="Edit" command.name="Move Range Down"
command.category="Edit" command.name="Range Start to Cursor"
command.category="Edit" command.name="Range End to Cursor"
command.category="Edit" command.name="Create Range from Cursor"
command.category="Edit" command.name="Create Range from Cursor to Hotspot"
command.category="Edit" command.name="Delete Undo History"
command.category="Edit" command.name="Search"
command.category="Edit" command.name="History"
command.category="Edit" command.name="Delete Time"
command.category="Edit" command.name="Delete Time in Loop"
command.category="Edit" command.name="Insert Silence in Loop"


EVENT

command.category="Event" command.name="Toggle Mute"
command.category="Event" command.name="Bounce Selection"
command.category="Event" command.name="Bounce To New Track"
command.category="Event" command.name="Merge Events"
command.category="Event" command.name="Quantize"
command.category="Event" command.name="Quantize 50%"
command.category="Event" command.name="Restore Timing"
command.category="Event" command.name="Rename Events"
command.category="Event" command.name="Send to Back"
command.category="Event" command.name="Send to Front"
command.category="Event" command.name="Mute Events"
command.category="Event" command.name="Unmute Events"
command.category="Event" command.name="Copy Ranges to Track"
command.category="Event" command.name="Transpose Events Down"
command.category="Event" command.name="Transpose Events Up"
command.category="Event" command.name="Split at Grid"
command.category="Event" command.name="Trim Start to Cursor"
command.category="Event" command.name="Trim End to Cursor"
command.category="Event" command.name="Quantize on Track"


FILE

command.category="File" command.name="New Song"
command.category="File" command.name="New Project"
command.category="File" command.name="Quit"
command.category="File" command.name="Open"
command.category="File" command.name="Close"
command.category="File" command.name="Save"
command.category="File" command.name="Save As"
command.category="File" command.name="Save New Version"
command.category="File" command.name="Save As Template"
command.category="File" command.name="New"
command.category="File" command.name="Close All"
command.category="File" command.name="Save to New Folder"
command.category="File" command.name="Restore Version"
command.category="File" command.name="Rename"
command.category="File" command.name="Revert"
command.category="File" command.name="Clear Recent Files"


GADGETS

command.category="Gadgets" command.name="Macro Organizer"
command.category="Gadgets" command.name="SoundCloud Client"


HELP

command.category="Help" command.name="Contents"
command.category="Help" command.name="Context Help"
command.category="Help" command.name="Check for Updates"
command.category="Help" command.name="About"
command.category="Help" command.name="Keyboard Shortcuts"
command.category="Help" command.name="Website"
command.category="Help" command.name="Open Settings Folder"


INSTRUMENT PARTS

command.category="Instrument Parts" command.name="Insert Instrument Part"
command.category="Instrument Parts" command.name="Explode Pitches to Tracks"
command.category="Instrument Parts" command.name="Export Musicloop"
command.category="Instrument Parts" command.name="Export Parts to MIDI File"
command.category="Instrument Parts" command.name="Remove Part Automation"
command.category="Instrument Parts" command.name="Render Instrument Tracks"
command.category="Instrument Parts" command.name="Separate Shared Copies"


MARKER

command.category="Marker" command.name="Insert"
command.category="Marker" command.name="Insert Named"
command.category="Marker" command.name="Goto Next Marker"
command.category="Marker" command.name="Goto Previous Marker"
command.category="Marker" command.name="Recall Marker 1"
command.category="Marker" command.name="Recall Marker 2"
command.category="Marker" command.name="Recall Marker 3"
command.category="Marker" command.name="Recall Marker 4"
command.category="Marker" command.name="Recall Marker 5"
command.category="Marker" command.name="Recall Marker 6"
command.category="Marker" command.name="Recall Marker 7"
command.category="Marker" command.name="Delete"
command.category="Marker" command.name="Set Start and End to Selection"
command.category="Marker" command.name="Recall Marker 8"
command.category="Marker" command.name="Recall Marker 9"


MEDIA

command.category="Media" command.name="Locate Missing Files"
command.category="Media" command.name="Remove Unused Files"
command.category="Media" command.name="Copy External Files"
command.category="Media" command.name="Show Media Folder in Explorer/Finder"
command.category="Media" command.name="Locate File"
command.category="Media" command.name="Select on Track"
command.category="Media" command.name="Convert Files"


MUSICAL FUNCTIONS

command.category="Musical Functions" command.name="Length"
command.category="Musical Functions" command.name="Stretch"
command.category="Musical Functions" command.name="Transpose"
command.category="Musical Functions" command.name="Velocity"
command.category="Musical Functions" command.name="Freeze Quantize"
command.category="Musical Functions" command.name="Quantize End"
command.category="Musical Functions" command.name="Humanize"
command.category="Musical Functions" command.name="Humanize Less"
command.category="Musical Functions" command.name="Restore Velocity"
command.category="Musical Functions" command.name="Freeze Velocity"
command.category="Musical Functions" command.name="Delete Double Notes"
command.category="Musical Functions" command.name="Delete Short Notes"


NAVIGATION

command.category="Navigation" command.name="Focus Next"
command.category="Navigation" command.name="Focus Previous"
command.category="Navigation" command.name="Left"
command.category="Navigation" command.name="Left Extend"
command.category="Navigation" command.name="Left Extend Add"
command.category="Navigation" command.name="Left Skip"
command.category="Navigation" command.name="Right"
command.category="Navigation" command.name="Right Extend"
command.category="Navigation" command.name="Right Extend Add"
command.category="Navigation" command.name="Right Skip"
command.category="Navigation" command.name="Up"
command.category="Navigation" command.name="Up Extend"
command.category="Navigation" command.name="Up Extend Add"
command.category="Navigation" command.name="Up Skip"
command.category="Navigation" command.name="Down"
command.category="Navigation" command.name="Down Extend"
command.category="Navigation" command.name="Down Extend Add"
command.category="Navigation" command.name="Down Skip"
command.category="Navigation" command.name="Start"
command.category="Navigation" command.name="Start Extend"
command.category="Navigation" command.name="Start Extend Add"
command.category="Navigation" command.name="Start Skip"
command.category="Navigation" command.name="End"
command.category="Navigation" command.name="End Extend"
command.category="Navigation" command.name="End Extend Add"
command.category="Navigation" command.name="End Skip"
command.category="Navigation" command.name="Page Up"
command.category="Navigation" command.name="Page Up Extend"
command.category="Navigation" command.name="Page Up Extend Add"
command.category="Navigation" command.name="Page Up Skip"
command.category="Navigation" command.name="Page Down"
command.category="Navigation" command.name="Page Down Extend"
command.category="Navigation" command.name="Page Down Extend Add"
command.category="Navigation" command.name="Page Down Skip"
command.category="Navigation" command.name="Enter"
command.category="Navigation" command.name="Cancel"
command.category="Navigation" command.name="Previous Event"
command.category="Navigation" command.name="Previous Event Extend"
command.category="Navigation" command.name="Next Event"
command.category="Navigation" command.name="Next Event Extend"
command.category="Navigation" command.name="First Event"
command.category="Navigation" command.name="First Event Extend"
command.category="Navigation" command.name="Last Event"
command.category="Navigation" command.name="Last Event Extend"
command.category="Navigation" command.name="Previous Track"
command.category="Navigation" command.name="Previous Track Extend"
command.category="Navigation" command.name="Next Track"
command.category="Navigation" command.name="Next Track Extend"
command.category="Navigation" command.name="First Track"
command.category="Navigation" command.name="First Track Extend"
command.category="Navigation" command.name="Last Track"
command.category="Navigation" command.name="Last Track Extend"
command.category="Navigation" command.name="Back"
command.category="Navigation" command.name="Forward"
command.category="Navigation" command.name="Home"
command.category="Navigation" command.name="Refresh"


NOTE LENGTH

command.category="Note Length" command.name="1/1"
command.category="Note Length" command.name="1/2"
command.category="Note Length" command.name="1/4"
command.category="Note Length" command.name="1/8"
command.category="Note Length" command.name="1/16"
command.category="Note Length" command.name="1/32"
command.category="Note Length" command.name="1/64"
command.category="Note Length" command.name="type 0"
command.category="Note Length" command.name="type 1"
command.category="Note Length" command.name="type 2"
command.category="Note Length" command.name="type 3"
command.category="Note Length" command.name="Dotted"
command.category="Note Length" command.name="Follow Quantize"


PRESETS

command.category="Presets" command.name="Next"
command.category="Presets" command.name="Previous"
command.category="Presets" command.name="Store Preset"
command.category="Presets" command.name="Replace Preset"
command.category="Presets" command.name="Store as Default Preset"
command.category="Presets" command.name="Re-Index Presets"
command.category="Presets" command.name="Update Plug-Ins"
command.category="Presets" command.name="Import Preset"
command.category="Presets" command.name="Export Preset"
command.category="Presets" command.name="Load Preset File"


PROJECT

command.category="Project" command.name="Project Setup"
command.category="Project" command.name="Import File"
command.category="Project" command.name="Remove Track"
command.category="Project" command.name="Disable Track"
command.category="Project" command.name="Enable Track"
command.category="Project" command.name="Locate Missing Devices"
command.category="Project" command.name="Update Mastering Files"
command.category="Project" command.name="Burn Audio CD"
command.category="Project" command.name="Make Image"
command.category="Project" command.name="Digital Release"
command.category="Project" command.name="Make DDP Image"
command.category="Project" command.name="Detect Loudness"


QUANTIZE

command.category="Quantize" command.name="Set Program A"
command.category="Quantize" command.name="Set Program B"
command.category="Quantize" command.name="Set Program C"
command.category="Quantize" command.name="Set Program D"
command.category="Quantize" command.name="Set Program E"
command.category="Quantize" command.name="Set Program F"
command.category="Quantize" command.name="Set Program G"
command.category="Quantize" command.name="Select Base"
command.category="Quantize" command.name="Clear Pattern"


RECORD

command.category="Record" command.name="Toggle Loop Erase"


RECORD FUNCTIONS

command.category="Record Functions" command.name="Undo Last Loop"
command.category="Record Functions" command.name="Undo All"


RECORD MODE

command.category="Record Mode" command.name="Input Quantize"
command.category="Record Mode" command.name="Record Mode Overdub"
command.category="Record Mode" command.name="Record Mode Replace"
command.category="Record Mode" command.name="Loop Record Takes"
command.category="Record Mode" command.name="Loop Record Mix"
command.category="Record Mode" command.name="Note Erase"
command.category="Record Mode" command.name="Note Repeat"
command.category="Record Mode" command.name="Record Takes to Layers"


SCRATCH PAD

command.category="Scratch Pad" command.name="Copy Loop Range to Scratch Pad"
command.category="Scratch Pad" command.name="Add Scratch Pad"
command.category="Scratch Pad" command.name="Delete Scratch Pad"
command.category="Scratch Pad" command.name="Duplicate Scratch Pad"
command.category="Scratch Pad" command.name="Rename Scratch Pad"


SONG

command.category="Song" command.name="Remove Track"
command.category="Song" command.name="Import File"
command.category="Song" command.name="Export Mixdown"
command.category="Song" command.name="Remove Track and Instrument"
command.category="Song" command.name="Export Stems"
command.category="Song" command.name="Render Click"
command.category="Song" command.name="Song Setup"
command.category="Song" command.name="Locate Missing Devices"
command.category="Song" command.name="Show in Explorer/Finder"
command.category="Song" command.name="Update Mastering File"
command.category="Song" command.name="Song Information"


STEP RECORD

command.category="Step Record" command.name="Back"
command.category="Step Record" command.name="Insert Rest"
command.category="Step Record" command.name="Enable"


TEMPO

command.category="Tempo" command.name="Insert"
command.category="Tempo" command.name="Delete"


TOOLBAR

command.category="Toolbar" command.name="Tool 1"
command.category="Toolbar" command.name="Tool 2"
command.category="Toolbar" command.name="Tool 3"
command.category="Toolbar" command.name="Tool 4"
command.category="Toolbar" command.name="Tool 5"
command.category="Toolbar" command.name="Tool 6"
command.category="Toolbar" command.name="Tool 7"
command.category="Toolbar" command.name="Tool 8"
command.category="Toolbar" command.name="Tool 9"
command.category="Toolbar" command.name="Next Tool"
command.category="Toolbar" command.name="Previous Tool"


TRACK

command.category="Track" command.name="Solo"
command.category="Track" command.name="Mute"
command.category="Track" command.name="Arm"
command.category="Track" command.name="Show Envelopes"
command.category="Track" command.name="Group Selected Tracks"
command.category="Track" command.name="Dissolve Group"
command.category="Track" command.name="Add Tracks"
command.category="Track" command.name="Transform to Rendered Audio"
command.category="Track" command.name="Transform to Realtime Audio"
command.category="Track" command.name="Transform to Audio Track"
command.category="Track" command.name="Transform to Instrument Track"
command.category="Track" command.name="Hide"
command.category="Track" command.name="Expand Envelopes"
command.category="Track" command.name="Expand Layers"
command.category="Track" command.name="Show in Console"
command.category="Track" command.name="Edit"
command.category="Track" command.name="Monitor"
command.category="Track" command.name="Instrument Input follows Selection"
command.category="Track" command.name="Audio Input follows Selection"
command.category="Track" command.name="Solo follows Selection"
command.category="Track" command.name="Select Scene 1"
command.category="Track" command.name="Select Scene 2"
command.category="Track" command.name="Select Scene 3"
command.category="Track" command.name="Select Scene 4"
command.category="Track" command.name="Select Scene 5"
command.category="Track" command.name="Next Scene"
command.category="Track" command.name="Previous Scene"
command.category="Track" command.name="Duplicate"
command.category="Track" command.name="Duplicate (complete)"
command.category="Track" command.name="Add Layer"
command.category="Track" command.name="Duplicate Layer"
command.category="Track" command.name="Remove Layer"
command.category="Track" command.name="Rename Layer"
command.category="Track" command.name="Activate Layer"
command.category="Track" command.name="Solo Layer"
command.category="Track" command.name="Expand Folder Track"
command.category="Track" command.name="Rename Group"
command.category="Track" command.name="Transpose Instrument Tracks"
command.category="Track" command.name="Add Audio Track (mono)"
command.category="Track" command.name="Add Audio Track (stereo)"
command.category="Track" command.name="Add Instrument Track"
command.category="Track" command.name="Add Automation Track"
command.category="Track" command.name="Add Folder Track"
command.category="Track" command.name="Add Tracks for all Inputs"
command.category="Track" command.name="Add Bus for Selected Tracks"
command.category="Track" command.name="Pack Folder"
command.category="Track" command.name="Collapse All Tracks"


TRANSPORT

command.category="Transport" command.name="Start"
command.category="Transport" command.name="Stop"
command.category="Transport" command.name="Record"
command.category="Transport" command.name="Rewind"
command.category="Transport" command.name="Forward"
command.category="Transport" command.name="Return to Zero"
command.category="Transport" command.name="Toggle Start"
command.category="Transport" command.name="Toggle Loop"
command.category="Transport" command.name="Autopunch"
command.category="Transport" command.name="Preroll"
command.category="Transport" command.name="Precount"
command.category="Transport" command.name="Goto Loop Start"
command.category="Transport" command.name="Goto Loop End"
command.category="Transport" command.name="Goto Time"
command.category="Transport" command.name="Click"
command.category="Transport" command.name="Loop Selection"
command.category="Transport" command.name="Loop Selection Snapped"
command.category="Transport" command.name="Locate Selection"
command.category="Transport" command.name="Set Loop Start"
command.category="Transport" command.name="Set Loop End"
command.category="Transport" command.name="Rewind Bar"
command.category="Transport" command.name="Forward Bar"
command.category="Transport" command.name="Play from Loop Start"
command.category="Transport" command.name="Autopunch In"
command.category="Transport" command.name="Autopunch Out"
command.category="Transport" command.name="Shift Loop"
command.category="Transport" command.name="Shift Loop Backwards"
command.category="Transport" command.name="Return to Start on Stop"
command.category="Transport" command.name="Cursor follows Edit Position"
command.category="Transport" command.name="Locate Selection End"
command.category="Transport" command.name="Goto Next Event"
command.category="Transport" command.name="Goto Previous Event"
command.category="Transport" command.name="Locate Mouse Cursor"
command.category="Transport" command.name="Metronome Setup"


VIDEO

command.category="Video" command.name="Import Video"
command.category="Video" command.name="Remove Video"
command.category="Video" command.name="Extract Audio"
command.category="Video" command.name="Set Video Offset"
command.category="Video" command.name="Video Size Half"
command.category="Video" command.name="Video Size Default"
command.category="Video" command.name="Video Size Double"


VIEW

command.category="View" command.name="Toggle Floating Windows"
command.category="View" command.name="Toggle Optional Views"
command.category="View" command.name="Next Perspective"
command.category="View" command.name="Previous Perspective"
command.category="View" command.name="Start Page"
command.category="View" command.name="Toggle Detached Console"
command.category="View" command.name="Console"
command.category="View" command.name="Inspector"
command.category="View" command.name="Editor"
command.category="View" command.name="Record Panel"
command.category="View" command.name="Browser"
command.category="View" command.name="Reset Window Positions"
command.category="View" command.name="Show Song"
command.category="View" command.name="Show Project"
command.category="View" command.name="Fit Timeline to Contents"
command.category="View" command.name="Toggle Detached Editor"
command.category="View" command.name="Open Markertrack"
command.category="View" command.name="Track List"
command.category="View" command.name="Open Tempotrack"
command.category="View" command.name="Scratch Pad"
command.category="View" command.name="Step Record"
command.category="View" command.name="Time Display"
command.category="View" command.name="Remaining Record Time"
command.category="View" command.name="Performance Monitor"
command.category="View" command.name="MIDI Monitor"
command.category="View" command.name="Messages"
command.category="View" command.name="Info View"
command.category="View" command.name="Transfers"
command.category="View" command.name="Video Player"
command.category="View" command.name="Audio Bend"
command.category="View" command.name="Strip Silence"
command.category="View" command.name="Quantize"
command.category="View" command.name="Macros"
command.category="View" command.name="Open Arrangertrack"


ZOOM

command.category="Zoom" command.name="Zoom In"
command.category="Zoom" command.name="Zoom Out"
command.category="Zoom" command.name="Zoom Full"
command.category="Zoom" command.name="Zoom to Loop"
command.category="Zoom" command.name="Zoom to Selection"
command.category="Zoom" command.name="Zoom to Selection Horizontally"
command.category="Zoom" command.name="Zoom In Vertical"
command.category="Zoom" command.name="Zoom Out Vertical"
command.category="Zoom" command.name="Undo Zoom"
command.category="Zoom" command.name="Redo Zoom"
command.category="Zoom" command.name="Toggle Zoom"
command.category="Zoom" command.name="Store Zoom State"
command.category="Zoom" command.name="Zoom Selected Track"
command.category="Zoom" command.name="Data Zoom In"
command.category="Zoom" command.name="Data Zoom Out"
command.category="Zoom" command.name="Zoom Full Horizontally"
command.category="Zoom" command.name="Restore Zoom State"
command.category="Zoom" command.name="Track Height Minimal"
command.category="Zoom" command.name="Track Height 1"
command.category="Zoom" command.name="Track Height Overview"
command.category="Zoom" command.name="Track Height 2"
command.category="Zoom" command.name="Track Height Tiny"
command.category="Zoom" command.name="Track Height 3"
command.category="Zoom" command.name="Track Height Small"
command.category="Zoom" command.name="Track Height 4"
command.category="Zoom" command.name="Track Height Normal"
command.category="Zoom" command.name="Track Height 5"
command.category="Zoom" command.name="Track Height Medium"
command.category="Zoom" command.name="Track Height 6"
command.category="Zoom" command.name="Track Height Large"
command.category="Zoom" command.name="Track Height 7"
command.category="Zoom" command.name="Track Height X-Large"
command.category="Zoom" command.name="Track Height 8"


What about Macro’s?

Yes, Macro’s can be used too, in the same fashion as the fixed commands. But there’s a catch, which makes it very hard to use. The reference to a Macro is stored without a friendly name, like e.g. UGxheSBSYW5nZQ==. You can find those unfriendly names and the corresponding macro with some trail and error in the user.keyscheme file, located in the root of the Studio One settings folder or by assigning it first through the Assign Command… and copy its reference from the [device name].surfacedata file.
That being said, a command for a macro would look like this:

MACRO’S

command.category="Macros" command.name="Macro UGxheSBSYW5nZQ=="


Download

If you rather have the full XML with all the single codes, you can download it here: Studio_One_Global_Mapping_Commands.zip

Each command in the XML includes the control element. You can replace the value controllerName for the actual name of the controller, you want to use for the command.

<Command control="controllerName" command.category="Application" command.name="Options" />

http://www.mvxsynths.tk
Lower, please

Subir
#14 por MiHomeStudio el 30/08/2015
Muchísimas gracias por toda esa información.

Un saludo.

http://www.mihomestudio.com

Subir
#15 por Julius@Wikter el 19/02/2016
Gracias por acordarte de subir los archivos!
Si no llega a ser por Hispasonic, ahora mismo habría perdido el trabajo más pesado, que es asignar los controles a plugins

Aprovecho para recordar que en Windows 7/8/10 podéis encontrar los archivos "XXXX.surfacedata" en

C:\Users\user\AppData\Roaming\PreSonus\Studio One 2\Surface Data

Esos archivos son completamente editables, y podéis seleccionar aprte del texto y pegarlo aquí.
Por ejemplo, la última asignación que hice fué la del rompler EXS24 pues tengo una librería original de Emagic Logic que venía por suerte con el plugin. El caso es que al intentar asignar controles es un poco imposible porque la correspondencia valor modificado-mostrado es nula. Si tocamos el Cutoff nos mostrará tal vez el valor LFO>Cut, de manera que si lo asignamos al knob de cutoff, controlaremos el valor LFO>Cut.
La ´nica manera es asignarlo a prueba y error editando el archivo Surfacedata (y tirando de papel y lápiz para apuntarse a qué parámetro corresponde cada Pxx.

Ah!
Y un detalle muy importante.
Tenéis que seleccionar BCR2K como la superficie de control predeterminada.
Por desgracia, aunque se pueden usar múltiples, Studio One necesita que sólo una superficie sea asignada por plugin.

Alguien escribió:
<SurfaceDeviceAssignment deviceID="{56535431-3562-3274-616C-2D656C656B37}" friendlyName="TAL - Togu Audio Line TAL-Elek7ro-II">
<Association key="encoderC[0]" value="{56535431-3562-3274-616C-2D656C656B37}/vst-p14"/>
<Association key="encoderE[23]" value="{56535431-3562-3274-616C-2D656C656B37}/vst-p25"/>
<Association key="encoderE[22]" value="{56535431-3562-3274-616C-2D656C656B37}/vst-p24"/>
<Association key="encoderE[21]" value="{56535431-3562-3274-616C-2D656C656B37}/vst-p23"/>
<Association key="encoderE[20]" value="{56535431-3562-3274-616C-2D656C656B37}/vst-p22"/>
<Association key="encoderD[12]" value="{56535431-3562-3274-616C-2D656C656B37}/vst-p18"/>
<Association key="encoderD[13]" value="{56535431-3562-3274-616C-2D656C656B37}/vst-p19"/>
<Association key="encoderD[14]" value="{56535431-3562-3274-616C-2D656C656B37}/vst-p20"/>
<Association key="encoderD[15]" value="{56535431-3562-3274-616C-2D656C656B37}/vst-p21"/>
</SurfaceDeviceAssignment>

http://www.mvxsynths.tk
Lower, please

Subir
Respuesta rápida

Regístrate o para poder postear en este hilo