module Sound.Tidal.Config where

{-
    Config.hs - For default Tidal configuration values.
    Copyright (C) 2020, Alex McLean and contributors

    This library is free software: you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
    the Free Software Foundation, either version 3 of the License, or
    (at your option) any later version.

    This library is distributed in the hope that it will be useful,
    but WITHOUT ANY WARRANTY; without even the implied warranty of
    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
    GNU General Public License for more details.

    You should have received a copy of the GNU General Public License
    along with this library.  If not, see <http://www.gnu.org/licenses/>.
-}

data Config = Config {Config -> Bool
cCtrlListen :: Bool,
                      Config -> String
cCtrlAddr :: String,
                      Config -> Int
cCtrlPort :: Int,
                      Config -> Double
cFrameTimespan :: Double,
                      Config -> String
cTempoAddr :: String,
                      Config -> Int
cTempoPort :: Int,
                      Config -> Int
cTempoClientPort :: Int,
                      Config -> Int
cSkipTicks :: Int,
                      Config -> Bool
cVerbose :: Bool
                     }

defaultConfig :: Config
defaultConfig :: Config
defaultConfig = Config :: Bool
-> String
-> Int
-> Double
-> String
-> Int
-> Int
-> Int
-> Bool
-> Config
Config {cCtrlListen :: Bool
cCtrlListen = Bool
True,
                        cCtrlAddr :: String
cCtrlAddr =String
"127.0.0.1",
                        cCtrlPort :: Int
cCtrlPort = Int
6010,
                        cFrameTimespan :: Double
cFrameTimespan = Double
1Double -> Double -> Double
forall a. Fractional a => a -> a -> a
/Double
20,
                        cTempoAddr :: String
cTempoAddr = String
"127.0.0.1",
                        cTempoPort :: Int
cTempoPort = Int
9160,
                        cTempoClientPort :: Int
cTempoClientPort = Int
0, -- choose at random
                        cSkipTicks :: Int
cSkipTicks = Int
10,
                        cVerbose :: Bool
cVerbose = Bool
True
                       }