Teensy 3.2 - Midi controller not showing in Logic Pro

Status
Not open for further replies.

DiogoChavees

New member
Hi,

I am creating a MIDI controller with some faders in order to help my workflow using a DAW. So, I've decided to use a Teensy. It is working, in some ways. My computer recognizes the controller, and if I open, for example, Kontakt, it works just fine, as it should. However, when I open Logic Pro, inside Logic, the controller does not work. I think it is not being recognized, because when I move the faders, there is no MIDI activity showing in Logic.
Do I have to install the controller in "Control Surfaces" inside Logic? If so, what is the kind of control surface should I install? What should I do inside Logic for it to work?


This is the code I've used:


#include <Bounce.h>

#define analogInputs 2


int inputAnalog[analogInputs];
int iAlag[analogInputs];

int ccValue[analogInputs];

#include <ResponsiveAnalogRead.h>



const int A_PINS = 2;
const int ANALOG_PINS[A_PINS] = {A0, A1};
const int CCID[A_PINS] = {1, 7};


byte data[A_PINS];
byte dataLag[A_PINS];

ResponsiveAnalogRead analog[]{
{ANALOG_PINS[0],true},
{ANALOG_PINS[1],true},
};



void setup() {
Serial.begin(9600);
}



void loop(){

for (int i=0;i<A_PINS;i++){
analog.update();

if(analog.hasChanged()) {
data = analog.getValue()>>3;
if (data != dataLag){
dataLag = data;
usbMIDI.sendControlChange(CCID, data, 1);
}
}
}
}



Thank you very much for your help!
 
...Do I have to install the controller in "Control Surfaces" inside Logic? If so, what is the kind of control surface should I install? What should I do inside Logic for it to work?
That's not really a Teensy question. Logic seems to have automated control surface mapping features etc. that work by recognizing the ID values of the USB controller. A Teensy running as a MIDI device will not be recognized but MIDI learn features, one would think, should still work.

Page 15...
https://usermanual.wiki/Apple/LogicProX.1845196802/html

The code you have is set to output Control Change 1 and 7 based on the line that configures CCID

const int CCID[A_PINS] = {1, 7};

Change the 1 and 7 to whatever you like but any DAW should be able to read the MIDI from it if your code is not pumping garbage from a floating pin.

The device name defaults to 'Teensy MIDI' or similar...

If it connects and then fails it may be you don't have the pins configured correctly as this thread implies Logic will disconnect if you are sending a ton of garbage MIDI.
 
Last edited:
Status
Not open for further replies.
Back
Top