-- | Encoding agnostic i/o. module Sound.Sc3.Server.Graphdef.Io where import Data.List {- base -} import Sound.Sc3.Server.Graphdef {- hsc3 -} import qualified Sound.Sc3.Server.Graphdef.Binary as Binary {- hsc3 -} import qualified Sound.Sc3.Server.Graphdef.Text as Text {- hsc3 -} {- | Encoding agnostic file reader. If the file has a .scsyndef.text extension it's read as a text file, else as a binary file. read_graphdef_file "/tmp/stsc3.scsyndef.text" -} read_graphdef_file :: FilePath -> IO Graphdef read_graphdef_file fn = if ".scsyndef.text" `isSuffixOf` fn then Text.read_graphdef_file fn else Binary.read_graphdef_file fn