summaryrefslogtreecommitdiff
path: root/DOCUMENTATION/TODO
blob: 6fbbdb9d98b589570fb9d6644a714831238afa64 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
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"