From 5e46af12608b35b73b7ac1f83e59585671d19e48 Mon Sep 17 00:00:00 2001 From: Gregor Kleen Date: Sun, 7 Jun 2015 20:48:12 +0200 Subject: Option for clientname --- src/Trivmix.hs | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) (limited to 'src/Trivmix.hs') diff --git a/src/Trivmix.hs b/src/Trivmix.hs index 019ee32..f7ae1eb 100644 --- a/src/Trivmix.hs +++ b/src/Trivmix.hs @@ -27,6 +27,7 @@ import System.INotify data Options = Options { input :: String , output :: String + , client :: String , initialLevel :: Float , stateDir :: FilePath } @@ -34,10 +35,13 @@ data Options = Options optionParser :: Parser Options optionParser = Options <$> strOption ( long "input" - <> metavar "JACK" + <> metavar "STRING" ) <*> strOption ( long "output" - <> metavar "JACK" + <> metavar "STRING" + ) + <*> strOption ( long "client" + <> metavar "STRING" ) <*> (fromMaybe 0 <$> optional (option auto ( long "level" <> metavar "FLOAT" @@ -59,14 +63,13 @@ main = execParser opts >>= trivmix trivmix :: Options -> IO () trivmix Options{..} = do - name <- getProgName createDirectoryIfMissing True stateDir level <- newMVar initialLevel let levelFile = stateDir "level" onLevelFile levelFile initialLevel $ withINotify $ \n -> do addWatch n [Modify] levelFile (const $ handleLevel level levelFile) Jack.handleExceptions $ - Jack.withClientDefault name $ \client -> + Jack.withClientDefault client $ \client -> Jack.withPort client input $ \input' -> Jack.withPort client output $ \output' -> Audio.withProcessMono client input' (mix level) output' $ -- cgit v1.2.3