Muchas veces a la hora de usar Traktor, nos encontramos con la circunstancia de que el controlador MIDI que tenemos no dispone de suficientes controles como para tener asignadas todas las funciones que nos gustaría y debemos elegir entre tener asignadas unas u otras, como por ejemplo asignar un botón para activar un efecto o asignarlo a la selección del efecto. También puede ser que nos resultara práctico que un botón tuviera asignada además de la función que ya tiene, justo la función contraria en un momento determinado, por ejemplo marcar un hotcue en unos momentos y en otros borrarlo.
Ambas situaciones y otras muchas similares tienen solución gracias una función avanzada de mapeo para los controladores: el uso de modificadores.
¿Pero qué son los modificadores?
Dicho de una manera muy técnica y abstracta, en Traktor un modificador es una variable que debe haber adquirido un valor determinado como condición para que una acción se lleve a cabo. Evidentemente dicho así suena a lenguaje de programación y muchos no lo entenderán, así que lo explicaré de manera más elaborada. Traktor maneja para el mapeo de controles una serie de variables internas llamadas modificadores, concretamente son 8 los modificadores y cada uno de ellos puede adquirir un valor entre 0 y 7, cada modificador recibe el nombre de M1, M2 … hasta M8. El valor de cada modificador puede cambiar con la pulsación de una tecla, de un botón en un controlador, con el giro de un knob... ese valor puede cambiar de manera temporal (mientras se mantiene pulsada la tecla) o de manera constante (hasta que otra acción lo vuelva a cambiar). Los valores de los modificadores sirven para crear condicionantes de comportamiento en los controles, dicho con un ejemplo, “si el valor de M1 es igual a 0, este botón al pulsarse guarda un hotcue, pero si el valor de M1 es igual a 1, este botón al pulsarse borra un hotcue”. En realidad se pueden utilizar los valores de hasta dos modificadores distintos como condicionantes de una acción.
Los modificadores, su estado y su comportamiento se definen en el Controller Manager de Traktor junto al resto de controles que tengamos mapeados, en el programa aparecen definidos bajo el término modifiers, ya que Traktor está en inglés. Pueden llegarse a definir acciones muy complejas, aunque en este tutorial únicamente os vamos a poner un par de ejemplos muy sencillos para aprender a manejarlos. Experimentando podéis llegar a construir cosas complejas que satisfagan vuestras necesidades.
Por si alguno todavía no tiene claro lo que es un modificador, pondré un ejemplo todavía más claro, el botón “Shift” que tienen muchísimos controladores habitualmente es un modificador. En muchísimos mapas oficiales de controladores el control “Shift” simplemente cambia el valor de un modificador mientras se pulsa, y suele servir para ejecutar la segunda acción programada de un botón, y que suele estar serigrafiada en el controlador en otro color o tipo de letra. Debo decir que esto no es siempre así, ya que en algunos controladores esto sucede a nivel de hardware, y la pulsación de “Shift” hace que internamente los controles envíen una señal MIDI distinta, lo cual genera un mapa normal sin modificadores.
Entrando en materia
Para este tutorial emplearemos un controlador que todos tenemos: el teclado del ordenador. Cualquier cosa que programemos para el teclado del ordenador puede ser extrapolable a los botones de un controlador, solo hay que elegir otro dispositivo en el Controller Manager.
Así pues, en Traktor vamos a Preferences/Controller Manager. Aquí debemos eliminar todos los controles mapeados del teclado para tener el teclado libre y que podamos hacer lo que queramos, así que arriba, en el desplegable Device elegimos “Traktor 2 Default Mapping - Generic Keyboard” , después vamos al desplegable Edit y elegimos Delete, nos preguntará si estamos seguros y le decimos que sí. No pasa nada ya que podemos volver a importar en cualquier momento el mapeo por defecto, el archivo .tsi está guardado en \Mis documentos\Native Instruments\Traktor 2.6.0\Settings\Default Settings\Keyboard . Si no estáis usando el mapeo por defecto asegurad una copia de seguridad haciendo Export en el desplegable Edit.
Ahora que lo tenemos todo despejado podemos definir cosas. Para el primer ejemplo definiremos algo muy sencillo, un botón que al pulsarse activa el FX1 y que al pulsarse en combinación con un modificador cambia el efecto seleccionado en FX1.
En primer lugar definiremos una tecla para el modificador, en Device elegimos “Generic Keyboard” (que debería estar en blanco totalmente) y vamos a Add in/Modifier/Modifier #1, en la tabla de asignaciones veréis que aparece el Modifier #1. Lo seleccionáis y en Device Mapping hacéis click en Learn, para después pulsar Z en el teclado, la tecla Z queda asignada y volvéis a hacer click en Learn para desactivarlo. Un poco más abajo en el desplegable Interaction Mode elegid Hold, esta opción hará que el modificador solo cambie de valor mientras mantenemos pulsada la tecla (muy importante). Más abajo en Button Options poned Set to Value en 1, lo que hará que mientras mantengamos pulsada la tecla Z, M1 tenga el valor 1. Ya tenemos definido el modificador.
Ahora definiremos las dos acciones que se darán, tanto con el modificador en valor 0 como con el modificador en valor 1. Clickamos Add in/FX Unit/Unit on, el control quedará añadido. Le damos a Learn y pulsamos Q para asignarlo a esa tecla, desactivamos Learn. En Interaction Mode elegimos Toggle. Ahora es cuando añadimos la condición del modificador, en Modifier Condition elegimos M1 en el desplegable Modifier y 0 en el desplegable Value, eso quiere decir que cuando M1=0 se ejecutará la acción que hemos programado, recordemos que M1=0 siempre que la tecla Z no esté pulsada. Podríamos definir otra condición ya que tenemos otros dos deplegable para Modifier y Value. Ahora la segunda acción, clickamos en Add in/FX Unit/Effect 1 Selector, haz un Learn a la tecla Q (la misma de antes) y ahora añadimos las condiciones del modificador, elegimos M1 en Modifier y 1 en Value, lo que hará que cuando M1 tiene el valor 1, se podrá ejecutar la acción de cambiar de efecto.
Bien, ya tenemos todo definido, la tabla de asignación del controller manager tiene que tener un aspecto similar a este:
Prueba que todo funcione correctamente. El funcionamiento normal sería que pulsando Q, la unidad de efectos 1 se activa o desactiva, mientras que si dejas pulsada la tecla Z y simultaneamente pulsas Q, cambia el efecto (se selecciona el siguiente cíclicamente).
Ahora haremos algo distinto. Habréis visto en muchas ocasiones controladores en los que hay botones para seleccionar que los controles sirvan para manejar los decks A y B o C y D. Aunque tengáis un controlador que no tenga de fábrica ese control podéis definir vosotros mismos esa característica usando modificadores, pero en lugar de programarlos con valores temporales, programando valores constantes. Veamos un ejemplo de como hacerlo, crearemos un sistema de de selección de decks para que un control de Play sirva para el deck A o el deck C, lo haremos usando el teclado del ordenador, como en el primer ejemplo.
Primero definiremos los controles para el modificador, en esta ocasión habrá que añadir dos controles, uno que pondrá el valor en 1 y otro para poner el valor en 0. Clickamos en Add in/Modifier #2 , hacemos Learn a la tecla 1, y luego en Interaction Mode elegimos Direct, Set to Value lo ponemos en 0. Ahora añadimos otro control al modificador, clickamos en Add in/Modifier #2, hacemos Learn a la tecla 2, Interaction Mode en Direct y Set to Value lo ponemos en 1. Con esto hemos añadido los controles para cambiar de manera constante el valor de M2 entre 0 y 1 pulsando las teclas 1 y 2 de nuestro teclado. Justo encima de la tabla de asignaciones puede colsultarse en cada momento el valor de los modificadores, aparece cada modificador y al lado el valor que ha tomado, por defecto están en 0 siempre. Cuidado con esto ya que mientras está abierto el Controller Manager los valores no cambian y puede haceros pensar que habéis mapeado mal cuando realmente está bien hecho, para ello cerrad el panel de preferencias, cambiad el valor de un modificador, volved a abrirlo y consultad si el valor ha cambiado.
Bien, ahora definiremos un control de Play para los decks A y C, que según el estado de M2 funcionará para uno u otro deck. Clickamos en Add in/Deck Common/Play Pause, hacemos Learn a la tecla A, en Interaction Mode elegimos Toggle y en Assignement elegimos Deck A. Para Modifier Conditions elegimos M2 en Modifier y 0 en Value. Todo esto quiere decir que cuando M2=0 (por defecto o tras pulsar la tecla 1) la tecla A será el Play del deck A. Ahora clickamos en Add in/Deck Common/Play Pause, hacemos Learn a la tecla A, en Interaction Mode elegimos Toggle, pero esta vez en Assignement elegimos Deck C. En Modifier Conditions elegimos M2 en Modifier y 1 en Value. Con todo definido, la tabla de asignaciones tiene que quedar más o menos así:
Tened en cuenta que en esta captura está lo que hemos definido en el primer ejemplo y en el segundo.
Comprobad que todo funciona según lo esperado, es decir, tras pulsar 1 la tecla A será el play del deck A, tras pulsar 2 la tecla A será el play del deck C. Siguiendo este ejemplo, se podría programar un deck completo con el que controlar dos decks, o cuatro si queréis añadiendo dos controles más que añadan dos valores más al modificador.
Espero que a partir de estos ejemplos tan sencillos y básicos y junto con las explicaciones dadas, podáis construir mapas complejos y adaptados a vuestras necesidades. Tened en cuenta que son 8 los modificadores existentes, 8 los valores que pueden adoptar y hasta 2 condicionantes por control. Incluso se pueden poner condiciones a los propios modificadores... la complejidad que se puede alcanzar con un poco de imaginación es altísima. Recordad también que los ejemplos realizados son con el teclado del ordenador, para usar vuestro controlador hay que seleccionarlo en el desplegable Device del Controller Manager.