{-# LANGUAGE CPP #-} module Main (main) where #if !MIN_VERSION_base(4,8,0) import Control.Applicative ((<$>)) #endif import Control.Applicative ((<|>)) import Control.Monad ((>=>), forM_, unless) import Data.Char (toLower) import Data.List (sort, nub, partition) import Data.Maybe (catMaybes, mapMaybe, fromMaybe, listToMaybe) import Data.Version (showVersion) import qualified System.Console.GetOpt as Opt import qualified System.Environment as Env import System.Exit (exitFailure) import System.Directory (createDirectoryIfMissing) import System.FilePath ((>), makeValid) import Text.PrettyPrint.Boxes (text, vcat, left, render, hsep, top, (/+/)) import Sound.Jammit.Base import Sound.Jammit.Export import qualified Paths_jammittools as Paths printUsage :: IO () printUsage = do prog <- Env.getProgName putStrLn $ "jammittools v" ++ showVersion Paths.version putStrLn "" let header = "Usage: " ++ prog ++ " -t