Add ellipsis to "&Settings..." menu item

Dropped this by mistake when converting to the Settings dialog.

Signed-off-by: Stefan Hajnoczi <stefanha@gmail.com>
Add multi-writer, single-reader ConcurrentQueue

ConcurrentQueue allows message passing between threads.  The write side
supports multiple writers using a lock.  The read side supports a single
reader with a polling approach (therefore never waiting for a lock).

This queue is suitable for passing data between periodic threads like
the audio thread and the MIDI thread, which will be added in later
patches.

Signed-off-by: Stefan Hajnoczi <stefanha@gmail.com>
Add PortMidiStreamer

PortMidiStreamer is the MIDI engine.  MIDI messages are sent and
received through ConcurrentQueue<PmEvent> queues because the streamer
runs in a dedicated polling thread.  The PortMidi library does not
support an event-driven interface so we cannot integrate MIDI into the
GUI thread.

Signed-off-by: Stefan Hajnoczi <stefanha@gmail.com>
Add PortMidiSettingsPage to Settings dialog

Add a Settings dialog page for configuring MIDI devices.  By default
MIDI is off.

Signed-off-by: Stefan Hajnoczi <stefanha@gmail.com>
Add MIDI processing to VSTPlugin

Add MIDI input and output to VSTPlugin.  Note that input/output is not
yet hooked up.  The next patch will do that.

Signed-off-by: Stefan Hajnoczi <stefanha@gmail.com>
Add MIDI processing to VSTProcessor

Pass the MIDI output queue to each VSTPlugin and handling MIDI input
events.

Signed-off-by: Stefan Hajnoczi <stefanha@gmail.com>
Start MIDI when connecting to jam

Signed-off-by: Stefan Hajnoczi <stefanha@gmail.com>
Add MIDI Beat Clock support

Send MIDI clock pulses so external applications and devices can
synchronize to the tempo.

Signed-off-by: Stefan Hajnoczi <stefanha@gmail.com>
Add Debian packaging scripts

Signed-off-by: Stefan Hajnoczi <stefanha@gmail.com>
Add application icon and .desktop metadata

Signed-off-by: Stefan Hajnoczi <stefanha@gmail.com>
Add Windows application icon

Signed-off-by: Stefan Hajnoczi <stefanha@gmail.com>
Update Debian packaging for jammr 1.0.1 release

Signed-off-by: Stefan Hajnoczi <stefanha@gmail.com>
Update Debian packaging for 1.0.2 release

Signed-off-by: Stefan Hajnoczi <stefanha@gmail.com>
Update Debian packaging for 1.1.0 release

Signed-off-by: Stefan Hajnoczi <stefanha@gmail.com>
Add built-time option to use -lporttime

The Ubuntu package for PortMidi ships a separate libporttime.so.  Other
distributions ship a single libportmidi.so.  Add an option to the
project file so it can be selected at build-time.

Signed-off-by: Stefan Hajnoczi <stefanha@gmail.com>
Enable -lporttime for the Ubuntu package

This is a hack, we cannot modify debian/rules globally since it should
work for vanilla Debian.

Signed-off-by: Stefan Hajnoczi <stefanha@gmail.com>