-- Hoogle documentation, generated by Haddock
-- See Hoogle, http://www.haskell.org/hoogle/
-- | Sonic Visualiser
--
-- Library for reading and parsing Sonic Visualiser project files.
--
-- Sonic Visualiser is available at http://sonicvisualiser.org.
@package sonic-visualiser
@version 0.1.1
module Sound.SonicVisualiser
-- | Read a compressed Sonic-Visualiser Document from a lazy ByteString.
read :: ByteString -> IO Document
-- | Read a Sonic-Visualiser Document from a file.
readFile :: FilePath -> IO Document
-- | A Sonic Visualiser document. Documents contain Models with
-- their corresponding Data, Layers and Derivations
data Document
Document :: [Model] -> [Layer] -> [Derivation] -> Document
docModels :: Document -> [Model]
docLayers :: Document -> [Layer]
docDerivations :: Document -> [Derivation]
data ModelType
WaveFile :: ModelType
SparseMatrix :: ModelType
type Frame = Integer
type FrameCount = Integer
-- | A Model describes a particular dataset in the Sonic Visualiser project
-- file.
data Model
Model :: String -> ModelType -> Double -> Frame -> Frame -> Data -> Int -> Int -> Bool -> Model
modelName :: Model -> String
modelType :: Model -> ModelType
modelSampleRate :: Model -> Double
modelStartFrame :: Model -> Frame
modelEndFrame :: Model -> Frame
modelData :: Model -> Data
modelDimensions :: Model -> Int
modelResolution :: Model -> Int
modelIsMain :: Model -> Bool
-- | The Data container, either a file on disk or a sparse matrix (a list
-- of Points).
data Data
File :: String -> Data
DataSet :: [Point] -> Data
-- | A Point specifies a coordinate in a time-series sparse matrix, with an
-- optional value and label.
data Point
Point :: Frame -> Maybe Double -> Maybe String -> Point
pointFrame :: Point -> Frame
pointValue :: Point -> Maybe Double
pointLabel :: Point -> Maybe String
-- | A Layer defines the visual layout of a `Model'\'s data set.
data LayerType
WaveForm :: LayerType
TimeRuler :: LayerType
TimeInstants :: LayerType
data Layer
Layer :: String -> Model -> Layer
layerName :: Layer -> String
layerModel :: Layer -> Model
-- | A Derivation links a source Model with a Model derived
-- by some kind of analysis procedure.
data Derivation
Derivation :: Model -> Model -> Int -> Int -> Int -> Int -> Int -> String -> Derivation
derivationSource :: Derivation -> Model
derivationModel :: Derivation -> Model
derivationChannel :: Derivation -> Int
derivationDomain :: Derivation -> Int
derivationStepSize :: Derivation -> Int
derivationBlockSize :: Derivation -> Int
derivationWindowType :: Derivation -> Int
derivationTransform :: Derivation -> String