packages feed

simple-firewire 0.1.2 → 0.1.3

raw patch · 3 files changed

+23/−4 lines, 3 files

Files

Examples/Example1.hs view
@@ -64,9 +64,13 @@     setupCamera cam 4 (defaultFlags)     startVideoTransmission cam     -    run_ (saveClip cam)-   -- getFrame cam >>= saveImage "testShot2-1.png"-   -- getFrame cam >>= saveImage "testShot2-3.png"+   --  run_ (saveClip cam)+    getFrame cam >>= saveImage "testShot2-1.png"+    getFrame cam >>= saveImage "testShot2-3.png"+    threadDelay (1000000)+    flushCamera cam+    startVideoTransmission cam+    getFrame cam >>= saveImage "testShot2-4.png"          stopVideoTransmission cam     stopCapture cam
System/Camera/Firewire/Simple.hs view
@@ -74,6 +74,21 @@                (\_ -> peek list >>= c'dc1394_camera_free_list)                (\_ -> peek list >>= peek >>= getIds)  +-- | Stop the transmission, and poll frames until the camera buffer is empty. Notice that you+--   have to restart the transmission after this call+flushBuffer cam = alloca $ \(framePtrPtr :: Ptr (Ptr C'dc1394video_frame_t)) -> do+    stopVideoTransmission cam +    withCameraPtr cam $ flushLoop framePtrPtr+ where+    flushLoop framePtrPtr cam = do+        c'dc1394_capture_dequeue cam  c'DC1394_CAPTURE_POLICY_POLL framePtrPtr+        framePtr <- peek framePtrPtr +        c'dc1394_capture_enqueue cam framePtr+        print "Flush!"+        when (framePtr /= nullPtr) $ flushLoop framePtrPtr cam+++ -- | Grab a frame from the camera. Currently does only 640x480 RGB D8 Images. getFrame :: Camera -> IO (Maybe (Image RGB D8)) getFrame camera' = alloca $ \(framePtr :: Ptr (Ptr C'dc1394video_frame_t)) ->
simple-firewire.cabal view
@@ -1,5 +1,5 @@ Name:                simple-firewire-Version:             0.1.2+Version:             0.1.3 Synopsis:            Simplified interface for firewire cameras Description:         A simplified interface for firewire cameras based on libdc1394 <http://damien.douxchamps.net/ieee1394/libdc1394/>                      .