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