simple-firewire 0.1.3.1 → 0.1.3.2
raw patch · 3 files changed
+11/−11 lines, 3 files
Files
Examples/Example1.hs view
@@ -11,7 +11,7 @@ import Data.Array.IArray import Data.Bits import Foreign.C.Types-import Foreign.Concurrent+import Control.Concurrent (threadDelay) import Foreign.ForeignPtr hiding (newForeignPtr) import Foreign.Marshal.Alloc import Foreign.Marshal.Array@@ -51,8 +51,7 @@ saveClip c = enumCamera c $$ (E.isolate 10 =$ save) -main = do- dc <- getDC1394 --c'dc1394_new +main = withDC1394 $ \dc -> do (e:_) <- getCameras dc print e print ("Trying camera", e)@@ -65,12 +64,12 @@ startVideoTransmission cam -- run_ (saveClip cam)- getFrame cam >>= saveImage "testShot2-1.png"- getFrame cam >>= saveImage "testShot2-3.png"+ getFrame cam >>= maybe (return ()) (saveImage "testShot2-1.png")+ getFrame cam >>= maybe (return ()) (saveImage "testShot2-3.png") threadDelay (1000000)- flushCamera cam+ flushBuffer cam startVideoTransmission cam- getFrame cam >>= saveImage "testShot2-4.png"+ getFrame cam >>= maybe (return ()) (saveImage "testShot2-4.png") stopVideoTransmission cam stopCapture cam
System/Camera/Firewire/Simple.hs view
@@ -84,10 +84,11 @@ 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+ framePtr :: Ptr C'dc1394video_frame_t <- peek framePtrPtr + putStrLn $ show (framePtr,framePtrPtr)+ + when (framePtr /= nullPtr) $ c'dc1394_capture_enqueue cam framePtr >> flushLoop framePtrPtr cam
simple-firewire.cabal view
@@ -1,5 +1,5 @@ Name: simple-firewire-Version: 0.1.3.1+Version: 0.1.3.2 Synopsis: Simplified interface for firewire cameras Description: A simplified interface for firewire cameras based on libdc1394 <http://damien.douxchamps.net/ieee1394/libdc1394/> .