# undermidi

[![Build Status][gh-actions-badge]][gh-actions]
[![LFE Versions][lfe badge]][lfe]
[![Erlang Versions][erlang badge]][versions]


*An LFE MIDI Port Server*

## Dependencies & Setup

This application assumes that the following are on your system:

* `git`
* GNU `make`
* A modern install of Erlang (v20+)
* [rebar3]( (Erlang build tool)
* Golang

This project's `rebar.config.script` will set the required Go environment

## Build & Run

Build the required Go MIDI server and compile the LFE:

$ make

Start up the LFE REPL:

``` shell
$ rebar3 lfe repl

Start the app:

lfe> (application:ensure_all_started 'undermidi)

See the running `gen_server`s for the Go MIDI server:

lfe> (
(#(ports.lisp.server #Pid<0.366.0> worker (ports.lisp.server))
 #(ports.go.server #Pid<0.365.0> worker (ports.go.server)))

## API

(ports.go.server:send #(command echo))
#(result "echo")

(ports.lisp.server:send #(command echo))
#(result "echo")

[//]: ---Named-Links---

[logo]: priv/images/project-logo.png
[logo-large]: priv/images/project-logo-large.png
[lfe badge]:
[erlang badge]: