-- | Defines functions to read global arguments from the command line as macros with D flag.
module Csound.Typed.Control.MacrosArgs(
    readMacrosString, readMacrosDouble, readMacrosInt
) where

import Csound.Typed.Types
import qualified Csound.Typed.GlobalState as G(readMacrosString, readMacrosDouble, readMacrosInt)

readMacrosString :: String -> String -> Str
readMacrosString :: String -> String -> Str
readMacrosString String
name String
value = GE E -> Str
forall a. Val a => GE E -> a
fromGE (GE E -> Str) -> GE E -> Str
forall a b. (a -> b) -> a -> b
$ String -> String -> GE E
G.readMacrosString String
name String
value

readMacrosDouble :: String -> Double -> D
readMacrosDouble :: String -> Double -> D
readMacrosDouble String
name Double
value = GE E -> D
forall a. Val a => GE E -> a
fromGE (GE E -> D) -> GE E -> D
forall a b. (a -> b) -> a -> b
$ String -> Double -> GE E
G.readMacrosDouble String
name Double
value

readMacrosInt :: String -> Int -> D
readMacrosInt :: String -> Int -> D
readMacrosInt String
name Int
value = GE E -> D
forall a. Val a => GE E -> a
fromGE (GE E -> D) -> GE E -> D
forall a b. (a -> b) -> a -> b
$ String -> Int -> GE E
G.readMacrosInt  String
name Int
value