I'm working on a new knob for #Beast, with bidirectional and unidirectional modes.
Sadly, Chrome cannot compose *inside* and SVG, so I have some nasty splitting and layering of the #SVG elements going on...
3/3 While the ability to run at nice priority -20 still requires root permission for the initial setup (or SYS_CAP_NICE), even that could *potentially* change with the introduction of a latency nice setting, if the kernel developers manage to implement unelevated latency re-nicing without opening up the gates for DOS attacks.
These developments are described in the LWN article 'The many faces of "latency nice"':
2/3 Not only is the risk of system lockups unwarranted to avoid audio drop outs, there is also no need for it to be taken.
Just prioritizing the audio rendering threads to run at nice level -20 is sufficient to prevent drop outs in low-latency setups, i.e. setups with <10ms round trip time. BTW, such setups require audio fragment sizes <= 128 samples (or "periods with <= 128 frames" in ALSA language).
1/3 On the topic of Linux low-latency audio setups…
Installing jackd (1 or 2) still requests "realtime priority" to minimize latency.
This project should really get its act together and stop demanding this kind of elevation from benign audiophile users.
Resistance is fruitful: 😀
CANN rejects sale of .org registry to for-profit investor group
»Video: Wie wichtig Abstand halten ist, um andere nicht mit dem Coronavirus zu infizieren, zeigt ein faszinierendes Video.«
Most of us are undergoing a lot of stress right now. People under stress can be short-tempered and impatient and can lash out. Try to be patient, empathetic, sympathetic, and avoid causing more stress or irritate or antagonize.
Try to be extra clear in your own communication, and ask others to clarify if they're not unambiguous. Be explicit about your feelings and expectations.
If you make a mistake, apologize.
Apparently, g++-9.2.1 does *not* const-initialize a `static Class x;` with a constexpr ctor, *if* it also happens to have an uninitialized uint64_t array member. It does not generate a warning either, but surely triggers the "C++ Static Initialization Order Fiasco" at some inconvenient future point.
Web packaging technology is torture.
The last week, I've been fighting webpack, parcel, #rollup, babel and bili, just because vue stopped supporting #browserify and I had to figure what to use as a replacement in #beast.
^^^ If that sentence sounds like it has too many web tech buzzwords, that's *exactly* the problem.
And it's only a fraction of packages I had to deal with...
Most packages have documentation, but only provide tiny puzzles of a much bigger picture that is revealed nowhere...
That's still unfinished though, why do I always need bleeding edge features?
Time for bed I guess, maybe the edge looks less bleeding tomorrow... ;-)
Last Tuesday #Beast 0.15.0 was released.
This is most probably the last release that supports the #Gtk+ Beast UI. We have most of the bits and pieces together to move towards the new EBeast UI and a new synthesis core in the upcoming months and will get rid of a lot of legacy code along the way...
Beast version 0.15.0 is released.
#Beast is an LGPLv2+ music synthesizer and composer (#DAW), for #Linux.
This release supports Jack as PCM driver and the experimental Ebeast frontened got many style updates, play position pointers and supports the Space key.
DSP + UI developer on the Beast DAW, Free Software author + advocate, contributor to ALSA/GNOME/procps/LibreOffice/etc.
The social network of the future: No ads, no corporate surveillance, ethical design, and decentralization! Own your data with Mastodon!