The "LTMM DirectShow Filter List Utility" is an application that allows the user to enumerate all of the registered DirectShow filters and copy filter information to the clipboard. This is especially useful for copying the filter "Display Name" to your application and changing the filter's Merit field. This allows the user to directly assign a compressor , device, or processor to an object. For instance, to assign the "LEAD Video Emboss Filter" to the convert object proceed as follows:
1. |
Run the "LTMM DirectShow Filter List Utility" |
2. |
Select the "LEAD Video Emboss Filter" |
|
|
3. |
Click the Copy button to the right of the "Display Name" field. |
4. |
Paste the "Display Name" into your code: |
|
LPCWSTR pszEmboss = L"@device:sw:{E526D606-22E7-494C-B81E-AC0A94BFE603}{E2B7DB17-38C5-11D5-91F6-00104BDB8FF9}"; |
5. |
Add the emboss processor to the convert object: |
C Source
IltmmConvert* pConvert; // initialized elsewhere
IltmmProcessors* pProcessors; // registered processor collection
IltmmProcessors* pSelProcessors; // selected processor collection
long index;
BSTR bstr;
// get the registered processors collection
IltmmConvert_get_VideoProcessors get_VideoProcessors(pConvert, &pProcessors);
// find the processor index by name
bstr = SysAllocString(pszEmboss);
IltmmProcessors_Find Find(pProcessors, bstr, &index);
SysFreeString(bstr);
// get the processor interface
IltmmProcessors_Item Item(pProcessors, index, &pProcessor);
// get the selected processors collection
IltmmConvert_get_SelectedVideoProcessors get_SelectedVideoProcessors (pConvert, &pSelProcessors);
// add the processor to the selected processors collection
IltmmProcessors_Add Add(pSelProcessors, pProcessor, -1);
// release interfaces
IUnknown_Release(pProcessor);
IUnknown_Release(pSelProcessors);
IUnknown_Release(pProcessors);
C++ Source
IltmmConvert* pConvert; // initialized elsewhere
IltmmProcessors* pProcessors; // registered processor collection
IltmmProcessors* pSelProcessors; // selected processor collection
long index;
BSTR bstr;
// get the registered processors collection
pConvert->get_VideoProcessors (&pProcessors);
// find the processor index by name
bstr = SysAllocString(pszEmboss);
pProcessors->Find (bstr, &index);
SysFreeString(bstr);
// get the processor interface
pProcessors->Item (index, &pProcessor);
// get the selected processors collection
pConvert->get_SelectedVideoProcessors (&pSelProcessors);
// add the processor to the selected processors collection
pSelProcessors->Add(pProcessor, -1);
// release interfaces
pProcessor->Release();
pSelProcessors->Release();
pProcessors->Release();
Raster .NET | C API | C++ Class Library | JavaScript HTML5
Document .NET | C API | C++ Class Library | JavaScript HTML5
Medical .NET | C API | C++ Class Library | JavaScript HTML5
Medical Web Viewer .NET