time
type: Specification
name: LV2 Time
shortdesc: Properties for describing time.
release:
  revision: 0.2
  created: 2012-02-28
created: 2011-10-05
developer: me
documentation: This is a vocabulary for precisely describing a position in time and the passage of time itself, in both real and musical terms. In addition to real time (e.g. seconds), two units of time are used: frames and beats. A frame is a numbered quantum of time. Frame time is related to real-time by the frame rate or sample rate, time:framesPerSecond. A beat is a single pulse of musical time. Beat time is related to real-time by the tempo, time:beatsPerMinute. Musical time additionally has a meter which describes passage of time in terms of musical bars. A bar is a higher level grouping of beats. The meter describes how many beats are in one bar.

A point in time
type: Class
subclass of: Position
comment: A point in time in some unit/dimension.

Position
type: Class
documentation: A point in time and/or the speed at which time is passing. A position is both a point and a speed, which precisely defines a time within a timeline.

Rate
type: Class
subclass of: Position
documentation: The rate of passage of time in terms of one unit with respect to another.

Position in time
type: Property
type: ObjectProperty
type: FunctionalProperty
range: Position

Beat within this bar
type: Property
type: DatatypeProperty
type: FunctionalProperty
domain: A point in time
range: float
comment: The beat number within the bar, from 0 to beatsPerBar.

Global position in bars
type: Property
type: DatatypeProperty
type: FunctionalProperty
domain: A point in time
range: long

Global position in beats
type: Property
type: DatatypeProperty
type: FunctionalProperty
domain: A point in time
range: double

beatUnit
type: Property
type: DatatypeProperty
type: FunctionalProperty
domain: Rate
range: nonNegativeInteger
documentation: Beat unit, the note value that counts as one beat. This is the bottom number in a time signature: 2 for half note, 4 for quarter note, and so on.

Beats per bar
type: Property
type: DatatypeProperty
type: FunctionalProperty
domain: Rate
range: float

Beats per minute
type: Property
type: DatatypeProperty
type: FunctionalProperty
domain: Rate
range: float
comment: Tempo in beats per minute.

Global position in frames
type: Property
type: DatatypeProperty
type: FunctionalProperty
domain: A point in time
range: long

Frames per second
type: Property
type: DatatypeProperty
type: FunctionalProperty
domain: Rate
range: float
comment: Frame rate in frames per second.

Speed
type: Property
type: DatatypeProperty
type: FunctionalProperty
domain: Rate
range: float
documentation: The rate of the progress of time as a fraction of normal speed. For example, a rate of 0.0 is stopped, 1.0 is rolling at normal speed, 0.5 is rolling at half speed, -1.0 is reverse, and so on.