hsdif-0.11: Help/hsdif.hs
import qualified Data.ByteString.Lazy as B
import Sound.SDIF.Byte.Frame
import Sound.SDIF.Byte.Matrix
import Sound.SDIF.Byte.SDIF
import Sound.SDIF.Frame
import Sound.SDIF.Matrix
import Sound.SDIF
main :: IO ()
main = do
b <- B.readFile "crotale.sdif"
-- (856,True,2)
print (show (B.length b,is_sdif_b b,sdif_b_frames b))
s <- sdif_read_file "crotale.sdif"
-- (2,[(0,16),(16,856)])
print (sdif_frames s,sdif_frame_i s)
let fb = sdif_frame_b s 1
-- ("1RES",832,0.0,2,1,[(24,840)])
print (frame_b_type fb
,frame_b_size fb
,frame_b_time fb
,frame_b_id fb
,frame_b_matrices fb
,frame_b_matrix_i fb)
let mb = frame_b_data fb
-- ("1RES",4,50,4,200,800,816)
print (matrix_b_type mb
,matrix_b_data_type mb
,matrix_b_rows mb
,matrix_b_columns mb
,matrix_b_elements mb
,matrix_b_data_size mb
,matrix_b_storage_size mb)
let f = sdif_frame s 1
-- ("1RES",832,0.0,2,1,[(24,840)])
print (frame_type f
,frame_size f
,frame_time f
,frame_id f
,frame_matrices f
,frame_matrix_i f)
let m = frame_matrix f 0
-- ("1RES",4,50,4,200,800,816)
print (matrix_type m
,matrix_data_type m
,matrix_rows m
,matrix_columns m
,matrix_elements m
,matrix_data_size m
,matrix_storage_size m)
-- ~ [F32 35.45,F32 1.28e-3,F32 5.20,F32 0.0]
print (matrix_row m 0)
-- ~ [F32 35.45,F32 128.59,F32 346.97]
print (take 3 (matrix_column m 0))