findNextBlock
[wavpack.git] / examples / WvInfo.hs
1 {-# LANGUAGE
2     UnboxedTuples
3   , UnicodeSyntax
4   #-}
5 module Main where
6 import Codec.Audio.WavPack.Block
7 import qualified Data.ByteString.Lazy as L
8 import qualified Data.Strict as S
9 import System.Environment
10
11 main ∷ IO ()
12 main = do [wvFile] ← getArgs
13           wvStream ← L.readFile wvFile
14           showWvInfo wvStream
15
16 showWvInfo ∷ L.ByteString → IO ()
17 showWvInfo stream
18     = case findNextBlock stream of
19         (# S.Just block, _ #)
20             → print block
21         (# S.Nothing   , _ #)
22             → fail "Can't find any WavPack block headers."