Proposal Label Enhancements

Proposed Features

 * More convenient and more discoverable label removal
 * Remove & Delete to Next Label
 * Collapse region label to a point label
 * Label Track operations on selected labels
 * Further dragging improvements especially snapping and visual indications
 * Labels in the waveform, not just on the label track
 * Multiple Selection of Labels
 * Better transcription support
 * RTL support
 * New Preferences
 * Making label tracks accessible

Developer/QA Backing

 * More Convenient Label Removal: Peter, Gale
 * Label Track operations on selected labels: Gale
 * Further dragging improvements especially snapping and visual indications: Bill, James, Gale.
 * Better transcription support: Gale, James
 * Multiple Selection of Labels: Gale, James

More Convenient Label Removal
Steve: Removing labels that have label text is often cumbersome. If there are other labels in the same track, selecting over the label and deleting is not a viable option as it will cause later labels to lose their positions. There is no easy way to select all of the text within the label, making the only options multiple key presses to delete the label text then delete one more, or removing the label via the Label Editor. If there are a lot of labels present that do not have label text, then the Label Editor is not a convenient option either as all labels would need to be named. One possible solution would be to have a keyboard combination to remove the label while focus is in the label text (for example DEL + Modifier key).
 * Gale: I would support both a shortcut and "Delete Label" added to the label's right-click context menu (for greater discoverability).
 * Peter 31Jul13: 1 I strongly support "Delete Label" added to the label's right-click context menu.


 * Steve 19Apr13 from a forum thread: What I'm currently looking at is: Right-click in the label text adds "Remove Label" to the current menu. This will delete that one (and only one) label, even if it is nested, or nests other labels.

Remove & Delete to Next Label
Peter and I (Gale) would like to suggest another right-click menu item (solely over a point label) "Remove & Delete to Next Label". This aims to make it easier and more intuitive to execute this use case http://manual.audacityteam.org/man/Removing_Labels#usecase2 of removing the exact label area from the chosen label to the following label, deleting the chosen label and moving back the following labels by the exact amount of the removed area.

Perhaps also we could consider "Remove & Delete to Previous Label" which would only delete the right-hand label of the two we were (invisibly) selecting between.

I suggest that the Tracks Preference "Retain labels if selection snaps to a label edge" has no effect here (user is not making an explicit selection).

Collapse region label to a point label
Steve 19Apr13 from a forum thread:perhaps there could be a right-click option (when right-clicking within a label region) for "collapse to point label"? That sounds like a good idea to me, but raises the question, where exactly should the point label be positioned, at the start, middle or end of the region? Perhaps the resulting point label could be determined by where exactly you right-click: If you right-click near the start, then the point label is at the start of the region. Right-click near the end and the point label is at the end. Right-click near the middle and the point label is at the mid position.Perhaps accurate right-clicking is too fiddly?
 * '''Peter 31Jul13: I'd vote for "start" - that keeps it nice and simple.
 * '''Gale 31Jul13: I too like the right-click solution to collapsing a region label to a point label but think options for creating the point label at the left or right edge of the region label should be provided.

Label Track operations on selected labels
Steve 19Apr13 from a forum thread: Right-click a region in the label track (anywhere other than in label text) brings up a menu that provides options for acting on selected labels (currently only "Remove Selected Labels", but hopefully can be expanded to provide options for Delete Selected Labels, Copy Selected Labels and Paste Labels). At the moment it looks a bit silly with just one menu item, but I've got a proof of concept working.)
 * Gale from same thread:  Steve and I also both like "Merge Selected Labels" (with suggested "Merge at left" and "Merge at right" options which decides which labels move)  and "Split Labels".

Further Dragging Improvements especially snapping and visual indications
Discussed in bug 121.
 * Drag a train of joined labels.
 * Better indication of new and current label position in waveform when dragging labels.
 * Snapping and Boundary Snap Guides so a label being dragged snaps to another label or the edge of a region label snap-collapses to a point label.
 * The fiddly problem of dragging an edge of a region label inwards to form a point label could be solved by a new right-click menu item over a region label "Collapse to Point Label at Left" and Collapse to Point Label at Right".

Labels in the Waveform

 * (from Feature Requests - 29 votes: "Ability to drop vertical marks that are 'glued' to the waveform on the main track (not on a label track). They should move when when track is moved, and also be adjustable and label-able if required. Should be possible to snap a region to the markers. This is an extremely useful feature available in Sound Forge and most other editing programs. (For most editing purposes, the new split function now works in lieu of markers on waveform - thanks - but this would still be nice.)"
 * BW:
 * Would this replace linking?
 * I use the split function for this purpose, however it seems from comments on my "splitting recordings" tutorial that many users do not understand that splits can be used for this purpose.
 * GA: I think split lines are not adequate replacements for markers in the waveform (if we think we need those) because they have a merge function and disappear if you click too close to them.
 * JC: The 'marks glued on the waveform' I see as just a display mode for labels. It is, if we get linking 'right'.  So I would see users as being able to toggle the label display between showing in tracks and showing as an overlay.
 * GA: +1, though I suspect some of these votes may be actually for a mark-in/out feature which is fairly incompatible with labels...
 * BW: This has given me a totally new idea for indicating linking. When linking is on, the label lines extend up into the linked track(s).
 * GA: But only when user has this feature enabled, and if they have a label in a label track?
 * BW: Yes. Like this: [[image:LinkedLabelledTrack.png]]

Multi-select

 * 6 votes on Feature Requests
 * Allowing users to select many labels at a time would allow them to apply effects, copy or delete several regions very quickly. Users could control-click to add labels to a selection, or shift-click to select everything from the start of one label to the end of another.
 * GA: The proposed clicking to multi-select labels is always in the label track, I presume, so doesn't impact the current SHIFT-click in waveform to select a region?
 * GA: We must remember to move SHIFT + click for adding to selected tracks to CONTROL + click.
 * GA: Would "Play" play all of the selected areas in the audio file, skipping the non-selected regions, as asked for on Feature Requests? "This feature would be useful for comparing two regions of an audio file without delay between the playback of the two (or more) labeled regions."
 * James: If/When we do it, it should.
 * Also there could be commands to select multiple label regions, to invert the selection, or to ignore specified labels. See extra detail here.
 * GA: Also a couple of votes on Feature Requests for selecting multiple (by implication, unlabelled) regions.
 * GA: Should work on point labels, too, thereby double-click selects regions between labels. (3 votes on Feature Requests). At present there is a rather unintuitive "double-click" which selects from zero to the end of the last label (irrespective of where you double-click). I think if you double click either side of a point label it should select between labels (or to the start/end of a region label if the adjacent label is a region label). This is analogous to double click to select a clip between split lines. What double-click does when only region labels are involved may need discussion. If there is nothing more useful for double-click inside a region label to do than select inside that region label, that would be fine and analagous with double click inside a waveform clip. I think I'd prefer it did "something else" given we have single-click in a region label to select inside it. For example, double-click in a region label could be a special case of multi-select that selects to adjacent labels either side (if there are any). I would envisage that double-clicking in the label track between region labels would select that space between them. Although that breaks the analogy that clicking in white space in the waveform selects all of it, I think it's *much* more useful. It gives you an easy way to select that white space (which there isn't now) and to also make it a region label.
 * Ed Musgrove suggests a "Select between Labels" menu item. Generally, we should be aware of having multi-select functionality for VI users too. Perhaps most of this should be done by improving Label Editor?

Better Transcription support
GA:
 * Labels won't accept any more text input once two factors are true: (1) the text reaches the right-hand end of the screen (2) the audio track is not sufficiently zoomed in, leading to there being no scrolling region remaining. This is the same whether a track is playing or not. This limits use of labels for transcription. There are 5 votes on Feature Requests for finding a solution
 * JC: (from Feature Requests) Correct this by adding multi-line support and linking to text editor?
 * GA: This situation is slightly better now we allow more space after the end of the track, but you can still be limited to only 20 characters or so in a label right at the end of a zoomed in track. I suppose it means setting a maximum supported characters per line, then allowing end of project to move if the end of the label line requires it.

RTL support

 * Support for right-to-left languages, selected in label drop-down menu

New Preferences

 * Add a Preference for "Label typing:" "Standard" (CTRL + B only required for typing in a label track if cursor is at same place as an existing label - this is current behaviour) or "Manual" (CTRL + B always required). Use case: unmodified shortcuts can be used even if focus is in label track.
 * DRB: Also extemely helpful for users of screen readers.
 * Every new audio track creates its own label track underneath - requirement for DAISY Books
 * New label track(s) placed underneath selected track(s) - not at bottom of project (5 votes on Feature Requests)
 * GA: This applies both to Tracks > Add New > Label Track and where CTRL + B adds a new label track. Best default behaviour needs to be considered, as well as if a Preference is required. We made behavioural changes here when linking was still available, which should be checked over. I had suggestions at the time for improvements when linking is on. I'll try and find those again from -devel.

Making Label Tracks Accessible
Currently, label tracks are almost completely inaccessible to users of screen readers. They can create labels, which involves the focus moving to a label track, but then have to move away immediately so that they don't acccidentally create labels etc. Some of the funtionalilty of label tracks is accessible using the labels editor, but for some tasks this involves many more keystrokes than would be required if the label tracks were fully accessible.

The main problems and suggested solutions:


 * When you navigate to a label (tab), then screen readers don't read the label. They should!


 * It's currently too easy to accidentally create spurious labels. This could be fixed by having a preference for label typing, as proposed in the New Preferences section. When set to manual, you can't create a label by just typing the label, you have to do something first, eg press ctrl + b.

Other suggestions:
 * It's currently too easy to accidentally edit the text of a label, since when you navigate to a label, you're automatically in edit mode. Possible solution:
 * when you tab to a label you're not automatically in edit mode.
 * to enter edit mode, press f2. (mouse users can also just click in the label )
 * to exit edit mode, press enter.
 * pressing tab to move to the next label doesn't take you out of edit mode if you're already in edit mode.

Improve navigation to/from arbitrary labels
J.Ryshpan:
 * When the label track has focus, TAB or SHIFT + TAB will always start navigation from the first or last label respectively, even if you selected a different label in Label Editor, or clicked above that label in the waveform to snap to it. Also if you select the label in Label Editor, the view does not move to the label as it does when you TAB or SHIFT + TAB.
 * GA: The Label Editor problem could be solved by having it open the selected label for editing, but that may not be desirable. We could a) provide a shortcut to open a label when the label track had focus and the cursor was at a label edge; or b) allow TAB and SHIFT + TAB to operate from that label when the condition in a) was true (or provide different shortcuts to do that).
 * When moving the view to the label, it would be nice to be able to center the displayed area at (say) the start or end of the current selection. Maybe this could be made a nameless label in the "Edit Labels" window.
 * The "Edit Labels" window seizes focus, which prevents any action in any other window. It would be nice to be able to leave the "Edit Labels" window open while editing some audio with lots of labels, so as to be able to move about between them conveniently.
 * GA: Not sure if Edit Labels should be modeless. You couldn't have the label open for editing in both the label track and Label Editor at the same time. But if the view moved between the labels selected in Label Editor, that might be sufficient.

Grand Visions
''Here please do not add text or comments into a section that has been created by someone else. Instead add your own section with your name and your own contrasting grand vision''

James

 * Colours for labels & Multiline Labels: - Allow a subset of html in a label so that we can style the labels - without inventing a 'new' system. Initially provide a constrained interface that lets you add linebreaks, set foreground and background colour, bold, italic but not more.  Under the hood we use html - so at least in the early implementation the user doesn't see the html mark up.  3rd party tools and automation tools - such as extensions to the script interface - can use the colours to indicate different kinds of action.  Easy selection of labels of a particular colour, even if mixed with labels of a different colour on the same label track.
 * More label creation shortcuts: - Smarter system for starting/ending/putting-text-into labels whilst playing/recording. Can include a feature that offsets the start/end by a set delay or search for silence/sound.
 * Multiple selection: - This has far reaching consequences. Be able to play multiple selections and apply an effect to multiple selections.  Operates like selecting multiple items from a list box, i.e. control plus click to add/remove one label from the selection.  Significant work as cut/copy/paste need to work with multiple selections.  Add an easy way to create the missing labels between labels in a contiguous selection. A future extension is fuzzy selections which are like fuzzy selections in Gimp.  In the fuzzy parts effects that respect fuzzy selection are applied, but less so - so they imply a fade-in-fade-out of an effect.  This ties in with envelope curves and automation.  An amplification envelope is already a kind of fuzzy selection, it's just always linked to the waveform.
 * The big deleting-points debate: - Being consistent at the software level is the key to finding what's consistent at the user level. Treat point labels as being like very short region labels.  The rule for regions is that you only delete a region-label if the selection covers all of it.  A point selection is actually a very short region selection.  We can then use the same rules.  We have to define what region a point selection covers in different circumstances.  We need to be clearer throughout the code what our 'fencepost' rules are.  In normal editors a cursor is a fencepost - it is between letters, not on the letters.  The same is true of our selection cursor.
 * Linked Track Enhancements: - Can drag a clip and the linked label(s) move too. Tricky when a label spans more than one clip.  Can show labels actually on the track rather than below.  New graphic for indicating linkage - gap between track and label track is removed.
 * Silence: - Easily switch back and forth between silence shown as audio-at-zero and silence shown as gaps between clips. Combine with labels so that creating/removing labels at silence, and/or labels between silences is much more fluid.
 * Point/Region workflows: - Point and region labels are 'the same thing'. Reinstate lost function of easily creating a point label from a region label. Make the flow where resizing labels is easy work easily again.
 * Accessibility: - Some features of labels, especially locating them in the first place and dragging, require vision. Mouse moves are not accessible, and can't always have keyboard equivalents.  Most of the work on accessibility is instead in the separate label editor which presents them in a list.  It should never become a poor cousin to the label track.

Some links
BW:
 * Screenshots of labels in Audition, GarageBand (scroll down to "Record and Mix like a Pro), and Ardour.
 * The screenshot of Audition is hard to read, Ardour is easier. I've not used either program but it appears that the "labels" in these programs are naming what we would call "clips".
 * The GarageBand labels seem to merely carry the name of the track.

Past Discussion
There were some inconclusive discussion of this on the page, deleted in Jan 2010. Some issues touched on:


 * Where to add Label Tracks With the current way of defining track groups, the 'where' of where to add new label tracks becomes important.
 * How to show what linking will do There was some discussion of using two-tone selections to show what would be affected by a linked-operation. One possibility is to always select the same on all tracks in a group when in linked mode.

Other possibilities from Feature Requests page
''Edit Hint: This section is 'indicative' of feature requests and voting and provided for convenience. The definitive version, particularly of current voting, is on the Feature Requests page. Don't expect this section to stay up-to-date''.

Feature Requests as at May 2010 show the following:


 * 11 votes for Mark-in and mark-out points: As per video editors, "I" sets Edit In Point and "O" sets Edit Out Point. Should use zero-crossing accuracy. Doesn't matter what you do between those two actions; once you press "O", everything between "I" and "O" is selected.


 * 7 votes for "Ability to import/export cue sheets for CD burning (and/or text file compatible with shntool) to and from labels"


 * 7 votes for "Snapping to other labels" (plus 3 for snapping to clips and 2 for snapping to Timeline )


 * 4 votes for "Split to multiple projects: Split the project into smaller multiple projects by labels, similar to the "Export Multiple" command. Each project retains the per-track labels of the original single project."


 * 4 votes for "Easy way to select a region between labels"


 * 3 votes for "Moving a label draws original and current edge(s) in waveform without having to select the label"


 * 3 votes for XML/SMIL Label Export for using Audacity to analyze interviews or to generate Audio-Picture-Slideshows e.g. for educational use). Nodes: "trackname" with Nodes "start, end, label" or using SMIL.


 * 2 votes for "Improve navigation to/from arbitrary labels"


 * 2 votes for "Add Next and Previous buttons for navigation between labels to the panel of the Label Track."


 * 2 votes for "Automatic snap-to CDDA boundaries when exporting multiple with labels: The FLAC encode actually has an option to do this."


 * 1 vote for ODF Label Export with the timecode of each label in an ODF document. JC: We already have CSV. Already easy to get ODF.

Completed features previously discussed here

 * New Preference: "Retain labels if selection snaps to a label edge" 
 * Dragging: Instead of pushing edges when they collide and becoming a point label, swap the edge being dragged similar to how audio selection drag works.