by joelkp (joelkp@undisclosed.example.com) at February 16, 2025 01:47 PM
by joelkp (joelkp@undisclosed.example.com) at February 16, 2025 01:47 PM
(This post is geekery of, if not the highest order, then fairly high order. It doesn’t contain any useful information about Ardour itself, but might be interesting for … people interested in such arcana)
The packaging issue that broke translations in our initial release of 8.11 for Linux and macOS was almost a cool bug. I thought I’d quickly describe it here for the geeks among us.
The problem came from a combination of two things: an actual error in our packaging scripts, and the subtle and generally not-considered behavior of the Unix find
command.
Our wonderful translators work on files that end in “.po” and connect the original english strings in the source code with their translated versions. During the build process, tools from the GNU translation system are used to convert the .po files into .mo files (aka “message catalogs”), which contain the same information but in a binary format that can be more efficiently used by the program when it is running.
During packaging Ardour for distributions, we copy all the .mo files into a new location in preparation for “bundling” (e.g. as a DMG file for macOS or a .run file for Linux). The copy also requires a renaming, because the organization of the message catalogs for use by the program needs to be fairly different than the way they are organized in our source code.
So the first bug was that we used find(1)
to locate all the .mo files and copy/rename them. We start in several locations within the source code, including the directory that holds the GUI source code (gtk2_ardour
). The files we’re looking for are in the po
folder, and we use find
because we don’t want to hard-code the languages that have translations. However, it turns out that there are another set of message catalogs associated with the RedHat/Fedora “appdata” system, and these files not only also are somewhere under gtk2_ardour
but also, because of the way the translation software works, they have the same name.
So, if find
finds the “real” message catalogs first and copies/renames them during packaging, and then later finds the “appdata” message catalogs, the latter will overwrite the former in the package being built. This is a bug - the appdata message catalogs are placed in the packaging at a separate step of the process, and we should not have been using a command that was so generic. This was easy to fix (and has been).
But wait a minute … didn’t this work just fine for Ardour 8.10 and other releases? It did. How could that be? Well, recall that at the beginning of the previous paragraph I wrote “if find
…”. It turns out that that the order in which find
will find files, unless told otherwise, depends on the filesystem the files are located on. Consequently, if you use two different types of filesystem (e.g. on Linux the ext4 or xfs filesystems), find
may very well return files in a different order on each.
However, it does deeper than this. Certain directory operations can also cause the filesystem to change its state in a way that will change the order in which find
finds files. It turns out that this had happened within the build systems we use for macOS and Linux. At the time we released 8.10, find
would locate the (unintended) appdata message catalogs first, copy/rename them into the package and then later repeat this for the real message catalaogs. Result? The package has the correct translation files and everything works. When we released 8.11, the ordering had changed, and the real message catalogs were found first, and then overwritten by the “appdata” ones. Result – translations do not work.
I thought this was an example of a fairly cool and unusual category of bug. There was an error in our packaging scripts - we used an unnecessarily generic command to find message catalogs that needed installing, which found files it should not have. But this mistake by itself did not matter on systems where the unintended files were found first. It only caused problems when the unintended files were found second.
This is not a perfect example of what programmers called “Abstraction Leakage”, but it’s not a bad one. We generally like to think of filesystems as things where the details of their internal organization do not really matter, and for the most part that is possible. But combine the fact that their internal organization does affect the order that a program like find
will list files in, and the bug in our packaging script, and all of a sudden the internal details of how filesystems work becomes a thing we have to think about.
3 posts - 3 participants
Ardour 8.11 is a hotfix release that contains a fix for a critical workflow-blocking bug. All users of 8.10 and all Linux distributions should upgrade to 8.11 as soon as possible.
The bug occurs whenever the user is working on a session using musical time as the default time domain (Session > Properties > Misc
). If they carry out any operation that causes Ardour to write a modified copy of existing audio data to a new file (such as timestretching, pitch-shifting or reversing), there is a very high probability that they will be unable to reopen to the session in the future. Such sessions can be recovered manually with a text editor, but this is not an acceptable pattern for our users.
8.11 includes a fix for one other crashing bug. This bug only affected people using meters not denominated in quarter notes (crotchets) (e.g. 6/8 or 5/8). Adding BBT markers in such sessions would cause a crash soon after.
25 posts - 10 participants
Earlier today I have updated the soundfont that is used by Ardour’s General MIDI Synth.
The upside is that some voices now sound better, the downside is that it existing sessions may sound different. If you have an ear to lend please test (it will be shipped with Ardour 9, once that’s ready):
–
Kudos to Chris Collins for creating and maintaining the soundfont that we use. He also published a video showcasing some highlights of the long list of changes (previously gmsynth.lv2 used v1.52):
https://www.youtube.com/embed/AtXvMz22y-M
3 posts - 3 participants
by nedko (nedko@undisclosed.example.com) at October 26, 2024 05:03 PM
For those who build ardour from source, please read:
git/master
is now considered an unstable pre-release branch. The “pianorule” branch has been merged, and will cause significant breakage for a while yet.
master
has been tagged 9.0-pre0 which will (a) cause a major version switch (b) will generally display the pre-release warning dialog every time unless you grep the source code to find the name of the file to create to disable it.
If you need to build an earlier version of Ardour from a git repository, please use git checkout VERSION
first to avoid building this unstable master branch.
We will be working over the next few months to get this into shape for a 9.0 release with several notable new features (region FX, clip recording and clip editing among them).
23 posts - 10 participants
Ardour 8.10 is now available for Linux, Windows and macOS. As with the last several releases, 8.9 turned out to have at least a couple of new major issues that required a hot-fix. We believe that we have corrected issues with performance caused by scheduling of disk input/output threads (these problems tended to be system dependent, but were very real on systems where they occured). Importing SMF (MIDI) via drag-n-drop now uses the file name once again. Content-slipping a region correctly causes an update of the playback buffers so you can hear the result as expected.
In addition to those hot-fixes, 8.10 sees small updates to all our non-default color themes, a new MIDI binding map for the M-Audio Axiom 49 MkII and a new Lua script to duplicate regions on the grid.
This is intended to be the last release of the 8.x series. Our git repository is now at 9.0-pre0, and should no longer be considered stable or usable for production work now that it contains what was the “pianorule” branch. Over the next few months, we will be working hard to get this into shape for a 9.0 release with several notable new features.
Download as usual with the full release notes (for 8.7 - 8.10) at the normal place.
27 posts - 12 participants
Ardour 8.8 turned out to have a couple of major issues. Many users experienced crashes at random times that were caused by a subtle change in how waveforms were drawn, introduced in 8.8. It also turned out that MIDI notes immediately at the start of playback were ignored.
Both of these have been fixed (and also the nightly website has been restored to proper functioning), and so 8.9 is now released and available. You can download it as usual.
We apologize for the lapse in quality control that led to these mistakes in the 8.8 release.
16 posts - 10 participants
Hey, Paul here. I’ve become a little concerned that the public impression of Ardour recently has been dominated by cases of entirely valid bug reports that go unnoticed and unresolved. Someone who is not quite connected to our development process might understandably get the sense that we’ve stopped working on the software.
This is absolutely not the case. Instead, what has been going on is that for the last several months, both myself and @x42 have been involved in work that has no immediate payoff for Ardour but we believe has long term significance. This has been going on in several development “branches”, and below I’ll go over these branches and what we’re up to:
“Pianorule” : this branch contains a massive refactoring and rearrangement of code so that we can implement MIDI editing anywhere we feel like it, without duplicating code. This is primarily focused on providing a MIDI editor for the cue (“clip”) page, but may later make it feasible to add a standalone “piano roll editor”. This branch is currently stuck because the changes have exposed that the (hidden) assumption that the left edge of the editor track canvas is zero on the timeline has turned into a much more pervasive part of our code than was ever intended.
“cliprec” : this branch is rather young but is a test bed for ideas about how to do clip recording in Ardour. This is surprisingly hard to do correctly, mostly because of assumptions and decisions that go back to the early 2000s. We have some good ideas though, and I’m optimistic that the experiments going on will land successfully.
a “new” DAW focused on front-of-house operations : this is where @paul has been focused for much of the last month, and is a resuscitation of the ideas behind Waves Tracks Live, a commercial GPL’ed product from about 2015 that was based on Ardour. There is a vague idea that this will become an additional DAW available from both ardour.org and also from other commercial partners. The main idea for WTL is that is a “front-of-house” recording tool for live sound engineers. It has no plugin support, no MIDI support, and is massively simpler to use than Ardour. It also has a clever trick to help with so-called virtual soundchecks, where you use a recording of a previous live gig to do most of the work for a soundcheck at the current one.
“mode-clamping” : this is where experiments with adding ideas orbiting the concept of “this thing has a scale” are happening. This is much more complex than most people imagine when they voice their desire to “tell Ardour what scale I’m using”. Lots and lots of music from all over the world doesn’t work with scales in a simplistic way (even a lot of western pop). Currently the most promising idea is a heirarchy of objects that can each have their own scale, starting at the session level and going all the way down to individual regions. If a scale is not assigned, an object inherits one from its parent (ultimately the session).
“region-fx” : @x42 has been busy with adding per-region plugins in this branch, and it is currently being tested/evaluated by some of our early beta-testers.
On top of all this, both myself and @x42 were quite involved in the work done on Ardour to provide support for Dolby Atmos now present in Harrison Mixbus 10. Sadly because Atmos is proprietary technology, Ardour itself cannot use this work at present. Nevertheless, we designed things so that should somebody create something broadly equivalent that is GPL compatible, it would be relatively easy to make it work with Ardour.
So, that’s what’s going on in the background. All this stuff does tend to mean that most new bug reports are not being attended to, and many already-known bugs too. Obviously if we had a larger development group, we could be doing both types of things, but we don’t, and so we aren’t. I’m not offering to change what we do, but let us know what you think of this prioritization/allocation of resources.
30 posts - 19 participants
Ardour 8.6 has been released. This is a hotfix release for 8.5, primarily to fix a drawing bug that was not noticed/fixed before 8.5 was released. It also comes with a fix for a crashing bug that can occur when JACK2 is being used.
In all other ways, 8.6 is equivalent to 8.5, but 8.5 should be considered “blacklisted” - we don’t want anyone to have to deal with the drawing issue.
Full release notes (for 8.5 and 8.6) over here as usual.
ADDENDUM: turns out we introduced a bug that ONLY affects macOS Catalina on Intel hardware. The downloads for macOS intel have been updated to include the fix for Catalina. No other changes were made.
32 posts - 14 participants
Ardour 8.5 is available now for Linux, Windows, and macOS. This is another “small” release without major new features, largely because our two lead developers continue to be busy with things linked to future releases.
However, 8.5 does see a fix for a problem in 8.4 that affected many Linux users (a crash whenever a file selection dialog was opened, triggered by the presence of certain icon files on their version of Linux).
Full release notes over here as usual.
10 posts - 6 participants
Ardour 8.4 is available now for Linux, Windows, and macOS. Nothing particularly significant in this release, because our two lead developers have been busy with things linked to future releases. (note: there was no 8.3 release due to a critical bug discovered after tagging 8.3).
From a project-level perspective, perhaps the most important change is that we have moved the source code of our GUI toolkit (GTK v2) into the Ardour source tree. This has no impact whatsoever on people using the builds provided at ardour.org.
However, this version of GTK is about to be deprecated by a number of Linux distributions, and without this change it will become more difficult for both individual users and Linux package maintainers to continue building Ardour. This also leaves us free to (slowly) strip down aspects of the toolkit that we do not use, and potentially modify it as needed in the future. It also means that even the distribution builds of Ardour for Linux will contain our patches to GTK, which has historically not been the case.
Meanwhile, we now have beta-level AAF import, some new MIDI device maps, a new color theme, a stack of UX/UI tweaks and several fixes for crashing and workflow bugs.
Full release notes over here as usual.
27 posts - 14 participants
Ardour 8.2 is now available. Nothing incredibly dramatic for this release, but it completes our support for all current Novation LaunchPad devices (as well as the new SSL UF8 surface) and includes the usual collection of bug fixes, small new features and quality of life improvements.
Full release notes and download as usual.
16 posts - 10 participants
Recently at the Ubuntu Summit. 50 mins 50 features. Enjoy!
https://www.youtube.com/embed/PT8TkvwsgUE
PS. I should have taken a leaf out of Paul Simon’s book and ran with only 5
Slides are available from Ubuntu Summit 2023 (3-5 November 2023): 50 things you did not know you could do with Ardour · Canonical / Ubuntu Events (Indico)
40 posts - 23 participants
Hot on the heels of 8.0, we are happy to bring you a mostly-hotfixes 8.1 release. There’s a couple of tasty new features also. The full notes for 8.0 and 8.1 are in the usual place, with the new stuff & fixes for 8.1 also listed below.
Download as usual.
38 posts - 12 participants
We’ve finished an initial draft of a “roadmap” for future Ardour development. You can read it here and comment on it below, if you feel like it. Please read the introduction to understand what the document is and isn’t.
33 posts - 21 participants
Ardour 8.0 is available now for Linux, Windows, and macOS, including the latest release of macOS, Sonoma. Along with the usual set of important and not-so-important bug fixes, Ardour 8.0 brings users substantial quality of life benefits:
Some people will no doubt laugh at a few these “new features”, given that they’ve been in some other DAWs for 20 years or more. That’s OK — we laugh too when we see other DAWs finally adding things that Ardour could do in 2005.
As usual, full release notes are over here and you can download from here.
50 posts - 32 participants
We’re now about a week away from the release of Ardour 8.0. We are in a total string freeze (where we guarantee not to change any translatable text at all before release). It’s probably a good time for the translation team(s) to start working on the update for 8.0.
Currently Ardour translations for Czech, German, Greek, Spanish, UK English, French, Italian, Japanese, Korean, Norwegian, Polish, Portugese (Brazilian and Portugese versions), Russian, Swedish and Chinese. If you’d like to add another language, you can find the instructions for creating (and maintaining) translations here:
If you’re an existing translator for one of the above languages, please try to find the time to go through the update process as soon as possible. Your work is much appreciated, and we’d like to have as many languages updated as possible before the 8.0 release.
10 posts - 7 participants
Ardour 7.5 has been released. This is primarily a bug-fix release, but there several new features, include session I/O connection management, tempo mapping and the beginnings of section-based editing. As usual, there are also and many more notable improvements and fixes
Please read the full release notes for more details and/or download as usual at https://ardour.org/download .
13 posts - 10 participants
Ardour 7.4 is now available. This is mostly a bugfix release — several important ones have accumulated since 7.3 — but there is also a sprinkling of new features, notably MIDI subgroup busses.
There has also been a lot of work on features that we had hoped to have ready for 7.4, but will now be officially released in 7.5. The curious may find some of them already, but we’re not ready to announce or document them yet.
One other small change for this release: people interested in just trying Ardour out via our free/demo build will no longer have to wait to get an email containing the link. We’ve decided that after 10 years of asking people for their email address and doing nothing with them, we’ll just stop asking and provide the download link directly.
Please read the full release notes for more details and/or download as usual at https://ardour.org/download.
19 posts - 12 participants