Release date: October 23rd 2019
- Fixed bug in the file browser which could not be navigated if the
default kit path were not set or pointing to an invalid path.
Special thanks to 2Late and Jason N. for reporting and helping debugging
Release date: October 15th 2019
Contributors: chaot4, meka, deva
This release is primarily a bugfix release but a few new features also
managed to sneak in.
- Sample selection algorithm now behaves a lot better when using a small
- Error reporting has been drastically improved when loading drum-kits.
- Sample normalization option has been added.
Also some bug fixes, mainly for the UI.
For a more in depth description of the changes and fixes, see the
changelog for 0.9.18:
Release date: July 15th 2019
Contributors: deva, chaot4, suhr, trebmuh
In this release we tried to jam in as many of our planned changes to the
xml as possible. There are still a few more to go but this release has
brought us a large step closer to our feature-complete xml format. Quite a
few other major features has also found their way into this release, which
will be much more visible (and audible) to the users.
- Improved sample selection algorithm.
- Clicky-kit feature.
- Midnam support.
- Directed choke functionality.
- Drumkit metadata support.
- Experimental Cocoa UI support for MacOSX.
Also some bug fixes and a lot of code refactoring (replaced eXpat with
pugixml for one).
For a detailed description of all the new shiny features, including
audio samples and lots of screenshots, see the changelog for 0.9.17:
Release date: August 12th 2018
Contributors: deva, chaot4, suhr, trebmuh
Resampler has been refactored.
It now depends strictly on zita-resampler and is no longer optional.
- Fix latency reporting in VST.
- Fix timing humanizer stops normal cymbal samples too early.
- Samples are cut off when looping.
- LV2: Don't export any symbols except the plugin entry point to avoid clashes with the DAW or other plugins.
- VST: Don't export any symbols except the plugin entry point to avoid clashes with the DAW or other plugins.
- Report latency from resampling.
- Fix LV2 Buffer overflow.
- Add message to execution of CLI without arguments that mentions that the GUI is only supported in the plugins.
- Update French translation of manpage.
- Fix crash or noise when changing jack buffersize while running.
- Stuttering when resampling is active.
Release date: July 24th 2018
Contributors: deva, chaot4, meka, suhr, Muldjord, cglocke, Roman Garifullin, James Cowgill
New engine features:
- New humanized timing feature.
- Master bleed control.
- Remove memory warning.
- Replaced cppunit with new dgunit header-only test framework.
New CLI features:
- OSS midi input support.
- Finish and integrate getoptpp as a submodule.
- Double click knobs to reset them to their default value.
- Ignore spacebar key in UI (used by DAW and toggled the buttons).
- Add cute little image in the inline display.
- Fix X11 BadValue crash bug.
- Fix black render when opened as LV2 on Ardour and FreeBSD.
- Fix UI crash on underflow in resize()
- Fix valgrind errors of GUI.
- Fix crash if CLI is invoked without input and/or output engine. (deva)
- Fix out of bounds drawing of frame (chaot4)
Note: LAC2017 release
Release date: May 14th 2017
Contributors: deva, chaot4, Muldjord, meka, Hans Petter Selasky
Special extra thanks with a cherry on top: Robin Gareus
- Introduced new resampler module in ui
- CLI exits right away, doesn't do anything
- Make ''-i midifile -I midimap=~/...'' recognize the home directory. Replace "~" by the home directory in ./drumgizmo/input/midifile.cc
- Properly get/set OSS buffers
- Add ---no-resampling option
- Fix midi note on/off mask
- Streamer BUG: If there is a cache miss on one of the audiofiles (1 channel) in a sample that one sample will get delayed compared to the others
- Streamer BUG: When nodata buffer is being reallocated we need to make sure that the old buffer is not being used by one of the cache ids
- Resampler BUG: Fix corruption/crash when enabling/disabling resampler at run-time
- Update Window build environment to a more recent mingw64
- Remove obsolete old mingw32 thread hacks
- Introduce clear signal, showing if we had an underrun because of diskstreaming
- Fix crash on with low preload size
- Initial status of drumkit is "Error" on first opening the plugin
- Scroll-wheel on tab buttons should iterate through the tabs
- Refactor TextEdit. (use vector in preprocessing etc.)
- Fix "unexpected easter egg"
- Fix high CPU load of plugingui when shown in a host (All platforms/DAWs)
- Return handle to the newly created window in ''PluginLV2::uiInstantiate'' in the ''widget'' pointer
- Add bypass button for the resampler
- Fix redraw on changing desktops
- Don't put .a and .la files in lv2 folder on install
Release date: April 23rd 2017
Contributors: deva, chaot4, Muldjord, meka
Highlighted changes / fixes:
- New ui
- OSS support
All changes / fixes:
- Fixed rcgen compilation with BSD make
- Made ui and engine compile as internal libs instead of compiling all sources in each component
- Implemented settings for controlling diskstreaming
- Complete gui makeover
- Made changes to UI to incorporate diskstreaming controls
- Now generates resources at compile-time
- Made window resize flicker-free on X11
- Fixed missing redraw on resize event on X11
- Now uses XShmImage for rendering on X11
- Refactored event system on X11 and Win32
- Now supports size and position changes in the same event on X11
- New rendering system based on ''dirty'' flag
- Added "partial rendering" support in rendering system
- Fixed double click
- Scroll-wheel inside textareas now works
- Made diskstreaming controls work in the engine
- Made DrumKitLoader use disk streaming settings
- Fixed crash or channel overload on stop/start command or loop due to invalid pointer returned to the engine from the diskstreamer
- Made AudioCache use configurable fixed size chunks
- Stores memory limit and chunk size in config as ints instead of floats
- Made cli support for disk cache controls
- ''-s'' and ''-S'' enables diskstreaming and set its parameters
- Updated man page
- Changed onsite info for cli
- Added FreeBSD OSS audio output support
- Added buffer size control for OSS audio output module
- Fixed the dgreftest for aasimonster2
- Added dependency check for rcgen so resource_data.cc is regenerated whenever one of the resource png files change
Release date: January 18th 2017
Contributors: deva, chaot4, Muldjord, meka
- Fix semaphore EINT assertion in MusE
- Fix atomic link check - always link with atomic
- Draw boxes instead of nothing when trying to render characters not in the
- Extend character map to include full latin1 character set
- Added full support for FreeBSD
- Fix missing "mouse-up" events when runnnig lv2 plugin on linux in a JUCE
based host (Helio or Tracktion)
- Added missing ttl as per: https://github.com/falkTX/Carla/issues/412
- Algorithmically generate the test .wav files to be able to run the tests
also with the tarball
- Add --lv2dir parameter to configure
Release date: October 29th 2016
Contributors: deva, cglocke, chaot4, Jin^Eld
- Unicode crash bug fixed
- lv2 inline display
- Fixed problems when running more than one instance of DrumGizmo plugin in
the same host
Special thanks to 'Maxim Alexandrovich (Ljutingr)' for helping debugging the
Release date: March 30th 2016
Contributors: deva, suhr
- Fix the 'no sound from plugin when resampler active' bug.
- Fix the 'freeze on tempo change' bug.
- Fix backspace in lineedits.
Release date: March 24th 2016
Contributors: cglocke, chaot4, deva, muldjord, suhr, viccuad
Highlighted changes / fixes:
- Switch to LGPLv3
- Linux VST
- Embedded UI
- Prepped for diskstreaming (but not yet implemented in UI)
- Load of bug fixes
All changes / fixes:
- Remove unused libraries
- Headers are currently a mix and gpl2 and gpl3. Should be fixed
- UI refactor
- Move textedit widget to refactor branch
- Move autolayout to refactor branch
- Use new notifier and refactor to new code guidelines:
- LineEdit fixes:
- Follow marker
- Scroll with long line and cursor in beginning of line
- Update Linux build agents so they support C++11
- Refactor CLI
- Rewrite all modules to be compiled directly into the binary
- Modernise all cli files
- Add diskstreaming feature with infinite buffer size:
- Test on windows
- Make sure on-the-fly framesize change is working
- Set pre-cache size to "infinite"
- Make std::mutex work with mingw
- Make unit tests:
- Design and implement AudioCache
- Use AudioCache in inner-loop
- Get framesize dynamically from output engine
- Handle snd files with refcounter
- Collapse events from same file and position into single multichannel event
- Make sure free-wheel-mode works in jack, lv2 and vst
- Add referenced drumkit/midi files feature
- Remove version number from man page
- Make benchmark performance comparisons with the "old" engine
- Add a valgrind test script
- Fix some problems reported by valgrind
- Add memory check to warn the user if the drumkit about to be loaded cannot fit into memory
- LV2/VST: Make UI event handling based on idle/run calls from the plugin host instead of in a thread
- Port "The Aasimonster" to new velocity format
Released March 16th 2015
- Fixed bug where resampling resulted in sample skewing over the output channels
Released February 22nd 2015
- Fix deprecated autoconf/automake macros. (Nils Tonnätt)
- Update LV2 plugin to use new URID extension (http://lv2plug.in/ns/ext/urid/). (deva)
- Fix state store so it does not store terminating zero in config xml. (deva)
- "No sound" bug in resampler code. See: http://drumgizmo.org/irc-logs/drumgizmo.log.11Jan2015
- Make cli wait for drumkit to finish loading before starting the engine. (Jin^eLD)
- Make cli TYPE_STOP event wait until active events is empty. (deva)
- Add basic man page. (Nils Tonnätt)
- Reflect input/output parms in cli help text. (suhr)
- Reflect input/output parms in cli man page. (muldjord)
- Make resampler depend directly on zita-resampler and make libsamplerate an active opt-in. (suhr)
- Include test directory in dist. (suhr)
- Don't AC_SUBST zita libs and cflags if not used/detected by configure. (suhr)
- Make all use of atof and sprintf("%f") locale independent. (deva)
- Fix crash after rendering midi file to wav files via DG cli. (deva)
- Remove wavfile.la in output dir. (deva)
- Replace obsolete cli -p argument (preload) with -a (async-load) argument. (deva)
Released December 7th 2014
- Resampling on channel output to match system. (in 'resample' branch) (deva)
- Zita on windows, configure lib detection
- Add missing resampler unit test files.
- Make resample work on VST.
- Fix LV2 UI crash on open. (deva)
- Global config file. (suhr)
- Remember last browse path. (suhr)
- Don't show hidden folder in file browser. (suhr)
- Lineedit follow marker. (suhr)
- LineEdit, scroll when in end on line and arrow right typed.
- Remove printf and uncommented code
Released September 9th 2014
- Editor split out into own project. (deva,suhr)
- Integrate VST build into autotools. (deva)
- Make 64bit VST binary. (deva)
- Accept loading the same kit twice. (deva)
- Reduce probability of playing the same sample twice in a row. (deva)
- Normalise velocity range (was 0 to hardest sample, now is weakest sample to hardest sample). (deva)
- Make sure loading a new kit after another works properly. (muldjord)
Released April 27th 2014
- Editor changes:
- Add stroke power attribute to drumkit xml format. (suhr)
- Realtime update of waveform view when dragging fadeout slider. (deva)
- Export energy levels to .xml file. (deva)
- Clicking hit circles in velocity view selects corresponding in waveform view. (deva)
- After selecting a hit by clicking a circle, allow direct deletion using "delete" kbd key. (deva)
- Make hits in velocity view dragable. (deva)
- Marked selection (ie. its values) is shown as lineedits in "edit" tab, changable by-value. (deva)
- Enable multichannel export both for .wav and for .xml. (deva)
- Turn volume slider into actual mixer fader instead of sample multiplier. (suhr)
- Create filebrowser for selecting export path. (suhr)
- Create main config file for saving and loading current values. (suhr)
- Make player use fadein/out while playing (controllable through checkbox somewhere?) (deva)
- Make engine use version number in order to select velocity algorithms and remove --with-experimental configure parameter. (deva)
- Use Atom lv2 midi events. (suhr)
- Make jack backend work on all buffer sizes. (deva)
Released March 5th 2014
- Add multichannel sample support. (John Hammen)
- Write README, ChangeLog and AUTHORS files. (deva)
- Delete old partially broken unit test system. (deva)
- Fix double click on toggle button to not leave the button in its middle state. (deva)
- Make plugin gui window fixed in size. (deva)
- Fix lineedit mouseclick to the right of the text, which should position text cursor to the right of the text. (unassigned)
- Handle sse optimisation toggling in configure.in. (suhr)
- Fix memory leak in Image class (png structure currently not free'd). (deva)
- Improve FileBrowser functionality. (suhr)
- If filename lineedit is empty and the other one is not, use the non/empty lineedit path initially when opening filebrowser. (deva)
- Make it possible to type a path and have the browser switch accordingly. (suhr)
- Sort list by directories first and files next. (suhr)
- Filter out non-drumkit files. (suhr)
- Identify folders by appending '/' to their names. (suhr)
- Remove double '\\' after drive letter in filebrowser on Windows. (suhr)
- Test new filebrowser on Windows. (suhr)
- Handle directory that can not be opened. (suhr)
- Scrollbar is drawed wrong when few elements in list. (deva)
- Refactor GUI::EventHandler. (deva)
- Make Carla store plugin setting. (deva)
- Make it work in QTractor. (deva)
- Add jackaudio output module. (deva)
- Support multiple samplerates by resampling at load-time (feature request from Cédric 'SxDx'). (deva)
- Modernise autoconf. (deva)
- Add new unit test system. (deva)
- Find and fix LV2 midi velocities magically disappearing. (suhr) We can't reproduce this. Please contact us if you have this problem.
Released on May 7th 2013, ie. LAC 2013 version
- Make filebrowser use strings instead of chdir. (suhr)
- Set "Creator" in the LV2 config. (deva)
- Prevent mouse button up events from propagating after a double click if the window if closed. (deva)
- libpng error handling (especially ubuntu libpng version mismatch vs. ardour, 12.49 vs. 1.6). (deva)
- Optimise GUI rendering so that it doesn't feel sluggish to work with. (deva)
- Fix bug, where the plugin starts using 100% cpu even with no notes playing. (deva)
- Make midifile load send load status to GUI. (deva)
- Make DrumKitLoader stop loading on plugin deletion and if a new drumkit is being loaded. (deva)
- Make listview scrollbar knob work. (deva)
- Make "give me all parameter value" message with engine respons for GUI initialisation. (deva)
- Make humaniser parameters value set/get work using messages. (deva)
- Create GUI::ProgressBar class for use in load feedback. (deva)
- Implement engine -> GUI signaling mechanism (for load status, etc). (deva)
- Implement GUI -> engine signaling mechanism (reload drumkit, read parameter, etc). (deva)
- Make layout engine classes (Painter::Box/Painter::Bar). (deva)
- Refactor GUI::Font. (deva)
- Design and render as png-pixmaps new fonts. (muldjord)
- Design new layout widgets. (muldjord)
* On/off switch
* Item view with scrollbars
- Implement new layout as a new layout engine. (deva)
- Create PNG loader. (deva)
- Make GUI::Image class able to use libpng 1.2. (nemo)
- Create RC handler (embed PNG images and fonts directly in the binary). (deva)
- Make 'instrument group' feature that can stop an open hihat, when a closed hihat is played. (deva)
- Check for x11 lib and headers in configure. (deva)
Version 0.9.2 and older (prehistoric)
Released on March 25th 2013.
- Make autotools project.
- Make event interface.
- Make midi-node -> sample mapping.
- Make drumkit xml file format spec.
- Make xml reader/parser.
- Make alternative audio backends work
* ALSA (output)
* ALSA Midi (input)
* Jack (output)
* JackMidi (input)
* SndFile (output)
* Midifile (input)
- Make Win32 port.
- Make plugin-able
- Make basic drumkit editor.