Roadmap
From Buzztard
- The primary goal is to get as far as buzz did. That means loading buzz song, loading the machines, have similar editing. This goal has been reached.
- Second step is small improvements, user guide, intensive testing and collecting ideas. Its very likely that things like midi-support will fall into this phase as well. We're in this phase now.
- Third step is more applications, new features and so on.
The section below track what is planned for each release, what of this is done and what is work in progress.
Contents |
Release Planning
Future
- explicit windows and macosx support as soon as someone volunteers to maintain it
- ui
- move own widgets into a separate lib (src/lib/libbtwidgets)?
- embedded help viewer
- additional end user apps (buzztard-live,buzztard-session)
- video support
- output scores (e.g. via LillyPond or GuidoLib)
- Refactoring
- GObject 2.26:
- g_object_class_install_properties() and g_object_notify_by_pspec
- GObject 2.26:
Version 0.7 (??)
From this version on we'll aim for new features and add some secondary feature from buzz.
- audio engine
- refactor controller to use own pattern control sources
- pattern view
- pattern recording
- buzz: this records slider movements from machine ui into the pattern
- buzz: if there are multiple tracks for the machine, it records only into the first track (bug?)
- buzz: it does not move the cursor in pattern-editor to allow entering notes
- pattern recording
- multitrack project file export
- data exchange with a sample editor (marlin?)
- Open Sound Control for the interaction controller / remote control
- song journalling, versioning
- support tunings
- midi (jack, alsa seq)
- ui improvements
- have Keyboard_shortcuts#Customization customizable keyboard shortcuts
- add Help buttons to dialogs
- machine templates
- buzz can import songs as templates (should import no waves, no sequence and no patterns)
- we could use the selection/location feature from copy/paste
- refactor/update
- configure.ac: use LT_INIT instead of AC_PROG_LIBTOOL
- use own treeviewmodels (implement the GtkTreeModel interface), try building a GObjectListStore
- migrate from gconf to dconf/gsettings
- some tips for the tests
- module reorganisation
- move bsl -> buzztard/src/lib/core/song-io/buzz
- build it conditionaly
- allows to later on add mod/midi loaders
- move bsl -> buzztard/src/lib/core/song-io/buzz
Version 0.6 (black beats blue) 2011
This version will target to provide some more minor features of buzz, some more enhancements, usability and performance improvements.
- ui improvements
-
song autosaving (journalling) + crash recovery
machie view,pattern view, sequence view, wavetable view, info view
-
full undo, redo
machie view,pattern view, sequence view, wavetable view, info view
- full ui state persistence
add a tip-of-the-day dialog?enhanced spectrum analyzer- own ruler widgets (or use slider tick api in gtk-2.16)
- for analysis window scales
- for volume and panorama popups
clipboard support (cut, copy, paste)- suport media keys totem implementation
-
song autosaving (journalling) + crash recovery
gstreamer integration: buzztard-dec, allows to play buzztard songs in e.g. totem, rhythmbox, banshee, ...- improve translators life - add comments above translatable text
- many done already, check with:
find . -name "*.c" -exec egrep -Hn -B1 "[^N]_\(\"" {} \;- or look at po/buzztard-0.X.pot
- many done already, check with:
- settings
- device selection for e.g. alsa & co. using gst property probe (example from jokosher)
- refactoring & cleanup
-
using proper singletonsBtUIRessourcesBtEditApplication and its usage
less G_OBJECT casts- use G_DEFINE_TYPE:
buzztard- gst-buzztard:
lib, plugins bsl
-
port from gnomevfs to gio/gvfs3 files use gnome_vfs_url_show() if we don't have gtk-2.14 (that is okay)
- use g_timeout_add_seconds() (glib-1.14)
- 5 files use that in buzztard/src/
- digest this blogpost about gcc warning options and apply what makes sense (check this followup post as well)
- use gst_element_link_pads or even gst_pad_link instead of gst_element_link{,_many} in core (do the same for gst_element_unlink)
machine.c, sink-bin.c (1), wave.c (4), wire.c (1)
migrate from HAL to GUdev
-
-
test single inlcude build (gtk-3.0)make clean all CFLAGS="-DG_DISABLE_SINGLE_INCLUDES -DGTK_DISABLE_SINGLE_INCLUDES"
NEWS: current text
Version 0.5 (crown of thorns) Sep. 2009
This version will target to provide all major features of buzz
-
audioenginechange wires while playingallow unconnected elementsselectable samplerate and channels (mono,stereo). both are ui additionsbetter level monitoring
-
pattern viewplay notesmore keybindingshandle note-off commandsfaster redraws
-
sequence viewfaster redraws
-
machine menusupport for hierarchies (buzzmachines index, ladspa lrdf categories)
-
machine windowadd parameter group for wire-pattern controls (volume/pan of previous machines)
-
refactoringrefactor _new methods to make it more binding friendly (see BtApplication and the subclasses for an example)remove gtk_widget_set_name() to save translations or atleast remove _(). widget names are used for e.g. themening. they are not shown for e.g. a11y.rid of libgnome dependencyread this autotools guide and improve our use of them
NEWS: current text
Version 0.4 (the light in your eyes) Nov. 2008
This version will bring wavetable support and UI usability improvments.
-
ui improvementsrecent used files support (gtk 2.10)-
new iconstab iconsmachine view icons
vu-meters in machine icons-
wavetableloading waveshandle more wave properties (volume, loop-mode)loop playback (including ping-pong)playing at different picheswaveform display with loop/play markers-
wavetable mapping into buzzmachinesbuzztard to gstbml (need iface or property)gstbml to bml (needs api in bml)
support song files as zip filesregister with the Translation Project-
Refactoringmore flexible song-io plugin api- merge packages
NEWS: current text
Version 0.3 (a tale of ice and darkness) Mar. 2008
This version will improve stability and make the pattern editor useable.
lots of Keyboard shortcuts- improved editing of sequence and patterns
selection fixesnavigation workaround (gtk+ bugs)better input handlinginsert and delete for lines and tracks- pattern editing
custom widget for patternssupport volume and panorama in sources and processorssupport master volume
- improved machine view
show volume and panoramaadd panorama editing
-
better format negotiation when connecting machinesautoplug panorama element if needed
- partial ui state persistence
- GObject update
static strings in param specs
- Refactoring
move all dialogs to separate classes (for ui tests)handle interaction controller assignments in machine and not in dialog
-
Multitrack recordingsong rendering support from the ui
NEWS: current text
Version 0.2 (sunrise) Apr.2007
This version will target UI usability improvments and introduce more interactivity.
- preset handling in machines
machine settings layout information-
design a preset handling interfaceimplementation for buzzmachine presets- generic implementation for gst element presets
sequenceand pattern view table headingsallow to confirm dialogs with enter keycheck installed utility elementshelp view for machinesenhance machine window layoutmake more settings instant apply-
interaction controller and playback controller foundationnew baselibrary interaction controllerUI settings for controllerspopup-menu for machine preoperties to assign controllers
NEWS: current text
Version 0.1 (genesis) 30.Oct.2006
This version should serve as a technical preview. That is - everything can change. These are the pending TODOs:
check machines when loading song-
preview warning requester/ first time install requestermerge with about, show NEWS (ReleaseNotes)need to show this once per version, settings news-seen="0.1"
gui-dialog screenshoter for the manualbring manual up-to-dateupdate german translationadd lgpl headers in sourceschange /home/ensonic in READMEs to $HOME
NEWS: current text
Release Names
- a game of light and shadows
- children of the night



