6 import Codec.Audio.WavPack.Block
7 import Codec.Audio.WavPack.Metadata
8 import qualified Data.ByteString.Lazy as L
9 import qualified Data.Strict as S
11 import Prelude.Unicode
12 import System.Environment
16 main = do [wvFile] ← getArgs
17 wvData ← L.readFile wvFile
18 hSetBuffering stdout NoBuffering
21 showWvInfo ∷ L.ByteString → IO ()
23 = case findNextBlock stream of
27 → fail "Can't find any WavPack block headers."
29 printBlock ∷ Block → IO ()
31 = do putStrLn "- Block header:"
33 putStrLn "- Block metadata sub-blocks:"
34 mapM_ printSub $ blockMetadata b
36 printSub ∷ SubBlock → IO ()
38 | isJust (fromSubBlock sub ∷ Maybe WVBitstream)
39 = putStrLn ( "(WV Bitstream omitted: " ⧺