Lisp HUG Maillist Archive

Processes and cleanup functions

Hello,

This may sound obvious, but I am wondering if I can safely assume that a processes'  cleanup forms are executed in this very process.

i.e. :

(defun my-process-cleanup (process)
  ;; is this always true?
  (eq process (mp:get-current-process))


I can't find the part of the documentation about processes cleanup forms.


Thanks in advance,
Cam


_______________________________________________
Lisp Hug - the mailing list for LispWorks users
lisp-hug@lispworks.com
http://www.lispworks.com/support/lisp-hug.html


Re: Processes and cleanup functions

Hi!
mp:ensure-process-cleanup

_______________________________________________
Lisp Hug - the mailing list for LispWorks users
lisp-hug@lispworks.com
http://www.lispworks.com/support/lisp-hug.html


Re: Processes and cleanup functions

Sorry, I didn't read your message carefully. I don't know, but I
assume nothing in my cleanups. Some information can be found in
Lispworks User Guide and Reference Manual/MP Package.

_______________________________________________
Lisp Hug - the mailing list for LispWorks users
lisp-hug@lispworks.com
http://www.lispworks.com/support/lisp-hug.html


Re: Processes and cleanup functions

On 24 Jun 2013, at 11:49, Camille Troillard wrote:

> 
> Hello,
> 
> This may sound obvious, but I am wondering if I can safely assume that a processes'  cleanup forms are executed in this very process.
> 

I think it must be, or mp:current-process-in-cleanup-p would make no sense (or would be horribly misnamed, at least: it could return true in a cleanup form for a given process even if that form was actually executing in another process, I suppose, but that would be a bit mad given its name).

(Looking at the disassembly for it and mp:current-process leads me to believe this as well...)

--tim


_______________________________________________
Lisp Hug - the mailing list for LispWorks users
lisp-hug@lispworks.com
http://www.lispworks.com/support/lisp-hug.html


(Lisp-HUG) Video...

Greetings to the List...

Has anyone received webcam streaming video from within LispWorks?

Are there any libraries that do that out there?  I have looked, but 
see nothing apparent.

The obvious approach is to surround the MicroSoft "DirectShow", which 
apparently does that sort of thing, with FLI wrappers and all that - 
but, Wikipedia says about DirectShow:  "It is regarded as one of 
Microsoft's most complex development libraries/APIs."...

There has to be a better way...

Thoughts?

Regards,

Jack Harper
Secure Outcomes Inc.
Evergreen, Colorado USA

ps - What I am looking to do is "simple": Display streaming webcam 
video in a CAPI pane - occasionally grab a frame and process it...



_______________________________________________
Lisp Hug - the mailing list for LispWorks users
lisp-hug@lispworks.com
http://www.lispworks.com/support/lisp-hug.html


Re: (Lisp-HUG) Video...

Hello Cam -

I appreciate the reply and suggestion.

My fundamental need is to bring the video into the Lisp Space in 
fairly hard real time and occasionally grab and process a frame.

This is part of the digital livescan fingerprinting system that 
Secure Outcomes has built in LispWorks. The video to come in will be 
from a USB webcam - not fingerprints.

The system already grabs real-time data from the fingerprint scan 
sensor device that runs at video rates and so I know that the 
bandwidth exists inside Lisp. However, in that case, the fingerprint 
scan hardware device driver is fairly simple to use and so that 
integration was not too horrible and did not require something as 
maniacal as the MicroSoft "DirectShow" appears to be.

Has anyone read streaming video into Lisp Space?

Regards to the List -

Jack Harper
Secure Outcomes Inc
Evergreen, Colorado USA



At 08:44 AM 7/1/2013, Camille Troillard wrote:

>Hi Jack,
>
>
> > Has anyone received webcam streaming video from within LispWorks?
> >
> > ps - What I am looking to do is "simple": Display streaming 
> webcam video in a CAPI pane - occasionally grab a frame and process it...
>
>Could it be possible to use another process to save the webcam 
>images on disk and read them later in LispWorks?
>
>There must be the way to integrate an existing utility program to do 
>this task of grabbing a frame every few seconds, even faster should 
>be possible with a bit of synchronization.
>
>
>Best,
>Cam
>
>
>_______________________________________________
>Lisp Hug - the mailing list for LispWorks users
>lisp-hug@lispworks.com
>http://www.lispworks.com/support/lisp-hug.html

_______________________________________________
Lisp Hug - the mailing list for LispWorks users
lisp-hug@lispworks.com
http://www.lispworks.com/support/lisp-hug.html


Re: (Lisp-HUG) Video...

Jack,

It's probably proprietary and you may not get an answer, but http://www.brslabs.com/ uses LispWorks for their video surveillance AISight (I'm pretty sure).

I don't know if anyone there can offer you any help or perhaps they have some OSS modules they use they can toss your way?

Even if they can't "help" you, it's at least confirmation that you can do what you want with LispWorks (whatever that is).

Jeff M.


On Mon, Jul 1, 2013 at 10:51 AM, Jack Harper <jharper@secureoutcomes.net> wrote:

Hello Cam -

I appreciate the reply and suggestion.

My fundamental need is to bring the video into the Lisp Space in fairly hard real time and occasionally grab and process a frame.

This is part of the digital livescan fingerprinting system that Secure Outcomes has built in LispWorks. The video to come in will be from a USB webcam - not fingerprints.

The system already grabs real-time data from the fingerprint scan sensor device that runs at video rates and so I know that the bandwidth exists inside Lisp. However, in that case, the fingerprint scan hardware device driver is fairly simple to use and so that integration was not too horrible and did not require something as maniacal as the MicroSoft "DirectShow" appears to be.

Has anyone read streaming video into Lisp Space?

Regards to the List -

Jack Harper
Secure Outcomes Inc
Evergreen, Colorado USA




At 08:44 AM 7/1/2013, Camille Troillard wrote:

Hi Jack,


> Has anyone received webcam streaming video from within LispWorks?
>
> ps - What I am looking to do is "simple": Display streaming webcam video in a CAPI pane - occasionally grab a frame and process it...

Could it be possible to use another process to save the webcam images on disk and read them later in LispWorks?

There must be the way to integrate an existing utility program to do this task of grabbing a frame every few seconds, even faster should be possible with a bit of synchronization.


Best,
Cam


_______________________________________________
Lisp Hug - the mailing list for LispWorks users
lisp-hug@lispworks.com
http://www.lispworks.com/support/lisp-hug.html

_______________________________________________
Lisp Hug - the mailing list for LispWorks users
lisp-hug@lispworks.com
http://www.lispworks.com/support/lisp-hug.html


Re: (Lisp-HUG) Video...

Hey Jack:

Getting video from a webcam in Windows would be quite easy if you
don't mind the resolution being limited to 640x480. (Remember that
only recently did we get these mega hi-def video streams. Lots of
camcorders still operate at that resolution or lower!)

It would require writing a small core using VFW (Video For Windows) in
C which captures the images and sends them to the Lisp space, where
they could get copied or whatever.

Specifically, you would do something roughly like this:

1. Initialize camera

2. Picture loop

    a. Grab a frame

    b. Copy the frame in the C side

    c. Send that pointer to the Lisp world.

    d. Process frame (paint it, save it, buffer it, whatever)

    e. Destroy it.

3. Uninitialize camera

4. Disconnect (in software) the camera.


There are a few gotchas with synchronization, but they're relatively simple.

I hope this helps.

Regards,

Robert

On Mon, Jul 1, 2013 at 7:36 AM, Jack Harper <jharper@secureoutcomes.net> wrote:
>
> Greetings to the List...
>
> Has anyone received webcam streaming video from within LispWorks?
>
> Are there any libraries that do that out there?  I have looked, but see
> nothing apparent.
>
> The obvious approach is to surround the MicroSoft "DirectShow", which
> apparently does that sort of thing, with FLI wrappers and all that - but,
> Wikipedia says about DirectShow:  "It is regarded as one of Microsoft's most
> complex development libraries/APIs."...
>
> There has to be a better way...
>
> Thoughts?
>
> Regards,
>
> Jack Harper
> Secure Outcomes Inc.
> Evergreen, Colorado USA
>
> ps - What I am looking to do is "simple": Display streaming webcam video in
> a CAPI pane - occasionally grab a frame and process it...
>
>
>
> _______________________________________________
> Lisp Hug - the mailing list for LispWorks users
> lisp-hug@lispworks.com
> http://www.lispworks.com/support/lisp-hug.html
>

_______________________________________________
Lisp Hug - the mailing list for LispWorks users
lisp-hug@lispworks.com
http://www.lispworks.com/support/lisp-hug.html


Re: (Lisp-HUG) Video...

At 10:12 AM 7/1/2013, Camille Troillard wrote:


>In this case, I would suggest that you use OpenCV.
>http://opencv.org/
>
>OpenCV is transitionning to C++, but there is still a fairly mature 
>C interface that I think will allow you to get individual frame 
>contents from your Webcam without too much trouble.
>
>You could write a small C core specialized for the webcam 
>acquisition task and use the FLI to make it happen in LispWorks.
>
>LispWorks will depend on a dynamic library that is not included with 
>the system which may or may not be a problem.  As I said OpenCV is a 
>mature product now.


Thank You Cam for the suggestion - OpenCV looks quite interesting and 
also supports a straight C (or C++) interface, which would certainly 
simplify things a bit.

I appreciate the information and will keep the List informed of 
progress toward streaming real time video into Lisp Space.

Regards to the List -

Jack Harper
Secure Outcomes Inc
Evergreen, Colorado USA



_______________________________________________
Lisp Hug - the mailing list for LispWorks users
lisp-hug@lispworks.com
http://www.lispworks.com/support/lisp-hug.html


Re: (Lisp-HUG) Video...

Thank You Jeff - I will follow up with BrsLabs and see what's what.

Regards to the List,

Jack Harper
Secure Outcomes Inc.
Evergreen, Colorado


At 10:21 AM 7/1/2013, Jeff Massung wrote:
Jack,

It's probably proprietary and you may not get an answer, but http://www.brslabs.com/ uses LispWorks for their video surveillance AISight (I'm pretty sure).

I don't know if anyone there can offer you any help or perhaps they have some OSS modules they use they can toss your way?

Even if they can't "help" you, it's at least confirmation that you can do what you want with LispWorks (whatever that is).

Jeff M.



Re: (Lisp-HUG) Video...

Hello Robert -

I appreciate hearing from you.

We really need megapixel type streaming video from a high-end webcam 
such as the Logitech C920, which has up to 10-megapixel resolution; 
hardware pan/tilt/zoom (under software control) as well as autofocus 
- and Carl Zeiss/Germany glass optics.

The streaming rate is not very important - even as slow as a couple 
frames/second displayed on a CAPI pane would be fine.  The object 
that we are videoing/analyzing has a slow rate of movement.

Regards to the List -

Jack Harper
Secure Outcomes Inc
Evergreen, Colorado USA





At 11:20 AM 7/1/2013, Robert Smith wrote:
>Hey Jack:
>
>Getting video from a webcam in Windows would be quite easy if you
>don't mind the resolution being limited to 640x480. (Remember that
>only recently did we get these mega hi-def video streams. Lots of
>camcorders still operate at that resolution or lower!)
>
>It would require writing a small core using VFW (Video For Windows) in
>C which captures the images and sends them to the Lisp space, where
>they could get copied or whatever.
>
>Specifically, you would do something roughly like this:
>
>1. Initialize camera
>
>2. Picture loop
>
>     a. Grab a frame
>
>     b. Copy the frame in the C side
>
>     c. Send that pointer to the Lisp world.
>
>     d. Process frame (paint it, save it, buffer it, whatever)
>
>     e. Destroy it.
>
>3. Uninitialize camera
>
>4. Disconnect (in software) the camera.
>
>
>There are a few gotchas with synchronization, but they're relatively simple.
>
>I hope this helps.
>
>Regards,
>
>Robert
>
>On Mon, Jul 1, 2013 at 7:36 AM, Jack Harper 
><jharper@secureoutcomes.net> wrote:
> >
> > Greetings to the List...
> >
> > Has anyone received webcam streaming video from within LispWorks?
> >
> > Are there any libraries that do that out there?  I have looked, but see
> > nothing apparent.
> >
> > The obvious approach is to surround the MicroSoft "DirectShow", which
> > apparently does that sort of thing, with FLI wrappers and all that - but,
> > Wikipedia says about DirectShow:  "It is regarded as one of 
> Microsoft's most
> > complex development libraries/APIs."...
> >
> > There has to be a better way...
> >
> > Thoughts?
> >
> > Regards,
> >
> > Jack Harper
> > Secure Outcomes Inc.
> > Evergreen, Colorado USA
> >
> > ps - What I am looking to do is "simple": Display streaming webcam video in
> > a CAPI pane - occasionally grab a frame and process it...
> >
> >
> >
> > _______________________________________________
> > Lisp Hug - the mailing list for LispWorks users
> > lisp-hug@lispworks.com
> > http://www.lispworks.com/support/lisp-hug.html
> >

_______________________________________________
Lisp Hug - the mailing list for LispWorks users
lisp-hug@lispworks.com
http://www.lispworks.com/support/lisp-hug.html


Re: (Lisp-HUG) Video...

https://github.com/ryepup/cl-opencv, using CFFI library for SBCL.

HiH

Ala'a


On Wed, Jul 3, 2013 at 9:49 PM, Jack Harper <jharper@secureoutcomes.net> wrote:

At 10:12 AM 7/1/2013, Camille Troillard wrote:


In this case, I would suggest that you use OpenCV.
http://opencv.org/

OpenCV is transitionning to C++, but there is still a fairly mature C interface that I think will allow you to get individual frame contents from your Webcam without too much trouble.

You could write a small C core specialized for the webcam acquisition task and use the FLI to make it happen in LispWorks.

LispWorks will depend on a dynamic library that is not included with the system which may or may not be a problem.  As I said OpenCV is a mature product now.


Thank You Cam for the suggestion - OpenCV looks quite interesting and also supports a straight C (or C++) interface, which would certainly simplify things a bit.

I appreciate the information and will keep the List informed of progress toward streaming real time video into Lisp Space.


Regards to the List -

Jack Harper
Secure Outcomes Inc
Evergreen, Colorado USA



_______________________________________________
Lisp Hug - the mailing list for LispWorks users
lisp-hug@lispworks.com
http://www.lispworks.com/support/lisp-hug.html


Re: (Lisp-HUG) Video...

At 03:06 PM 7/3/2013, Ala'a Mohammad wrote:
https://github.com/ryepup/cl-opencv, using CFFI library for SBCL.

HiH

Ala'a


Thank You Kindly Sir -

I appreciate the most useful link.

Regards,

Jack Harper
Secure Outcomes Inc
Evergreen, Colorado USA


Re: (Lisp-HUG) Video...



On Thu, Jul 4, 2013 at 1:18 AM, Camille Troillard <camille@osculator.net> wrote:
I tried this library, but I would not recommend using it in a production system.
A small specialized C module would be better.
Or a leaner library tailored to LispWorks.
 
 Thanks for the heads up.

 I'd love to hear any experience (pros and/or cons) plus any problems from using cl-opencv (or even opencv itself).

Thanks in advance,

Regards,

Ala'a


Updated at: 2020-12-10 08:35 UTC