Drumgizmo Roadmap

Version ending with an even number are stability/bugfix releases (except 0). Versions ending with an odd number are feature releases that are potentially unstable.

Version 0.9.13

Feature release: Diskstreaming

  • Fix rcgen compilation with BSD make (which is not GNU make). (deva)
  • Make ui and engine compile as internal libs instead of compiling all sources in each component. (deva)
  • Implement settings for controlling diskstreaming: settings analysis. (deva, chaot)
  • Design new UI (with tabs like this) to incorporate diskstreaming controls. (muldjord)
    • “Experimental” sign around the controls in the UI.
  • Make changes to UI to incorporate diskstreaming controls. (chaot)
    • Generate resources at compile-time and remove resources_data.cc from the repo. (deva)
    • Make window resize flicker-free on X11. (deva)
    • Fix missing redraw on resize event on X11. (chaot)
    • Use XShmImage for rendering on X11. (deva)
    • Refactor Event system on X11 and Win32. (deva)
    • Support size and position changes in the same event on X11. (deva)
    • New rendering system based on dirty flag. (deva)
    • Add “partial rendering” support in rendering system. (deva)
  • Make diskstreaming controls work in the engine. (deva)
    • Make preliminary test ui. (deva)
    • Make DrumKitLoader use disk streaming settings. (deva)
    • Fix crash or channel overload on stop/start command or loop due to invalid pointer returned to the engine from the diskstreamer. (deva)
    • Make AudioCache use fixed size chunks. (deva)
      • Make sure we detect changes in chunksize and reset the audiocache internals when it happens. (deva)
    • Store memory limit and chunk size in config as ints instead of floats.(deva)
  • Make cli support for disk cache control. (meka)
    • Change onsite info for cli. (meka)
  • Fix the dgreftest for aasimonster2. (The error comes from the normal distribution!) (chaot)

Version 0.9.14

Bugfix release

  • 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.
  • Make lv2 unittest run without needing “make install”. (unassigned)
  • Make -i midifile -I midimap=~/… recognize the home directory. Replace “~” by the home directory in ./drumgizmo/input/midifile.cc. See this article. (unassigned)

Version 0.9.15

  • Evaluate the benefits of “chunk interleaving” in the kit wav files instead of channel interleaving as we use today (make speed comparison tests). (unassigned)
  • Make our own wav header parser for the MemChecker kit size calculation. (unassigned)
  • Add dependency check for rcgen so resource_data.cc is regenerated whenever one of the resource png files change. (unassigned)
  • Add connect methods to Listener base class instead of the current C macro. (unassigned)
  • Add LV2 port-group support to be able to name the outputs according to the drumkit channel names. (unassigned)
  • Add midnam LV2 support to plugin based on the names from the instrument files. (unassigned)
  • Refactoring on PowerList (midifile-refactor branch) (cglocke)
  • Make midimap load only happen through setting settings.midimap_file in MidifileInputEngine.
  • Create new Engine class and move all audio-inner-loop code there to better indicate where we can use blocking calls/locks and where we can't. (deva)
  • Make unit tests run on OSX.
  • Don't put .a and .la files in lv2 folder on install. (unassigned)
  • Energy curvature cli implementation. (unassigned)
  • Infinite loop bug. (unassigned)
  • Make reference drumit with one drum (snare) with full feature set.
  • Upgrade windows compiler to support std::thread and friends.
  • Metadata
    • Review XML structure XML format wiki page (muldjord)
    • Make preliminary GUI drafts on how to implement the metadata into the interface (muldjord)
    • Create new drumkit parser. (suhr)
    • Create new instrument parser. (suhr)
    • Improve error message if instrument file doesn't exist. (suhr)
    • Make unit tests for the drumkit/instrument parsers. (suhr)
  • Use common bin-version for plugins (VST: setUniqueID() and LV2: ttl:microVersion and ttl:minorVersion)
  • Remove remaining 44k1Hz references in the code. (unassigned)
  • Make event fetch calls supply the buffer instead of the being allcoated. (unassigned)
  • Fix remaining coverage errors. (unassigned)
  • Add UI part of the memory checker. (chaot4)
  • Fix more problems reported by valgrind. (chaot4)
  • Add UI components to enable/disable diskstreaming. (unassigned)
  • Remove instrument name from instrument files, since it is used by the drumkit to map through midimap. (unassigned)
  • cli client tasks:
    • Add hugin filters to command line tool. (deva)
    • BUG: Make midi file reader playback speed use actual samplerate. (unassigned)
    • Make drumkit load feedback in cli client. Already present, but should be a percentage counter, not just dots. (suhr)
    • Make rendering progress in cli client when rendering midi file to wav. (suhr)
    • Make player position output in cli client (what does this mean? - Muldjord) (suhr)
    • Make it possible to set engine configuration parameters (humanizer, etc…) in cli client. (unassigned)
  • Create new parser for drumkit xml to include metadata. Keep old parser to support old format. (muldjord)
    • image
    • license
    • Remove metadata properties from classes.
    • Remove else parts in end tag on metadata tags.
    • Make sure DrumKit.clear() also clears metadata.
    • Move metadata struct from parser to DrumKit.
  • Add drumkit metadata in the GUI (image, name, description, license, creator, etc). (suhr / muldjord)
  • Add UI switch to enable/disable resampling at runtime:
    • Add message to the engine. (suhr)
    • Design and add toggle button in UI. (muldjord/suhr)
  • Make humanized timing feature:(deva)
    • Add humanized timing feature to DrumGizmo engine. (deva)
    • Add latency reporting to LV2 frontend. (deva)
    • Add latency reporting to VSTi frontend. (deva)
    • Add UI controls. (muldjord/deva)
  • Report latency from resampling. (deva)
  • Fix weird visual noise when scrolling in the file browser. (unassigned)

Other tasks:

  • Make cli HowTo. (muldjord)
  • Discuss the option of dynamically loading fewer velocity layers as an extra feature to reach a smaller memory footprint when loading a kit (suggested by user “magda”, ask muldjord for more info). (unassigned)
  • Fix autogen.sh heap of warnings from pluginui files being in another folder. (unassigned)
  • Add microtuning as an instrument parameter - irc chat about the topic. (unassigned)
  • Somehow make runtime detection for sse optimizations. (unassigned)
  • Lock memory to prevent page faults: POSIX: mlock()/munlock(), Windows: VirtualLock()/VirtualUnlock()
  • Make “alternatives” feature that makes it possible to swap (ie. use the same midi notes) for example a snaredrum without reloading the entire drumkit. (unassigned)
  • Make hihat openness matrix control port. Look up samples in a two dimensional array rather than a one dimensional depending on velocity and openness instead of just velocity. This could also be used for “off-axis” on a snare or similar and could potentially be use with more-than-2 dimensions.
  • Run sord_validate as part of unit test. (unassigned)
  • Add version to config xml. (unassigned)
  • Parse beginning of xml files in order to determine if they are a drumkit. Hide if not. (suhr)
  • <unclechu> i can't build drumgizmo. configure exit with this error: ./configure: line 15605: syntax error near unexpected token `1.9.6' ./configure: line 15605: ` AM_PATH_CPPUNIT(1.9.6)'- libccpunit installed with version: 1.12.0 (deva)
  • OS X support features:
    • Make build server run on OS X VM. (suhr/deva)
    • Make drumgizmo command line interface compile on OS X. (suhr/deva)
  • When loading two instances of DrumGizmo in Ardour, they seem to recieve each others control messages (this is not confirmed, only a hunch of why acts this way), making them “do the same thing” even though you only make changes to one of them. (deva)
  • Add PUGL GUI backend. (Hvad/hvordan? En stor opgave, udskyd) (suhr)
  • Add list of previously selected drumkits. (Fjern, se ovenfor)(suhr)
  • Think gui-configuration window (Udskyd)
    • Initial state of the plugin should be configurable through some kind og global configuration. (muldjord,suhr,deva)
    • When first loading a kit, the initial path should be a “drum kit path”.
    • Initial settings for humanizer and relating values should be configurable.
    • Store history of drumkits.
  • Check up on why Ardour seems to make DG run the parser code twice upon project reload. Ask in the IRC channel.
  • Wayland UI support
  • Add ALSA MIDI support

Unspecified future release

  • Present downloadable drumkits to the user through the UI. (unassigned)
  • Make full utf-8 support in the font renderer (using freetype?) (unassigned)
  • Resampling on channel output to match system. (in 'resample' branch)(deva)
    • limits.h:
      • One header file with MAX_CHANNELS instead of many defines in many files…
      • Resample Output buffer size (4096 in drumgizmo.h)
      • Merge resampler main loop with “normal” main loop.
  • OS X support features:
  • Fix “missing hits” bug: http://drumgizmo.org/irc-logs/drumgizmo.log.03Aug2014 - probably the localisation bug reported by chaot4 (deva/muldjord)
  • mlock() sample memory. (deva)
  • Further optimise GUI rendering. (deva)
  • 'git:/ /' support for annonymous pull. (unassigned)
  • Add UTF-8 support in filebrowser. (unassigned)
  • Indicate in GUI if a drumkit will invoke resampling on load. (unassigned)
  • Make resample feature optional in the configure script. (unassigned)
  • Add keyboard shortcuts to filebrowser (Escape → filebrowser, tab → jump to next element) (unassigned)
  • Merge features from edrummer feature list into “Unspecified future release” taskllist. (iliverez)
  • ENGINE: When recieving midi input, make it possible to restrict it to a certain midi channel (0-16?). As reported by “swbeeton” on irc on 22may2014. Ardour can output to only one midi channel so it is possible to have both a keyboard and an electronic drumkit connected on the same midi interface. But since DrumGizmo recieves input on all channels, it also reacts to the midi keyboard input.
  • ENGINE: When choosing next randomized hit, make sure that the stretch for finding the next hit doesn't stretch further than expected. That is to say, if an instrument only has three hits in it, one low, one mid, and one high. Then playing several hits at mid velocity should NEVER play either the low of high hits, even though we loose randomization. In other words: If we don't find a hit within close proximity of the current, just keep playing the current one.
  • Make loading a drumkit after another one was loaded work in windows. (deva)
  • ListBox: Double click outsite element triggers selection of a marked element (unassigned)
  • Add “alternatives” section to the fileformat so that the user can choose between several snare drums for example, high picthed and low pitched, but with only one loaded at a time. (unassigned)
  • The possibility to adjust bleed individually between the different channels. (unassigned)
  • Embed VST GUI in host. (unassigned)
  • Embed LV2 GUI in host. (unassigned)
  • Look at Aubio for beat onset detection. (unassigned)
  • Make engine parameters controllable through native LV2 and VST handles (auto generated GUIs) thereby enabling automation. (unassigned)
  • Add bypass button in the GUI reflected in the DAW lv2. It should disable the engine entirely not just mute the outputs. (unassigned)
  • Refactor GUI::Widget callback method. (unassigned)
  • Refactor GUI::Widget API - make sure we use the same naming conventions everywhere. (unassigned)
  • Split up GUI engine code and plugin GUI implementation. (unassigned)
  • Make “mixer” interface in the GUI for controlling bleed and channel routing of the instruments. (unassigned)
  • Make support for SFZ (archive.org) (original, broken link) format, either directly or as a converter (look at calfbox). (suhr)
  • DXi support DXi. (unassigned)
  • Partial loading of drum kit and caching strategies
  • Make the note / drum names appear on the piano roll in the host. Use the midimap.xml to provide the information (use midnam files? https://github.com/Ardour/ardour/tree/master/patchfiles/ stored in ~/.config/ardour3/patchfiles/, Note: $XDG_CONFIG_HOME == .config). (unassigned)
  • Change drumkit/midimap via MIDI messages (see this log)

Right/left hand distinguation

This features aims at making the engine decide when to make alternate right/left hand samples instead of right hand-only samples.

Sample generation

Samples must be recorded with alternating right and left hand strokes on each drum, staring with the right hand. Each right/left hand stroke pair must be of equal velocity making it possible for the sample cutter to pair them without further analysis. The calculated attack strength of the sample pair can be calculated using either the right or left hand alone for the pair or doing an average of the two. The sample pairings are stored in the dataset for the engine to use.


The engine can choose between either single hand strokes (right hand only) and multihand samples (alternating right and left) based on the speed in which the strokes are happening. This will make it possible to force a snare fill to be played using right/left hand because the speed of the fill is about double the rate of the single hand strokes.

Example: Blast beat in 240bpm (16th notes) results in 960bpm snare notes. Then a snare fill will be utilising double that speed resulting in 1920bpms. This 'jump' in speed is easily detectable by the engine (and the speed threshold is user configurable). When in dual-hand mode the sampleselection algorithm works as usual (based on randomness) but in multihand mode it will alternate between the right and left hand samples.

Ultimately this feature will result in less 'machinegun' snare during fills.

The feature could be combined with the velocity level and make it possible to switch to eg. gravity blast mode.

Furthermore the need for multiple note values for the right and left kick drums will disappear since the right kick can be used in the slower parts and alternating right and left can be used in faster parts.

Completed Features/Roadmap

Version 0.9.12

January 18th 2017
Bugfix release

  • Fix semaphore EINT assertion in MusE (deva).
  • Fix atomic link check - always link with atomic (deva).
  • Draw boxes instead of nothing when trying to render characters not in the font map. (Muldjord).
  • Extend character map to include full latin1 character set. (Muldjord).
  • Fix FreeBSD issues: (meka/deva/chaot).
    • Fix unit tests:
      • test_lv2.test1 (deva)
      • MemCheckerTest.small_drumkit (deva)
      • MemCheckerTest.check_free_ram (deva)
      • SemaphoreTest.timeoutTest (NOTE: Threshold simply increased in test due to worse timeout precision on FreeBSD!)
      • RandomTest.rangeTest (chaot)
    • Fix –with-debug (-Wl,-undefined,error not supported with clang) (deva)
  • BUG: Windows VST sometimes renders a very large value which makes Reaper mute the channel (reported by napcode) - related to: http://tracker.ardour.org/view.php?id=7026
  • Algorithmically generate the test .wav files to be able to run the tests also with the tarball (chaot).
  • Fix missing “mouse-up” events when runnnig lv2 plugin on linux in a JUCE based host (Helio or Tracktion) (chaot).
  • Add missing ttl as per: https://github.com/falkTX/Carla/issues/412 (deva)
  • Add –lv2dir parameter to configure (See http://lv2plug.in/pages/filesystem-hierarchy-standard.html) (deva)

Version 0.9.11

October 29th 2016 Engine refactoring release.

  • Fix VST gui crash when mouse pointer enters DG window. (deva)
  • Add inline plugin display for LV2 (Ardour only for now) (deva)
  • Fix crash when browsing folders with unicode folder/file names. - thanks to Maxim Alexandrovich (Ljutingr) for finding and debugging it.(deva)
  • XML Parser refactoring. (chaot4)
  • Settings refactoring (including ui↔engine communication) (deva, cglocke)
  • Fix problems when running more than one instance of DrumGizmo plugin in the same host (deva)
  • Re-enable cli test input module. (suhr)
  • Engine const ref refactoring. (cglocke)
  • Suppress subdir-objects autotools warning. (deva)
  • Move loader code to DrumKitLoader thread. (deva)
  • Correctly report vendor in VST plugin. (chaot4)
  • Add LFS support (reported by viccuad). (deva)
  • Add texture atlas support. (deva)
  • Move all configuration code out of DrumGizmo class into its own class. Refactor API accordingly. (chaot4)
  • Use lodepng from git submodule instead of directly embedding the source in the DG tree. (chaot4)
  • Separate audio rendering code from input filtering/event generation. (chaot4)
  • Clear samplebuffer even if no kit has been loaded (reported by rgareus). (deva)
  • Make sure we support latencies > 0 in all output engines. (deva)
  • Make sure we support running in free-wheel mode in all input/output engines. (chaot4)
  • Make sure we abide the samplerate in all input/output engines. (deva)
  • Check if -lrt and -latomic is needed before adding them to LDADD (deva)
  • Preliminary OSX support:
    • Set up build system for OSX (suhr, deva)
    • Implement memcheck for OSX. (chaot4)
    • Implement semaphore timed wait for OSX. (deva)

Version 0.9.10

March 30th 2016

  • Fix the 'no sound from plugin when resampler active' bug. (deva)
  • Fix the 'freeze on tempo change' bug. (deva)
  • Backspace deleting characters in lineedit (filedialog) doesn't erase characters graphically. (suhr)
  • Add GPG signatures of the release packages - both binaries and tar-balls (reported by viccuad). (deva)

Version 0.9.9

March 24th 2016

  • Switch to LGPLv3 (chaot)
  • Remove unused libraries (see unused lib report from Víctor Cuadrado Juan (viccuad) )
  • Headers are currently a mix and gpl2 and gpl3. Should be fixed.
  • UI refactor
    • Move textedit widget to refactor branch. (deva)
    • Move autolayout to refactor branch. (deva)
    • Use new notifier and refactor to new code guidelines: (deva + suhr)
      • LineEdit fixes: (deva)
        • Follow marker. (deva)
        • Scroll with long line and cursor in beginning of line. (deva)
    • Update Linux build agents so they support C++11 (deva)
  • Refactor CLI
    • Rewrite all modules to be compiled directly into the binary. (glocke)
    • Modernise all cli files. (glocke)
  • Add diskstreaming feature with infinite buffer size:
    • Test on windows. (muldjord)
    • Make sure on-the-fly framesize change is working. (deva)
    • Set pre-cache size to “infinite”. (deva)
    • Make std::mutex work with mingw. (deva)
    • Make unit tests:
      • AudioCacheIDManager (deva)
      • AudioCacheFile (deva)
      • AudioCacheEventHandler (deva)
      • AudioCache (deva)
    • Design and implement AudioCache. (suhr)
    • Use AudioCache in inner-loop. (deva)
    • Get framesize dynamically from output engine. (deva)
    • Handle snd files with refcounter. (deva)
    • Collapse events from same file and position into single multichannel event. (deva)
    • Make sure free-wheel-mode works in jack, lv2 and vst. (deva)
  • Add referenced drumkit/midi files feature. (deva)
  • Remove version number from man page. (muldjord)
  • Make benchmark performance comparisons with the “old” engine. (chaot4)
  • Add a valgrind test script. (chaot4)
  • Fix some problems reported by valgrind. (chaot4)
  • Add memory check to warn the user if the drumkit about to be loaded cannot fit into memory. (chaot)
  • LV2/VST: Make UI event handling based on idle/run calls from the plugin host instead of in a thread. (deva)
  • Port “The Aasimonster” to new velocity format. (chaot)


Hotfix release

  • Fix nasty resampling buffer offset bug (deva)

Version 0.9.8

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)

Version 0.9.7

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)
  • Rember 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

Version 0.9.6

September 9th 2014

  • Editor in 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)
  • Editor:
    • Fix player gain reporter. (suhr)
  • GUI:
    • Use LodePng for gfx. (deva)

Version 0.9.5 (LAC2014 version)

Feature release
Released April 27th 2014.

  • Add stroke power attribute to drumkit xml format. (suhr)
  • Editor rewamp editor_rewamp. (muldjord,suhr,deva)
    • Implement presets for slider and lineedit values. (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)

Version 0.9.4

Bugfix release
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)
  • 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.

Version 0.9.3

Released 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 superclass.(Painter::Box/Painter::Bar) (deva)
  • Refactor GUI::Font. (deva)
  • Design and render as png-pixmaps new fonts. (muldjord)
  • Design new layout widgets. (muldjord)
    • Pushbutton
    • Knob
    • On/off switch
    • Lineedit
    • Combobox
    • 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)

Old stuff

roadmap/features_roadmap.txt · Last modified: 2017/03/29 09:40 by deva
Trace: features_roadmap
GNU Free Documentation License 1.3
Valid CSS Driven by DokuWiki Recent changes RSS feed Valid XHTML 1.0