Development update: 9.0-rc2 tagged (+ string freeze)

We’ve just tagged the current code as 9.0-rc2- this is the second release candidate for 9.0.

Notably, we are also announcing a string freeze, which means no text that appears in the program’s interface will be changed between now and the release of 9.0. This means that translators can get to work finalizing translations for 9.0 without worrying that there will be more changes to come.

We continue to be in a feature freeze until 9.0 is released - all development work will be on bug fixes and improvements to features already present. We anticipate at least one more -rcN tag before release.

Users interested in testing 9.0 and ensuring the best possible release are invited to test it out from the builds available on nightly.ardour.org (or self-build if you prefer). We would strongly request that no Linux distributions package this or any other release candidate - please wait for us to release 9.0. Please report issues on the bug tracker though design discussion on the forum are now acceptable (if not always ideal).

We are not yet finished with the release notes for 9.0, but to get an overview of what is in this release, you can take a look at the in-progress document . It will be revised and updated as we move through the release process.

Please note that there is still no release date scheduled for 9.0. We anticipate that a wider group of beta-testers will uncover new issues (both bugs and workflow/design issues) that merit fixing before the release.

Notable changes since 9.0-rc1 include:

  • plugin selector: if neither name nor tag buttons are enabled, include creator in search fields
  • in pianorolls, allow note-clicks to select in draw mode, just like the editor
  • SMF import: better handling of insane files
  • make it possible to do certain basic MIDI editing from a context menu in a pianoroll
  • fix display of MIDI regions in cue editors even when they do not start at the source start
  • Fix MIDI audition
  • various fixes for some VST3 plugins
  • Fix crash when selecting multiple regions
  • several fixes for various track/bus group errors
18 Likes

While testing Ardour9-rc2 (self built on Fedora 42) I am getting this segfault when attempting to load the Invada Test Tones plugin (this plugin works in Ardour 8.12):

(ardour-9.0.rc2:1592215): GLib-GObject-CRITICAL **: 00:16:58.135: specified class size for type 'InvSwitchToggle-0x7f45a435f2d0-0' is smaller than the parent type's 'GtkWidget' class size
(ardour-9.0.rc2:1592215): Gtk-CRITICAL **: 00:16:58.135: IA__gtk_type_new: assertion 'GTK_TYPE_IS_OBJECT (type)' failed
(ardour-9.0.rc2:1592215): Gtk-CRITICAL **: 00:16:58.135: IA__gtk_container_add: assertion 'GTK_IS_WIDGET (widget)' failed
(ardour-9.0.rc2:1592215): GLib-GObject-CRITICAL **: 00:16:58.135: specified class size for type 'InvMeter-0x7f45a435f270-0' is smaller than the parent type's 'GtkWidget' class size
(ardour-9.0.rc2:1592215): Gtk-CRITICAL **: 00:16:58.135: IA__gtk_type_new: assertion 'GTK_TYPE_IS_OBJECT (type)' failed
(ardour-9.0.rc2:1592215): Gtk-CRITICAL **: 00:16:58.135: IA__gtk_container_add: assertion 'GTK_IS_WIDGET (widget)' failed
(ardour-9.0.rc2:1592215): GLib-GObject-CRITICAL **: 00:16:58.135: specified class size for type 'InvKnob-0x7f45a435f1e0-0' is smaller than the parent type's 'GtkWidget' class size
(ardour-9.0.rc2:1592215): Gtk-CRITICAL **: 00:16:58.135: IA__gtk_type_new: assertion 'GTK_TYPE_IS_OBJECT (type)' failed
(ardour-9.0.rc2:1592215): Gtk-CRITICAL **: 00:16:58.135: IA__gtk_container_add: assertion 'GTK_IS_WIDGET (widget)' failed
(ardour-9.0.rc2:1592215): GLib-GObject-CRITICAL **: 00:16:58.136: specified class size for type 'InvKnob-0x7f45a435f1e0-0' is smaller than the parent type's 'GtkWidget' class size
(ardour-9.0.rc2:1592215): Gtk-CRITICAL **: 00:16:58.136: IA__gtk_type_new: assertion 'GTK_TYPE_IS_OBJECT (type)' failed
(ardour-9.0.rc2:1592215): Gtk-CRITICAL **: 00:16:58.136: IA__gtk_container_add: assertion 'GTK_IS_WIDGET (widget)' failed
(ardour-9.0.rc2:1592215): GLib-GObject-CRITICAL **: 00:16:58.136: specified class size for type 'InvMeter-0x7f45a435f270-0' is smaller than the parent type's 'GtkWidget' class size
Segmentation fault (core dumped)

Unless I’m missing something, the MIDI event chasing feature isn’t enabled yet for regular MIDI tracks. Any chance it will be implemented in one of the 9.x releases?

PS. Anyway, 9.0rc2 already seems to be in pretty good shape. Great work, guys!

That’s correct, it is not in 9.0 but will be in one of the earlier 9.x releases. Pretty much all the code is already written (we use it for clip launching), it just needs to be hooked into the right places for regular timeline playback.

2 Likes

Please build with debug symbols (i.e. without --optimize at configure time) and get a full backtrace for tha crash. It may be that, as a GTK-using plugin, our changes to GTK have broken Invada at this point (not particularly likely, however).

I did a debug build and I am getting even less information in the console, but perhaps less is more:

(ardour-9.0.rc2.5:1944641): GLib-GObject-CRITICAL **: 00:11:40.622: specified class size for type 'InvSwitchToggle-0x7fcaa82d52d0-0' is smaller than the parent type's 'GtkWidget' class size

(process:1944641): GLib-CRITICAL (recursed) **: Failed to get RW lock 0x7fcadefc4c00: Resource deadlock avoided
Aborted (core dumped)

It does happen with all Invada plugins, not just the tone generator. I do not normally use Invada plugins, I just happened to be testing some newly built speakers and wanted to generate a few quick test tones to run through them and thought it would be a good opportunity to test Ardour9 while doing it.

2 Likes

Yep, I had the feeling there was more to it than just the console output. Thanks for the info.

Apologies - if this was posted yesterday I didn’t see it and pushed a coupe of changes to master. Having said that… one was only a change to a comment and the other was only relevant to MSVC builds, so hopefully, no damage done!

Checking out piano roll…
First and foremost i want to congratulate and thank you for adding piano roll to Ardour.
Just by looking at it, that’s basically it, with some minor (or not so minor :slight_smile: ) suggestions.
Simplicity i always liked, and simple yet very effective it is.
That’s also a suggestion for future piano roll development - don’t ever clutter it with unimportant and distractive “features”.

I’m not terribly concerned about the inability to resize the lower panel, aldo that could be nice, sice it adds more usability to vertical gui space, especialy when programming drums or arangging melody lines across few octaves.

The first thing that bugs me about the piano roll is the playhead behaviour.
It would be realy nice to be able to click and drag it across the timeline,
since you already have that ability in the editor.
That way it would feel more consistent overall, and the way it is right now,
just feels kind of clunky. It just throws me off while i’m trying to do things quickly :slight_smile: .

The second thing is inability (or i’m missing something) to add loop range markers in piano roll. That’s kind of major minus, because, generaly i think piano roll is most usable to fine tune midi info in particualar sections. The way arrangers mosty do it is, they listen to intricate correlations in time&pitch&intensity. So, when you notice somthing isn’t sitting right with you, you loop it, you play and tweak it until you’re satisfied.

Just my two cents, cause piano roll is my ***t :slight_smile: .
Cheers!

Just checking that you know you can do all these things in the timeline, right?

2 Likes

Yea, i know.
Doing it in timeline of editor is an ok option,
it’s just that, when you’re in piano roll, you don’t wanna leave every few seconds to change the loop range. To me, that seem distracting from the acctual thing you’re doing in piano roll, and that is - fine tunning the arrangement.
Having playhead’s and loop range’s behaviour mirrored from editor’s timeline to piano roll’s timeline seems like a little thing that speeds up the process? At least to me it is.

No, I mean you can do all the same MIDI editing on the timeline … :slight_smile:

1 Like

Of course.
But, piano roll is there for convinience, right?
I don’t know about others, but i definetly am gonna use piano roll for that.

1 Like

I wouldn’t call it convenience. It’s more of a band-aid for those who can’t appreciate the benefit of working directly on the timeline :slight_smile:

Anyway, i’ll think about your point … it’s not a workflow I had paid much attention to.

2 Likes

:slight_smile:
Well, i would be lying if wouldn’t say that i prefer doing midi in piano roll…since that option is already available :slight_smile: :slight_smile: :slight_smile:

Look at it this way…about the whole piano roll/editor difference…
When i’m doing something on a desktop with 24 inch screen, i don’t realy mind the difference. But to be honest, these days mostly i have some free time during the breaks, or while waiting for kids to finish their practice etc, and i always am luging laptops around. So, a dedicated piano roll for me is a realy nice feature.

The only case in which I would concede that it is superior is if you use region layering, and thus accessing the desired region on the timeline can be irritating/challenging.

There’s no other case in which I can see any benefit to having a separate window. But I did it anyway …

2 Likes

Yes, i understand your point of view.
It’s not a life/death difference it’s just a preference.
That being said, i remeber i once tried Tracktion’s Waveform: i must be honest and admit - i hated the shit out of their gui :slight_smile: . I left in disgust :slight_smile: :slight_smile: :slight_smile: .

P.S: Please, don’t ever make Ardour that cluttered and incompehensible :slight_smile:

I see that Invada plugins have not been touched in over four years and they are using gtk2. I would not put any effort into this if I were you. In fact, the last version of Fedora to include them was Fedora 38. I just removed them from my system as well.

I feet that pain – a number of the bits of F/LOSS software I maintain have corners in them that make my eyes roll whenever I have to deal with them: de gustibus is the closest I get to acceptance.