I worked a bit on preset handling in gstreamer. Now machines with variable
number of parameters with save their properties correctly. One example
parametric equalizer. I needed this for sidsyn in buzztard too. I also
the preset handling for buzzmachines. They now store presets in
This avoids that those get overwritten when the plugins get updated. The
handling logic will read user-presets first and then merge in system wide
presets. One shortcoming here is that we would need a flag on each preset
whether it comes from a preset file in user-data-dir (and thus is
comes from a system dir (and thus is read-only). This would allow the UI to
require that users pick a new uniqe name when changing a system preset.
Songs in buzztard now also store their non-dynamic settings. This will fix
fluidsynth forgetting the selected patch file and is also needed for e.g.
setting the chip-type in sidsyn. I refactored the code a bit and now we
show empty properties dialogs anymore and instead gray out the menu item
would invoke them.
The build system now can show the class-coverage of the tests. As this
is just a
few shell commands it quickly shows untested classes. It relies on naming
conventions for tests. To make that work I also cleaned up the whole UI
Those are now more robust and actually verify a lot more things (we went
to 92 ui tests).
77 % (24/31) lib/core/
40 % ( 4/10) lib/ic
100 % ( 1/ 1) ui/cmd
51 % (27/52) ui/edit
The last thing I worked was to progress on live machine playback. And
it works! One can bind e.g. midi keyboards to machines and play them
includes a round-robin voice management for polyphonic generators. It is
of fun to play with.
Tom made good progress on the pattern control source. Most of the tests now
pass. We hope to be able to merge it soon and to remove the complicated
controller updating code.
151 files changed, 8453 insertions(+), 6451 deletions(-)
buzztard core developer team