Profile cover photo
Profile photo
Tim Janik
Take a constructive approach to make the world a better place.
Take a constructive approach to make the world a better place.


Post has attachment
Beast 0.12.0-beta.1

Long time no see.

It's been a while since the last #Beast release, mainly because we have a lot of code migrations going on, some of which caused severe regressions. Here are the tarball and Debian package:

At this point, we hope the code is reasonably stabelized so we can produce a final 0.12.0. The beta.1 release is here for people to poke into an prove us wrong. So please give the tarball or pre-built Debian package a shot and file any regressions in the issue tracker:

This release removes the #Rapicorn dependency as well as the runtime dependency on CPython. To achieve that, a number of utilities from Rapicorn had to be integrated, which has made the code base a fair bit larger:

639 files changed, 75204 insertions(+), 44290 deletions(-)

Most notably, this is the first release that installs the new ebeast UI. Tracks, piano rolls and dB meters are already displayed, but not much beyond that as it's still in pre-alpha stage. However it's a good showcase for our future UI direction, you can start it and take a quick look with:

/opt/beast-0-12/bin/ebeast # replace '/opt' with your build prefix

Beast 0.12.0-beta.1

* EBEAST: development of a new user interface based on Electronjs has
started and the first (pre-alpha) bits are shipped and installed
with this release under $prefix/beast-0-12/bin/ebeast.
* EBEAST: added About, Tracks with dB meters, Parts with thumbnails.
* EBEAST: added Play controls, Piano roll, color picker palette.
* Upgrade to Electron-1.8, Vue-2.5, Chrome-59.0, V8-5.9, Node-8.2.
* Added internal integrity tests.
* Added various documentation improvements.
* Fixed memory corruption crash, #25. [stw]
* Fixed FluidSynth test on Bionic, #42. [stw]
* Fixed crash when adding mixer bus during playback. [stw]
* Merged and enhanced the new Beast IDL layer AIDA.
* Introduced asynchronous Events to replace signals.
* Removed all C procedures, migrated method calls to Aida IDL.
* Removed large chunks of old and outdated code.
* Integrated required utilities from Rapicorn.
* Removed Rapicorn as build and runtime dependency.
* Removed Python runtime dependency.
* Work around apport reporting assertion tests.
* Handle UTF-8 mixed with Latin-1 gracefully.
* Renamed Demos/, Effects/, etc resource directories.
* Added shared memory allocator with external bookkeeping (without
boundary tags). Communicate dB meter levels and other values via
shared memory between DSP engine and UI code.
* Continued migration of C structs to C++ classes.
* Adjusted remote reference GC for Beast work loads.
* Added ANSI colors to logging output for non-dumb terminals.
* Reduced size down to 14% by splitting debug syms.
* Clarified licensing, Beast is released under LGPL-2.1+.
* Adapted code to depend on and make use of C++14.
* Fixed code to compile cleanly with g++-7.2.

#DAW #Linux #Audio
Add a comment...

Post has attachment
I've been mostly active on #Mastodon lately, but switched accounts after a while.

I appreciate everyone wanting to connect to my new account:

Add a comment...

Post has attachment
The new and much simpler beast website just went live:

#linux #audio #synthesis #daw
Add a comment...

Post has attachment
Beast 0.11.0 and onwards…

We have just released Beast version 0.11.0.

The announcement gives a high level overview of the changes (Soundfont support, multi threaded signal processing, new packaging, etc) and links to all the details like NEWS, tarballs, the binary package and shortlogs.

In this post, I’d like to extend a bit on where we’re going next. Beast has come a long way from its first lines of code drafted in 1996 and has seen long periods of inactivity due to numerous personal reasons on my part and also Stefan’s. I can’t begin to describe how much the Beast project owes to Stefan’s involvement, development really thrives whenever he manages to put some weight behind the project. He’s initiated major shifts in the project, contributed lots of demos, instruments and of course code.

Lately we were able to devote some time to Beast again, and with that reformulated its future directions. One important change was packaging, which already made it into the 0.11.0 release. This allows us to provide an easily installable binary package that extracts into /opt/. It’s available as a DEB for now, and we hope other package formats will follow.

Another major area of change that I’m working on behind the scenes is the UI technology. The current UI has huge deficits and lacks in workflow optimizations compared to other DAWs. Stefan has several big improvements planned for the workflow as do I, but in the past Gtk+ has not been helping with making those changes easy. Rapicorn was one attempt at fixing that, and while in theory it can provide a lot more flexibility in shaping the UI, based on concise declarations and use of SVG elements, it is still far away from reaching the degree of flexibility needed for our plans.

So far indeed, that I’ve had to seriously reconsider the approach and look for alternatives. Incidentally, the vast majority of feature needs and ideas I’ve had for the toolkit area appear to already be readily accessible through web technologies that have impressively advanced in the last few years.

Though we’re not planning to move Beast into an online application, we can still leverage these technologies through the #electron project, which is an open source project providing HTML & CSS rendering plus Javascript on the desktop using libchromiumcontent from Google Chrome.

In my eyes it makes little sense to replicate much of the W3C specified features in desktop toolkits like Gtk+, Qt, Rapicorn which are much lesser staffed than the major browser projects, especially if we have a way to utilize recent browser improvements on the desktop.

So in effect I’ve changed plans for Beast’s future UI technology and started to construct a new interface based on web technologies running in electron. It’s interesting to change desktop UI development like this to say the least, and I’m curious about how long it takes to get up to par with current Gtk+ #Beast functionality. I have some ideas how to address real time display of volume and frequency meters, but I’m still unsure how to best tackle large track view / clip view displays with wide scrolling and zooming ranges, given the choice between DOM elements and an HTML5 canvas.

Apart from the UI, we have several sound Library improvements pending integration. Stefan wants to finally complete Jack driver support, and as always there are some interesting plugin implementations in the queue that are awaiting completion.

If you want to help with any of the development steps outlined or just track Beast’s evolution, you can join our mailing list. Although the occasional face to face meeting helps us with setting development directions, we’re doing our best with keeping everything documented and open for discussions on the list.
Add a comment...

Post has attachment
Got myself a #Mastodon account as well.

I appreciate everyone wanting to connect over there:
Add a comment...

Post has attachment
Whee, first snow this winter!

#ersterschnee #snow
Add a comment...

Post has attachment
Beast 0.10.0 and Rapicorn 16.0.0

Beast is an audio composer and modular synthesis application, Rapicorn is a toolkit for declarative UIs and SVG-based theming.

Besides lots fixes and improvements, this release brings a long awaited developer feature: Python bindings for BSE (the synthesis engine of Beast). 

See the full announcement for a detailed account.
#Linux   #Audio   #Beast
Add a comment...

Post has shared content

Post has attachment
Glowing Harddisk at #32c3 ...
Add a comment...

Post has attachment
Water Bottle Recycling

#32c3  style...
Add a comment...
Wait while more posts are being loaded