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

Marek Peteraj marpet at naex.sk
Sun May 30 11:16:04 PDT 2004


On Sun, 2004-05-30 at 16:56, Jesse Chappell wrote:
> Marek Peteraj wrote on Sun, 30-May-2004:
> 
>  > Proposal:
>  > --------
>  > i) [track] selection should happen on button-press rather than button release
>  > ii) [track] selection should happen on both (shift)left-click and right-click,
>  > i.e. invoking context menu on track header selects track 
>  
> Yes, this is undisputed.  It has been a simple matter of implementation
> oversight that this hasn't been fixed already.
> 
>  
>  > Proposal:
>  > --------
>  > i) region selection/clicking in the region editor should discard track
>  > selection entirely(deseletcs all tracks)
> 
> So you are suggesting that track and region selections should
> be mutually exclusive? 

Not entirely. According to the session->track/bus->region hierarchy the
region selection follows track selection but not the other way around.

>  This appears to be harmless in light of
> your other proposals before and after this one.  However, if any
> of those other proposals don't work, neither will this one.

They will. :)

> 
> Also, note that track selections and *range* selections are tied 
> intrinsically together, and your proposal should address that.

Could you explain? To me it depends on point of view and applies to both
regions and ranges.

> You seem to avoid all mention of range selection in your posts,
> I take it that you never use it? :)

I do...
Ok if you want. :)

Let's repeat that for ranges.
Selection - only if rightclick happened on range
Play
Select
Edit
Nudge
Freeze

Let's look at the functions contained within these submenus:

Play
----

* play location
* play from cursor
* play from start

global functions. No changes here.

* play region
* play selected region
* loop region
* loop selected region

Region? Ranges are basically selections themseves and there's no
selection of range(s), no matter whether single or mulitple(at least
currently).

So we end up with:

* play range
* loop range

No (s) this time. Because we can only loop one range, the one we clicked
upon.

Select
------

The entire menu makes no sense for ranges.

Note that 'Select all' as a global function should be available for both
regions and tracks.


Freeze
------
is a definitive track based operation

Nudge
-----
all operations contained within this submenu are track based

Edit
----

* Cut
* Copy
* Paste
* Align
* Align relative

are definitely also range based operations, for both single and multiple
ranges.
They belong to frequently used category, again, i wouldn't group them at
all.

* insert region
* insert chunk
* insert ext. sndfile

are track based operations, can be grouped into 'insert'. 

* New region from selection
* Separate selection

range based operations, move to selection submenu.

And again, make the 'selection' submenu the main context menu. :)

> 
>  > ii) (shift)l/r-clicking on track header should select all regions
>  > contained within that track
> 
> You know my feelings on this one.  Which track operations do you
> see that actually operate on the regions individually?  The "nudge
> entire track" are ones.... but most of the others you've identified
> (insert, etc) have nothing to do with selected regions at all.

Not really, all operations that work for a single region or a multiple
selection of regions can also work for all regions in a track.

> Oh, and
> what if the user selected all the regions in a track by hand,
> would the *track* then become selected? :))

Guess what? I have no idea :))
But i'd say no for now. track->region, not the other way around.

Marek





More information about the Ardour-Dev mailing list