Feature/release cleanup (#4)
* README.rst: Moving to restructured text for better readibility. * INSTALLATION.rst: Moving to rst for readability and offering information on how to build using meson. * INSTALLATION.rst: Updating meson build/installation instructions. * README.rst: Adding links to jack{,2}, alsa, dbus. Fixing spelling and removing redundant sentences. Adding link to installation/build documentation. * README.rst: Switching to non-link in italic section. * INSTALLATION.rst: Making more clear what DESTDIR is. * LICENSE: Move GPLv2 license to common location. * AUTHORS: Adding David Runge. Sorting alphabetically. * AUTHORS.rst: Switching to rst for nicer lists. * AUTHORS.rst: Add header and put names in a list. * CHANGELOG.rst: Switching to rst for better readibility. * CHANGELOG.rst: Putting releases in sections and items in proper lists. Adding header. Adding information of upcoming version 9. * CHANGELOG.rst: Adding information on architecture fixes and release date of version 9. * meson.build: Incrementing version to 9.
This commit is contained in:
parent
c07775d021
commit
de37569c92
6
AUTHORS
6
AUTHORS
|
@ -1,6 +0,0 @@
|
|||
Nedko Arnaudov <nedko@arnaudov.name>
|
||||
Dmitry S. Baikov <c0ff@konstruktiv.org>
|
||||
Paul Davis <paul@linuxaudiosystems.com>
|
||||
Torben Hohn <torbenh@gmx.de>
|
||||
|
||||
Juuso Alasuutari has copyright ownership on some D-Bus related code, taken from other projects (lash, jackdbus).
|
|
@ -0,0 +1,10 @@
|
|||
=======
|
||||
Authors
|
||||
=======
|
||||
|
||||
* David Runge <dave@sleepmap.de>
|
||||
* Dmitry S. Baikov <c0ff@konstruktiv.org>
|
||||
* Juuso Alasuutari has copyright ownership on some D-Bus related code, taken from other projects (lash, jackdbus).
|
||||
* Nedko Arnaudov <nedko@arnaudov.name>
|
||||
* Paul Davis <paul@linuxaudiosystems.com>
|
||||
* Torben Hohn <torbenh@gmx.de>
|
|
@ -0,0 +1,93 @@
|
|||
=========
|
||||
Changelog
|
||||
=========
|
||||
|
||||
Version 9 on 2019-09-24
|
||||
-----------------------
|
||||
|
||||
* architecture fixes for aarch64 and powerpc64
|
||||
* porting a2j_control to python3
|
||||
* replace waf with meson as build system
|
||||
* control unique port names over D-Bus
|
||||
* man page spelling fixes
|
||||
* fix linking against libpthread
|
||||
|
||||
Version 8 "Sophronius of Vratsa" on 2012-07-05
|
||||
----------------------------------------------
|
||||
|
||||
* -u commandline option
|
||||
* D-Bus method for checking whether hw export is enabled. Kudos to Danni Coy
|
||||
* Fix for resource leak. Kudos to Dan A. Muresan
|
||||
* Improved error message for snd_seq_connect_to() failures
|
||||
* --mandir= option in waf. Kudos to Dan Church
|
||||
|
||||
Version 7 "Paisius of Hilendar" on 2011-01-16
|
||||
---------------------------------------------
|
||||
|
||||
* MIDI processing improvements
|
||||
* Use the JACK limit for max port name size (sr #2526)
|
||||
* Adopt to shared library policy changes in some distros (sr #2547)
|
||||
* dbus support can now be disabled at configure stage
|
||||
* fix build on not so common platforms (LP: #556351)
|
||||
* man pages (from Debian)
|
||||
* reopen log file when it is deleted or replaced
|
||||
|
||||
Version 6 "Indzhe Voyvoda" on 2009-12-29
|
||||
----------------------------------------
|
||||
|
||||
* MIDI processing improvements
|
||||
* Handle large number of ports
|
||||
* a2j script (non-dbus-like behaviour for dbus environment)
|
||||
* Allow tweaking through dbus of the hardware port export option
|
||||
* Fix a use of invalid memory
|
||||
* Fix port miss that can occur if port appears during bridge startup
|
||||
|
||||
Version 5 "Athos" on 2009-06-13
|
||||
-------------------------------
|
||||
|
||||
* Fix thight loop on D-Bus disconnect
|
||||
* D-Bus signals for bridge start and stop
|
||||
* Fixed alsamidi "disappearing output" bug. (backport from jack1)
|
||||
* MIDI note-off normalization fix from Dave Robillard (Backport from jack1)
|
||||
* Removed wrong assert from alsa_seqmidi.c reported by Ken Ellinwood (Backport
|
||||
from jack1)
|
||||
* Mark anything that looks like a hardware port as physical&terminal (Backport
|
||||
from jack1/jack2)
|
||||
* Fix potential crash when D-Bus is not used
|
||||
* Support for multiple ALSA clients with same name
|
||||
* Merge midibridge changeset by Paul Davis that is expected to fix midi event
|
||||
timing problems that some people have reported.
|
||||
|
||||
Version 4 "Devsirme" on 2008-08-03
|
||||
----------------------------------
|
||||
|
||||
* Fix typos in docs
|
||||
* Disable use of C++ demangling in sigsegv. Fix for sr #2074
|
||||
* Fix a2j_control help text (thanks kfoltman!)
|
||||
* Request fixed JACK client name. Fix for bug #12139
|
||||
* Handle missing svnversion executable nicely. Fixes bug #12138
|
||||
|
||||
Version 3 "Bodrum" on 2008-08-03
|
||||
--------------------------------
|
||||
|
||||
* Improved port naming, support for bidirectional ports
|
||||
* Allow exporting of hardware ports (disabled by default)
|
||||
* Switch from autotools to waf
|
||||
* Remove support for old JACK MIDI API variants
|
||||
* Remove usage of posix semaphores that could cause sleep in realtime context,
|
||||
in rare circumstances
|
||||
* D-Bus background service mode. The old manual mode is still working.
|
||||
* Log file when running in background service mode.
|
||||
* Improved documentation
|
||||
* Import, with slight modifications, static bridges created by Sean Bolton and
|
||||
Lars Luthman.
|
||||
|
||||
Version 2 on 2007-10-27
|
||||
-----------------------
|
||||
|
||||
* Improved build system (autotools) and support for older JACK variants
|
||||
|
||||
Version 1 on 2007-08-26
|
||||
-----------------------
|
||||
|
||||
* Initial release
|
34
INSTALL
34
INSTALL
|
@ -1,34 +0,0 @@
|
|||
= Configure it =
|
||||
|
||||
./waf configure
|
||||
|
||||
This will configure for installation to /usr/local prefix.
|
||||
If you want to use other prefix, use --prefix option:
|
||||
|
||||
./waf configure --prefix=/usr
|
||||
|
||||
For full list of options, run:
|
||||
|
||||
./waf configure --help
|
||||
|
||||
There are two custom options:
|
||||
|
||||
* "--disable-dbus will" force disable dbus support, even if dependencies are present
|
||||
* "--enable-pkg-config-dbus-service-dir" will force D-Bus service install
|
||||
dir to be one returned by pkg-config. This is usually needed when
|
||||
prefix is /usr/local because dbus daemon scans /usr for service
|
||||
files but does not in /usr/local
|
||||
|
||||
= Build it =
|
||||
|
||||
./waf
|
||||
|
||||
You can use -j option to enable building on more than one CPU:
|
||||
|
||||
./waf -j 4
|
||||
|
||||
= Install it =
|
||||
|
||||
./waf install
|
||||
|
||||
You probably want to run later as superuser to install system-wide
|
|
@ -0,0 +1,48 @@
|
|||
============
|
||||
Installation
|
||||
============
|
||||
|
||||
*a2jmidid* uses the |meson| build system.
|
||||
|
||||
|
||||
Configure and build
|
||||
-------------------
|
||||
|
||||
To configure the project, |meson|'s |meson_universal_options| (e.g. *prefix*)
|
||||
can be used to prepare a build directory::
|
||||
|
||||
meson --prefix=/usr build
|
||||
|
||||
One additional - project specific - option enables for building without |dbus|
|
||||
support::
|
||||
|
||||
meson --prefix=/usr -Ddisable-dbus=true build
|
||||
|
||||
To build the application |ninja| is required::
|
||||
|
||||
ninja -C build
|
||||
|
||||
Install
|
||||
-------
|
||||
|
||||
|meson| is able to install the project components to the system directories
|
||||
(when run as root), while honoring the *DESTDIR* environment variable::
|
||||
|
||||
DESTDIR="/some/other/location" meson install -C build
|
||||
|
||||
.. |meson| raw:: html
|
||||
|
||||
<a href="https://mesonbuild.com/" target="_blank">Meson</a>
|
||||
|
||||
.. |meson_universal_options| raw:: html
|
||||
|
||||
<a href="https://mesonbuild.com/Builtin-options.html#universal-options" target="_blank">universal options</a>
|
||||
|
||||
.. |dbus| raw:: html
|
||||
|
||||
<a href="https://www.freedesktop.org/wiki/Software/dbus/" target="_blank">D-Bus</a>
|
||||
|
||||
.. |ninja| raw:: html
|
||||
|
||||
<a href="https://ninja-build.org/" target="_blank">Ninja</a>
|
||||
|
59
NEWS
59
NEWS
|
@ -1,59 +0,0 @@
|
|||
= Version 8 "Sophronius of Vratsa" on 2012-07-05 =
|
||||
* -u commandline option
|
||||
* D-Bus method for checking whether hw export is enabled. Kudos to Danni Coy
|
||||
* Fix for resource leak. Kudos to Dan A. Muresan
|
||||
* Improved error message for snd_seq_connect_to() failures
|
||||
* --mandir= option in waf. Kudos to Dan Church
|
||||
|
||||
= Version 7 "Paisius of Hilendar" on 2011-01-16 =
|
||||
* MIDI processing improvements
|
||||
* Use the JACK limit for max port name size (sr #2526)
|
||||
* Adopt to shared library policy changes in some distros (sr #2547)
|
||||
* dbus support can now be disabled at configure stage
|
||||
* fix build on not so common platforms (LP: #556351)
|
||||
* man pages (from Debian)
|
||||
* reopen log file when it is deleted or replaced
|
||||
|
||||
= Version 6 "Indzhe Voyvoda" on 2009-12-29 =
|
||||
* MIDI processing improvements
|
||||
* Handle large number of ports
|
||||
* a2j script (non-dbus-like behaviour for dbus environment)
|
||||
* Allow tweaking through dbus of the hardware port export option
|
||||
* Fix a use of invalid memory
|
||||
* Fix port miss that can occur if port appears during bridge startup
|
||||
|
||||
= Version 5 "Athos" on 2009-06-13 =
|
||||
* Fix thight loop on D-Bus disconnect
|
||||
* D-Bus signals for bridge start and stop
|
||||
* Fixed alsamidi "disappearing output" bug. (backport from jack1)
|
||||
* MIDI note-off normalization fix from Dave Robillard (Backport from jack1)
|
||||
* Removed wrong assert from alsa_seqmidi.c reported by Ken Ellinwood (Backport from jack1)
|
||||
* Mark anything that looks like a hardware port as physical&terminal (Backport from jack1/jack2)
|
||||
* Fix potential crash when D-Bus is not used
|
||||
* Support for multiple ALSA clients with same name
|
||||
* Merge midibridge changeset by Paul Davis that is expected to fix
|
||||
midi event timing problems that some people have reported.
|
||||
|
||||
= Version 4 "Devsirme" on 2008-08-03 =
|
||||
* Fix typos in docs
|
||||
* Disable use of C++ demangling in sigsegv. Fix for sr #2074
|
||||
* Fix a2j_control help text (thanks kfoltman!)
|
||||
* Request fixed JACK client name. Fix for bug #12139
|
||||
* Handle missing svnversion executable nicely. Fixes bug #12138
|
||||
|
||||
= Version 3 "Bodrum" on 2008-08-03 =
|
||||
* Improved port naming, support for bidirectional ports
|
||||
* Allow exporting of hardware ports (disabled by default)
|
||||
* Switch from autotools to waf
|
||||
* Remove support for old JACK MIDI API variants
|
||||
* Remove usage of posix semaphores that could cause sleep in realtime context, in rare circumstances
|
||||
* D-Bus background service mode. The old manual mode is still working.
|
||||
* Log file when running in background service mode.
|
||||
* Improved documentation
|
||||
* Import, with slight modifications, static bridges created by Sean Bolton and Lars Luthman.
|
||||
|
||||
= Version 2 on 2007-10-27 =
|
||||
* Improved build system (autotools) and support for older JACK variants
|
||||
|
||||
= Version 1 on 2007-08-26 =
|
||||
* Initial release
|
102
README
102
README
|
@ -1,102 +0,0 @@
|
|||
= Overview =
|
||||
Main goal of this project main is to ease usage of legacy, not
|
||||
JACK-ified apps, in a JACK MIDI enabled system.
|
||||
|
||||
There are two ways to use legacy ALSA sequencer applications in JACK
|
||||
MIDI system.
|
||||
|
||||
The first approach is to use automatic bridging. For every ALSA
|
||||
sequencer port you get one JACK MIDI port. If ALSA sequencer port is
|
||||
both input and output one, you get two JACK MIDI ports, one input and
|
||||
output.
|
||||
|
||||
The second approach is to static bridges. You start application that
|
||||
creates one ALSA sequencer port and one JACK MIDI port. Such bridge is
|
||||
unidirectional.
|
||||
|
||||
First approach works almost always except when legacy ALSA sequencer
|
||||
application does not create ports and/or wants existing port to exist
|
||||
so it can capture from or playback to it. Such programs are using the
|
||||
feature of ALSA sequencer framework that allows sending and receiving
|
||||
MIDI events to/from port, without creating connection to it.
|
||||
|
||||
= a2jmidid =
|
||||
a2jmidid is daemon that implements automatic bridging. For every ALSA
|
||||
sequencer port you get one jack midi port. If ALSA sequencer port is
|
||||
both input and output one, you get two JACK MIDI ports, one input and
|
||||
output.
|
||||
|
||||
a2jmidid has two modes of operation, running bridge manually and
|
||||
background D-Bus service.
|
||||
|
||||
To start a2jmidid in manual mode, just run it (and don't supply the
|
||||
special "undocumented" dbus parameter). a2jmidid will start bridging,
|
||||
and you will get output on stdout and stderr. You can stop the bridge
|
||||
using ctrl-c.
|
||||
|
||||
Usually you want to bridge software ports and not bridge hardware
|
||||
ports (they are handled by JACK itself). In case you want to force
|
||||
a2jmidid to bridge hardware ports, you can use the export-hw option:
|
||||
|
||||
a2jmidid -e
|
||||
|
||||
or
|
||||
|
||||
a2jmidid --export-hw
|
||||
|
||||
In D-Bus service mode, a2jmidid works in background. When service
|
||||
access is requested by some application (like a2j_control), dbus
|
||||
session bus daemon activates the object by executing the service
|
||||
executable. The object has methods for starting and stopping the
|
||||
bridging. You can use a2j_control to do this:
|
||||
|
||||
a2j_control start
|
||||
a2j_control stop
|
||||
|
||||
You can deactivate (that may cause later reactivation) the service
|
||||
like this:
|
||||
|
||||
a2j_control exit
|
||||
|
||||
You can query the bridge status using this command:
|
||||
|
||||
a2j_control status
|
||||
|
||||
There also methods (and corresponding a2j_control commands) that can
|
||||
be used to query mapping information.
|
||||
|
||||
a2jmidid implementation is based on jack-alsamidi-0.5 that is [almost]
|
||||
same as jackd ALSA "seq" MIDI backend), both created by Dmitry
|
||||
Baikov.
|
||||
|
||||
= a2jmidi_bridge =
|
||||
a2jmidi_bridge is static bridge that creates one ALSA sequencer
|
||||
playback port and one JACK MIDI capture port. MIDI events sent to ALSA
|
||||
sequencer playback port can be read from the JACK MIDI capture port.
|
||||
|
||||
a2jmidi_bridge has optional argument that allows overriding name used
|
||||
for JACK and ALSA client:
|
||||
|
||||
a2jmidi_bridge "my precious bridge"
|
||||
|
||||
a2jmidi_bridge implementation is based on alsaseq2jackmidi by Sean
|
||||
Bolton.
|
||||
|
||||
= j2amidi_bridge =
|
||||
j2amidi_bridge is static bridge that creates one JACK MIDI playback
|
||||
port and one ALSA sequencer capture port. MIDI events sent to JACK
|
||||
MIDI playback port can be read from the ALSA sequencer capture port.
|
||||
|
||||
j2amidi_bridge has optional argument that allows overriding name used
|
||||
for JACK and ALSA client:
|
||||
|
||||
j2amidi_bridge "my precious bridge"
|
||||
|
||||
j2amidi_bridge implementation is based on jackmidi2alsaseq by Lars
|
||||
Luthman.
|
||||
|
||||
= Contact info =
|
||||
If someone wants to contribute please, contact me (Nedko Arnaudov), or
|
||||
send patches, or request inclusion (Gna! a2jmidid project).
|
||||
|
||||
Packagers are more than welcome too.
|
|
@ -0,0 +1,128 @@
|
|||
========
|
||||
a2jmidid
|
||||
========
|
||||
|
||||
This project aims to ease the usage of legacy, non |jack| enabled applications,
|
||||
in a |jack| MIDI enabled system, when using |jack2|
|
||||
|
||||
There are two ways to use legacy |alsa| sequencer applications in a |jack| MIDI
|
||||
system:
|
||||
|
||||
**Automatic bridging**: For every |alsa| sequencer port you get one |jack| MIDI
|
||||
port. If an |alsa| sequencer port is both an input and an output, you get two
|
||||
|jack| MIDI ports, one input and output.
|
||||
(*This approach works almost always except when the legacy ALSA sequencer
|
||||
application does not create ports and/or wants to use an existing port to
|
||||
capture from or playback to. Such programs are using a feature of the |alsa|
|
||||
sequencer framework that allows sending and receiving MIDI events to/from a
|
||||
port, without creating a connection to it.*)
|
||||
|
||||
**Static bridges**: You start an application that creates one |alsa| sequencer
|
||||
port and one |jack| MIDI port. Such a bridge is unidirectional.
|
||||
|
||||
For details on how to build and install this project, look at `INSTALLATION.rst
|
||||
<INSTALLATION.rst>`_.
|
||||
|
||||
a2jmidid
|
||||
--------
|
||||
|
||||
a2jmidid is a daemon that implements **automatic bridging**.
|
||||
|
||||
It has two modes of operation: Running a bridge manually or as a backgrounded
|
||||
|dbus| service.
|
||||
|
||||
Start daemon
|
||||
____________
|
||||
|
||||
To start *a2jmidid* in manual mode, just run the executable.
|
||||
*a2jmidid* will start bridging, and you will get output on stdout and stderr.
|
||||
You can stop the bridge using *ctrl-c*.
|
||||
|
||||
Usually you want to bridge software ports and not bridge hardware
|
||||
ports (they are handled by |jack| itself). In case you want to force
|
||||
*a2jmidid* to bridge hardware ports nonetheless, you can use the according
|
||||
flags::
|
||||
|
||||
a2jmidid -e
|
||||
|
||||
or::
|
||||
|
||||
a2jmidid --export-hw
|
||||
|
||||
Start D-Bus service
|
||||
___________________
|
||||
|
||||
In D-Bus service mode, a2jmidid works in the background. When service access is
|
||||
requested by some application (such as *a2j_control*), the |dbus| session bus
|
||||
daemon activates the object by executing the service executable.
|
||||
|
||||
The object has methods for starting and stopping the
|
||||
bridging. You can use *a2j_control* to do this::
|
||||
|
||||
a2j_control --start
|
||||
a2j_control --stop
|
||||
|
||||
You can deactivate (that may cause later reactivation) the service
|
||||
like this::
|
||||
|
||||
a2j_control --exit
|
||||
|
||||
You can query the bridge status using this command::
|
||||
|
||||
a2j_control --status
|
||||
|
||||
There also methods (and corresponding a2j_control commands) that can
|
||||
be used to query mapping information::
|
||||
|
||||
a2j_control --help
|
||||
|
||||
The *a2jmidid* implementation is based on *jack-alsamidi-0.5*, which is
|
||||
(almost) identical to the jackd |alsa| *seq* MIDI backend), both created by
|
||||
Dmitry Baikov.
|
||||
|
||||
a2jmidi_bridge
|
||||
--------------
|
||||
|
||||
*a2jmidi_bridge* creates a **static bridge** between one |alsa| sequencer
|
||||
playback port and one |jack| MIDI capture port. MIDI events sent to the |alsa|
|
||||
sequencer playback port can be read from the |jack| MIDI capture port.
|
||||
|
||||
*a2jmidi_bridge* has an optional argument that allows overriding the name used
|
||||
for the |jack| and |alsa| client::
|
||||
|
||||
a2jmidi_bridge "my precious bridge"
|
||||
|
||||
The *a2jmidi_bridge* implementation is based on *alsaseq2jackmidi* by Sean
|
||||
Bolton.
|
||||
|
||||
j2amidi_bridge
|
||||
--------------
|
||||
|
||||
*j2amidi_bridge* creates a **static bridge** between one |jack| MIDI playback
|
||||
port and one |alsa| sequencer capture port. MIDI events sent to |jack|
|
||||
MIDI playback port can be read from the |alsa| sequencer capture port.
|
||||
|
||||
*j2amidi_bridge* has an optional argument that allows overriding the name used
|
||||
for the |jack| and |alsa| client::
|
||||
|
||||
j2amidi_bridge "my precious bridge"
|
||||
|
||||
The *j2amidi_bridge* implementation is based on jackmidi2alsaseq by Lars
|
||||
Luthman.
|
||||
|
||||
.. |jack| raw:: html
|
||||
|
||||
<a href="http://jackaudio.org" target="_blank">JACK</a>
|
||||
|
||||
.. |jack2| raw:: html
|
||||
|
||||
<a href="https://github.com/jackaudio/jack2" target="_blank">jack2</a>
|
||||
|
||||
.. |dbus| raw:: html
|
||||
|
||||
<a href="https://www.freedesktop.org/wiki/Software/dbus/" target="_blank">D-Bus</a>
|
||||
|
||||
.. |alsa| raw:: html
|
||||
|
||||
<a href="https://alsa-project.org/wiki/Main_Page" target="_blank">ALSA</a>
|
||||
|
|
@ -8,7 +8,7 @@ project(
|
|||
],
|
||||
meson_version: '>=0.50.0',
|
||||
license: 'GPL2+',
|
||||
version: '8')
|
||||
version: '9')
|
||||
|
||||
cc = meson.get_compiler('c')
|
||||
|
||||
|
|
Loading…
Reference in New Issue