At the beginning of the month I made a few changes to the pattern editor. It now has a binding to the ‘,’ key, which insert the current parameter value into the pattern. This is a neat shortcut for using the ui to tune a parameter and then copy the base value to the . . . → Read More
Finally pushed the pattern control-source: 26 files changed, 1204 insertions, 1333 deletions. It looks like only a little gain in code size, but that is not true; we added more tests and splitting up a large class always comes with some boilerplate for the new class. There are still some opportunities for optimizations, which . . . → Read More
After a discussion on IRC about tunings I looked into adding some of those to the ToneConversion class which so far only implemented the usual equal temperament. I have to say the wikipedia articles on this matter are awesome, detailed and plentiful. I added two 12tone tunings to the ToneConversion class now and implemented . . . → Read More
I worked a bit on preset handling in gstreamer. Now machines with variable number of parameters with save their properties correctly. One example is the parametric equalizer. I needed this for sidsyn in buzztard too. I also updated the preset handling for buzzmachines. They now store presets in user-data-dir. This avoids that those get . . . → Read More
I started the month with some preparational work for the 2nd GSoc task – to use GstEncodeBin for recording. The first change was to streamline the recording UI. Instead of two dialog – one for setting and one for the progress – we now just show one. This causes less noise on the screen . . . → Read More
I did more test cleanups and finally the libs are done. I am going to increase the coverage more, but it is quite good already. We’re having more than 200 test for libbuzztard-core now. That helps making changes.
One aspect of writing tests is also to check the API for testability. While working on . . . → Read More
In May I finished the refactoring of the sequence damage-repair code for updating the controller time-lines after pattern changes. It is a lot less code now and it is also faster. The “less code” is important as there is quite a bit of logic to handle combining events from patterns overlapping in time or . . . → Read More
More cruft removal this month. We dropped some more configure options (thanks Adrian) and removed more old/unused code. The project also got the first commits merged from Thomas – our GSoC student.
The pattern class had a boolean parameter to chose between command and data patterns. I refactored that into a proper class hierarchy. . . . → Read More
I started hacking on the transport settings. The idea here is to have a generic scheme for how to control playback (start, stop, seek) externally. This can be a midi-controller, but also qjackcontrol or a MPRIS applet. The setting now show the available modules and allow to enable master and slave mode as well . . . → Read More
As a big leftover promise from my talk at the GStreamer conference in 2011 I spend more time to understand latencies inside GStreamer. For plain playback the latencies are not an issue, but for anything interactive, be it entering notes or changing parameters while the song is playing, we want much lower latencies. For . . . → Read More