Karya, built on Sun Nov 26 01:04:37 PST 2017 (patch 0a920b2bde70c0cbac8ee09d158064798b61bbe5)

Ui.Sel

Description

The selection type.

Synopsis

# Documentation

type Num = Int Source #

Index into the the selection list.

data Selection Source #

Constructors

 Selection Fieldsstart_track :: !TrackNumThe position the selection was established at. Since a selection can logically go off the edge of a block, this is not necessarily a valid TrackNum!start_pos :: !TrackTime cur_track :: !TrackNumThe position the selection is now at. The tracks are an inclusive range, the pos are half-open. This is because these pairs are meant to be symmetrical, but the c++ layer only supports half-open pos ranges. I don't think there's much I can do about this.Unlike start_track, this should be a valid TrackNum, because cmds want to use it as the focused track.cur_pos :: !TrackTime orientation :: !Orientation

Instances

 # Methods # Methods # Methods # MethodsshowList :: [Selection] -> ShowS # # MethodsformatList :: [Selection] -> Doc Source #

None is used for display selections, which don't need arrows on them.

Constructors

 None Positive Negative

Instances

 # Methods # Methods # Methods # Methods # Methods # MethodsshowList :: [Orientation] -> ShowS #

A point is a selection with no duration.

Start and end tracks, from small to large.

TrackNums covered by the selection. Since Selections may have out of range tracks, I need the number of tracks to generate a list of valid TrackNums.

Start and end points, from small to large.

Extend the current track and pos, but keep the start track and pos the same.

Make a selection that covers both the given selections. It tries to set start and cur values based on the direction of the merge, assuming you are starting with the first selection and adding the second.