Release checklist not aiming for 1.4

Bugs
These are likely to move to the main release checklist page, once a P number has been given to them.


 * Fix: Envelope bugs where two tracks in a stereo pair can show different envelopes; they should always be the same. (GA and MJS discussed this at length and came to the conclusion that the current behaviour is OK and the only real bug is that if you insert a new envelope point on a linked stereo track which has unmatched envelopes, one large one small, sometimes an outer envelope point gets inserted on one envelope and an inner one on the other (note the points on the channel with the smaller envelope may be hidden by the smallness of the envelope). This may be similar to the report "the current implementation is prone to error if the tracks are not the same size and don't have synced envelopes to begin with" though the above bug occurs on synched envelopes as well.


 * Fix: Determine why ALT+ menubar access key doesn't work when label track has the focus.


 * Fix: Play and Record buttons remove all focus from label and audio tracks whereas their hotkeys don't


 * Fix: Look into correct behaviour when Audacity encounters an audio device with no associated mixer. This may be behind persistent problems on Linux where USB microphones do not appear in the Audio I/O recording devices list.


 * Fix: Long tone generations (e.g. 20 minutes) can crash Audacity from time to time. i.e. the tone has not still not been generated after 30 minutes or more and Audacity is no longer responding. Consider if the theoretical 99 hours, 59 minutes, 59.999 seconds generation allowed should be restricted. Generation by instead repeating a short tone is unlikely to be worth the effort - we'd have to deal with frequencies like '50.00001Hz' correctly - and we'd still have the problem for chirps and noise


 * Fix: a track or clip can't be dragged further left or right once the time shift arrows reach the end of the screen


 * Fix: Label lines disappear when label track height is larger than Track Control Panel height...maximize project window, add labels, resize label track to fill window, decrease window height, and scroll...label lines will disappear.
 * [LL]: this should now be fixed.


 * Fix: Jorge's pop-click on starting Audacity on Linux


 * Fix: Do not resize track when pointer is at top of track...move cursor outside the top of a track, move down slowly until the pointer changes shape (like the pencil or i-beam), now left click and drag up and down...the bottom of the track will be resized.

Priorities/former release "Aim to" items

 * Discuss test harnesses. Possibly write some more test code.


 * [JC] Release a simplified.po at the same time as Audacity 1.4.0. This can give novice-wording for some features for which there is a demand in schools.  If we use the convention that '!' before a menu item means 'hide it' could also be used to reduce the complexity of the menus - which have become rather extensive. See Simplifying Audacity in the Manual. The least change to Audacity code is if it behaves 'exactly' like a language selection.
 * GA: I think you're suggesting a reduced interface but with more "verbose" wordings? Or even more trimmed down wordings - which is the aim? Can CleanSpeech be adapted for this purpose instead which might make it more generally useful (I am very unconvinced by it as it is now). If the idea is to help novice users, is it not better to give such users working on their own machine an easy means of switching view?
 * JC: More verbose wording is possible, but I was thinking of just restricting to the most useful commands with no change in wording. Eventually the CleanSpeech mode should be merged into a general way of simplifying/customising Audacity - just as CleanSpeech chains and CleanSpeech trunc-silence effects have become general features in Audacity.


 * Latency correction
 * PortAudio v19 correction poor and had to be disabled in 1.3.7 because unusable with DirectSound on Windows. Using a standard correction value only a stopgap. Look into Audacity making correction itself based on track positions.
 * Prevent correction occurring when append-recording, even if set in Preferences, to prevent possibility of newly recorded "real" audio being truncated. GA has suggested backwards shifting only up to the point where truncation would otherwise occur. New behaviour must be documented in Manual (noted on Documentation Checklist)
 * greater prominence / bright colour for arrows indicating shifting behind zero
 * when recording stereo mix from a track in Audacity, about 100ms of the recording is truncated at the end (irrespective of latency correction setting in Preferences).


 * Timer Record needs to remember the last scheduled duration


 * Button to zoom immediately to maximum sample level (or just below), or Draw Tool does this when selected


 * Either warn when Prefs closed with autosave turned off, or ensure that Audacity warns when restarting after crash with autosave disabled: (1) that temp files are present (2) does not let you exit without reminding of you of those files.
 * JC: Users experienced enough to turn off autosave aren't total newbies. Should expect that turning off autosave reduces likelihood of recovery from errors.  Fix not essential.
 * GA: You can accidentally turn off autosave especially if using the keyboard.
 * Reinstate ability to import multiple files from the command line into the same Project. Check if doing this results in right-click > open from a file manager changing current behaviour of importing into different projects. In view of our stated comment in the Unix Manual that importing files into the same Project is convenient, consider if there should be a Preference to choose behaviour when importing subsequent files, and whether the better default would be to import into the same Project.


 * Change the yellow snapping colour (white has been suggested by DM) or allow users to choose from a limited number of suitable colours. A suggestion based on a cyan colour is here. GA delighted to help or make more mockups.


 * Springclean docs in root directory, e.g. buglist.txt - delete ???
 * GA: Maybe incorporate anything in todo.txt not mentioned elsewhere in here?
 * Ruler to use same units as selected in selection bar.


 * Use orange for high-water-bar in sound level meter, not blue.
 * GA: Or, orange for the RMS and red for the peak on both record and playback meters? Or avoid red as that is the colour for clipping in both meters?


 * Hide all warnings except the first when exporting multiple MP3s with illegal sample rate/bit rate combination.


 * Once suitable modification in place, consider a Nyquist plug-in for creating a cue sheet or possibly direct Export as Cue Sheet, as discussed with Leland


 * Ensure proper saving of exported audio file when Audacity runs out of space and warn what was done, especially on Linux (seems on Windows that a clean file is saved). Consider checking free space before starting export


 * [MM] Auto Save procedure to save strictly every x minutes to preserve changes made inside saving period. Note Autosave can only be done when no editing is going on, and no edit can be performed until auto-save has finished. Consider "Auto Saving Project" progress bar or Status Bar message to show this.
 * When done, please change Preference wording to "Auto save interval every: [ ] minutes" and move this item to "Done" on Wording.


 * MM: Ensure that click or double-click close to a cut or split line snaps to it.


 * GA: Should repeating a region encompassing a split line create split lines at every clip boundary as well as pasting the original split line ?


 * [MS]Change cut line colour from red as this is now the colour for View Clipping


 * Preferences:
 * "Make a copy of the file before editing" (currently in Audio Files tab) to be the default. This saves user issues having no audio in the waveform if they disregard the dependencies dialogue. Consider anything else needed as a result e.g. space checking, dialogue asking user what to do if insufficient space, and including Markus' reverted code to show a dialogue on first import advising user they can speed up imports by setting preferences to "read directly from the original file".
 * Improve rather heavy-handed "select-all-on-none" behaviour by having two independent preferences: #Select all tracks if none selected (lets user perform align operations easily on all tracks without having any selected) #In selected tracks, select all audio if none selected (with first unchecked, lets user easily select all audio in only the selected tracks).
 * Gale: It's not clear if this first preference selects all audio as now if there is a cursor point but no selected tracks. Clearly this is still the major use case for novices. If it means this, the wording should be more like "Select region in all tracks, if no tracks selected". If it really means just the same as hitting ENTER on all the tracks, then this and "Select region in all tracks, if no tracks selected" would have to be a radio button choice.
 * Add preference when importing to always have the Project Rate remain at Default Sample Rate irrespective of the file being imported.
 * Consider adding Preferences setting for all fonts (Label Track font is already settable in the Label Track).
 * Provide help-link on Preferences panel (in longer term, there should be multiple context-specific help links both in Preferences and elsewhere in the program).
 * Interface tab - Add user customisations for sound file and length of process to "Beep on completion of longer activities". Also consider an additional "in progress" sound.
 * Interface tab - currently reads "Closing last window quits Audacity"
 * GA: Current wording leaves unresolved the frequent user confusion when with multiple windows open, pressing [X] top right or ALT-F4 only closes one of them. Perhaps only real solution is to reverse the meaning - "Only Exit/Quit Audacity shuts it down completely." Something like that also deals with the common OS X confusion where even closing the last window leaves Audacity running in the dock - on a Mac, only Audacity > Quit stops it running. Unfortunately, reversing the meaning needs a coding change. Or should we add extra text underneath so that it reads something like "Closing last window quits Audacity (if unchecked, only Exit/Quit does so)"? Or cover all confusions including the OS X one in a FAQ?
 * RA: Do all states currently settable outside Preferences (e.g. visible toolbars, Label Track font, Meter Toolbar refresh rate) need to be at least visible in Preferences for diagnostic purposes? RA proposed this idea but GA suspects this means such a view could look bloated.
 * JC: Firefox Options has an alternative view which lists all the preferences including many hidden preferences for power users.  The are all in one long textual list. Items which are not at their default values are shown in bold black.  This avoids the bloated look.  Nice to have, but I think for us there are other changes which have a better return on the time investment.  This would make sense though in the context of developing the Application Framework
 * Monitoring ON by default. Feedback from lprod.org is that ON is OK on low powered machines, and that it being OFF by default leads new users to think their mic is not working.
 * JC: Unfortunately every time you record or play, monitoring is switched off after you stop. If I switch it on again automatically the 'play' cursor is drawn in red (as a record cursor).  So, it's not as simple as just setting the default value of a variable to true.  Enable EXPERIMENTAL_EXTRA_MONITORING in src/Experimental.h to try this out.


 * Advanced Mixing dialogue must truncate track name to size of Audio Track box, not crush a long name down to an unreadably small font


 * Consider dispensing with the Windows and Mac LAME installers and using libmp3lame in FFmpeg instead, making only one installer. Might even be worth considering including the VST-bridge? Note that LAME should be distributable in Audacity by 2012, if all the patents expire.


 * Improve poor capability importing compressed files in WAV containers such as are common in personal recorders. Need to get examples of such files again.


 * [MJS or anybody else] Finish PauseRecOnSilence - pre/post roll would be good. Even in present state this had excellent user feedback for the short time it was available.


 * GA: Add ability to change the number of recording channels in Device Toolbar? This dropdown (logically at any rate) only needs to be the width of the current Project Rate dropdown, if that. It is a long-standing user irritation that this is hidden in Preferences, so either not discoverable (hence the need to have a FAQ about it) or not changeable without going in there.


 * JC: Add support for Monty's deverb as in Postfish. Very few audio programs have deverb.


 * Add shortcut key which would allow you to move all the track faders together by the same amount (a quick easy to implement fix for now)


 * New command in Tracks menu align end-to-end i.e end of first track with start of second etc.


 * [LL] Window Eyes 7.01 cannot read the Metadata Editor - need to give the grid a proper accessibility structure

Can these be dispensed with due to other changes?

 * Internal help browser :
 * can the visible screen height be increased when viewing short pages (such as the Welcome screen pages in HelpText.cpp) so that scrolling is then not necessary?
 * Keyboard back button does not work
 * Ability to pin or keep the help browser on top, and ability for it to remember its resized position.
 * Some may miss the tree and the search from 1.2.x help. Maybe longer term we should build into our Wiki pages conventional links back to the main parts of the structure. Could be generated automatically. Not a good thing to do by hand.
 * Welcome Screen :
 * what should be the best behavior when clicking a link to installed local text but Preference is "From Internet"? At the moment it opens the local file in the help browser. Maybe better it should open the file in web browser? Or redirect to the Wiki web site, just as the help browser redirects to the Manual Wiki web site when "From Internet" is chosen?
 * Add ability to accept backspace commands and/or have back/forward buttons, + ability to copy selected text.


 * (Not an issue?) Find Zero Crossings doesn't work properly. I checked this by fully zooming the waveform horizontally and vertically so that I can see every data point.  The beginning and ending points of the selection  after Find Zero Crossings might be as far off as +/-0.01 (out of 1)  on the vertical scale, and they are not necessarily on a positive  slope.  Repeating the Find Zero Crossings produces unpredictable  results and sometimes results in a change in the selection and  sometimes doesn't.  This occurs on both 1.2.6 and 1.3.3 beta.  I'm  using Mac OS X 10.4.10, but the problem has also occurred on older  versions of Mac OS X 10.4. (reported by Menasheh Steiglitz (( steig _AT_ cs_DOT_stanford_DOT_edu)) on audacity-users)
 * [MJS, 22 Dec 08] This only looks like a problem when you zoom in to see individual samples. Zoomed further out it looks OK, and really is.


 * Improve access to the list of keyboard bindings. Being able to seek by letter has helped, but ability to click on Command and Key Combination to sort the list in that order would help more. A search facility, or a colour coding for bindings in different menus or toolbars would also help. Some users feel the only easy way to edit the list is to save it as XML and open it in a word processor.


 * Now that mute/solo interaction has been changed so that a track can only be either mute or solo, discuss ways to save mute button patterns and other Project states

Audio cache
Gale, 25 Mar 09: The preference for caching audio data now cannot cause a crash as long as user does not set the minimum free RAM too low, but this feature is not as useful as it could be IMO.
 * Consider a separate preference for caching recorded and other audio data. This lets users have the benefits of caching when recording without the less useful caching of imported and changed project data (this is less important than previously, now that caching can be capped)
 * More important, cache should be discarded after recording stops since the data is already written to disk at that point
 * Should audio data that is cached *ever* have a disk-written duplicate? Surely one use of this feature could be for users with plenty of RAM but not much disk space to write data (e.g. when editing) to RAM instead of to disk. This would be an alternative to having to jettison their Undo history. It seems wasteful to both cache to RAM and write to disk.

Generator Spinboxes

 * Gale, 20 Mar 09: Dan Horgan's patch for "Silence Generator: the first non-zero digit should be highlighted, not the first digit, so that you can overtype more easily" was applied on 19 March 09. This appears to leave two other possible concerns/improvements:
 * Selection format: On balance, probably it's best that when selecting a region for generation, the spinboxes in the dialogue should default to hh:mm:ss+samples irrespective of current selection format (but the documentation should explain why, because novices find this confusing). But for generation at a point, the default whole seconds (irrespective of selection format) might be unsatisfactory. The assumption that a point generation in whole seconds would more likely be required even when the user has changed to a finer selection format in Selection Toolbar may not be correct. If the user switches to a finer selection and had previously done generation in a region, they will see a finer value than whole seconds offered (again, we're making assumptions, and this is confusing). On balance I think using the current selection format for point generation is cleaner and less confusing.
 * Comma separation: This applies to Selection Toolbar too. The comma separation of thousands of seconds is confusing, takes space and is non-standard (compare display of frequencies which have no comma). Users in Central European countries where "," is a decimal separator find this especially confusing. Consider having no comma, or replacing it with space or a pipe symbol.

Speed typing in selection formats

 * Jan 03June08: I have some ideas on quick time typing. I checked Home and End keys and they do their job which is nice. This might be important for blind typing, which is the most efficient. There might be ways how to make typing and blind typing of times even easier. Would you let me dream for a while? TAB is reserved for a different function in MSwin. This is one idea: say in hhmmss,ms format, typing h could zero out all the fields and move the cursor to the beginning, so that h01 would specify one hour exactly. Likewise m055 would be 5m:50seconds, and M020 = 20ms. That could be fairly easy to implement for a single format, for general case it requires perhaps a table of offsets for each key/format combinations. Some (or perhaps many?) letter combinations could change the selected format, like p for PAL? (ps1024 would do 10s+24pal frames)? 't' could change the format to free text format (100s, 3420ms, 33:20, 1day...). There are other ideas: All number keys can be remembered and on a letter, all fields would be zeroed and the numbers retyped, so that strokes '1s' would mean 1s and '10s' would mean 10s. Other: All number keys can be remembered and on a letter, free text format would be choosen and the keys retyped. Alternatively, after 't' (or any letter), free text format can be processed secretly with immediate update of the fields; the fields would become editable on arrow or mouseclick.
 * Gale 05Jun08 08:05 UTC: Thanks, Jan. Maybe there is some merit in the first, simplest idea; in one time format, hitting the letter key jumps to the first digit of that time unit; otherwise the time format list has access keys (like in menus) that let you jump to the starting point of another time format.

Envelope rendering

 * GA: Should envelope tool render before any other non-envelope actions are taken? Current behaviour can lead to user confusion. For example, until you've rendered you can't amplify a track any part of which was at 0.0 dB before adding control points, even if your control points bring it below that level. Another example: having used envelope but not rendered, you can then apply an effect that sounds as if it might have caused distortion (such as bass boost or EQ), but which won't display clipping in the meters (either before or after rendering) because the audio is within the visible envelope. But if you render instead of applying the effect and *then* apply it, the clipping is obvious, because the waveform has gone outside +/-1 and the meters duly display it. If envelope was treated as an effect, hitting OK in which rendered it as in other apps., these confusions would disappear.

Other issues after 1.4

 * Per-user plug-in folder for Mac and Windows users, not just Linux.
 * RA: a solution may be for AUDACITY_PATH to be searched on all platforms, so that there is a way to do custom plug-in directories (either system-wide (define variable for all users) or per-user (define variable for a given user)).


 * Generate tone in a new project, close track using "X" in the Track Control Panel, generate another tone of a different length, then Edit > Undo. The timeline remains highlighted (with the former selection area).


 * If the timeline in an empty project has a selected area and a new audio track is added with Tracks > Add New > Audio Track, clicking Play makes the Stop button available though nothing is playing


 * Need system to translate Nyquist plug-ins in source code


 * [MS] A new icon for <->, since it now moves things up and down as well


 * Find Clipping: better if the clipping labels for multiple clipped tracks are stacked above each other in same order as that of the tracks.


 * Multiple project handling:
 * Andreas: Consider allowing two projects to play simultaneously, just as different tracks in the same project can do
 * GA: Consider something more user-friendly than just refusing to open the same project in another window. Maybe the second instance could be read-only, or the user could be asked if they want to revert to the last saved state, if different.


 * Where "normalize all tracks in project" is enabled in Preferences, don't perform normalization a second time when running a chain starting with normalization of imported files.


 * Searching for LAME on Linux. Audacity still opens a dialogue looking in /usr/lib even if LAME is already there and ready. Instead, have it check for LAME in the expected location. Also Audacity should look for the versioned symlink (libmp3lame.so.0), not the version-independent "current" lib (libmp3lame.so).


 * Improve built-in Nyquist prompt, choice of process / analyse / generate functions, and keeping the code in history so you can see if it works and change it
 * GA: Does Nyquist WorkBench cover this?


 * [JC] A little more useful diagnostics in the benchmarking dialog, and possibly some instrumentation of the blockfile system.


 * MP3 Export Options: new button to force mono, and mono tab with independent settings. This replaces fixing Bugzilla bug 182 asking for halving of bitrate for mono MP3 tracks. Should there still be a checkbox to halve bit rate to nearest legal option and disable mono tab, given LAME itself halves mono bit rate and the user expectation is there?


 * Theme:
 * Fix: Updating theme causes PortAudio selector drop down in mixer toolbar to disappear.
 * Two sample alternative themes changeable with a button in Preferences. [Themeability prefs will be disabled in 2.0 release and release candidate.]


 * Batch:
 * Add Export multiple support
 * Add selection region support e.g. fades which don't make sense on whole tracks
 * More example chains.


 * [LL] All keyboard shortcuts changeable.


 * Time Track: Truncation and added silence


 * Export Multiple:
 * should disable "include audio before first label" if first label is at zero
 * should allow export of audio from one chosen label to another e.g. from first to third instead of forcing to export all


 * Radio button for initial language choice to reduce frequent user error knocking language to an unwanted choice


 * Recent Files: Consider:
 * Menu item to remove obsolete items from list
 * Increasing number of available entries in the list
 * Separate menu items for "Recent Projects" and "Recent Files" (or "Recent Imports"); should "Recent Files" or "Recent Imports" import into the current project or open a new one?
 * Max zoom:
 * Ruler/track highlighting out of sync.
 * samples starting before left edge of track aren't plotted while samples extending past right edge are.
 * possible error while plotting negative values.


 * [LL] Mouse cursor doesn't change when it should if keyboard is used.


 * Add FFTW library


 * Branches into Plug-Ins?
 * [VJ] Port Lyrics Windows from UmixIt custom build.
 * [VJ] Port Branding from UmixIt & Thinklabs custom builds.
 * [VJ] Port other miscellaneous features from UmixIt & Thinklabs custom builds.


 * Envelopes:
 * Display envelope handles linearly, but just implement them exponentially under the hood. That would make the GUI potentially much easier.
 * Reproducible problem: zoom into sample level, put in an envelope point and then a split within 1.5 samples to the right (about 34 microseconds). Envelope then changes.


 * Dominic's pipe-based scripting. [Could lift this into the aim-to list.  It depends on status of the code developed so far.  We could perhaps use it in test harness, if it is already nearly there.]


 * Effects:
 * Modeless
 * Realtime [Could not produce for stable 1.4.0 in the timescale.]
 * Vary selection boundaries during loop play, and have sound respond. [This is a small step in real time Fx]
 * dialogs to use spin boxes
 * Merging of change-pitch-speed
 * All generate effects should have options for: Replace / Mix / Insert before / Insert after
 * Adjacent tracks of a split stereo pair are not seen as a stereo unit when running Nyquist effects. This is a nuisance when the effect only works on stereo tracks, as an error is thrown although to the user they have a legitimate stereo track where built-in effects work on both channels.
 * On all effects have ALT + V always applies a Preview without having to change the effect settings first (EQ is one of the few effects where ALT + V works with the parameters that load).
 * Auto Duck: Too slow (can take 16 times the length of audio for some users on Windows) and the progress dialogue does the first ~40% of the progress bar instantaneously, so obviously isn't really 40% finished and doesn't calculate Remaining time correctly.
 * Repeat: If you select beyond the end of your clip or track into the white space, shouldn't "Repeat" repeat what you selected including the white space? Same if you copy and paste. This would be useful in some cases. If you need to select exactly the clip that you want to repeat, you can always do so by double-clicking inside it, or use SHIFT + END if it's not a clip.


 * 'Hidden features' via registry/ini file. Just disable outright for 1.4.0??
 * Hide/disable CleanSpeech (contact Lynn?) leave as is for 1.4.0??
 * If retained, can its limitations be removed such as can't record with more than one track or project open (if this particular limitation is not fixable, warnings, greying out of record button, and ability to record as soon as other projects/tracks closed ).
 * ??Hide/disable FTP (contact Wing Yu?)


 * Add crossfade when looping to prevent possible clicks/pops.


 * Cursor duplicated when resizing tracks. Add two mono tracks, click within second track to position cursor, click and drag inbetween tracks to resize, release mouse button. First track gains focus causing both tracks to have a cursor drawn.


 * Snap/Snap-to:
 * Fix Cut lines not recognised by Snap
 * Snap-to option that does nearest vertical crossing left-to-right-rising), enabled by default.


 * [LL] Extend usability of TimeTextCtrl for screen readers


 * [JC] Apply James' patch to prevent missing numbers on timeline


 * Tracks > Stereo to Mono:
 * does not function on a stereo track unless the channels are of equal length.
 * should not be greyed out if the stereo track is split into left and right


 * Independent per-track ID tags so for example if importing three MP3s each with its own tags, the tags of the first and second are not overwritten with those of the third.


 * If "Tracks fit vertically zoomed" turned off in Preferences, so that you get a scroll bar on the right on adding a third track, you cannot drag a track up or down when the drag is into a track that is not fully visible within the scroll.