mod
De momento al menos veo un error: tienes que usar el comando 12 (data set) y no el 11 (data request). Y ojito con como calculas el checksum, que hay varias formas posibles.
Y también comprueba el Device ID,el que uses en tu mensaje tiene que coincidir con el que está ajustado en el equipo.
mod
Ese 06 implica que el Device ID no lo tienes en el habitual. ¿Qué Device ID tienes en el sinte? Roland suele numerarlos en la pantalla del equipo empezando en 1, pero en los mensajes empezando en 0, así que 06 en el mensaje correspondería a Device ID = 7 en la pantalla del equipo.
mod
Lo mejor es que te asegures del formato del mensaje usando algo que te permita enviar sysex en bruto, pasando del remote. Y cuando lo tengas claro usas lo pasas al remote.
Por ej en cubase puedes escribir sysex 'a pelo' y enviarlos. Y como también los graba y los muestra, puedes grabar en un pista mientras retoca ese parámetro y ves el formato exacto que envía. Para verlo te vale cualquier visor de mensajes, un MIDI Monitor.
#2
Gracias Pablo, en ti estaba pensando justamente mientras me releia tus artículos sobre Sysex aqui mismo.
Acerca del checksum, he visto alguna utilidad para su cálculo mientras buscaba ayuda estos dias por la red, no se que tal resultará. ¿Pero se ha de calcular para cada parámetro? Es la primera vez que tendría que calcularlo, tengo ahora mapeado un Alpha Juno para el que no lo he necesitado, aunque claro es mucho más sencillo que esta reverb en cuanto a diversidad y cantidad de parametros.
Sobre el comando dataset probé con el 12 y no obtenia respuesta alguna desde el módulo, aunque ya suponía que con el 11 estaba mal, tomé la respuesta de error del modulo como un comienzo.
Y sobre el Device ID está en el correcto, es el 7 cómo bien apuntas
Un saludo
#4
He usado midi-ox para comprobar los mensajes de la maquina haciendo un dump de un programa individual, es así como me di cuenta del tema del device id (que el 6 del mensaje correspondía al 7 en el módulo).
Sin embargo lo que obtengo no acaba de aclararme para elaborar mi mensaje midi. Esto es lo que obtengo al volcar lo que el módulo llama Temp program, que supongo que es el programa que está en el buffer de edición:
F0 41 06 00 12 12 20 00 00 00 00 60 F7
Con eso y todo voy dando palos de ciego, pese a llevar unos dias consultando recursos en la red y probando cuanto se me ocurría
mod
El checksum no es un valor constante para el mensaje, varía con el valor que tenga el dato. Así que tienes que mirar el manual del remote.
Creo recordar, pero hablo de memoria, que el editor de Novation para remote no permitía ajustarlo. Tenías que hacerlo a mano en el propio remote.
Pero apostaría a que es un problema con el checksum.
1
mod
Usa midi ox para ver qué mensajes te manda al alterar solo el parámetro ese que quieres mover en el ejemplo. Y pásamelo. Verás que a medida que el valor del. Parámetro sube el checksum. Baja
mod
Ese mensaje que has dicho (F0 41 06 00 12 12 20 00 00 00 00 60 F7) no es el de temporary program. El de temp prog está en la dirección 10 00 00 00 y siguientes, como ya habías puesto en el comienzo del hilo.
mod
No captures un volcado completo con todos los bytes del temp prog. Haz lo que te comentaba. Esta en pantalla un único parámetro y mira lo que te llega. Te va a ser más sencillo de interpretar y se parece más a lo que buscas hacer.
mod
No desistas, que casi lo tienes. En remote hay un par de valores especiales para indicar donde comienza y donde acaba el cálculo del checksum. No basta que elijas el roland. Tienes que marcar donde debe empezar ese cálculo. Está en los manuales (es que no tengo ahora posibilidad de mirártelo).
No te preocupes, ya miraré yo el manual. Faltaría más
Supongo que deben ser los parámetros LENGth y DATAPsn, que veo que están relacionados entre si y también lo están con el parámetro Datatype. Permitiendo introducir unos valores u otros depende de lo que esté seleccionado en éste último.
Hasta el momento en que lo has mencionado me había dado por pensar que Length era la cantidad de bytes que contenía el mensaje, pero veo que me va a tocar tirar de manual como bien dices para asegurarme de las funciones de esos dos valores.
Voy a hacer un descanso y retomarlo con la cabeza más clara y tus observaciones, porque de tanto darle vueltas estoy más que atascado en este momento. La verdad es que es más un capricho que algo que necesite -me gustaría acceder a más parametros sin tener que bucear tanto por los menús- y ahora que me he picado con ello no soy capaz de dejarlo de lado.
Un saludo y gracias de nuevo
mod
Una cosa: como no tengo ese equipo... A qué se refiere los individual área y lo de bulk área?
mod
Y otra recomendación: es más fácil si empiezas con un mensaje de la parte system. Por ejemplo intenta controlar lo de la intensidad del display.
Puedes generar dos mensajes fijos. Uno para ponerlo flojito y otro para ponerlo a tope. Lo digo porque así puedes escribir el valor del checksum calculado por tí sin depender de remote. Y si ves que va ok, ya has arrancado. No estoy seguro, pero ahora me vino a la memoria que con algún Roland moderno no me llegó al funcionsr el checksum de remote (lo pude solventar poniendo ese byte a cero, sin hacer checksum).