Karya, built on 2018-02-23T20:23:55 (patch cf8565b7ac832266878af99a942555d139065f12)

Safe HaskellNone

Synth.Shared.Config

Contents

Description

Shared config to coordinate between the sequencer and im subsystems.

TODO Currently paths rely on you being in the right directory, but should probably have some more robust configuration at some point. Of course app_dir is just return . too.

Synopsis

Documentation

data Config Source #

Constructors

Config 

Fields

  • rootDir :: FilePath

    All of the data files used by the Im backend are based in this directory. Everything in here should be temporary files, used for communication or caching.

  • synths :: Map SynthName Synth
     

Instances

Eq Config # 

Methods

(==) :: Config -> Config -> Bool #

(/=) :: Config -> Config -> Bool #

Show Config # 

data Synth Source #

Constructors

Synth 

Fields

Instances

Eq Synth # 

Methods

(==) :: Synth -> Synth -> Bool #

(/=) :: Synth -> Synth -> Bool #

Show Synth # 

Methods

showsPrec :: Int -> Synth -> ShowS #

show :: Synth -> String #

showList :: [Synth] -> ShowS #

samplingRate :: Int Source #

All im synths render at this sampling rate, and the sequencer sets the start time by it.

cache files

notesFilename :: FilePath -> Synth -> Id.BlockId -> FilePath Source #

Write serialized notes to this file.

outputFilename Source #

Arguments

:: FilePath 
-> FilePath

Names as produced by notesFilename.

-> Maybe Text

Score.Instrument, but I don't want to import it.

-> FilePath 

Get the filename that should be used for the output of a certain block and instrument.