module Sound.SC3.Server.Status where
import Data.Maybe
import Sound.OSC.Type
extractStatusField :: Floating n => Int -> [Datum] -> n
extractStatusField n =
fromMaybe (error "extractStatusField")
. datum_floating
. (!! n)
statusFields :: [String]
statusFields =
["Unused "
,"# UGens "
,"# Synths "
,"# Groups "
,"# Instruments "
,"% CPU (Average) "
,"% CPU (Peak) "
,"Sample Rate (Nominal) "
,"Sample Rate (Actual) "]
statusFormat :: [Datum] -> [String]
statusFormat d =
let s = "***** SuperCollider Server Status *****"
in s : zipWith (++) (tail statusFields) (map show (tail d))