Interface Track

  • All Superinterfaces:
    it.tidalwave.util.As, Dumpable, Entity, it.tidalwave.role.Identifiable, SourceAware

    public interface Track
    extends Entity, SourceAware, it.tidalwave.role.Identifiable
    Represents an audio track in a record. Maps the homonymous concept from the Music Ontology. NOTE: a Track is an abstract concept - it is associated to MediaItems (as AudioFiles), but it's not a MediaItem.
    Author:
    Fabrizio Giudici
    Stereotype:
    Datum
    • Nested Class Summary

      • Nested classes/interfaces inherited from interface it.tidalwave.util.As

        it.tidalwave.util.As.Defaults, it.tidalwave.util.As.NotFoundBehaviour<T extends java.lang.Object>
    • Field Summary

      Fields 
      Modifier and Type Field Description
      static java.lang.Class<Track> _Track_  
      • Fields inherited from interface it.tidalwave.role.Identifiable

        _Identifiable_
    • Field Detail

      • _Track_

        static final java.lang.Class<Track> _Track_
    • Method Detail

      • getTrackNumber

        @Nonnull
        java.util.Optional<java.lang.Integer> getTrackNumber()
        The position of this track in the containing record
        Returns:
        the track position
      • getDuration

        @Nonnull
        java.util.Optional<java.time.Duration> getDuration()
        The duration of this track
        Returns:
        the duration
      • getRecord

        @Nonnull
        java.util.Optional<Record> getRecord()
        Returns the Record that contains this track
        Returns:
        the record
      • getPerformance

        @Nonnull
        java.util.Optional<Performance> getPerformance()
        Returns the Performance that this track is a recording of.
        Returns:
        the performance