ARDOUR TO-DO: $Id$ ---------------------------------------------------------------------- ITEMS REQUIRED FOR 1.0 ---------------------- * Automation - must be able to apply a fade to a selected range * Drag handles for region/xfade curves * ensure I/O port is selected in connection dialog * add a small buffer near the left edge of the editor canvas to make mouse operations near that edge easier to get right * context menus everywhere - edit groups - mix groups - track lists - region list - click button (miscellany) * propagate name changes to equivalent regions in region list * destroy region removes equivalent regions from region list * fix edit group visibility toggle META ITEMS ---------- * there must be a manual POST 1.0 WORK ------------- * make region state of a playlist be position,length,layer, and save that for BoundsChange or Layer change. * automation modes (from protools): - relative trim - etc. * 2-step file expunge * allow sends/inserts and perhaps plugins to be named * popup a big panner * mix groups (adding new kinds of relationships to the groups, as per old ideas from tom pincince) * add meter range control * change meter tap point * cassowary-based constraints for edit groups * serializing the edit history (i have a plan for this now) * gtk2 port * like, totally rock, dude. * make rulers reorderable * set of useful click sounds * use snapshot mechanism to provide persistent undo/redo - needs better integration of automation state into session state. * duplicate-with-gap * panner multichannel backend code * select new port display when its created * copy/paste io configurations * Better temporal navigation * new region via plugin. * digital input trim. * possibly allow metering max-level adjustment at run-time * use multi-loop-take ala Samplitude/PT * song mode autonames for locate points intro, verse1, verse N, chorus, bridge, outro/tag * different clock display modes: elapsed remaining time since location start time till location end * handle missing audio sources when loading * option/action to snap selection to zero crossings * pitch shift? - Some global solo routing buttons and a sine/noise generator to test all the connections. Possibly a talkback input and control. Pretty much like the equivalent strip on a analog console. WAITING FOR GTK+/gtkmm 2.0: --------------------------- general gtkmmext::ui solution to delete_event in recursive Gtk::Main::run() float<->ulong conversion in a GtkAdjustment (GTK2 uses doubles) * fix the problems caused by range (float) limits on Locations. figure out how to get frames/timebars to extend to max_frames. UNDO ITEMS ---------- track height? capture? I/O connection state, etc. BUGS ---- initial Tempo marker can be dragged duplicate region names can be created automatically THREAD QUESTIONS ---------------- - which thread should: - change playlists on a diskstream? - change diskstreams on a track? (we don't support that in the UI) - can we reliably construct a copy of the RT state, instead of using locks everywhere? NOTES FROM THE MAILING LISTS ---------------------------- -- gerard -- Region gain has some bugs. They dissappear when trimming. Don't always playback correctly. I had some strange things with a chunk where the last region seemed to use the audio file as a peakfile. It played back correctly, but it showed up frames_per_peak too large. -- gerard2 --- Automation. I see that automation editing is in the TODO. How about the whole deal: Changing it during aplay. relative or absolute, latch (is that the word) or momentary override etc Is this for >1.0 ? It is not that important for me but maybe for some folks... Better metering configurability. Post/pre etc. Gui interface consistency. more keyboard shortcuts for f.i. (are they hard to add?): -arrow keys to move selection from region to region -seperate region. This one can be the same for split region, if there is a range selected seperate, if not split. Should playhead also snap to grid? Adding/removing snapshots through snapshot pane. I would prefer to move the pre and post roll adjustments to the options menu, and have a start/end/duration of selection clocks. A way to deal with misbehaving plugins. They shouldn't be able to freeze ardour. What is the current (and planned) edit-group functionality? It doesn't seem to much. ----- make use of transients a run-time option panning for export mute automation event region length/end editor clocks don't modify position should we allow N-channels regions to be inserted into non-N-channel routes? auto-crossfades are unreliable/hard to predict/confusing reset declick curves when doing a region copy (only if auto-crossfading?) audio clock editing - make drag work again - use tick field post fader plug/inserts get into a very inconsistent state wrt active/not active mixer strip widths are not persistent across state save/restore automation-read updates in mixer-strip in editor don't initiate MIDI binding if there is no MMC control export to audiofile - exports tracks not marked for export (?) - contains clicks/pops even with no SRC/dither (FIXED?) timefx region length error (check back with audacity crew) send gain control is clicky. some regionview names don't seem sensitive to canvas events splice mode needs to work correctly all the time, at the right times removing a port then adding a new one can cause duplicate names plugin automation buttons don't update from a plugin signal how to handle multichannel selections apparently selected location on startup of locations window, or when creating new location from selection is *not* selected source/region naming/region list display LONG TERM CHECKING ------------------ RT-ness of all RT-thread STL usage GUI DETAILS ----------- Use mouse wheel events (button4/5) Remove regions from region list Some location window ops need dbl click, some don't CHROME ------ make prompters look nicer still. make ladspa plugin selector look nicer don't popup "no group" when there are no groups (mixer strip). fix bug in Gtkmmext with wrapping on Gtkmmext::ClickBox make region editors look nicer region editor audition button doesn't pop up after audition is finished allow same color for all streamviews AUDIO STREAM ------------ [ These are JACK TODO's ] * need to ensure that cards like the Hammerfall are really set to the correct sample rate when connected to an external clock source. * ::connect_to_session() should indicate a problem if the sample rate is wrong .... MIDI Machine Control ----------------------- * handle stupid Mackie TC buttons * send MMC rec-enable messages * allow control (MMC/Local) selection to work * make sure that MMC ID works EDITOR, etc. ------------ * "use location to define selection"