Features for 1.0 - updated 20040331
-----------------------------------

- request: notation segment expanding itself as you enter
           notes past the end of it [or at least resizing the segment
           explicitly from within the editor]

- BUG - matrix resizes itself by default when adding notes
  
- native printing
  o it's too slow [BETTER]
  o adding fluff and nicities to printed staves
  o getting mapping working for feta TT [DONE] * needs to be slightly larger

- notation
  o staff connections above/below (bracketing)
  o bar styles: double, repeat -- integration with repeating segments how?
  o at least be able to draw segno, 1/2-repeats etc
  o accidentals -- correct in octaves, cautionary/mandatory when resetting in
    following bar [in progress: cautionary flag provided in AccidentalTable,
    no code for drawing cautionaries yet, bar-reset stuff not yet implemented]
  o draggable fine positioning

- menus throughout
  o check that the accelerators don't clash
  o where necessary, reorganise and rename to make sure like functions
    are together and clearly described -- for example, the notation
    Transforms menu is not at all ideal
  o relatedly: make sure translators have time/awareness of changes!
  o add sensible accelerators for the main window menu options (particularly studio menu)
  o MIDI Mixer icon

- implement "always use default studio"

- punch in record [DONE?]

- audio cutting and moving causes some issues still

- matrix collision problems - alignment issues?

- settings amnesia still

- negative delays and latency compensation for softsynths

- latency compensation for plugins

- plugins - randomise button and time related frequency parameters

- linked help for dialogs


Recently DONE
-------------

- add pitch bend control events to all existing .rgd files [DONE]


POST 1.0
--------

- multiple document interface (switchable buffers, loading while playing) [rwb]
  POSTPONE to POST 1.0

- Tempo ruler in main window: need control-ruler-like interface,
  ideally from control-ruler code.  This one is a lot more important
  than we've given it credit for so far, I think.  [We now have a
  tempo event editor, so this has become less critical than it was]
  [POST 1.0]

- Repeating segment doesn't ghost when moving them.

- In audio:
  o mp3 support
  o libsndfile support
  o libsamplerate support


DONE
----

- matrix view 
  o double/half speed of selection [DONE]
  o force legato [DONE]

- fix lilypond lyric duration bug [dmm] [QUERY]

- find decent home for event filter toolbar icons [cc? dmm?] [QUERY]

- integrate new JACK transport and synchronisation [DONE --cc]

- Studio faders (MIDI and audio fader controls)

- tidy up audio parameter box [cc/rwb/gl]
  o audio VU meter needs to look cool (like ardour)

- audio threading for file r/w access [rwb/cc]
  o improving ringbuffer and precaching performance for audio
  o memory speedups in the RingBuffer and using MappedStudio in process loop
  o caching waveform previews at PeakFile [rwb]
  o ringbuffer  [DONE]
  o drag and drop [DONE]
  o dynamic editing [DONE]


- Change setPositionPointer calls to a mmapped model (gui will need
  its own timer to inspect mmapped file) [DONE]

- playlists (essential for demos!) [DONE --gl]

- request: import studio from file [DONE --cc]
  
  dmm - stubbed out in GUI, but I've had no time to figure out how to
  implement it, and what time I might have in the forseeable future is better
  spent hacking on the Lilypond bugs, so either someone finish this or we
  should just dump it and forget about it, though I _do_ still think it's an
  excellent idea.

- banks/variations [cc] [DONE] [NOT QUITE DONE AFTER ALL - just noticed
  variation toggle status isn't being loaded from .rgd file correctly]
  [DONE now]

- liblrdf support for LADSPA plugins - a hierachy is provided in the plugin
  dialog [cc]

- named controllers for studio with associated bankeditor-like dialog [rwb/dmm]
  [DONE]

- song markers - jumping to, creating loops between [rwb] [DONE but no looping]

- control rulers [gl/rwb] [GETTING THERE/DONE]

- porting to shared memory experimental branch [rwb/cc/gl] [DONE]

- metronome [DONE - rwb/cc]

- general file merging [cc]

- adding instrument selection menu to tracks menu [rwb/gl] [DONE]

- document event filter dialog in RG manual [dmm] [DONE]

- event filter dialog [dmm] [DONE]

- implement Pitch in lilypondio in parallel with existing methods, so we can
  eventually wean it off of the junky code it currently uses. [dmm] [DONE -cc]

- request: triplets of more than three (erm, quintuplets?)
    [ALREADY DONE - DOCUMENT?]

- native printing 
  o printing resolution
  o create mapping files for commerical available fonts (so one can
    use them in RG)

- look at ways to avoid having multi-voice music completely fuck up the
  lilypond export (Chord class, plus possible measure by measure voice
  resolution/separation algorithm I've been thinking about in spare moments) [dmm]
  [This is not exactly completed.  Certainly no "voice separation
  algorithm", which would be interesting in itself regardless of
  applications for Lilypond.  But I think it's about as far as we'll
  get for the moment.  It's now pretty good with scores that actually
  display well in Rosegarden.]


To be ignored
-------------

- request: use studio from file instead of default [doesn't make any sense]

- ALSA ports [cc]

- request: importing lilypond after manual hackery?
  dmm:  No, I don't think so.  I saw the exchange Hans had on the
  lilypond-devel list some time ago, and this feature would be extremely
  difficult to implement.  If Hans has been working on it all this time in
  secret, then it might make 1.0, but otherwise there's not a chance.

- request: integration of fluidsynth [dmm]
  what does this mean exactly? muse's integration means bundling of
  fluidysnth source code - we don't want to go that far but bear in
  mind that this could mean as little or as much as we want [rwb]

  I haven't really looked into it just yet.  I've been lead to believe that we
  can just -llibfluidsynth1 and then use the API to talk to the thing, but I
  haven't determined whether that means talking to a running client, or
  effectively running an interfaceless client ourselves.  Then there are
  several Jack-related issues to work out no matter what the answer is.  The
  ultimate aim is to be able to provide a GUI for loading/unloading soundfonts
  conveniently and setting up other fluidsynth parameters.  It may all prove
  either un-doable or something best left for after 1.0, but it's worth a look
  I think.  It may be a quick hack. [dmm]

  Chris and I talked about this a bit more and while we'd like closer
  fluidsynth integration it'll probably mean we should talk more 
  closely with the fluidsynth team and get their support.  There are
  things that both of us dislike about current implementation. [rwb]

- LADCCA integration

- completely rewrite tutorial for 1.0, using fewer/smaller pixmaps, better
  organization, possibly converting to LDP docbook format [dmm]

- look at other updates for RG manual [dmm]


