Ciao, sto provando a costruire un controller midi da utilizzare con software da dj tipo virtualdj o ableton ma incappo in un problema con la mappatura degli input. Ho creato una versione di prova collegando 5 potenziometri dal pin a0 al pin a4, poi avvalendomi di tutorial vari su internet ho copiato e modificato leggermente uno sketch (senza variarne il funzionamento).
Utilizzo un arduino mega quindi non posso utilizzare midiusb; il mio sketch è il seguente:
int val[5];
int lastVal[5];
void setup()
{
Serial.begin(38400);
for(int i = 0; i < 5; i++)
{
val[i]=0;
lastVal[i]=0;
}
}
void loop()
{
for(int i=0; i<5; i++)
{
val[i] = analogRead(i)/8;
if (val[i] != lastVal[i])
{
MIDImessage(176,16+i,val[i]);
lastVal[i] = val[i];
}
}
delay(10);
}
void MIDImessage(byte command, byte data1, byte data2)
{
Serial.write(command);
Serial.write(data1);
Serial.write(data2);
}
Poi ho installato loopmidi per creare delle porte midi virtuali e ho configurato hairless midi serial con il baud rate dell'arduino, serial port dell'arduino e midi out la porta virtuale creata con loopmidi. Fin qui sembra funzionare tutto correttamente anche da quello che vedo dal debug di hairless che mostra il giusto variare dei valori per ogni canale.
Il problema sorge quando provo a mappare i potenziometri: su ableton nonostante in alto a destra si illumini il quadratino che indica un input midi non riesco ad assegnare la manopola ad una determinata funzione. Invece su virtualdj 8 per ogni canale trovo jog, slider e encoder. Per esempio se muovo il primo potenziometro (assegnato al canale midi 16) nella schermata per mappare il controller midi custom trovo JOG16, SLIDER16 e ENCODER16 e anche assegnandoli non riesco ad usarli.
Mi sapreste dire a cosa è dovuto questo problema e come risolverlo? Grazie in anticipo