lathoub / Arduino-ipMIDI

ipMIDI transport layer for the FortySevenEffects Arduino MIDI Library

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Arduino ipMIDI Transport

arduino-library-badgeGitHub version

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.

About

ipMIDI transport layer for the FortySevenEffects Arduino MIDI Library

License:MIT License


Languages

Language:C++ 100.0%