EventTrack (Media Authoring with Java API)
Date: 2016-02-05

tv.amwa.maj.model

## Interface EventTrack

- All Superinterfaces:
    InterchangeObject, MediaEntity, MetadataObject, Track
  All Known Implementing Classes:
    EventTrackImpl

      public interface EventTrack
      extends Track

  Specifies a container for a sequence of events.

  The specified rules for an event track are as follows:

  - An event track shall have a concrete segment that is either a concrete sub-class of `Event` or a `Sequence`.
  - If an event track has a sequence, then the sequence shall conform to the following rules:
    - All segments in the sequence shall be events.
    - All events in the sequence shall belong to the same concrete sub-class of event.
    - All events in the sequence shall have the same data definition as the sequence.
    - In a sequence, the position of each event shall be greater than or equal to the position of the event preceding it in the sequence.
  See Also:
    `Segment`, `Sequence`, `Event`

- - ### Method Summary

    All Methods Instance Methods Abstract Methods
    Modifier and Type | Method and Description
    --- | ---
    `EventTrack` | `clone()` Create a cloned copy of this event track.
    `Rational` | `getEventTrackEditRate()` Returns the edit rate for this track, which specifies the units in which the events specify their starting time and duration
    `long` | `getEventTrackOrigin()` Gets the event track origin of this event track, which specifies the point, in edit units, in a track from which relative times are measured.
    `void` | `setEventTrackEditRate(Rational eventTrackEditRate)` Sets the edit rate for this track, which specifies the units in which the events specify their starting time and duration
    `void` | `setEventTrackOrigin(Long eventTrackOrigin)` Sets the event track origin of this event track, which specifies the point, in edit units, in a track from which relative times are measured.

    - ### Methods inherited from interface tv.amwa.maj.model.Track

      `getDataDefinition, getEssenceTrackNumber, getTrackID, getTrackName, getTrackSegment, setEssenceTrackNumber, setTrackID, setTrackName, setTrackSegment`

    - ### Methods inherited from interface tv.amwa.maj.model.InterchangeObject

      `addApplicationPlugin, clearApplicationPlugins, containsApplicationPlugin, containsApplicationPlugin, countApplicationPlugins, deepEquals, disableGenerationTracking, enableGenerationTracking, equals, getApplicationPlugins, getGeneration, getLinkedGenerationID, getObjectClass, isGenerationTracked, removeApplicationPlugin, removeApplicationPlugin, setLinkedGenerationID, setObjectClass, toString`

    - ### Methods inherited from interface tv.amwa.maj.industry.MediaEntity

      `getPersistentID, setPersistentIndex`

- - ### Method Detail

    - #### getEventTrackEditRate

          Rational getEventTrackEditRate()

      Returns the edit rate for this track, which specifies the units in which the events specify their starting time and duration

      Returns:
        Edit rate for this track.

    - #### setEventTrackEditRate

          void setEventTrackEditRate(Rational eventTrackEditRate)
                              throws NullPointerException

      Sets the edit rate for this track, which specifies the units in which the events specify their starting time and duration

      Parameters:
        `eventTrackEditRate` - Edit rate for this track.
      Throws:
        `NullPointerException` - The given edit rate is `null`

    - #### getEventTrackOrigin

          @PositionType
          long getEventTrackOrigin()
                                          throws PropertyNotPresentException

      Gets the event track origin of this event track, which specifies the point, in edit units, in a track from which relative times are measured. This is an optional property.

      Returns:
        Event track origin of this event track.
      Throws:
        `PropertyNotPresentException` - The optional event track origin property is not present in this event track.

    - #### setEventTrackOrigin

          void setEventTrackOrigin(@PositionType
                                   Long eventTrackOrigin)

      Sets the event track origin of this event track, which specifies the point, in edit units, in a track from which relative times are measured. Set this optional property to `null` to omit it.

      Parameters:
        `eventTrackOrigin` - Event track origin of this event track.

    - #### clone

          EventTrack clone()

      Create a cloned copy of this event track.

      Specified by:
        `clone` in interface `InterchangeObject`
      Specified by:
        `clone` in interface `MediaEntity`
      Specified by:
        `clone` in interface `Track`
      Returns:
        Cloned copy of this event track.

(c)2007-2016 Richard Cartwright, all rights reserved. Licensed under Apache 2 license and subject to the AMWA IPR policy.