Has anyone tried TeensyLC with FL Studio? FL seems to ignore mine but MidiOx loves it

Status
Not open for further replies.

IPFreely

Member
I'm just going to ramble and hopefully maybe someone has had a similar issue and can shed some light. I built a cool little MIDI controller and got it running on the UNO. I had lots of issues along the way but finally got it working pretty well. FL Studio would always recognize it or at least show that some midi data was showing up even if it was unusable. However, MidiOx always hated my build no matter what I did. I would get all kinds of crazy data or nothing at all etc.

Anyway, I finally decided that overall it would probably be better to try out the Teensy platform because I could run direct thru USB without the crazy converter cable and all the extra MIDI spec parts etc. So I finally get a basic two button code working for testing purposes and lo and behold MidiOx loves it! Super stable and does what it's supposed to etc. It also performs well in Bome's Sendsx app. However, FL Studio completely ignores it! I don't even get a little blinkage of the midi icon let alone the ability to actually turn things on and off in it.

Has anyone had a similar experience? It could well be some simple little thing I'm overlooking or am not aware of but I'm hoping someone else may have had a similar experience and will recognize the issue. (Searching 'FL Studio' on here hasn't turned up any leads.)

Thanks.

P.S. So far I'm extremely impressed with the Teensy platform. I doubt it's an issue with the Teensy itself but perhaps a quirk of some sort or a user error that I haven't encountered yet.

Here is the basic two button code to adhere to forum etiquette:

const int LEDA = 11;
const int LEDB = 12;
const int buttonPinA = 7;
const int buttonPinB = 6;
int buttonStateA = 0;
int buttonStateB = 0;
int lastButtonStateA = 0;
int lastButtonStateB = 0;
int toggleStateA = 0;
int toggleStateB = 0;
const int channel = 1;

void setup () {
pinMode (buttonPinA, INPUT);
pinMode (LEDA, OUTPUT);
pinMode (buttonPinB, INPUT);
pinMode (LEDB, OUTPUT);
}

void loop () {
buttonStateA = digitalRead (buttonPinA);
buttonStateB = digitalRead (buttonPinB);

// check whether the input is HIGH (button pressed)
if (buttonStateA == HIGH){
digitalWrite (LEDA,HIGH); // turn LED on
}else{
digitalWrite (LEDA,LOW);
}

if (buttonStateA != lastButtonStateA && buttonStateA == 1 && toggleStateA == 0) {
usbMIDI.sendControlChange (1, 127, 1);
delay (50);
toggleStateA = 1;
}
else if (buttonStateA != lastButtonStateA && buttonStateA == 1 && toggleStateA == 1) {
usbMIDI.sendControlChange (1, 0, 1);
delay (50);
toggleStateA = 0;
}
lastButtonStateA = buttonStateA;

// check whether the input is HIGH (button pressed)
if (buttonStateB == HIGH){
digitalWrite (LEDB,HIGH); // turn LED on
}else{
digitalWrite (LEDB,LOW);
}

if (buttonStateB != lastButtonStateB && buttonStateB == 1 && toggleStateB == 0) {
usbMIDI.sendControlChange (2, 127, 1);
delay (50);
toggleStateB = 1;
}
else if (buttonStateB != lastButtonStateB && buttonStateB == 1 && toggleStateB == 1) {
usbMIDI.sendControlChange (2, 0, 1);
delay (50);
toggleStateB = 0;
}
lastButtonStateB = buttonStateB;
while (usbMIDI.read()) {} // read and discard any incoming MIDI messages

}
 
Did you enable the Teensy LC in the midi settings as a generic controller?
Screen Shot 2018-03-15 at 12.33.03 AM.png
 
Did you enable the Teensy LC in the midi settings as a generic controller?
View attachment 13299

Yes, thanks. Teensy even shows up as input option right away but I found out that everything has to be refreshed for some reason. In case someone searches on this in the future:

Click enable button so that it turns off then click enable again then click refresh devices and this seems to fix it. Not sure why I didn't try that but I get tunnel vision sometimes when I'm working on things.
 
Status
Not open for further replies.
Back
Top