| Safe Haskell | None |
|---|---|
| Language | Haskell2010 |
Graphics.DynamicGraph.Waterfall
Description
Draw and update waterfall plots with OpenGL. Useful for spectrograms.
Example usage:
import Control.Monad
import Control.Monad.Trans.Either
import Control.Concurrent
import Pipes
import qualified Pipes.Prelude as P
import System.Random
import Graphics.Rendering.OpenGL
import Graphics.DynamicGraph.Waterfall
import Graphics.DynamicGraph.Window
randomVect :: Producer [GLfloat] IO ()
randomVect = P.repeatM $ do
res <- replicateM 1000 randomIO
threadDelay 10000
return res
main = eitherT putStrLn return $ do
setupGLFW
waterfall <- window 1024 480 $ renderWaterfall 1000 1000 jet_mod
lift $ runEffect $ randomVect >-> waterfall- renderWaterfall :: IsPixelData a => Int -> Int -> [GLfloat] -> IO (Consumer a IO ())
- module Graphics.DynamicGraph.ColorMaps
Documentation
Arguments
| :: IsPixelData a | |
| => Int | waterfall columns |
| -> Int | waterfall rows |
| -> [GLfloat] | waterfall color map |
| -> IO (Consumer a IO ()) |
Returns a Consumer that renders a waterfall plot into the current OpenGL context.
All OpenGL based initialization of the rendering function (loading of shaders, etc) is performed before the Consumer is returned.
This function must be called with an OpenGL context currently set.