{- This file is part of the Haskell package playlists. It is subject to the license terms in the LICENSE file found in the top-level directory of this distribution and at git://pmade.com/playlists/LICENSE. No part of playlists package, including this file, may be copied, modified, propagated, or distributed except according to the terms contained in the LICENSE file. -} -------------------------------------------------------------------------------- module Text.Playlist.Types ( Track (..) , Playlist , Format (..) ) where -------------------------------------------------------------------------------- import Data.Text (Text) -------------------------------------------------------------------------------- -- | A single music file or streaming URL. data Track = Track { trackURL :: Text -- ^ URL for a file or streaming resource. , trackTitle :: Maybe Text -- ^ Optional title. , trackDuration :: Maybe Float -- ^ Optional duration in seconds. } deriving (Show, Eq) -------------------------------------------------------------------------------- -- | A list of 'Track's. type Playlist = [Track] -------------------------------------------------------------------------------- -- | Playlist formats. data Format = PLS -- ^ | M3U -- ^ M3U and M3U8. deriving (Read, Show, Eq)