======DGEdit 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.11=====
Goal of this release: Modernization of UI code
* {{:uncheck.png}} Use QDesigner for managing windows and integrate into the build system. //(alex-j)//
=====Version 0.12=====
* Features:
* {{:uncheck.png}} Add phase shift option pr. file/channel to fix misaligned recordings. (ask unfa) //(unassigned)//
* {{:uncheck.png}} Add full support for new metadata fields. //(unassigned)//
* {{:uncheck.png}} Add image and clickmap editor. //(unassigned)//
* {{:uncheck.png}} Recalculate file prefixes if root dir changes. //(unassigned)//
* {{:uncheck.png}} Add instrument groups (unspecified how exactly...) //(unassigned)//
* {{:uncheck.png}} Handle //kit variants// such as //full// and //minimal//. //(unassigned)//
* Other:
* {{:uncheck.png}} Handle input files with different samplerates (error message). //(unassigned)//
* {{:uncheck.png}} Play back (audition) input files with correct samplerate. ([[https://www.drumgizmo.org/irc-logs/drumgizmo.log.2018_09_14|irc-log]])//(unassigned)//
* {{:uncheck.png}} Split multi-channel input files on load instead of just loading it as a single mono-interpreted file. //(unassigned)//
* {{:uncheck.png}} Fix player timing (ie. distance between hit start). //(unassigned)//
* {{:uncheck.png}} Port to Windows and OSX. //(unassigned)//
* {{:uncheck.png}} Make midimap editor and exporter. //(unassigned)//
* Bugs:
* {{:incheck.png}} Changing an instrument name does not change the instrument prefix (folder and filename) during export. //(deva)//
* {{:uncheck.png}} Translate tab titles in About window. //(unassigned)//
======Unspecified future release======
* {{:uncheck.png}} Zoom slider. //(unassigned)//
* {{:uncheck.png}} Editor refinement [[roadmap:editor_rewamp]]. //(muldjord,suhr,deva)//
* {{:uncheck.png}} Properly implement presets for slider and lineedit values. //(suhr)//
* {{:uncheck.png}} Right-clicking waveform view plays from this position until mouse button release. //(unassigned)//
* {{:uncheck.png}} Right-clicking velocity view plays x ms of each hit located to the right of mouse cursor. Stop on mouse button release. //(unassigned)//
* {{:uncheck.png}} Scroll-wheel and keyboard modifiers zooms/scrolls canvas. //(unassigned)//
* {{:uncheck.png}} Add button that spreads all current hits out evenly in velocity view. //(unassigned)//
* {{:uncheck.png}} Enable ctrl+left-click multi selection in waveform view. //(unassigned)//
* {{:uncheck.png}} Create presets for all standard instruments (hihat, snare, tom, kickdrum etc.) //(muldjord)//
* {{:uncheck.png}} Select the next slice with a keystroke (e.g. right arrow). //(unassigned)//
* {{:uncheck.png}} When saving a dgedit project, check if user added .dgedit suffix in filename. If not, add it before saving.
* {{:uncheck.png}} Make a graphical view that indicates when a hit fall-of has been reached so the next hit can be performed. Could be jack client, could be integrated directly into the editor once the recording feature has been introduced.
* {{:uncheck.png}} Make it possible stop the preview listening by toggling the play button back up.
* {{:uncheck.png}} Make it possible to make recordings directly in the editor.
* {{:uncheck.png}} Add jack input/output support.
* {{:uncheck.png}} Make editor file format that stores all setting and source files as well all session metadata.
* {{:uncheck.png}} When using autogenerate, make it possible to mark the area you want to generate from in case you have more than one instrument in the same wav.
* {{:uncheck.png}} Make it possible to left-drag-select any number of hits in velocity view.
* {{:uncheck.png}} Make it possible to left-drag-select any number of hits in waveform view.
* {{:uncheck.png}} Create base kit editor that creates the drumkit and midimap .xml files from files exported from current dgedit. Functionality currently unspecified.
* {{:uncheck.png}} Add eq filter for autocalculation. This enables the energy detection only at certain frequencies.
=====Attack calculation=====
Attack calculation on each sample are currently just using the audio power of the raw signal. This is to be changed so that a fully configurable nutch filter can be applied before the power calculation is performed. The sample must be listenable with apreview of the nutch filter in order for the user to set the correct frequency, width and gain parameters.
====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.
====Player====
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.10=====
//Major release//\\
Released January 6th 2019.
* {{:check.png}} Redesign UI to handle a full drumkit at once. //(deva)//
* {{:check.png}} Remove all channel map references if a kit channel is removed. //(deva)//
* {{:check.png}} Clear canvas and master file if the current master file is removed. //(deva)//
* {{:check.png}} Add "main" checkbox to filelist (for bleed control). //(deva)//
* {{:check.png}} Add "are you sure" when closing if project is dirty. //(deva)//
* {{:check.png}} Open in "disabled" state if no file is specified on commandline until either open or new is called.. //(deva)//
* {{:check.png}} Make changes to the channel map and main mark affect the data model at once in the file list, instead of only on enter or when the edit widget loses focus. //(deva)//
* {{:check.png}} Disable "Save" menu until save as has been called the first time. //(deva)//
* {{:check.png}} Add kit description to project. //(deva)//
* {{:check.png}} Add kit samplerate to project. //(deva)//
* {{:check.png}} Add about dialog. //(deva)//
* Other:
* {{:check.png}} Fix dragging of circles in power graph. //(deva)//
* {{:check.png}} Use translation tags and linguist for all application strings. //(deva)//
* {{:check.png}} Fix Qt5 compilation issues (if any). //(deva)//
* {{:check.png}} Pulling a region in the edit tab to the leftmost seems to cause an integer underflow, as opposed to just setting to 0. //(deva)//
=====Versions before 0.10 shared roadmap with drumgizmo=====
See drumgizmo release notes on [[roadmap:features_roadmap#version_095_lac2014_version|version 0.9.5]] and older for the details.