Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revisionPrevious revision
Next revision
Previous revision
roadmap:features_roadmap [2019/05/08 22:07] – [Version 0.9.17] devaroadmap:features_roadmap [2023/08/15 20:32] (current) – [Version 0.9.x] deva
Line 2: Line 2:
 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 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.17=====+=====Version 0.9.21=====
 //Feature release//\\ //Feature release//\\
-Targeted for release medio April 2019+Not yet a target release date
-  * {{:check.png}} <del>Add directed choke featureDesign: [[directed choke]]</del> //(deva)//+  * {{:uncheck.png}} Output clicky-kit messages as [[https://linuxmusicians.com/viewtopic.php?f=55&t=24652|midi notes]]. 
 +  * {{:uncheck.png}} Compile for [[dev:macos_m1|macOS M1]] (arm). //(deva)// 
 +  * {{:uncheck.png}} Compile without GUI [[https://linuxmusicians.com/viewtopic.php?f=57&t=24306&sid=6e61eb8798daa98f8564c169e65cbce6|with configure argument]]. //(deva)// 
 +  * {{:incheck.png}} Add CC to NoteOn conversion, controlled through midimap file//(dingodoppelt)// 
 +  * {{:incheck.png}} Hit position support: [[https://linuxmusicians.com/viewtopic.php?f=57&t=22557|see forum post by corrados]] //(deva/chaot4)// 
 +  * {{:incheck.png}} Make support for the [[https://linuxmusicians.com/viewtopic.php?f=24&t=16854&sid=9cdd01d1d20e30185539a43a2048b29a|GPLed VST3]] //(deva)// 
 +  * {{:uncheck.png}} Add [[https://github.com/RyoKosaka/HelloDrum-arduino-Library/blob/master/docs/sensing.md|curve-presets]] as strings to cli. //(chaot4)// 
 +  * {{:uncheck.png}} Make hihat-pedal openness control. //(corrados)// 
 +  * {{:uncheck.png}} Add support hiDPI displays on [[https://linuxmusicians.com/viewtopic.php?f=55&t=24264&p=142412#p142412|non-mac platforms]] 
 +  * {{:uncheck.png}} Add [[https://cleveraudio.org/|CLAP]] support.
  
-  * {{:incheck.png}} Add new improved sample selection algorithm - [[https://www.drumgizmo.org/irc-logs/drumgizmo.log.2018_08_20|irc]] //(chaot4)// +  * {{:incheck.png}} Update drumkits to newest features
-  * {{:incheck.png}} Write documentation on the new [[documentation:file_formats|XML format]]. //(deva)// +    * {{:incheck.png}} DRSKit //(deva)// 
- +    * {{:incheck.png}} CrocellKit //(Eamonn)// 
-  * Metadata: +    * {{:uncheck.png}} MuldjordKit //(muldjord)// 
-    * {{:check.png}} <del>Review XML structure [[http://www.drumgizmo.org/wiki/doku.php?id=documentation:file_formats#and_later_currently_unreleased|XML format wiki page]]</del> //(deva/muldjord)// +    * {{:uncheck.png}} Aasimonster //(unassigned)// 
-    * {{:check.png}} <del>Create new drumkit parser.</del> //(suhr/deva)// +    * {{:uncheck.png}} ShittyKit //(unassigned)//
-    * {{:check.png}} <del>Create new instrument parser.</del> //(suhr/deva)// +
-    * {{:check.png}} <del>Get rid of eXpat dependency. Use PugiXML instead.</del> //(suhr/deva)// +
-    * {{:check.png}} <del>Make unit tests for the drumkit/instrument parsers.</del> //(suhr/deva)// +
- +
-  * Plugins: +
-    * {{:check.png}} <del>Make clicky-kit functionality.</del> //(chaot4)// +
-      * {{:uncheck.png}} Stretch drumkit image. //(chaot4)// +
-    * {{:check.png}} <del>Add [[http://lists.lv2plug.in/pipermail/devel-lv2plug.in/2016-November/001696.html|midnam LV2 support]] to plugin based on the names from the instrument files.</del> //(rgareus/deva)// +
-    * {{:check.png}} <del>Fix out of bounds drawing of frame</del> //(chaot4)// +
-    * {{:check.png}} <del>Add 'set as default' path button in file browser.</del> //(deva)// +
-    * {{:check.png}} <del>Add midi [[https://www.drumgizmo.org/irc-logs/drumgizmo.log.2019_04_01|aftertouch choke events]].</del> //(deva)// +
-    * {{:incheck.png}} Add tool-tips to frames. //(deva)// +
- +
-  * CLI: +
-    * {{:check.png}} <del>Add support midi aftertouch chokes for all midi input engines (midifile, jackmidi and ossmidi).</del> //(deva)// +
- +
-  * Other: +
-    * {{:check.png}} <del>Add version to config xml.</del> //(deva)// +
-    * {{:check.png}} <del>Add md5 hashes to drumkit downloads.</del> //(deva)// +
-    * {{:check.png}} <del>Generate lv2 manifest/ttl from the code contents of the plugingizmo implmentation.</del> //(deva)// +
-    * {{:uncheck.png}} Make channel-count controllable through configure. //(unsassigned)//+
  
   * BUGS:   * BUGS:
-    * {{:check.png}} <del>Fix potential division by zero in rampdown.</del> //(deva)// +    * {{:check.png}} <del>Investigate/fix weird [[https://www.drumgizmo.org/irc-logs/drumgizmo.log.2023_01_02|choking behaviour with the timing humanizaer enabled]].</del> //(deva)// 
-    * {{:check.png}} <del>Fix broken disk stream size limit in plugin config.</del> //(deva)// +    * {{:check.png}} <del>Don't clear midi events after jack processing - see [[http://git.drumgizmo.org/drumgizmo.git/tree/drumgizmo/input/jackmidi.cc?h=develop#n125|jackmidi.cc:125]]</del> //(corrados)// 
-    * {{:check.png}} <del>Fix config file parsing with empty values.</del> //(deva)// +    * {{:uncheck.png}} Make sure to make blocking AudioFile reads when [[https://linuxmusicians.com/viewtopic.php?p=150601#p150601|rendering]] - see [[http://git.drumgizmo.org/drumgizmo.git/tree/src/drumgizmo.cc?h=develop#n364|drumgizmo.cc:364]]. //(deva)// 
-    * {{:check.png}} <del>Fix creation of config dir if it doesn't exist when config file is about to be written</del> //(deva)// +    * {{:uncheck.png}} Investigate/fix weird [[https://linuxmusicians.com/viewtopic.php?f=56&t=24318|midi echo]] issue. 
- +    * {{:uncheck.png}} Investigate/fix weird [[https://www.drumgizmo.org/irc-logs/drumgizmo.log.2022_05_11|"same velocity"]] issue. 
-=====Version 0.9.18=====+    * {{:uncheck.png}} Fix assert/crash bug in [[https://www.drumgizmo.org/irc-logs/drumgizmo.log.2022_06_06|spline calculation]] 
 +    * {{:uncheck.png}} Fix "silence" issue when running with [[https://www.drumgizmo.org/irc-logs/drumgizmo.log.2022_06_04|weird samplerate]]. 
 +    * {{:uncheck.png}} Re-visit the way midi file tempo [[https://www.drumgizmo.org/irc-logs/drumgizmo.log.2022_05_25|is handled]] on the command-line. 
 +    * {{:uncheck.png}} Fix [[https://linuxmusicians.com/viewtopic.php?f=57&t=22546|hanging issue]]. //(deva)// 
 +    * {{:uncheck.png}} Fix embedded UI vertical offset in Studio One on macOS. //(veticus/deva)// 
 +    * {{:uncheck.png}} Fix broken keyboard input in Studio One on macOS. //(veticus/deva)// 
 +    * {{:uncheck.png}} Fix pixel offset when using the mouse in the UI (especially visible in Ardour). //(deva)// 
 +    * {{:uncheck.png}} Fix crashes and weird rendering issues with [[dev:suil-center|>=suil-0.8.3]]. //(deva)// 
 +    * {{:uncheck.png}} FileBrowser being non-interactive in Reaper on Win10. (See [[https://www.drumgizmo.org/irc-logs/drumgizmo.log.2019_10_08|IRC]]) //(unassigned)// 
 +    * {{:uncheck.png}} FileBrowser showing just a white surface in Reaper on Win10. (See [[https://www.drumgizmo.org/irc-logs/drumgizmo.log.2019_10_09|IRC]] at 20:07:51) //(unassigned)// 
 +    * {{:uncheck.png}} Directed chokes not working with voice limit set very low [[https://www.drumgizmo.org/irc-logs/drumgizmo.log.2022_04_19|IRC]] //(unassigned)// 
 +=====Version 0.9.x=====
 //Bugfix release//\\ //Bugfix release//\\
 Not yet a target release date. Not yet a target release date.
-  * BUGS: 
-    * {{:uncheck.png}} Fix assert(events.empty()) in jackmidi.cc line 97. //(meka)// 
-    * {{:uncheck.png}} Disable timing humanizer in the UI if not supported by the host (LV2). //(unassigned)// 
-    * {{:uncheck.png}} Fix GUI not showing in Reaper under Windows on first opening it. //(chaot4)// 
-    * {{:uncheck.png}} Fix crash when Browse window is open and plugin window is closed (see IRC log 6.8.18). //(chaot4)// 
-    * {{:uncheck.png}} Check for real time hazards in the inner loop using [[https://github.com/fundamental/stoat|stoat]]. //(unassigned)// 
-      * {{:uncheck.png}} //Placeholder//: Fix found real time hazards. 
-    * {{:uncheck.png}} Fix crashes and weird rendering issues with [[dev:suil-center|>=suil-0.8.3]]. //(unassigned)// 
-    * {{:uncheck.png}} Fix trebmuh's bug (resize bug). (see IRC log of 0.9.14 release date around 22:00) //(unassigned)// 
-    * {{:uncheck.png}} Flashing loadbar: https://linuxmusicians.com/viewtopic.php?f=56&t=19219 
-    * {{:uncheck.png}} Add escaping of special characters in values (and keys?) in ConfigFile parser. 
-    * {{:uncheck.png}} Fix [[https://linuxmusicians.com/viewtopic.php?f=57&t=19991|potential mutex race]]. 
  
-=====Version 0.9.19===== +  * {{:incheck.png}} Validate normalized sample gain correctionShould be similar to [[https://sfzformat.com/opcodes/amp_veltrack|sfz/linuxsampler]]. //(deva)// 
-//Feature release//\\ +  * {{:uncheck.png}} Make proposal for multi-core processing. //(deva)// 
-Not yet a target release date.+  * {{:uncheck.png}} Add ALSA raw MIDI support: [[https://github.com/mirkerson/c600/blob/79222510a1eaf2be76b174d28a246e99fd0de3a6/buildroot/target/dragonboard/src/lib/salsa-lib-0.0.22/src/rawmidi_macros.h|1]] [[https://www.alsa-project.org/alsa-doc/alsa-lib/rawmidi.html|2]] [[https://www.alsa-project.org/alsa-doc/alsa-lib/group___raw_midi.html#ga2ab783051deeb7eb37eb568b76448889|3]] [[https://www.alsa-project.org/alsa-doc/alsa-lib/_2test_2rawmidi_8c-example.html#a0|4]] [[https://github.com/ColtOSTemp/platform_prebuilts_gcc_linux-x86_host_x86_64-linux-glibc2.17-4.8/blob/adabaacadc8e912d7e6d48af8fa115bb10bd61f4/sysroot/usr/include/alsa/rawmidi.h|5]] //(deva)// 
 + 
 +  * {{:uncheck.png}} Add flatpack support for the build pipelines: https://github.com/juanelas/drumgizmo-flathub
   * OSX:   * OSX:
-    * {{:incheck.png}} Cocoa UI backend. //(deva)// 
-      * {{:check.png}} <del>Make rendering of pixelbuffer work.</del> //(deva)// 
-      * {{:check.png}} <del>Make mouse move and click events work.</del> //(deva)// 
-      * {{:check.png}} <del>Make window resizing work.</del> //(deva)// 
-      * {{:check.png}} <del>Implement setFixedSize.</del> //(deva)// 
-      * {{:check.png}} <del>Support keyboard input events.</del> //(deva)// 
-      * {{:check.png}} <del>Detect double click.</del> //(deva)// 
-      * {{:check.png}} <del>Support window embedding.</del> //(deva)// 
-      * {{:incheck.png}} Fix rendering of pixelbuffer on Mojave OSX. //(deva)// 
-      * {{:uncheck.png}} Fix rendering of emdedded window on Mojave OSX. //(deva)// 
-      * {{:uncheck.png}} Make partial rendering optimization work. //(deva)// 
     * {{:uncheck.png}} Create [[https://github.com/andreyvit/create-dmg|.dmgs]] for OSX deployment. //(deva)//     * {{:uncheck.png}} Create [[https://github.com/andreyvit/create-dmg|.dmgs]] for OSX deployment. //(deva)//
 +    * {{:uncheck.png}} Make OSX bundle with LV2 (See [[https://github.com/DISTRHO/DPF|DPF]] / ask falktx)
  
-  * Metadata: +  * GUI 
-    * {{:uncheck.png}} Make preliminary GUI drafts on how to implement the metadata into the interface //(muldjord)// +    * {{:uncheck.png}} Add support for high-res displays on non-OSX platforms //(unassigned)//
-    * {{:uncheck.png}} Improve error message if instrument file doesn't exist. //(suhr)// +
-    * {{:uncheck.png}} Make sure DrumKit.clear() also clears metadata. +
- +
-  * Plugins: +
-    * {{:uncheck.png}} Consider adding resampler quality knob to the UI. //(unassigned)// +
-    * {{:uncheck.png}} Design drumkit logos, and add them to the drumkits. //(muldjord)// +
-    * {{:uncheck.png}} Add drumkit logo in the inline display. //(chaot4)// +
-    * {{:uncheck.png}} Add [[http://lists.lv2plug.in/pipermail/devel-lv2plug.in/2016-November/001702.html|LV2 port-group]] support to be able to name the outputs according to the drumkit channel names. //(unassigned)// +
-    * {{:uncheck.png}} Add default midi map to drumkits which is then automatically loaded when drumkit file is loaded //(chaot4)// +
-    * {{:uncheck.png}} Add default drumkit? //(chaot4)// +
-    * {{:uncheck.png}} Add MIDI learn //(chaot4)// +
-    * {{:uncheck.png}} Add functionality to save learned MIDI map //(chaot4)// +
-    * {{:uncheck.png}} Display last played MIDI note //(chaot4)// +
-    * {{:uncheck.png}} Add pitch modifier //(chaot4)// +
-    * {{:uncheck.png}} Add per instrument fader //(chaot4)// +
-    * {{:uncheck.png}} Make file browser a more pleasant experience //(chaot4)// +
- +
-  * GUI:+
     * {{:uncheck.png}} Add support for opening links in external browser //(unassigned)//     * {{:uncheck.png}} Add support for opening links in external browser //(unassigned)//
     * {{:uncheck.png}} Add support for setting mouse cursor. //(unassigned)//     * {{:uncheck.png}} Add support for setting mouse cursor. //(unassigned)//
     * {{:uncheck.png}} Add selection by mouse and keyboard (shift+arrows) in lineedit. //(unassigned)//     * {{:uncheck.png}} Add selection by mouse and keyboard (shift+arrows) in lineedit. //(unassigned)//
     * {{:uncheck.png}} Add support for clipboard. //(unassigned)//     * {{:uncheck.png}} Add support for clipboard. //(unassigned)//
 +      * Xlib: https://github.com/edrosten/x_clipboard/
 +      * Win32: https://docs.microsoft.com/en-us/windows/win32/dataxchg/clipboard
 +      * Cocoa: https://developer.apple.com/documentation/appkit/nspasteboard
 +    * {{:incheck.png}} Stretch drumkit image. //(deva/chaot4)//
 +
 +  * UI overhaul. //(pixelwiz)//
 +  * {{:uncheck.png}} Set up torrents for drumkit downloads: [[https://www.drumgizmo.org/irc-logs/drumgizmo.log.2020_02_02|irc]]. //(unassigned)//
 +  * Plugins:
 +    * {{:uncheck.png}} Compile and release LV2 for Windows. //(unassigned)//
 +    * {{:uncheck.png}} Show played notes in clicky kit. //(chaot4)//
 +    * {{:uncheck.png}} Display last played MIDI note //(chaot4)//
 +    * {{:uncheck.png}} Add [[http://lists.lv2plug.in/pipermail/devel-lv2plug.in/2016-November/001702.html|LV2 port-group]] support to be able to name the outputs according to the drumkit channel names. //(unassigned)//
 +    * {{:uncheck.png}} Add MIDI learn feature. //(chaot4)//
 +    * {{:uncheck.png}} Add functionality to save/export learned MIDI map to midimap file. //(chaot4)//
 +    * {{:uncheck.png}} Add sample pitch modifier //(chaot4)//
 +    * {{:uncheck.png}} Add per instrument volume control. //(chaot4)//
 +
 +    * {{:uncheck.png}} Add default drumkit and midimap to UI. //(chaot4)//
 +    * {{:uncheck.png}} Make file browser a more pleasant experience (explore using native file browser on all platforms: lv2 and vst have mechanisms to ask the host for a file browser: [[http://lists.lv2plug.in/pipermail/devel-lv2plug.in/2020-February/001958.html|lv2]]).  //(chaot4)//
  
   * CLI:   * CLI:
     * {{:incheck.png}} Add CoreAudio output support. //(deva)//     * {{:incheck.png}} Add CoreAudio output support. //(deva)//
     * {{:uncheck.png}} Add CoreAudio midi input support. //(unassigned)//     * {{:uncheck.png}} Add CoreAudio midi input support. //(unassigned)//
-    * {{:uncheck.png}} NSM support (http://openavproductions.com/articles/nsm/ / http://www.linuxmusicians.com/viewtopic.php?f=19&t=7986). //(unassigned)//+    * {{:uncheck.png}} NSM support (https://linuxaudio.github.io/new-session-manager/api/index.html). //(unassigned)//
     * {{:uncheck.png}} Pipewire support (https://pipewire.github.io/pipewire/) //(unassigned)//     * {{:uncheck.png}} Pipewire support (https://pipewire.github.io/pipewire/) //(unassigned)//
     * {{:uncheck.png}} Switch to [[http://midifile.sapp.org/|Midifile]] instead of (or also) libsmf (suggested by Chris Share - cpsmusic). //(unassigned)//     * {{:uncheck.png}} Switch to [[http://midifile.sapp.org/|Midifile]] instead of (or also) libsmf (suggested by Chris Share - cpsmusic). //(unassigned)//
 +    * {{:uncheck.png}} Per instrument voice count controls to cli. //(unassigned)//
  
   * Other:   * Other:
-    * {{:uncheck.png}} Add midi CC to control engine settings at runtime. See http://nickfever.com/music/midi-cc-list for reference. See [[https://www.drumgizmo.org/irc-logs/drumgizmo.log.2018_08_31|irc log 20:39]] //(unassigned)// 
     * {{:uncheck.png}} Create pd external. //(deva)//     * {{:uncheck.png}} Create pd external. //(deva)//
-    * {{:uncheck.png}} Parse beginning of xml files in order to determine if they are a drumkit. Hide if not. Extend drumkit parser with some function that determines if current file is of proper format (eg. for drumgizmo format root node is drumkit). //(suhr)// 
     * {{:uncheck.png}} Improve dgreftest to use xml as input including files, seed as well as config as xml like the plugins. //(unassigned)//     * {{:uncheck.png}} Improve dgreftest to use xml as input including files, seed as well as config as xml like the plugins. //(unassigned)//
       * {{:uncheck.png}} Make test suite of mid/wav/xml files exercising all kit features. //(unassigned)//       * {{:uncheck.png}} Make test suite of mid/wav/xml files exercising all kit features. //(unassigned)//
-    * {{:uncheck.png}} If you have named jack output channels in your jack drumgizmo client using jack metadata to suggest a port sorting order for e.g. QJackCtl is now possible (ask nils) 
     * {{:uncheck.png}} Add "two output channels mode" which should be super convenient for e-drum kits //(chaot4)//     * {{:uncheck.png}} Add "two output channels mode" which should be super convenient for e-drum kits //(chaot4)//
 +    * {{:uncheck.png}} Dynamically set volume modifier based on velocity: [[https://linuxmusicians.com/viewtopic.php?f=57&t=20248]]
 +    * {{:uncheck.png}} Store the range of samples used to calculate the power.
 +    * {{:uncheck.png}} Strip dead code in binaries. //(deva)//
 +    * {{:uncheck.png}} Compile with dynamic libraries removed/hidden to force static linking. //(deva)//
 +
 +
 +  * other:
 +    * {{:uncheck.png}} Add Linux VST build instructions. //(chaot4)//
 +    * {{:uncheck.png}} Add midi CC to control engine settings at runtime. See http://nickfever.com/music/midi-cc-list for reference. See [[https://www.drumgizmo.org/irc-logs/drumgizmo.log.2018_08_31|irc log 20:39]] //(unassigned)//
 +      * {{:uncheck.png}} Make midi CC event for resetting random seed. //(unassigned)//
 +    * {{:uncheck.png}} Parse beginning of xml files in order to determine if they are a drumkit. Hide if not. Extend drumkit parser with some function that determines if current file is of proper format (eg. for drumgizmo format root node is drumkit). //(suhr)//
 +    * {{:uncheck.png}} If you have named jack output channels in your jack drumgizmo client using jack metadata to suggest a port sorting order for e.g. QJackCtl is now possible (ask nils)
 +
 +  * Low priority:
 +    * {{:uncheck.png}} Disable timing humanizer in the UI if not supported by the host (LV2). //(unassigned)//
 +    * {{:uncheck.png}} Check for real time hazards in the inner loop using [[https://github.com/fundamental/stoat|stoat]]. //(unassigned)//
 +      * {{:uncheck.png}} //Placeholder//: Fix found real time hazards.
 +    * {{:uncheck.png}} Add escaping of special characters in values (and keys?) in ConfigFile parser. //(unassigned)//
 +
 +  * {{:uncheck.png}} Add (dynamic) language change feature to the UI.
 +  * Metadata:
 +    * {{:uncheck.png}} Make preliminary GUI drafts on how to implement the metadata into the interface //(muldjord)//
 +
 +    * {{:uncheck.png}} Design drumkit logos, and add them to the drumkits. //(muldjord)//
 +    * {{:uncheck.png}} Add drumkit logo in the inline display. //(chaot4)//
 +
  
 =====Backlog===== =====Backlog=====
  
 ==== Major Features ==== ==== Major Features ====
- 
-  * {{:uncheck.png}} Add "Velocity translation" module in ui for the following functionality: //(unassigned)// 
-    * Velocity curvature adjustment (up/down) 
-    * Velocity floor adjustment 
-    * Velocity ceiling adjustment 
-    * The point of all of these is to adjust any given drumkit to match the expected sound output from a midi drum loop you might have acquired elsewhere. The drumkits differ in where the hits are placed and as such an internal adjustment might be needed for the midi to sound as expected when played through any particular kit. 
   * {{:uncheck.png}} Add UI option for the cli ''-u''. //(unassigned)//   * {{:uncheck.png}} Add UI option for the cli ''-u''. //(unassigned)//
     * {{:uncheck.png}} Add "Export" and "Import" buttons and functionality to the UI. //(unassigned)//     * {{:uncheck.png}} Add "Export" and "Import" buttons and functionality to the UI. //(unassigned)//
     * {{:uncheck.png}} [placeholder] Add cli module options tabs to the UI. //(unassigned)//     * {{:uncheck.png}} [placeholder] Add cli module options tabs to the UI. //(unassigned)//
- 
-  * {{:uncheck.png}} [[dev:energy_curvature|Velocity curves]] (but with new design and in GUI and CLI) //(unassigned)// 
  
   * {{:uncheck.png}} 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)//   * {{:uncheck.png}} 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)//
Line 134: Line 130:
  
   * {{:uncheck.png}} Wayland UI support   * {{:uncheck.png}} Wayland UI support
-  * {{:uncheck.png}} Add ALSA MIDI support 
   * {{:uncheck.png}} Add Windows [[https://code.msdn.microsoft.com/windowsapps/Windows-Audio-Session-22dcab6b/sourcecode|WASAPI]] support.   * {{:uncheck.png}} Add Windows [[https://code.msdn.microsoft.com/windowsapps/Windows-Audio-Session-22dcab6b/sourcecode|WASAPI]] support.
   * {{:uncheck.png}} Add Windows DirectSound support.   * {{:uncheck.png}} Add Windows DirectSound support.
Line 140: Line 135:
   * {{:uncheck.png}} Make full utf-8 support in the font renderer (using freetype?) //(unassigned)//   * {{:uncheck.png}} Make full utf-8 support in the font renderer (using freetype?) //(unassigned)//
  
-  * {{:uncheck.png}} Make support for the [[https://linuxmusicians.com/viewtopic.php?f=24&t=16854&sid=9cdd01d1d20e30185539a43a2048b29a|GPLed VST3]] (and remove old vst2.4) 
   * {{:uncheck.png}} Make LV2 plugin compile on OS X. //(unassigned)//   * {{:uncheck.png}} Make LV2 plugin compile on OS X. //(unassigned)//
-  * {{:uncheck.png}} Make VST plugin compile on OS X. //(unassigned)// 
   * {{:uncheck.png}} Make AU plugin for OS X. //(unassigned)//   * {{:uncheck.png}} Make AU plugin for OS X. //(unassigned)//
   * {{:uncheck.png}} Make AAX plugin for OS X. //(unassigned)//   * {{:uncheck.png}} Make AAX plugin for OS X. //(unassigned)//
Line 163: Line 156:
 ==== Minor Features ==== ==== Minor Features ====
  
 +
 +  * {{:uncheck.png}} Template the Knob class so it can represent different numeric types (TheMarlboroMan)
   * {{:uncheck.png}} Add user control for the variance of the sample selection function   * {{:uncheck.png}} Add user control for the variance of the sample selection function
   * {{:uncheck.png}} Include or automatically generate midnam files for users who do not enjoy the lv2 extension which automatically changes the note names.   * {{:uncheck.png}} Include or automatically generate midnam files for users who do not enjoy the lv2 extension which automatically changes the note names.
Line 243: Line 238:
  
   * {{:uncheck.png}} Look at Aubio for beat onset detection. //(unassigned)//   * {{:uncheck.png}} Look at Aubio for beat onset detection. //(unassigned)//
-  * {{:uncheck.png}} Add bypass button in the GUI reflected in the DAW {{http://lv2plug.in/ns/ext/parameters/#bypass|lv2}}. It should disable the engine entirely not just mute the outputs. //(unassigned)//+  * {{:uncheck.png}} Add bypass button in the GUI reflected in the DAW [[http://lv2plug.in/ns/ext/parameters/#bypass|lv2]]. It should disable the engine entirely not just mute the outputs. //(unassigned)//
   * {{:uncheck.png}} Split up GUI engine code and plugin GUI implementation. //(unassigned)//   * {{:uncheck.png}} Split up GUI engine code and plugin GUI implementation. //(unassigned)//
-  * {{:uncheck.png}} Make support for [[https://web.archive.org/web/20140402144550/http://www.cakewalk.com/DevXchange/article.aspx?aid=108|SFZ (archive.org)]] (original, broken [[http://www.cakewalk.com/DevXchange/article.aspx?aid=108|link]]) format, either directly or as a converter (look at calfbox). //(suhr)//+  * {{:uncheck.png}} Make support for [[https://web.archive.org/web/20140402144550/http://www.cakewalk.com/DevXchange/article.aspx?aid=108|SFZ (archive.org)]] (original, broken [[http://www.cakewalk.com/DevXchange/article.aspx?aid=108|link]]) format, either directly or as a converter (look at calfbox). [[https://github.com/sfztools/sfizz|sfizz]] [[https://github.com/dahnielson/libsfz|libsfz]]. //(suhr)//
   * {{:uncheck.png}} Display if OSS is enabled by default based on host OS. //(meka)//   * {{:uncheck.png}} Display if OSS is enabled by default based on host OS. //(meka)//
  
 ======Completed Features/Roadmap====== ======Completed Features/Roadmap======
 +
 +=====Version 0.9.20=====
 +//Bugfix release//\\
 +Released September 8th 2022
 +
 +  * {{:check.png}} <del>Make configure fail if nls is enabled but gettext tools not found.</del> //(deva)//
 +  * {{:check.png}} <del>Make rcgen compile and work on windows again through autotools.</del> //(deva)//
 +  * {{:check.png}} <del>Run and fix unit-tests on windows.</del> //(deva)//
 +    * https://www.gnu.org/software/libtool/manual/html_node/Wrapper-executables.html
 +  * {{:check.png}} <del>Add voice-limit parameters to cli</del> //(corrados)//
 +  * {{:check.png}} <del>Add ALSA MIDI seq support</del> //(corrados)//
 +  * {{:check.png}} <del>Add support for triggering multiple instruments with [[https://linuxmusicians.com/viewtopic.php?f=57&t=22963&p=130632|one note]].</del> //(deva)//
 +  * {{:check.png}} <del>Record and measure real cymbal choke-time and use this value instead of the current 68ms.</del> //(deva)//
 +
 +  * BUGS:
 +    * {{:check.png}} <del>Fix compilation with [[https://linuxmusicians.com/viewtopic.php?f=57&t=23319&sid=c91092f23e1c04cf7e08ed0aa9a5b224|gcc-11]]</del> //(deva)//
 +    * {{:check.png}} <del>Fix cli crash when using async-load</del> //(deva/corrados)//
 +    * {{:check.png}} <del>Fix crash when loading Crocell kit in ardour (stack allocation issue) - see [[https://tracker.ardour.org/view.php?id=8650|Ardour bug report]].</del> //(deva)//
 +    * {{:check.png}} <del>Fix ALSA output [[https://linuxmusicians.com/viewtopic.php?f=57&t=22734&p=128793|frame size change]].</del> //(corrados)//
 +    * {{:check.png}} <del>Fix OSX AudioCacheFileTest unit-test.</del> (non-error: was really an out-of-disc-space error on the build-agent) //(deva)//
 +    * {{:check.png}} <del>Improve macOS rendering speed.</del> //(deva/veticus)//
 +    * {{:check.png}} <del>Fixed [[https://linuxmusicians.com/viewtopic.php?f=56&t=22596|directed-chokes regression error]].</del> //(deva)//
 +    * {{:check.png}} <del>Fix after-touch chokes regression error.</del> //(deva)//
 +    * {{:check.png}} <del>Make aftertouch choke if velocities > 0 instead of == 0 as this seem to be the vdrum vendor [[https://www.vdrums.com/forum/advanced/technical/67208-vdrums-aftertouch-messages-used-to-choke-cymbals#post809336|concensus]].</del> //(deva)//
 +    * {{:check.png}} <del>Fix [[https://linuxmusicians.com/viewtopic.php?f=57&t=22701|compilation issue]] when compiling without nls enabled.</del> //(deva)//
 +    * {{:check.png}} <del>Fix crash when pressing play while loading a drumkit. See [[https://www.drumgizmo.org/irc-logs/drumgizmo.log.2021_03_13|IRC]]</del> //(deva/chaot4)//
 +    * {{:check.png}} <del>Fix crash when loading a drum-kit that has [[https://linuxmusicians.com/viewtopic.php?p=128846#p128846|more channels]] than the engine is compiled with.</del> //(deva)//
 +    * {{:check.png}} <del>Reduce UI window height to fit on "small" displays</del> //(deva)//
 +
 +=====Version 0.9.19 (LAC 2020 version)=====
 +//Feature release//\\
 +Released November 22nd 2020.
 +
 +  * {{:check.png}} <del>Per instrument voice count controls.</del> //(TheMarlboroMan)//
 +  * {{:check.png}} <del>Translation support - embedded gettext.</del> //(deva/trebmuh)//
 +    * {{:check.png}} <del>French Translation of the plugin GUI</del> //(trebmuh)//
 +  * {{:check.png}} <del>Make sure DrumKit.clear() also clears metadata.</del> //(deva)//
 +
 +  * OSX:
 +    * {{:check.png}} <del>Make OSX bundle with VST (See [[https://github.com/DISTRHO/DPF|DPF]] / ask falktx)</del>
 +      * See /Users/drumgizmo/jenkins/release-test
 +      * See /Users/drumgizmo/jenkins/falktxscript/drumgizmo.vst
 +    * {{:check.png}} <del>Fix rendering on HiDPI (retina) display.</del> //(deva)//
 +    * {{:check.png}} <del>Fix LV2/OSX ui corruption on resize in Ardour.</del> //(deva)//
 +    * {{:check.png}} <del>Fix VST/OSX ui mouse offset issue in Ardour.</del> //(deva)//
 +
 +  * Plugins:
 +    * {{:check.png}} <del>Add default midi map to drumkits which is then automatically loaded when drumkit file is loaded.</del> //(chaot4)//
 +    * {{:check.png}} <del>Add resampler quality knob to the UI.</del> //(deva)//
 +    * {{:check.png}} <del>Add default drumkit to config file, no UI for now.</del> //(chaot4)//
 +    * {{:check.png}} <del>Add "Velocity translation" module in ui for the following functionality:</del> //(chaot4/deva)//
 +      * Velocity curvature adjustment (up/down)
 +      * Velocity floor adjustment
 +      * Velocity ceiling adjustment
 +      * The point of all of these is to adjust any given drumkit to match the expected sound output from a midi drum loop you might have acquired elsewhere. The drumkits differ in where the hits are placed and as such an internal adjustment might be needed for the midi to sound as expected when played through any particular kit.
 +    * {{:check.png}} <del>[[dev:energy_curvature|Velocity curves]] (but with new design and in GUI and CLI)</del> //(chaot4)//
 +
 +  * GUI:
 +    * {{:check.png}} <del>Vastly improve rendering speed.</del> //(deva)//
 +    * {{:check.png}} <del>Fix click-map alignment on top of kit image when window is smaller than the image.</del> //(deva)//
 +
 +  * Other:
 +    * {{:check.png}} <del>Add DGValidator support for clickmaps.</del> //(deva)//
 +    * {{:check.png}} <del>Refactor configfile.cc/h</del> //(chaot4)//
 +    * {{:check.png}} <del>Change config directory on Windows from .drumgizmo to DrumGizmo</del> //(chaot4)//
 +    * {{:check.png}} <del>Compile zita-resampler as a submodule</del> //(deva)//
 +    * {{:check.png}} <del>VST Makefile, add -Wno-c++11-narrowing</del> //(deva)//
 +    * {{:check.png}} <del>Add missing nativewindow_cocoa.mm to distfiles.</del> //(deva)//
 +
 +  * BUGS:
 +    * {{:check.png}} <del>Flashing loadbar: https://linuxmusicians.com/viewtopic.php?f=56&t=19219</del> //(deva)//
 +    * {{:check.png}} <del>Note-on with velocity 0 should be ignored.</del> //(chaot4)//
 +    * {{:check.png}} <del>Default drumkit not being stored correctly on Windows.</del> //(chaot4)//
 +    * {{:check.png}} <del>Fix ''LV2_Descriptor'' and ''LV2UI_Descriptor'' compilation errors with the most recent LV2 headers.</del> //(deva)//
 +    * {{:check.png}} <del>Fix assert(events.empty()) in jackmidi.cc line 113.</del> //(deva)//
 +
 +=====Version 0.9.18.1=====
 +//Hotfix release//\\
 +Released October 23rd 2019.
 +  * BUGS:
 +    * {{:check.png}} <del>FileBrowser oddly disappears in Reaper on Win10. (See [[https://www.drumgizmo.org/irc-logs/drumgizmo.log.2019_10_09|IRC]] at 19:41:40 and [[https://www.drumgizmo.org/irc-logs/drumgizmo.log.2019_10_23|IRC]])</del> //(deva)//
 +
 +=====Version 0.9.18=====
 +//Bugfix release//\\
 +Released October 15th 2019.
 +  * BUGS:
 +    * {{:uncheck.png}} <del>Fix crash when running LV2 from jalv.select and resizing.(see [[https://www.drumgizmo.org/irc-logs/drumgizmo.log.2017_05_14|IRC at 21:51:40]]) </del>**not reproducible**  //(chaot4)//
 +    * {{:uncheck.png}} <del>Fix [[https://linuxmusicians.com/viewtopic.php?f=57&t=19991|potential mutex race]].</del> **not reproducible**//(chaot4)//
 +    * {{:check.png}} <del>Fix loading of drumkits not reporting errors as text (including dgvalidator). (see [[https://www.drumgizmo.org/irc-logs/drumgizmo.log.2019_07_19|IRC at 23:26:29]])</del> //(deva)//
 +    * {{:check.png}} <del>Fix [[https://www.drumgizmo.org/irc-logs/drumgizmo.log.2019_08_06|spelling errors]] in UI.</del> //(chaot4)//
 +    * {{:check.png}} <del>Fix crash on Windows when file-browser is open and plugin window is closed (see [[https://www.drumgizmo.org/irc-logs/drumgizmo.log.2018_08_06|IRC log]]).</del> //(deva)//
 +    * {{:check.png}} <del>Fix GUI not showing in Reaper under Windows on first opening it.</del> //(deva)//
 +
 +  * Sample selection algorithm improvements:
 +    * {{:check.png}} <del>Check new sample selection algorithm on crashextra in crocellkit. Very few samples result in large spread in chosen samples with the same input velocity. See [[https://www.drumgizmo.org/irc-logs/drumgizmo.log.2019_07_12|irc]].</del> //(chaot4)//
 +    * {{:check.png}} <del>Scale values for sample selection to [0,1] for input via CLI.</del> //(chaot4)//
 +
 +  * OSX:
 +    * {{:check.png}} <del>Set LV2 ui type according to implementation (ie ui:CocoaUI on OSX)</del> //(deva)//
 +
 +  * other:
 +    * {{:check.png}} <del>Add all velocity humanizer CLI options, not just stddev.</del> //(chaot4)//
 +    * {{:check.png}} <del>Disable stddev when velocity humanizer is turned off.</del> //(chaot4)//
 +    * {{:check.png}} <del>Make file-browser always on top.</del> //(deva)//
 +    * {{:check.png}} <del>Introduce sample normalization option to the engine and xml.</del> //(chaot4/deva)//
 +
 +=====Version 0.9.17=====
 +//Feature release//\\
 +Released July 15th 2019.
 +  * Cocoa UI support for OSX:
 +    * {{:check.png}} <del>Make rendering of pixelbuffer work.</del> //(deva)//
 +    * {{:check.png}} <del>Make mouse move and click events work.</del> //(deva)//
 +    * {{:check.png}} <del>Make window resizing work.</del> //(deva)//
 +    * {{:check.png}} <del>Implement setFixedSize.</del> //(deva)//
 +    * {{:check.png}} <del>Support keyboard input events.</del> //(deva)//
 +    * {{:check.png}} <del>Detect double click.</del> //(deva)//
 +    * {{:check.png}} <del>Support window embedding.</del> //(deva)//
 +    * {{:check.png}} <del>Fix rendering of pixelbuffer on Mojave OSX.</del> //(deva)//
 +    * {{:check.png}} <del>Fix rendering of emdedded window on Mojave OSX.</del> //(deva)//
 +
 +  * {{:check.png}} <del>Add directed choke feature. Design: [[directed choke]]</del> //(deva)//
 +
 +  * {{:check.png}} <del>Add new improved sample selection algorithm - [[https://www.drumgizmo.org/irc-logs/drumgizmo.log.2018_08_20|irc]]</del> //(chaot4)//
 +    * {{:check.png}} <del>Add tooltip descriptions for the humanizer knobs.</del> //(chaot4)//
 +    * {{:check.png}} <del>Add controls to cli.</del> //(chaot4/deva)//
 +  * {{:check.png}} <del>Write documentation on the new [[documentation:file_formats|XML format]].</del> //(deva)//
 +
 +  * Metadata:
 +    * {{:check.png}} <del>Review XML structure [[http://www.drumgizmo.org/wiki/doku.php?id=documentation:file_formats#and_later_currently_unreleased|XML format wiki page]]</del> //(deva/muldjord)//
 +    * {{:check.png}} <del>Create new drumkit parser.</del> //(suhr/deva)//
 +    * {{:check.png}} <del>Create new instrument parser.</del> //(suhr/deva)//
 +    * {{:check.png}} <del>Get rid of eXpat dependency. Use PugiXML instead.</del> //(suhr/deva)//
 +    * {{:check.png}} <del>Make unit tests for the drumkit/instrument parsers.</del> //(suhr/deva)//
 +
 +  * Plugins:
 +    * {{:check.png}} <del>Make clicky-kit functionality.</del> //(chaot4)//
 +    * {{:check.png}} <del>Add [[http://lists.lv2plug.in/pipermail/devel-lv2plug.in/2016-November/001696.html|midnam LV2 support]] to plugin based on the names from the instrument files.</del> //(rgareus/deva)//
 +    * {{:check.png}} <del>Fix out of bounds drawing of frame</del> //(chaot4)//
 +    * {{:check.png}} <del>Add 'set as default' path button in file browser.</del> //(deva)//
 +    * {{:check.png}} <del>Add midi [[https://www.drumgizmo.org/irc-logs/drumgizmo.log.2019_04_01|aftertouch choke events]].</del> //(deva)//
 +    * {{:check.png}} <del>Add tool-tips to frames.</del> //(deva)//
 +
 +  * CLI:
 +    * {{:check.png}} <del>Add support midi aftertouch chokes for all midi input engines (midifile, jackmidi and ossmidi).</del> //(deva)//
 +    * {{:check.png}} <del>Add dgvalidator commandline tool for validating drumkits.</del> //(deva)//
 +
 +
 +  * Other:
 +    * {{:check.png}} <del>Add version to config xml.</del> //(deva)//
 +    * {{:check.png}} <del>Add md5 hashes to drumkit downloads.</del> //(deva)//
 +    * {{:check.png}} <del>Generate lv2 manifest/ttl from the code contents of the plugingizmo implmentation.</del> //(deva)//
 +    * {{:check.png}} <del>Make channel-count controllable through configure.</del> //(deva)//
 +
 +  * BUGS:
 +    * {{:check.png}} <del>Fix potential division by zero in rampdown.</del> //(deva)//
 +    * {{:check.png}} <del>Fix broken disk stream size limit in plugin config.</del> //(deva)//
 +    * {{:check.png}} <del>Fix config file parsing with empty values.</del> //(deva)//
 +    * {{:check.png}} <del>Fix creation of config dir if it doesn't exist when config file is about to be written</del> //(deva)//
 +
 =====Version 0.9.16===== =====Version 0.9.16=====
 //Bugfix release//\\ //Bugfix release//\\
roadmap/features_roadmap.1557346052.txt.gz · Last modified: 2019/05/08 22:07 by deva
Trace:
GNU Free Documentation License 1.3
Valid CSS Driven by DokuWiki Recent changes RSS feed Valid XHTML 1.0