KMidimon is a MIDI monitor for Linux using ALSA sequencer and KDE4 user
Changes in 0.7.4
* requires Drumstick >= 0.5
* load and play OVE files (Overture), contributed by Rui Fan
* option to request real-time priority on MIDI input thread
* option to (not) resize columns while recording
* better reporting of file loading errors
* revised universal sysex messages translation
Copyright (C) 2005-2010, Pedro Lopez-Cabanillas
License: GPL v2
I'm glad to announce the release of NASPRO 0.2.91.
NASPRO (http://naspro.atheme.org/) is meant to be a cross-platform
sound processing software architecture built around the LV2 plugin
The goal of the project is to develop a series of tools to make it
easy and convenient to use LV2 for sound processing on any (relevant)
platform and for everybody: end users, host developers, plugin
developers, distributors and scientists/researchers.
This is mostly a bugfix release with a "not officialy supported" port
to Win32/64 and bunch of LV2 data-only bundles containing handcrafted
the equivalent of all LRDF data I could find.
NASPRO core: the portable runtime library at the bottom of the architecture;
NASPRO Bridge it: a little helper library to develop
insert-your-API-here to LV2 bridges;
NASPRO bridges: a collection of bridges to LV2 which, once
installed, allow you to use plugins developed for other plugin
standards in LV2 hosts.
In particular, the NASPRO bridges collection includes two bridges: a
LADSPA (http://www.ladspa.org/) 1.1 and a DSSI
(http://dssi.sourceforge.net/) 1.0.0/1.1.0 bridge.
All of the code is released under the LGPL 2.1 license.
Due to a couple of issues with Lilv
(http://drobilla.net/software/lilv/) 0.4.2 and zynjacku
(http://home.gna.org/zynjacku/) 6, the installation of such bundles
has to be explictly requested at ./configure time.
Furthermore, patches to fix a tiny bug preventing Lilv 0.4.2 from
properly working with dynamic manifests and to try to fix (i.e.,
perhaps more a hack than a fix) cross-referencing among bundles w.r.t.
dynamic manifests in zynjacku 6 are avialable in the Downloads page.
More information is available on the project's website.
Work is underway, mainly stimulated and supported by Nedko Arnaudov, to
make this animal handle JACK MIDI natively. It is far from being
finished, so it is not time for this today, but since January, some
other handy features have sneaked in making it worth to give an update.
Playhead cursors, waveform-recording MIDI LFOs, some new MIDI
controllables and a finer step sequencer control by the keyboard are the
main new features coming with QMidiArp 0.4.0.
o All modules now have a playhead cursor
o LFOs can record controller data by a MIDI-learnable Record button.
o Seq modules handle note events at the input for triggering
o Spanish translation thanks to Pedro Lopez-Cabanillas (plcl)
o Czech translation thanks to Pavel Fric
o Functional doxygen documentation available by "make doxygen-doc"
o New SVG icon and desktop file
QMidiArp is available for download at
Git repo (developers welcome)
Tarball containing D-Bus patched jack 0.120.2 is available here:
A patch against vanilla 0.120.2 is available here:
After applying the patch you have to run autoreconf.
D-Bus modifications add optional autodetected support for the D-Bus
based server control system.
D-Bus is object model that provides IPC mechanism. D-Bus supports
autoactivation of objects, thus making it simple and reliable to code a
"single instance" application or daemon, and to launch applications and
daemons on demand when their services are needed.
* Simplified single thread model for control and monitor
applications. Various D-Bus language bindings make it trivial to
write control and monitor applications using scripting languages like
Python, Ruby, Perl, etc..
* JACK has log file (~/.log/jack/jackdbus.log) that is available for
inspection even when autoactivation happens because of first JACK
application is launched.
* There is real configuration file used to persist settings that can be
manipulated through configuration interface of JACK D-Bus object.
* Improved graph inspection and control mechanism. JACK graph is
versioned. Connections, ports and clients have unique (monotonically
increasing) numeric IDs.
* High level abstraction of JACK settings. Allows applications that can
configure JACK to expose parameters that were not known at compile
(or tarball release) time.
Currently there are some minor differences between jack1 jackdbus and
* There is no parameter constraints support (no enums and no ranges)
* Settings file (in ~/.config/jack/) is conf-jack1.xml instead of
conf.xml, because jack1 and jack2 settings and not really compatible.
When configured with D-Bus support, jack_control is
installed. jack_control is simple commandline interface for jackdbus.
Other tools that can communicate with JACK through D-Bus:
* LADItools (tray icon, configuration, etc.)
* Patchage (and lpatchage too)
* LASH 0.6.x
Nedko Arnaudov <GnuPG KeyID: 5D1B58ED>
Jack 0.120.2 is now available.
This is primarily a bug fix release, though some of the bugs are important.
* Fix issues with stack initialization in client threads that stole
large chunks of the stack from applications.
* if the ALSA backend finds that a device is busy, try to tell the
user what application(s) are using it.
* Reimplement the jack_cycle_wait/jack_cycle_signal() API for OS X,
where in previous versions it was completely non-functional.
* extended documentation for the transport API data structures.
* extended documentation for the JACK Session API
* more useful warning message when duplicate port registration is attempted
* fix logic for setting up device parameters in the ALSA backend
(fixes JACK startup on some ALSA-supported devices that would report
"impossible sample width (1) discovered" during startup).
This is one hopeful attempt to be the very last one before officially
entering the TYOQA age. Mainly a big fix and optimization release. Yes,
you've read that right. Big. Some earthquake-bound changes have sneaked
in and all under the hood. Most are bearable visible, if at all. Quite
frankly, the most time-critical code paths have been subject to some
kind of a deep overhaul, and to say the very least, might get only
noticeable while loading hugely complex sessions. Whatever that means.
In other words and put simply, there are gentle performance wins and
nice resource savings.
Anyway, there's no breakage regarding the past. Everything should work
smooth as ever. Nevertheless, there's a good chance it might enter beta
phase or whatever you wish to call it. I guess most people had ditched
any serious assessment on this piece of software just because I've been
sticking with an infamous alpha label for so long. Well, inb my own
opinion (what else?), if you care, it's just that. All software is
always either in that so-called alpha or omega-there's no middle term,
all else is marketing gibberish--all software is more or less in a
broken state (ie. alpha) or just simply dead and gone (omega). There you
have it :)
With nothing else to say (and then time being the worst of enemies),
Qtractor 0.4.9 (final dudette) is out!
* MIDI scale-quantize and snap-to-scale tools (NEW)
* Audio recording latency compensation (NEW)
* Mute/un-solo tracks shading (NEW)
* MIDI controller invert value and connects access (NEW)
* Tempo map dialog tap helper (NEW)
* Audio peak/waveform generation pipeline (NEW)
* Track-view clip invert selection (NEW)
* MIDI clip editor range selection (NEW)
* Major audio clip buffering/streaming thread optimization (FIX)
* Temporary JACK session extract directory (FIX)
* Red shade recording display (NEW) and looping (FIX)
* Audio clip over-extended ghost-playback (FIX)
* MIDI tempo map resolution import (FIX)
* Audio/MIDI time drift correction (FIX)
* Changed bus connections preservation (FIX)
* Simultaneous multi-track recording result extents (FIX)
* Track-view selection and redrawing optimization (FIX)
* LV2 instrument/synth on audio tracks crash (FIX)
Real juice follows, below...
- source tarball:
- source package (openSUSE 11.4):
- binary packages (openSUSE 11.4):
- user manual (for paleontologists):
Weblog (upstream support):
Qtractor is free, open-source software, distributed under the terms
of the GNU General Public License (GPL) version 2 or later.
- Session file format saved on JACK session has been reverted to
archive/zip bundle one (.qtz) now using temporary extraction directory
when loading an existing JACK session.
- Main toolbar time and tempo widgets get their visual extents a bit
more theme-friendlier ;).
- Some current working directory trickery is now in place avoiding JACK
session directories to ever be picked as default, as much as possible.
- Ghost-playbacks are now avoided on audio clips that are artificially
extended beyond their own audio file lengths.
- Recording clips now shown in a reddish shade; also, it's all now shown
a bit more correctly, regarding the lead and withing looping range.
- Custom tempo spin-box widgets now honoring the decimal point cursor
positioning for integral up/down tempo value stepping.
- Audio recording latency is now compensated via automatic clip offsetting.
- Audio peak file generation is now pipelined on a single unique thread,
instead of old one per audio clip file basis.
- MIDI tempo/time-signature map import problem has been hopefully fixed
- Session and track names are now sanitized from slashes (bug#
- Mouse wheel effect to sliders is now reversed.
- An appropriate export filename is now suggested as default
- Follow-playhead automatism is now temporarily suspended while mouse
cursor hovering prompts for any editing action (applies to main
track-view and MIDI clip editor/piano-roll).
- Audio vs. MIDI time drift correction now takes jack_frame_time() as
audio time reference.
- Audio buffering internal synchronization logic gets it bartered: three
bools for a single byte flag.
- Connections are now preserved as possible when changing bus properties
- A rare audio clip looping out-of-sync condition got squared, hopefully
the last ;)
- Yet again, the audio clip buffer/disk-streaming optimization has been
almost completely redrawn: now there's one thread per audio track.
- Not replacing a session directory that already exists on loading an
archive file (.qtz) is now fixed with an usable brand new untitled session.
- The major thread optimization has been slightly improved: the audio
clip buffer/disk-streaming thread is now served in a FIFO manner (was LIFO).
- Custom time/tempo spin-box widget change fixup.
- Audio clip filename change segfault/crash fixed.
- Make sure all clips in multiple recording tracks start and end at the
very same position whenever recording is already engaged and rolling.
- Hopeful fix to a potential audio buffering race condition, which was a
probable cause of random muted clips (maybe fixing bug #3290178).
- Avoid recursive observer widget value updates.
- Almost complete rewrite of the main track-view selection and redrawing
logic, taking advantage of the fundamentally static graphical backstore.
- Autonomic resizing of mixer bus splitter sizes.
- Improved timing for monitored MIDI events being buffered though MIDI
instrument plugins, while playback/transport is rolling.
- Audio peak/waveform is now slightly tweaked from the early
optimization days (master C++ guru has always said that was root of all
evil anyway :).
- MIDI controller mapping now with "Invert" value option. Also, new
"Inputs" and "Outputs" buttons have been added as helpers for MIDI
control port connections access.
- Main left pane vertical splitter resize hack, avoiding some track list
- Inserting a LV2 instrument/synth plugin on an audio track or bus were
causing immediate crash, now fixed (give or take some event buffer stub).
- Plugin Activate All/Deactivate All menu fixing.
- Make sure given session directory has all the necessary access
permission (read/write) while on session properties dialog.
- Dedicated audio outputs setting for instrument plugins inserted on the
MIDI track properties dialog were not being honored, now fixed.
- Force update/close of all MIDI clips and their respective editors
(piano-roll) if open, when changing the global session tempo (BPM).
- Removed the misleading "(Any)" special channel value while on MIDI
- Floating tool-tips now being shown also while on mouse rubber-banding
- Audio clip pitch-shifting change fixing; also, tooltips now showing
semitones units instead of a clueless percentage.
- Rendering audio wave-forms while recording is now a little bit
smoother than before.
- New main track-view clip selection tool: invert current selection
(Edit/Select/Invert). The MIDI clip editor (piano-roll) also gets proper
range selection tool (Edit/Select/Range).
- More eye-candy: muted/non-soloed tracks are now slightly shaded on the
- A major hidden optimization has been implanted: all audio clip
buffer/disk-streaming threads are finally merged into a single
multiplexing thread (was one thread per audio clip longer than 3 sec.
which was quite wasteful and creepy;).
- All plugin list view changes are now properly signaled to track
properties and bus manager dialogs and enable their respective acceptance.
- Two brand new MIDI tools make their appearance: Scale-Quantize and
Snap-to-Scale. The later may be readily accessible from the MIDI clip
editor toolbar and menu (check View/Toolbars/Scale and View/Scale).
- Mixer track strips are now completely redone whenever a track gets
moved or re-ordered on main track list-view.
- Transport auto-backward option is now honored whenever a new session
- LV2 extension headers update.
- Got rid of recent QX11EmbedContainer bloating, while introducing
gtk_init() as for LV2 GTK UI support stabilization.
- Tempo tap helper button was added to View/Tempo Map... dialog.
- Executable DSSI plug-in GUI detection fixed.
- Backout default session directory after cleaning up extracted
archive/zip bundle session (.qtz).
- Files widget item selection feedback/focus fix.
- MIDI editor anchor event floating tool-tip fix.
- Probable fix for GtkStyle usage detection (might be gentoo specific).
Cheers && Enjoy (with lots of fun!)
rncbc aka Rui Nuno Capela
On Wed, 2011-05-25 at 16:43 -0400, Paul Davis wrote:
> On Wed, May 25, 2011 at 4:34 PM, Fons Adriaensen <fons(a)linuxaudio.org> wrote:
> > File "/data/build/serd-0.4.0/wscript", line 174
> > except Exception, e:
> > ^
> > SyntaxError: invalid syntax
> > fons@zita1:~/build/serd-0.4.0>
> this is a known "issue" with old versions of python. i thought dave
> had fixed this already. unbelievably, python changed the syntax for
> their try/catch blocks ...
Point releases fixing this and a few other minor build issues people
These releases change only minor things in the build system, the code is
identical. If the previous releases work for you, upgrading is
P.S. Sorry about all the cross-posting, please keep discussion on l-a-d
I have released my new stack of libraries for implementing LV2 in hosts:
* Serd http://drobilla.net/software/serd
A fast, lightweight, dependency-free Turtle syntax library
* Sord http://drobilla.net/software/sord
An in-memory RDF quad store
* Lilv http://drobilla.net/software/lilv
An LV2 host library (replaces SLV2)
* Suil http://drobilla.net/software/suil
An LV2 UI loading/embedding library
These libraries collectively replace SLV2, and have no dependencies
except amongst themselves, and Glib (by Lilv and Sord, but this
dependency will likely be removed in the near future). Serd and Sord
replace Redland, making for a much smaller implementation more
appropriate for audio software and embedded applications.
Overall, Lilv is dramatically faster and leaner than SLV2, enough that
the improvement should be quite noticeable from a user point of view
(typically in a lag when the host first loads all LV2 data). Anyone
using SLV2 is highly encouraged to migrate to Lilv.
These libraries are well tested, each (except Suil) with a test suite
covering over 90% of the code, which runs without memory errors or
leaks. They are new, however, so (as always) there may be problems;
feedback (at http://dev.drobilla.net/newticket or personally) is most
More information available at the links mentioned above. For the
lazy/eager, all downloads can be found in http://download.drobilla.net
P.S. Packagers, please read the PACKAGING file!
I've just released aj-snapshot-0.9.4
Aj-snapshot is a command line utility to store/restore
ALSA and JACK connections to/from an XML file.
Changes in this release:
- Make the -a and -j flags work together as expected, when they are combined.
- Fixed bug where aj-snapshot would not restore connections to a2jmidid ports.
- Refactoring of ignore-clients code.
For more information:
To clone the git repository:
git clone git://aj-snapshot.git.sourceforge.net/gitroot/aj-snapshot/aj-snapshot
I hope you enjoy...