[ardour-dev] UI review: Unifying the selection logic in ardour

Marek Peteraj marpet at naex.sk
Sun May 30 04:58:00 PDT 2004

Those who remember the discussion about the 'button-press' or
'selection-follows' selection model for regions, will probably remeber
the previous selection model aswell.
The situation seems to repeat itself for track selections. The current
selection model for tracks is basically the same as the previous
selection model for regions.

Currently, if you click on a track header of a track that isn't selected
and leave the button pressed, you'll see that the track isn't selected
yet, it gets selected by releasing the button. So track selections work
with mouse button-release while region selection works with

The philosophy behind the current region selection is that the selection
acts as a visual pointer which shows the user where changes happen, i.e.
the user will always know where the changes happen if he chooses to
apply an operation. As a consequence, a simple left-click selects, a
region move selects, a region copy should select the newly copied(torn
off) region that is being dragged(see previous UI review), trim selects
and right-click also selects, since it also provides the user with a set
of operations via a context menu. Thus, "button-press" or

i) selection should happen on button-press rather than button release
ii) selection should happen on both (shift)left-click and right-click,
i.e. invoking context menu on track header selects track 

Currently, selecting a region also selects the track to which it
belongs. Selecting more regions which are located on different tracks
selects those tracks aswell. So basically the track selection follows
region selection. Consider a scenario where more regions on different
tracks are selected -- rightclicking on one of the track headers doesn't
discard multiple track selection in the buttonpress model, so choosing a
track based operation would affect all tracks which share a multiple
region selection - in order to select just one of those tracks you'd
need to discard previous selection. Moreover the operation would affect
not just the regions which are selected but all regions contained within
those tracks. Also consider a scenario where a region is selected on one
track and the user chooses to select a second track, but the region
selection stays in place, which can mislead the user to think that a
track based operation would affect that region aswell, even if its
located on different track.

i) region selection/clicking in the region editor should discard track
selection entirely(deseletcs all tracks)
ii) (shift)l/r-clicking on track header should select all regions
contained within that track

Last but not least there's the question whether pressing buttons on a
track header should affect track selection.
It doesn't currently and it should stay this way.
A track/bus header mostly consists of state indicating buttons (r,m,s)
and buttons for changing visual appearance or visibility of
tracks/buses(v,h,a). Therefore:
i) changing visual appearance or visibility should not affect track
ii) buttons that indicate state (on/off) should not affect track
Note: i'm ignoring p,g,e for now. 


More information about the Ardour-Dev mailing list