[jokosher-devel] IMPORTANT: Stuff to do for 0.2



Hi all,

Right, here is my usual post just outlining stuff that we need to get
sorted for an up and coming release - notably our 0.2 release. We hit
feature freeze on Nov 1st, and although we have plenty of time, we
also have big ambitions for this release and there is lots to do. We
want to kick the arse of every multi-tracker out there and make
Jokosher the standard for multi-tracking. There is one hell of a buzz
forming around Jokosher, and threads such as
http://www.ubuntuforums.org/showthread.php?t=223505&highlight=jokosher
show the excitement forming around our app - we have also made the
cover disk of Linux Format magazine. We have so much potential to rock
the world and create an application with as fanatical a following as
something such as Blender, GIMP or Inkscape. To do this we need to
make each release kick arse, and I am positive 0.2 will do exactly
that, particularly with such an awesome development team as you
'orrible lot. :)

So, here I am summarising features that we would like to include and
it would be nice if members of the team could decide which features
they would like to hack on and post to this thread. There is plenty of
stuff to keep us all occupied.

So, here is the hit list (ordered by importance in each section):

CODING <

* Reducing latency and optimising recording - we need to ensure that
there is no delay when recording. In other words, if you have an
instrument with an audio file on there and record another instrument
with you singing along to it, it should be perfectly in time. Right
now the recorded audio is slightly out of sync - I have recorded a bug
report at http://bugzilla.gnome.org/show_bug.cgi?id=349781 that
outlines an offset issue with GStreamer. But, I am sure there is
plenty of additional scope to improve this sync.
* Hooking Volume Fades up to GStreamer - the volume fades code needs
to be hooked up to GStreamer. To do this, you need to use the new
GnlOperations code that has gone into Gnonlin. Currently there is a
bug (http://bugzilla.gnome.org/show_bug.cgi?id=352827) with this that
is being fixed and then we are good to go. This is an essential
feature for 0.2 and holds people back from useful work in Jokosher.
For a sample script that shows how to use GNlOperations, see
http://jonobacon.org/files/gnloper.py and also grab the glade file at
http://jonobacon.org/files/gui.glade
* Multi-channel sound card support - Elleo was working on an element
that enables two key things in Jokosher - support for multi-input/out
sounds cards such as the M-Audio delta cards, as well as recording on
multiple instruments at the same time. Elleo - could you give us an
update on this - could it be done for 0.2?
* Extension API - finishing off the API making it as complete as
possible for the 0.2 release. The approach being used is to make
useful extensions and add features to the API where needed. Could
Laszlo or Aq give us an update on this effort. Cheers.
* Extension Manager - we need a dialog in which users can install,
delete, update and browse extensions. The plan was to have Jokosher
able to browse extensions from extensions.jokosher.org a'la Firefox.
Even if we don't have the network browsing functionality, the
Extension Manager should at least be able to install and delete
extensions on the computer.
* Overdub Support - we need to support the ability to punch in
overdubs. The user should be able to select a portion of an event and
hit a button and that portion of the project is looped and the user
can record each time until they get it right. As an example, the user
may select one particular part of a guitar track that they fluffed and
it will keep looping until they nail it. I would suggest that the
overdub feature goes in the drawer that pops open when something is
selected.
* Click track support - in the top left hand corner of the recording
view is a little 'C' button. This button toggles  on the Click Track.
Well, it doesn't as the click track doesn't exist yet. Next to the
button is a text entry where the user can enter the bpm of the click.
This bpm should be used and a click should be played at that speed. We
should be able to do this by using audiotestsrc as the click noise.
* Finish off LADSPA and Preset Support - I still have some things to
finish in the effects support, so I am happy to work on this. :)
* Mixdown File Tagging - we should allow the user to add tag
information to mixed down files using ID3 tags for MP3 and whatever it
is for Ogg. From what I can tell, you can do this through GStreamer.
* Drawer prettyfied - the drawer that pops open when the user selects
something should be made prettier and actually slide out like a
drawer. Here I am thinking delicious Cairo goodness.
* Unit Tests - we need more unit tests setting up, preferably with
some form of reporting. It would be awesome if we had an automated
test suite that reported when things broke. With Dogtail this all
becomes possible, and CVS dogtail has a macro recorder to make this
easier.

ART <

* Icons for the buttons in the app (Recording / Mixing workspaces,
trim, instrument processing, effects)
* Stomp box icon for the effects dialog - Adriaan is onto this.
* Images for the new effects dialogs.
* Additional instrument icons.

DOCUMENTATION <

* Get the official wiki online and fully themed.
* Get the contributor wiki online and fully themed.
* Merge in all existing docs into the wikis.
* Update the manual and tutorial for 0.2 features.
* Write additional docs for configuring the desktop for optimal sound
production. As an example, a lot of people don't know that they need
to set up their microphone/pcm/capture settings in the GNOME Volume
Control dialog. It would be good to have a HOWTO for each desktop. I
suspect this could reduce the number of "Recording doesn't work in
Jokosher" support issues.
* Add pages to the contributor wiki to explain how to write docs and
add them to the wiki. Also promote this in the forums when we launch.

PACKAGING <

* Let the developers know what additional hackage needs to happen to
make packaging viable.

So there we have it - we have lots to keep us occupied for our 0.2
release. It would be great if everyone could pick what they want to
work on and then we can get an idea of where to move forward and make
the 0.2 release the kickass release that we and our users want it to
be. :)

 Jono



[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]