Linux Audio Monthly Round-Up #8 - June 2011

Dear all,

Skipped a couple of months in order to get ready for LAC2011. But now that LAC2011 is over I can pick up the monthly round-ups again. I'm not going to cover the months that I skipped so I'll move on with what happened last month, the month of May.



PS. Big shout-out to the LinuxMAOists!

1. Linux audio news
2. Music made with Linux
3. New versions, new projects

Linux audio news

Most important event in May was of course the Linux Audio Conference 2011 at the National University of Ireland in Maynooth. Even though I only attended two days of this three day conference and was absorbed by getting ready for my two workshops and performance I did get the impression that it was a big success and I did get the chance to hang out with other attendees and experience the thriving Linux Audio vibe. Yes, LAC2011 was a living proof that the Linux Audio community is very much alive and I'm happy and also proud to be a part of it.

Highlights were the performances of Notstandskomitee and nova deViator, hanging out at the local pubs, having the opportunity to talk to inspiring people and last but not least the beautiful Earth Songs concert by Fernando Lopez-Lezcano at the Aula Maxima. Speaking of which, most probably LAC2012 will take place at Stanford University's Center for Computer Research in Music and Acoustics, Fernando's homebase.

Also this month David Robillard released a completely revised stack of libraries for implementing LV2 in hosts which will, besides paving the road for world domination, hopefully lead to better working GUI's for LV2 plug-ins with the introduction of Suil. The Ardour team released the fifth Alpha release of Ardour 3.0, released Qtractor 0.4.9, the got successfully merged with newer point releases of the 2.6.33 kernel up to and including the latest release, a new version of JACK was released (0.120.2) and a personal favorite, QMidiArp, saw a major update.

Music made with Linux

About two months ago a French LMMS user called macrowave signed up for a SoundCloud account and in a short while his huge talent and active participation brought him a lot of attention. This attention is very much justified because what this guy pulls out of LMMS is simply amazing. And he doesn't use it on a Windows PC, no, all Linux here. And as far as I can tell he doesn't use any (proprietary) VST's either. Just listen for yourself to a track like Bipolar.


What I like about macrowave is that it's modern dance music but it's got that typical French twist to it, especially in his latest two or three tracks. The use of orchestral samples for instance, or those fat synth sounds in the best Justice/Tepr/SebastiAn/Ed Banger Records tradition but also the ability to absorb different styles while the resulting tracks still bear a common and discernible macrowave signature.

New versions, new projects

May 1: jOrgan 3.13
* keep elements selected when switching to full screen
* keep relative paths when starting the file property editor
* warn about version mismatch
* split new element "connector" from console
* new fluidsynth elements Reverb and Chorus
* customize fluidsynth gain
* no auto-scrolling of tracks if performance is stopped

May 1: din 1.5.9
* gaters command. gaters state stored in din_info
* oscilloscope colors saved on exit
* renamed short name of some commands

May 5: aj-snapshot 0.9.3
* Corrected GPL license header.
* Make ignoring clients work in both ways. Now connections made to ignored clients are ignored as well.

May 8: mhWaveEdit 1.4.21
* The "fallback format" setting in the preferences now also includes Channel count and Samplerate.
If a file's real format is not supported for playing, first the program will try converting the sample format (type,sign,endian) to the fallback format, if that fails it will also try converting sample rate, and lastly also convert the channel count.
If the fallback format is correctly set up, you should now be able to play any sound file you can open and never get the "format not supported" error. The default is the standard CD quality format (44.1 KHz 16-bit stereo)
* New keyboard shortcuts (Home, End, Tab, Ctrl+Tab)
* Home,End,Left,Right now also move playback when playing and view follows playback is activated
* Updated the jack driver to use the jack_client_open call to avoid deprecation warnings. Also make errors silent during auto-detection.
* Duplicate entries are now removed from the pipe dialog command dropdown box.
* Fixed assertion failure in the convert sample size dialog if the current sample rate was entered.
* For Ladspa effects, changing an input value using the text box next to the slider and tabbing away now updates the slider properly.
* The file window is now focused while the effect is being performed.
* Cropping during playback bug fix.
* Bug fix for wav loading on x86_64
* Some build fixes
* Andrea Primiani sent an updated Italian translation
* Robert Wojewódzki contributed a Polish translation

May 9: TKEca 4.4.2
* Installer script
* Latency compensation
* Metronome
* Improved layout on Locate window
* Cancel button in Mixdown window
* Improved looking on Mixdown Window/Rec Properties window
* Improved devices list
* tkeca.log only stores useful information and can be used as debugging tool (before size was 21MB now is less than 1KB)
* Went back to TK default colors but now there's a button for changing the colors palette
* Buttons "Rew 5", "Forw 5" and "Go to 00:00" are available when playing
* Certain buttons and entry boxes get disabled when pressing Play
* Normalize parameters when doing a mixdown
* Bug: Start and End time not showed in the mixdown window
* Bug: Recording over an existing file was not possible
* Bug: Time counter keeps rolling when pressing a locate button
* Bug: Play still looks for wave files of deleted tracks

May 9: din 1.6
* new patch start-end to go from a start to end value and execute a command for each inbetween value
* see start-end.patch.tcl & for more information

May 10: Loomer Aspect 1.7.4
* Fix for crash (on both Windows and Linux) that could occur when 'space' is pressed when confirming the overwrite preset dialog.
* VU meters now automatically reset their overload status after a few seconds.
* Preset Browser is now maximized to fill the entire plug-in window.
* For Windows VST (32-bit and 64-bit), the preferences file can be placed alongside the DLL file to facilitate USB or portable installs.
* Clearer font in PDF documentation.

May 11: Ecasound 2.8.0
* note: NEWS format changed, see 01012011 meta entry below
* changed: do not use deprecated jack_client_new()
* changed: simplified signal handling for not-so-POSIX platforms
* fixed: seeks with -klg did not work
* fixed: bug in int-float conversions
* fixed: some false DBC warnings removed
* fixed: bug in setting jack_multi channel count
* fixed: bug in signal handling caused rubyecasound scripts to fail (e.g. ecasound's own stresstest.rb)
* fixed: at end of playback, properly wait until all buffered samples have been played out to ALSA devices
* fixed: bug with live seeks and -z:db buffering; caused problems to e.g. JACK transport slaving and live seeks (repositioning without stopping transport)
* 01012011 meta: notes on provided change information in this file
* the release entries will be shorter from now on, only isting the affected features (e.g. which objects), and type of change (addition, change, bugfix)
* see RELNOTES and git commit history for a more detailed description
* author tags will no longer be used, [foobar] used to indicate the author of the change, unless it was from someone from the main author(s); README still lists all the developer tags used; instead git history shows who did what

May 12: linuxDSP Pro Channel Plug-ins V2.0.0
The update primarily addresses an issue with the software installer on Ubuntu 11.04, but also adds improvements such as realtime display of parameter values when the controls are adjusted.

May 12: Renoise 2.7
Instrument Redesign and Sample Keyzones

Renoise's internal instruments have been re-engineered. The focal point is a new keyzone editor that supports overlapping, velocity, and key release mappings. The Sample Keyzones editor brings with it user interface refinements, improved drumkit generation, better tuning options, new sample properties, and loop modes. Live instrumentalists can also tap into new realtime rendering modes and MIDI input routing, making Renoise on a laptop a formidable replacement for your old sampler.

Some new Instrument & Sampler features at a glance:
* Sample Keyzones GUI editor per instrument
* Map different samples to different velocity ranges
* Map samples to key release as well as key press
* Stack samples and create overlapping sections
* Toggle envelope on/off per keyzone
* New Release sample loop option for exiting the loop on key release
* MIDI Input can now be routed to individual instruments and tracks
* Extended drumkit and keyboard layout generation options
* Sample envelopes now have Points mode in addition to Linear and Curve
* Autofade setting per sample for quickly fading beginning and end of samples
* Select multiple samples and batch edit properties
* Overhauled instrument properties GUI, now in lower tab

Sample Slice Markers

New Slice Markers push Renoise's breakbeat insanity one step further. With the click of a button, your break is sliced and keymapped. Amens away! More than just a beatslicer, creatives will soon discover custom offsets and the power of aliases for controlling longer recordings like vocals and soundscapes.

Slice marker features include:
* Automatically detect transients in sample and place markers on them
* Manually place and edit slice positions in sample editor
* Trigger slices from keyboard as if they were regular samples
* Trigger slices from pattern 09 commands
* Trigger either only slice or remainder of sample from that point
* Edit sample properties like loop, volume etc per slice

Automation Improvements

The revamped Automation Editor now provides a zoomable overview of the entire song, as well as vastly improved envelope resolution. Mouse handling has also been simplified, with fewer modifiers and more easily accessible draw mode, selections and context menu.

* Automation precision increased to 256 steps per pattern line
* Zoom level can be locked to multiples or fractions of whole envelopes
* Values can be snapped to grid, lines or beats
* Turn off Follow mode to detach edit position from playback position
* Left-click and drag to select, drag a selected point to move/scale

New Track DSPs

Internal FX get an injection of winning with a new Comb Filter and a Multiband Send that lets you surgically redirect a single sound source to 3 send tracks. New draggable gain and frequency handles in the native EQs add flavour and finesse to the tools.

* New Multiband Send device letting you send different frequency bands to different destinations
* New Comb Filter device
* Draggable handles for Frequency, Gain and Q for the EQ devices
* Devices can now be renamed
* Load and Save DSP chains from the device chain and device context menu
* DSSI plugins now handle MIDI note events coming from the GUI
* DSSI plugin windows always stay on top of Renoise window

Recording & MIDI

* MIDI Input can now be routed to individual instruments and tracks
* Pre-count metronome option for recording
* Live recording MIDI notes/events will no longer create lots of Undo/Redo steps
* More simultaneous Master/MIDI In devices supported
* Store pattern quantize settings globally and not per song

Audio Rendering

* Real-time rendering mode: render MIDI instruments and line-in devices, or hybrid VSTs
* Mono/Stereo/Auto option added for the plugin grabber
* Render Selection To Sample no longer renders DSPs on master channel

Other Tweaks and Fixes

* Remember previous track mute states when soloing/unsoloing
* New phase meter in Master Spectrum view
* Track and master scopes synced to zero crossings for better readability
* Audio headroom per track is now configurable (was -6dB)
* Pattern Matrix no longer steals Pattern Editor focus when clicked
* Navigating folders with many XRNX/XRNI files in Disk Browser considerably sped up
* Trigger Autoseek samples also when triggering individual lines (with Return key)
* Double click on scrollbars to zoom out fully in zoomable views
* Updated Lua API bindings

May 13: Loomer Sequent 1.2.3
* Native 64-bit support for Linux VST plug-in and standalone application formats.
* Integrated undo and redo, with unlimited history size.
* Master Sequencer, to arrange effects along a time-line.
* Random pattern generation functions.
* Partial preset support for Routing configurations.
* Thru switch for Delay Module, which if enabled allows the dry signal to be passed through when the delay effect is turned off.
* Effects are now colour-coded for easy identification.
* Category support in preset browser.
* Windows VST 32-bit plug-ins and standalone applications no longer depend on additional runtime libraries. However, these libraries are still required - and installed - for the RTAS format plug-ins.
* libjack is now weak-linked for standalone Linux. This means JACK is not required (but still recommended) for Linux users.
* Windows RTAS plug-in is now installed to the correct location on 64-bit Windows operating systems.
* MIDI Program Changes are now multi-threaded, and so will no longer potentially stall the audio synthesis.
* Fix for rare issue that stopped presets from loading in Linux Renoise when LADSPA plug-in support is enabled.
* Fixed crash that could occur when connecting Effects in the Routing Window whilst simultaneously changing Presets via MIDI.
* Fix for crash (on both Windows and Linux) that could occur when 'space' is pressed when confirming the overwrite preset dialog.
* Presets without Patterns are now considerably smaller when saved to disc.
* Improved rendering speed of Router graphics.
* Reduced CPU usage when switching or editing patterns.
* Preset Browser is now maximized to fill the entire plug-in window.
* For Windows VST (32-bit and 64-bit), the preferences file can be placed alongside the DLL file to facilitate USB or portable installs.
* Additional presets.
* Various host compatibility fixes.
* PDF manual is now printer-friendly.

May 13: TKEca 4.4.3
* File types include .MID and .MOD
* Again compatible with TK 8.4 because this is the current version for distros like Ubuntu and Debian
* Bug: Track properties reset to default values everytime
* Bug: Mixdown properties reset to default values everytime
* Bug: Global Multichannel properties reset to default values everytime

May 14: GStreamer 0.10.34/GStreamer Base Plug-ins 0.10.34
Features of this release

* Fix multiqueue thread-safety regression
* Don't set artificial 0-timestamp on first packet for TIME-based live sources
* Otherwise identical to the previous release (0.10.33)

Bugs fixed in this release

* 649369 : basesrc: do not set first buffer timestamp to 0 for live sources
* 649878 : [multiqueue] regression: gst_single_queue_new not MT-safe

May 15: QjackMMC/JackCtlMMC 4
* Jack MIDI support (optional)
* Autoconf support for easy configuration / packaging
* "Always listening" rewrite for QjackMMC
* Message area within QJackMMC to view any incoming MMC messages
* Lash support is now optional
* Cleaner and clearer interface

May 15: GMIDImonitor 3.5
* Switch to waf
* Drop support for ancient JACK lib
* Add support for modern ALSA lib
* Use fixed client name
* Don't try to use lash when started through ladish
* jack and alsa selection at runtime
* clean shutdown on SIGINT and SIGTERM (no JACK xruns anymore)

May 15: Rosegarden 11.06
Bug Fixes

* A commonly-used time entry widget has been worked over to improve its functionality, and solve some usability problems
* Fixed undo after copying/pasting a range
* When adding marks to a selection that includes a mixture of notes and rests, avoid applying meaningless marks to the rests
* Insert Range now preserves the loop/range
* Fixed a nasty LilyPond export bug that was causing problems with human performances where the notes had a physical start time that significantly preceded the bar line

New Features

* Expose the instrument alias to external plugin GUIs so that plugins are easier to identify in applications like FLAM
* Export LilyPond code using any of LilyPond's supported languages

May 16: din 1.6.1
* new volume variable accesible in Tcl interpreter; goes from 0 to 1
* changed start-end.patch.tcl to allow use of mouse or midi slider to go from start/end and apply command
* added drone_master_volume to possibilities for going start->end
* cursor info display shows frequency & volume
* show_frequency variable change to show_cursor_info
* din irc bot video

May 17: aj-snapshot 0.9.4
* 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.

May 20: TAL-Vocoder-2 V1.00 (Linux binary is being worked on) NEW!
* 11 band vocoder engine.
* Internal carrier synth (pulse, saw, sub osc, noise, mono, poly, portamento, sync mode, tune).
* Possiblity to route an external carrier signal.
* Harmonic control (adds more harmonics to any carrier signal)
* "Ess" enhancer for a clean understandable voice, also with a carrier that hasnt much high frequencies.
* Clip LED, glows if the input signal will be clipped.
* Panic button stopps hanging notes within the synth.
* Documentation shows different routing possiblities.
* Low CPU usage.

Source code:
* The plugin uses the open source JUCE framework. The TAL source code is released under the Gnu Public Licence, which means it can be freely copied and distributed, and costs nothing to use in open-source applications. Please contact me if you want use some parts of the code in a commercial product.

Version History:
* Chorus effect added (Version 1.0).
* Faster clipping LED response (Version 1.0).
* Better readable font (Version 1.0).

May 22: Ecasound 2.8.1
* fixed: jack_multi did not work correctly when connecting to a single port
* fixed: bugfix to mp3/ogg/aac output

May 24: linuxDSP CH-EQ2B Plug-ins V1.0.0 NEW!
An evolution of the original linuxDSP CH-EQ, the CH-EQ2B is built on the same proven DSP algorithms as the original, but with wider frequency ranges and a de-cramped mid range filter, adding innovative DSP technology developed from the MKII Graph-EQ.

May 25: GNU Solfege 3.18.8
* fix bug #209 ( Thanks to Ralf Hain for reporting this.
* Add 3 missing "second to octave" exercises: compare intervals, both melodic and harmonic, and sing-intervals. Small reorder so some sections, so all interval exercises present the lessons in the same order.
* sing-intervals: the "Second to octave" exercise had a bug only asking for ascending intervals up to octave, not tenth.
* mpd.parser: bugfix to relative mode. The following code would have wrong octaves:
\transpose d
\relative c''{
c d e e'
* Merge revno 1852: show_exercise_theory fix

May 25: Serd/Sord/Lilv/Suil 0.4.2 NEW!
* Serd
A fast, lightweight, dependency-free Turtle syntax library

* Sord
An in-memory RDF quad store

* Lilv
An LV2 host library (replaces SLV2)

* 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 or personally) is most welcome.

More information available at the links mentioned above. For the lazy/eager, all downloads can be found in

May 26: Qtractor 0.4.9
* 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 (bug #329791).
* 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 (Track/export Tracks...).
* 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 (View/Buses.../Update).
* 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 update re-entrancy.
* 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 controllers/learn dialog.
* Floating tool-tips now being shown also while on mouse rubber-banding (drag-select).
* 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 main track-view.
* 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 gets loaded.
* 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).

May 26: LV2 Data Access/LV2 Event/LV2 Instance Access/LV2 MIDI Events/LV2 URI Map 1.2
From the Dept. of Hasty Out of Order Releases:

New releases of several LV2 extensions are out, updating packaging to the new LV2 4.0 style. LV2 extensions define extended functionality for LV2 plugins and are primarily of interest to developers.

In particular, this provides the packages required for building the recently released Suil and Lilv (oops!), and any other code that uses the new URI-like #include style for LV2 extension headers.

The extensions are:

Documentation, links to release tarballs, and other resources can be found at the URIs above.

May 26: Ardour 3.0 Alpha 5

* New region "combine" and "uncombine" operations (in progress, currently audio-only)
* Zoom session when the mouse pointer is moved up and down during a playhead drag.
* Redesigned shuttle controller
* Switch to new LV2 stack (Serd, Sord, Lilv2, Suil)
* Support for LV2 "files" extension
* New Translator HOWTO document (written by Alexandre Prokoudine)
* Ardour and other C++ code now compiled with gcc 4.4.6 (previous alphas used gcc 3.x)


* Alignment of newly recorded material with existing material should be fixed
* Drop deprecated JACK latency API (note: using Ardour3 with older versions of JACK will not do correct alignment of newly recorded material)
* Rename only the main outs of a track when it is renamed, not its inserts or sends to avoid name collisions.
* Tolerate LV2 plugins that call persist/file state functions early.
* Fix "Make new plugins active" preference setting
* Fix crash on bouncing a range selection that includes a bus
* Fix step editor note lengths and default to quarter-note (crotchet) / mf in the dialogue
* Correct incorrect loading of bank change values
* Remove extend-range-to-{start,end}-of-region and replace with move-range-{start,end}-to-{previous,next}-region boundary. More intuitive and works without the need for a region selection, which is fiddly to adjust when one is in range mode.
* Extend range selections using the selected tracks, rather than all tracks.
* Initialise aux send gain to -inf dB
* Sort track selections before cut/copying their playlists, so that the list of selected playlists is in the same order as their parent tracks are in the editor. Fixes range copy/paste onto several tracks
* Save route group reorderings in the session file. Link changes in the mixer and editor group lists
* Fix for issues with JACK port deletion at session shutdown
* Fix assertion failure when merging a set of nascent events which start at the same time as the last event in a ControlList.
* Fix an assertion failure when stopping the transport with an active controllable touch gesture.
* Prevent note trackers for overlapping MIDI regions inserting events that occur before the requested time range, thereby stopping playback
* Stop MIDI import generating zero-length regions.
* Make changes to route processors set the session dirty
* Set session dirty on plugin parameter changes
* Don't try to connect monitor bus to (physical) MIDI outputs
* Ignore stop-at-session-end if there is a punch range and punch-in is enabled
* Fix problems with sessions being saved as foo.ardour.ardour when loaded using the session file name
* Fix undo of timestretch
* Fix undo when notes are changed and then removed by the overlap checker
* Fix problems with restoration of unused playlists
* Fix corruption of follow playhead state on quit
* Fix update of session range location on copy-dragging regions
* Ensure that empty drag-created MIDI regions get a file on disk so that there aren't missing file errors on reload
* Fix crash when clicking on a hit
* Fixes e.g. a crash on track resize after splitting a MIDI region with automation.
* Re-use locations when setting location list state, so that selected locations are preserved through an undo
* Fix restoration of connections to control surface ports.


* Differentiate between pitch shift (audio) and transpose (MIDI)
* Prevent dragging regions before frame zero
* Fix crash with some LV2 plugins signalling changes on controls that are not automatable
* Fix crash when a regionview disappears
* Put relief on all toolbar buttons for consistency
* Suspend update of MIDI regions during scroomer drag to speed things up
* Extend the y range of the simplerect redraw request in one case to prevent bits being left on the canvas
* Make a click in the empty space below track controls clear the track selection
* Update tempo-based rulers on tempo map edit
* Reverse the scroll wheel behaviour of the scroomer so that it feels the same as scrolling the track view
* Remove "delete" menu item which does the same as "cut"
* Show MIDI channel for notes with verbose canvas cursor
* Reinstate tooltip custom colors (Dark theme only at this time)
* Prevent snap_frame_to_frame returning a negative offset from the region start
* When drawing MIDI regions with grid snap enabled, make the region extent 1 frame shy of the next grid boundary. In this way, a duplicate of the new region will land on a grid snap point.
* Prevent the point selection straying -ve when control points are positioned close to 0
* Fix default size and title of comment window
* Speed up marker loading somewhat by only setting up marker labels once after load. (note: the location UI is still extremely slow to build with a couple of thousand markers)
* Fix verbose canvas cursor display in Bars|Beats|Ticks mode
* Separate verbose cursor out into its own class and clean up the API.
* Fix piano roll to use the same octave numbering as the verbose canvas cursor
* Sort bundle names in mixer strip menus alphabetically to prevent them being re-ordered when the session's route list is sorted for signal flow
* Don't hide solo/mute/rec enable for the smallest track height
* Prevent note drags from moving a note before the start of its region.
* Fix non-appearing track names when opening sessions with minimum track height
* Don't alter horizontal padding when shrinking tracks to their minimum height
* Fix offset of verbose cursor when dragging fade-ins
* Fix display of new tracks.
* Fix non-appearance of MIDI region names
* Reset fades on regions copied from time ranges in other regions
* Make instruments/generators do the right thing when bypassed
* Return shuttle speed to previous value on release after sprung grab
* Make sure Edit property of RouteGroup is enabled when doing a few different playlist and other ops and applying them to the gro up
* Make MIDI channel selector button colours more distinct
* Add 'controls' item to plugin insert context menu to always show Ardour generated controls for plugin, even if the plugin has a GUI. In particular, this gives you UI access to presets and the other handy stuff ardour sticks at the top, for inherently broken external UIs which don't allow Ardour to add such things.
* Fix packing of scrolled generic plugin UI so the controls expand (rather than leaving a ton of wasted empty space and using unnecessary scroll bars).
* Fix broken meter style on MIDI tracks.
* Center fader in its (left hand side) mixer strip column.
* Make selected region base colour slightly transparent
* Separate milliseconds from seconds in the clock widget


* Add small GUI to select Mackie / BCF2000 emulation for the mackie surface.
* Fix crash on startup when using BCF mode for the mackie surface.
* Use a timeout to reset faders' in_use flags when in BCF mode (ie with faders that don't support touch).
* Do log/lin mapping for Mackie faders so that they behave like the on-screen ones.
* Add a GUI to set the number of active extenders for the Mackie control surface.


* Fix name of libardour .mo file.
* French (updated)
* Swedish (updated)

May 27: JACK 0.120.2
* 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).

May 28: din 1.6.2
* silence drones when drones loaded to avoid shock volume change.
* fixed volume variable to go from 0 to 1 instead of 0 to 0.99xxx
* added interval check (clamps to 1 to 2) in tone ranges
* 2600.patch.tcl : google insight banned words -> morse code -> music.
* removed superfluous feedback/volume setting from code
* fixed: drones not resizing/repositioning when range size changed with LCTRL + mouse move
* reordered keyboard handling in din::handle_input (..)

May 28: QMidiArp 0.4.0
* All modules now have a playhead cursor
* LFOs can record controller data by a MIDI-learnable Record button.
* Seq modules handle note events at the input for triggering
* Spanish translation thanks to Pedro Lopez-Cabanillas (plcl)
* Functional doxygen documentation available by "make doxygen-doc"
* New SVG icon and desktop file

May 28: Snd 12.2
* s7 is about 35% faster in most cases.
* run is smarter about implicit indexing, so I've cleaned up a lot of the instruments.
* s7_procedure_setter|getter in s7.h.

May 28: TAL-NoiseMaker 3.07 (Linux binary is being worked on)
* Problem with hanging notes after stop in some hosts fixed (veriosn 3.7).
* Other small bugfixes (version 3.7).

May 29: QMidiArp 0.4.1
* A forgotten entry in the source file lists made that qmidiarp-0.4.0 didn't build
* Czech translation thanks to Pavel Fric

May 29: NASPRO 0.2.91
NASPRO core:
* Ported to Win32/64.
* Fixed a memory bug in nacore_astrcpy().
* Fixed a couple of bugs w.r.t. formatting of floating point numbers.
* Pre-generated documentation is not in the distribution anymore because of licensing issues.

NASPRO Bridge it:
* Using NASPRO core 0.2.91 features (for Win32/64 port).
* Fixed a memory leak in nabrit_bridge_free().
* Pre-generated documentation is not in the distribution anymore because of licensing issues.

NASPRO bridges:
* Ported to Win32/64.
* Added LRDF-equivalent data for CALF, CAPS, Invada, Rubberband, SWH and TAP plugins.

* Ported to Win32/64.
* Initialization does no more require LV2 Events and LV2 MIDI if the plugin is not a synth.
* Fixed a memory leak in cleanup().
* Fixed building issue with libdssialsacompat.

May 30: linuxDSP all plug-ins
Updates to all the linuxDSP plugins are now available to address a compatibility issue with Ardour3-alpha5 using the new LV2 stack. Ardour3 is still alpha software and therefore subject to continual and rapid development. As such we cannot guarantee support for it, but we will endeavour to issue plugin updates if compatibility issues arise.