
        ##################################################
        #       The TODO-CONTRIBUTORS-WELCOME file       #
        ##################################################


* Sample compression :
  Reducing the .jab file size is useful for saving disk space but
  also for sharing files over the network. Additionally, integrating
  uncompression routines would allow to load some more sound file formats.

  Codecs : flac of course, but also mp3 and ogg, so that one can send light
  .jab files by mail to some remote partner. 

  I believe the best and most simple way to achieve this feature would be 
  to add configurable "helper applications". The encoding/deencoding would
  then simply be done by calling the command line tools with system().

  Note: libsndfile seems to support transparently ogg and flac formats, if
  compiled for. There also is libfishsound, which offers a high-level API
  for vorbis encoding and decoding:
  http://www.annodex.net/software/libfishsound/index.html

* Sequence nesting : 
  The idea is to assign a additional sequence to a track. For the "master" 
  track the "slave" sequence would get played as a sample, from the user
  point of view. It could be interesting to cascade ("nest-nest-nest-etc...")
  sequences.

  This is likely to require redesigning some core part of the software. Been
  thinking a long time, and still do not exactly know how to achieve it.

* Sequence scaling

  Add a "scale" feature in order to get some more precision. Increasing the mesure size
  could automatically scale instead of the current implementation which position beats
  in a "random" manner


* (?) Change the tracks/beats/measure_length scheme into more classical mesures, notes duration,
etc...

* Add support for LADCCA/LASH

* Add an option to link samples ? (currently, they're always imported)

* Closing a sequence while it's playing _may_ segfault.

* Get some inspiration from Specimen GUI (http://www.gazuga.net)

* Patterns bank (feature request by Guillaume Pellerin) :

  This would be a way to recall previous pattern settings, while keeping
  all samples and jack connections untouched.

* When the transport control is set to Respond, clicking on play does not produce any sound,
which might be confusing for novice users. In this case a warning popup could be useful.
That would be the sort of warning that one can disable by toggling a check box.

* Complete WAV export by allowing to customize depth/format/etc...
    An interesting LAU thread about this:
    http://lalists.stanford.edu/lau/2007/02/index.html#665
    http://thorwil.affenbande.org/index.php/2007/03/08/ardour-export-02/

* try to make progressive BPM increase/decrease sound "smooth". This is 
challenging because it might get out of sync with JACK transport

* follow JACK transport's BPM (currently ignored) + optionally become time master ?

* maybe that Jackbeat could smartly catch JACK disconnection, and offer a way to 
  easily reconnect

Suggestions by Henrik Bjerregaard Pedersen <henrikbp {at} vip {dot} cybercity {dot} dk>:
* volume control is in % (linear) - please consider changing it to dB
(logarithmic)
* a filter on the 'Load sample...' dialog would be nice (so that only the
supported filetypes show up)

* Put resampling quality by default on Hi-Fi?

* Improve the "Your changes will be lost" dialog

furenku <furenku {at} hotmail {dot} com>:
i think this app is wonderful, it would solve many of my problems if it
just had a way of triggering samples with midi!!!! also panning controls
for each track; still congratulations mate!!

=== The following points where observed when working with the composer Vincent Brigand ===

* a way to quickly listen to a loaded sample without toggling any beat

* a solo button would be great. It should really play one track at a time (clicking on a solo
button should disable the other solo buttons)


