Skip to content

ipMIDI transport layer for the FortySevenEffects Arduino MIDI Library

License

Notifications You must be signed in to change notification settings

lathoub/Arduino-ipMIDI

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

58 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

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

Topics

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages