MIDI uses a current loop, not voltage. It's normal that you don't measure any voltage at the output of your circuit, it only needs to source current. By adding some kind of pull-up network (e.g. by connecting it to a...
I posted a working example for a MIDI controller with buttons and an encoder. Did it not work for you?
If you want to write your own code from scratch, you'll have to learn some basics about the Arduino/Teensyduino...
The MCU::PLAY constant is for the Mackie Control Universal protocol specifically. If you don't use that protocol, the controller numbers don't really have any meaning apart for the MIDI mapping you create in your DAW....
You have to write code, there's no way around that. You have to tell the Teensy what MIDI messages to send and when, and how it should react to the incoming MIDI messages it receives.
I'm the maintainer of the...
There are very few circumstances where you should be using “new” in modern C++.
The code you linked to uses “new” and owning raw pointers, and leaks memory as a result.
For example here:...
A quick glance at the source seems to reveal that the default constructor copies the contents of a pre-allocated “zero” constant BigNumber. This constant is created when calling BigNumber::begin(), so if you don't...
Something like this, perhaps?
class Foo {
public:
static BigNumber* getBarPtr() {
static BigNumber bar; // Costructed when this function is first called
return &bar;
}
};
Of course, you...
You cannot create a BigNumber before calling BigNumber::begin(), otherwise the BigNumber constructor will dereference a null pointer and crash your program.
Pieter
You can use the “usb_string_midi_port1” through “usb_string_midi_port16” constants. By default, the names used are “Port *”, see usb_desc.c#L1686.
You can define these names as shown here, for example:
#include...
I don't have too much time to look into it right now, but here are a couple of things you could try:
- Try using doubles instead of floats. If it's a numerical issue, there should be a difference.
- Try implementing...
I'm not familiar with “denormalisation” in digital filters. In analog filter design, there seems to be a technique called denormalisation, but I'm not familiar with it.
In all floating point operations, you can end up...
I maintain this Arduino-Filters library.
It supports Butterworth filters out of the box, as you can see in this example: Butterworth.ino
Ideally, this example is all you need to filter some sensor data.
If you...
I don't use Ableton myself, but in my experience, DAWs will usually send all relevant MIDI data when you start the application, when you open a new project, or when you configure the control surface. If you can connect...
Don't bother with the powf and pow C functions, use the C++ function std::pow from the <cmath> header, it'll always select the right version: double if the arguments are doubles, float if the arguments are floats.
...