Awesome
Arduino ipMIDI Transport
This library implements the ipMIDI transport layer for the FortySevenEffects Arduino MIDI Library
Installation
This library depends on the Arduino MIDI Library.
When installing this library from the Arduino IDE, the dependency be downloaded and installed in the same directory as this library. (Thanks to the depends
clause in library.properties
)
When manually installing this library, you have to manually download Arduino MIDI Library from github and install it in the same directory as this library - without this additional install, this library will not be able to compile.
Usage
Basic / Default
#include <ipMIDI.h>
...
IPMIDI_CREATE_DEFAULT_INSTANCE();
...
void setup()
{
MIDI.begin(1);
...
}
void loop()
{
MIDI.read();
...
}
will create 2 instances: ipMIDI
and MIDI
and is connected to port 21928 - and listens to incoming MIDI on channel 1.
Modified
#include <ipMIDI.h>
...
IPMIDI_CREATE_INSTANCE(EthernetUDP, MIDI2, 21929);
will create 2 instances named ipMIDI2
and MIDI2
and is connected to port 21929.
Advanced
#include <ipMIDI.h>
...
IPMIDI_NAMESPACE::ipMidiTransport<EthernetUDP> ipMIDI3(21930);
MIDI_NAMESPACE::MidiInterface<IPMIDI_NAMESPACE::ipMidiTransport<EthernetUDP>> MIDI3((IPMIDI_NAMESPACE::ipMidiTransport<EthernetUDP> &)ipMIDI3);
will create a instance named ipMIDI3
(and underlaying MIDI object MIDI3
) and is connected to port 21930.
Tested boards/modules
- ESP32
Other Transport protocols:
The libraries below the same calling mechanism (API), making it easy to interchange the transport layer.