Click here to Skip to main content
Click here to Skip to main content
Articles » Multimedia » DirectX » General » Downloads
 
Add your own
alternative version
Go to top

Interactive 3D Spectrum Analyzer Visualization for Windows Media Player

, 17 May 2009
Interactive 3D Spectrum Analyzer for Windows Media Player using DirectX 9 and some light GPGPU.

/* this ALWAYS GENERATED file contains the definitions for the interfaces */


 /* File created by MIDL compiler version 6.00.0366 */
/* at Thu May 14 22:45:41 2009
 */
/* Compiler settings for .\WM3DSpectrum.idl:
    Oicf, W1, Zp8, env=Win32 (32b run)
    protocol : dce , ms_ext, c_ext, robust
    error checks: allocation ref bounds_check enum stub_data 
    VC __declspec() decoration level: 
         __declspec(uuid()), __declspec(selectany), __declspec(novtable)
         DECLSPEC_UUID(), MIDL_INTERFACE()
*/
//@@MIDL_FILE_HEADING(  )

#pragma warning( disable: 4049 )  /* more than 64k source lines */


/* verify that the <rpcndr.h> version is high enough to compile this file*/
#ifndef __REQUIRED_RPCNDR_H_VERSION__
#define __REQUIRED_RPCNDR_H_VERSION__ 475
#endif

#include "rpc.h"
#include "rpcndr.h"

#ifndef __RPCNDR_H_VERSION__
#error this stub requires an updated version of <rpcndr.h>
#endif // __RPCNDR_H_VERSION__

#ifndef COM_NO_WINDOWS_H
#include "windows.h"
#include "ole2.h"
#endif /*COM_NO_WINDOWS_H*/

#ifndef __WM3DSpectrum_h_h__
#define __WM3DSpectrum_h_h__

#if defined(_MSC_VER) && (_MSC_VER >= 1020)
#pragma once
#endif

/* Forward Declarations */ 

#ifndef __IWM3DSpectrum_FWD_DEFINED__
#define __IWM3DSpectrum_FWD_DEFINED__
typedef interface IWM3DSpectrum IWM3DSpectrum;
#endif 	/* __IWM3DSpectrum_FWD_DEFINED__ */


#ifndef __WM3DSpectrum_FWD_DEFINED__
#define __WM3DSpectrum_FWD_DEFINED__

#ifdef __cplusplus
typedef class WM3DSpectrum WM3DSpectrum;
#else
typedef struct WM3DSpectrum WM3DSpectrum;
#endif /* __cplusplus */

#endif 	/* __WM3DSpectrum_FWD_DEFINED__ */


/* header files for imported files */
#include "oaidl.h"
#include "ocidl.h"

#ifdef __cplusplus
extern "C"{
#endif 

void * __RPC_USER MIDL_user_allocate(size_t);
void __RPC_USER MIDL_user_free( void * ); 

#ifndef __IWM3DSpectrum_INTERFACE_DEFINED__
#define __IWM3DSpectrum_INTERFACE_DEFINED__

/* interface IWM3DSpectrum */
/* [unique][helpstring][dual][uuid][object] */ 


EXTERN_C const IID IID_IWM3DSpectrum;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("F1524549-3747-4B75-ADEE-A43C7174D18E")
    IWM3DSpectrum : public IDispatch
    {
    public:
        virtual /* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE get_foregroundColor( 
            /* [retval][out] */ BSTR *pVal) = 0;
        
        virtual /* [helpstring][id][propput] */ HRESULT STDMETHODCALLTYPE put_foregroundColor( 
            /* [in] */ BSTR newVal) = 0;
        
    };
    
#else 	/* C style interface */

    typedef struct IWM3DSpectrumVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IWM3DSpectrum * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IWM3DSpectrum * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IWM3DSpectrum * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            IWM3DSpectrum * This,
            /* [out] */ UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            IWM3DSpectrum * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            IWM3DSpectrum * This,
            /* [in] */ REFIID riid,
            /* [size_is][in] */ LPOLESTR *rgszNames,
            /* [in] */ UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            IWM3DSpectrum * This,
            /* [in] */ DISPID dispIdMember,
            /* [in] */ REFIID riid,
            /* [in] */ LCID lcid,
            /* [in] */ WORD wFlags,
            /* [out][in] */ DISPPARAMS *pDispParams,
            /* [out] */ VARIANT *pVarResult,
            /* [out] */ EXCEPINFO *pExcepInfo,
            /* [out] */ UINT *puArgErr);
        
        /* [helpstring][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_foregroundColor )( 
            IWM3DSpectrum * This,
            /* [retval][out] */ BSTR *pVal);
        
        /* [helpstring][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_foregroundColor )( 
            IWM3DSpectrum * This,
            /* [in] */ BSTR newVal);
        
        END_INTERFACE
    } IWM3DSpectrumVtbl;

    interface IWM3DSpectrum
    {
        CONST_VTBL struct IWM3DSpectrumVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IWM3DSpectrum_QueryInterface(This,riid,ppvObject)	\
    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)

#define IWM3DSpectrum_AddRef(This)	\
    (This)->lpVtbl -> AddRef(This)

#define IWM3DSpectrum_Release(This)	\
    (This)->lpVtbl -> Release(This)


#define IWM3DSpectrum_GetTypeInfoCount(This,pctinfo)	\
    (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo)

#define IWM3DSpectrum_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo)

#define IWM3DSpectrum_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)

#define IWM3DSpectrum_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)


#define IWM3DSpectrum_get_foregroundColor(This,pVal)	\
    (This)->lpVtbl -> get_foregroundColor(This,pVal)

#define IWM3DSpectrum_put_foregroundColor(This,newVal)	\
    (This)->lpVtbl -> put_foregroundColor(This,newVal)

#endif /* COBJMACROS */


#endif 	/* C style interface */



/* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE IWM3DSpectrum_get_foregroundColor_Proxy( 
    IWM3DSpectrum * This,
    /* [retval][out] */ BSTR *pVal);


void __RPC_STUB IWM3DSpectrum_get_foregroundColor_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][id][propput] */ HRESULT STDMETHODCALLTYPE IWM3DSpectrum_put_foregroundColor_Proxy( 
    IWM3DSpectrum * This,
    /* [in] */ BSTR newVal);


void __RPC_STUB IWM3DSpectrum_put_foregroundColor_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);



#endif 	/* __IWM3DSpectrum_INTERFACE_DEFINED__ */



#ifndef __WM3DSPECTRUMLib_LIBRARY_DEFINED__
#define __WM3DSPECTRUMLib_LIBRARY_DEFINED__

/* library WM3DSPECTRUMLib */
/* [helpstring][version][uuid] */ 


EXTERN_C const IID LIBID_WM3DSPECTRUMLib;

EXTERN_C const CLSID CLSID_WM3DSpectrum;

#ifdef __cplusplus

class DECLSPEC_UUID("57309C50-8C65-4F46-9EC6-872432B5F67C")
WM3DSpectrum;
#endif
#endif /* __WM3DSPECTRUMLib_LIBRARY_DEFINED__ */

/* Additional Prototypes for ALL interfaces */

unsigned long             __RPC_USER  BSTR_UserSize(     unsigned long *, unsigned long            , BSTR * ); 
unsigned char * __RPC_USER  BSTR_UserMarshal(  unsigned long *, unsigned char *, BSTR * ); 
unsigned char * __RPC_USER  BSTR_UserUnmarshal(unsigned long *, unsigned char *, BSTR * ); 
void                      __RPC_USER  BSTR_UserFree(     unsigned long *, BSTR * ); 

/* end of Additional Prototypes */

#ifdef __cplusplus
}
#endif

#endif


By viewing downloads associated with this article you agree to the Terms of Service and the article's licence.

If a file you wish to view isn't highlighted, and is a text file (not binary), please let us know and we'll add colourisation support for it.

License

This article, along with any associated source code and files, is licensed under The Code Project Open License (CPOL)

Share

About the Author

Carlo McWhirter
Software Developer (Senior) Hyteq Systems
United States United States
I have been programming in C/C++ for over 10 years now, and I've programmed in C# since the .NET 1.0 beta was released. I know a lot of other languages, but I find very few languages to be as capable as the C family of languages.
 
I've worked for a few large corporations, but my favorite job was when I worked for ATS (Automation Tooling Systems) as a Control Systems Engineer. Programming PLCs taught me about the core of computing and the currently under-utilized power of concurrent state machines. Programming real-time computer systems for vision guided robotics and multi-axis motion control is just fun.
 
My personal interest are computation for finance, aritificial intelligence, physics, electronics engineering, embedded systems, motion control, and of course Music/Audio.

| Advertise | Privacy | Mobile
Web03 | 2.8.140926.1 | Last Updated 17 May 2009
Article Copyright 2009 by Carlo McWhirter
Everything else Copyright © CodeProject, 1999-2014
Terms of Service
Layout: fixed | fluid