Free meets free: in a labor-of-love community project, soft synth Surge XT is now available as an exquisitely designed set of modules for VCV Rack. It combines two of the best open-source projects for software synthesis lovers, bringing new ways of patching to both. And that means all this power is on macOS, Windows, and Linux, all three.
Fixed a off-by-one rounding error on MIDI clip offset and lengths that were leaving some clips unlinked on load.
LXVST_PATH environment variable now accrues to VST_PATH for Linux-native VST2 plug-ins search path and not taking over in precedence anymore.
Fixed an old mistake on custom aliased CLAP and VST3 plugin paths.
Description:
Qtractor is an audio/MIDI multi-track sequencer application written in C++ with the Qt framework. Target platform is Linux, where the Jack Audio Connection Kit (JACK) for audio and the Advanced Linux Sound Architecture (ALSA) for MIDI are the main infrastructures to evolve as a fairly-featured Linux desktop audio workstation GUI, specially dedicated to the personal home-studio.
If you happen to like EBM you might enjoy the remix Notstandskomitee did a while ago for the Hamburg act TET Travailleur En Trance, which they now released along their single Cybertronic Man, its the 3. track, the Augmented Body Mix: https://tet-ebm.bandcamp.com/album/cybertronic-man-digital-12
The GStreamer team is excited to announce a new major feature release of
your favourite cross-platform multimedia framework!
As always, this release is again packed with new features, bug fixes and many other improvements.
The 1.22 release series adds new features on top of the previous 1.20 series
and is part of the API and ABI-stable 1.x release series of the GStreamer
multimedia framework.
Highlights:
AV1 video codec support improvements
New HLS, DASH and Microsoft Smooth Streaming adaptive streaming clients
Qt6 support for rendering video inside a QML scene
Minimal builds optimised for binary size, including only the individual elements needed
Playbin3, Decodebin3, UriDecodebin3, Parsebin enhancements and stabilisation
WebRTC simulcast support and support for Google Congestion Control
WebRTC-based media server ingestion/egress (WHIP/WHEP) support
New easy to use batteries-included WebRTC sender plugin
Easy RTP sender timestamp reconstruction for RTP and RTSP
ONVIF timed metadata support
New fragmented MP4 muxer and non-fragmented MP4 muxer
New plugins for Amazon AWS storage and audio transcription services
New gtk4paintablesink and gtkwaylandsink renderers
New videocolorscale element that can convert and scale in one go for better performance
High bit-depth video improvements
Touchscreen event support in navigation API
Rust plugins now shipped in macOS and Windows/MSVC binary packages
H.264/H.265 timestamp correction elements for PTS/DTS reconstruction before muxers
Improved design for DMA buffer sharing and modifier handling for hardware-accelerated video decoders/encoders/filters and capturing/rendering on Linux
Making instruments work in tune with musicians and singers means making them work with more than 12-tone equal temperament alone. So it's great to see this profile of Hany Manja and his duo Rust with Petra Hawi. Plus Bitwig Studio users can get your hands (and ears) into the action - with a Micropitch download.
There was a time when electronic engineering students studied the audio CD, for all its real-world examples of error correction and control systems. There’s something to be found in the system still for young and old though, and thus we were intrigued when we saw [Peter Monta] reading the data from a CD using a microscope.
CDs encode data as so-called pits and lands in a spiral track across a metalised surface, with a transition from pit to land signifying a logic 1 and a missing transition signifying a 0. Reading a section of the raw data is achieved in the first part of his write-up, but in the next installment he goes further into retrieving more data through stitching together microscope pictures and writing some code to retrieve data frames. He’s not quite at the audio playback stage, but he’s planning in the future to spiral-track a full image to rip an entire disc.
There are plenty of CD drives around to read audio the conventional way, but the techniques here still find a use where less ubiquitous media has to be read. In the last decade for example there was an effort to read the BBC Domesday Project from the 1980s, as it became clear that few of the original readers survived in working order.
The source code of Ardour now contains support for searching both global and per-session preferences/properties. However, for this to be truly useful, we need to add “metadata” for each option: essentially a list of keywords for every option (which will also be translated/translatable).
It’s not really very obvious how to organize the effort to collect these keywords together with the relevant option, but to some extent that’s a brute force effort that can be done after we collect a bunch of them.
So, your task, oh lovely Ardouristas, is to add to this thread, as a list of lines that look something this:
“Display selection clock” : visible clock selection hide show display
i.e. some string corresponding (roughly) to what is visible in the GUI, followed by a list of (english) space separated keywords that you associate with that preference item.
The more metadata we get, the more searchable preferences will become, and the easier it will be for everyone to find relevant preferences. Thanks in advance for your help!
There have been many interesting updates in the last 3 weeks, I’ve picked the ones I can realistically handle. Highlights: OBS Studio 29, Pinta 2.1, HDRView 1.7.1, Synfig 1.4.4, Ossia Score 3.1.6, and more.
It was a three days long online conference on January 17-19, mostly centered around visual design, 3D, and a tiny bit of video editing, featuring members of Fedora Design team, Inkscape contributors, David Revoy, Pat David, and others. A very impressive lineup!
Since my last weekly recap shortly before the new year, the team added support
for PSD clipping paths and made several more features multi-item aware, like
locking, hiding, and color-tagging layers, channels, and paths.
There are at least 15 patches from CmykStudent in the Merge Requests queue:
MyPaint Brushes v2 support, further TIFF/PSD support improvements, various
color picker improvements. But also a few patches from Lloyd Konneker, the
current maintainer of the
Resynthesizer plugin.
Resynthesizer's Map Style feature is really interesting - I'll have to play around with it more! Only one more plug-in to port - then the real work starts, haha. (Video is sped up - this plug-in takes a while to process) pic.twitter.com/hc7ZPjqHWg
I need to be really careful with this one, because this is one of those cases
where people easily get overexcited and develop unrealistic expectations.
HDRView is a research-oriented image
viewer developed by Wojciech Jarosz for himself and his students at Dartmouth
College, with OpenColorIO-based color management and support for Apple XR
(EDR) and 10-bit displays.
The program, however, can create new images and edit existing ones (Brush, Erase, Clone, Measure, Rectangular Selection), but no layers or masks.
There have been multiple releases in the last month or so, so to recap:
Main menu and scrollbars now available (UI is built with NanoGUI)
Keyboard shortcuts system revamped, several new shortcuts added
The next version with arrive with simplistic support for associated alpha and
a gradient fill tool. Both features are already in the main development
branch. I’ve built it and can confirm that the
candles are burning :)
I can totally see the temptation: HDRView has strong foundations for becoming
a serious image editor, but this is simply not where the developer needs it to
go. So please don’t give Wojciech a hard time.
This is a Krita plugin by
Wojciech Trybus, that adds a custom circular (pie) menu with most useful
commands.
The new version adds basic editing of the menu: entries can be dragged around,
values can be added and deleted. It is now also possible to create a shortcut
that will add a new layer with a particular blending mode.
This is purely a bugfix
release
that you can get here. I don’t
cover Synfig very often on Libre Arts, But I finally got some info on
project’s plans for this year and added it to the annual
recap/preview.
The new version focuses on encoding improvements and comes with all flavors of
AV1 support: AMD AV1 Encoder for the RX7000, Intel AV1 Encoder for Arc GPUs on
Windows, Intel HEVC Encoder on Windows, native HEVC and ProRes encoders on
macOS. It also arrived with an upward compressor filter and a 3-band equalizer
filter. Here is a release preview from November:
There have been a few updates of the Ossia Score interactive sequencer lately. This is a little outside my area of expertise, so I’m not a very good judge of the project. But I know there are several intermedia artists reading Libre Arts, so this is clearly for you.
The latest release delivers hardware-accelerated video decoding, an audio streaming decoder (rather than loading everything to memory), and first step towards a fully functional WebAssembly build. I also can’t help myself noticing that the previous release featured NDI 5 support.
There have been a few much welcome changes in Ardour’s main development branch in the past 3 weeks. You can now use your MIDI keyboard to tap tempo by pressing keys, and support for VST3 plugins with multiple I/O busses is now available. Both patches were added by Robin Gareus.
This project isn’t yet very well know, although I expect it to gain a lot more following. PlugData is effectively PureData packaged into a modern UI built with JUCE and available as a standalone application, as well as VST3, LV2, and AU plugins.
The new version supports autopatching, has connection visualization improvements and support for Heavy compiler which makes it possible to turn PureData patches into audio plugins.
Libre Arts is a reader-supported publication. If you appreciate the work I do,
donations are once again possible. You can subscribe on Patreon or make a
one-time donation (see here for more info).
Next Elektronengehirn concert will be 24. March 2023 at Oksasenkatu 11, Helsinki, Finland, performing the 'piece for modular synthesizer and real estate data', part of the project The Big Crash.
Starting with tomorrow’s nightly build, Ardour 7.2-123 supports VST3 plugins with multiple I/O busses. This allows for instrument plugins to have dedicated additional outputs.
Notably drum software which have direct outs (e.g. ezdummer, AD2), and also VST3 synths (e.g. surge) can now be used to their full potential.
Since the plugin meta-data is cached, this change requires VST3 plugins to be re-scanned, which can be initiated in Ardour Menu > Window > Plugin Manager.
This is a significant change, and while it holds up well in preliminary testing, there might be plugins that have issues. Please test, and if you encounter issues with a specific VST3 plugin it would be great if you could file a bug report at tracker.ardour.org. So that by the time we release Ardour 7.3 most kinks are worked out.
Hello everyone, it is release day again, sorta..
This time we have a single update for
Carla.
Carla
is an audio plugin host, with support for many audio drivers and plugin formats.
It has some nice features like automation of parameters via MIDI CC (and send output back as MIDI too) and full OSC control.
Same as last time for v2.5.2, this update backports fixes from the main development branch into the stable 2.5 series.
The more substantial stuff will come for 2.6.0, still a few months away.
Changelog
Always set time frame information for JUCE hosted plugins
Fix canvaspreview out-of-bounds panning for patchbay
Fix receiving LV2 atoms bigger than 32kB
Fix peak metering reading values out of bounds
Fix missing </li> code in about information string
Support the more verbose LV2 MIDI CC definitions
Use SDL driver by default on Haiku
Downloads
To download Carla binaries or source code, jump on over to the KXStudio downloads section.
If you're using the KXStudio repositories, you can simply install "carla".
Bug reports and feature requests are welcome! Jump on over to the Carla's Github project page for those.
When I started interviewing FOSS developers some 18 years ago, 7 out the 19
projects covered in this recap did not even exist, 2 were still distributed as
proprietary software only, and most of the other projects were so far from
their proprietary counterparts that it took a really boneheaded person to
stick around in the hope to watch them flourish.
It is 2023 now. The struggle to keep feature and UX parity with proprietary
counterparts is far from over for free/libre software projects. But the
boneheaded people among us also have something to celebrate. We are witnessing
that moment in time when, despite its many shortcomings, free software is good
enough to help us do our job. Not in every use case, but increasingly often
and pretty darn efficiently.
This is the moment where you can do an architectural design for a client with
BlenderBIM, use OBS to screencast the process, then use Kdenlive to cut raw
footage of that house being actually built, compose the background music with
MuseScore, record a voiceover with Audacity, mix and master the entire
soundtrack with Ardour, then publish the video to YouTube. And, for the most
part, this will be business as usual.
Without further ado, I’m giving you the annual recap/preview of FOSS projects
across the ecosystem: image editing, painting, photography, 3D, special
effects, CAD, animation, video, and audio.
GIMP
2022 was a really busy year for the project: late binding for CMYK, text
outlines, Align/Distribute revamp, floating selections gone, linked layers
replaced with layer sets, all the file format support updates… Phew!
There is very little left to do before version 3.0 can be released. The last
major change is rewriting the menus code because the old way was obsoleted in
GTK3. The team also started saying no to major new features. Most recently,
they moved vector layers from 3.0 to 3.0.2. That would be one hell of a minor
update!
Once version 3.0 is tagged and released, the team is likely to spend the first
few weeks or months fixing bugs then move on to new stuff.
What should we expect in 3.2? Definitely some kind of non-destructive editing.
Possible:
AnySpace, which is the codename for a project resulting in editing possible
in any color space based on any color model.
Vector layers and link layers. Both features have an unfinished
implementation (in dedicated branches) and look like an obvious fit for the
version 3.2.
GTK4 port, but really, only if they want to shoot themselves in the foot.
Both AnySpace and vector layers largely depend on
CmykStudent staying active in the project.
Link layers are Jehan’s baby, he’s known to scrap some of his experiments, but
this one is clearly not of of them.
A full GTK4 port would be a major change because it would likely involve
rewriting parts of GIMP with a scene
graph and
Vulkan and updating the code related to input
devices which sounds like a major undertaking.
I’d be a fool to give you any estimations for v3.2 time of arrival. It does
look like a multi-year effort though. If the team manages to keep the focus
narrow enough (which hasn’t been the case so far), they can probably pull it
off in two-ish years. Otherwise it will be another 4-5 years with development
releases and backports into the stable branch.
Krita
In 2022, developers released version 5.1. Here are some of the release
highlights:
More changes can be done to multiple selected layers
JPEG-XL is now supported, and support for WebP, Photoshop layered TIFF and Photoshop project files has been improved
Painting performance is now better, especially on Android
The fill tools now support continuous fill
With Krita 5.1 and its bugfix updates out of the way, developers are now
actively working on the next feature release, 5.2, currently expected later
this year. There is no roadmap per se, at least, for now. But there are some
interesting changes proposed for inclusion. Here are some of them:
Modernized and optimized PNG file format support. Krita will get things like progress reporting for reading and writing PNG files.
Various EXR and TIFF exporting improvements
Faster time-to-first-render with OpenGL
Finalized rewrite of text layout code with Raqm, FreeType and Harfbuzz, which is a contemporary text layout stack with a very good support for OpenType features
Animation audio rewrite and use of FFmpeg for importing and exporting of video files, as well as fractional frame rates support
And then there’s under-the-hood work like the transition to using the
Lager library to simplify separating UI
from the backend and creating more sophisticated brush engines.
There is also ongoing work on improving the UI and functionality of various
features like the drawing assistants, palettes, and the welcome screen. On a
slightly more technical side, Krita is moving to Qt 5.15 and, later on, Qt6.
They are also planning a switch to QML.
darktable
During the pandemic, the team had to deal with an influx of contributions and
switched to two releases a year. So two major new versions were released in
2022: 4.0 and 4.2. As usual, the latest release was around winter holidays, so
it’s too early to make predictions about features going (or not going) into
the next one.
There’s nothing fancy going on in the 4.4 pipeline right now (again, too
early). But while looking at pull requests, I stumbled upon something I can’t
quite wrap my head around. Apparently, two very common operations,
rotating and
cropping, still
cause a lot of grief for darktable users and require further tweaking.
Even more puzzling is a suggestion to map a double ‘r’ key press to activating
rotation. Darktable is very configurable indeed, and being able to set up
arbitrary shortcuts and even use something like
Loupedeck
is great. But I can’t help myself wondering if the team might want spending
some quality time with UX people. Darktable is very powerful software that
would really benefit from streamlining the UI. The team do have the
development expertise to fix these and other issues.
vkdt
In 2019, Johannes Hanika started working on a full darktable rewrite with
acyclic graphs and Vulkan (and Imgui instead of GTK). The program incorporates
a lot of ideas from darktable in a more modern approach to designing the
architecture. For one, almost everything is done on a GPU. Which means you
will need something more powerful than an integrated Intel GPU with its
homeopathic-sized memory.
The program does expose the compositing graph to users although that’s not a
prominently placed feature:
In its current state, vkdt looks and feels rather technical and has some
feature discoverability issues, same as darktable. Apart from a few long
threads at Pixls, it hasn’t yet received as much attention from users and
developers alike. This is likely to change in 2023: Johannes recently made the
first public release, so it’s in the hands of the people now.
RawTherapee
RawTherapee developers gave users a bit of a scare significantly decreasing
activity in 2021 and almost entirely dropping out in the first half of 2022.
Nevertheless, they did release version
5.9 with almost three years worth of
changes: a spot removal tool, a local adjustments tool, a perspective
correction tool, and various other new features and improvements.
Most of the development is now happening in branches. By the looks of it,
there will be enough work done for a new release later this year. They are
adding the “Inpaint Opposed” highlights reconstruction method that you’ve seen
in darktable 4.2 last year. There’s structure masks, multiple external
editors, favorites management, and more.
Inkscape
If the past few releases are any indication, we are going to see v1.3 around
April/May 2023. There has been a lot going on since v1.2:
new Shaper Builder tool to combine and subtract objects on the canvas,
a whole new editor for pattern fills,
revamped Live Path Effects dock,
improved Layers and Objects dock,
redesigned Filter Editor dock,
support for OKLab and OKLch color spaces,
support for margins on pages with on-canvas controls.
There’s even experimental OpenGL canvas rendering. And even more quality of
life changes are in the pipeline right now.
There is also some initial work being done on a GTK4 port, but that is likely
to be postponed. It’s going to be a huge change for the project, and it’s
probably a little too late to try fitting this into the current development
and release cycle.
Personally, I’m very happy to see Inkscape team being this active. Even though
technically Inkscape still doesn’t have full-time developers, they’ve been
kicking some serious ass and I hope like hell that’s how things are going to
be for years to follow.
Scribus
Frankly, version 1.6 is long time overdue. The officially stable 1.4 series is
extremely obsolete in virtually every aspect. If you still use it (why would
you?), you don’t get a lot of really useful stuff, such as orphans and widows
control, footnotes and end notes, cross references, a whole new text layout
engine with support for RTL scripts and advanced OpenType features, PDF 1.6
exporting, and the list goes on.
These and many other changes are the results of the last nearly 14 years of
development. I’m not kidding you here. The 1.5 branch was created in May 2009
by the late Peter Linnell. So all this and more is coming soon enough.
According to Craig Bradney, the team is planning v1.6.0 release in 2023, as
well as one or two 1.7.x releases.
My overall impression of the project’s situation hasn’t changed much since
this video from two years ago:
The project badly needs both more developers and UX/UI love. Jean Ghali and
Craig Bradney are pretty much on their own with this.
Blender
Right now, there’s not a terrible lot of information about what’s coming in
v3.5 simply because it’s still at the alpha stage (v3.4 was released only a
month ago).
So far, the assets browser and pose library received an update, and work on
assets management
is continuing. There are some Grease Pencil improvements, Open Shading
Language can now be used with OptiX on the GPU, and then there’s this:
Most recently, the team
posted
about their progress adding a Metal-based viewport for macOS users. Long story
short: impressive speed-up for rendering, still work to do on playback.
BlenderBIM
This seems to be the most actively developed free/libre BIM (Building
Information Modeling) authoring software today. The project gradually switched
from monthly releases with less changes to just a few releases a year, but
with a ton of changes. So if you’ve been wondering why it’s not being talked
about as often, that’s probably why.
Even with just three releases last year, it’s still well over a thousand of new features, enhancements, and fixes, most notably:
Brickschema integration by creating a 2-way link between IFC BIM models and Brickschema BMS models.
2D drawings generation finally available
MEP modeling improvements: adding, removing, and editing ports for for ducts, pipes, and various equipment.
Federated IFC models with very fast loading and real-time navigation
New wall, slab, profile, and stair editing tools
New material and style manager and support for rendering styles and textures
Model loading to be 50% faster on Blender 3.3+
Dion Moult already made the first release this year, and it’s featuring the
work of his GSoC2022 student Martina Jakubowska who made it possible to take
buildings created with Sverchok nodes and parametrically convert them to IFC
models. I don’t have the latest news from Dion regarding his plans, but I’ll
update this post when I do.
Update: the main objective for 2023 is to improve stability and basic
maturity of the package.
FreeCAD
The team released v0.20 last year with numerous
improvements in virtually
every workbench shipped by default: better architecture tools, more FEM
features, easier to use drafting tools and 2D hatching, better
Interoperability with OpenSCAD, and so much more.
There have been a lot of
changes to make it worth
cutting v1.0 later this year, especially in the Sketcher and TechDraw
workbenches. The caveat here is that the team really want to have the
infamous toponaming issue
solved, but the existing patch has been proving difficult to merge. So it
looks like v1.0 is not guaranteed this year. You can count on many other
improvements to be added though!
Natron
I know people are looking forward to Blender’s real-time compositor project,
but in the meantime Natron is a very capable software that (unlike Blender)
supports OFX plugins.
The project hasn’t yet recovered from all the team changes years ago. Most
work is still done by just a few people (Martin Rodriguez Reboredo recently
joined the team). In he past few years, it’s been mostly under-the-hood
changes that need to be done to make way for new fancy things later on.
Version 2.5.0 was
released with a
functional port to Python 3 in November 2022. Version 2.6.0 is coming soon
with even more internal changes: a complete port to Qt 5.15, experimental
support for Wayland, experimental support for CMake build system, and
experimental Apple Silicon builds (already
available).
Once 2.6.0 is out, the team can re-focus on user-visible changes coming in
2.7.0 eventually.
One way to help them is for someone with DevOps skills to volunteer to help
with Windows builds. This is what Ole-André Rodlie does currently, but he
feels like his time is better spent working on core Natron issues/features.
Synfig
The team released two updates of the stable version last year and had two GSoC
students. For 2023, their plans include finalization of MSVC/vcpkg support
(one of the GSoC projects), support for Windows 11 ARM and macOS on M1/M2.
They also intend to add support for application theming and simplify image
resizing.
Glaxnimate
This animation editor has been around for less than 3 years, it’s not hugely
popular yet, but it’s been getting traction lately.
Here are three major reasons for that: active
development, exporting to animated
SVGs, Lottie files, and animated Telegram stickers, and — most recently —
support for Glaxnimate sequences in Shotcut and Kdenlive thanks to the MLT
framework. So people are beginning to make little fun projects with this
combo:
I talked to Mattia Basaglia (who you might know from his earlier project,
Knotter)
about his 2023 plans. In a nutshell, there’s already a number of new features
ready to release, like animated positions on a path, basic support for RIVE
animations, and better UI for smaller screens. Apart from that, layer masks
are likely to get improvements.
Kdenlive
Last year, the team delivered a strong series of updates of this non-linear
video editor. Here are the changes that I personally find interesting:
Numerous usability improvements, e.g. the Render dialog and the Settings dialog have been updated
Improved system for tagging clips in the project bin, where you can now add, edit and reorder tags
Guides and Markers overhaul, with a new Guides dock, guides categories, and support for exporting guides as chapters
Basic subtitle styling
Glaxnimate integration and Lottie support
Audio recording overhaul
But most importantly, the team secured the development
fund of slightly over 20K euro to finance
development of the following features:
Nested timelines, which is already a work in the progress, expected to ship in 23.04
Improved effects workflow, expected later in 2023
Performance boosts, also expected later in 2023
The team also mentions several other goals: improved keyframing with easing
types and curves, better support for video formats with alpha, support for
projects with multiple resolutions, Qt6 and KF6 migration, and a render
server. There are also various subtitles related improvements and new features
in the works. And that’s just the things that are known beforehand. There will
be more than that.
There’s also a roadmap that gives a fairly good idea what’s planned short-term and long-term.
Olive
There’s been an impressive amount of changes in Olive in 2022: WYSIWYG text
editor, drawing shapes and transforming clips in the sequence preview, chroma
key nodes, a basic color grading node, better performance when moving a lot of
clips around, markers rewrite, the return of audio recording, subtitle
renderer and editor, basics of multicam editing, a ton of usability
improvements… Wow, let’s make a stop here. That’s easily a few major
releases worth of work already.
I’ve been using Olive in real projects of tiny calibre (think 2 to 5 minutes
long YT videos) and I’d say there are two major problems: stability and masks.
I commonly do 2 to 4 hours long editing sessions, and in that time, it’s
common for Olive to freeze 3 to 5 times. The program becomes unresponsive and
it’s easier to kill it, restart, and do crash recovery than wait an unlimited
amount of time for Olive to unfreeze. As for masks, there’s a very promising
patch to make them way
easier to use.
Just applying the most useful patches and fixing crashes and freezes would
make Olive 0.2 a video editor you can easily recommend. At this point,
however, I don’t feel confident saying that version 0.2.0 will definitely be
out in 2023. The rewrite has been taking a long time, there’s no two ways
about it. That and Matt moving to a different continent last year (Australia
to USA).
On the other hand, as far as I can tell from conversations on Discord, there
are no major changes planned until the release is done. It’s mostly bugfixing
ahead. Crossing fingers then.
Ardour
Last year’s release of version 7.0 opened the doors to a whole lot of new
possibilities with the new non-linear sequencer. Ardour can only do playback
of clips and cues so far, but recording clips is on the radar and likely to
happen in the 7.x series.
What is definitely coming this year is simplified editing of notes’ velocities
in a separate lane. This is one of the features users have been requesting for
a very long time. There’s a development branch with some pre-alpha quality
code. Extremely early work — I’m not even sure I should be posting the
screenshot below. But the feature is being actively worked on, and it’s
finally coming.
This arrival of cues in 7.0 is triggering another major change. As soon as you
have cues, there needs to be some sort of a clip editor easily accessible in
the Cue view. So it’s coming too, for audio and MIDI clips alike. And that, in
return, means that Ardour can finally provide an alternative workflow for
editing MIDI clips: in a context-sensitive bottom pane and, alternatively, in
a separate window. Implementation details will be figured out along the way.
Another thing that is very high on the list of priorities is further work on
tempo-mapping: building tempo maps that reflect live performance to allow
better integration of computer-driven parts of a composition.
And then the team expect to see support for at least one and possibly three
Novation Launchpad surfaces landing, with deep integration for Cue control and
performance.
Zrythm
Alex was very active with Zrythm development throughout 2022. Here is a
really compressed summary:
Various UX/UI improvements and quality-of-life changes like adaptive snapping
14 built-in plugins, incl. compressor, delay, gate, distortion, reverb, parametric EQ, and more
Various drawing, DSP, and MIDI event processing optimizations
A LOT of work on chords, including inversions, transpositions, presets and preset packs, recording to chords tracks
More exporting features including support for AIFF, AU, CAF, W64
ECMAScript support for scripting in addition to Guile
But above all — a lot of bug fixes, because, let’s face it, it’s still the main issue in Zrythm, not the features (which are sufficient to start making music).
I’m not entirely sure the final release could be out this year. The status
changed from alpha to beta in March 2022, but it seems like there’s a
never-ending stream of bug reports. But at some point though, Alex will have
to call it a day and tag a release. Let’s hope it’s sooner rather than later.
Audacity
Last year, the combined old/new Audacity team delivered non-destructive
stackable effects — something the community had been hoping for since early
2000s. This came with support for VST2 and VST3 effects.
They also had a successful Google Summer of Code project that is going to be
merged after some changes — an option to display musical time (bars) in the
horizontal ruler and a ‘Linear dB’ option in the vertical ruler — both
contributed by Michael Papadopoulos.
The current activity in the project has multiple directions.
Paul Licameli is rewriting the monolithic source code into modules and
libraries, and making various parts of the code
toolkit-agnostic. This work
also contributes to the Qt port (see below) in a major way.
Paul and another developer, Pietro Marcello, already spent some time making
native plugins realtime-capable. Paul is now adding support for parallel
processing to native plugins.
Dmitry Vedenko is working on the port to Qt/QML. The relevant branch has just
become public on GitHub but it doesn’t do anything yet. This will take a
while. In fact, if the work on MuseScore’s visual update is any indication, I
don’t think we are going to see a Qt-based release this year. The new UI
design is in the works though. Here’s one of the mockups:
So for 2023, I see a potential for one or two larger updates delivering
somewhat cleaner UI and performance, but much of the work will continue to be
under the hood.
MuseScore
Shortly before the new year, the MuseScore team released much anticipated
version 4.0 that is a complete overhaul of the
program. Massive engraving improvements, new playback engine, huge
free-of-charge sample library (downloadable separately), an entirely new user
interface, VST3 support (sans Linux for now), and other changes are well worth
the wait.
I don’t believe you could possibly miss the video by Martin
Keary about the process of
developing this version of MuseScore, but if you did, I do recommend watching
it even if you have nothing to do with score engraving.
The community’s response to the release is overwhelmingly positive. I’ve
watched a bunch of reviews of v4.0 on YouTube. People are going completely
gaga about the release. One interesting idea I picked up in one of the reviews
is that MuseScore now absolutely needs a video player for scoring music to
footage synced to the timeline.
The first bugfix update is coming soonish, but right now the team is
discussing the roadmap and will hopefully announce their plans to the
community next week or so. Don’t know what they will announce, what I do
remember is that they postponed the plan to add a sequencer and a full-blown
pianoroll editor to be able to release v4 in this century. There also used to
be an initiative to develop more guitar-centric features. How much of that is
being planned — we’ll soon find out!
In conclusion
First of all, if you made it this far, wow!
The FOSS ecosystem today has this tantalizing effect: so many interesting new
projects to try, so much to discuss, but we still have no human clones and the
old-fashioned multiplication way takes years and no following-in-the-footsteps
guarantee (perhaps, it’s for the better).
Like I said in the beginning, we are very fortunate to be where we are today.
Things could have been worse. We could have been running 3DS Max on Windows Me
(yikes) in a doomsday bunker (double-yikes), while eating radioactive rats
(okay, enough).
I’m very thankful to each and every developer kind enough to respond to my
messages and providing insights into their development plans. Also, huge
thanks to David Revoy being this awesome
no-nonsense person who showed us the way back when few people believed Linux
could be a sensible platform for a 2D artist. The featured illustration is his
work of art.
Libre Arts is a reader-supported publication. If you appreciate the work I do,
donations are once again possible. You can subscribe on Patreon or make a
one-time donation (see here for more info).
The GStreamer team is excited to announce the first release candidate
for the upcoming stable 1.22 release series.
This 1.21.90 pre-release is for testing and development purposes
in the lead-up to the stable 1.22 series which is now feature frozen
and scheduled for release very soon. Any newly-added API can still change
until that point, although it is extremely unlikely for that to happen at
this point.
Depending on how things go there might be more release candidates in
the next couple of days, but in any case we're aiming to get 1.22.0 out
as soon as possible.
Preliminary release notes highlighting all the new features, bugfixes,
performance optimizations and other important changes will be made
available in the next few days.
Binaries for Android, iOS, Mac OS X and Windows will be available at the
usual location in due course.
Dittytoy user [srtuss] has recreated one of the most influential works of electronic music in an elegant nineteen kilobytes of Javascript code. The recreation of Jean-Michel Jarre’s Oxygene Part IV on the Dittytoy platform, currently in beta, plays live right in your browser. Dittytoy empowers users to create generative music online using a simple Javascript API. Syntax of the API is loosely based on that of Sonic Pi, a code-based music creation and performance tool.
“Oxygene (Part IV)” was recorded by Jean-Michel Jarre in 1976. It was Jarre’s most successful single, charted on the top ten in several countries, and was more recently featured in the Grand Theft Auto IV video game. In the 1990s, famed electronic music innovator Brian Eno used the term “generative music” to describe music generated by an electronic system comprising ever-changing elements that may be algorithmic or random.
Recreation of Jarre’s work required modeling the Korg Minipops 7 drum machine, one of the instruments presented in our slew of open-source synthesizers.
Earlier this year I had to investigate perception of colour attributes
for some of my projects. There exists a long history of colour models that
try to approximate perception, each with its own shortcomings and complexities.
For a decent modern colour space suitable for image processing and with…
Greetings everyone, we have yet another release of Cardinal,
this with some great module additions. Cardinal
is a free and open-source virtual modular synthesizer plugin.
It is based on the popular VCV Rack
but with a focus on being a fully self-contained plugin version.
The main changes for this release are new modules (Sapphire, Stoermelder Pack-one and Surge-XT) and web-assembly related fixes.
Highly requested and specially interesting for users are the brand new Surge-XT modules, see
Omri Cohen's video for a cool overview of what they can do.
As usual there are a few module updates too.
Changelog
Add portable standalone Windows binaries
Add JTB Waves example/demo patch
Fix SSE not being enabled in pffft for 32bit builds
Building now requires a compiler compatible with C++17
Windows builds now require 0x0600/Vista, needed for Surge
Downloads
The source code plus Linux, macOS and Windows binaries can be downloaded at
https://github.com/DISTRHO/Cardinal/releases/tag/22.12.
Cardinal is released as LV2, VST2, VST3 and CLAP plugin, plus AudioUnit and JACK/Standalone for certain systems.
SVN externs are terrible and you shouldn’t use them. Also don’t use SVN if
you’re able to avoid it, but that’s likely already done in modern organizations.
What is SVN?
Before digging into the meat of why svn externs are terrible, let’s start off
with what SVN (Subversion) is; SVN is a system used to store source code and
assets for software projects. The main repository is stored on a remote server
and is represented as a collection of files and folders. You as a SVN user can
check out any subfolder or file within a repository. In the case of an
organization wanting multiple concurrent projects they’re stored in separate
folders.
For one repository there is only a single history stored on the server that marches
forward linearly with the revision id tracker which consists of a number counting up
from the first commit.
So you will see r1 (revision 1) all the way up to whatever stage the current
history is in e.g. r14234.
What about tagging a copy of source code or branching it to do separate
development which later on gets merged? Well, SVN 'supports' those features, but
at the same time it doesn’t really…
A tag or a branch is just copying the files in a project to another named
folder. There are conventions about the names and locations of those new
folders, but it’s IMO a fairly weak feature.
What are SVN externs?
Let’s say that you have in your SVN repository two projects:
Perhaps project 2 uses project 1, or in other words it depends on that project’s
code and resources.
Dependency management is tricky and there’s a number of approaches, one of which
is to copy code from project 1 into project 2, so when you build project 2, you
end up building both projects together.
However if you copy code from project 1, that means the copy can get out of
date.
So, instead you can reference the code from project 1 instead of copying it.
That’s a good thing, right?
Well…… no, not from my point of view, at least without additional semantics.
Just inserting a reference isn’t a great thing because when you’re working on
project 2 you shouldn’t be impacted negatively by changes in project 1 and thus
you don’t want breaking changes to interrupt your development unless you’re
agreeing to trying out those breaking changes.
SVN externs will take a copy of whatever you point them at, which can be used
responsibly.
Here $external resource can point to a known working copy of project one which
isn’t expected to change e.g. /project1/tags/release_v2 . If that’s the target,
then when release_v3 is changed, then someone in project2 can update the library
they’ve chosen to use to /project1/tags/release_v3. But, here’s where
svn-externs get to be evil: $external_resource can be /project1/trunk/,
/project1/branches/branch1, an individual file like
/project1/trunk/src/library.h, or even a reference to a different SVN repository
that you don’t control at all e.g. https://example.com/totally/not/your/repository/library.h.
If it’s any of those locations, the developers on project 1 can make changes
which without any release process are immediately reflected in project 2.
Why is that bad? Well, developers in project 1 aren’t informed about who is
using their code as such by SVN. Who knows if a single file that you made is
essentially getting copied all over the place. Who knows if your self consistent
build process is going to be scrambled by being only partially copied elsewhere?
Since svn externs make it equally easy to grab parts of libraries and
live/tagged versions it encourages other projects to use internals (they don’t
need the whole library) and use development copies (who wants to update versions
later on), which end poorly for people trying to work on the project getting
sliced up.
Those developers are left guessing who is using their code and how they’re using
it since unless you write additional tooling it’s near impossible to know how many
externs there are within a given repo.
If you think that’s bad, let me remark that recursive SVN externs are a thing
and I’m thankful that it looks like they’re rarely used. At least that’s based
on both git-svn and git-svn-ext struggling with those cases.
Heck at least last time I tried to use it git-svn barely supported SVN externs.
Along the same lines of tooling breaking on externs, even good old commandline
svn starts to get ugly with externs.
SVN status, similar to other scm status tools, will output one line per file
that’s modified.
So you might see:
D oldcode.rb
A newcode.py
M workingcode.sh
That status would indicate that you deleted a ruby file, added a python file,
and modified a shell script. The repository can contain many more files, but if
they’re unmodified then you don’t get any status information on them because
obviously you only care about what’s changed.
Well, welcome to the world of SVN externs. EverySingleTime you run svn
status with a repository that has an extern it will end up having a X status on
the file/folder that’s an extern reference. It doesn’t matter if it’s modified
or not.
So you might see for a repository that you haven’t made any modifications:
X internal/project1
X vendor/libA
X vendor/libB
X vendor/libC
Performing status on external item at 'internal/project1':
X internal/project1/recursive-extern
Performing status on external item at 'internal/project1/recursive-extern':
Performing status on external item at 'vendor/libA':
Performing status on external item at 'vendor/libB':
Performing status on external item at 'vendor/libC':
It’s maddening…
Not to mention that working with svn externs isn’t via some 'svn extern'
command, it’s via 'svn propget', 'svn propset', etc. It’s a thoroughly
unpleasant experience through and through.
In conclusion, next time you hear someone complain about git submodules, feel
free to say "hey, at least it isn’t svn externs".
Another month brings another Ardour release. Although the primary reasons to release 7.2 were to fix some egregious bugs with region automation and the tempo map, this version includes a nice collection of new features too, including MIDI Learn for cue slots, support for Ogg/OPUS compressed audio, importing lyrics from MIDI files and more.