How would you approach getting a visual image into Smalltalk? In WinXP,
even Paint links itself to an active video feed from a webcam or scanner. How can that feature be accomplished in Dolphin? And how can live video be acquired so it can be processed in real time? I assume accessing the right Windows .dll would provide a bitmap, but how specifically? Thanks, Kirk |
Kirk,
> How would you approach getting a visual image into Smalltalk? In WinXP, > even Paint links itself to an active video feed from a webcam or scanner. > How can that feature be accomplished in Dolphin? And how can live video be > acquired so it can be processed in real time? I assume accessing the right > Windows .dll would provide a bitmap, but how specifically? For stills, look at TWAIN and EZ-TWAIN. I'm not at all sure how XP's Paint gets video, and I <evilGrin>don't have an XP system for reference</evilGrin>. For video, I found a great deal (via PC Connection) on a Videum card (http://www.winnov.com/) and have been quite happy with it, though my use of it to date has been limited to weekend tinkering. I chose it because of price, and ability to capture audio, video and stills; the latter requirement was the least negotiable and limited the field considerably. I was also quite impressed by their wide support of 9x/NT/2k and Linux (haven't verified that the latter works, yet). Either they spend a lot of time posting bogus messages to their own newgroup, or they have some satisfied customers. It also ships with an SDK in the form of OCX controls and help files. A limited test with Dolphin's ActiveX hosting had video on the screen in a hurry. For good or bad, I found that the control must be hosted visually in order to work. The short version is that I bought the card with one task in mind, and later recognized the potential to grab and process video. So far, there is no evidence to suggest that it can't be done, though I can't claim any real-world success stories either. Have a good one, Bill -- Wilhelm K. Schwab, Ph.D. [hidden email] |
"Bill Schwab" <[hidden email]> wrote
> For stills, look at TWAIN and EZ-TWAIN. I'm not at all sure how XP's Paint > gets video, and I <evilGrin>don't have an XP system for > reference</evilGrin I looked for TWAIN in the D.XP class hierarchy browser but did not find it. The video input which works on my W.XP's Paint and Movie Maker is the USB port. <moustache twirling>I wonder if USB could handle several cameras simultaneously! </moustache twirling> > For video, I found a great deal (via PC Connection) on a Videum card > (http://www.winnov.com/) and have been quite happy with it, Thanks I looked it up but I can make do with my NVida GeForce 4 AGP card which doubles as a near top of the line OpenGL game graphics card, which Creative-Computing's 3D library can drive via D.XP. It has a video-in that works fine with W.XP Movie Maker. I want to bring it in to Dolphin to do more interesting stuff like trying to identify visual objects in real time. > A limited test with Dolphin's ActiveX hosting had video on > the screen in a hurry. For good or bad, I found that the control must > be hosted visually in order to work. Please explain. I have long had my head in the sand regarding ActiveX hoping it was yet another Microsoft technology that would bite the bit bin. How do I use it and what do you mean about contol hosted visually? |
Kirk,
> > For stills, look at TWAIN and EZ-TWAIN. I'm not at all sure how XP's > Paint > > gets video, and I <evilGrin>don't have an XP system for > > reference</evilGrin > > I looked for TWAIN in the D.XP class hierarchy browser but did not find it. Look for EZ-TWAIN wrappers. I think Ian has one on his web site; failing that, I have one in my image that I could make available. > I want to bring it in to Dolphin to do more interesting stuff like trying to > identify visual objects in real time. > > > A limited test with Dolphin's ActiveX hosting had video on > > the screen in a hurry. For good or bad, I found that the control must > > be hosted visually in order to work. > > Please explain. I have long had my head in the sand regarding ActiveX > hoping it was yet another Microsoft technology that would bite the bit bin. Not ActiveX, at least not until Windows itself disappears. The ActiveX _name_ is just more MS marketing nonsense, but the technology is COM; kill COM and you kill Windows as we know it. Kill Windows? IMHO, .NET was created for basically that purpose, with the goal of changing the market to pay-by-the-clock-cycle, and I doubt it will succeed. Ok, so what is ActiveX? Think back to OCX controls, which were originally known as OLE controls, or was it the other way around :) Same technology, different name. Hype aside, VC++, MFC, and the App and Class Wizards made these controls fairly easy to build; for C++, it was about as simple as things were going to get. OCX controls, were(are) the 32-bit, COM-based relacement for the old 16-bit VBX controls. OCX controls were great, but they were big because they did so many things, including persistence of design-time settings, and interacting with a visual container. Every feature was provided by one or more COM interfaces supported by the control; lots of features meant lots of interfaces, which meant lots of code, which meant big controls. As web sites started making money, the need for a way to quickly download a needed control to a customer's computer became clear. Java was pressing too, because once a customer had the JVM (in theory/threat to MS, I'm *not* defending Java), small amounts of code could go a long way, and the VM offered the possibility of limiting what the code could do (aka security). The MS response was to create something "new" called ActiveX controls. The non-hyped version of it is that they simply required fewer COM interfaces to be present; arguably, it was simply a matter of making containers that were more tolerant of getting "sorry" as a response to QueryInterface(). This allowed controls that didn't do much to be smaller, so they'd be quicker to download. It's clever, and effective. What about that JVM and security? Simple. ActiveX was native code, so MS was, well, screwed on this front. They could have arranged to run the controls with limited permissions, but that wasn't really an option on 9x, and it would make riskier but more powerful controls impossible to build (those Java guys could turn off that sandbox thing and do almost anything, so MS had to match the capability). The answer: ask the control whether or not it can be trusted!!!!!! Seriously; I wish I were making this up. One day, one of my cash cows stopped working (I think it was IE 4 that added this stuff), and it turned out that the browser was refusing to script the control. A few minutes searching turned up C++ source code to have the control mark itself as safe, and suddenly the browser was willing to load and script it, otherwise unchanged. The glossy adds didn't go into that much detail, they simply talked up "ActiveX Security". And, of course, Java lost the lime light on its own merrits (or lack thereof). In summary, ActiveX==COM, though it's really the latest name given to COM DLL components that might or might not offer visual interfaces in cooperation with a container. To Dolphin, "ActiveX hosting" generally means using a type library to generate code (seriously slick stuff). Dolphin can host both visual and non-visual controls. > How do I use it and what do you mean about contol hosted visually? In terms of the above, it means that the control offers lots of interfaces (which not unique to the Videum controls) to appear inside of a "control container" such as VB, MS Office apps, IE, Dolphin, etc. Between the control site (the container part of the conversation) and the control itself, there are 20 or so interfaces involved - see Inside OLE for details. The bottom line is that the Videum controls won't work unless "all" of those interfaces are exercised. Since it's a visual control, that's legal. Some visual controls can do useful things w/o being hosted visually, the Videum controls cannot. Does that help? Have a good one, Bill -- Wilhelm K. Schwab, Ph.D. [hidden email] |
Free forum by Nabble | Edit this page |