Class Song

    • Constructor Detail

      • Song

        public Song()
    • Method Detail

      • init

        public void init​(AudioSong song)
      • isShared

        public boolean isShared()
        Description copied from interface: AudioSong
        Indicates whether this track is a shared track, i.e. either from another iTunes library or an iTunes Match song that hasn't been downloaded yet.
        Specified by:
        isShared in interface AudioSong
        Returns:
        true or false
      • getCloudStatus

        public AudioSong.CloudStatus getCloudStatus()
        Description copied from interface: AudioSong
        Returns the cloud status, if available. Note that this call may be expensive, as it requires calling the iTunes API.
        Specified by:
        getCloudStatus in interface AudioSong
        Returns:
        the status if available, null, if the feature is not supported (Windows, non-iTunes libraries, ...)
      • getPlayLists

        public Collection<PlayList> getPlayLists()
        Returns playlists the song belongs to.
        Returns:
        playlists
      • setSongAnnotation

        public void setSongAnnotation​(SongAnnotation songAnnotation)
      • createSongAnnotation

        public SongAnnotation createSongAnnotation()
        Creates and associates a SongAnnotation with this Song, if no annotation exists yet.
        Returns:
        a SongAnnotation associated with this Song
      • getImplementation

        public <T> T getImplementation​(Class<T> klass)
        Description copied from interface: AudioSong

        AudioSong objects are sometimes implemented by an object that acts as a facade to other AudioSong objects. This could be a proxy for an AppleScript iTunes object, a a persistent object that is stored in a local database via Hibernate, or perhaps an Object that is capable of writing id3 tags directly (e.g. AudioMetaData). While normal calls on an object implementing this interface are routed according to some internal logic, using one of the actual implementation classes allows you precise control over what your call does.

        Note to plugin developers: It is hardly ever a good idea to exercise this control, unless you know exactly what you are doing. :-)

        Specified by:
        getImplementation in interface AudioSong
        Type Parameters:
        T - implementation class
        Parameters:
        klass - class implementing AudioSong
        Returns:
        object of the desired type or null, if such an object is not available
        See Also:
        PlayList.getImplementation(Class)
      • getName

        public String getName()
        Description copied from interface: AudioSong
        Name of this song.
        Specified by:
        getName in interface AudioSong
        Returns:
        name
      • setName

        public void setName​(String name)
        Description copied from interface: AudioSong
        Sets name.
        Specified by:
        setName in interface AudioSong
        Parameters:
        name - name
      • getDescription

        public String getDescription()
        Description copied from interface: AudioSong
        Description/subtitle of this song.
        Specified by:
        getDescription in interface AudioSong
        Returns:
        description
      • setDescription

        public void setDescription​(String description)
        Description copied from interface: AudioSong
        Sets description/subtitle.
        Specified by:
        setDescription in interface AudioSong
        Parameters:
        description - description
      • getWork

        public String getWork()
        Description copied from interface: AudioSong
        Classical work.
        Specified by:
        getWork in interface AudioSong
        Returns:
        work
      • setWork

        public void setWork​(String work)
        Description copied from interface: AudioSong
        Classical work.
        Specified by:
        setWork in interface AudioSong
        Parameters:
        work - work
      • getMovement

        public String getMovement()
        Description copied from interface: AudioSong
        Classical movement.
        Specified by:
        getMovement in interface AudioSong
        Returns:
        movement
      • setMovement

        public void setMovement​(String movement)
        Description copied from interface: AudioSong
        Classical movement.
        Specified by:
        setMovement in interface AudioSong
        Parameters:
        movement - movement
      • getMovementNumber

        public int getMovementNumber()
        Description copied from interface: AudioSong
        Classical movement number.
        Specified by:
        getMovementNumber in interface AudioSong
        Returns:
        movement number
      • setMovementNumber

        public void setMovementNumber​(int value)
        Description copied from interface: AudioSong
        Classical movement number.
        Specified by:
        setMovementNumber in interface AudioSong
        Parameters:
        value - number
      • getMovementCount

        public int getMovementCount()
        Description copied from interface: AudioSong
        Classical movement count.
        Specified by:
        getMovementCount in interface AudioSong
        Returns:
        count
      • setMovementCount

        public void setMovementCount​(int value)
        Description copied from interface: AudioSong
        Classical movement count.
        Specified by:
        setMovementCount in interface AudioSong
        Parameters:
        value - count
      • setArtist

        public void setArtist​(String artist)
        Description copied from interface: AudioSong
        Sets artist.
        Specified by:
        setArtist in interface AudioSong
        Parameters:
        artist - artist
      • setAlbumArtist

        public void setAlbumArtist​(String albumArtist)
        Description copied from interface: AudioSong
        Sets the album artist.
        Specified by:
        setAlbumArtist in interface AudioSong
        Parameters:
        albumArtist - album artist
      • getComposer

        public String getComposer()
        Description copied from interface: AudioSong
        Get composer(s).
        Specified by:
        getComposer in interface AudioSong
        Returns:
        composer(s)
      • setComposer

        public void setComposer​(String composer)
        Description copied from interface: AudioSong
        Sets composer.
        Specified by:
        setComposer in interface AudioSong
        Parameters:
        composer - composer
      • setAlbum

        public void setAlbum​(String album)
        Description copied from interface: AudioSong
        Sets album name.
        Specified by:
        setAlbum in interface AudioSong
        Parameters:
        album - album
      • setGrouping

        public void setGrouping​(String grouping)
        Description copied from interface: AudioSong
        Sets the grouping.
        Specified by:
        setGrouping in interface AudioSong
        Parameters:
        grouping - grouping
      • setGenre

        public void setGenre​(String genre)
        Description copied from interface: AudioSong
        Sets genre.
        Specified by:
        setGenre in interface AudioSong
        Parameters:
        genre - genre
      • getKind

        public String getKind()
        Description copied from interface: AudioSong
        Kind of audio, e.g. "WAV audio file", "AAC audio file" or "MPEG audio file" (or localized versions thereof). This value is typically extracted from iTunes Music Library.xml and may simply be null for non-iTunes libraries.
        Specified by:
        getKind in interface AudioSong
        Returns:
        String describing this audio object or null if unavailable.
      • setKind

        public void setKind​(String kind)
        Description copied from interface: AudioSong
        Allows you to store a String descriptor of the kind of audio object this is. Typically this value is read-only (with AudioSong.getKind()) and set by the music player, e.g. iTunes.
        Specified by:
        setKind in interface AudioSong
        Parameters:
        kind - kind
        See Also:
        AudioSong.getKind()
      • getSize

        public long getSize()
        Description copied from interface: AudioSong
        File size.
        Specified by:
        getSize in interface AudioSong
        Returns:
        size
      • setSize

        public void setSize​(long value)
      • getTotalTime

        public int getTotalTime()
        Description copied from interface: AudioSong
        Total length of the song in ms.
        Specified by:
        getTotalTime in interface AudioSong
        Returns:
        length in ms.
      • setTotalTime

        public void setTotalTime​(int value)
      • getTrackID

        public int getTrackID()
      • setTrackID

        public void setTrackID​(int value)
      • getStartTime

        public int getStartTime()
        Description copied from interface: AudioSong
        Start time of the song in ms.
        Specified by:
        getStartTime in interface AudioSong
        Returns:
        start time in ms.
      • setStartTime

        public void setStartTime​(int value)
        Description copied from interface: AudioSong
        Set start time in ms.
        Specified by:
        setStartTime in interface AudioSong
        Parameters:
        value - start time in ms
      • getStopTime

        public int getStopTime()
        Description copied from interface: AudioSong
        Stop time of the song in ms.
        Specified by:
        getStopTime in interface AudioSong
        Returns:
        stop time in ms.
      • setStopTime

        public void setStopTime​(int value)
        Description copied from interface: AudioSong
        Sets stop time.
        Specified by:
        setStopTime in interface AudioSong
        Parameters:
        value - stop time in ms
      • getTrackNumber

        public int getTrackNumber()
        Description copied from interface: AudioSong
        Get the number of the track on the release/album/recording.
        Specified by:
        getTrackNumber in interface AudioSong
        Returns:
        track number
      • setTrackNumber

        public void setTrackNumber​(int value)
        Description copied from interface: AudioSong
        Set the number of this track.
        Specified by:
        setTrackNumber in interface AudioSong
        Parameters:
        value - track number
      • getDiscNumber

        public int getDiscNumber()
        Description copied from interface: AudioSong
        Get the disc number.
        Specified by:
        getDiscNumber in interface AudioSong
        Returns:
        disc number
      • setDiscNumber

        public void setDiscNumber​(int value)
        Description copied from interface: AudioSong
        Sets the disc number.
        Specified by:
        setDiscNumber in interface AudioSong
        Parameters:
        value - disc number
      • getDiscCount

        public int getDiscCount()
        Description copied from interface: AudioSong
        Assuming that this song is on a disc that is part of a disc collection, return the number of discs in this collection.
        Specified by:
        getDiscCount in interface AudioSong
        Returns:
        disc count
      • setDiscCount

        public void setDiscCount​(int value)
        Description copied from interface: AudioSong
        Set disc count.
        Specified by:
        setDiscCount in interface AudioSong
        Parameters:
        value - disc count
      • getYear

        public int getYear()
        Description copied from interface: AudioSong
        Release year - (corresponds to id3 TDRC, recording time).
        Specified by:
        getYear in interface AudioSong
        Returns:
        four digit recording year, if available
        See Also:
        AudioSong.getReleaseDate()
      • getReleaseYear

        public int getReleaseYear()
      • getDateModified

        public Date getDateModified()
        Description copied from interface: AudioSong
        Get date of last modification.
        Specified by:
        getDateModified in interface AudioSong
        Returns:
        date
      • setDateModified

        public void setDateModified​(Date value)
      • getDateAdded

        public Date getDateAdded()
        Description copied from interface: AudioSong
        Get date the song was added to the library.
        Specified by:
        getDateAdded in interface AudioSong
        Returns:
        date added
      • setDateAdded

        public void setDateAdded​(Date value)
      • getBitRate

        public int getBitRate()
        Description copied from interface: AudioSong
        Bit rate.
        Specified by:
        getBitRate in interface AudioSong
        Returns:
        bit rate
      • setBitRate

        public void setBitRate​(int value)
      • getSampleRate

        public int getSampleRate()
        Description copied from interface: AudioSong
        Get sample rate in Hz.
        Specified by:
        getSampleRate in interface AudioSong
        Returns:
        sample rate in Hz
      • setSampleRate

        public void setSampleRate​(int value)
      • getEqualizer

        public String getEqualizer()
      • setEqualizer

        public void setEqualizer​(String equalizer)
      • setTrackReplayGain

        public void setTrackReplayGain​(ReplayGain replayGain)
        Sets the replay gain for this track, not taking other tracks of the album into account. Calling this method will also update the iTunNORM value, if possible.
        Parameters:
        replayGain - replay gain
        See Also:
        setTrackReplayGain(ReplayGain, boolean)
      • setAlbumReplayGain

        public void setAlbumReplayGain​(ReplayGain replayGain)
        Sets the replay gain for this album. Calling this method will not update the iTunNORM value.
        Parameters:
        replayGain - replay gain
        See Also:
        setAlbumReplayGain(ReplayGain, boolean)
      • getVolumeAdjustment

        public int getVolumeAdjustment()
        Description copied from interface: AudioSong
        Value between -255 and 255.
        Specified by:
        getVolumeAdjustment in interface AudioSong
        Returns:
        volume adjustment
      • setVolumeAdjustment

        public void setVolumeAdjustment​(int value)
        Description copied from interface: AudioSong
        Sets the volume adjustment
        Specified by:
        setVolumeAdjustment in interface AudioSong
        Parameters:
        value - value between -255 and 255.
      • setComments

        public void setComments​(String comments)
        Description copied from interface: AudioSong
        Set comments.
        Specified by:
        setComments in interface AudioSong
        Parameters:
        comments - comments
      • getPlayCount

        public int getPlayCount()
        Description copied from interface: AudioSong
        Get the number of times the song was played.
        Specified by:
        getPlayCount in interface AudioSong
        Returns:
        play count
      • setPlayCount

        public void setPlayCount​(int value)
        Description copied from interface: AudioSong
        Set play count.
        Specified by:
        setPlayCount in interface AudioSong
        Parameters:
        value - play count
      • getPlayDate

        public long getPlayDate()
        Description copied from interface: AudioSong
        Get time the song was last played. Returns 0, if it has never been played.
        Specified by:
        getPlayDate in interface AudioSong
        Returns:
        play date, milliseconds since January 1, 1970, 00:00:00 GMT (NOT related to the iTunes value!)
      • setPlayDate

        public void setPlayDate​(long value)
        Description copied from interface: AudioSong
        Set play date in milliseconds since January 1, 1970, 00:00:00 GMT (NOT related to the iTunes value!).
        Specified by:
        setPlayDate in interface AudioSong
        Parameters:
        value - play date
      • getPlayDateUTC

        public Date getPlayDateUTC()
        Description copied from interface: AudioSong
        Get play date.
        Specified by:
        getPlayDateUTC in interface AudioSong
        Returns:
        play date
      • setPlayDateUTC

        public void setPlayDateUTC​(Date value)
        Description copied from interface: AudioSong
        Set play time.
        Specified by:
        setPlayDateUTC in interface AudioSong
        Parameters:
        value - play time
      • getSkipCount

        public int getSkipCount()
        Description copied from interface: AudioSong
        Get skip count.
        Specified by:
        getSkipCount in interface AudioSong
        Returns:
        skip count
      • setSkipCount

        public void setSkipCount​(int value)
        Description copied from interface: AudioSong
        Set skip count.
        Specified by:
        setSkipCount in interface AudioSong
        Parameters:
        value - skip count
      • getSkipDate

        public Date getSkipDate()
        Description copied from interface: AudioSong
        Get skip date.
        Specified by:
        getSkipDate in interface AudioSong
        Returns:
        skip date
      • setSkipDate

        public void setSkipDate​(Date value)
        Description copied from interface: AudioSong
        Set skip date.
        Specified by:
        setSkipDate in interface AudioSong
        Parameters:
        value - skip date
      • getReleaseDate

        public Date getReleaseDate()
        Description copied from interface: AudioSong
        Release year (corresponds to id3 TDRL).
        Specified by:
        getReleaseDate in interface AudioSong
        Returns:
        release time
      • setReleaseDate

        public void setReleaseDate​(Date value)
        Description copied from interface: AudioSong
        Set release date.
        Specified by:
        setReleaseDate in interface AudioSong
        Parameters:
        value - release date
      • getArtworkCount

        public int getArtworkCount()
        Description copied from interface: AudioSong
        Get artwork count.
        Specified by:
        getArtworkCount in interface AudioSong
        Returns:
        artwork count
      • getImages

        public Image[] getImages()
        Description copied from interface: AudioSong
        All images.
        Specified by:
        getImages in interface AudioSong
        Returns:
        images or empty array, never returns null
      • setArtworkCount

        public void setArtworkCount​(int value)
      • setRating

        public void setRating​(int value)
        Description copied from interface: AudioSong
        Sets the rating
        Specified by:
        setRating in interface AudioSong
        Parameters:
        value - rating between from 0 to 100
        See Also:
        AudioSong.getRating()
      • setAlbumRating

        public void setAlbumRating​(int value)
        Description copied from interface: AudioSong
        Sets album rating.
        Specified by:
        setAlbumRating in interface AudioSong
        Parameters:
        value - album rating
      • setRatingComputed

        public void setRatingComputed​(boolean ratingComputed)
      • setAlbumRatingComputed

        public void setAlbumRatingComputed​(boolean albumRatingComputed)
      • setRemoteUpdateDate

        public void setRemoteUpdateDate​(Date value)
        Description copied from interface: AudioSong
        Sets the date that marks the last update of remote properties. This method is usually called by the app, not the user or any user/plugin code.
        Specified by:
        setRemoteUpdateDate in interface AudioSong
        Parameters:
        value - date
        See Also:
        AudioSong.getRemoteUpdateDate()
      • getRemoteRating

        public int getRemoteRating()
        Description copied from interface: AudioSong
        Average of other people's ratings.
        Specified by:
        getRemoteRating in interface AudioSong
        Returns:
        mean of ratings
      • setRemoteRating

        public void setRemoteRating​(int value)
        Description copied from interface: AudioSong
        Sets the value locally. In other words, the value is not propagated to the central database.
        Specified by:
        setRemoteRating in interface AudioSong
        Parameters:
        value - value
      • getPopularity

        public float getPopularity()
        Description copied from interface: AudioSong
        Popularity as a value between 0 and 1.
        Specified by:
        getPopularity in interface AudioSong
        Returns:
        popularity among all users
      • setPopularity

        public void setPopularity​(float value)
        Description copied from interface: AudioSong
        Sets the value locally. In other words, the value is not propagated to the central database.
        Specified by:
        setPopularity in interface AudioSong
        Parameters:
        value - value
      • setRemotePlayFrequency

        public void setRemotePlayFrequency​(float value)
        Description copied from interface: AudioSong
        Sets the value locally. In other words, the value is not propagated to the central database.
        Specified by:
        setRemotePlayFrequency in interface AudioSong
        Parameters:
        value - value
      • setRemotePlaySkipRatio

        public void setRemotePlaySkipRatio​(float value)
        Description copied from interface: AudioSong
        Sets the value locally. In other words, the value is not propagated to the central database.
        Specified by:
        setRemotePlaySkipRatio in interface AudioSong
        Parameters:
        value - value
      • setRemoteLoved

        public void setRemoteLoved​(float value)
        Description copied from interface: AudioSong
        Sets the value locally. In other words, the value is not propagated to the central database.
        Specified by:
        setRemoteLoved in interface AudioSong
        Parameters:
        value - value
      • setRemoteDisliked

        public void setRemoteDisliked​(float value)
        Description copied from interface: AudioSong
        Sets the value locally. In other words, the value is not propagated to the central database.
        Specified by:
        setRemoteDisliked in interface AudioSong
        Parameters:
        value - value
      • setLoved

        public void setLoved​(boolean loved)
      • setDisliked

        public void setDisliked​(boolean disliked)
      • setAlbumLoved

        public void setAlbumLoved​(boolean loved)
      • setAlbumDisliked

        public void setAlbumDisliked​(boolean disliked)
      • getLiking

        public AudioSong.Liking getLiking()
        Description copied from interface: AudioSong
        Liking. This is an expression of iTunes' loved and disliked fields.
        Specified by:
        getLiking in interface AudioSong
        Returns:
        a liking value
      • getAlbumLiking

        public AudioSong.Liking getAlbumLiking()
        Description copied from interface: AudioSong
        Is album liked. This is an expression of iTunes' album loved and album disliked fields.
        Specified by:
        getAlbumLiking in interface AudioSong
        Returns:
        liking
      • setInstrumentationAlgorithm

        public void setInstrumentationAlgorithm​(String instrumentationAlgorithm)
        Description copied from interface: AudioSong
        Set the instrumentation algorithm. Should be Entered, if the value was entered manually.
        Specified by:
        setInstrumentationAlgorithm in interface AudioSong
        Parameters:
        instrumentationAlgorithm - instrumentation algorithm
      • getInstrumentationAlgorithm

        public String getInstrumentationAlgorithm()
        Description copied from interface: AudioSong
        Returns the name of the instrumentation algorithm. May be Entered, if the value was entered.
        Specified by:
        getInstrumentationAlgorithm in interface AudioSong
        Returns:
        instrumentation algorithm
      • setDanceability

        public void setDanceability​(Float value)
        Description copied from interface: AudioSong
        Danceability.
        Specified by:
        setDanceability in interface AudioSong
        Parameters:
        value - normalized positive value (0-1)
      • getDanceability

        public Float getDanceability()
        Description copied from interface: AudioSong
        Danceability.
        Specified by:
        getDanceability in interface AudioSong
        Returns:
        normalized positive value (0-1)
      • setDanceabilityAlgorithm

        public void setDanceabilityAlgorithm​(String value)
        Description copied from interface: AudioSong
        Set the danceability algorithm. Should be Entered, if the value was entered manually.
        Specified by:
        setDanceabilityAlgorithm in interface AudioSong
        Parameters:
        value - danceability algorithm
      • getDanceabilityAlgorithm

        public String getDanceabilityAlgorithm()
        Description copied from interface: AudioSong
        Returns the name of the danceability algorithm. May be Entered, if the value was entered.
        Specified by:
        getDanceabilityAlgorithm in interface AudioSong
        Returns:
        danceability algorithm
      • getShow

        public String getShow()
        Description copied from interface: AudioSong
        Name of a show, suitable for TV shows.
        Specified by:
        getShow in interface AudioSong
        Returns:
        show name
      • setShow

        public void setShow​(String show)
        Description copied from interface: AudioSong
        Set show name.
        Specified by:
        setShow in interface AudioSong
        Parameters:
        show - show
      • getSeason

        public int getSeason()
        Description copied from interface: AudioSong
        Get season number. Suitable for TV-shows.
        Specified by:
        getSeason in interface AudioSong
        Returns:
        season.
      • setSeason

        public void setSeason​(int value)
        Description copied from interface: AudioSong
        Set season.
        Specified by:
        setSeason in interface AudioSong
        Parameters:
        value - season
      • getEpisode

        public String getEpisode()
        Description copied from interface: AudioSong
        Get episode name.
        Specified by:
        getEpisode in interface AudioSong
        Returns:
        episode name
      • setEpisode

        public void setEpisode​(String episode)
        Description copied from interface: AudioSong
        Set episode name.
        Specified by:
        setEpisode in interface AudioSong
        Parameters:
        episode - episode name
      • getEpisodeOrder

        public int getEpisodeOrder()
        Description copied from interface: AudioSong
        Episode order.
        Specified by:
        getEpisodeOrder in interface AudioSong
        Returns:
        episode order
      • setEpisodeOrder

        public void setEpisodeOrder​(int value)
        Description copied from interface: AudioSong
        Set episode order.
        Specified by:
        setEpisodeOrder in interface AudioSong
        Parameters:
        value - episode order
      • isCompilation

        public boolean isCompilation()
        Description copied from interface: AudioSong

        Indicates whether this track is part of a compilation.

        "A compilation album is an album (music or spoken-word) featuring tracks from one or more performers, often culled from a variety of sources (such as studio albums, live albums, singles, demos and outtakes.)"

        -- Wikipedia Album Compliation
        Specified by:
        isCompilation in interface AudioSong
        Returns:
        true or false
      • setCompilation

        public void setCompilation​(boolean value)
        Description copied from interface: AudioSong
        Marks this song as part of a compilation (or not).
        Specified by:
        setCompilation in interface AudioSong
        Parameters:
        value - true or false
      • getId

        public Long getId()
        Description copied from interface: AudioSong
        Persistent id. Survives application shutdown.
        Specified by:
        getId in interface AudioSong
        Returns:
        persistent id
      • setId

        public void setId​(String value)
      • setId

        public void setId​(Long value)
      • setDisabled

        public void setDisabled​(boolean value)
        Description copied from interface: AudioSong
        Enables/disables this song.
        Specified by:
        setDisabled in interface AudioSong
        Parameters:
        value - true or false
      • isEnabled

        public boolean isEnabled()
        Description copied from interface: AudioSong
        Indicates whether this song is enabled or checked.
        Specified by:
        isEnabled in interface AudioSong
        Returns:
        true or false
      • setEnabled

        public void setEnabled​(boolean enabled)
        Description copied from interface: AudioSong
        Enables/disables this song.
        Specified by:
        setEnabled in interface AudioSong
        Parameters:
        enabled - true or false
      • getFileType

        public int getFileType()
      • setFileType

        public void setFileType​(int value)
      • getFileCreator

        public int getFileCreator()
      • setFileCreator

        public void setFileCreator​(int value)
      • setMatched

        public void setMatched​(boolean value)
      • setPodcast

        public void setPodcast​(boolean value)
      • setAudiobook

        public void setAudiobook​(boolean value)
      • setiTunesU

        public void setiTunesU​(boolean value)
      • setTvShow

        public void setTvShow​(boolean value)
      • setMusicVideo

        public void setMusicVideo​(boolean value)
      • setMovie

        public void setMovie​(boolean value)
      • setHomeVideo

        public void setHomeVideo​(boolean value)
      • setBook

        public void setBook​(boolean value)
      • setAlertTone

        public void setAlertTone​(boolean value)
      • setRingTone

        public void setRingTone​(boolean value)
      • setVoiceMemo

        public void setVoiceMemo​(boolean value)
      • setMusic

        public void setMusic​(boolean value)
      • setTrackType

        public void setTrackType​(String value)
      • isUnplayed

        public boolean isUnplayed()
        Description copied from interface: AudioSong
        Indicates whether this songs has been played at some point.
        Specified by:
        isUnplayed in interface AudioSong
        Returns:
        true or false
      • setUnplayed

        public void setUnplayed​(boolean value)
        Description copied from interface: AudioSong
        Sets unplayed.
        Specified by:
        setUnplayed in interface AudioSong
        Parameters:
        value - unplayed
      • isHasVideo

        public boolean isHasVideo()
        Description copied from interface: AudioSong
        Indicates whether this track has a video.
        Specified by:
        isHasVideo in interface AudioSong
        Returns:
        true or false
      • setHasVideo

        public void setHasVideo​(boolean value)
        Description copied from interface: AudioSong
        Sets the "video" flag.
        Specified by:
        setHasVideo in interface AudioSong
        Parameters:
        value - true or false
      • isProtected

        public boolean isProtected()
        Description copied from interface: AudioSong
        Indicates whether this track is protected by some DRM scheme like Apple's FairPlay.
        Specified by:
        isProtected in interface AudioSong
        Returns:
        true or false
      • setProtected

        public void setProtected​(boolean value)
      • getLocation

        public String getLocation​(boolean refresh)
        Description copied from interface: AudioSong
        Location of this track. If refresh is true and no location is available or the resource does not exist anymore, ask the backend app (iTunes, Music.app, ...) for the correct path. Because of the backend call, this method may block and therefore should be called from the EDT.
        Specified by:
        getLocation in interface AudioSong
        Parameters:
        refresh - refresh from backend
        Returns:
        location
        See Also:
        AudioSong.getLocation(), AudioSong.getFile(boolean)
      • setLocation

        public void setLocation​(String location)
        Description copied from interface: AudioSong
        Sets the location.
        Specified by:
        setLocation in interface AudioSong
        Parameters:
        location - location
      • getFileFolderCount

        public int getFileFolderCount()
      • setFileFolderCount

        public void setFileFolderCount​(int value)
      • getLibraryFolderCount

        public int getLibraryFolderCount()
      • setLibraryFolderCount

        public void setLibraryFolderCount​(int value)
      • isPartOfGaplessAlbum

        public boolean isPartOfGaplessAlbum()
        Description copied from interface: AudioSong
        Indicates whether this songs is part of a gapless album.
        Specified by:
        isPartOfGaplessAlbum in interface AudioSong
        Returns:
        true or false
      • setPartOfGaplessAlbum

        public void setPartOfGaplessAlbum​(boolean value)
        Description copied from interface: AudioSong
        Sets the "gapless album" flag.
        Specified by:
        setPartOfGaplessAlbum in interface AudioSong
        Parameters:
        value - true or false
      • isClean

        public boolean isClean()
        Description copied from interface: AudioSong
        Indicates whether this song is "clean" - whatever that means. "Clean" and "explicit" are mutually exclusive.
        Specified by:
        isClean in interface AudioSong
        Returns:
        true or false
        See Also:
        AudioSong.isExplicit()
      • setClean

        public void setClean​(boolean value)
        Description copied from interface: AudioSong
        Sets the "clean" flag. "Clean" and "explicit" are mutually exclusive.
        Specified by:
        setClean in interface AudioSong
        Parameters:
        value - true or false
        See Also:
        AudioSong.setExplicit(boolean)
      • isExplicit

        public boolean isExplicit()
        Description copied from interface: AudioSong
        Indicates whether this tracks is explicit or not. "Clean" and "explicit" are mutually exclusive.
        Specified by:
        isExplicit in interface AudioSong
        Returns:
        true or false
        See Also:
        AudioSong.isClean()
      • setExplicit

        public void setExplicit​(boolean value)
        Description copied from interface: AudioSong
        Sets the "explicit" flag. "Clean" and "explicit" are mutually exclusive.
        Specified by:
        setExplicit in interface AudioSong
        Parameters:
        value - true or false
        See Also:
        AudioSong.setClean(boolean)
      • isHD

        public boolean isHD()
        Description copied from interface: AudioSong
        Indicates whether this video content is in high definition (HD).
        Specified by:
        isHD in interface AudioSong
        Returns:
        true or false
      • setHD

        public void setHD​(boolean value)
        Description copied from interface: AudioSong
        Sets the HD flag.
        Specified by:
        setHD in interface AudioSong
        Parameters:
        value - true or false
      • getSortArtist

        public String getSortArtist()
        Description copied from interface: AudioSong
        Returns the "sort artist". E.g., for "The Beatles" the sort artist is "Beatles".
        Specified by:
        getSortArtist in interface AudioSong
        Returns:
        sort artist
      • setSortArtist

        public void setSortArtist​(String sortArtist)
        Description copied from interface: AudioSong
        Sets the sort artist.
        Specified by:
        setSortArtist in interface AudioSong
        Parameters:
        sortArtist - sort artist
      • getSortAlbum

        public String getSortAlbum()
        Description copied from interface: AudioSong
        Returns the "sort album". E.g., for "A Hard Day's Night" the sort album is "Hard Day's Night".
        Specified by:
        getSortAlbum in interface AudioSong
        Returns:
        sort album
      • setSortAlbum

        public void setSortAlbum​(String sortAlbum)
        Description copied from interface: AudioSong
        Sets the sort album.
        Specified by:
        setSortAlbum in interface AudioSong
        Parameters:
        sortAlbum - sort album
      • getSortName

        public String getSortName()
        Description copied from interface: AudioSong
        Returns the "sort name". E.g., for "A Taste of Honey" the sort name is "Taste of Honey".
        Specified by:
        getSortName in interface AudioSong
        Returns:
        sort name
      • setSortName

        public void setSortName​(String sortName)
        Description copied from interface: AudioSong
        Sets the sort name.
        Specified by:
        setSortName in interface AudioSong
        Parameters:
        sortName - sort name
      • getSortAlbumArtist

        public String getSortAlbumArtist()
        Description copied from interface: AudioSong
        Returns the "sort album artist". E.g., for "The Beatles" the sort album artist is "Beatles".
        Specified by:
        getSortAlbumArtist in interface AudioSong
        Returns:
        sort album artist
      • setSortAlbumArtist

        public void setSortAlbumArtist​(String sortAlbumArtist)
        Description copied from interface: AudioSong
        Sets the sort album artist.
        Specified by:
        setSortAlbumArtist in interface AudioSong
        Parameters:
        sortAlbumArtist - sort album artist
      • getSortComposer

        public String getSortComposer()
        Description copied from interface: AudioSong
        Returns the sort composer.
        Specified by:
        getSortComposer in interface AudioSong
        Returns:
        sort composer
      • setSortComposer

        public void setSortComposer​(String sortComposer)
        Description copied from interface: AudioSong
        Sets the sort composer.
        Specified by:
        setSortComposer in interface AudioSong
        Parameters:
        sortComposer - sort composer
      • getSortShow

        public String getSortShow()
        Description copied from interface: AudioSong
        Returns the sort show.
        Specified by:
        getSortShow in interface AudioSong
        Returns:
        sort show
      • setSortShow

        public void setSortShow​(String sortShow)
        Description copied from interface: AudioSong
        Sets the sort show.
        Specified by:
        setSortShow in interface AudioSong
        Parameters:
        sortShow - sort show
      • getContentRating

        public String getContentRating()
        Description copied from interface: AudioSong
        Returns the content rating. E.g., "us-tv|TV-PG|400|" or "us-tv|TV-MA|600|dialogue and sexual content"
        Specified by:
        getContentRating in interface AudioSong
        Returns:
        content rating
      • setContentRating

        public void setContentRating​(String value)
        Description copied from interface: AudioSong
        Sets the content rating.
        Specified by:
        setContentRating in interface AudioSong
        Parameters:
        value - content rating
      • isPurchased

        public boolean isPurchased()
        Description copied from interface: AudioSong
        Indicates whether this song was purchased (via the iTunes store).
        Specified by:
        isPurchased in interface AudioSong
        Returns:
        true or false
      • setPurchased

        public void setPurchased​(boolean value)
      • getVideoHeight

        public int getVideoHeight()
      • setVideoHeight

        public void setVideoHeight​(int value)
      • getVideoWidth

        public int getVideoWidth()
      • setVideoWidth

        public void setVideoWidth​(int value)
      • getFile

        public Path getFile​(boolean refresh)
        Description copied from interface: AudioSong
        File of this track. If refresh is true and the file does not exist anymore, ask the backend app (iTunes, Music.app, ...) for the correct file name. Because of the backend call, this method may block and therefore should be called from the EDT.
        Specified by:
        getFile in interface AudioSong
        Parameters:
        refresh - refresh from backend
        Returns:
        file object for AudioSong.getLocation() or null, if a proper file object cannot be formed
        See Also:
        AudioSong.getLocation(), AudioSong.getLocation(boolean)
      • setITunesPropertiesHashCode

        public void setITunesPropertiesHashCode​(int value)
      • canWrite

        public boolean canWrite()
        Checks whether the file corresponding to this song can in principal be written to.
        Specified by:
        canWrite in interface AudioSong
        Returns:
        true or false
      • hasProtectedFileExtension

        public boolean hasProtectedFileExtension()
        Checks file endings instead of the protected flag in the iTunes Music Library.xml, since iTunes marks non-protected versions of files that used to be protected still as protected.
        Specified by:
        hasProtectedFileExtension in interface AudioSong
        Returns:
        true, if we know that the file format is usually protected.
      • getAudioMetaData

        public AudioMetaData getAudioMetaData()
        Gets some audio meta data for this song from the actual file. The result is cached with a soft reference.
        Returns:
        audio meta data for this song
      • getAudioMetaData

        public AudioMetaData getAudioMetaData​(boolean fresh)
        Gets some audio meta data for this song from the actual file. The result is cached with a soft reference.
        Parameters:
        fresh - if true the AudioMetaData is freshly read from file
        Returns:
        audio meta data for this song
      • hashCode

        public int hashCode()
        Overrides:
        hashCode in class Object
      • getCustom1

        public String getCustom1()
        Description copied from interface: AudioSong
        Custom field.
        Specified by:
        getCustom1 in interface AudioSong
        Returns:
        custom field
      • setCustom1

        public void setCustom1​(String value)
        Description copied from interface: AudioSong
        Custom field.
        Specified by:
        setCustom1 in interface AudioSong
        Parameters:
        value - custom field value
      • getCustom2

        public String getCustom2()
        Description copied from interface: AudioSong
        Custom field.
        Specified by:
        getCustom2 in interface AudioSong
        Returns:
        custom field
      • setCustom2

        public void setCustom2​(String value)
        Description copied from interface: AudioSong
        Custom field.
        Specified by:
        setCustom2 in interface AudioSong
        Parameters:
        value - custom field value
      • getCustom3

        public String getCustom3()
        Description copied from interface: AudioSong
        Custom field.
        Specified by:
        getCustom3 in interface AudioSong
        Returns:
        custom field
      • setCustom3

        public void setCustom3​(String value)
        Description copied from interface: AudioSong
        Custom field.
        Specified by:
        setCustom3 in interface AudioSong
        Parameters:
        value - custom field value
      • getCustom4

        public String getCustom4()
        Description copied from interface: AudioSong
        Custom field.
        Specified by:
        getCustom4 in interface AudioSong
        Returns:
        custom field
      • setCustom4

        public void setCustom4​(String value)
        Description copied from interface: AudioSong
        Custom field.
        Specified by:
        setCustom4 in interface AudioSong
        Parameters:
        value - custom field value
      • getCustom5

        public String getCustom5()
        Description copied from interface: AudioSong
        Custom field.
        Specified by:
        getCustom5 in interface AudioSong
        Returns:
        custom field
      • setCustom5

        public void setCustom5​(String value)
        Description copied from interface: AudioSong
        Custom field.
        Specified by:
        setCustom5 in interface AudioSong
        Parameters:
        value - custom field value
      • setTags

        public void setTags​(Set<String> tags)
        Description copied from interface: AudioSong
        Sets a new set of tags.
        Specified by:
        setTags in interface AudioSong
        Parameters:
        tags - set of strings
      • getDateAnalyzed

        public Date getDateAnalyzed()
        Description copied from interface: AudioSong
        Date the song was last analyzed.
        Specified by:
        getDateAnalyzed in interface AudioSong
        Returns:
        date analyzed
      • setDateAnalyzed

        public void setDateAnalyzed​(Date value)
        Description copied from interface: AudioSong
        Sets the date this song was last analyzed.
        Specified by:
        setDateAnalyzed in interface AudioSong
        Parameters:
        value - date of last analysis
      • getKeyAlgorithm

        public String getKeyAlgorithm()
        Description copied from interface: AudioSong
        Returns the name of the key algorithm. May be Entered, if the key value was entered.
        Specified by:
        getKeyAlgorithm in interface AudioSong
        Returns:
        key algorithm
      • setKeyAlgorithm

        public void setKeyAlgorithm​(String value)
        Description copied from interface: AudioSong
        Set the key algorithm. Should be Entered, if the value was entered manually.
        Specified by:
        setKeyAlgorithm in interface AudioSong
        Parameters:
        value - key algorithm
      • setSpectrum

        public void setSpectrum​(com.tagtraum.audiokern.timbre.BarkSpectrum value)
        Description copied from interface: AudioSong
        Sets the bark spectrum.
        Specified by:
        setSpectrum in interface AudioSong
        Parameters:
        value - bark spectrum
      • setTempoSpectrum

        public void setTempoSpectrum​(com.tagtraum.audiokern.bpm.TempoSpectrum value)
        Description copied from interface: AudioSong
        Sets the tempo spectrum.
        Specified by:
        setTempoSpectrum in interface AudioSong
        Parameters:
        value - tempo spectrum
      • getColor

        public Color getColor()
        Description copied from interface: AudioSong
        Returns the color.
        Specified by:
        getColor in interface AudioSong
        Returns:
        color
      • setColor

        public void setColor​(Color value)
        Description copied from interface: AudioSong
        Sets the color.
        Specified by:
        setColor in interface AudioSong
        Parameters:
        value - color
      • setTempoColor

        public void setTempoColor​(Color value)
        Description copied from interface: AudioSong
        Sets this song's tempo color.
        Specified by:
        setTempoColor in interface AudioSong
        Parameters:
        value - color
      • setTempoTimbreColor

        public void setTempoTimbreColor​(Color value)
        Description copied from interface: AudioSong
        Sets this song's tempo-timbre color.
        Specified by:
        setTempoTimbreColor in interface AudioSong
        Parameters:
        value - color
      • setBeatsPerMinute

        public void setBeatsPerMinute​(int value)
      • getTempo

        public com.tagtraum.audiokern.bpm.Tempo getTempo()
        Description copied from interface: AudioSong
        Returns tempo.
        Specified by:
        getTempo in interface AudioSong
        Returns:
        tempo
      • setTempo

        public void setTempo​(com.tagtraum.audiokern.bpm.Tempo value)
        Description copied from interface: AudioSong
        Sets the tempo.
        Specified by:
        setTempo in interface AudioSong
        Parameters:
        value - tempo
      • getBeatsPerMinuteAlgorithm

        public String getBeatsPerMinuteAlgorithm()
        Description copied from interface: AudioSong
        Returns the name of the algorithm used to determine the beats per minute (BPM).
        Specified by:
        getBeatsPerMinuteAlgorithm in interface AudioSong
        Returns:
        algorithm name
      • setBeatsPerMinuteAlgorithm

        public void setBeatsPerMinuteAlgorithm​(String value)
        Description copied from interface: AudioSong
        Sets the BPM algorithm.
        Specified by:
        setBeatsPerMinuteAlgorithm in interface AudioSong
        Parameters:
        value - bpm algorithm name
      • getTuningAlgorithm

        public String getTuningAlgorithm()
        Description copied from interface: AudioSong
        The method the current tuning was created with.
        Specified by:
        getTuningAlgorithm in interface AudioSong
        Returns:
        tuning algorithm
      • setTuningAlgorithm

        public void setTuningAlgorithm​(String value)
        Description copied from interface: AudioSong
        Sets the tuning algorithm the current tuning value was computed with.
        Specified by:
        setTuningAlgorithm in interface AudioSong
        Parameters:
        value - tuning algorithm
      • getMoodAlgorithm

        public String getMoodAlgorithm()
        Description copied from interface: AudioSong
        The method the associated mood value was created with.
        Specified by:
        getMoodAlgorithm in interface AudioSong
        Returns:
        mood algorithm
      • setMoodAlgorithm

        public void setMoodAlgorithm​(String value)
        Description copied from interface: AudioSong
        Sets the method the current mood value was created with.
        Specified by:
        setMoodAlgorithm in interface AudioSong
        Parameters:
        value - mood algorithm
      • getTimeSignatureAlgorithm

        public String getTimeSignatureAlgorithm()
        Description copied from interface: AudioSong
        Method the time signature was computed with.
        Specified by:
        getTimeSignatureAlgorithm in interface AudioSong
        Returns:
        algorithm the time signature was computed with
      • setTimeSignatureAlgorithm

        public void setTimeSignatureAlgorithm​(String value)
        Description copied from interface: AudioSong
        Sets the algorithm the time signature was computed with.
        Specified by:
        setTimeSignatureAlgorithm in interface AudioSong
        Parameters:
        value - time signature algorithm
      • getBeatsAlgorithm

        public String getBeatsAlgorithm()
        Description copied from interface: AudioSong
        Method the beats were computed with.
        Specified by:
        getBeatsAlgorithm in interface AudioSong
        Returns:
        algorithm the beats were computed with
      • setBeatsAlgorithm

        public void setBeatsAlgorithm​(String value)
        Description copied from interface: AudioSong
        Sets the algorithm the beats were computed with.
        Specified by:
        setBeatsAlgorithm in interface AudioSong
        Parameters:
        value - beats algorithm
      • getSegmentsAlgorithm

        public String getSegmentsAlgorithm()
        Description copied from interface: AudioSong
        Method the segments were computed with.
        Specified by:
        getSegmentsAlgorithm in interface AudioSong
        Returns:
        algorithm the segments were computed with
      • setSegmentsAlgorithm

        public void setSegmentsAlgorithm​(String value)
        Description copied from interface: AudioSong
        Sets the algorithm the segments were computed with.
        Specified by:
        setSegmentsAlgorithm in interface AudioSong
        Parameters:
        value - segments algorithm
      • getSimilaritiesAlgorithm

        public String getSimilaritiesAlgorithm()
        Description copied from interface: AudioSong
        Method the similarities were computed with.
        Specified by:
        getSimilaritiesAlgorithm in interface AudioSong
        Returns:
        algorithm the similarities were computed with
      • setSimilaritiesAlgorithm

        public void setSimilaritiesAlgorithm​(String value)
        Description copied from interface: AudioSong
        Sets the algorithm the similarities were computed with.
        Specified by:
        setSimilaritiesAlgorithm in interface AudioSong
        Parameters:
        value - similarities algorithm
      • getLanguage

        public String getLanguage()
        Description copied from interface: AudioSong
        The language of the lyrics as ISO 639 three letter codes.
        Specified by:
        getLanguage in interface AudioSong
        Returns:
        ISO 639 three letter language code
      • setLanguage

        public void setLanguage​(String value)
        Description copied from interface: AudioSong
        Sets the language as ISO 639 three letter code.
        Specified by:
        setLanguage in interface AudioSong
        Parameters:
        value - ISO 639 three letter code
      • getFingerprint

        public byte[] getFingerprint()
        Description copied from interface: AudioSong
        Acoustic fingerprint.
        Specified by:
        getFingerprint in interface AudioSong
        Returns:
        acoustic fingerprint
      • setFingerprint

        public void setFingerprint​(byte[] fingerprint)
        Description copied from interface: AudioSong
        Sets the acoustic fingerprint.
        Specified by:
        setFingerprint in interface AudioSong
        Parameters:
        fingerprint - fingerprint
      • getPlaylistId

        public Long getPlaylistId()
        The id of the playlist this song object stems from. Note that a song object may be contained in multiple playlists. This property is transient.
        Returns:
        playlist id this song object stems from
        See Also:
        getPlayLists()
      • setPlaylistId

        public void setPlaylistId​(Long value)
        Typically not called by the user, but by the application
        Parameters:
        value - playlistId
        See Also:
        getPlaylistId()
      • getLyrics

        public String getLyrics()
        Description copied from interface: AudioSong
        Returns the lyrics.
        Specified by:
        getLyrics in interface AudioSong
        Returns:
        lyrics
      • setLyrics

        public void setLyrics​(String lyrics)
        Description copied from interface: AudioSong
        Sets lyrics.
        Specified by:
        setLyrics in interface AudioSong
        Parameters:
        lyrics - lyrics
      • getLyricsTermFrequencies

        public List<TermFrequency> getLyricsTermFrequencies()
        Description copied from interface: AudioSong
        Terms in this song's lyrics along with their frequency. All terms are lowercase, regular ASCII punctuation has been removed.
        Specified by:
        getLyricsTermFrequencies in interface AudioSong
        Returns:
        term frequencies
      • setTuning

        public void setTuning​(Integer value)
        Description copied from interface: AudioSong
        Sets tuning in cents (+-50).
        Specified by:
        setTuning in interface AudioSong
        Parameters:
        value - in cents
      • getBeats

        public Beats getBeats()
        Description copied from interface: AudioSong
        The song's beats.
        Specified by:
        getBeats in interface AudioSong
        Returns:
        beats
      • setBeats

        public void setBeats​(Beats value)
        Description copied from interface: AudioSong
        Sets this song's beats.
        Specified by:
        setBeats in interface AudioSong
        Parameters:
        value - beats
      • setSegments

        public void setSegments​(Segments value)
        Description copied from interface: AudioSong
        Sets this song's segments.
        Specified by:
        setSegments in interface AudioSong
        Parameters:
        value - segments
      • setSimilarities

        public void setSimilarities​(Similarities value)
        Description copied from interface: AudioSong
        Sets this song's similarities.
        Specified by:
        setSimilarities in interface AudioSong
        Parameters:
        value - similarities
      • getLoudness

        public Loudness getLoudness()
        Description copied from interface: AudioSong
        The song's loudness curve.
        Specified by:
        getLoudness in interface AudioSong
        Returns:
        loudness
      • setLoudness

        public void setLoudness​(Loudness value)
        Description copied from interface: AudioSong
        Sets this song's loudness curve.
        Specified by:
        setLoudness in interface AudioSong
      • setMood

        public void setMood​(Mood value)
        Description copied from interface: AudioSong
        Sets this song's mood.
        Specified by:
        setMood in interface AudioSong
        Parameters:
        value - mood
      • getMood

        public Mood getMood()
        Description copied from interface: AudioSong
        The song's mood.
        Specified by:
        getMood in interface AudioSong
        Returns:
        mood
      • setMoodKeywords

        public void setMoodKeywords​(Set<String> moodKeywords)
        Persistent storage in database is not supported yet.
        Specified by:
        setMoodKeywords in interface AudioSong
        Parameters:
        moodKeywords - mood keywords
      • setTimeSignature

        public void setTimeSignature​(TimeSignature value)
        Description copied from interface: AudioSong
        Sets this song's time signature.
        Specified by:
        setTimeSignature in interface AudioSong
        Parameters:
        value - time signature
      • setRMSMean

        public void setRMSMean​(Float value)
        Description copied from interface: AudioSong
        Sets the average RMS for the first 120 seconds of this song.
        Specified by:
        setRMSMean in interface AudioSong
        Parameters:
        value - averaged RMS
        See Also:
        AudioSong.getRMSMean()
      • getRMSStandardDeviation

        public Float getRMSStandardDeviation()
        Description copied from interface: AudioSong
        Standard deviation of the root mean square energy values for windows of length ~23ms (actually 1024/44100 frames for a signal with sample rate 44.1kHz) with a hopsize of half a window. Only the first 120 seconds of the audio are considered, the rest is discarded.
        Specified by:
        getRMSStandardDeviation in interface AudioSong
        Returns:
        standard deviation of the RMS for the first 120 seconds
        See Also:
        Floats.rootMeanSquare(float[]), AudioSong.getRMSMean()
      • setRMSStandardDeviation

        public void setRMSStandardDeviation​(Float value)
        Description copied from interface: AudioSong
        Sets the standard deviation of the root mean square (RMS).
        Specified by:
        setRMSStandardDeviation in interface AudioSong
        Parameters:
        value - standard deviation of the RMS/window
      • getSpectralNoveltyMean

        public Float getSpectralNoveltyMean()
        Description copied from interface: AudioSong
        Average of the spectral novelty values computed for windows of length 23.22ms, with a hopsize of half a window. Only the first 120 seconds of the signal are considered, the rest is discarded.
        Specified by:
        getSpectralNoveltyMean in interface AudioSong
        Returns:
        average spectral novelty
      • setSpectralFluctuationPeak

        public void setSpectralFluctuationPeak​(Float value)
        Description copied from interface: AudioSong
        Peak of the spectral fluctuation values computed for windows of length 23.22ms, with a hopsize of half a window. Only the first 120 seconds of the signal are considered, the rest is discarded.
        Specified by:
        setSpectralFluctuationPeak in interface AudioSong
        Parameters:
        value - peak in an averaged fluctuation spectrum
        See Also:
        AudioSong.getSpectralFluctuationPeak()
      • getFrontCoverImage

        public Image getFrontCoverImage()
        Description copied from interface: AudioSong
        Returns the first front cover image.
        Specified by:
        getFrontCoverImage in interface AudioSong
        Returns:
        image or null
      • getBackCoverImage

        public Image getBackCoverImage()
        Description copied from interface: AudioSong
        Returns the first front cover image.
        Specified by:
        getBackCoverImage in interface AudioSong
        Returns:
        image or null
      • getArtworks

        public AudioArtwork[] getArtworks()
        Description copied from interface: AudioSong
        Artwork belonging to this song.
        Specified by:
        getArtworks in interface AudioSong
        Returns:
        array of artworks
      • addArtwork

        public void addArtwork​(AudioArtwork audioArtwork)
        Description copied from interface: AudioSong
        Adds an artwork/image to the audio song.
        Specified by:
        addArtwork in interface AudioSong
        Parameters:
        audioArtwork - artwork
      • setArtworks

        public void setArtworks​(AudioArtwork... artworks)
        Description copied from interface: AudioSong
        Set artworks belonging to this track.
        Specified by:
        setArtworks in interface AudioSong
        Parameters:
        artworks - artworks