c++.stlsoft - COMSTL and DirectShow
- Adi Shavit (265/265) Nov 23 2006 Hi,
-
Matthew
(8/35)
Nov 23 2006
- Adi Shavit (26/26) Nov 23 2006
- Adi Shavit (74/74) Nov 29 2006 Hi,
- Matthew (3/3) Nov 29 2006 Adi
- Matthew (32/34) Dec 02 2006 Have you not seen
- Matthew (10/42) Dec 02 2006 Correction:
- Adi Shavit (56/56) Dec 03 2006
- Matthew (12/27) Dec 03 2006 I'll have a go at com_init.
- Adi Shavit (4/52) Dec 04 2006 If you want my silly little DirectShow app, I can send/post that, thoug
- Matthew (7/9) Dec 04 2006 Sure, that'd be a good idea. I can maybe make some changes, and that'll ...
- Adi Shavit (10/22) Dec 05 2006 Hi Mathew,
- Matthew Wilson (29/29) Feb 16 2007 charset="iso-8859-1"
- Adi Shavit (16/18) Feb 17 2007 Well, I actually got stuck with that one, though I'll probably come back...
- Matthew Wilson (27/27) Feb 26 2007 charset="iso-8859-1"
- Adi Shavit (11/30) Mar 06 2007 Hi,
- Matthew Wilson (7/41) Mar 07 2007 Cool!
- Matthew Wilson (8/62) Mar 08 2007 btw, you should probably stipulate that you need "STLSoft version 1.9.1 ...
- Adi Shavit (3/80) Mar 08 2007 Ah! Thanks.
- Adi Shavit (3/3) Mar 08 2007 PS,
Hi, I'm trying to use COMSTL with DirectShow, and I'm having compilation problems right from the start. I took a simple working DirectShow (which is based on COM) program (on MSVC++ 6.0), and tried adding a single line to see COMSTL in action. My code snippet: //... IGraphBuilder *pGraph; IMediaEvent *pEvent; //... using namespace comstl; CoInitialize(NULL); pGraph= 0; if (!FAILED( CoCreateInstance(CLSID_FilterGraph, NULL, CLSCTX_INPROC, IID_IGraphBuilder, (void **)&pGraph))) { //... pGraph->QueryInterface(IID_IMediaEvent, (void **)&pEvent); if (interface_cast_test<IMediaEvent>(pGraph)) //<< COMSTL usage int j=0; //dummy code //... uses of interface_case_addref<> give similar problems. Here's a sample of my errors: c:\users\adish\gentech\otherlibs\stlsoft\comstl\interface_cast.hpp(302) : error C2259: 'IMediaEvent' : cannot instantiate abstract class due to following members: c:\users\adish\gentech\libs\iplreader\directx8\include\control.h(662) : see declaration of 'IMediaEvent' c:\users\adish\gentech\otherlibs\stlsoft\comstl\interface_cast.hpp(515) : see reference to class template instantiation 'stlsoft::comstl_project::interface_cast_base<struct IMediaEvent,struct stlsoft::comstl_project::noaddref_release<struct IMediaEvent>,struct stlsoft::comstl_project::ignore_interface_cast_exception>' being compiled c:\users\adish\tests\cvision2\cvapp.h(79) : see reference to class template instantiation 'stlsoft::comstl_project::interface_cast_test<struct IMediaEvent>' being compiled c:\users\adish\gentech\otherlibs\stlsoft\comstl\interface_cast.hpp(302) : warning C4259: 'long __stdcall IUnknown::QueryInterface(const struct _GUID &,void ** )' : pure virtual function was not defined c:\program files\microsoft visual studio\vc98\include\unknwn.h(109) : see declaration of 'QueryInterface' c:\users\adish\gentech\otherlibs\stlsoft\comstl\interface_cast.hpp(515) : see reference to class template instantiation 'stlsoft::comstl_project::interface_cast_base<struct IMediaEvent,struct stlsoft::comstl_project::noaddref_release<struct IMediaEvent>,struct stlsoft::comstl_project::ignore_interface_cast_exception>' being compiled c:\users\adish\tests\cvision2\cvapp.h(79) : see reference to class template instantiation 'stlsoft::comstl_project::interface_cast_test<struct IMediaEvent>' being compiled c:\users\adish\gentech\otherlibs\stlsoft\comstl\interface_cast.hpp(302) : warning C4259: 'unsigned long __stdcall IUnknown::AddRef(void)' : pure virtual function was not defined c:\program files\microsoft visual studio\vc98\include\unknwn.h(113) : see declaration of 'AddRef' c:\users\adish\gentech\otherlibs\stlsoft\comstl\interface_cast.hpp(515) : see reference to class template instantiation 'stlsoft::comstl_project::interface_cast_base<struct IMediaEvent,struct stlsoft::comstl_project::noaddref_release<struct IMediaEvent>,struct stlsoft::comstl_project::ignore_interface_cast_exception>' being compiled c:\users\adish\tests\cvision2\cvapp.h(79) : see reference to class template instantiation 'stlsoft::comstl_project::interface_cast_test<struct IMediaEvent>' being compiled c:\users\adish\gentech\otherlibs\stlsoft\comstl\interface_cast.hpp(302) : warning C4259: 'unsigned long __stdcall IUnknown::Release(void)' : pure virtual function was not defined c:\program files\microsoft visual studio\vc98\include\unknwn.h(115) : see declaration of 'Release' c:\users\adish\gentech\otherlibs\stlsoft\comstl\interface_cast.hpp(515) : see reference to class template instantiation 'stlsoft::comstl_project::interface_cast_base<struct IMediaEvent,struct stlsoft::comstl_project::noaddref_release<struct IMediaEvent>,struct stlsoft::comstl_project::ignore_interface_cast_exception>' being compiled c:\users\adish\tests\cvision2\cvapp.h(79) : see reference to class template instantiation 'stlsoft::comstl_project::interface_cast_test<struct IMediaEvent>' being compiled c:\users\adish\gentech\otherlibs\stlsoft\comstl\interface_cast.hpp(302) : warning C4259: 'long __stdcall IDispatch::GetTypeInfoCount(unsigned int *)' : pure virtual function was not defined c:\program files\microsoft visual studio\vc98\include\oaidl.h(2697) : see declaration of 'GetTypeInfoCount' c:\users\adish\gentech\otherlibs\stlsoft\comstl\interface_cast.hpp(515) : see reference to class template instantiation 'stlsoft::comstl_project::interface_cast_base<struct IMediaEvent,struct stlsoft::comstl_project::noaddref_release<struct IMediaEvent>,struct stlsoft::comstl_project::ignore_interface_cast_exception>' being compiled c:\users\adish\tests\cvision2\cvapp.h(79) : see reference to class template instantiation 'stlsoft::comstl_project::interface_cast_test<struct IMediaEvent>' being compiled c:\users\adish\gentech\otherlibs\stlsoft\comstl\interface_cast.hpp(302) : warning C4259: 'long __stdcall IDispatch::GetTypeInfo(unsigned int,unsigned long,struct ITypeInfo ** )' : pure virtual function was not defined c:\program files\microsoft visual studio\vc98\include\oaidl.h(2700) : see declaration of 'GetTypeInfo' c:\users\adish\gentech\otherlibs\stlsoft\comstl\interface_cast.hpp(515) : see reference to class template instantiation 'stlsoft::comstl_project::interface_cast_base<struct IMediaEvent,struct stlsoft::comstl_project::noaddref_release<struct IMediaEvent>,struct stlsoft::comstl_project::ignore_interface_cast_exception>' being compiled c:\users\adish\tests\cvision2\cvapp.h(79) : see reference to class template instantiation 'stlsoft::comstl_project::interface_cast_test<struct IMediaEvent>' being compiled c:\users\adish\gentech\otherlibs\stlsoft\comstl\interface_cast.hpp(302) : warning C4259: 'long __stdcall IDispatch::GetIDsOfNames(const struct _GUID &,unsigned short ** ,unsigned int,unsigned long,long *)' : pure virtual function was not defined c:\program files\microsoft visual studio\vc98\include\oaidl.h(2705) : see declaration of 'GetIDsOfNames' c:\users\adish\gentech\otherlibs\stlsoft\comstl\interface_cast.hpp(515) : see reference to class template instantiation 'stlsoft::comstl_project::interface_cast_base<struct IMediaEvent,struct stlsoft::comstl_project::noaddref_release<struct IMediaEvent>,struct stlsoft::comstl_project::ignore_interface_cast_exception>' being compiled c:\users\adish\tests\cvision2\cvapp.h(79) : see reference to class template instantiation 'stlsoft::comstl_project::interface_cast_test<struct IMediaEvent>' being compiled c:\users\adish\gentech\otherlibs\stlsoft\comstl\interface_cast.hpp(302) : warning C4259: 'long __stdcall IDispatch::Invoke(long,const struct _GUID &,unsigned long,unsigned short,struct tagDISPPARAMS *,struct tagVARIANT *,struct tagEXCEPINFO *,unsign ed int *)' : pure virtual function was not defined c:\program files\microsoft visual studio\vc98\include\oaidl.h(2712) : see declaration of 'Invoke' c:\users\adish\gentech\otherlibs\stlsoft\comstl\interface_cast.hpp(515) : see reference to class template instantiation 'stlsoft::comstl_project::interface_cast_base<struct IMediaEvent,struct stlsoft::comstl_project::noaddref_release<struct IMediaEvent>,struct stlsoft::comstl_project::ignore_interface_cast_exception>' being compiled c:\users\adish\tests\cvision2\cvapp.h(79) : see reference to class template instantiation 'stlsoft::comstl_project::interface_cast_test<struct IMediaEvent>' being compiled c:\users\adish\gentech\otherlibs\stlsoft\comstl\interface_cast.hpp(302) : warning C4259: 'long __stdcall IMediaEvent::GetEventHandle(long *)' : pure virtual function was not defined c:\users\adish\gentech\libs\iplreader\directx8\include\control.h(665) : see declaration of 'GetEventHandle' c:\users\adish\gentech\otherlibs\stlsoft\comstl\interface_cast.hpp(515) : see reference to class template instantiation 'stlsoft::comstl_project::interface_cast_base<struct IMediaEvent,struct stlsoft::comstl_project::noaddref_release<struct IMediaEvent>,struct stlsoft::comstl_project::ignore_interface_cast_exception>' being compiled c:\users\adish\tests\cvision2\cvapp.h(79) : see reference to class template instantiation 'stlsoft::comstl_project::interface_cast_test<struct IMediaEvent>' being compiled c:\users\adish\gentech\otherlibs\stlsoft\comstl\interface_cast.hpp(302) : warning C4259: 'long __stdcall IMediaEvent::GetEvent(long *,long *,long *,long)' : pure virtual function was not defined c:\users\adish\gentech\libs\iplreader\directx8\include\control.h(668) : see declaration of 'GetEvent' c:\users\adish\gentech\otherlibs\stlsoft\comstl\interface_cast.hpp(515) : see reference to class template instantiation 'stlsoft::comstl_project::interface_cast_base<struct IMediaEvent,struct stlsoft::comstl_project::noaddref_release<struct IMediaEvent>,struct stlsoft::comstl_project::ignore_interface_cast_exception>' being compiled c:\users\adish\tests\cvision2\cvapp.h(79) : see reference to class template instantiation 'stlsoft::comstl_project::interface_cast_test<struct IMediaEvent>' being compiled c:\users\adish\gentech\otherlibs\stlsoft\comstl\interface_cast.hpp(302) : warning C4259: 'long __stdcall IMediaEvent::WaitForCompletion(long,long *)' : pure virtual function was not defined c:\users\adish\gentech\libs\iplreader\directx8\include\control.h(674) : see declaration of 'WaitForCompletion' c:\users\adish\gentech\otherlibs\stlsoft\comstl\interface_cast.hpp(515) : see reference to class template instantiation 'stlsoft::comstl_project::interface_cast_base<struct IMediaEvent,struct stlsoft::comstl_project::noaddref_release<struct IMediaEvent>,struct stlsoft::comstl_project::ignore_interface_cast_exception>' being compiled c:\users\adish\tests\cvision2\cvapp.h(79) : see reference to class template instantiation 'stlsoft::comstl_project::interface_cast_test<struct IMediaEvent>' being compiled c:\users\adish\gentech\otherlibs\stlsoft\comstl\interface_cast.hpp(302) : warning C4259: 'long __stdcall IMediaEvent::CancelDefaultHandling(long)' : pure virtual function was not defined c:\users\adish\gentech\libs\iplreader\directx8\include\control.h(678) : see declaration of 'CancelDefaultHandling' c:\users\adish\gentech\otherlibs\stlsoft\comstl\interface_cast.hpp(515) : see reference to class template instantiation 'stlsoft::comstl_project::interface_cast_base<struct IMediaEvent,struct stlsoft::comstl_project::noaddref_release<struct IMediaEvent>,struct stlsoft::comstl_project::ignore_interface_cast_exception>' being compiled c:\users\adish\tests\cvision2\cvapp.h(79) : see reference to class template instantiation 'stlsoft::comstl_project::interface_cast_test<struct IMediaEvent>' being compiled c:\users\adish\gentech\otherlibs\stlsoft\comstl\interface_cast.hpp(302) : warning C4259: 'long __stdcall IMediaEvent::RestoreDefaultHandling(long)' : pure virtual function was not defined c:\users\adish\gentech\libs\iplreader\directx8\include\control.h(681) : see declaration of 'RestoreDefaultHandling' c:\users\adish\gentech\otherlibs\stlsoft\comstl\interface_cast.hpp(515) : see reference to class template instantiation 'stlsoft::comstl_project::interface_cast_base<struct IMediaEvent,struct stlsoft::comstl_project::noaddref_release<struct IMediaEvent>,struct stlsoft::comstl_project::ignore_interface_cast_exception>' being compiled c:\users\adish\tests\cvision2\cvapp.h(79) : see reference to class template instantiation 'stlsoft::comstl_project::interface_cast_test<struct IMediaEvent>' being compiled c:\users\adish\gentech\otherlibs\stlsoft\comstl\interface_cast.hpp(302) : warning C4259: 'long __stdcall IMediaEvent::FreeEventParams(long,long,long)' : pure virtual function was not defined c:\users\adish\gentech\libs\iplreader\directx8\include\control.h(684) : see declaration of 'FreeEventParams' c:\users\adish\gentech\otherlibs\stlsoft\comstl\interface_cast.hpp(515) : see reference to class template instantiation 'stlsoft::comstl_project::interface_cast_base<struct IMediaEvent,struct stlsoft::comstl_project::noaddref_release<struct IMediaEvent>,struct stlsoft::comstl_project::ignore_interface_cast_exception>' being compiled c:\users\adish\tests\cvision2\cvapp.h(79) : see reference to class template instantiation 'stlsoft::comstl_project::interface_cast_test<struct IMediaEvent>' being compiled Am I doing something wrong? Thanks, Adi
Nov 23 2006
"Adi Shavit" <adish gentech.co.il> wrote in message news:ek3o74$rfu$1 digitaldaemon.com...Hi, I'm trying to use COMSTL with DirectShow, and I'm having compilation problems right from the start. I took a simple working DirectShow (which is based on COM) program (on MSVC++ 6.0), and tried adding a single line to see COMSTL in action. My code snippet: //... IGraphBuilder *pGraph; IMediaEvent *pEvent; //... using namespace comstl; CoInitialize(NULL); pGraph= 0; if (!FAILED( CoCreateInstance(CLSID_FilterGraph, NULL, CLSCTX_INPROC, IID_IGraphBuilder, (void **)&pGraph))) { //... pGraph->QueryInterface(IID_IMediaEvent, (void **)&pEvent); if (interface_cast_test<IMediaEvent>(pGraph)) //<< COMSTL usage int j=0; //dummy code //... uses of interface_case_addref<> give similar problems. Here's a sample of my errors: c:\users\adish\gentech\otherlibs\stlsoft\comstl\interface_cast.hpp(302) : error C2259: 'IMediaEvent' : cannot instantiate abstract class due to following members:<snip>Am I doing something wrong?I believe you are. The cast is implemented to resemble cast-like syntax/semantics, not smart pointer. Hence, you need to cast to the type you want, i.e. IMediaEvent* not IMediaEvent. :-) Matthew
Nov 23 2006
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <html> <head> <meta content="text/html;charset=ISO-8859-1" http-equiv="Content-Type"> </head> <body bgcolor="#ffffff <small><br> </small> <blockquote cite="midek3rit$ure$1 digitaldaemon.com" type="cite"> <blockquote type="cite"> <pre wrap="">Am I doing something wrong? </pre> </blockquote> <pre wrap=""><!----> I believe you are. The cast is implemented to resemble cast-like syntax/semantics, not smart pointer. Hence, you need to cast to the type you want, i.e. IMediaEvent* not IMediaEvent. </pre> </blockquote> <small>Gah!<br> Got it, it works.<br> Thanks,<br> Adi</small><br> <br> </body> </html>
Nov 23 2006
Hi, I've been playing with DirectShow and COMSTL. Essentially, I took a simple working DirectShow app. and converting it into COMSTL and adding features. I have some questions/remarks etc. regarding COMSTL, that I'd like to bring up. I am a complete COM (and DirectShow) novice, so everything I say may be complete non-sense. Please feel free to tell me so. Heres what I have so far... 1. I guess this is no surprise but the documentation is horrible! I use a combination of reading the source, searching the source for text and Google [Code Search]) for various versions of the documentation. The auto generated docs are often disconnected and it is hard to reach some module/functions/classes even from the project main page. For example, there are 2 pages for interface_ptr<> one is essentially empty (the latest one [http://tinyurl.com/y39cfw]) and the other contains the docs (a version I found on through Google [http://tinyurl.com/uwa6q]) The CHM has similar problems. The frame version of the docs. is impossible to use, it take minutes to properly load on my machine (if it doesn't hang). 2. In the spirit of RAII, maybe throw an exception (or report some error) if the interface_ptr<> is initialized with NULL/0. This will save a lot of error checking, and make the code clearer. Or maybe make an alternate type that does this, or a policy... <heresy alert!> 3. Maybe allow automatic conversion to the underlying pointer type? Passing x.get_interface_ptr() to functions is ugly typing </heresy alert!> 4. co_create_instance and its kin are undocumented. 5. Functions like co_create_instance and other initialization functions expect an address of a pointer as the second argument. This means that when used with interface_ptr, a temporary bare pointer must be used to be given like so: // Create a source filter specified by filename interface_ptr<IBaseFilter> pSource; // The interface_ptr<> object { IBaseFilter* ppSource= NULL; // temporary bare pointer if(FAILED(pGraph->AddSourceFilter(a2w(c_str_ptr(filename)),0,&ppSource))) { //... return 0; } pSource.set(ppSource, false); // setting the smart pointer. } It would be useful to have a method that exposes the internal member so it can be used directly in such functions. I know it might be dangerous (although there is an option to get the referent anyway) but maybe it should be considered. 6. Allow interface_cast_addref<>() to accept interface_ptr arguments instead of just bare pointers. This would allow more readable code. 7. Consider making the second argument of interface_ptr<> default to false. It seems to me that this would be in the spirit of RAII too. This would be the case when directly moving the newly received pointer (say from into the interface_ptr<>, without keeping an extra "bare" copy. (This is also related to 5 above). 8. A somewhat more general question. Do you have any suggestions regarding error checking? Having: if(FAILED(...)) { ::MessageBox( ...); return 0; } all over the code is awful. I think that's enough for now. Despite this issues, I find COMSTL makes things easier, and certainly resource management is improved. Thanks, Adi
Nov 29 2006
Adi Thanks for that. I'll deal with each point individually over the next few days.
Nov 29 2006
4. co_create_instanceHave you not seen f4636026577579f3d1d ? (Maybe because it's in the doc-1.9 area) Or are you saying that's not good enough? FTR: I've enhanced that a bit now, so that the overloads have the following examples: 1. With CLSID const CLSID CLSID_pantheios_COM_LoggerManager = { 0x4E7D5C47, 0x8F96, 0x45DE, { 0x90, 0x5D, 0xAA, 0x3E, 0x9E, 0x59, 0x2D, 0xE3 } }; IDispatch *logmgr; if(SUCCEEDED(comstl::co_create_instance(CLSID_pantheios_com_LoggerManager, &logmgr))) { logmgr->Release(); } 2. With string form CLSID IDispatch *logmgr; if(SUCCEEDED(comstl::co_create_instance("{4E7D5C47-8F96-45DE-905D-AA3E9E592D E3}", &logmgr))) { logmgr->Release(); } 3. With ProgId IDispatch *logmgr; if(SUCCEEDED(comstl::co_create_instance("pantheios.COM.LoggerManager", &logmgr))) { logmgr->Release(); }and its kin are undocumented.What kin? Specifics please. Cheers Matthew
Dec 02 2006
Correction: Example 1: The identifier is CLSID_pantheios_COM_LoggerManager, not CLSID_pantheios_com_LoggerManager Examples 2 & 3: the strings must be prefixed with L Silly me. "Matthew" <matthew hat.stlsoft.dot.org> wrote in message news:ekt3dc$1te6$1 digitaldaemon.com...f4636026577579f3d1d ?4. co_create_instanceHave you not seen(Maybe because it's in the doc-1.9 area) Or are you saying that's not good enough? FTR: I've enhanced that a bit now, so that the overloads have thefollowingexamples: 1. With CLSID const CLSID CLSID_pantheios_COM_LoggerManager = { 0x4E7D5C47, 0x8F96, 0x45DE, { 0x90, 0x5D, 0xAA, 0x3E, 0x9E, 0x59, 0x2D, 0xE3 } }; IDispatch *logmgr; if(SUCCEEDED(comstl::co_create_instance(CLSID_pantheios_com_LoggerManager, &logmgr))) { logmgr->Release(); } 2. With string form CLSID IDispatch *logmgr;if(SUCCEEDED(comstl::co_create_instance("{4E7D5C47-8F96-45DE-905D-AA3E9E592DE3}", &logmgr))) { logmgr->Release(); } 3. With ProgId IDispatch *logmgr; if(SUCCEEDED(comstl::co_create_instance("pantheios.COM.LoggerManager", &logmgr))) { logmgr->Release(); }and its kin are undocumented.What kin? Specifics please. Cheers Matthew
Dec 02 2006
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <html> <head> <meta content="text/html;charset=ISO-8859-1" http-equiv="Content-Type"> <title></title> </head> <body dir="ltr" bgcolor="#ffffff <p style="margin-bottom: 0cm; margin-top: 0pt;"><font size="-1"><font face="Verdana">Hi Matthew,</font></font></p> <p style="margin-bottom: 0cm; margin-top: 0pt;"><br> <span style="font-size: 13px;"></span></p> <p style="margin-bottom: 0cm; margin-top: 0pt;"><span style="font-size: 13px;"><font face="Verdana"> It'll take me a while to reply to all of your answers, but I <i>will</i> get to them all (got a busy week).<br> </font></span><span style="font-size: 13px;"></span></p> <span style="font-size: 13px;"></span><span style="font-size: 13px;"></span> <p style="margin-bottom: 0cm; margin-top: 0pt;"><span style="font-size: 13px;"><font face="Verdana"></font></span></p> <blockquote cite="midekt3dc$1te6$1 digitaldaemon.com" type="cite"> <pre wrap="">Have you not seen <a class="moz-txt-link-freetext" 6026577579f3d1d</a> ? (Maybe because it's in the doc-1.9 area) Or are you saying that's not good enough?</pre> </blockquote> <span style="font-size: 13px;"><font face="Verdana">Anyway, I guess I either missed this section, looked in the wrong place, or that I expected a page for each such function. Thanks.</font></span> <p style="margin-bottom: 0cm; margin-top: 0pt;"><br> </p> <blockquote cite="midekt3dc$1te6$1 digitaldaemon.com" type="cite"> <pre wrap=""><snip> </pre> <blockquote type="cite"> <pre wrap=""> and its kin are undocumented. </pre> </blockquote> <pre wrap=""><!---->What kin? Specifics please. </pre> </blockquote> <font size="-1"><font face="Verdana">I think I was referring to comstl::com_init which is also documented on the same page.<br> <br> </font></font><font size="-1"><font face="Verdana">I guess what I was saying is that a simple tutorial/sample app to show how to use the various COMSTL tools would be very informative. Maybe equivalent long-hand and short-hand versions (<span class="moz-smiley-s3"><span> ;-) </span></span>) are what I expected.<br> <br> Adi<br> <br> <br> </font></font> </body> </html>
Dec 03 2006
I'll have a go at com_init. The tutorial *and* sample app are both great ideas. Please remind me of this, if I forget, when we get to the point (within two weeks, hopefully) of declaring COMSTL ready for 1.9.1. Cheers"Adi Shavit" <adish gentech.co.il> wrote in messagenews:ekunsk$qpe$1 digitaldaemon.com...Hi Matthew, It'll take me a while to reply to all of your answers, but I will get tothem all (got a busy week).f4636026577579f3d1d ?Have you not seenor that I expected a page for each such function. Thanks.(Maybe because it's in the doc-1.9 area) Or are you saying that's not good enough? Anyway, I guess I either missed this section, looked in the wrong place,<snip> and its kin are undocumented.the same page.What kin? Specifics please.I think I was referring to comstl::com_init which is also documented onI guess what I was saying is that a simple tutorial/sample app to show howto use the various COMSTL tools would be very informative. Maybe equivalent long-hand and short-hand versions ( ;-) ) are what I expected.Adi
Dec 03 2006
If you want my silly little DirectShow app, I can send/post that, thoug I guess most COM users would have different uses than DirectShow. Adi Matthew wrote:I'll have a go at com_init. The tutorial *and* sample app are both great ideas. Please remind me of this, if I forget, when we get to the point (within two weeks, hopefully) of declaring COMSTL ready for 1.9.1. Cheers"Adi Shavit" <adish gentech.co.il> wrote in messagenews:ekunsk$qpe$1 digitaldaemon.com...Hi Matthew, It'll take me a while to reply to all of your answers, but I will get tothem all (got a busy week).f4636026577579f3d1d ?Have you not seenor that I expected a page for each such function. Thanks.(Maybe because it's in the doc-1.9 area) Or are you saying that's not good enough? Anyway, I guess I either missed this section, looked in the wrong place,<snip> and its kin are undocumented.the same page.What kin? Specifics please.I think I was referring to comstl::com_init which is also documented onI guess what I was saying is that a simple tutorial/sample app to show howto use the various COMSTL tools would be very informative. Maybe equivalent long-hand and short-hand versions ( ;-) ) are what I expected.Adi
Dec 04 2006
"Adi Shavit" <adish gentech.co.il> wrote in message news:4573DD25.1010903 gentech.co.il...If you want my silly little DirectShow app, I can send/post that, thoug I guess most COM users would have different uses than DirectShow.Sure, that'd be a good idea. I can maybe make some changes, and that'll be a more concentrated mechanism for knowledge transfer. (And identify to me where I'm failing in the documentation.) Cheers Matthew
Dec 04 2006
Hi Mathew, My code is taken from here <http://www.site.uottawa.ca/%7Elaganier/tutorial/opencv+dire tshow/cvision.htm>: <http://www.site.uottawa.ca/~laganier/tutorial/opencv+directshow/cvision.htm>. refactoring the code from there. (You don't really need OpenCV for this project, just remove any references to it and you should be fine). Adi Matthew wrote:"Adi Shavit" <adish gentech.co.il> wrote in message news:4573DD25.1010903 gentech.co.il...If you want my silly little DirectShow app, I can send/post that, thoug I guess most COM users would have different uses than DirectShow.Sure, that'd be a good idea. I can maybe make some changes, and that'll be a more concentrated mechanism for knowledge transfer. (And identify to me where I'm failing in the documentation.) Cheers Matthew
Dec 05 2006
charset="iso-8859-1" Content-Transfer-Encoding: quoted-printable How did you go with your COM travels? Any final requests for 1.9.1? "Adi Shavit" <adish gentech.co.il> wrote in message = news:4575C56C.5010200 gentech.co.il... Hi Mathew, My code is taken from here: = <http://www.site.uottawa.ca/~laganier/tutorial/opencv+directshow/cvision.= htm>. refactoring the code from there. (You don't really need OpenCV for this project, just remove any = references to it and you should be fine). Adi Matthew wrote:=20 "Adi Shavit" <adish gentech.co.il> wrote in message news:4573DD25.1010903 gentech.co.il... If you want my silly little DirectShow app, I can send/post that, = thoug I guess most COM users would have different uses than DirectShow. =20 Sure, that'd be a good idea. I can maybe make some changes, and that'll = be a more concentrated mechanism for knowledge transfer. (And identify to me where I'm failing in the documentation.) Cheers Matthew
Feb 16 2007
How did you go with your COM travels?Well, I actually got stuck with that one, though I'll probably come back to it sometime soon. However, I did use the same mechanisms in another little project I did, about which I'll post a short article on CodeProject soon. It saved me all the COM hassle and made for a beautiful little Extended STL project :-). I'll probably post it in about 2 weeks, as I'm off to a vacation tomorrow. I'll post the link here when its up on CodeProject. I think you'll like it.Any final requests for 1.9.1?None at the moment. When I last used it it did every thing I wanted, needed and more*. Adi ** 'more' *means that after I wrote my class that contains a COM resource I needed to use it in another API that needed it to be copy-constructible, something I hadn't notice before. Naturally, the automatic ref-counting allowed that without any changes so I was home free, and everything worked as planned.
Feb 17 2007
charset="iso-8859-1" Content-Transfer-Encoding: quoted-printable Good to hear to all of the above (er, below). Looking forward to seeing your article. Have a nice holiday. :-) "Adi Shavit" <adish gentech.co.il> wrote in message = news:er7mbv$192d$1 digitalmars.com... How did you go with your COM travels? Well, I actually got stuck with that one, though I'll probably come = back to it sometime soon. However, I did use the same mechanisms in another little project I = did, about which I'll post a short article on CodeProject soon. It saved me all the COM hassle and made for a beautiful little = Extended STL project :-). I'll probably post it in about 2 weeks, as I'm off to a vacation = tomorrow. I'll post the link here when its up on CodeProject. I think you'll = like it. Any final requests for 1.9.1? None at the moment. When I last used it it did every thing I wanted, needed and more*. Adi * 'more' means that after I wrote my class that contains a COM = resource I needed to use it in another API that needed it to be = copy-constructible, something I hadn't notice before. Naturally, the = automatic ref-counting allowed that without any changes so I was home = free, and everything worked as planned.
Feb 26 2007
Hi, My article was just posted, you can read it here *audio_ostream - A Text-to-Speech ostream* <http://www.codeproject.com/audio/audio_ostream.asp>. Enjoy, Adi P.S. There seems to be some problem with the files, which I'll sort out with the site, but the meat is in the article anyway. ** Adi Shavit wrote:How did you go with your COM travels?Well, I actually got stuck with that one, though I'll probably come back to it sometime soon. However, I did use the same mechanisms in another little project I did, about which I'll post a short article on CodeProject soon. It saved me all the COM hassle and made for a beautiful little Extended STL project :-). I'll probably post it in about 2 weeks, as I'm off to a vacation tomorrow. I'll post the link here when its up on CodeProject. I think you'll like it.Any final requests for 1.9.1?None at the moment. When I last used it it did every thing I wanted, needed and more*. Adi ** 'more' *means that after I wrote my class that contains a COM resource I needed to use it in another API that needed it to be copy-constructible, something I hadn't notice before. Naturally, the automatic ref-counting allowed that without any changes so I was home free, and everything worked as planned.
Mar 06 2007
Cool! I might use this in a little tool I fancy building. Cheers Matthew "Adi Shavit" <adish gentech.co.il> wrote in message news:eslobt$11hj$1 digitalmars.com...Hi, My article was just posted, you can read it here *audio_ostream - A Text-to-Speech ostream* <http://www.codeproject.com/audio/audio_ostream.asp>. Enjoy, Adi P.S. There seems to be some problem with the files, which I'll sort out with the site, but the meat is in the article anyway. ** Adi Shavit wrote:tomorrow.How did you go with your COM travels?Well, I actually got stuck with that one, though I'll probably come back to it sometime soon. However, I did use the same mechanisms in another little project I did, about which I'll post a short article on CodeProject soon. It saved me all the COM hassle and made for a beautiful little Extended STL project :-). I'll probably post it in about 2 weeks, as I'm off to a vacationI'll post the link here when its up on CodeProject. I think you'll like it.Any final requests for 1.9.1?None at the moment. When I last used it it did every thing I wanted, needed and more*. Adi ** 'more' *means that after I wrote my class that contains a COM resource I needed to use it in another API that needed it to be copy-constructible, something I hadn't notice before. Naturally, the automatic ref-counting allowed that without any changes so I was home free, and everything worked as planned.
Mar 07 2007
btw, you should probably stipulate that you need "STLSoft version 1.9.1 beta 44, or later". I've had a lot of downloads of 1.8.9 in the last 24 hours, and I fear they may have been disappointed readers of your article. ;-/ Cheers Matthew "Matthew Wilson" <matthew hat.stlsoft.dot.org> wrote in message news:esn8uh$j06$3 digitalmars.com...Cool! I might use this in a little tool I fancy building. Cheers Matthew "Adi Shavit" <adish gentech.co.il> wrote in message news:eslobt$11hj$1 digitalmars.com...Hi, My article was just posted, you can read it here *audio_ostream - A Text-to-Speech ostream* <http://www.codeproject.com/audio/audio_ostream.asp>. Enjoy, Adi P.S. There seems to be some problem with the files, which I'll sort out with the site, but the meat is in the article anyway. ** Adi Shavit wrote:tomorrow.How did you go with your COM travels?Well, I actually got stuck with that one, though I'll probably come back to it sometime soon. However, I did use the same mechanisms in another little project I did, about which I'll post a short article on CodeProject soon. It saved me all the COM hassle and made for a beautiful little Extended STL project :-). I'll probably post it in about 2 weeks, as I'm off to a vacationI'll post the link here when its up on CodeProject. I think you'll like it.Any final requests for 1.9.1?None at the moment. When I last used it it did every thing I wanted, needed and more*. Adi ** 'more' *means that after I wrote my class that contains a COM resource I needed to use it in another API that needed it to be copy-constructible, something I hadn't notice before. Naturally, the automatic ref-counting allowed that without any changes so I was home free, and everything worked as planned.
Mar 08 2007
Ah! Thanks. Adi Matthew Wilson wrote:btw, you should probably stipulate that you need "STLSoft version 1.9.1 beta 44, or later". I've had a lot of downloads of 1.8.9 in the last 24 hours, and I fear they may have been disappointed readers of your article. ;-/ Cheers Matthew "Matthew Wilson" <matthew hat.stlsoft.dot.org> wrote in message news:esn8uh$j06$3 digitalmars.com...Cool! I might use this in a little tool I fancy building. Cheers Matthew "Adi Shavit" <adish gentech.co.il> wrote in message news:eslobt$11hj$1 digitalmars.com...Hi, My article was just posted, you can read it here *audio_ostream - A Text-to-Speech ostream* <http://www.codeproject.com/audio/audio_ostream.asp>. Enjoy, Adi P.S. There seems to be some problem with the files, which I'll sort out with the site, but the meat is in the article anyway. ** Adi Shavit wrote:tomorrow.How did you go with your COM travels?Well, I actually got stuck with that one, though I'll probably come back to it sometime soon. However, I did use the same mechanisms in another little project I did, about which I'll post a short article on CodeProject soon. It saved me all the COM hassle and made for a beautiful little Extended STL project :-). I'll probably post it in about 2 weeks, as I'm off to a vacationI'll post the link here when its up on CodeProject. I think you'll like it.Any final requests for 1.9.1?None at the moment. When I last used it it did every thing I wanted, needed and more*. Adi ** 'more' *means that after I wrote my class that contains a COM resource I needed to use it in another API that needed it to be copy-constructible, something I hadn't notice before. Naturally, the automatic ref-counting allowed that without any changes so I was home free, and everything worked as planned.
Mar 08 2007