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

tv.amwa.maj.model

## Interface PackageMarker

- All Superinterfaces:
    InterchangeObject, MediaEntity, MetadataObject
  All Known Implementing Classes:
    PackageMarkerImpl

      public interface PackageMarker
      extends InterchangeObject

  Provides mark-in and mark-out properties on packages.

  See Also:
    `MaterialPackage.getPackageMarker()`

- - ### Method Summary

    All Methods Instance Methods Abstract Methods
    Modifier and Type | Method and Description
    --- | ---
    `PackageMarker` | `clone()` Create a cloned copy of this package marker.
    `long` | `getPackageMarkInPosition()` Returns the start of the optional sub-section on the material package's timebase reference track timeline.
    `long` | `getPackageMarkOutPosition()` Returns the stop of the optional sub-section on the material package's timebase reference track timeline.
    `int` | `getTimebaseReferenceTrackID()` Returns the track identifier of the target track in the material package that provides the edit rate.
    `void` | `setPackageMarkInPosition(Long packageMarkInPosition)` Sets the start of the optional sub-section on the material package's timebase reference track timeline.
    `void` | `setPackageMarkOutPosition(Long packageMarkOutPosition)` Sets the stop of the optional sub-section on the material package's timebase reference track timeline.
    `void` | `setTimebaseReferenceTrackID(int timebaseReferenceTrackID)` Sets the track identifier of the target track in the material package that provides the edit rate.

    - ### 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

    - #### getTimebaseReferenceTrackID

          @TrackID
          int getTimebaseReferenceTrackID()

      Returns the track identifier of the target track in the material package that provides the edit rate.

      Returns:
        Track identifier of the track that provides the edit rate.

    - #### setTimebaseReferenceTrackID

          void setTimebaseReferenceTrackID(@TrackID
                                           int timebaseReferenceTrackID)
                                    throws IllegalArgumentException

      Sets the track identifier of the target track in the material package that provides the edit rate.

      Parameters:
        `timebaseReferenceTrackID` - Track identifier of the track that provides the edit rate.
      Throws:
        `IllegalArgumentException` - Cannot set the track identifeir to a negative value or to the identifier of a non-timeline track.

    - #### getPackageMarkInPosition

          @PositionType
          long getPackageMarkInPosition()
                                               throws PropertyNotPresentException

      Returns the start of the optional sub-section on the material package's timebase reference track timeline. This is an optional property that, when omitted, indicates that the all tracks are to be played from the zero point.

      Returns:
        Start of the optional sub-section.
      Throws:
        `PropertyNotPresentException` - The optional package mark-in position property is not present for this package marker.

    - #### setPackageMarkInPosition

          void setPackageMarkInPosition(@PositionType
                                        Long packageMarkInPosition)

      Sets the start of the optional sub-section on the material package's timebase reference track timeline. Set this optional property to `null` to omit it, indicating that the all tracks are to be played from the zero point.

      Parameters:
        `packageMarkInPosition` - Start of the optional sub-section.

    - #### getPackageMarkOutPosition

          @PositionType
          long getPackageMarkOutPosition()
                                                throws PropertyNotPresentException

      Returns the stop of the optional sub-section on the material package's timebase reference track timeline. This is an optional property that, when omitted, indicates that the stop point is at package duration.

      Returns:
        Stop of the optional sub-section.
      Throws:
        `PropertyNotPresentException` - The optional package mark-out position property is not present for this package marker.

    - #### setPackageMarkOutPosition

          void setPackageMarkOutPosition(@PositionType
                                         Long packageMarkOutPosition)

      Sets the stop of the optional sub-section on the material package's timebase reference track timeline. Set this optional property to `null` to omit it, indicating that the stop point is at package duration.

      Parameters:
        `packageMarkOutPosition` - Stop of the optional sub-section.

    - #### clone

          PackageMarker clone()

      Create a cloned copy of this package marker.

      Specified by:
        `clone` in interface `InterchangeObject`
      Specified by:
        `clone` in interface `MediaEntity`
      Returns:
        Cloned copy of this package marker.

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