Difference between revisions of "Linking proposals"

From Audacity Wiki
Jump to: navigation, search
(coloured "edge" group separator still worth considering IMO)
(changed Track Panel to Track Control Panel)
Line 57: Line 57:
 
* I first tried slightly lightened selection colors in both places and drawing lightened diagonal chain links. This has problems: loss of visual contrast between selected and unselected regions, oppressive look of chains. Currently the link tiles are a different shape than the icon in the toolbar -- so if we indeed use the link tiles we'll want a new toolbar icon. Here's a screencap of what it looks like now, for reference: [[light_chains_screencap]].
 
* I first tried slightly lightened selection colors in both places and drawing lightened diagonal chain links. This has problems: loss of visual contrast between selected and unselected regions, oppressive look of chains. Currently the link tiles are a different shape than the icon in the toolbar -- so if we indeed use the link tiles we'll want a new toolbar icon. Here's a screencap of what it looks like now, for reference: [[light_chains_screencap]].
 
** A modification to this idea could be drawing darkened chain links instead of a selection. This might interfere with text in track info, may not be distinctive enough. Here is a screencap: [[dark_chains_screencap]]. To me (AWD) this retains many of the original problems, is not a major improvement. Maybe a slight improvement.
 
** A modification to this idea could be drawing darkened chain links instead of a selection. This might interfere with text in track info, may not be distinctive enough. Here is a screencap: [[dark_chains_screencap]]. To me (AWD) this retains many of the original problems, is not a major improvement. Maybe a slight improvement.
*** '''GA:''' I find it a moderate improvement. Not physically painful for me like the first one. Could you live with the tiles only in the vertical scale, not in the Track Panel? I can hardly think how that would ever work.   
+
*** '''GA:''' I find it a moderate improvement. Not physically painful for me like the first one. Could you live with the tiles only in the vertical scale, not in the Track Control Control Panel? I can hardly think how that would ever work.   
 
* Brackets/braces. Draw brackets around groups on one side of the track area. Draw brackets around sync selection.
 
* Brackets/braces. Draw brackets around groups on one side of the track area. Draw brackets around sync selection.
 
* A single link icon in a specific place in the track info. Probably requires horizontally expanding the track info when linking is enabled. Or not, as in the [[icons_and_stripes_screencap]]. I think the icons in TrackInfo look pretty good, and could probably be tweaked to look better (maybe widen TrackInfo by 10px or so -- everyone is getting those horrible widescreen displays, so taking up more horizontal space is doing them a favor in some ways).
 
* A single link icon in a specific place in the track info. Probably requires horizontally expanding the track info when linking is enabled. Or not, as in the [[icons_and_stripes_screencap]]. I think the icons in TrackInfo look pretty good, and could probably be tweaked to look better (maybe widen TrackInfo by 10px or so -- everyone is getting those horrible widescreen displays, so taking up more horizontal space is doing them a favor in some ways).
** '''GA:''' Track Panel looks a lot cleaner - but will people appreciate truncation of the Track Name, even with another 10px? I think an enhancement to display track name in a tooltip would be mandatory if we did this. But did you try putting the icon to right of the sample format? <p>The middle stripe doesn't work for me at all, with it being necessarily on top when the top and bottom isn't. Even if the selected colour was always on top as I prefer, the middle stripe seems overkill. And unless you had the sync-selection colour lighter than the regular selection, I think these stripes won't work.  </p>   
+
** '''GA:''' Track Control Control Panel looks a lot cleaner - but will people appreciate truncation of the Track Name, even with another 10px? I think an enhancement to display track name in a tooltip would be mandatory if we did this. But did you try putting the icon to right of the sample format? <p>The middle stripe doesn't work for me at all, with it being necessarily on top when the top and bottom isn't. Even if the selected colour was always on top as I prefer, the middle stripe seems overkill. And unless you had the sync-selection colour lighter than the regular selection, I think these stripes won't work.  </p>   
 
*** '''AWD:''' It looks like the horizontal stripes are a no-go (they don't look good, they'll be really hard to implement). As far as icon placement goes, the only elements of the Track Info that are always shown are the titlebar and the minimize/maximize button. There's plenty of room down by the min/max button, but it just doesn't seem right to put it down there for some reason.
 
*** '''AWD:''' It looks like the horizontal stripes are a no-go (they don't look good, they'll be really hard to implement). As far as icon placement goes, the only elements of the Track Info that are always shown are the titlebar and the minimize/maximize button. There's plenty of room down by the min/max button, but it just doesn't seem right to put it down there for some reason.
*** '''GA:''' Sorry, I forgot the track could be collapsed. The only other idea that crossed my mind was to move the down arrow in track name to left, and actually put the icon to right of it, crossing the boundary between track panel and vertical scale, but not running into the numbers on the scale. So the scale would need to be a bit wider. And possibly the icon overlaps the tracks, half at the bottom of one track, half at the top of the track underneath, to emphasise the linking.       
+
*** '''GA:''' Sorry, I forgot the track could be collapsed. The only other idea that crossed my mind was to move the down arrow in track name to left, and actually put the icon to right of it, crossing the boundary between Track Control Panel and vertical scale, but not running into the numbers on the scale. So the scale would need to be a bit wider. And possibly the icon overlaps the tracks, half at the bottom of one track, half at the top of the track underneath, to emphasise the linking.       
 
* Horizontal-striped selection and dashed cursor. Currently a horizontally-striped selection wouldn't work in the waveform display because it would often be masked by the waveform (this is why I used diagonal link tiles). But if we instead drew the selection alpha-blended over the waveform this could work.
 
* Horizontal-striped selection and dashed cursor. Currently a horizontally-striped selection wouldn't work in the waveform display because it would often be masked by the waveform (this is why I used diagonal link tiles). But if we instead drew the selection alpha-blended over the waveform this could work.
 
** Update: we can't draw an alpha-blended selection with wxDC. wxGraphicsContext allows this (uses Cairo with wxGTK, GDI+ with wxMSW and CoreGraphics with wxMac). Switching over to wxGraphicsContext would be a pretty big change. Noting LRN's experiment with Cairo, maybe wxGraphicsContext could give us similar enhancements (plus alpha-blended drawing) with fewer changes? Anyway, here's what this display idea would look like (doctored up with the GIMP): [[icons_and_stripes_screencap]]. I don't really like the horizontal, alpha-blended stripes. They get lost in the waveform. Maybe some of that is because the colors suck (I chose them so the background of the selected tracks would be about the same, which makes the waveform look pukey). It's really easy for me to try different colors/alpha levels (just a few bucket fills) so if you have ideas let me know.
 
** Update: we can't draw an alpha-blended selection with wxDC. wxGraphicsContext allows this (uses Cairo with wxGTK, GDI+ with wxMSW and CoreGraphics with wxMac). Switching over to wxGraphicsContext would be a pretty big change. Noting LRN's experiment with Cairo, maybe wxGraphicsContext could give us similar enhancements (plus alpha-blended drawing) with fewer changes? Anyway, here's what this display idea would look like (doctored up with the GIMP): [[icons_and_stripes_screencap]]. I don't really like the horizontal, alpha-blended stripes. They get lost in the waveform. Maybe some of that is because the colors suck (I chose them so the background of the selected tracks would be about the same, which makes the waveform look pukey). It's really easy for me to try different colors/alpha levels (just a few bucket fills) so if you have ideas let me know.
Line 68: Line 68:
  
 
* Here's a concept combining the darkened chain tiles in the waveform display with the single icon in track info: [[newicon_screencap]]. The new icon is small enough to use in TrackInfo and diagonally-oriented so a variant can be used as a tile.
 
* Here's a concept combining the darkened chain tiles in the waveform display with the single icon in track info: [[newicon_screencap]]. The new icon is small enough to use in TrackInfo and diagonally-oriented so a variant can be used as a tile.
** '''GA:''' Doesn't work so well in the waveform for me as [[Dark_chains_screencap]] - the tiles in the label track start moving for me if I look for a few seconds. More tiles seem to make them darker, so more oppressive. The new icon seems way too strong. I think it needs to be the same shade and thickness as the tiles if we put it in the Track Panel (or at least much closer than now). <p> So dunno, in summary, dark chains seems almost the closest at the moment, as long as we don't have the tiles in the Track Panel. Having them just in the vertical scale has a beneficial "bracketing" effect for me, except that's lost when the track is selected. How would it work if the tiles were off-white when the track is selected, so the pattern in the vertical scales of the grouped tracks forms a continuous column?  </p>
+
** '''GA:''' Doesn't work so well in the waveform for me as [[Dark_chains_screencap]] - the tiles in the label track start moving for me if I look for a few seconds. More tiles seem to make them darker, so more oppressive. The new icon seems way too strong. I think it needs to be the same shade and thickness as the tiles if we put it in the Track Control Panel (or at least much closer than now). <p> So dunno, in summary, dark chains seems almost the closest at the moment, as long as we don't have the tiles in the Track Control Panel. Having them just in the vertical scale has a beneficial "bracketing" effect for me, except that's lost when the track is selected. How would it work if the tiles were off-white when the track is selected, so the pattern in the vertical scales of the grouped tracks forms a continuous column?  </p>
 
*** '''AWD''' : I tried using the same shade and thickness as the waveform display tiles, and then using the same thickness with a darker shade, in the Track Info and on the toolbar button. It looked off to me -- not in the characteristic style of an icon. I tried to model the icon after the existing toolbar icon, but make it diagonal -- I think it's strength is a good thing. It's size/angle are constrained mostly by the height of the Track Info titlebar... so if we don't use it there we can open things up a bit... off-white tiles when track is selected sounds like a good idea to me.
 
*** '''AWD''' : I tried using the same shade and thickness as the waveform display tiles, and then using the same thickness with a darker shade, in the Track Info and on the toolbar button. It looked off to me -- not in the characteristic style of an icon. I tried to model the icon after the existing toolbar icon, but make it diagonal -- I think it's strength is a good thing. It's size/angle are constrained mostly by the height of the Track Info titlebar... so if we don't use it there we can open things up a bit... off-white tiles when track is selected sounds like a good idea to me.
  
* I think the next attempt will be: use the "dark chains" style in the waveform display, and in just the vertical ruler area of track panel. And, with linking on, display lightened chains in the vertical ruler area of the selected track. And then for the toolbar button, I guess create an icon based on the "dark chains" style chain tile. Here is that: [[dark_chains_mod_screencap]] (except the chains for the selected track are drawn darker, which looked a little better to me).
+
* I think the next attempt will be: use the "dark chains" style in the waveform display, and in just the vertical ruler area of Track Control Panel. And, with linking on, display lightened chains in the vertical ruler area of the selected track. And then for the toolbar button, I guess create an icon based on the "dark chains" style chain tile. Here is that: [[dark_chains_mod_screencap]] (except the chains for the selected track are drawn darker, which looked a little better to me).
** '''DRB:''' I don't think that having a chain background in the vertical ruler area has enough contrast, especially for the visually impaired. The vertical ruler area, especially if all tracks are collapsed can be very small. An icon, somewhere in the track panel info area, which included black would provide better contrast. I do appreciate that it's not obvious where to put such an icon if it has to be visible when a track is collapsed. I just think that the chain background in the vertical ruler is highly questionable from an accessiblity point of view.
+
** '''DRB:''' I don't think that having a chain background in the vertical ruler area has enough contrast, especially for the visually impaired. The vertical ruler area, especially if all tracks are collapsed can be very small. An icon, somewhere in the Track Control Panel info area, which included black would provide better contrast. I do appreciate that it's not obvious where to put such an icon if it has to be visible when a track is collapsed. I just think that the chain background in the vertical ruler is highly questionable from an accessiblity point of view.
 
*** '''AWD:''' I personally really like way the icon in the Track Info worked in [[Newicon_screencap]] but Gale didn't think it was so hot. It's hard to keep the size and shape exactly the same between that icon, the toolbar button, and chain tiles, but if size can differ while angle is the same maybe a small icon could be drawn on the track info at a 45-degree angle. At the dimensions I'm thinking it wouldn't affect the title length as much. I'll work on this after getting some other stuff checked in, hopefully I'll have a new screenshot up some time Monday (8 March 2010).
 
*** '''AWD:''' I personally really like way the icon in the Track Info worked in [[Newicon_screencap]] but Gale didn't think it was so hot. It's hard to keep the size and shape exactly the same between that icon, the toolbar button, and chain tiles, but if size can differ while angle is the same maybe a small icon could be drawn on the track info at a 45-degree angle. At the dimensions I'm thinking it wouldn't affect the title length as much. I'll work on this after getting some other stuff checked in, hopefully I'll have a new screenshot up some time Monday (8 March 2010).
*** '''Gale:''' My only real issue with the icon(apart possibly it was too strong/large) was the truncation of the track name. Like you said earlier, the icon has got to be visible when track is collapsed, so that only leaves the roll up/down button and the overlap between Track Panel and vertical scale.
+
*** '''Gale:''' My only real issue with the icon(apart possibly it was too strong/large) was the truncation of the track name. Like you said earlier, the icon has got to be visible when track is collapsed, so that only leaves the roll up/down button and the overlap between Track Control Panel and vertical scale.
 
* '''AWD:''' Here are a couple more. First, with just a little chain that doesn't really truncate track names that much (track names can always be truncated by the width of the titlebar, and chopping off one additional character doesn't seem like much of a loss to me): [[darkchains_mod2_screencap]]. Second, this one does all that plus has the chain tiles in the ruler area (it's redundant but that might be ok? iunno, thought i'd give it a whack): [[darkchains_mod2a_screencap]].
 
* '''AWD:''' Here are a couple more. First, with just a little chain that doesn't really truncate track names that much (track names can always be truncated by the width of the titlebar, and chopping off one additional character doesn't seem like much of a loss to me): [[darkchains_mod2_screencap]]. Second, this one does all that plus has the chain tiles in the ruler area (it's redundant but that might be ok? iunno, thought i'd give it a whack): [[darkchains_mod2a_screencap]].
 
* '''Gale:''' I'm OK with tiles in the ruler, but it's probably effectively not there for VI users. Icon in the track name still doesn't quite make sense to me - can it appear to right of the dropdown arrow, pushing that along to left? I assume the icon can't straddle the name/scale boundary as you haven't commented, but I still quite fancy that idea.
 
* '''Gale:''' I'm OK with tiles in the ruler, but it's probably effectively not there for VI users. Icon in the track name still doesn't quite make sense to me - can it appear to right of the dropdown arrow, pushing that along to left? I assume the icon can't straddle the name/scale boundary as you haven't commented, but I still quite fancy that idea.
Line 88: Line 88:
 
**** '''A color-only scheme'''. This means the Track Info background for sync-selected tracks will be light blueish grey, not white. The Track Info will look basically like in [[light_chains_screencap]] but without the chain tiles. If this is going to be a problem tell me '''now''' before I put that logic back in. And then there's waveform display -- it's possible to have the selection change the waveform colors. Maybe a scheme for the waveform would be something like: 1. Use a slightly bolder color for selection. 2. Use a lighter color for sync-selection. 3. Waveform colors change in selected tracks within the selection region (selection is "over" the waveform). 4. In sync-selected tracks, waveform colors don't change within the selection region (selection is "behind" the waveform).
 
**** '''A color-only scheme'''. This means the Track Info background for sync-selected tracks will be light blueish grey, not white. The Track Info will look basically like in [[light_chains_screencap]] but without the chain tiles. If this is going to be a problem tell me '''now''' before I put that logic back in. And then there's waveform display -- it's possible to have the selection change the waveform colors. Maybe a scheme for the waveform would be something like: 1. Use a slightly bolder color for selection. 2. Use a lighter color for sync-selection. 3. Waveform colors change in selected tracks within the selection region (selection is "over" the waveform). 4. In sync-selected tracks, waveform colors don't change within the selection region (selection is "behind" the waveform).
 
**** '''Vertical broken line near the right edge of the vertical ruler'''. To me this will need extra horizontal space. So do we make a gap between the ruler and waveform? I'm pretty sure everyone will hate that. This falls in the general class of bracketing schemes. So other ideas in that vein are OK, but I guess I want to hear something that makes sense in terms of placement before I work on any of them.
 
**** '''Vertical broken line near the right edge of the vertical ruler'''. To me this will need extra horizontal space. So do we make a gap between the ruler and waveform? I'm pretty sure everyone will hate that. This falls in the general class of bracketing schemes. So other ideas in that vein are OK, but I guess I want to hear something that makes sense in terms of placement before I work on any of them.
*** '''Gale:''' Straddling could work, if not by transparency of icon, by simply removing the thick vertical boundary line where it's underneath the icon. I wouldn't (A) envisage/support changing the sync-selected Track Panel colour - just providing a coloured border along the vertical scale right edge and/or the Track Panel/scale straddle line. Maybe just along the straddle line would work best (that saves a gap between left edge and waveform, as you say).   
+
*** '''Gale:''' Straddling could work, if not by transparency of icon, by simply removing the thick vertical boundary line where it's underneath the icon. I wouldn't (A) envisage/support changing the sync-selected Track Panel colour - just providing a coloured border along the vertical scale right edge and/or the Track Control Panel/scale straddle line. Maybe just along the straddle line would work best (that saves a gap between left edge and waveform, as you say).   
 
**** I'm fine with widening the Track Panel, but (B) I still don't want the icon in the name. I really think the icon has to be to right of the name.
 
**** I'm fine with widening the Track Panel, but (B) I still don't want the icon in the name. I really think the icon has to be to right of the name.
 
**** I don't necessarily see the three ideas as mutually exclusive, and there could be variants of each, such as using the border colour to draw the sync-selection by means of a number of thin (diagonal?) lines. If the normal selection region is over the top of the waveform then the sync-selection might need to be so too.
 
**** I don't necessarily see the three ideas as mutually exclusive, and there could be variants of each, such as using the border colour to draw the sync-selection by means of a number of thin (diagonal?) lines. If the normal selection region is over the top of the waveform then the sync-selection might need to be so too.
**** The only things that aren't "on" to my view are (A) and (B) above, plus (C) insufficient contrast between the normal elements of the GUI and those switched on by linking and D) an over-oppressive look if we use waveform tiles. Please don't feel you are being nit-picked - we had the same problems about visually defining linking before, which I feel was a significant reason we decided on labels determining the linking! Apart from the Track Panel icon, what we have now is a definite improvement. The main residual problem to me is that because we don't want to be over-oppressive with tiles in the waveform, we perhaps need to be more forceful to left of the waveform. And certainly you'd have my support and I think Vaughan's for having a bolder selection colour. I can hardly think of a text or audio editor that has so little contrast between selected and non-selected.       
+
**** The only things that aren't "on" to my view are (A) and (B) above, plus (C) insufficient contrast between the normal elements of the GUI and those switched on by linking and D) an over-oppressive look if we use waveform tiles. Please don't feel you are being nit-picked - we had the same problems about visually defining linking before, which I feel was a significant reason we decided on labels determining the linking! Apart from the Track Control Panel icon, what we have now is a definite improvement. The main residual problem to me is that because we don't want to be over-oppressive with tiles in the waveform, we perhaps need to be more forceful to left of the waveform. And certainly you'd have my support and I think Vaughan's for having a bolder selection colour. I can hardly think of a text or audio editor that has so little contrast between selected and non-selected.       
 
    
 
    
  

Revision as of 14:39, 17 November 2010

Proposal pages help us get from feature requests into actual plans. This page is about fixing the linked-labels feature of Audacity. The text and discussion makes it clear that this a design problem, not just one of implementing missing functionality.
Proposal pages are used on an ongoing basis by the Audacity development team and are open to edits from visitors to the wiki. They are a good way to get community feedback on a proposal.


  • Note: Proposals for Google Summer of Code projects are significantly different in structure, are submitted via Google's web app and may or may not have a corresponding proposal page.



Proposed Features

As of 10 February 2010 linking and everything to do with it is a mess. Here are some proposals for how to fix it.


Developer Backing

Backing for doing something to fix this:

  • Al, James, Martyn, Vaughan, Gale, Ashton.


Common Things

AWD: I assume any real solution to the linking woes involves:

  • Fixing the iterators to use the original definition of a track group: n audio tracks followed by m label tracks (currently only one label track is allowed).
  • Make it easier for code that needs linking behavior to get it correctly.
  • Get rid of all the incorrect re-implementations of the iterators (see pretty much every place where grouping behavior is handled: cut, paste, clear, just about every effect etc.) and replace by using those easier methods.

Linking affects selection but not action

AWD: This has been proposed by James. The basic idea is that when linking is enabled to only allow selection by group (no selection of tracks independent of their groups). Then actions like Cut/Paste/effects/generators don't have to know about linking at all (major simplification of code).

This is perfect for removing audio, but for inserting it, it's hard to control which tracks receive audio (it's also hard to control which tracks are copied to the clipboard). Some proposals:

  • Only insert to the first selected track. If a user wants to insert to a different track s/he can move it.
  • Some sort of refinement where the user can select which track(s?) is(/are?) to receive audio or be copied.

I (Al) think that the major strength of this idea is simplicity and orthogonality. Linking isn't even considered in effects, or in Cut/Paste/Clear/etc.

The major weakness is the loss of selection granularity. If there's a refinement where the user can select which tracks receive/copy then that adds the granularity back in a different way, adding back some of the complexity of grouping as it is. And the user-facing part of that complexity would probably have to remain even with linking disabled, if linking is not to effect anything but the selection.

Linking as second-tier selection

AWD: I think the current way we do linking essentially creates a second tier of selection. We just don't present it that way to the user or to ourselves. So my proposal goes something like:

  • Selection means exactly what it does now.
  • Show users the "second-tier selection" somehow. Maybe a diagonally-striped selection tint.
  • Add bool Track::IsGroupSelected(), which checks whether any track in this track's group is selected using the group iterators.
  • Use that in all the peripheral places possible instead of dealing with the group iterators.
  • Get rid of the distinction between Track::HandleClear() and Track::Clear(). Track::Clear() shouldn't be clearing from other tracks; if it's dead-simple to figure out whether a track is in a selected group there's no need to put "group clearing" or "group pasting" in the Track class.

James: +1. Well argued! Can we come up with a better name than 'second tier'? I think it would help sell this suggestion. I'm looking for something that gets across the idea that this is about preserving time. Do we call our two types of selection audio-selection and synchro-selection? Can we also firm up the idea of how to represent the 'less intense' selection visually? Diagonal bands are too like 'on-demand' for me and would cause confusion. Perhaps something to tie-in to the timeline, or perhaps something (watermark?) to tie into the chain symbol? Nothing stops us changing the chain symbol to something better.

    • AWD: I'm open to just about anything for a name, and for visuals. Synchro selection sounds fine. As for visuals... A lighter selection tint with a watermark could work really well. I'll give that a shot.
    • David: Just checking something. If a user wants to insert/paste some audio at the cursor position in a group of tracks, then is there some action to take on the audio in the other tracks which is what the user wants in the vast majority of cases. If not, then the added complexity of this proprosal may not be worth it - using the previous proposal, the user can always ungroup, move and paste audio as required, and then regroup if desired. For example, if the cursor is in the middle of one or more clips in the other tracks, is it going to be normally right just to time shift the audio in these tracks, of might the user reasonalby often want to leave some of these clips unchanged but shift the clips that started at a later time.
      • AWD: This proposal basically keeps the linking behavior we had before (though it's hopefully implemented in a better way). If you paste into just one track, all other tracks in its group will be time-shifted.

How to display this selection

We need a visual indication of the secondary selection. In my opinion (AWD) we need to indicate in the selection region of the waveform display and in the track info. Some ideas that have come up on the list:

  • I first tried slightly lightened selection colors in both places and drawing lightened diagonal chain links. This has problems: loss of visual contrast between selected and unselected regions, oppressive look of chains. Currently the link tiles are a different shape than the icon in the toolbar -- so if we indeed use the link tiles we'll want a new toolbar icon. Here's a screencap of what it looks like now, for reference: light_chains_screencap.
    • A modification to this idea could be drawing darkened chain links instead of a selection. This might interfere with text in track info, may not be distinctive enough. Here is a screencap: dark_chains_screencap. To me (AWD) this retains many of the original problems, is not a major improvement. Maybe a slight improvement.
      • GA: I find it a moderate improvement. Not physically painful for me like the first one. Could you live with the tiles only in the vertical scale, not in the Track Control Control Panel? I can hardly think how that would ever work.
  • Brackets/braces. Draw brackets around groups on one side of the track area. Draw brackets around sync selection.
  • A single link icon in a specific place in the track info. Probably requires horizontally expanding the track info when linking is enabled. Or not, as in the icons_and_stripes_screencap. I think the icons in TrackInfo look pretty good, and could probably be tweaked to look better (maybe widen TrackInfo by 10px or so -- everyone is getting those horrible widescreen displays, so taking up more horizontal space is doing them a favor in some ways).
    • GA: Track Control Control Panel looks a lot cleaner - but will people appreciate truncation of the Track Name, even with another 10px? I think an enhancement to display track name in a tooltip would be mandatory if we did this. But did you try putting the icon to right of the sample format?

      The middle stripe doesn't work for me at all, with it being necessarily on top when the top and bottom isn't. Even if the selected colour was always on top as I prefer, the middle stripe seems overkill. And unless you had the sync-selection colour lighter than the regular selection, I think these stripes won't work.

      • AWD: It looks like the horizontal stripes are a no-go (they don't look good, they'll be really hard to implement). As far as icon placement goes, the only elements of the Track Info that are always shown are the titlebar and the minimize/maximize button. There's plenty of room down by the min/max button, but it just doesn't seem right to put it down there for some reason.
      • GA: Sorry, I forgot the track could be collapsed. The only other idea that crossed my mind was to move the down arrow in track name to left, and actually put the icon to right of it, crossing the boundary between Track Control Panel and vertical scale, but not running into the numbers on the scale. So the scale would need to be a bit wider. And possibly the icon overlaps the tracks, half at the bottom of one track, half at the top of the track underneath, to emphasise the linking.
  • Horizontal-striped selection and dashed cursor. Currently a horizontally-striped selection wouldn't work in the waveform display because it would often be masked by the waveform (this is why I used diagonal link tiles). But if we instead drew the selection alpha-blended over the waveform this could work.
    • Update: we can't draw an alpha-blended selection with wxDC. wxGraphicsContext allows this (uses Cairo with wxGTK, GDI+ with wxMSW and CoreGraphics with wxMac). Switching over to wxGraphicsContext would be a pretty big change. Noting LRN's experiment with Cairo, maybe wxGraphicsContext could give us similar enhancements (plus alpha-blended drawing) with fewer changes? Anyway, here's what this display idea would look like (doctored up with the GIMP): icons_and_stripes_screencap. I don't really like the horizontal, alpha-blended stripes. They get lost in the waveform. Maybe some of that is because the colors suck (I chose them so the background of the selected tracks would be about the same, which makes the waveform look pukey). It's really easy for me to try different colors/alpha levels (just a few bucket fills) so if you have ideas let me know.
      • David: I agree about the alpha-blended stripes. The only other variation on this theme that I can think of is to not have alpha blending, but to make the number of stripes even, for example 6 or 8, so that even with high amplitudes there's a difference between top and bottom. The horizontal striped do have the advantage that they still work well when the duration of the selected time range becomes small.
  • Here's a concept combining the darkened chain tiles in the waveform display with the single icon in track info: newicon_screencap. The new icon is small enough to use in TrackInfo and diagonally-oriented so a variant can be used as a tile.
    • GA: Doesn't work so well in the waveform for me as Dark_chains_screencap - the tiles in the label track start moving for me if I look for a few seconds. More tiles seem to make them darker, so more oppressive. The new icon seems way too strong. I think it needs to be the same shade and thickness as the tiles if we put it in the Track Control Panel (or at least much closer than now).

      So dunno, in summary, dark chains seems almost the closest at the moment, as long as we don't have the tiles in the Track Control Panel. Having them just in the vertical scale has a beneficial "bracketing" effect for me, except that's lost when the track is selected. How would it work if the tiles were off-white when the track is selected, so the pattern in the vertical scales of the grouped tracks forms a continuous column?

      • AWD : I tried using the same shade and thickness as the waveform display tiles, and then using the same thickness with a darker shade, in the Track Info and on the toolbar button. It looked off to me -- not in the characteristic style of an icon. I tried to model the icon after the existing toolbar icon, but make it diagonal -- I think it's strength is a good thing. It's size/angle are constrained mostly by the height of the Track Info titlebar... so if we don't use it there we can open things up a bit... off-white tiles when track is selected sounds like a good idea to me.
  • I think the next attempt will be: use the "dark chains" style in the waveform display, and in just the vertical ruler area of Track Control Panel. And, with linking on, display lightened chains in the vertical ruler area of the selected track. And then for the toolbar button, I guess create an icon based on the "dark chains" style chain tile. Here is that: dark_chains_mod_screencap (except the chains for the selected track are drawn darker, which looked a little better to me).
    • DRB: I don't think that having a chain background in the vertical ruler area has enough contrast, especially for the visually impaired. The vertical ruler area, especially if all tracks are collapsed can be very small. An icon, somewhere in the Track Control Panel info area, which included black would provide better contrast. I do appreciate that it's not obvious where to put such an icon if it has to be visible when a track is collapsed. I just think that the chain background in the vertical ruler is highly questionable from an accessiblity point of view.
      • AWD: I personally really like way the icon in the Track Info worked in Newicon_screencap but Gale didn't think it was so hot. It's hard to keep the size and shape exactly the same between that icon, the toolbar button, and chain tiles, but if size can differ while angle is the same maybe a small icon could be drawn on the track info at a 45-degree angle. At the dimensions I'm thinking it wouldn't affect the title length as much. I'll work on this after getting some other stuff checked in, hopefully I'll have a new screenshot up some time Monday (8 March 2010).
      • Gale: My only real issue with the icon(apart possibly it was too strong/large) was the truncation of the track name. Like you said earlier, the icon has got to be visible when track is collapsed, so that only leaves the roll up/down button and the overlap between Track Control Panel and vertical scale.
  • AWD: Here are a couple more. First, with just a little chain that doesn't really truncate track names that much (track names can always be truncated by the width of the titlebar, and chopping off one additional character doesn't seem like much of a loss to me): darkchains_mod2_screencap. Second, this one does all that plus has the chain tiles in the ruler area (it's redundant but that might be ok? iunno, thought i'd give it a whack): darkchains_mod2a_screencap.
  • Gale: I'm OK with tiles in the ruler, but it's probably effectively not there for VI users. Icon in the track name still doesn't quite make sense to me - can it appear to right of the dropdown arrow, pushing that along to left? I assume the icon can't straddle the name/scale boundary as you haven't commented, but I still quite fancy that idea.
    • AWD: It's perfectly possible to draw the icon straddling the border between title and ruler. I just don't think it's a good idea. The icon would just be placed in no man's land, it would look like a bug. Although in my screenshots the ruler captions aren't taking up much space, in general they assume they can use the whole width. If the icon moves into the ruler area we'll have to make room for it somehow, just as we do in the title area now. If it straddles the border then you have a thick vertical separator running through the middle, which muddles things up. We'd have to use a much bigger, bolder icon so that the separator wouldn't interfere.

      Are you OK with me checking this in? It's a bit annoying to keep track of patches for indication proposals so I can revert them any time I want to work on anything else. Recent proposals are a clear improvement over what's in SVN now and won't affect anything that goes into a release until we enable EXPERIMENTAL_LINKING.

    • James: Al, I am OK with you checking in changes which you feel are clear improvements. We need to see how the link icon looks when the track title overprints it. I think that will force a lighter look, but am not sure. The smaller linking icons are an improvement. Our link icon is not yet as good as the one in gimp - to be honest the initial one on the button was pretty terrible. At this stage I am becoming less worried about looks, partly its familiarity, and more concerned that the functionality is right.
      • AWD: The track title won't overprint the link icon -- the maximum width for the title text is shortened when the icon appears. I guess I'd expect the GIMP to have nicer looking graphics than us, it being a graphics program (if there's a GIMP dev with worse graphic design skills than me I'll eat my hat). I'd suggest ripping theirs off (in accordance with their license and all that) but if we're doing link tiles in the waveform display I think they just about have to be diagonal. And tiles really ought to be a different style from the icons, but how much can they differ and still be similar enough to correlate. It's tricky. A real graphic designer could probably do it in 5 minutes.
      • JKC: Shortening the title is not on. It's already too short for many people.
      • Gale: I agree, I felt that from the outset. I can see problems with "straddling" the panel/scale (at 800x600, the negative scale values take up full width). But if we don't want the icon in the collapse button, I see no choice except straddling, or making space to right of the name arrow, which would be unused when there was no icon. Could the icon be semi-transparent?

        I'd still like to consider some kind of vertical border colour e.g running down the right-hand edge of the scale. It could be a dotted line. The icon could be the same colour on the button at least. Just possibly, this one colour could be used in moderation as part of the tiles. I know this kind of goes against the idea of a "fainter" colour for sync-selectedness, but I think the icon at least is going to have to be fairly bold to work. And frankly if only we could use two bolder colours when a region was selected (one for the selected waveform, one for the selected background), many of these "tiles in the waveform" problems would disappear - the sync-selection could be lighter yet still have enough contrast. Personally I wouldn't even care if we represented linking entirely by colour, without tiles in the waveform at all. I think the tiles will end up pleasing almost no-one - either too prominent or too hard to see according to POV.

      • AWD: If shortening the title text is not going to happen then let's widen the track info by the 10 pixels we're losing. Are we going to blow this whole process wide open again over 10 pixels?

        Gale, if you want straddling then doctor up a screenshot showing how it can work without looking ridiculous. I honestly don't see it. There's no way we can have a small icon straddling a thick line like that and have it be recognizable. As for a semi-transparent icon, the whole reason there's a dark-colored icon is that VI users might have a hard time seeing the semi-transparent link tiles.

        I'm not sure exactly where to draw a dotted line such that it would signify something and not just get in the way of existing elements. I'm not ruling this idea out. I think we'd have to make horizontal space for it. Cluttering the right edge of the ruler is worse than cluttering the left edge, because the tick-marks are on the right edge.

        If we do linking indication only by color then we probably have to make the selection color bolder in the waveform display. I'm willing to do that, but it could be a significant change to the look and feel of the program so we should make sure there's consensus. In a scheme where we indicate only by color we'll need a shade for the Track Info of sync-selected tracks. If you recall, a complaint about the original indication scheme was that sync-selected tracks no longer had a white background in the Track Info (they used an in-between color). I have no personal stake here, I'm fine with coloring it in. But if we hadn't been constrained to keeping the Track Info white we never would have even bothered with the little icon in the Track Info, and we wouldn't be worrying about 10 pixels (10 PIXELS!!!!!) of track title space.

      • I'm tired of spending lots of time creating indication schemes and hearing nothing but nitpicky complaints. I know it's inherently hard to collaborate on UI stuff given time and space barriers between us. That's not anyone's fault. But I'm really frustrated with this side-to-side shuffling. There are linking issues I need to make progress on and I'm shuffling indication proposal patches in and out of my tree. There are a few ideas here and I'm willing to try them but I want some answers beforehand so I'm not stuck doing the same old crap again.
        • Widen the track info by 10 pixels. There is light at the end of the tunnel and it's in this direction. If anyone is going to complain about this please try to do it here and now before I waste my time coding it.
          • James:. Al, don't try this out. I think I can find a better solution. I totally understand the frustration. In the past I've made significant visual UI changes with minimal discussions and no problems - e.g. widening of the Mute/Solo buttons, changing the play and record cursors to have two colours rather than one, replacement of the label track flags with 'strange' <0> symbols. I have a number of ideas that I think could work well for linking. Please progress the linking issues and I'll have a look at how we display linking.
        • A color-only scheme. This means the Track Info background for sync-selected tracks will be light blueish grey, not white. The Track Info will look basically like in light_chains_screencap but without the chain tiles. If this is going to be a problem tell me now before I put that logic back in. And then there's waveform display -- it's possible to have the selection change the waveform colors. Maybe a scheme for the waveform would be something like: 1. Use a slightly bolder color for selection. 2. Use a lighter color for sync-selection. 3. Waveform colors change in selected tracks within the selection region (selection is "over" the waveform). 4. In sync-selected tracks, waveform colors don't change within the selection region (selection is "behind" the waveform).
        • Vertical broken line near the right edge of the vertical ruler. To me this will need extra horizontal space. So do we make a gap between the ruler and waveform? I'm pretty sure everyone will hate that. This falls in the general class of bracketing schemes. So other ideas in that vein are OK, but I guess I want to hear something that makes sense in terms of placement before I work on any of them.
      • Gale: Straddling could work, if not by transparency of icon, by simply removing the thick vertical boundary line where it's underneath the icon. I wouldn't (A) envisage/support changing the sync-selected Track Panel colour - just providing a coloured border along the vertical scale right edge and/or the Track Control Panel/scale straddle line. Maybe just along the straddle line would work best (that saves a gap between left edge and waveform, as you say).
        • I'm fine with widening the Track Panel, but (B) I still don't want the icon in the name. I really think the icon has to be to right of the name.
        • I don't necessarily see the three ideas as mutually exclusive, and there could be variants of each, such as using the border colour to draw the sync-selection by means of a number of thin (diagonal?) lines. If the normal selection region is over the top of the waveform then the sync-selection might need to be so too.
        • The only things that aren't "on" to my view are (A) and (B) above, plus (C) insufficient contrast between the normal elements of the GUI and those switched on by linking and D) an over-oppressive look if we use waveform tiles. Please don't feel you are being nit-picked - we had the same problems about visually defining linking before, which I feel was a significant reason we decided on labels determining the linking! Apart from the Track Control Panel icon, what we have now is a definite improvement. The main residual problem to me is that because we don't want to be over-oppressive with tiles in the waveform, we perhaps need to be more forceful to left of the waveform. And certainly you'd have my support and I think Vaughan's for having a bolder selection colour. I can hardly think of a text or audio editor that has so little contrast between selected and non-selected.


Other suggestions

(These are smaller ideas that could fit under any scheme)

  • AWD: Possibly change the definition of track groups so that if you have some audio tracks but no label tracks it's still a group. I understand that the original point of this feature was to keep labels synchronized, but it turns out after taking the full implications into account that labels are really secondary to the feature.
    • JKC: +1. Makes the linking icon more useful.
    • AWD: This has been implemented
  • AWD: Along similar lines, don't use label tracks as the boundary between groups; instead have a dedicated group separator. That way a label track can be at the top of a group, in the middle, anywhere the user wants.
    • JKC: +1 - but we could go live without that. Perhaps we could add an 'edge' to the label tracks (now), and later on make that edge into a track in its own right. Particularly like this idea of a dedicated group separator as labels will in time be able to live on audio tracks (space saver).
    • GA: +1 also - to me this is far more obvious than tiles in the waveform and in the vertical scale - the only real problem I see is that the colour must be significantly different from the yellow focus colour, and we have to accept making the interface more colourful and contrasted. This also gives the possibility of using the decided upon colour to describe the "lesser" selection.
  • David: When it's been decided which proposal to adopt, I'll add some suggestions about additional keystokes etc to ensure this is all accessible.
  • AWD: On the mailing list James suggested leaving linked tracks alone when pasting at/beyond the end of a linked track (because there's nothing to keep in sync). I'm on the fence.
  • AWD: As of 24 Feb 2010 I have changed some effects to apply equally to selected and sync-selected tracks because they change tempo within the selected region and this keeps those regions in sync. I've heard mixed things about it and I'm on the fence.
    • AWD: These effects have been reverted to old behavior
  • AWD: New menu items: Edit->Select->In All Sync-selected Tracks and > In All Tracks
    • AWD: This has been implemented.
    • GA: Still somewhat prefer Select > "In All Linked Tracks" because it keeps a very unobvious term out of the interface in favour of something more intuitive. The item actually does both things.