ijsf / sysexd

WebSockets to MIDI sysex daemon

Home Page:http://wer.si

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

sysexd

This daemon allows applications to communicate SysEx messages over MIDI using WebSockets.

As such, it opens a WebSockets-enabled HTTP server on a predefined port (e.g. 9002) on the local host, on which the host's MIDI interfaces are exposed.

Installation instructions

Windows

If you don't feel like building sysexd, head over to https://github.com/ijsf/sysexd/releases to download the latest binary and just run it.

OSX/*nix

For these platforms, it is required to build sysexd. First, make sure you have the following requirements:

  1. XCode - for more information e.g. see http://railsapps.github.io/xcode-command-line-tools.html.
  2. Homebrew - for more information e.g. see http://brew.sh.
  3. Boost - install with brew install boost.
  4. CMake - install with brew install cmake.

Now generate the makefiles using CMake:

cmake .

If no errors have occurred, build sysexd:

make

If the build was successful, you should now be able to run sysexd as follows:

./bin/sysexd

Why use a daemon?

Although the Web MIDI API is currently under development for browsers, there a number of situations where a daemon may have advantages:

  • Broader browser compatibility, e.g. including browsers that do not support the Web MIDI API.
  • Lower-level implementation, e.g. to support SysEx communication with devices that do not behave according to MIDI SysEx specifications.
  • Isolation, e.g. keeping low-level SysEx communication related code, such as data corruption and message retries, out of the client codebase.

Examples

An example of use for sysexd can be found at wer.si.

About

WebSockets to MIDI sysex daemon

http://wer.si

License:Other


Languages

Language:C++ 73.6%Language:CMake 26.4%