Secuencias de comandos de procesamiento con MIDI (9 / 12 paso)

Paso 9: Otro bus...

Usted puede mirar el código fuente final para ver lo que se me ocurrió para que los controladores de nota, ejecutarlo con el archivo de ejemplo Renoise o vea el video a verlo en acción. Hay una gran probabilidad de que el código no sea exactamente lo que he mostrado aquí. Como he descrito el bosquejo que he reconsiderar cómo deben trabajar las cosas. Esta es la naturaleza de la codificación exploratoria.

Mientras probando esto y lo que se dio cuenta de que puede ser difícil de planificar previamente cada cambio y cambiar y salto puede ver en el bosquejo. Modificar código o editar las pistas MIDI de Renoise y ver los resultados dejaba de pensar, bueno, un cambio de tinte repentino sería bueno o sería el ritmo adecuado para lanzar imágenes de tamaño completo dual para la mitad de una barra. En otras palabras, hubo pocos efectos seleccionados que quería pero sólo en momentos clave.

Esta edición en las pistas de gatillo de Renoise sería complicado. Así que mucho mejor activar algunas cosas en tiempo real usando otro controlador como los juegos de la canción.

Había comencé experimentando con mi teclado QuNexus. Este dispositivo le permite cambiar la octava, por lo que podría han trabajado con una gama de notas no ya asignada. Pero yo quería utilizar un controlador que puede ser más intuitivo, algo que no sea un teclado estándar.

Recogí un Novation Launchpad en algún momento el año pasado. Es una red de interruptores de botón táctil. No hay ningún control de velocidad, sólo en/apagado, gran para la activación de muestras y loops y tal. Envía notas MIDI dentro de un rango preestablecido. Ahora, asegúrese de que haya una manera de cambiar qué notas se asignan a cada botón, pero puesto que el nombre de bus se pasa a los controladores de nota MIDI en el bosquejo con seguridad puedo reutilizar las notas existentes.

Otro enfoque podría ser establecer el Launchpad con un canal específico. Usted puede decidir si seleccionar comportamiento en otro canal o ramificación basada en bus nombre mejor le cabe un modelo mental de lo que está sucediendo.

Hay varios lugares, que el código puede cambiar comportamiento basado en el nombre de bus. Uno, por supuesto, está dentro de cualquiera de los métodos de manejo de la nota. Otra sería en invokeNoteHandler. Aunque he estado pasando el nombre de bus a los controladores de nota mis ideas de cómo usar el Launchpad no ganas de un buen ajuste para la nota existente de manejo de código. Por ejemplo, si envío C48 desde el Launchpad me podría no ser mirando para hacer otra variación en el patrón de relleno de cuadrícula de 4 x 4, pero algo diferente. Agregar una prueba de onNote48 para este dispositivo en particular sentía torpe. ¿Suponga que define un conjunto diferente de manipuladoras de la nota, específicos para este dispositivo?

Esto me ahorraría la molestia de tener que añadir que esta verificación de nombre de dispositivo para cada método onNoteNN solo en el off-oportunidad allí es una superposición de valor de nota. La desventaja es tener un nombre de dispositivo codificado en mi bosquejo.

... y otra opción de configuración

Mientras que quería enviar determinados mensajes MIDI para seleccionar controladores basados en nombre de autobús no quería codificar el nombre de bus. En casa tengo una opción de controladores, pero mientras escribo esta frase llego a ser en HeatSync Labs. No traigo el Launchpad; la QuNexus encajar mucho mejor en mi bolso del ordenador portátil.

En vez de confiar en el nombre de un controlador específico en el código he añadido otra opción de configuración para permitir la asignación de nombres de dispositivo a algún otro texto.

La entrada de config.jsi tiene este aspecto:

 device_mappings: {"Launchpad": "grid", "QuNexus": "grid" } 

En bosquejo el código que establece dispositivos ahora también mira a ver si hay una asignación de dispositivo para un dispositivo encontrado, y si es así entonces usa ese nombre de asignación como el nombre de autobús más bien que y dado el nombre de dispositivo.

Esto requirió otro cambio a Configgy.pde. Lo nuevo es que puede almacenar un nombre :{} ajuste y volver un HashMap de nombre/valor pares de cadena.

Por lo tanto el bosquejo agarra estas asignaciones de nombre de dispositivo...

 HashMap mappings = config.getHashMap("device_mappings"); 

... y luego...

 if (mappings.containsKey( deviceNames[x] ) ) { println("+ + + + Add device using mapping " + mappings.get( deviceNames[x]) ); devices.add( new MidiBus(this, available_inputs[i], 1, (String) mappings.get( deviceNames[x]) ) ); } else { devices.add( new MidiBus(this, available_inputs[i], 1, deviceNames[x]) ); } 

Ahora el mensaje MIDI enviar código puede buscar mensajes de un autobús llamado rejilla; el dispositivo puede ser cualquier número de dispositivos dependiendo de lo que has conectado y cómo has mapeado los nombres.

Ahora enviar mensajes MIDI puede llamar manipuladores especializados:

 void invokeNoteHandler(int note, int velocity, int channel, String bus_name) { try { Class[] cls = new Class[3]; cls[0] = int.class; cls[1] = int.class; cls[2] = String.class; if (bus_name.equals("grid") ) { Method handler = this.getClass().getMethod( "onGridNote" + note, cls ); handler.invoke(this, velocity, channel, bus_name); } else { Method handler = this.getClass().getMethod( "onNote" + note, cls ); handler.invoke(this, velocity, channel, bus_name); } } catch (Exception e) { println("* * * * * * Error handling note " + note + ", velocity " + velocity + ", channel " + channel + ", bus_name " + bus_name + " * * * * * * "); e.printStackTrace(); } } 

Artículos Relacionados

Fotocélula de reaccionar a la luz como un ojo. un proyecto de introducción para el uso de procesamiento con Arduino

Fotocélula de reaccionar a la luz como un ojo. un proyecto de introducción para el uso de procesamiento con Arduino

En este proyecto se puede ver un ejemplo sencillo del uso de procesamiento para hacer una representación gráfica de los datos que un arduino recibe como entrada de un sensor. En este caso una célula fotoeléctrica.Después de obtener una imagen de ojo
¿No coser bufanda de secuencia de comandos

¿No coser bufanda de secuencia de comandos

coser es genial y divertido y maravilloso y todo eso, pero a veces, no sólo desea preparar algo rápido y fácil, sin preocuparse si vas a coser sus costuras al revés y revés? Porque todos tenemos esos días. Diseñar algo bonito siempre no requiere cose
Pasos de instalación de servidor para ejecutar PHP medios compartir secuencias de comandos en 2015

Pasos de instalación de servidor para ejecutar PHP medios compartir secuencias de comandos en 2015

¿Gustaría que tener un Youtube como sitio de los medios de comunicación? Hay un puñado de scripts PHP que hacer precisamente eso. Algunos o algunas o libre. Sin embargo estos scripts todos dependen más vieja versión del software y Linux para funciona
Cómo utilizar autohotkey y escribir secuencias de comandos básicos para él.

Cómo utilizar autohotkey y escribir secuencias de comandos básicos para él.

En este instructable, usted aprenderá cómo utilizar autohotkey y cómo crear secuencias de comandos básicos.Paso 1: Descargar e instalar Autohotkey En primer lugar, debe ir aquí y descargar Autohotkey. Instalación y puesta en marcha.Paso 2: Vamos a ap
Ilustrador de secuencias de comandos para un láser de corte gira cartera

Ilustrador de secuencias de comandos para un láser de corte gira cartera

Adobe Illustrator no es sólo una interfaz gráfica. también puede aceptar scripts en un lenguaje llamado JSX, que es muy similar a Javascript. Para este proyecto, tomamos ventaja de las capacidades de secuencias de comandos de Javascript para hacer un
Cómo agregar secuencias de comandos a RSBot

Cómo agregar secuencias de comandos a RSBot

Hola,hoy mostrará usted cómo agregar un script a RSBot.Esto es muy simple y no tendrá ese tiempo.Paso 1:1) se reúnen artículos necesarios Se necesita lo siguiente:1) Java Development Kit - DL -
Secuencias de comandos de visual basic trucos (2)

Secuencias de comandos de visual basic trucos (2)

visual basic scripting de secuencia de comandos que tiene el potencial para hacer cualquier función física que cuenta con una computadora. voy mostrando dos trucos de vbsVBS por cierto, son guardados como w/e.vbs (en el sentido de w/e decirlo que qui
Edison de Intel ejecutar secuencia de comandos Python

Edison de Intel ejecutar secuencia de comandos Python

Bienvenida,En este instructable te enseñaré cómo conectarse a la placa Intel Edison por SSH y cómo crear y ejecutar un script de Python básico. Así que vamos a empezar!Paso 1: Componentes necesariosHardware:Necesita un equipo que ejecuta Windows 7 o
Cómo editar secuencias de comandos en la parte de la nube

Cómo editar secuencias de comandos en la parte de la nube

este instructable cubrirá los conceptos básicos de cómo hacer que un objeto e Inserte un guión existente.Paso 1: Construcción básica Parte de nube scripts están escritos en Javascript y actualmente se colocan en cualquier objeto creado mediante las h
Juego de guerra de secuencia de comandos por lotes

Juego de guerra de secuencia de comandos por lotes

Este es un juego de guerra de secuencia de comandos por lotes.Usted juega como un soldado en misiones¡ ACTUALIZACIÓN!Ahora se trata de la versión 1.2.Actualizaciones:. Añadido nivel 2.. Capacidad agregada a nombre de uno mismo.Se actualizarlo una vez
Procesamiento con un GPS GeoExplorer3 post

Procesamiento con un GPS GeoExplorer3 post

recoger características con cualquier sistema de posicionamiento Global (GPS) puede ser beneficiosa e interesante. Mayoría de la gente encuentre unidades GPS después de todo los recogida de datos y el procesamiento es completa. Estamos aquí para most
Control de dispositivos por comando de voz con arduino y android

Control de dispositivos por comando de voz con arduino y android

Este ible servirá preguntas como, cómo a los dispositivos de control por comandos de voz, reconocimiento de voz disponible en android.Todos los dispositivos androides viene con el reconocimiento de voz incorporado. Esto puede ser usado para convertir
¿Cómo? Bluetooth HC-05 módulo de comandos AT. Con botón y sin botón.

¿Cómo? Bluetooth HC-05 módulo de comandos AT. Con botón y sin botón.

¡ Hola mundo! Hoy hice un Tutorial sobre el módulo de Bluetooth HC-05 de múltiples fuentes.Porque hay diferentes tipos de módulos de HC-05. Y para algunos les funciona y para algunos no.Así que intento que mi mejor hacer uno que funcione para todos.P
Cómo controlar un juego sencillo de procesamiento con Arduino

Cómo controlar un juego sencillo de procesamiento con Arduino

Hola a todosEn este Instructable, veremos cómo crear un "enlace" entre un esquema de procesamiento y una tarjeta de Arduino. En este ejemplo, se utilizará un módulo de ultrasonidos para el control de un avión en un simple juego. De nuevo, este t