add wmpa 1.0.2 sources
This commit is contained in:
		
							parent
							
								
									0709b95732
								
							
						
					
					
						commit
						4338ddf9ec
					
				
					 53 changed files with 5247 additions and 0 deletions
				
			
		
							
								
								
									
										70
									
								
								plugins/wmpa/ReadMe.txt
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										70
									
								
								plugins/wmpa/ReadMe.txt
									
										
									
									
									
										Normal file
									
								
							| 
						 | 
				
			
			@ -0,0 +1,70 @@
 | 
			
		|||
========================================================================
 | 
			
		||||
       MICROSOFT FOUNDATION CLASS LIBRARY : wmpa
 | 
			
		||||
========================================================================
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
AppWizard has created this wmpa DLL for you.  This DLL not only
 | 
			
		||||
demonstrates the basics of using the Microsoft Foundation classes but
 | 
			
		||||
is also a starting point for writing your DLL.
 | 
			
		||||
 | 
			
		||||
This file contains a summary of what you will find in each of the files that
 | 
			
		||||
make up your wmpa DLL.
 | 
			
		||||
 | 
			
		||||
wmpa.dsp
 | 
			
		||||
    This file (the project file) contains information at the project level and
 | 
			
		||||
    is used to build a single project or subproject. Other users can share the
 | 
			
		||||
    project (.dsp) file, but they should export the makefiles locally.
 | 
			
		||||
 | 
			
		||||
wmpa.h
 | 
			
		||||
	This is the main header file for the DLL.  It declares the
 | 
			
		||||
	CWmpaApp class.
 | 
			
		||||
 | 
			
		||||
wmpa.cpp
 | 
			
		||||
	This is the main DLL source file.  It contains the class CWmpaApp.
 | 
			
		||||
	It also contains the OLE entry points required of inproc servers.
 | 
			
		||||
 | 
			
		||||
wmpa.odl
 | 
			
		||||
    This file contains the Object Description Language source code for the
 | 
			
		||||
    type library of your DLL.
 | 
			
		||||
 | 
			
		||||
wmpa.rc
 | 
			
		||||
    This is a listing of all of the Microsoft Windows resources that the
 | 
			
		||||
    program uses.  It includes the icons, bitmaps, and cursors that are stored
 | 
			
		||||
    in the RES subdirectory.  This file can be directly edited in Microsoft
 | 
			
		||||
	Visual C++.
 | 
			
		||||
 | 
			
		||||
wmpa.clw
 | 
			
		||||
    This file contains information used by ClassWizard to edit existing
 | 
			
		||||
    classes or add new classes.  ClassWizard also uses this file to store
 | 
			
		||||
    information needed to create and edit message maps and dialog data
 | 
			
		||||
    maps and to create prototype member functions.
 | 
			
		||||
 | 
			
		||||
res\wmpa.rc2
 | 
			
		||||
    This file contains resources that are not edited by Microsoft 
 | 
			
		||||
	Visual C++.  You should place all resources not editable by
 | 
			
		||||
	the resource editor in this file.
 | 
			
		||||
 | 
			
		||||
wmpa.def
 | 
			
		||||
    This file contains information about the DLL that must be
 | 
			
		||||
    provided to run with Microsoft Windows.  It defines parameters
 | 
			
		||||
    such as the name and description of the DLL.  It also exports
 | 
			
		||||
	functions from the DLL.
 | 
			
		||||
 | 
			
		||||
/////////////////////////////////////////////////////////////////////////////
 | 
			
		||||
Other standard files:
 | 
			
		||||
 | 
			
		||||
StdAfx.h, StdAfx.cpp
 | 
			
		||||
    These files are used to build a precompiled header (PCH) file
 | 
			
		||||
    named wmpa.pch and a precompiled types file named StdAfx.obj.
 | 
			
		||||
 | 
			
		||||
Resource.h
 | 
			
		||||
    This is the standard header file, which defines new resource IDs.
 | 
			
		||||
    Microsoft Visual C++ reads and updates this file.
 | 
			
		||||
 | 
			
		||||
/////////////////////////////////////////////////////////////////////////////
 | 
			
		||||
Other notes:
 | 
			
		||||
 | 
			
		||||
AppWizard uses "TODO:" to indicate parts of the source code you
 | 
			
		||||
should add to or customize.
 | 
			
		||||
 | 
			
		||||
/////////////////////////////////////////////////////////////////////////////
 | 
			
		||||
							
								
								
									
										8
									
								
								plugins/wmpa/StdAfx.cpp
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										8
									
								
								plugins/wmpa/StdAfx.cpp
									
										
									
									
									
										Normal file
									
								
							| 
						 | 
				
			
			@ -0,0 +1,8 @@
 | 
			
		|||
// stdafx.cpp : source file that includes just the standard includes
 | 
			
		||||
//	wmpa.pch will be the pre-compiled header
 | 
			
		||||
//	stdafx.obj will contain the pre-compiled type information
 | 
			
		||||
 | 
			
		||||
#include "stdafx.h"
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
							
								
								
									
										62
									
								
								plugins/wmpa/StdAfx.h
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										62
									
								
								plugins/wmpa/StdAfx.h
									
										
									
									
									
										Normal file
									
								
							| 
						 | 
				
			
			@ -0,0 +1,62 @@
 | 
			
		|||
// stdafx.h : include file for standard system include files,
 | 
			
		||||
//  or project specific include files that are used frequently, but
 | 
			
		||||
//      are changed infrequently
 | 
			
		||||
//
 | 
			
		||||
 | 
			
		||||
#if !defined(AFX_STDAFX_H__33D7BD1A_A9B6_4BDE_B867_5278529B95B2__INCLUDED_)
 | 
			
		||||
#define AFX_STDAFX_H__33D7BD1A_A9B6_4BDE_B867_5278529B95B2__INCLUDED_
 | 
			
		||||
 | 
			
		||||
#if _MSC_VER > 1000
 | 
			
		||||
#pragma once
 | 
			
		||||
#endif // _MSC_VER > 1000
 | 
			
		||||
 | 
			
		||||
#define VC_EXTRALEAN		// Exclude rarely-used stuff from Windows headers
 | 
			
		||||
 | 
			
		||||
#include <afxwin.h>         // MFC core and standard components
 | 
			
		||||
#include <afxext.h>         // MFC extensions
 | 
			
		||||
 | 
			
		||||
#ifndef _AFX_NO_OLE_SUPPORT
 | 
			
		||||
#include <afxole.h>         // MFC OLE classes
 | 
			
		||||
#include <afxodlgs.h>       // MFC OLE dialog classes
 | 
			
		||||
#include <afxdisp.h>        // MFC Automation classes
 | 
			
		||||
#endif // _AFX_NO_OLE_SUPPORT
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
#ifndef _AFX_NO_DB_SUPPORT
 | 
			
		||||
#include <afxdb.h>			// MFC ODBC database classes
 | 
			
		||||
#endif // _AFX_NO_DB_SUPPORT
 | 
			
		||||
 | 
			
		||||
#ifndef _AFX_NO_DAO_SUPPORT
 | 
			
		||||
#include <afxdao.h>			// MFC DAO database classes
 | 
			
		||||
#endif // _AFX_NO_DAO_SUPPORT
 | 
			
		||||
 | 
			
		||||
#include <afxdtctl.h>		// MFC support for Internet Explorer 4 Common Controls
 | 
			
		||||
#ifndef _AFX_NO_AFXCMN_SUPPORT
 | 
			
		||||
#include <afxcmn.h>			// MFC support for Windows Common Controls
 | 
			
		||||
#endif // _AFX_NO_AFXCMN_SUPPORT
 | 
			
		||||
 | 
			
		||||
/******************************************************************
 | 
			
		||||
* Includes
 | 
			
		||||
******************************************************************/
 | 
			
		||||
#include "wmpcdrom.h"
 | 
			
		||||
#include "wmpcdromcollection.h"
 | 
			
		||||
#include "wmpclosedcaption.h"
 | 
			
		||||
#include "wmpcontrols.h"
 | 
			
		||||
#include "wmpdvd.h"
 | 
			
		||||
#include "wmperror.h"
 | 
			
		||||
#include "wmperroritem.h"
 | 
			
		||||
#include "wmpmedia.h"
 | 
			
		||||
#include "wmpmediacollection.h"
 | 
			
		||||
#include "wmpnetwork.h"
 | 
			
		||||
#include "wmpplayer4.h"
 | 
			
		||||
#include "wmpplayerapplication.h"
 | 
			
		||||
#include "wmpplaylist.h"
 | 
			
		||||
#include "wmpplaylistarray.h"
 | 
			
		||||
#include "wmpplaylistcollection.h"
 | 
			
		||||
#include "wmpsettings.h"
 | 
			
		||||
#include "wmpstringcollection.h"
 | 
			
		||||
 | 
			
		||||
//{{AFX_INSERT_LOCATION}}
 | 
			
		||||
// Microsoft Visual C++ will insert additional declarations immediately before the previous line.
 | 
			
		||||
 | 
			
		||||
#endif // !defined(AFX_STDAFX_H__33D7BD1A_A9B6_4BDE_B867_5278529B95B2__INCLUDED_)
 | 
			
		||||
							
								
								
									
										13
									
								
								plugins/wmpa/res/wmpa.rc2
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										13
									
								
								plugins/wmpa/res/wmpa.rc2
									
										
									
									
									
										Normal file
									
								
							| 
						 | 
				
			
			@ -0,0 +1,13 @@
 | 
			
		|||
//
 | 
			
		||||
// WMPA.RC2 - resources Microsoft Visual C++ does not edit directly
 | 
			
		||||
//
 | 
			
		||||
 | 
			
		||||
#ifdef APSTUDIO_INVOKED
 | 
			
		||||
	#error this file is not editable by Microsoft Visual C++
 | 
			
		||||
#endif //APSTUDIO_INVOKED
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
/////////////////////////////////////////////////////////////////////////////
 | 
			
		||||
// Add manually edited resources here...
 | 
			
		||||
 | 
			
		||||
/////////////////////////////////////////////////////////////////////////////
 | 
			
		||||
							
								
								
									
										22
									
								
								plugins/wmpa/resource.h
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										22
									
								
								plugins/wmpa/resource.h
									
										
									
									
									
										Normal file
									
								
							| 
						 | 
				
			
			@ -0,0 +1,22 @@
 | 
			
		|||
//{{NO_DEPENDENCIES}}
 | 
			
		||||
// Microsoft Developer Studio generated include file.
 | 
			
		||||
// Used by wmpa.rc
 | 
			
		||||
//
 | 
			
		||||
#define IDD_WMPADIALOG                  2000
 | 
			
		||||
#define IDC_PLAYLIST                    2001
 | 
			
		||||
#define IDC_STATIC1                     2002
 | 
			
		||||
#define IDC_WMP                         2005
 | 
			
		||||
#define IDI_XCHAT                       2005
 | 
			
		||||
#define IDC_SONGLIST                    2006
 | 
			
		||||
#define IDC_STATIC2                     2007
 | 
			
		||||
 | 
			
		||||
// Next default values for new objects
 | 
			
		||||
// 
 | 
			
		||||
#ifdef APSTUDIO_INVOKED
 | 
			
		||||
#ifndef APSTUDIO_READONLY_SYMBOLS
 | 
			
		||||
#define _APS_NEXT_RESOURCE_VALUE        2006
 | 
			
		||||
#define _APS_NEXT_COMMAND_VALUE         32771
 | 
			
		||||
#define _APS_NEXT_CONTROL_VALUE         2008
 | 
			
		||||
#define _APS_NEXT_SYMED_VALUE           2000
 | 
			
		||||
#endif
 | 
			
		||||
#endif
 | 
			
		||||
							
								
								
									
										43
									
								
								plugins/wmpa/wmpa.clw
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										43
									
								
								plugins/wmpa/wmpa.clw
									
										
									
									
									
										Normal file
									
								
							| 
						 | 
				
			
			@ -0,0 +1,43 @@
 | 
			
		|||
; CLW file contains information for the MFC ClassWizard
 | 
			
		||||
 | 
			
		||||
[General Info]
 | 
			
		||||
Version=1
 | 
			
		||||
ODLFile=wmpa.odl
 | 
			
		||||
ClassCount=2
 | 
			
		||||
Class1=CWmpaApp
 | 
			
		||||
LastClass=CWMPADialog
 | 
			
		||||
NewFileInclude2=#include "wmpa.h"
 | 
			
		||||
ResourceCount=1
 | 
			
		||||
NewFileInclude1=#include "stdafx.h"
 | 
			
		||||
Class2=CWMPADialog
 | 
			
		||||
LastTemplate=CDialog
 | 
			
		||||
Resource1=IDD_WMPADIALOG
 | 
			
		||||
 | 
			
		||||
[CLS:CWmpaApp]
 | 
			
		||||
Type=0
 | 
			
		||||
HeaderFile=wmpa.h
 | 
			
		||||
ImplementationFile=wmpa.cpp
 | 
			
		||||
Filter=N
 | 
			
		||||
LastObject=CWmpaApp
 | 
			
		||||
BaseClass=CWinApp
 | 
			
		||||
VirtualFilter=AC
 | 
			
		||||
 | 
			
		||||
[DLG:IDD_WMPADIALOG]
 | 
			
		||||
Type=1
 | 
			
		||||
Class=CWMPADialog
 | 
			
		||||
ControlCount=5
 | 
			
		||||
Control1=IDC_PLAYLIST,listbox,1353777409
 | 
			
		||||
Control2=IDC_STATIC1,static,1342308352
 | 
			
		||||
Control3=IDC_WMP,{6BF52A52-394A-11D3-B153-00C04F79FAA6},1342242816
 | 
			
		||||
Control4=IDC_SONGLIST,listbox,1352728833
 | 
			
		||||
Control5=IDC_STATIC2,static,1342308352
 | 
			
		||||
 | 
			
		||||
[CLS:CWMPADialog]
 | 
			
		||||
Type=0
 | 
			
		||||
HeaderFile=wmpadialog.h
 | 
			
		||||
ImplementationFile=wmpadialog.cpp
 | 
			
		||||
BaseClass=CDialog
 | 
			
		||||
LastObject=CWMPADialog
 | 
			
		||||
Filter=D
 | 
			
		||||
VirtualFilter=dWC
 | 
			
		||||
 | 
			
		||||
							
								
								
									
										212
									
								
								plugins/wmpa/wmpa.cpp
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										212
									
								
								plugins/wmpa/wmpa.cpp
									
										
									
									
									
										Normal file
									
								
							| 
						 | 
				
			
			@ -0,0 +1,212 @@
 | 
			
		|||
/******************************************************************
 | 
			
		||||
* $Id$
 | 
			
		||||
*
 | 
			
		||||
* $Log$
 | 
			
		||||
*
 | 
			
		||||
* Copyright © 2005 David Cullen, All rights reserved
 | 
			
		||||
*
 | 
			
		||||
******************************************************************/
 | 
			
		||||
#include "stdafx.h"
 | 
			
		||||
#include "wmpa.h"
 | 
			
		||||
#include "WMPADialog.h"
 | 
			
		||||
 | 
			
		||||
#ifdef _DEBUG
 | 
			
		||||
#define new DEBUG_NEW
 | 
			
		||||
#undef THIS_FILE
 | 
			
		||||
static char THIS_FILE[] = __FILE__;
 | 
			
		||||
#endif
 | 
			
		||||
 | 
			
		||||
//
 | 
			
		||||
//	Note!
 | 
			
		||||
//
 | 
			
		||||
//		If this DLL is dynamically linked against the MFC
 | 
			
		||||
//		DLLs, any functions exported from this DLL which
 | 
			
		||||
//		call into MFC must have the AFX_MANAGE_STATE macro
 | 
			
		||||
//		added at the very beginning of the function.
 | 
			
		||||
//
 | 
			
		||||
//		For example:
 | 
			
		||||
//
 | 
			
		||||
//		extern "C" BOOL PASCAL EXPORT ExportedFunction()
 | 
			
		||||
//		{
 | 
			
		||||
//			AFX_MANAGE_STATE(AfxGetStaticModuleState());
 | 
			
		||||
//			// normal function body here
 | 
			
		||||
//		}
 | 
			
		||||
//
 | 
			
		||||
//		It is very important that this macro appear in each
 | 
			
		||||
//		function, prior to any calls into MFC.  This means that
 | 
			
		||||
//		it must appear as the first statement within the
 | 
			
		||||
//		function, even before any object variable declarations
 | 
			
		||||
//		as their constructors may generate calls into the MFC
 | 
			
		||||
//		DLL.
 | 
			
		||||
//
 | 
			
		||||
//		Please see MFC Technical Notes 33 and 58 for additional
 | 
			
		||||
//		details.
 | 
			
		||||
//
 | 
			
		||||
 | 
			
		||||
/////////////////////////////////////////////////////////////////////////////
 | 
			
		||||
// CWmpaApp
 | 
			
		||||
 | 
			
		||||
BEGIN_MESSAGE_MAP(CWmpaApp, CWinApp)
 | 
			
		||||
	//{{AFX_MSG_MAP(CWmpaApp)
 | 
			
		||||
		// NOTE - the ClassWizard will add and remove mapping macros here.
 | 
			
		||||
		//    DO NOT EDIT what you see in these blocks of generated code!
 | 
			
		||||
	//}}AFX_MSG_MAP
 | 
			
		||||
END_MESSAGE_MAP()
 | 
			
		||||
 | 
			
		||||
/////////////////////////////////////////////////////////////////////////////
 | 
			
		||||
// CWmpaApp construction
 | 
			
		||||
 | 
			
		||||
CWmpaApp::CWmpaApp()
 | 
			
		||||
{
 | 
			
		||||
	// TODO: add construction code here,
 | 
			
		||||
	// Place all significant initialization in InitInstance
 | 
			
		||||
   m_pDialog = NULL;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
/////////////////////////////////////////////////////////////////////////////
 | 
			
		||||
// The one and only CWmpaApp object
 | 
			
		||||
 | 
			
		||||
CWmpaApp theApp;
 | 
			
		||||
 | 
			
		||||
/////////////////////////////////////////////////////////////////////////////
 | 
			
		||||
// CWmpaApp initialization
 | 
			
		||||
 | 
			
		||||
BOOL CWmpaApp::InitInstance()
 | 
			
		||||
{
 | 
			
		||||
	// Register all OLE server (factories) as running.  This enables the
 | 
			
		||||
	//  OLE libraries to create objects from other applications.
 | 
			
		||||
	COleObjectFactory::RegisterAll();
 | 
			
		||||
 | 
			
		||||
   // WARNING: This function enables the ActiveX control container
 | 
			
		||||
   // Without this function you will not be able to load the WMP
 | 
			
		||||
   // In fact you will get the following error:
 | 
			
		||||
   // >>> If this dialog has OLE controls:
 | 
			
		||||
   // >>> AfxEnableControlContainer has not been called yet.
 | 
			
		||||
   // >>> You should call it in your app's InitInstance function.
 | 
			
		||||
   AfxEnableControlContainer();
 | 
			
		||||
 | 
			
		||||
   // WARNING: This function initializes the COM library for use
 | 
			
		||||
   // Without this function you will not be able to load the WMP
 | 
			
		||||
   // In fact you will get the following error:
 | 
			
		||||
   // CoCreateInstance of OLE control {6BF52A52-394A-11D3-B153-00C04F79FAA6} failed.
 | 
			
		||||
   // >>> Result code: 0x800401f0
 | 
			
		||||
   // >>> Is the control is properly registered?
 | 
			
		||||
   // The Error Lookup tool will tell you result code 0x800401F0 means
 | 
			
		||||
   // CoInitialize has not been called.
 | 
			
		||||
   CoInitialize(NULL);
 | 
			
		||||
 | 
			
		||||
   return TRUE;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
/******************************************************************
 | 
			
		||||
* ShowWMPA
 | 
			
		||||
******************************************************************/
 | 
			
		||||
BOOL CWmpaApp::ShowWMPA(void)
 | 
			
		||||
{
 | 
			
		||||
   HRESULT result = FALSE;
 | 
			
		||||
   BOOL created;
 | 
			
		||||
 | 
			
		||||
   // WARNING: The following two funcions make sure we look for
 | 
			
		||||
   // our resources in our DLL not in the calling EXE
 | 
			
		||||
   // Without these functions you will not be able to load the
 | 
			
		||||
   // Windows Media Player
 | 
			
		||||
   HMODULE hModule = GetModuleHandle("WMPA.DLL");
 | 
			
		||||
   AfxSetResourceHandle((HINSTANCE) hModule);
 | 
			
		||||
 | 
			
		||||
   if (m_pDialog == NULL) m_pDialog = new CWMPADialog;
 | 
			
		||||
 | 
			
		||||
   created = m_pDialog->Create(IDD_WMPADIALOG, m_pDialog);
 | 
			
		||||
   if (!created) return(E_FAIL);
 | 
			
		||||
   m_pDialog->m_hIcon = LoadIcon(IDI_XCHAT);
 | 
			
		||||
   m_pDialog->SetIcon(m_pDialog->m_hIcon, TRUE);
 | 
			
		||||
 | 
			
		||||
   result = m_pDialog->ShowWindow(SW_SHOWNORMAL);
 | 
			
		||||
 | 
			
		||||
   return(created);
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
/////////////////////////////////////////////////////////////////////////////
 | 
			
		||||
// Special entry points required for inproc servers
 | 
			
		||||
 | 
			
		||||
STDAPI DllGetClassObject(REFCLSID rclsid, REFIID riid, LPVOID* ppv)
 | 
			
		||||
{
 | 
			
		||||
	AFX_MANAGE_STATE(AfxGetStaticModuleState());
 | 
			
		||||
	return AfxDllGetClassObject(rclsid, riid, ppv);
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
STDAPI DllCanUnloadNow(void)
 | 
			
		||||
{
 | 
			
		||||
	AFX_MANAGE_STATE(AfxGetStaticModuleState());
 | 
			
		||||
	return AfxDllCanUnloadNow();
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
// by exporting DllRegisterServer, you can use regsvr.exe
 | 
			
		||||
STDAPI DllRegisterServer(void)
 | 
			
		||||
{
 | 
			
		||||
	AFX_MANAGE_STATE(AfxGetStaticModuleState());
 | 
			
		||||
	COleObjectFactory::UpdateRegistryAll();
 | 
			
		||||
   return(S_OK);
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
/******************************************************************
 | 
			
		||||
* DestroyWMPA
 | 
			
		||||
******************************************************************/
 | 
			
		||||
BOOL CWmpaApp::DestroyWMPA(void)
 | 
			
		||||
{
 | 
			
		||||
   if (theApp.m_pDialog == NULL) return(FALSE);
 | 
			
		||||
 | 
			
		||||
   theApp.m_pDialog->m_WMP.GetControls().stop();
 | 
			
		||||
   theApp.m_pDialog->DeleteTrayIcon();
 | 
			
		||||
   theApp.m_pDialog->DestroyWindow();
 | 
			
		||||
 | 
			
		||||
   return(TRUE);
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
/******************************************************************
 | 
			
		||||
* StartWindowsMediaPlayer
 | 
			
		||||
******************************************************************/
 | 
			
		||||
BOOL StartWindowsMediaPlayer(void)
 | 
			
		||||
{
 | 
			
		||||
	AFX_MANAGE_STATE(AfxGetStaticModuleState());
 | 
			
		||||
 | 
			
		||||
   BOOL result = theApp.ShowWMPA();
 | 
			
		||||
 | 
			
		||||
   return(result);
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
/******************************************************************
 | 
			
		||||
* StopWindowsMediaPlayer
 | 
			
		||||
******************************************************************/
 | 
			
		||||
BOOL StopWindowsMediaPlayer(void)
 | 
			
		||||
{
 | 
			
		||||
	AFX_MANAGE_STATE(AfxGetStaticModuleState());
 | 
			
		||||
 | 
			
		||||
   BOOL result = theApp.DestroyWMPA();
 | 
			
		||||
 | 
			
		||||
   return(result);
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
/******************************************************************
 | 
			
		||||
* GetWindowsMediaPlayer
 | 
			
		||||
******************************************************************/
 | 
			
		||||
CWMPPlayer4 *GetWindowsMediaPlayer(void)
 | 
			
		||||
{
 | 
			
		||||
	AFX_MANAGE_STATE(AfxGetStaticModuleState());
 | 
			
		||||
 | 
			
		||||
   if (theApp.m_pDialog == NULL) return(NULL);
 | 
			
		||||
 | 
			
		||||
	return(&(theApp.m_pDialog->m_WMP));
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
/******************************************************************
 | 
			
		||||
* GetWMPADialog
 | 
			
		||||
******************************************************************/
 | 
			
		||||
CWMPADialog *GetWMPADialog(void)
 | 
			
		||||
{
 | 
			
		||||
	AFX_MANAGE_STATE(AfxGetStaticModuleState());
 | 
			
		||||
 | 
			
		||||
   if (theApp.m_pDialog == NULL) return(NULL);
 | 
			
		||||
 | 
			
		||||
	return(theApp.m_pDialog);
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
							
								
								
									
										16
									
								
								plugins/wmpa/wmpa.def
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										16
									
								
								plugins/wmpa/wmpa.def
									
										
									
									
									
										Normal file
									
								
							| 
						 | 
				
			
			@ -0,0 +1,16 @@
 | 
			
		|||
; wmpa.def : Declares the module parameters for the DLL.
 | 
			
		||||
 | 
			
		||||
LIBRARY      "wmpa"
 | 
			
		||||
DESCRIPTION  'wmpa Windows Dynamic Link Library'
 | 
			
		||||
 | 
			
		||||
EXPORTS
 | 
			
		||||
    ; Explicit exports can go here
 | 
			
		||||
    DllCanUnloadNow PRIVATE
 | 
			
		||||
    DllGetClassObject PRIVATE
 | 
			
		||||
    DllRegisterServer PRIVATE
 | 
			
		||||
    xchat_plugin_init
 | 
			
		||||
    xchat_plugin_deinit
 | 
			
		||||
    xchat_plugin_get_info
 | 
			
		||||
    StartWindowsMediaPlayer
 | 
			
		||||
    GetWindowsMediaPlayer
 | 
			
		||||
    GetWMPADialog
 | 
			
		||||
							
								
								
									
										421
									
								
								plugins/wmpa/wmpa.dsp
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										421
									
								
								plugins/wmpa/wmpa.dsp
									
										
									
									
									
										Normal file
									
								
							| 
						 | 
				
			
			@ -0,0 +1,421 @@
 | 
			
		|||
# Microsoft Developer Studio Project File - Name="wmpa" - Package Owner=<4>
 | 
			
		||||
# Microsoft Developer Studio Generated Build File, Format Version 6.00
 | 
			
		||||
# ** DO NOT EDIT **
 | 
			
		||||
 | 
			
		||||
# TARGTYPE "Win32 (x86) Dynamic-Link Library" 0x0102
 | 
			
		||||
 | 
			
		||||
CFG=wmpa - Win32 Debug
 | 
			
		||||
!MESSAGE This is not a valid makefile. To build this project using NMAKE,
 | 
			
		||||
!MESSAGE use the Export Makefile command and run
 | 
			
		||||
!MESSAGE 
 | 
			
		||||
!MESSAGE NMAKE /f "wmpa.mak".
 | 
			
		||||
!MESSAGE 
 | 
			
		||||
!MESSAGE You can specify a configuration when running NMAKE
 | 
			
		||||
!MESSAGE by defining the macro CFG on the command line. For example:
 | 
			
		||||
!MESSAGE 
 | 
			
		||||
!MESSAGE NMAKE /f "wmpa.mak" CFG="wmpa - Win32 Debug"
 | 
			
		||||
!MESSAGE 
 | 
			
		||||
!MESSAGE Possible choices for configuration are:
 | 
			
		||||
!MESSAGE 
 | 
			
		||||
!MESSAGE "wmpa - Win32 Release" (based on "Win32 (x86) Dynamic-Link Library")
 | 
			
		||||
!MESSAGE "wmpa - Win32 Debug" (based on "Win32 (x86) Dynamic-Link Library")
 | 
			
		||||
!MESSAGE 
 | 
			
		||||
 | 
			
		||||
# Begin Project
 | 
			
		||||
# PROP AllowPerConfigDependencies 0
 | 
			
		||||
# PROP Scc_ProjName ""
 | 
			
		||||
# PROP Scc_LocalPath ""
 | 
			
		||||
CPP=cl.exe
 | 
			
		||||
MTL=midl.exe
 | 
			
		||||
RSC=rc.exe
 | 
			
		||||
 | 
			
		||||
!IF  "$(CFG)" == "wmpa - Win32 Release"
 | 
			
		||||
 | 
			
		||||
# PROP BASE Use_MFC 6
 | 
			
		||||
# PROP BASE Use_Debug_Libraries 0
 | 
			
		||||
# PROP BASE Output_Dir "Release"
 | 
			
		||||
# PROP BASE Intermediate_Dir "Release"
 | 
			
		||||
# PROP BASE Target_Dir ""
 | 
			
		||||
# PROP Use_MFC 6
 | 
			
		||||
# PROP Use_Debug_Libraries 0
 | 
			
		||||
# PROP Output_Dir "Release"
 | 
			
		||||
# PROP Intermediate_Dir "Release"
 | 
			
		||||
# PROP Ignore_Export_Lib 0
 | 
			
		||||
# PROP Target_Dir ""
 | 
			
		||||
# ADD BASE CPP /nologo /MD /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_WINDOWS" /D "_WINDLL" /D "_AFXDLL" /Yu"stdafx.h" /FD /c
 | 
			
		||||
# ADD CPP /nologo /MD /W3 /GX /O2 /I "C:\Program Files\Microsoft Platform SDK\Include" /D "WIN32" /D "NDEBUG" /D "_WINDOWS" /D "_WINDLL" /D "_AFXDLL" /D "_MBCS" /D "_USRDLL" /Yu"stdafx.h" /FD /c
 | 
			
		||||
# ADD BASE MTL /nologo /D "NDEBUG" /mktyplib203 /win32
 | 
			
		||||
# ADD MTL /nologo /D "NDEBUG" /mktyplib203 /win32
 | 
			
		||||
# ADD BASE RSC /l 0x409 /d "NDEBUG" /d "_AFXDLL"
 | 
			
		||||
# ADD RSC /l 0x409 /d "NDEBUG" /d "_AFXDLL"
 | 
			
		||||
BSC32=bscmake.exe
 | 
			
		||||
# ADD BASE BSC32 /nologo
 | 
			
		||||
# ADD BSC32 /nologo
 | 
			
		||||
LINK32=link.exe
 | 
			
		||||
# ADD BASE LINK32 /nologo /subsystem:windows /dll /machine:I386
 | 
			
		||||
# ADD LINK32 /nologo /subsystem:windows /dll /machine:I386
 | 
			
		||||
# Begin Custom Build
 | 
			
		||||
InputPath=.\Release\wmpa.dll
 | 
			
		||||
InputName=wmpa
 | 
			
		||||
SOURCE="$(InputPath)"
 | 
			
		||||
 | 
			
		||||
"C:\msys\1.0\local\src\xchat\src\fe-gtk\plugins\$(InputName).dll" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
 | 
			
		||||
	copy /Y $(InputPath) "C:\msys\1.0\local\src\xchat\src\fe-gtk\plugins\$(InputName).dll"
 | 
			
		||||
 | 
			
		||||
# End Custom Build
 | 
			
		||||
 | 
			
		||||
!ELSEIF  "$(CFG)" == "wmpa - Win32 Debug"
 | 
			
		||||
 | 
			
		||||
# PROP BASE Use_MFC 6
 | 
			
		||||
# PROP BASE Use_Debug_Libraries 1
 | 
			
		||||
# PROP BASE Output_Dir "Debug"
 | 
			
		||||
# PROP BASE Intermediate_Dir "Debug"
 | 
			
		||||
# PROP BASE Target_Dir ""
 | 
			
		||||
# PROP Use_MFC 6
 | 
			
		||||
# PROP Use_Debug_Libraries 1
 | 
			
		||||
# PROP Output_Dir "Debug"
 | 
			
		||||
# PROP Intermediate_Dir "Debug"
 | 
			
		||||
# PROP Ignore_Export_Lib 0
 | 
			
		||||
# PROP Target_Dir ""
 | 
			
		||||
# ADD BASE CPP /nologo /MDd /W3 /Gm /GX /ZI /Od /D "WIN32" /D "_DEBUG" /D "_WINDOWS" /D "_WINDLL" /D "_AFXDLL" /Yu"stdafx.h" /FD /GZ /c
 | 
			
		||||
# ADD CPP /nologo /MDd /W4 /Gm /GX /ZI /Od /I "C:\Program Files\Microsoft Platform SDK\Include" /D "WIN32" /D "_DEBUG" /D "_WINDOWS" /D "_WINDLL" /D "_AFXDLL" /D "_MBCS" /D "_USRDLL" /FR /Yu"stdafx.h" /FD /GZ /c
 | 
			
		||||
# ADD BASE MTL /nologo /D "_DEBUG" /mktyplib203 /win32
 | 
			
		||||
# ADD MTL /nologo /D "_DEBUG" /mktyplib203 /win32
 | 
			
		||||
# ADD BASE RSC /l 0x409 /d "_DEBUG" /d "_AFXDLL"
 | 
			
		||||
# ADD RSC /l 0x409 /d "_DEBUG" /d "_AFXDLL"
 | 
			
		||||
BSC32=bscmake.exe
 | 
			
		||||
# ADD BASE BSC32 /nologo
 | 
			
		||||
# ADD BSC32 /nologo
 | 
			
		||||
LINK32=link.exe
 | 
			
		||||
# ADD BASE LINK32 /nologo /subsystem:windows /dll /debug /machine:I386 /pdbtype:sept
 | 
			
		||||
# ADD LINK32 /nologo /subsystem:windows /dll /debug /machine:I386 /pdbtype:sept
 | 
			
		||||
# Begin Custom Build
 | 
			
		||||
InputPath=.\Debug\wmpa.dll
 | 
			
		||||
InputName=wmpa
 | 
			
		||||
SOURCE="$(InputPath)"
 | 
			
		||||
 | 
			
		||||
"C:\msys\1.0\local\src\xchat\src\fe-gtk\plugins\$(InputName).dll" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
 | 
			
		||||
	copy /Y $(InputPath) "C:\msys\1.0\local\src\xchat\src\fe-gtk\plugins\$(InputName).dll"
 | 
			
		||||
 | 
			
		||||
# End Custom Build
 | 
			
		||||
 | 
			
		||||
!ENDIF 
 | 
			
		||||
 | 
			
		||||
# Begin Target
 | 
			
		||||
 | 
			
		||||
# Name "wmpa - Win32 Release"
 | 
			
		||||
# Name "wmpa - Win32 Debug"
 | 
			
		||||
# Begin Group "Source Files"
 | 
			
		||||
 | 
			
		||||
# PROP Default_Filter "cpp;c;cxx;rc;def;r;odl;idl;hpj;bat"
 | 
			
		||||
# Begin Source File
 | 
			
		||||
 | 
			
		||||
SOURCE=.\StdAfx.cpp
 | 
			
		||||
# ADD CPP /Yc"stdafx.h"
 | 
			
		||||
# End Source File
 | 
			
		||||
# Begin Source File
 | 
			
		||||
 | 
			
		||||
SOURCE=.\wmpa.cpp
 | 
			
		||||
# End Source File
 | 
			
		||||
# Begin Source File
 | 
			
		||||
 | 
			
		||||
SOURCE=.\wmpa.def
 | 
			
		||||
# End Source File
 | 
			
		||||
# Begin Source File
 | 
			
		||||
 | 
			
		||||
SOURCE=.\wmpa.odl
 | 
			
		||||
# End Source File
 | 
			
		||||
# Begin Source File
 | 
			
		||||
 | 
			
		||||
SOURCE=.\wmpa.rc
 | 
			
		||||
# End Source File
 | 
			
		||||
# Begin Source File
 | 
			
		||||
 | 
			
		||||
SOURCE=.\WMPADialog.cpp
 | 
			
		||||
# End Source File
 | 
			
		||||
# Begin Source File
 | 
			
		||||
 | 
			
		||||
SOURCE=.\wmpcdrom.cpp
 | 
			
		||||
# End Source File
 | 
			
		||||
# Begin Source File
 | 
			
		||||
 | 
			
		||||
SOURCE=.\wmpcdromcollection.cpp
 | 
			
		||||
# End Source File
 | 
			
		||||
# Begin Source File
 | 
			
		||||
 | 
			
		||||
SOURCE=.\wmpclosedcaption.cpp
 | 
			
		||||
# End Source File
 | 
			
		||||
# Begin Source File
 | 
			
		||||
 | 
			
		||||
SOURCE=.\wmpcontrols.cpp
 | 
			
		||||
# End Source File
 | 
			
		||||
# Begin Source File
 | 
			
		||||
 | 
			
		||||
SOURCE=.\wmpdvd.cpp
 | 
			
		||||
# End Source File
 | 
			
		||||
# Begin Source File
 | 
			
		||||
 | 
			
		||||
SOURCE=.\wmperror.cpp
 | 
			
		||||
# End Source File
 | 
			
		||||
# Begin Source File
 | 
			
		||||
 | 
			
		||||
SOURCE=.\wmperroritem.cpp
 | 
			
		||||
# End Source File
 | 
			
		||||
# Begin Source File
 | 
			
		||||
 | 
			
		||||
SOURCE=.\wmpmedia.cpp
 | 
			
		||||
# End Source File
 | 
			
		||||
# Begin Source File
 | 
			
		||||
 | 
			
		||||
SOURCE=.\wmpmediacollection.cpp
 | 
			
		||||
# End Source File
 | 
			
		||||
# Begin Source File
 | 
			
		||||
 | 
			
		||||
SOURCE=.\wmpnetwork.cpp
 | 
			
		||||
# End Source File
 | 
			
		||||
# Begin Source File
 | 
			
		||||
 | 
			
		||||
SOURCE=.\wmpplayer4.cpp
 | 
			
		||||
# End Source File
 | 
			
		||||
# Begin Source File
 | 
			
		||||
 | 
			
		||||
SOURCE=.\wmpplayerapplication.cpp
 | 
			
		||||
# End Source File
 | 
			
		||||
# Begin Source File
 | 
			
		||||
 | 
			
		||||
SOURCE=.\wmpplaylist.cpp
 | 
			
		||||
# End Source File
 | 
			
		||||
# Begin Source File
 | 
			
		||||
 | 
			
		||||
SOURCE=.\wmpplaylistarray.cpp
 | 
			
		||||
# End Source File
 | 
			
		||||
# Begin Source File
 | 
			
		||||
 | 
			
		||||
SOURCE=.\wmpplaylistcollection.cpp
 | 
			
		||||
# End Source File
 | 
			
		||||
# Begin Source File
 | 
			
		||||
 | 
			
		||||
SOURCE=.\wmpsettings.cpp
 | 
			
		||||
# End Source File
 | 
			
		||||
# Begin Source File
 | 
			
		||||
 | 
			
		||||
SOURCE=.\wmpstringcollection.cpp
 | 
			
		||||
# End Source File
 | 
			
		||||
# Begin Source File
 | 
			
		||||
 | 
			
		||||
SOURCE=".\xchat-plugin.cpp"
 | 
			
		||||
# End Source File
 | 
			
		||||
# End Group
 | 
			
		||||
# Begin Group "Header Files"
 | 
			
		||||
 | 
			
		||||
# PROP Default_Filter "h;hpp;hxx;hm;inl"
 | 
			
		||||
# Begin Source File
 | 
			
		||||
 | 
			
		||||
SOURCE=.\Resource.h
 | 
			
		||||
# End Source File
 | 
			
		||||
# Begin Source File
 | 
			
		||||
 | 
			
		||||
SOURCE=.\StdAfx.h
 | 
			
		||||
# End Source File
 | 
			
		||||
# Begin Source File
 | 
			
		||||
 | 
			
		||||
SOURCE=.\wmpa.h
 | 
			
		||||
# End Source File
 | 
			
		||||
# Begin Source File
 | 
			
		||||
 | 
			
		||||
SOURCE=.\WMPADIALOG.h
 | 
			
		||||
# End Source File
 | 
			
		||||
# Begin Source File
 | 
			
		||||
 | 
			
		||||
SOURCE=.\wmpcdrom.h
 | 
			
		||||
# End Source File
 | 
			
		||||
# Begin Source File
 | 
			
		||||
 | 
			
		||||
SOURCE=.\wmpcdromcollection.h
 | 
			
		||||
# End Source File
 | 
			
		||||
# Begin Source File
 | 
			
		||||
 | 
			
		||||
SOURCE=.\wmpclosedcaption.h
 | 
			
		||||
# End Source File
 | 
			
		||||
# Begin Source File
 | 
			
		||||
 | 
			
		||||
SOURCE=.\wmpcontrols.h
 | 
			
		||||
# End Source File
 | 
			
		||||
# Begin Source File
 | 
			
		||||
 | 
			
		||||
SOURCE=.\wmpdvd.h
 | 
			
		||||
# End Source File
 | 
			
		||||
# Begin Source File
 | 
			
		||||
 | 
			
		||||
SOURCE=.\wmperror.h
 | 
			
		||||
# End Source File
 | 
			
		||||
# Begin Source File
 | 
			
		||||
 | 
			
		||||
SOURCE=.\wmperroritem.h
 | 
			
		||||
# End Source File
 | 
			
		||||
# Begin Source File
 | 
			
		||||
 | 
			
		||||
SOURCE=.\wmpmedia.h
 | 
			
		||||
# End Source File
 | 
			
		||||
# Begin Source File
 | 
			
		||||
 | 
			
		||||
SOURCE=.\wmpmediacollection.h
 | 
			
		||||
# End Source File
 | 
			
		||||
# Begin Source File
 | 
			
		||||
 | 
			
		||||
SOURCE=.\wmpnetwork.h
 | 
			
		||||
# End Source File
 | 
			
		||||
# Begin Source File
 | 
			
		||||
 | 
			
		||||
SOURCE=.\wmpplayer4.h
 | 
			
		||||
# End Source File
 | 
			
		||||
# Begin Source File
 | 
			
		||||
 | 
			
		||||
SOURCE=.\wmpplayerapplication.h
 | 
			
		||||
# End Source File
 | 
			
		||||
# Begin Source File
 | 
			
		||||
 | 
			
		||||
SOURCE=.\wmpplaylist.h
 | 
			
		||||
# End Source File
 | 
			
		||||
# Begin Source File
 | 
			
		||||
 | 
			
		||||
SOURCE=.\wmpplaylistarray.h
 | 
			
		||||
# End Source File
 | 
			
		||||
# Begin Source File
 | 
			
		||||
 | 
			
		||||
SOURCE=.\wmpplaylistcollection.h
 | 
			
		||||
# End Source File
 | 
			
		||||
# Begin Source File
 | 
			
		||||
 | 
			
		||||
SOURCE=.\wmpsettings.h
 | 
			
		||||
# End Source File
 | 
			
		||||
# Begin Source File
 | 
			
		||||
 | 
			
		||||
SOURCE=.\wmpstringcollection.h
 | 
			
		||||
# End Source File
 | 
			
		||||
# Begin Source File
 | 
			
		||||
 | 
			
		||||
SOURCE=".\xchat-plugin.h"
 | 
			
		||||
# End Source File
 | 
			
		||||
# End Group
 | 
			
		||||
# Begin Group "Resource Files"
 | 
			
		||||
 | 
			
		||||
# PROP Default_Filter "ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe"
 | 
			
		||||
# Begin Source File
 | 
			
		||||
 | 
			
		||||
SOURCE=.\res\wmpa.rc2
 | 
			
		||||
# End Source File
 | 
			
		||||
# Begin Source File
 | 
			
		||||
 | 
			
		||||
SOURCE=.\xchat.ico
 | 
			
		||||
# End Source File
 | 
			
		||||
# End Group
 | 
			
		||||
# Begin Source File
 | 
			
		||||
 | 
			
		||||
SOURCE=.\ReadMe.txt
 | 
			
		||||
# End Source File
 | 
			
		||||
# End Target
 | 
			
		||||
# End Project
 | 
			
		||||
# Section wmpa : {10A13217-23A7-439B-B1C0-D847C79B7774}
 | 
			
		||||
# 	2:5:Class:CWMPPlaylistCollection
 | 
			
		||||
# 	2:10:HeaderFile:wmpplaylistcollection.h
 | 
			
		||||
# 	2:8:ImplFile:wmpplaylistcollection.cpp
 | 
			
		||||
# End Section
 | 
			
		||||
# Section wmpa : {EC21B779-EDEF-462D-BBA4-AD9DDE2B29A7}
 | 
			
		||||
# 	2:5:Class:CWMPNetwork
 | 
			
		||||
# 	2:10:HeaderFile:wmpnetwork.h
 | 
			
		||||
# 	2:8:ImplFile:wmpnetwork.cpp
 | 
			
		||||
# End Section
 | 
			
		||||
# Section wmpa : {4A976298-8C0D-11D3-B389-00C04F68574B}
 | 
			
		||||
# 	2:5:Class:CWMPStringCollection
 | 
			
		||||
# 	2:10:HeaderFile:wmpstringcollection.h
 | 
			
		||||
# 	2:8:ImplFile:wmpstringcollection.cpp
 | 
			
		||||
# End Section
 | 
			
		||||
# Section wmpa : {B7ABC220-DF71-11CF-8E74-00A0C90F26F8}
 | 
			
		||||
# 	2:5:Class:Cmci
 | 
			
		||||
# 	2:10:HeaderFile:mci.h
 | 
			
		||||
# 	2:8:ImplFile:mci.cpp
 | 
			
		||||
# End Section
 | 
			
		||||
# Section wmpa : {8363BC22-B4B4-4B19-989D-1CD765749DD1}
 | 
			
		||||
# 	2:5:Class:CWMPMediaCollection
 | 
			
		||||
# 	2:10:HeaderFile:wmpmediacollection.h
 | 
			
		||||
# 	2:8:ImplFile:wmpmediacollection.cpp
 | 
			
		||||
# End Section
 | 
			
		||||
# Section wmpa : {679409C0-99F7-11D3-9FB7-00105AA620BB}
 | 
			
		||||
# 	2:5:Class:CWMPPlaylistArray
 | 
			
		||||
# 	2:10:HeaderFile:wmpplaylistarray.h
 | 
			
		||||
# 	2:8:ImplFile:wmpplaylistarray.cpp
 | 
			
		||||
# End Section
 | 
			
		||||
# Section wmpa : {74C09E02-F828-11D2-A74B-00A0C905F36E}
 | 
			
		||||
# 	2:5:Class:CWMPControls
 | 
			
		||||
# 	2:10:HeaderFile:wmpcontrols.h
 | 
			
		||||
# 	2:8:ImplFile:wmpcontrols.cpp
 | 
			
		||||
# End Section
 | 
			
		||||
# Section wmpa : {CFAB6E98-8730-11D3-B388-00C04F68574B}
 | 
			
		||||
# 	2:5:Class:CWMPCdrom
 | 
			
		||||
# 	2:10:HeaderFile:wmpcdrom.h
 | 
			
		||||
# 	2:8:ImplFile:wmpcdrom.cpp
 | 
			
		||||
# End Section
 | 
			
		||||
# Section wmpa : {8DA61686-4668-4A5C-AE5D-803193293DBE}
 | 
			
		||||
# 	2:5:Class:CWMPDVD
 | 
			
		||||
# 	2:10:HeaderFile:wmpdvd.h
 | 
			
		||||
# 	2:8:ImplFile:wmpdvd.cpp
 | 
			
		||||
# End Section
 | 
			
		||||
# Section wmpa : {6C497D62-8919-413C-82DB-E935FB3EC584}
 | 
			
		||||
# 	2:5:Class:CWMPPlayer4
 | 
			
		||||
# 	2:10:HeaderFile:wmpplayer4.h
 | 
			
		||||
# 	2:8:ImplFile:wmpplayer4.cpp
 | 
			
		||||
# End Section
 | 
			
		||||
# Section wmpa : {40897764-CEAB-47BE-AD4A-8E28537F9BBF}
 | 
			
		||||
# 	2:5:Class:CWMPPlayerApplication
 | 
			
		||||
# 	2:10:HeaderFile:wmpplayerapplication.h
 | 
			
		||||
# 	2:8:ImplFile:wmpplayerapplication.cpp
 | 
			
		||||
# End Section
 | 
			
		||||
# Section wmpa : {6BF52A52-394A-11D3-B153-00C04F79FAA6}
 | 
			
		||||
# 	2:21:DefaultSinkHeaderFile:wmpplayer4.h
 | 
			
		||||
# 	2:16:DefaultSinkClass:CWMPPlayer4
 | 
			
		||||
# End Section
 | 
			
		||||
# Section wmpa : {C1A8AF25-1257-101B-8FB0-0020AF039CA3}
 | 
			
		||||
# 	2:21:DefaultSinkHeaderFile:mci.h
 | 
			
		||||
# 	2:16:DefaultSinkClass:Cmci
 | 
			
		||||
# End Section
 | 
			
		||||
# Section wmpa : {9104D1AB-80C9-4FED-ABF0-2E6417A6DF14}
 | 
			
		||||
# 	2:5:Class:CWMPSettings
 | 
			
		||||
# 	2:10:HeaderFile:wmpsettings.h
 | 
			
		||||
# 	2:8:ImplFile:wmpsettings.cpp
 | 
			
		||||
# End Section
 | 
			
		||||
# Section wmpa : {A12DCF7D-14AB-4C1B-A8CD-63909F06025B}
 | 
			
		||||
# 	2:5:Class:CWMPError
 | 
			
		||||
# 	2:10:HeaderFile:wmperror.h
 | 
			
		||||
# 	2:8:ImplFile:wmperror.cpp
 | 
			
		||||
# End Section
 | 
			
		||||
# Section wmpa : {7BF80981-BF32-101A-8BBB-00AA00300CAB}
 | 
			
		||||
# 	2:5:Class:CPicture
 | 
			
		||||
# 	2:10:HeaderFile:picture.h
 | 
			
		||||
# 	2:8:ImplFile:picture.cpp
 | 
			
		||||
# End Section
 | 
			
		||||
# Section wmpa : {D5F0F4F1-130C-11D3-B14E-00C04F79FAA6}
 | 
			
		||||
# 	2:5:Class:CWMPPlaylist
 | 
			
		||||
# 	2:10:HeaderFile:wmpplaylist.h
 | 
			
		||||
# 	2:8:ImplFile:wmpplaylist.cpp
 | 
			
		||||
# End Section
 | 
			
		||||
# Section wmpa : {EE4C8FE2-34B2-11D3-A3BF-006097C9B344}
 | 
			
		||||
# 	2:5:Class:CWMPCdromCollection
 | 
			
		||||
# 	2:10:HeaderFile:wmpcdromcollection.h
 | 
			
		||||
# 	2:8:ImplFile:wmpcdromcollection.cpp
 | 
			
		||||
# End Section
 | 
			
		||||
# Section wmpa : {4F2DF574-C588-11D3-9ED0-00C04FB6E937}
 | 
			
		||||
# 	2:5:Class:CWMPClosedCaption
 | 
			
		||||
# 	2:10:HeaderFile:wmpclosedcaption.h
 | 
			
		||||
# 	2:8:ImplFile:wmpclosedcaption.cpp
 | 
			
		||||
# End Section
 | 
			
		||||
# Section wmpa : {94D55E95-3FAC-11D3-B155-00C04F79FAA6}
 | 
			
		||||
# 	2:5:Class:CWMPMedia
 | 
			
		||||
# 	2:10:HeaderFile:wmpmedia.h
 | 
			
		||||
# 	2:8:ImplFile:wmpmedia.cpp
 | 
			
		||||
# End Section
 | 
			
		||||
# Section wmpa : {3614C646-3B3B-4DE7-A81E-930E3F2127B3}
 | 
			
		||||
# 	2:5:Class:CWMPErrorItem
 | 
			
		||||
# 	2:10:HeaderFile:wmperroritem.h
 | 
			
		||||
# 	2:8:ImplFile:wmperroritem.cpp
 | 
			
		||||
# End Section
 | 
			
		||||
							
								
								
									
										31
									
								
								plugins/wmpa/wmpa.dsw
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										31
									
								
								plugins/wmpa/wmpa.dsw
									
										
									
									
									
										Normal file
									
								
							| 
						 | 
				
			
			@ -0,0 +1,31 @@
 | 
			
		|||
Microsoft Developer Studio Workspace File, Format Version 6.00
 | 
			
		||||
# WARNING: DO NOT EDIT OR DELETE THIS WORKSPACE FILE!
 | 
			
		||||
 | 
			
		||||
###############################################################################
 | 
			
		||||
 | 
			
		||||
Project: "wmpa"=".\wmpa.dsp" - Package Owner=<4>
 | 
			
		||||
 | 
			
		||||
Package=<5>
 | 
			
		||||
{{{
 | 
			
		||||
}}}
 | 
			
		||||
 | 
			
		||||
Package=<4>
 | 
			
		||||
{{{
 | 
			
		||||
}}}
 | 
			
		||||
 | 
			
		||||
###############################################################################
 | 
			
		||||
 | 
			
		||||
Global:
 | 
			
		||||
 | 
			
		||||
Package=<5>
 | 
			
		||||
{{{
 | 
			
		||||
}}}
 | 
			
		||||
 | 
			
		||||
Package=<3>
 | 
			
		||||
{{{
 | 
			
		||||
    {6BF52A52-394A-11D3-B153-00C04F79FAA6}
 | 
			
		||||
    {C1A8AF25-1257-101B-8FB0-0020AF039CA3}
 | 
			
		||||
}}}
 | 
			
		||||
 | 
			
		||||
###############################################################################
 | 
			
		||||
 | 
			
		||||
							
								
								
									
										61
									
								
								plugins/wmpa/wmpa.h
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										61
									
								
								plugins/wmpa/wmpa.h
									
										
									
									
									
										Normal file
									
								
							| 
						 | 
				
			
			@ -0,0 +1,61 @@
 | 
			
		|||
/******************************************************************
 | 
			
		||||
* $Id$
 | 
			
		||||
*
 | 
			
		||||
* $Log$
 | 
			
		||||
*
 | 
			
		||||
* Copyright © 2005 David Cullen, All rights reserved
 | 
			
		||||
*
 | 
			
		||||
******************************************************************/
 | 
			
		||||
#if !defined(AFX_WMPA_H__11200FE3_F137_48DD_8020_91CF7BBB283B__INCLUDED_)
 | 
			
		||||
#define AFX_WMPA_H__11200FE3_F137_48DD_8020_91CF7BBB283B__INCLUDED_
 | 
			
		||||
 | 
			
		||||
#if _MSC_VER > 1000
 | 
			
		||||
#pragma once
 | 
			
		||||
#endif // _MSC_VER > 1000
 | 
			
		||||
 | 
			
		||||
#ifndef __AFXWIN_H__
 | 
			
		||||
	#error include 'stdafx.h' before including this file for PCH
 | 
			
		||||
#endif
 | 
			
		||||
 | 
			
		||||
#include "resource.h"		// main symbols
 | 
			
		||||
#include "WMPADialog.h"
 | 
			
		||||
 | 
			
		||||
/////////////////////////////////////////////////////////////////////////////
 | 
			
		||||
// CWmpaApp
 | 
			
		||||
// See wmpa.cpp for the implementation of this class
 | 
			
		||||
//
 | 
			
		||||
 | 
			
		||||
class CWmpaApp : public CWinApp
 | 
			
		||||
{
 | 
			
		||||
public:
 | 
			
		||||
	CWmpaApp();
 | 
			
		||||
 | 
			
		||||
   BOOL ShowWMPA(void);
 | 
			
		||||
   BOOL DestroyWMPA(void);
 | 
			
		||||
 | 
			
		||||
   CWMPADialog *m_pDialog;
 | 
			
		||||
// Overrides
 | 
			
		||||
	// ClassWizard generated virtual function overrides
 | 
			
		||||
	//{{AFX_VIRTUAL(CWmpaApp)
 | 
			
		||||
	public:
 | 
			
		||||
	virtual BOOL InitInstance();
 | 
			
		||||
	//}}AFX_VIRTUAL
 | 
			
		||||
 | 
			
		||||
	//{{AFX_MSG(CWmpaApp)
 | 
			
		||||
		// NOTE - the ClassWizard will add and remove member functions here.
 | 
			
		||||
		//    DO NOT EDIT what you see in these blocks of generated code !
 | 
			
		||||
	//}}AFX_MSG
 | 
			
		||||
	DECLARE_MESSAGE_MAP()
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
BOOL StartWindowsMediaPlayer(void);
 | 
			
		||||
BOOL StopWindowsMediaPlayer(void);
 | 
			
		||||
CWMPPlayer4 *GetWindowsMediaPlayer(void);
 | 
			
		||||
CWMPADialog *GetWMPADialog(void);
 | 
			
		||||
 | 
			
		||||
/////////////////////////////////////////////////////////////////////////////
 | 
			
		||||
 | 
			
		||||
//{{AFX_INSERT_LOCATION}}
 | 
			
		||||
// Microsoft Visual C++ will insert additional declarations immediately before the previous line.
 | 
			
		||||
 | 
			
		||||
#endif // !defined(AFX_WMPA_H__11200FE3_F137_48DD_8020_91CF7BBB283B__INCLUDED_)
 | 
			
		||||
							
								
								
									
										44
									
								
								plugins/wmpa/wmpa.odl
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										44
									
								
								plugins/wmpa/wmpa.odl
									
										
									
									
									
										Normal file
									
								
							| 
						 | 
				
			
			@ -0,0 +1,44 @@
 | 
			
		|||
// wmpa.odl : type library source for wmpa.dll
 | 
			
		||||
 | 
			
		||||
// This file will be processed by the MIDL compiler to produce the
 | 
			
		||||
// type library (wmpa.tlb).
 | 
			
		||||
 | 
			
		||||
[ uuid(2D225385-EFD3-4DD8-9377-A7F244C522D0), version(1.0) ]
 | 
			
		||||
library Wmpa
 | 
			
		||||
{
 | 
			
		||||
	importlib("stdole32.tlb");
 | 
			
		||||
	importlib("stdole2.tlb");
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
	//  Primary dispatch interface for CWMPADIALOG
 | 
			
		||||
	
 | 
			
		||||
	[ uuid(01C1B3AA-C7FC-4023-89A5-C814E1B62B9B) ]
 | 
			
		||||
	dispinterface IWMPADIALOG
 | 
			
		||||
	{
 | 
			
		||||
		properties:
 | 
			
		||||
			// NOTE - ClassWizard will maintain property information here.
 | 
			
		||||
			//    Use extreme caution when editing this section.
 | 
			
		||||
			//{{AFX_ODL_PROP(CWMPADIALOG)
 | 
			
		||||
			//}}AFX_ODL_PROP
 | 
			
		||||
			
 | 
			
		||||
		methods:
 | 
			
		||||
			// NOTE - ClassWizard will maintain method information here.
 | 
			
		||||
			//    Use extreme caution when editing this section.
 | 
			
		||||
			//{{AFX_ODL_METHOD(CWMPADIALOG)
 | 
			
		||||
			//}}AFX_ODL_METHOD
 | 
			
		||||
 | 
			
		||||
	};
 | 
			
		||||
 | 
			
		||||
	//  Class information for CWMPADIALOG
 | 
			
		||||
 | 
			
		||||
	[ uuid(9007B1B4-0006-453D-A799-DB8CBA1AE22A) ]
 | 
			
		||||
	coclass WMPADIALOG
 | 
			
		||||
	{
 | 
			
		||||
		[default] dispinterface IWMPADIALOG;
 | 
			
		||||
	};
 | 
			
		||||
 | 
			
		||||
	//{{AFX_APPEND_ODL}}
 | 
			
		||||
	//}}AFX_APPEND_ODL}}
 | 
			
		||||
};
 | 
			
		||||
							
								
								
									
										16
									
								
								plugins/wmpa/wmpa.plg
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										16
									
								
								plugins/wmpa/wmpa.plg
									
										
									
									
									
										Normal file
									
								
							| 
						 | 
				
			
			@ -0,0 +1,16 @@
 | 
			
		|||
<html>
 | 
			
		||||
<body>
 | 
			
		||||
<pre>
 | 
			
		||||
<h1>Build Log</h1>
 | 
			
		||||
<h3>
 | 
			
		||||
--------------------Configuration: wmpa - Win32 Release--------------------
 | 
			
		||||
</h3>
 | 
			
		||||
<h3>Command Lines</h3>
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
<h3>Results</h3>
 | 
			
		||||
wmpa.dll - 0 error(s), 0 warning(s)
 | 
			
		||||
</pre>
 | 
			
		||||
</body>
 | 
			
		||||
</html>
 | 
			
		||||
							
								
								
									
										204
									
								
								plugins/wmpa/wmpa.rc
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										204
									
								
								plugins/wmpa/wmpa.rc
									
										
									
									
									
										Normal file
									
								
							| 
						 | 
				
			
			@ -0,0 +1,204 @@
 | 
			
		|||
//Microsoft Developer Studio generated resource script.
 | 
			
		||||
//
 | 
			
		||||
#include "resource.h"
 | 
			
		||||
 | 
			
		||||
#define APSTUDIO_READONLY_SYMBOLS
 | 
			
		||||
/////////////////////////////////////////////////////////////////////////////
 | 
			
		||||
//
 | 
			
		||||
// Generated from the TEXTINCLUDE 2 resource.
 | 
			
		||||
//
 | 
			
		||||
#include "afxres.h"
 | 
			
		||||
 | 
			
		||||
/////////////////////////////////////////////////////////////////////////////
 | 
			
		||||
#undef APSTUDIO_READONLY_SYMBOLS
 | 
			
		||||
 | 
			
		||||
/////////////////////////////////////////////////////////////////////////////
 | 
			
		||||
// English (U.S.) resources
 | 
			
		||||
 | 
			
		||||
#if !defined(AFX_RESOURCE_DLL) || defined(AFX_TARG_ENU)
 | 
			
		||||
#ifdef _WIN32
 | 
			
		||||
LANGUAGE LANG_ENGLISH, SUBLANG_ENGLISH_US
 | 
			
		||||
#pragma code_page(1252)
 | 
			
		||||
#endif //_WIN32
 | 
			
		||||
 | 
			
		||||
#ifdef APSTUDIO_INVOKED
 | 
			
		||||
/////////////////////////////////////////////////////////////////////////////
 | 
			
		||||
//
 | 
			
		||||
// TEXTINCLUDE
 | 
			
		||||
//
 | 
			
		||||
 | 
			
		||||
1 TEXTINCLUDE DISCARDABLE 
 | 
			
		||||
BEGIN
 | 
			
		||||
    "resource.h\0"
 | 
			
		||||
END
 | 
			
		||||
 | 
			
		||||
2 TEXTINCLUDE DISCARDABLE 
 | 
			
		||||
BEGIN
 | 
			
		||||
    "#include ""afxres.h""\r\n"
 | 
			
		||||
    "\0"
 | 
			
		||||
END
 | 
			
		||||
 | 
			
		||||
3 TEXTINCLUDE DISCARDABLE 
 | 
			
		||||
BEGIN
 | 
			
		||||
    "#define _AFX_NO_SPLITTER_RESOURCES\r\n"
 | 
			
		||||
    "#define _AFX_NO_OLE_RESOURCES\r\n"
 | 
			
		||||
    "#define _AFX_NO_TRACKER_RESOURCES\r\n"
 | 
			
		||||
    "#define _AFX_NO_PROPERTY_RESOURCES\r\n"
 | 
			
		||||
    "\r\n"
 | 
			
		||||
    "#if !defined(AFX_RESOURCE_DLL) || defined(AFX_TARG_ENU)\r\n"
 | 
			
		||||
    "#ifdef _WIN32\r\n"
 | 
			
		||||
    "LANGUAGE 9, 1\r\n"
 | 
			
		||||
    "#pragma code_page(1252)\r\n"
 | 
			
		||||
    "#endif //_WIN32\r\n"
 | 
			
		||||
    "#include ""res\\wmpa.rc2""  // non-Microsoft Visual C++ edited resources\r\n"
 | 
			
		||||
    "#include ""afxres.rc""         // Standard components\r\n"
 | 
			
		||||
    "#endif\r\n"
 | 
			
		||||
    "\0"
 | 
			
		||||
END
 | 
			
		||||
 | 
			
		||||
#endif    // APSTUDIO_INVOKED
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
#ifndef _MAC
 | 
			
		||||
/////////////////////////////////////////////////////////////////////////////
 | 
			
		||||
//
 | 
			
		||||
// Version
 | 
			
		||||
//
 | 
			
		||||
 | 
			
		||||
VS_VERSION_INFO VERSIONINFO
 | 
			
		||||
 FILEVERSION 1,0,0,1
 | 
			
		||||
 PRODUCTVERSION 1,0,0,1
 | 
			
		||||
 FILEFLAGSMASK 0x3fL
 | 
			
		||||
#ifdef _DEBUG
 | 
			
		||||
 FILEFLAGS 0x1L
 | 
			
		||||
#else
 | 
			
		||||
 FILEFLAGS 0x0L
 | 
			
		||||
#endif
 | 
			
		||||
 FILEOS 0x4L
 | 
			
		||||
 FILETYPE 0x2L
 | 
			
		||||
 FILESUBTYPE 0x0L
 | 
			
		||||
BEGIN
 | 
			
		||||
    BLOCK "StringFileInfo"
 | 
			
		||||
    BEGIN
 | 
			
		||||
        BLOCK "040904B0"
 | 
			
		||||
        BEGIN
 | 
			
		||||
            VALUE "CompanyName", "\0"
 | 
			
		||||
            VALUE "FileDescription", "wmpa DLL\0"
 | 
			
		||||
            VALUE "FileVersion", "1, 0, 0, 1\0"
 | 
			
		||||
            VALUE "InternalName", "wmpa\0"
 | 
			
		||||
            VALUE "LegalCopyright", "Copyright (C) 2005\0"
 | 
			
		||||
            VALUE "LegalTrademarks", "\0"
 | 
			
		||||
            VALUE "OriginalFilename", "wmpa.DLL\0"
 | 
			
		||||
            VALUE "ProductName", "wmpa Dynamic Link Library\0"
 | 
			
		||||
            VALUE "ProductVersion", "1, 0, 0, 1\0"
 | 
			
		||||
            VALUE "OLESelfRegister", "\0"
 | 
			
		||||
        END
 | 
			
		||||
    END
 | 
			
		||||
    BLOCK "VarFileInfo"
 | 
			
		||||
    BEGIN
 | 
			
		||||
        VALUE "Translation", 0x409, 1200
 | 
			
		||||
    END
 | 
			
		||||
END
 | 
			
		||||
 | 
			
		||||
#endif    // !_MAC
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
/////////////////////////////////////////////////////////////////////////////
 | 
			
		||||
//
 | 
			
		||||
// Dialog
 | 
			
		||||
//
 | 
			
		||||
 | 
			
		||||
IDD_WMPADIALOG DIALOG DISCARDABLE  0, 0, 317, 236
 | 
			
		||||
STYLE DS_MODALFRAME | WS_MINIMIZEBOX | WS_POPUP | WS_CAPTION | WS_SYSMENU
 | 
			
		||||
CAPTION "Unitialized"
 | 
			
		||||
FONT 8, "MS Sans Serif"
 | 
			
		||||
BEGIN
 | 
			
		||||
    LISTBOX         IDC_PLAYLIST,165,15,145,145,LBS_NOINTEGRALHEIGHT | 
 | 
			
		||||
                    WS_VSCROLL | WS_HSCROLL | WS_TABSTOP
 | 
			
		||||
    LTEXT           "Play Lists (Double-click to play)",IDC_STATIC1,165,5,
 | 
			
		||||
                    145,10
 | 
			
		||||
    CONTROL         "",IDC_WMP,"{6BF52A52-394A-11D3-B153-00C04F79FAA6}",
 | 
			
		||||
                    WS_TABSTOP,5,5,155,155
 | 
			
		||||
    LISTBOX         IDC_SONGLIST,5,175,305,55,LBS_NOINTEGRALHEIGHT | 
 | 
			
		||||
                    WS_VSCROLL | WS_TABSTOP
 | 
			
		||||
    LTEXT           "Song List (Double-click to play)",IDC_STATIC2,5,165,305,
 | 
			
		||||
                    10
 | 
			
		||||
END
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
/////////////////////////////////////////////////////////////////////////////
 | 
			
		||||
//
 | 
			
		||||
// DESIGNINFO
 | 
			
		||||
//
 | 
			
		||||
 | 
			
		||||
#ifdef APSTUDIO_INVOKED
 | 
			
		||||
GUIDELINES DESIGNINFO DISCARDABLE 
 | 
			
		||||
BEGIN
 | 
			
		||||
    IDD_WMPADIALOG, DIALOG
 | 
			
		||||
    BEGIN
 | 
			
		||||
        LEFTMARGIN, 7
 | 
			
		||||
        RIGHTMARGIN, 310
 | 
			
		||||
        TOPMARGIN, 7
 | 
			
		||||
        BOTTOMMARGIN, 229
 | 
			
		||||
    END
 | 
			
		||||
END
 | 
			
		||||
#endif    // APSTUDIO_INVOKED
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
/////////////////////////////////////////////////////////////////////////////
 | 
			
		||||
//
 | 
			
		||||
// Dialog Info
 | 
			
		||||
//
 | 
			
		||||
 | 
			
		||||
IDD_WMPADIALOG DLGINIT
 | 
			
		||||
BEGIN
 | 
			
		||||
    IDC_WMP, 0x376, 166, 0
 | 
			
		||||
0x0000, 0x0000, 0x0300, 0x0000, 0x0008, 0x0000, 0x0000, 0x0005, 0x0000, 
 | 
			
		||||
0x0000, 0x0000, 0x3ff0, 0x0003, 0x0000, 0x0000, 0x0005, 0x0000, 0x0000, 
 | 
			
		||||
0x0000, 0x0000, 0x0008, 0x0002, 0x0000, 0x0000, 0x0003, 0x0001, 0x0000, 
 | 
			
		||||
0x000b, 0xffff, 0x0003, 0x0000, 0x0000, 0x000b, 0xffff, 0x0008, 0x0002, 
 | 
			
		||||
0x0000, 0x0000, 0x0003, 0x0032, 0x0000, 0x000b, 0x0000, 0x0008, 0x000a, 
 | 
			
		||||
0x0000, 0x0066, 0x0075, 0x006c, 0x006c, 0x0000, 0x000b, 0x0000, 0x000b, 
 | 
			
		||||
0x0000, 0x000b, 0xffff, 0x000b, 0xffff, 0x000b, 0x0000, 0x0008, 0x0002, 
 | 
			
		||||
0x0000, 0x0000, 0x0008, 0x0002, 0x0000, 0x0000, 0x0008, 0x0002, 0x0000, 
 | 
			
		||||
0x0000, 0x0008, 0x0002, 0x0000, 0x0000, 0x000b, 0x0000, 0x1815, 0x0000, 
 | 
			
		||||
0x1a0c, 0x0000, 
 | 
			
		||||
    0
 | 
			
		||||
END
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
/////////////////////////////////////////////////////////////////////////////
 | 
			
		||||
//
 | 
			
		||||
// Icon
 | 
			
		||||
//
 | 
			
		||||
 | 
			
		||||
// Icon with lowest ID value placed first to ensure application icon
 | 
			
		||||
// remains consistent on all systems.
 | 
			
		||||
IDI_XCHAT               ICON    DISCARDABLE     "xchat.ico"
 | 
			
		||||
#endif    // English (U.S.) resources
 | 
			
		||||
/////////////////////////////////////////////////////////////////////////////
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
#ifndef APSTUDIO_INVOKED
 | 
			
		||||
/////////////////////////////////////////////////////////////////////////////
 | 
			
		||||
//
 | 
			
		||||
// Generated from the TEXTINCLUDE 3 resource.
 | 
			
		||||
//
 | 
			
		||||
#define _AFX_NO_SPLITTER_RESOURCES
 | 
			
		||||
#define _AFX_NO_OLE_RESOURCES
 | 
			
		||||
#define _AFX_NO_TRACKER_RESOURCES
 | 
			
		||||
#define _AFX_NO_PROPERTY_RESOURCES
 | 
			
		||||
 | 
			
		||||
#if !defined(AFX_RESOURCE_DLL) || defined(AFX_TARG_ENU)
 | 
			
		||||
#ifdef _WIN32
 | 
			
		||||
LANGUAGE 9, 1
 | 
			
		||||
#pragma code_page(1252)
 | 
			
		||||
#endif //_WIN32
 | 
			
		||||
#include "res\wmpa.rc2"  // non-Microsoft Visual C++ edited resources
 | 
			
		||||
#include "afxres.rc"         // Standard components
 | 
			
		||||
#endif
 | 
			
		||||
 | 
			
		||||
/////////////////////////////////////////////////////////////////////////////
 | 
			
		||||
#endif    // not APSTUDIO_INVOKED
 | 
			
		||||
 | 
			
		||||
							
								
								
									
										375
									
								
								plugins/wmpa/wmpadialog.cpp
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										375
									
								
								plugins/wmpa/wmpadialog.cpp
									
										
									
									
									
										Normal file
									
								
							| 
						 | 
				
			
			@ -0,0 +1,375 @@
 | 
			
		|||
/******************************************************************
 | 
			
		||||
* $Id$
 | 
			
		||||
*
 | 
			
		||||
* $Log$
 | 
			
		||||
*
 | 
			
		||||
* Copyright © 2005 David Cullen, All rights reserved
 | 
			
		||||
*
 | 
			
		||||
******************************************************************/
 | 
			
		||||
#include "stdafx.h"
 | 
			
		||||
#include "wmpa.h"
 | 
			
		||||
#include "WMPADialog.h"
 | 
			
		||||
#include "shellapi.h"
 | 
			
		||||
#include "xchat-plugin.h"
 | 
			
		||||
 | 
			
		||||
#ifdef _DEBUG
 | 
			
		||||
#define new DEBUG_NEW
 | 
			
		||||
#undef THIS_FILE
 | 
			
		||||
static char THIS_FILE[] = __FILE__;
 | 
			
		||||
#endif
 | 
			
		||||
 | 
			
		||||
#define ID_TRAY_ICON    1000
 | 
			
		||||
#define WM_TRAY_ICON    (WM_APP + 1)
 | 
			
		||||
 | 
			
		||||
/////////////////////////////////////////////////////////////////////////////
 | 
			
		||||
// CWMPADialog dialog
 | 
			
		||||
 | 
			
		||||
CWMPADialog::CWMPADialog(CWnd* pParent /*=NULL*/)
 | 
			
		||||
	: CDialog(CWMPADialog::IDD, pParent)
 | 
			
		||||
{
 | 
			
		||||
	EnableAutomation();
 | 
			
		||||
 | 
			
		||||
	//{{AFX_DATA_INIT(CWMPADialog)
 | 
			
		||||
	//}}AFX_DATA_INIT
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
void CWMPADialog::OnFinalRelease()
 | 
			
		||||
{
 | 
			
		||||
	// When the last reference for an automation object is released
 | 
			
		||||
	// OnFinalRelease is called.  The base class will automatically
 | 
			
		||||
	// deletes the object.  Add additional cleanup required for your
 | 
			
		||||
	// object before calling the base class.
 | 
			
		||||
 | 
			
		||||
	CDialog::OnFinalRelease();
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
void CWMPADialog::DoDataExchange(CDataExchange* pDX)
 | 
			
		||||
{
 | 
			
		||||
	CDialog::DoDataExchange(pDX);
 | 
			
		||||
	//{{AFX_DATA_MAP(CWMPADialog)
 | 
			
		||||
	DDX_Control(pDX, IDC_SONGLIST, m_SongListBox);
 | 
			
		||||
	DDX_Control(pDX, IDC_PLAYLIST, m_PlaylistBox);
 | 
			
		||||
	DDX_Control(pDX, IDC_WMP, m_WMP);
 | 
			
		||||
	//}}AFX_DATA_MAP
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
BEGIN_MESSAGE_MAP(CWMPADialog, CDialog)
 | 
			
		||||
	//{{AFX_MSG_MAP(CWMPADialog)
 | 
			
		||||
	ON_LBN_DBLCLK(IDC_PLAYLIST, OnDblclkPlaylist)
 | 
			
		||||
	ON_WM_SHOWWINDOW()
 | 
			
		||||
	ON_WM_CLOSE()
 | 
			
		||||
	ON_LBN_DBLCLK(IDC_SONGLIST, OnDblclkSonglist)
 | 
			
		||||
	ON_WM_DESTROY()
 | 
			
		||||
	ON_WM_SIZE()
 | 
			
		||||
	//}}AFX_MSG_MAP
 | 
			
		||||
END_MESSAGE_MAP()
 | 
			
		||||
 | 
			
		||||
BEGIN_DISPATCH_MAP(CWMPADialog, CDialog)
 | 
			
		||||
	//{{AFX_DISPATCH_MAP(CWMPADialog)
 | 
			
		||||
		// NOTE - the ClassWizard will add and remove mapping macros here.
 | 
			
		||||
	//}}AFX_DISPATCH_MAP
 | 
			
		||||
END_DISPATCH_MAP()
 | 
			
		||||
 | 
			
		||||
// Note: we add support for IID_IWMPADialog to support typesafe binding
 | 
			
		||||
//  from VBA.  This IID must match the GUID that is attached to the
 | 
			
		||||
//  dispinterface in the .ODL file.
 | 
			
		||||
 | 
			
		||||
// {01C1B3AA-C7FC-4023-89A5-C814E1B62B9B}
 | 
			
		||||
static const IID IID_IWMPADialog =
 | 
			
		||||
{ 0x1c1b3aa, 0xc7fc, 0x4023, { 0x89, 0xa5, 0xc8, 0x14, 0xe1, 0xb6, 0x2b, 0x9b } };
 | 
			
		||||
 | 
			
		||||
BEGIN_INTERFACE_MAP(CWMPADialog, CDialog)
 | 
			
		||||
	INTERFACE_PART(CWMPADialog, IID_IWMPADialog, Dispatch)
 | 
			
		||||
END_INTERFACE_MAP()
 | 
			
		||||
 | 
			
		||||
/////////////////////////////////////////////////////////////////////////////
 | 
			
		||||
// CWMPADialog message handlers
 | 
			
		||||
 | 
			
		||||
void CWMPADialog::OnDblclkPlaylist()
 | 
			
		||||
{
 | 
			
		||||
	// TODO: Add your control notification handler code here
 | 
			
		||||
   long index;
 | 
			
		||||
 | 
			
		||||
   // Get the playlist name
 | 
			
		||||
   index = m_PlaylistBox.GetCurSel();
 | 
			
		||||
   CString playlistName;
 | 
			
		||||
   m_PlaylistBox.GetText(index, playlistName);
 | 
			
		||||
 | 
			
		||||
   // Get the playlist
 | 
			
		||||
   CWMPPlaylistCollection pc = m_WMP.GetPlaylistCollection();
 | 
			
		||||
   CWMPPlaylistArray pa = pc.getByName((LPCTSTR) playlistName);
 | 
			
		||||
   CWMPPlaylist playlist = pa.Item(0);
 | 
			
		||||
   m_WMP.SetCurrentPlaylist(playlist);
 | 
			
		||||
 | 
			
		||||
   // Set the song list
 | 
			
		||||
   UpdateSongList();
 | 
			
		||||
 | 
			
		||||
   m_WMP.GetControls().play();
 | 
			
		||||
   if (autoAnnounce) {
 | 
			
		||||
      xchat_commandf(ph, "me is playing %s", (LPCTSTR) wmpaGetSongTitle());
 | 
			
		||||
   }
 | 
			
		||||
   else {
 | 
			
		||||
      xchat_printf(ph, "WMPA: Playing %s", (LPCTSTR) wmpaGetSongTitle());
 | 
			
		||||
   }
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
void CWMPADialog::OnShowWindow(BOOL bShow, UINT nStatus)
 | 
			
		||||
{
 | 
			
		||||
	CDialog::OnShowWindow(bShow, nStatus);
 | 
			
		||||
	
 | 
			
		||||
	// TODO: Add your message handler code here
 | 
			
		||||
   if (bShow) {
 | 
			
		||||
      if (!trayInit) {
 | 
			
		||||
         ZeroMemory(&nid, sizeof(nid));
 | 
			
		||||
         nid.cbSize = sizeof(nid);
 | 
			
		||||
         nid.hWnd = m_hWnd;
 | 
			
		||||
         nid.uID = ID_TRAY_ICON;
 | 
			
		||||
         nid.uFlags = NIF_ICON | NIF_MESSAGE | NIF_TIP;
 | 
			
		||||
         nid.uCallbackMessage = WM_TRAY_ICON;
 | 
			
		||||
         nid.hIcon = m_hIcon;
 | 
			
		||||
         strcpy(nid.szTip, "WMPA");
 | 
			
		||||
         strcat(nid.szTip,  VER_STRING);
 | 
			
		||||
         strcat(nid.szTip, "\nWindows Media\nPlayer Announcer");
 | 
			
		||||
         nid.dwState = 0;
 | 
			
		||||
         nid.dwStateMask = 0;
 | 
			
		||||
         strcpy(nid.szInfo, "WMPA ");
 | 
			
		||||
         strcat(nid.szInfo, VER_STRING);
 | 
			
		||||
         nid.uTimeout = 10000; // 10 second time out
 | 
			
		||||
         strcat(nid.szInfoTitle, "WMPA");
 | 
			
		||||
         nid.dwInfoFlags = 0;
 | 
			
		||||
         trayInit = TRUE;
 | 
			
		||||
      }
 | 
			
		||||
   }
 | 
			
		||||
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
void CWMPADialog::PostNcDestroy()
 | 
			
		||||
{
 | 
			
		||||
	// TODO: Add your specialized code here and/or call the base class
 | 
			
		||||
   delete this;
 | 
			
		||||
 | 
			
		||||
	CDialog::PostNcDestroy();
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
BOOL CWMPADialog::OnInitDialog()
 | 
			
		||||
{
 | 
			
		||||
	CDialog::OnInitDialog();
 | 
			
		||||
 | 
			
		||||
   CString title = "WMPA";
 | 
			
		||||
   title += " ";
 | 
			
		||||
   title += VER_STRING;
 | 
			
		||||
   SetWindowText((LPCTSTR) title);
 | 
			
		||||
 | 
			
		||||
   UpdatePlayLists();
 | 
			
		||||
 | 
			
		||||
   autoAnnounce = FALSE;
 | 
			
		||||
   trayInit = FALSE;
 | 
			
		||||
   trayClicked = FALSE;
 | 
			
		||||
 | 
			
		||||
	return TRUE;  // return TRUE unless you set the focus to a control
 | 
			
		||||
	              // EXCEPTION: OCX Property Pages should return FALSE
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
void CWMPADialog::OnClose()
 | 
			
		||||
{
 | 
			
		||||
	// TODO: Add your message handler code here and/or call default
 | 
			
		||||
   Shell_NotifyIcon(NIM_ADD, &nid);
 | 
			
		||||
   ShowWindow(SW_HIDE);
 | 
			
		||||
 | 
			
		||||
   // Don't let the user close the dialog
 | 
			
		||||
//   CDialog::OnClose();
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
void CWMPADialog::OnCancel()
 | 
			
		||||
{
 | 
			
		||||
//   this->DestroyWindow();
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
void CWMPADialog::OnDblclkSonglist()
 | 
			
		||||
{
 | 
			
		||||
	// TODO: Add your control notification handler code here
 | 
			
		||||
   int index = m_SongListBox.GetCurSel();
 | 
			
		||||
   m_WMP.GetControls().playItem(m_WMP.GetCurrentPlaylist().GetItem(index));
 | 
			
		||||
   if (autoAnnounce) {
 | 
			
		||||
      xchat_commandf(ph, "me is playing %s", (LPCTSTR) wmpaGetSongTitle());
 | 
			
		||||
   }
 | 
			
		||||
   else {
 | 
			
		||||
      xchat_printf(ph, "WMPA: Playing %s", (LPCTSTR) wmpaGetSongTitle());
 | 
			
		||||
   }
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
BEGIN_EVENTSINK_MAP(CWMPADialog, CDialog)
 | 
			
		||||
    //{{AFX_EVENTSINK_MAP(CWMPADialog)
 | 
			
		||||
	ON_EVENT(CWMPADialog, IDC_WMP, 5806 /* CurrentItemChange */, OnCurrentItemChangeWmp, VTS_DISPATCH)
 | 
			
		||||
	ON_EVENT(CWMPADialog, IDC_WMP, 5101 /* PlayStateChange */, OnPlayStateChangeWmp, VTS_I4)
 | 
			
		||||
	//}}AFX_EVENTSINK_MAP
 | 
			
		||||
END_EVENTSINK_MAP()
 | 
			
		||||
 | 
			
		||||
void CWMPADialog::OnCurrentItemChangeWmp(LPDISPATCH pdispMedia)
 | 
			
		||||
{
 | 
			
		||||
	// TODO: Add your control notification handler code here
 | 
			
		||||
 | 
			
		||||
   int state = m_WMP.GetPlayState();
 | 
			
		||||
   if (state == 3) { // Playing
 | 
			
		||||
      if (autoAnnounce) {
 | 
			
		||||
         xchat_commandf(ph, "me is playing %s", (LPCTSTR) wmpaGetSongTitle());
 | 
			
		||||
      }
 | 
			
		||||
      else {
 | 
			
		||||
         xchat_printf(ph, "WMPA: Playing %s", (LPCTSTR) wmpaGetSongTitle());
 | 
			
		||||
      }
 | 
			
		||||
   }
 | 
			
		||||
 | 
			
		||||
   SelectCurrentSong();
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
void CWMPADialog::OnDestroy()
 | 
			
		||||
{
 | 
			
		||||
	CDialog::OnDestroy();
 | 
			
		||||
	
 | 
			
		||||
   // TODO: Add your message handler code here
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
void CWMPADialog::UpdateSongList()
 | 
			
		||||
{
 | 
			
		||||
   char buffer[32];
 | 
			
		||||
   CString name;
 | 
			
		||||
   CString artist;
 | 
			
		||||
   CString title;
 | 
			
		||||
   CString album;
 | 
			
		||||
   CString bitrate;
 | 
			
		||||
   CString duration;
 | 
			
		||||
   CString song;
 | 
			
		||||
   long index;
 | 
			
		||||
   long count;
 | 
			
		||||
 | 
			
		||||
   m_SongListBox.ResetContent();
 | 
			
		||||
   CWMPPlaylist playlist = m_WMP.GetCurrentPlaylist();
 | 
			
		||||
   count = playlist.GetCount();
 | 
			
		||||
   m_SongListBox.ResetContent();
 | 
			
		||||
   for (index = 0; index < count; index++) {
 | 
			
		||||
      name         = playlist.GetItem(index).GetName();
 | 
			
		||||
      artist       = playlist.GetItem(index).getItemInfo("Artist");
 | 
			
		||||
      title        = playlist.GetItem(index).getItemInfo("Title");
 | 
			
		||||
      album        = playlist.GetItem(index).getItemInfo("Album");
 | 
			
		||||
      bitrate      = playlist.GetItem(index).getItemInfo("Bitrate");
 | 
			
		||||
      duration     = playlist.GetItem(index).GetDurationString();
 | 
			
		||||
 | 
			
		||||
      long krate = strtoul((LPCTSTR) bitrate, NULL, 10) / 1000;
 | 
			
		||||
      _ultoa(krate, buffer, 10);
 | 
			
		||||
      bitrate = CString(buffer);
 | 
			
		||||
 | 
			
		||||
      if (album.IsEmpty()) {
 | 
			
		||||
         playlist.removeItem(playlist.GetItem(index));
 | 
			
		||||
         count = playlist.GetCount();
 | 
			
		||||
      }
 | 
			
		||||
      else {
 | 
			
		||||
         song = "";
 | 
			
		||||
         song += artist;
 | 
			
		||||
         if (song.IsEmpty()) song = "Various";
 | 
			
		||||
         song += " - ";
 | 
			
		||||
         song += title;
 | 
			
		||||
         song += " (";
 | 
			
		||||
         song += album;
 | 
			
		||||
         song += ") [";
 | 
			
		||||
         song += duration;
 | 
			
		||||
         song += "/";
 | 
			
		||||
         song += bitrate;
 | 
			
		||||
         song += "Kbps]";
 | 
			
		||||
         m_SongListBox.AddString((LPCTSTR) song);
 | 
			
		||||
      }
 | 
			
		||||
 | 
			
		||||
   }
 | 
			
		||||
   m_SongListBox.SetCurSel(0);
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
void CWMPADialog::SelectCurrentSong()
 | 
			
		||||
{
 | 
			
		||||
   CWMPMedia media;
 | 
			
		||||
   long index;
 | 
			
		||||
   long count;
 | 
			
		||||
 | 
			
		||||
   count = m_WMP.GetCurrentPlaylist().GetCount();
 | 
			
		||||
   for (index = 0; index < count; index++) {
 | 
			
		||||
      media = m_WMP.GetCurrentPlaylist().GetItem(index);
 | 
			
		||||
      if (m_WMP.GetCurrentMedia().GetIsIdentical(media)) {
 | 
			
		||||
         m_SongListBox.SetCurSel(index);
 | 
			
		||||
      }
 | 
			
		||||
   }
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
void CWMPADialog::UpdatePlayLists()
 | 
			
		||||
{
 | 
			
		||||
	// TODO: Add extra initialization here
 | 
			
		||||
   CWMPPlaylistCollection pc = m_WMP.GetPlaylistCollection();
 | 
			
		||||
   CWMPPlaylistArray pa = pc.getAll();
 | 
			
		||||
   CWMPPlaylist playlist;
 | 
			
		||||
 | 
			
		||||
   int index;
 | 
			
		||||
   int count = pa.GetCount();
 | 
			
		||||
   m_PlaylistBox.ResetContent();
 | 
			
		||||
   for (index = 0; index < count; index++) {
 | 
			
		||||
      playlist = pa.Item(index);
 | 
			
		||||
      m_PlaylistBox.AddString((LPCTSTR) playlist.GetName());
 | 
			
		||||
   }
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
void CWMPADialog::OnPlayStateChangeWmp(long NewState)
 | 
			
		||||
{
 | 
			
		||||
	// TODO: Add your control notification handler code here
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
void CWMPADialog::OnSize(UINT nType, int cx, int cy)
 | 
			
		||||
{
 | 
			
		||||
	CDialog::OnSize(nType, cx, cy);
 | 
			
		||||
	// TODO: Add your message handler code here
 | 
			
		||||
   switch (nType) {
 | 
			
		||||
      case SIZE_MINIMIZED:
 | 
			
		||||
         break;
 | 
			
		||||
 | 
			
		||||
      case SIZE_RESTORED:
 | 
			
		||||
         Shell_NotifyIcon(NIM_DELETE, &nid);
 | 
			
		||||
         break;
 | 
			
		||||
 | 
			
		||||
      default:
 | 
			
		||||
         break;
 | 
			
		||||
   }
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
LRESULT CWMPADialog::WindowProc(UINT message, WPARAM wParam, LPARAM lParam)
 | 
			
		||||
{
 | 
			
		||||
   // TODO: Add your specialized code here and/or call the base class
 | 
			
		||||
   switch (message) {
 | 
			
		||||
      case WM_TRAY_ICON:
 | 
			
		||||
         switch (lParam) {
 | 
			
		||||
            case WM_LBUTTONDBLCLK:
 | 
			
		||||
               trayClicked = TRUE;
 | 
			
		||||
               break;
 | 
			
		||||
 | 
			
		||||
            case WM_LBUTTONUP:
 | 
			
		||||
               if (trayClicked == TRUE) {
 | 
			
		||||
                  ShowWindow(SW_RESTORE);
 | 
			
		||||
               }
 | 
			
		||||
               break;
 | 
			
		||||
 | 
			
		||||
            default:
 | 
			
		||||
               trayClicked = FALSE;
 | 
			
		||||
               break;
 | 
			
		||||
         }
 | 
			
		||||
         return(TRUE);
 | 
			
		||||
         break;
 | 
			
		||||
 | 
			
		||||
      default:
 | 
			
		||||
         return CDialog::WindowProc(message, wParam, lParam);
 | 
			
		||||
         break;
 | 
			
		||||
   }
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
void CWMPADialog::DeleteTrayIcon()
 | 
			
		||||
{
 | 
			
		||||
   Shell_NotifyIcon(NIM_DELETE, &nid);
 | 
			
		||||
}
 | 
			
		||||
							
								
								
									
										91
									
								
								plugins/wmpa/wmpadialog.h
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										91
									
								
								plugins/wmpa/wmpadialog.h
									
										
									
									
									
										Normal file
									
								
							| 
						 | 
				
			
			@ -0,0 +1,91 @@
 | 
			
		|||
/******************************************************************
 | 
			
		||||
* $Id$
 | 
			
		||||
*
 | 
			
		||||
* $Log$
 | 
			
		||||
*
 | 
			
		||||
* Copyright © 2005 David Cullen, All rights reserved
 | 
			
		||||
*
 | 
			
		||||
******************************************************************/
 | 
			
		||||
//{{AFX_INCLUDES()
 | 
			
		||||
#include "wmpplayer4.h"
 | 
			
		||||
//}}AFX_INCLUDES
 | 
			
		||||
#if !defined(AFX_WMPADIALOG_H__D3838BCC_9E26_4FC0_BD42_C8D8EDF057E3__INCLUDED_)
 | 
			
		||||
#define AFX_WMPADIALOG_H__D3838BCC_9E26_4FC0_BD42_C8D8EDF057E3__INCLUDED_
 | 
			
		||||
 | 
			
		||||
#if _MSC_VER > 1000
 | 
			
		||||
#pragma once
 | 
			
		||||
#endif // _MSC_VER > 1000
 | 
			
		||||
// WMPADialog.h : header file
 | 
			
		||||
//
 | 
			
		||||
 | 
			
		||||
/////////////////////////////////////////////////////////////////////////////
 | 
			
		||||
// CWMPADialog dialog
 | 
			
		||||
 | 
			
		||||
class CWMPADialog : public CDialog
 | 
			
		||||
{
 | 
			
		||||
// Construction
 | 
			
		||||
public:
 | 
			
		||||
	CWMPADialog(CWnd* pParent = NULL);   // standard constructor
 | 
			
		||||
   virtual void OnCancel();
 | 
			
		||||
   void UpdatePlayLists();
 | 
			
		||||
   void UpdateSongList();
 | 
			
		||||
   void SelectCurrentSong();
 | 
			
		||||
   void DeleteTrayIcon();
 | 
			
		||||
   BOOL autoAnnounce;
 | 
			
		||||
   HICON m_hIcon;
 | 
			
		||||
 | 
			
		||||
private:
 | 
			
		||||
   BOOL trayInit;
 | 
			
		||||
   BOOL trayClicked;
 | 
			
		||||
   NOTIFYICONDATA nid;
 | 
			
		||||
 | 
			
		||||
public:
 | 
			
		||||
// Dialog Data
 | 
			
		||||
	//{{AFX_DATA(CWMPADialog)
 | 
			
		||||
	enum { IDD = IDD_WMPADIALOG };
 | 
			
		||||
	CListBox	m_SongListBox;
 | 
			
		||||
	CListBox	m_PlaylistBox;
 | 
			
		||||
	CWMPPlayer4	m_WMP;
 | 
			
		||||
	//}}AFX_DATA
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
// Overrides
 | 
			
		||||
	// ClassWizard generated virtual function overrides
 | 
			
		||||
	//{{AFX_VIRTUAL(CWMPADialog)
 | 
			
		||||
	public:
 | 
			
		||||
	virtual void OnFinalRelease();
 | 
			
		||||
	protected:
 | 
			
		||||
	virtual void DoDataExchange(CDataExchange* pDX);    // DDX/DDV support
 | 
			
		||||
	virtual void PostNcDestroy();
 | 
			
		||||
	virtual LRESULT WindowProc(UINT message, WPARAM wParam, LPARAM lParam);
 | 
			
		||||
	//}}AFX_VIRTUAL
 | 
			
		||||
 | 
			
		||||
// Implementation
 | 
			
		||||
protected:
 | 
			
		||||
 | 
			
		||||
	// Generated message map functions
 | 
			
		||||
	//{{AFX_MSG(CWMPADialog)
 | 
			
		||||
	afx_msg void OnDblclkPlaylist();
 | 
			
		||||
	afx_msg void OnShowWindow(BOOL bShow, UINT nStatus);
 | 
			
		||||
	virtual BOOL OnInitDialog();
 | 
			
		||||
	afx_msg void OnClose();
 | 
			
		||||
	afx_msg void OnDblclkSonglist();
 | 
			
		||||
	afx_msg void OnCurrentItemChangeWmp(LPDISPATCH pdispMedia);
 | 
			
		||||
	afx_msg void OnDestroy();
 | 
			
		||||
	afx_msg void OnPlayStateChangeWmp(long NewState);
 | 
			
		||||
	afx_msg void OnSize(UINT nType, int cx, int cy);
 | 
			
		||||
	DECLARE_EVENTSINK_MAP()
 | 
			
		||||
	//}}AFX_MSG
 | 
			
		||||
	DECLARE_MESSAGE_MAP()
 | 
			
		||||
	// Generated OLE dispatch map functions
 | 
			
		||||
	//{{AFX_DISPATCH(CWMPADialog)
 | 
			
		||||
		// NOTE - the ClassWizard will add and remove member functions here.
 | 
			
		||||
	//}}AFX_DISPATCH
 | 
			
		||||
	DECLARE_DISPATCH_MAP()
 | 
			
		||||
	DECLARE_INTERFACE_MAP()
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
//{{AFX_INSERT_LOCATION}}
 | 
			
		||||
// Microsoft Visual C++ will insert additional declarations immediately before the previous line.
 | 
			
		||||
 | 
			
		||||
#endif // !defined(AFX_WMPADIALOG_H__D3838BCC_9E26_4FC0_BD42_C8D8EDF057E3__INCLUDED_)
 | 
			
		||||
							
								
								
									
										37
									
								
								plugins/wmpa/wmpcdrom.cpp
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										37
									
								
								plugins/wmpa/wmpcdrom.cpp
									
										
									
									
									
										Normal file
									
								
							| 
						 | 
				
			
			@ -0,0 +1,37 @@
 | 
			
		|||
// Machine generated IDispatch wrapper class(es) created by Microsoft Visual C++
 | 
			
		||||
 | 
			
		||||
// NOTE: Do not modify the contents of this file.  If this class is regenerated by
 | 
			
		||||
//  Microsoft Visual C++, your modifications will be overwritten.
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
#include "stdafx.h"
 | 
			
		||||
#include "wmpcdrom.h"
 | 
			
		||||
 | 
			
		||||
// Dispatch interfaces referenced by this interface
 | 
			
		||||
#include "wmpplaylist.h"
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
/////////////////////////////////////////////////////////////////////////////
 | 
			
		||||
// CWMPCdrom properties
 | 
			
		||||
 | 
			
		||||
/////////////////////////////////////////////////////////////////////////////
 | 
			
		||||
// CWMPCdrom operations
 | 
			
		||||
 | 
			
		||||
CString CWMPCdrom::GetDriveSpecifier()
 | 
			
		||||
{
 | 
			
		||||
	CString result;
 | 
			
		||||
	InvokeHelper(0xfb, DISPATCH_PROPERTYGET, VT_BSTR, (void*)&result, NULL);
 | 
			
		||||
	return result;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
CWMPPlaylist CWMPCdrom::GetPlaylist()
 | 
			
		||||
{
 | 
			
		||||
	LPDISPATCH pDispatch;
 | 
			
		||||
	InvokeHelper(0xfc, DISPATCH_PROPERTYGET, VT_DISPATCH, (void*)&pDispatch, NULL);
 | 
			
		||||
	return CWMPPlaylist(pDispatch);
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
void CWMPCdrom::eject()
 | 
			
		||||
{
 | 
			
		||||
	InvokeHelper(0xfd, DISPATCH_METHOD, VT_EMPTY, NULL, NULL);
 | 
			
		||||
}
 | 
			
		||||
							
								
								
									
										39
									
								
								plugins/wmpa/wmpcdrom.h
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										39
									
								
								plugins/wmpa/wmpcdrom.h
									
										
									
									
									
										Normal file
									
								
							| 
						 | 
				
			
			@ -0,0 +1,39 @@
 | 
			
		|||
#if !defined(AFX_WMPCDROM_H__B7B13CE9_E69E_4D54_9370_CCA2D4A42532__INCLUDED_)
 | 
			
		||||
#define AFX_WMPCDROM_H__B7B13CE9_E69E_4D54_9370_CCA2D4A42532__INCLUDED_
 | 
			
		||||
 | 
			
		||||
#if _MSC_VER > 1000
 | 
			
		||||
#pragma once
 | 
			
		||||
#endif // _MSC_VER > 1000
 | 
			
		||||
// Machine generated IDispatch wrapper class(es) created by Microsoft Visual C++
 | 
			
		||||
 | 
			
		||||
// NOTE: Do not modify the contents of this file.  If this class is regenerated by
 | 
			
		||||
//  Microsoft Visual C++, your modifications will be overwritten.
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
// Dispatch interfaces referenced by this interface
 | 
			
		||||
class CWMPPlaylist;
 | 
			
		||||
 | 
			
		||||
/////////////////////////////////////////////////////////////////////////////
 | 
			
		||||
// CWMPCdrom wrapper class
 | 
			
		||||
 | 
			
		||||
class CWMPCdrom : public COleDispatchDriver
 | 
			
		||||
{
 | 
			
		||||
public:
 | 
			
		||||
	CWMPCdrom() {}		// Calls COleDispatchDriver default constructor
 | 
			
		||||
	CWMPCdrom(LPDISPATCH pDispatch) : COleDispatchDriver(pDispatch) {}
 | 
			
		||||
	CWMPCdrom(const CWMPCdrom& dispatchSrc) : COleDispatchDriver(dispatchSrc) {}
 | 
			
		||||
 | 
			
		||||
// Attributes
 | 
			
		||||
public:
 | 
			
		||||
 | 
			
		||||
// Operations
 | 
			
		||||
public:
 | 
			
		||||
	CString GetDriveSpecifier();
 | 
			
		||||
	CWMPPlaylist GetPlaylist();
 | 
			
		||||
	void eject();
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
//{{AFX_INSERT_LOCATION}}
 | 
			
		||||
// Microsoft Visual C++ will insert additional declarations immediately before the previous line.
 | 
			
		||||
 | 
			
		||||
#endif // !defined(AFX_WMPCDROM_H__B7B13CE9_E69E_4D54_9370_CCA2D4A42532__INCLUDED_)
 | 
			
		||||
							
								
								
									
										45
									
								
								plugins/wmpa/wmpcdromcollection.cpp
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										45
									
								
								plugins/wmpa/wmpcdromcollection.cpp
									
										
									
									
									
										Normal file
									
								
							| 
						 | 
				
			
			@ -0,0 +1,45 @@
 | 
			
		|||
// Machine generated IDispatch wrapper class(es) created by Microsoft Visual C++
 | 
			
		||||
 | 
			
		||||
// NOTE: Do not modify the contents of this file.  If this class is regenerated by
 | 
			
		||||
//  Microsoft Visual C++, your modifications will be overwritten.
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
#include "stdafx.h"
 | 
			
		||||
#include "wmpcdromcollection.h"
 | 
			
		||||
 | 
			
		||||
// Dispatch interfaces referenced by this interface
 | 
			
		||||
#include "WMPCdrom.h"
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
/////////////////////////////////////////////////////////////////////////////
 | 
			
		||||
// CWMPCdromCollection properties
 | 
			
		||||
 | 
			
		||||
/////////////////////////////////////////////////////////////////////////////
 | 
			
		||||
// CWMPCdromCollection operations
 | 
			
		||||
 | 
			
		||||
long CWMPCdromCollection::GetCount()
 | 
			
		||||
{
 | 
			
		||||
	long result;
 | 
			
		||||
	InvokeHelper(0x12d, DISPATCH_PROPERTYGET, VT_I4, (void*)&result, NULL);
 | 
			
		||||
	return result;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
CWMPCdrom CWMPCdromCollection::Item(long lIndex)
 | 
			
		||||
{
 | 
			
		||||
	LPDISPATCH pDispatch;
 | 
			
		||||
	static BYTE parms[] =
 | 
			
		||||
		VTS_I4;
 | 
			
		||||
	InvokeHelper(0x12e, DISPATCH_METHOD, VT_DISPATCH, (void*)&pDispatch, parms,
 | 
			
		||||
		lIndex);
 | 
			
		||||
	return CWMPCdrom(pDispatch);
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
CWMPCdrom CWMPCdromCollection::getByDriveSpecifier(LPCTSTR bstrDriveSpecifier)
 | 
			
		||||
{
 | 
			
		||||
	LPDISPATCH pDispatch;
 | 
			
		||||
	static BYTE parms[] =
 | 
			
		||||
		VTS_BSTR;
 | 
			
		||||
	InvokeHelper(0x12f, DISPATCH_METHOD, VT_DISPATCH, (void*)&pDispatch, parms,
 | 
			
		||||
		bstrDriveSpecifier);
 | 
			
		||||
	return CWMPCdrom(pDispatch);
 | 
			
		||||
}
 | 
			
		||||
							
								
								
									
										39
									
								
								plugins/wmpa/wmpcdromcollection.h
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										39
									
								
								plugins/wmpa/wmpcdromcollection.h
									
										
									
									
									
										Normal file
									
								
							| 
						 | 
				
			
			@ -0,0 +1,39 @@
 | 
			
		|||
#if !defined(AFX_WMPCDROMCOLLECTION_H__35F03E65_DBA5_47A8_84C1_DAA3D624A4D3__INCLUDED_)
 | 
			
		||||
#define AFX_WMPCDROMCOLLECTION_H__35F03E65_DBA5_47A8_84C1_DAA3D624A4D3__INCLUDED_
 | 
			
		||||
 | 
			
		||||
#if _MSC_VER > 1000
 | 
			
		||||
#pragma once
 | 
			
		||||
#endif // _MSC_VER > 1000
 | 
			
		||||
// Machine generated IDispatch wrapper class(es) created by Microsoft Visual C++
 | 
			
		||||
 | 
			
		||||
// NOTE: Do not modify the contents of this file.  If this class is regenerated by
 | 
			
		||||
//  Microsoft Visual C++, your modifications will be overwritten.
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
// Dispatch interfaces referenced by this interface
 | 
			
		||||
class CWMPCdrom;
 | 
			
		||||
 | 
			
		||||
/////////////////////////////////////////////////////////////////////////////
 | 
			
		||||
// CWMPCdromCollection wrapper class
 | 
			
		||||
 | 
			
		||||
class CWMPCdromCollection : public COleDispatchDriver
 | 
			
		||||
{
 | 
			
		||||
public:
 | 
			
		||||
	CWMPCdromCollection() {}		// Calls COleDispatchDriver default constructor
 | 
			
		||||
	CWMPCdromCollection(LPDISPATCH pDispatch) : COleDispatchDriver(pDispatch) {}
 | 
			
		||||
	CWMPCdromCollection(const CWMPCdromCollection& dispatchSrc) : COleDispatchDriver(dispatchSrc) {}
 | 
			
		||||
 | 
			
		||||
// Attributes
 | 
			
		||||
public:
 | 
			
		||||
 | 
			
		||||
// Operations
 | 
			
		||||
public:
 | 
			
		||||
	long GetCount();
 | 
			
		||||
	CWMPCdrom Item(long lIndex);
 | 
			
		||||
	CWMPCdrom getByDriveSpecifier(LPCTSTR bstrDriveSpecifier);
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
//{{AFX_INSERT_LOCATION}}
 | 
			
		||||
// Microsoft Visual C++ will insert additional declarations immediately before the previous line.
 | 
			
		||||
 | 
			
		||||
#endif // !defined(AFX_WMPCDROMCOLLECTION_H__35F03E65_DBA5_47A8_84C1_DAA3D624A4D3__INCLUDED_)
 | 
			
		||||
							
								
								
									
										75
									
								
								plugins/wmpa/wmpclosedcaption.cpp
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										75
									
								
								plugins/wmpa/wmpclosedcaption.cpp
									
										
									
									
									
										Normal file
									
								
							| 
						 | 
				
			
			@ -0,0 +1,75 @@
 | 
			
		|||
// Machine generated IDispatch wrapper class(es) created by Microsoft Visual C++
 | 
			
		||||
 | 
			
		||||
// NOTE: Do not modify the contents of this file.  If this class is regenerated by
 | 
			
		||||
//  Microsoft Visual C++, your modifications will be overwritten.
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
#include "stdafx.h"
 | 
			
		||||
#include "wmpclosedcaption.h"
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
/////////////////////////////////////////////////////////////////////////////
 | 
			
		||||
// CWMPClosedCaption properties
 | 
			
		||||
 | 
			
		||||
/////////////////////////////////////////////////////////////////////////////
 | 
			
		||||
// CWMPClosedCaption operations
 | 
			
		||||
 | 
			
		||||
CString CWMPClosedCaption::GetSAMIStyle()
 | 
			
		||||
{
 | 
			
		||||
	CString result;
 | 
			
		||||
	InvokeHelper(0x3b7, DISPATCH_PROPERTYGET, VT_BSTR, (void*)&result, NULL);
 | 
			
		||||
	return result;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
void CWMPClosedCaption::SetSAMIStyle(LPCTSTR lpszNewValue)
 | 
			
		||||
{
 | 
			
		||||
	static BYTE parms[] =
 | 
			
		||||
		VTS_BSTR;
 | 
			
		||||
	InvokeHelper(0x3b7, DISPATCH_PROPERTYPUT, VT_EMPTY, NULL, parms,
 | 
			
		||||
		 lpszNewValue);
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
CString CWMPClosedCaption::GetSAMILang()
 | 
			
		||||
{
 | 
			
		||||
	CString result;
 | 
			
		||||
	InvokeHelper(0x3b8, DISPATCH_PROPERTYGET, VT_BSTR, (void*)&result, NULL);
 | 
			
		||||
	return result;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
void CWMPClosedCaption::SetSAMILang(LPCTSTR lpszNewValue)
 | 
			
		||||
{
 | 
			
		||||
	static BYTE parms[] =
 | 
			
		||||
		VTS_BSTR;
 | 
			
		||||
	InvokeHelper(0x3b8, DISPATCH_PROPERTYPUT, VT_EMPTY, NULL, parms,
 | 
			
		||||
		 lpszNewValue);
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
CString CWMPClosedCaption::GetSAMIFileName()
 | 
			
		||||
{
 | 
			
		||||
	CString result;
 | 
			
		||||
	InvokeHelper(0x3b9, DISPATCH_PROPERTYGET, VT_BSTR, (void*)&result, NULL);
 | 
			
		||||
	return result;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
void CWMPClosedCaption::SetSAMIFileName(LPCTSTR lpszNewValue)
 | 
			
		||||
{
 | 
			
		||||
	static BYTE parms[] =
 | 
			
		||||
		VTS_BSTR;
 | 
			
		||||
	InvokeHelper(0x3b9, DISPATCH_PROPERTYPUT, VT_EMPTY, NULL, parms,
 | 
			
		||||
		 lpszNewValue);
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
CString CWMPClosedCaption::GetCaptioningId()
 | 
			
		||||
{
 | 
			
		||||
	CString result;
 | 
			
		||||
	InvokeHelper(0x3ba, DISPATCH_PROPERTYGET, VT_BSTR, (void*)&result, NULL);
 | 
			
		||||
	return result;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
void CWMPClosedCaption::SetCaptioningId(LPCTSTR lpszNewValue)
 | 
			
		||||
{
 | 
			
		||||
	static BYTE parms[] =
 | 
			
		||||
		VTS_BSTR;
 | 
			
		||||
	InvokeHelper(0x3ba, DISPATCH_PROPERTYPUT, VT_EMPTY, NULL, parms,
 | 
			
		||||
		 lpszNewValue);
 | 
			
		||||
}
 | 
			
		||||
							
								
								
									
										40
									
								
								plugins/wmpa/wmpclosedcaption.h
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										40
									
								
								plugins/wmpa/wmpclosedcaption.h
									
										
									
									
									
										Normal file
									
								
							| 
						 | 
				
			
			@ -0,0 +1,40 @@
 | 
			
		|||
#if !defined(AFX_WMPCLOSEDCAPTION_H__FC0A9836_7517_4898_B25C_74C76E80CE3D__INCLUDED_)
 | 
			
		||||
#define AFX_WMPCLOSEDCAPTION_H__FC0A9836_7517_4898_B25C_74C76E80CE3D__INCLUDED_
 | 
			
		||||
 | 
			
		||||
#if _MSC_VER > 1000
 | 
			
		||||
#pragma once
 | 
			
		||||
#endif // _MSC_VER > 1000
 | 
			
		||||
// Machine generated IDispatch wrapper class(es) created by Microsoft Visual C++
 | 
			
		||||
 | 
			
		||||
// NOTE: Do not modify the contents of this file.  If this class is regenerated by
 | 
			
		||||
//  Microsoft Visual C++, your modifications will be overwritten.
 | 
			
		||||
 | 
			
		||||
/////////////////////////////////////////////////////////////////////////////
 | 
			
		||||
// CWMPClosedCaption wrapper class
 | 
			
		||||
 | 
			
		||||
class CWMPClosedCaption : public COleDispatchDriver
 | 
			
		||||
{
 | 
			
		||||
public:
 | 
			
		||||
	CWMPClosedCaption() {}		// Calls COleDispatchDriver default constructor
 | 
			
		||||
	CWMPClosedCaption(LPDISPATCH pDispatch) : COleDispatchDriver(pDispatch) {}
 | 
			
		||||
	CWMPClosedCaption(const CWMPClosedCaption& dispatchSrc) : COleDispatchDriver(dispatchSrc) {}
 | 
			
		||||
 | 
			
		||||
// Attributes
 | 
			
		||||
public:
 | 
			
		||||
 | 
			
		||||
// Operations
 | 
			
		||||
public:
 | 
			
		||||
	CString GetSAMIStyle();
 | 
			
		||||
	void SetSAMIStyle(LPCTSTR lpszNewValue);
 | 
			
		||||
	CString GetSAMILang();
 | 
			
		||||
	void SetSAMILang(LPCTSTR lpszNewValue);
 | 
			
		||||
	CString GetSAMIFileName();
 | 
			
		||||
	void SetSAMIFileName(LPCTSTR lpszNewValue);
 | 
			
		||||
	CString GetCaptioningId();
 | 
			
		||||
	void SetCaptioningId(LPCTSTR lpszNewValue);
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
//{{AFX_INSERT_LOCATION}}
 | 
			
		||||
// Microsoft Visual C++ will insert additional declarations immediately before the previous line.
 | 
			
		||||
 | 
			
		||||
#endif // !defined(AFX_WMPCLOSEDCAPTION_H__FC0A9836_7517_4898_B25C_74C76E80CE3D__INCLUDED_)
 | 
			
		||||
							
								
								
									
										123
									
								
								plugins/wmpa/wmpcontrols.cpp
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										123
									
								
								plugins/wmpa/wmpcontrols.cpp
									
										
									
									
									
										Normal file
									
								
							| 
						 | 
				
			
			@ -0,0 +1,123 @@
 | 
			
		|||
// Machine generated IDispatch wrapper class(es) created by Microsoft Visual C++
 | 
			
		||||
 | 
			
		||||
// NOTE: Do not modify the contents of this file.  If this class is regenerated by
 | 
			
		||||
//  Microsoft Visual C++, your modifications will be overwritten.
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
#include "stdafx.h"
 | 
			
		||||
#include "wmpcontrols.h"
 | 
			
		||||
 | 
			
		||||
// Dispatch interfaces referenced by this interface
 | 
			
		||||
#include "wmpmedia.h"
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
/////////////////////////////////////////////////////////////////////////////
 | 
			
		||||
// CWMPControls properties
 | 
			
		||||
 | 
			
		||||
/////////////////////////////////////////////////////////////////////////////
 | 
			
		||||
// CWMPControls operations
 | 
			
		||||
 | 
			
		||||
BOOL CWMPControls::GetIsAvailable(LPCTSTR bstrItem)
 | 
			
		||||
{
 | 
			
		||||
	BOOL result;
 | 
			
		||||
	static BYTE parms[] =
 | 
			
		||||
		VTS_BSTR;
 | 
			
		||||
	InvokeHelper(0x3e, DISPATCH_PROPERTYGET, VT_BOOL, (void*)&result, parms,
 | 
			
		||||
		bstrItem);
 | 
			
		||||
	return result;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
void CWMPControls::play()
 | 
			
		||||
{
 | 
			
		||||
	InvokeHelper(0x33, DISPATCH_METHOD, VT_EMPTY, NULL, NULL);
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
void CWMPControls::stop()
 | 
			
		||||
{
 | 
			
		||||
	InvokeHelper(0x34, DISPATCH_METHOD, VT_EMPTY, NULL, NULL);
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
void CWMPControls::pause()
 | 
			
		||||
{
 | 
			
		||||
	InvokeHelper(0x35, DISPATCH_METHOD, VT_EMPTY, NULL, NULL);
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
void CWMPControls::fastForward()
 | 
			
		||||
{
 | 
			
		||||
	InvokeHelper(0x36, DISPATCH_METHOD, VT_EMPTY, NULL, NULL);
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
void CWMPControls::fastReverse()
 | 
			
		||||
{
 | 
			
		||||
	InvokeHelper(0x37, DISPATCH_METHOD, VT_EMPTY, NULL, NULL);
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
double CWMPControls::GetCurrentPosition()
 | 
			
		||||
{
 | 
			
		||||
	double result;
 | 
			
		||||
	InvokeHelper(0x38, DISPATCH_PROPERTYGET, VT_R8, (void*)&result, NULL);
 | 
			
		||||
	return result;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
void CWMPControls::SetCurrentPosition(double newValue)
 | 
			
		||||
{
 | 
			
		||||
	static BYTE parms[] =
 | 
			
		||||
		VTS_R8;
 | 
			
		||||
	InvokeHelper(0x38, DISPATCH_PROPERTYPUT, VT_EMPTY, NULL, parms,
 | 
			
		||||
		 newValue);
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
CString CWMPControls::GetCurrentPositionString()
 | 
			
		||||
{
 | 
			
		||||
	CString result;
 | 
			
		||||
	InvokeHelper(0x39, DISPATCH_PROPERTYGET, VT_BSTR, (void*)&result, NULL);
 | 
			
		||||
	return result;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
void CWMPControls::next()
 | 
			
		||||
{
 | 
			
		||||
	InvokeHelper(0x3a, DISPATCH_METHOD, VT_EMPTY, NULL, NULL);
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
void CWMPControls::previous()
 | 
			
		||||
{
 | 
			
		||||
	InvokeHelper(0x3b, DISPATCH_METHOD, VT_EMPTY, NULL, NULL);
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
CWMPMedia CWMPControls::GetCurrentItem()
 | 
			
		||||
{
 | 
			
		||||
	LPDISPATCH pDispatch;
 | 
			
		||||
	InvokeHelper(0x3c, DISPATCH_PROPERTYGET, VT_DISPATCH, (void*)&pDispatch, NULL);
 | 
			
		||||
	return CWMPMedia(pDispatch);
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
void CWMPControls::SetCurrentItem(LPDISPATCH newValue)
 | 
			
		||||
{
 | 
			
		||||
	static BYTE parms[] =
 | 
			
		||||
		VTS_DISPATCH;
 | 
			
		||||
	InvokeHelper(0x3c, DISPATCH_PROPERTYPUT, VT_EMPTY, NULL, parms,
 | 
			
		||||
		 newValue);
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
long CWMPControls::GetCurrentMarker()
 | 
			
		||||
{
 | 
			
		||||
	long result;
 | 
			
		||||
	InvokeHelper(0x3d, DISPATCH_PROPERTYGET, VT_I4, (void*)&result, NULL);
 | 
			
		||||
	return result;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
void CWMPControls::SetCurrentMarker(long nNewValue)
 | 
			
		||||
{
 | 
			
		||||
	static BYTE parms[] =
 | 
			
		||||
		VTS_I4;
 | 
			
		||||
	InvokeHelper(0x3d, DISPATCH_PROPERTYPUT, VT_EMPTY, NULL, parms,
 | 
			
		||||
		 nNewValue);
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
void CWMPControls::playItem(LPDISPATCH pIWMPMedia)
 | 
			
		||||
{
 | 
			
		||||
	static BYTE parms[] =
 | 
			
		||||
		VTS_DISPATCH;
 | 
			
		||||
	InvokeHelper(0x3f, DISPATCH_METHOD, VT_EMPTY, NULL, parms,
 | 
			
		||||
		 pIWMPMedia);
 | 
			
		||||
}
 | 
			
		||||
							
								
								
									
										52
									
								
								plugins/wmpa/wmpcontrols.h
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										52
									
								
								plugins/wmpa/wmpcontrols.h
									
										
									
									
									
										Normal file
									
								
							| 
						 | 
				
			
			@ -0,0 +1,52 @@
 | 
			
		|||
#if !defined(AFX_WMPCONTROLS_H__234DACEF_6ED9_481D_B7E8_03653189E9B2__INCLUDED_)
 | 
			
		||||
#define AFX_WMPCONTROLS_H__234DACEF_6ED9_481D_B7E8_03653189E9B2__INCLUDED_
 | 
			
		||||
 | 
			
		||||
#if _MSC_VER > 1000
 | 
			
		||||
#pragma once
 | 
			
		||||
#endif // _MSC_VER > 1000
 | 
			
		||||
// Machine generated IDispatch wrapper class(es) created by Microsoft Visual C++
 | 
			
		||||
 | 
			
		||||
// NOTE: Do not modify the contents of this file.  If this class is regenerated by
 | 
			
		||||
//  Microsoft Visual C++, your modifications will be overwritten.
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
// Dispatch interfaces referenced by this interface
 | 
			
		||||
class CWMPMedia;
 | 
			
		||||
 | 
			
		||||
/////////////////////////////////////////////////////////////////////////////
 | 
			
		||||
// CWMPControls wrapper class
 | 
			
		||||
 | 
			
		||||
class CWMPControls : public COleDispatchDriver
 | 
			
		||||
{
 | 
			
		||||
public:
 | 
			
		||||
	CWMPControls() {}		// Calls COleDispatchDriver default constructor
 | 
			
		||||
	CWMPControls(LPDISPATCH pDispatch) : COleDispatchDriver(pDispatch) {}
 | 
			
		||||
	CWMPControls(const CWMPControls& dispatchSrc) : COleDispatchDriver(dispatchSrc) {}
 | 
			
		||||
 | 
			
		||||
// Attributes
 | 
			
		||||
public:
 | 
			
		||||
 | 
			
		||||
// Operations
 | 
			
		||||
public:
 | 
			
		||||
	BOOL GetIsAvailable(LPCTSTR bstrItem);
 | 
			
		||||
	void play();
 | 
			
		||||
	void stop();
 | 
			
		||||
	void pause();
 | 
			
		||||
	void fastForward();
 | 
			
		||||
	void fastReverse();
 | 
			
		||||
	double GetCurrentPosition();
 | 
			
		||||
	void SetCurrentPosition(double newValue);
 | 
			
		||||
	CString GetCurrentPositionString();
 | 
			
		||||
	void next();
 | 
			
		||||
	void previous();
 | 
			
		||||
	CWMPMedia GetCurrentItem();
 | 
			
		||||
	void SetCurrentItem(LPDISPATCH newValue);
 | 
			
		||||
	long GetCurrentMarker();
 | 
			
		||||
	void SetCurrentMarker(long nNewValue);
 | 
			
		||||
	void playItem(LPDISPATCH pIWMPMedia);
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
//{{AFX_INSERT_LOCATION}}
 | 
			
		||||
// Microsoft Visual C++ will insert additional declarations immediately before the previous line.
 | 
			
		||||
 | 
			
		||||
#endif // !defined(AFX_WMPCONTROLS_H__234DACEF_6ED9_481D_B7E8_03653189E9B2__INCLUDED_)
 | 
			
		||||
							
								
								
									
										52
									
								
								plugins/wmpa/wmpdvd.cpp
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										52
									
								
								plugins/wmpa/wmpdvd.cpp
									
										
									
									
									
										Normal file
									
								
							| 
						 | 
				
			
			@ -0,0 +1,52 @@
 | 
			
		|||
// Machine generated IDispatch wrapper class(es) created by Microsoft Visual C++
 | 
			
		||||
 | 
			
		||||
// NOTE: Do not modify the contents of this file.  If this class is regenerated by
 | 
			
		||||
//  Microsoft Visual C++, your modifications will be overwritten.
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
#include "stdafx.h"
 | 
			
		||||
#include "wmpdvd.h"
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
/////////////////////////////////////////////////////////////////////////////
 | 
			
		||||
// CWMPDVD properties
 | 
			
		||||
 | 
			
		||||
/////////////////////////////////////////////////////////////////////////////
 | 
			
		||||
// CWMPDVD operations
 | 
			
		||||
 | 
			
		||||
BOOL CWMPDVD::GetIsAvailable(LPCTSTR bstrItem)
 | 
			
		||||
{
 | 
			
		||||
	BOOL result;
 | 
			
		||||
	static BYTE parms[] =
 | 
			
		||||
		VTS_BSTR;
 | 
			
		||||
	InvokeHelper(0x3e9, DISPATCH_PROPERTYGET, VT_BOOL, (void*)&result, parms,
 | 
			
		||||
		bstrItem);
 | 
			
		||||
	return result;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
CString CWMPDVD::GetDomain()
 | 
			
		||||
{
 | 
			
		||||
	CString result;
 | 
			
		||||
	InvokeHelper(0x3ea, DISPATCH_PROPERTYGET, VT_BSTR, (void*)&result, NULL);
 | 
			
		||||
	return result;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
void CWMPDVD::topMenu()
 | 
			
		||||
{
 | 
			
		||||
	InvokeHelper(0x3eb, DISPATCH_METHOD, VT_EMPTY, NULL, NULL);
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
void CWMPDVD::titleMenu()
 | 
			
		||||
{
 | 
			
		||||
	InvokeHelper(0x3ec, DISPATCH_METHOD, VT_EMPTY, NULL, NULL);
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
void CWMPDVD::back()
 | 
			
		||||
{
 | 
			
		||||
	InvokeHelper(0x3ed, DISPATCH_METHOD, VT_EMPTY, NULL, NULL);
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
void CWMPDVD::resume()
 | 
			
		||||
{
 | 
			
		||||
	InvokeHelper(0x3ee, DISPATCH_METHOD, VT_EMPTY, NULL, NULL);
 | 
			
		||||
}
 | 
			
		||||
							
								
								
									
										38
									
								
								plugins/wmpa/wmpdvd.h
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										38
									
								
								plugins/wmpa/wmpdvd.h
									
										
									
									
									
										Normal file
									
								
							| 
						 | 
				
			
			@ -0,0 +1,38 @@
 | 
			
		|||
#if !defined(AFX_WMPDVD_H__E83D86CA_08B8_4ACA_A434_0837BA71E3CA__INCLUDED_)
 | 
			
		||||
#define AFX_WMPDVD_H__E83D86CA_08B8_4ACA_A434_0837BA71E3CA__INCLUDED_
 | 
			
		||||
 | 
			
		||||
#if _MSC_VER > 1000
 | 
			
		||||
#pragma once
 | 
			
		||||
#endif // _MSC_VER > 1000
 | 
			
		||||
// Machine generated IDispatch wrapper class(es) created by Microsoft Visual C++
 | 
			
		||||
 | 
			
		||||
// NOTE: Do not modify the contents of this file.  If this class is regenerated by
 | 
			
		||||
//  Microsoft Visual C++, your modifications will be overwritten.
 | 
			
		||||
 | 
			
		||||
/////////////////////////////////////////////////////////////////////////////
 | 
			
		||||
// CWMPDVD wrapper class
 | 
			
		||||
 | 
			
		||||
class CWMPDVD : public COleDispatchDriver
 | 
			
		||||
{
 | 
			
		||||
public:
 | 
			
		||||
	CWMPDVD() {}		// Calls COleDispatchDriver default constructor
 | 
			
		||||
	CWMPDVD(LPDISPATCH pDispatch) : COleDispatchDriver(pDispatch) {}
 | 
			
		||||
	CWMPDVD(const CWMPDVD& dispatchSrc) : COleDispatchDriver(dispatchSrc) {}
 | 
			
		||||
 | 
			
		||||
// Attributes
 | 
			
		||||
public:
 | 
			
		||||
 | 
			
		||||
// Operations
 | 
			
		||||
public:
 | 
			
		||||
	BOOL GetIsAvailable(LPCTSTR bstrItem);
 | 
			
		||||
	CString GetDomain();
 | 
			
		||||
	void topMenu();
 | 
			
		||||
	void titleMenu();
 | 
			
		||||
	void back();
 | 
			
		||||
	void resume();
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
//{{AFX_INSERT_LOCATION}}
 | 
			
		||||
// Microsoft Visual C++ will insert additional declarations immediately before the previous line.
 | 
			
		||||
 | 
			
		||||
#endif // !defined(AFX_WMPDVD_H__E83D86CA_08B8_4ACA_A434_0837BA71E3CA__INCLUDED_)
 | 
			
		||||
							
								
								
									
										45
									
								
								plugins/wmpa/wmperror.cpp
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										45
									
								
								plugins/wmpa/wmperror.cpp
									
										
									
									
									
										Normal file
									
								
							| 
						 | 
				
			
			@ -0,0 +1,45 @@
 | 
			
		|||
// Machine generated IDispatch wrapper class(es) created by Microsoft Visual C++
 | 
			
		||||
 | 
			
		||||
// NOTE: Do not modify the contents of this file.  If this class is regenerated by
 | 
			
		||||
//  Microsoft Visual C++, your modifications will be overwritten.
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
#include "stdafx.h"
 | 
			
		||||
#include "wmperror.h"
 | 
			
		||||
 | 
			
		||||
// Dispatch interfaces referenced by this interface
 | 
			
		||||
#include "wmperroritem.h"
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
/////////////////////////////////////////////////////////////////////////////
 | 
			
		||||
// CWMPError properties
 | 
			
		||||
 | 
			
		||||
/////////////////////////////////////////////////////////////////////////////
 | 
			
		||||
// CWMPError operations
 | 
			
		||||
 | 
			
		||||
void CWMPError::clearErrorQueue()
 | 
			
		||||
{
 | 
			
		||||
	InvokeHelper(0x353, DISPATCH_METHOD, VT_EMPTY, NULL, NULL);
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
long CWMPError::GetErrorCount()
 | 
			
		||||
{
 | 
			
		||||
	long result;
 | 
			
		||||
	InvokeHelper(0x354, DISPATCH_PROPERTYGET, VT_I4, (void*)&result, NULL);
 | 
			
		||||
	return result;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
CWMPErrorItem CWMPError::GetItem(long dwIndex)
 | 
			
		||||
{
 | 
			
		||||
	LPDISPATCH pDispatch;
 | 
			
		||||
	static BYTE parms[] =
 | 
			
		||||
		VTS_I4;
 | 
			
		||||
	InvokeHelper(0x355, DISPATCH_PROPERTYGET, VT_DISPATCH, (void*)&pDispatch, parms,
 | 
			
		||||
		dwIndex);
 | 
			
		||||
	return CWMPErrorItem(pDispatch);
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
void CWMPError::webHelp()
 | 
			
		||||
{
 | 
			
		||||
	InvokeHelper(0x356, DISPATCH_METHOD, VT_EMPTY, NULL, NULL);
 | 
			
		||||
}
 | 
			
		||||
							
								
								
									
										40
									
								
								plugins/wmpa/wmperror.h
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										40
									
								
								plugins/wmpa/wmperror.h
									
										
									
									
									
										Normal file
									
								
							| 
						 | 
				
			
			@ -0,0 +1,40 @@
 | 
			
		|||
#if !defined(AFX_WMPERROR_H__1E72AC7F_E0AC_4100_B7EF_A5B0D8FA75C3__INCLUDED_)
 | 
			
		||||
#define AFX_WMPERROR_H__1E72AC7F_E0AC_4100_B7EF_A5B0D8FA75C3__INCLUDED_
 | 
			
		||||
 | 
			
		||||
#if _MSC_VER > 1000
 | 
			
		||||
#pragma once
 | 
			
		||||
#endif // _MSC_VER > 1000
 | 
			
		||||
// Machine generated IDispatch wrapper class(es) created by Microsoft Visual C++
 | 
			
		||||
 | 
			
		||||
// NOTE: Do not modify the contents of this file.  If this class is regenerated by
 | 
			
		||||
//  Microsoft Visual C++, your modifications will be overwritten.
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
// Dispatch interfaces referenced by this interface
 | 
			
		||||
class CWMPErrorItem;
 | 
			
		||||
 | 
			
		||||
/////////////////////////////////////////////////////////////////////////////
 | 
			
		||||
// CWMPError wrapper class
 | 
			
		||||
 | 
			
		||||
class CWMPError : public COleDispatchDriver
 | 
			
		||||
{
 | 
			
		||||
public:
 | 
			
		||||
	CWMPError() {}		// Calls COleDispatchDriver default constructor
 | 
			
		||||
	CWMPError(LPDISPATCH pDispatch) : COleDispatchDriver(pDispatch) {}
 | 
			
		||||
	CWMPError(const CWMPError& dispatchSrc) : COleDispatchDriver(dispatchSrc) {}
 | 
			
		||||
 | 
			
		||||
// Attributes
 | 
			
		||||
public:
 | 
			
		||||
 | 
			
		||||
// Operations
 | 
			
		||||
public:
 | 
			
		||||
	void clearErrorQueue();
 | 
			
		||||
	long GetErrorCount();
 | 
			
		||||
	CWMPErrorItem GetItem(long dwIndex);
 | 
			
		||||
	void webHelp();
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
//{{AFX_INSERT_LOCATION}}
 | 
			
		||||
// Microsoft Visual C++ will insert additional declarations immediately before the previous line.
 | 
			
		||||
 | 
			
		||||
#endif // !defined(AFX_WMPERROR_H__1E72AC7F_E0AC_4100_B7EF_A5B0D8FA75C3__INCLUDED_)
 | 
			
		||||
							
								
								
									
										50
									
								
								plugins/wmpa/wmperroritem.cpp
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										50
									
								
								plugins/wmpa/wmperroritem.cpp
									
										
									
									
									
										Normal file
									
								
							| 
						 | 
				
			
			@ -0,0 +1,50 @@
 | 
			
		|||
// Machine generated IDispatch wrapper class(es) created by Microsoft Visual C++
 | 
			
		||||
 | 
			
		||||
// NOTE: Do not modify the contents of this file.  If this class is regenerated by
 | 
			
		||||
//  Microsoft Visual C++, your modifications will be overwritten.
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
#include "stdafx.h"
 | 
			
		||||
#include "wmperroritem.h"
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
/////////////////////////////////////////////////////////////////////////////
 | 
			
		||||
// CWMPErrorItem properties
 | 
			
		||||
 | 
			
		||||
/////////////////////////////////////////////////////////////////////////////
 | 
			
		||||
// CWMPErrorItem operations
 | 
			
		||||
 | 
			
		||||
long CWMPErrorItem::GetErrorCode()
 | 
			
		||||
{
 | 
			
		||||
	long result;
 | 
			
		||||
	InvokeHelper(0x385, DISPATCH_PROPERTYGET, VT_I4, (void*)&result, NULL);
 | 
			
		||||
	return result;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
CString CWMPErrorItem::GetErrorDescription()
 | 
			
		||||
{
 | 
			
		||||
	CString result;
 | 
			
		||||
	InvokeHelper(0x386, DISPATCH_PROPERTYGET, VT_BSTR, (void*)&result, NULL);
 | 
			
		||||
	return result;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
VARIANT CWMPErrorItem::GetErrorContext()
 | 
			
		||||
{
 | 
			
		||||
	VARIANT result;
 | 
			
		||||
	InvokeHelper(0x387, DISPATCH_PROPERTYGET, VT_VARIANT, (void*)&result, NULL);
 | 
			
		||||
	return result;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
long CWMPErrorItem::GetRemedy()
 | 
			
		||||
{
 | 
			
		||||
	long result;
 | 
			
		||||
	InvokeHelper(0x388, DISPATCH_PROPERTYGET, VT_I4, (void*)&result, NULL);
 | 
			
		||||
	return result;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
CString CWMPErrorItem::GetCustomUrl()
 | 
			
		||||
{
 | 
			
		||||
	CString result;
 | 
			
		||||
	InvokeHelper(0x389, DISPATCH_PROPERTYGET, VT_BSTR, (void*)&result, NULL);
 | 
			
		||||
	return result;
 | 
			
		||||
}
 | 
			
		||||
							
								
								
									
										37
									
								
								plugins/wmpa/wmperroritem.h
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										37
									
								
								plugins/wmpa/wmperroritem.h
									
										
									
									
									
										Normal file
									
								
							| 
						 | 
				
			
			@ -0,0 +1,37 @@
 | 
			
		|||
#if !defined(AFX_WMPERRORITEM_H__9399BDE5_C96D_43D3_BF02_E7A5850421B4__INCLUDED_)
 | 
			
		||||
#define AFX_WMPERRORITEM_H__9399BDE5_C96D_43D3_BF02_E7A5850421B4__INCLUDED_
 | 
			
		||||
 | 
			
		||||
#if _MSC_VER > 1000
 | 
			
		||||
#pragma once
 | 
			
		||||
#endif // _MSC_VER > 1000
 | 
			
		||||
// Machine generated IDispatch wrapper class(es) created by Microsoft Visual C++
 | 
			
		||||
 | 
			
		||||
// NOTE: Do not modify the contents of this file.  If this class is regenerated by
 | 
			
		||||
//  Microsoft Visual C++, your modifications will be overwritten.
 | 
			
		||||
 | 
			
		||||
/////////////////////////////////////////////////////////////////////////////
 | 
			
		||||
// CWMPErrorItem wrapper class
 | 
			
		||||
 | 
			
		||||
class CWMPErrorItem : public COleDispatchDriver
 | 
			
		||||
{
 | 
			
		||||
public:
 | 
			
		||||
	CWMPErrorItem() {}		// Calls COleDispatchDriver default constructor
 | 
			
		||||
	CWMPErrorItem(LPDISPATCH pDispatch) : COleDispatchDriver(pDispatch) {}
 | 
			
		||||
	CWMPErrorItem(const CWMPErrorItem& dispatchSrc) : COleDispatchDriver(dispatchSrc) {}
 | 
			
		||||
 | 
			
		||||
// Attributes
 | 
			
		||||
public:
 | 
			
		||||
 | 
			
		||||
// Operations
 | 
			
		||||
public:
 | 
			
		||||
	long GetErrorCode();
 | 
			
		||||
	CString GetErrorDescription();
 | 
			
		||||
	VARIANT GetErrorContext();
 | 
			
		||||
	long GetRemedy();
 | 
			
		||||
	CString GetCustomUrl();
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
//{{AFX_INSERT_LOCATION}}
 | 
			
		||||
// Microsoft Visual C++ will insert additional declarations immediately before the previous line.
 | 
			
		||||
 | 
			
		||||
#endif // !defined(AFX_WMPERRORITEM_H__9399BDE5_C96D_43D3_BF02_E7A5850421B4__INCLUDED_)
 | 
			
		||||
							
								
								
									
										167
									
								
								plugins/wmpa/wmpmedia.cpp
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										167
									
								
								plugins/wmpa/wmpmedia.cpp
									
										
									
									
									
										Normal file
									
								
							| 
						 | 
				
			
			@ -0,0 +1,167 @@
 | 
			
		|||
// Machine generated IDispatch wrapper class(es) created by Microsoft Visual C++
 | 
			
		||||
 | 
			
		||||
// NOTE: Do not modify the contents of this file.  If this class is regenerated by
 | 
			
		||||
//  Microsoft Visual C++, your modifications will be overwritten.
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
#include "stdafx.h"
 | 
			
		||||
#include "wmpmedia.h"
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
/////////////////////////////////////////////////////////////////////////////
 | 
			
		||||
// CWMPMedia properties
 | 
			
		||||
 | 
			
		||||
/////////////////////////////////////////////////////////////////////////////
 | 
			
		||||
// CWMPMedia operations
 | 
			
		||||
 | 
			
		||||
BOOL CWMPMedia::GetIsIdentical(LPDISPATCH pIWMPMedia)
 | 
			
		||||
{
 | 
			
		||||
	BOOL result;
 | 
			
		||||
	static BYTE parms[] =
 | 
			
		||||
		VTS_DISPATCH;
 | 
			
		||||
	InvokeHelper(0x2fb, DISPATCH_PROPERTYGET, VT_BOOL, (void*)&result, parms,
 | 
			
		||||
		pIWMPMedia);
 | 
			
		||||
	return result;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
CString CWMPMedia::GetSourceURL()
 | 
			
		||||
{
 | 
			
		||||
	CString result;
 | 
			
		||||
	InvokeHelper(0x2ef, DISPATCH_PROPERTYGET, VT_BSTR, (void*)&result, NULL);
 | 
			
		||||
	return result;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
CString CWMPMedia::GetName()
 | 
			
		||||
{
 | 
			
		||||
	CString result;
 | 
			
		||||
	InvokeHelper(0x2fc, DISPATCH_PROPERTYGET, VT_BSTR, (void*)&result, NULL);
 | 
			
		||||
	return result;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
void CWMPMedia::SetName(LPCTSTR lpszNewValue)
 | 
			
		||||
{
 | 
			
		||||
	static BYTE parms[] =
 | 
			
		||||
		VTS_BSTR;
 | 
			
		||||
	InvokeHelper(0x2fc, DISPATCH_PROPERTYPUT, VT_EMPTY, NULL, parms,
 | 
			
		||||
		 lpszNewValue);
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
long CWMPMedia::GetImageSourceWidth()
 | 
			
		||||
{
 | 
			
		||||
	long result;
 | 
			
		||||
	InvokeHelper(0x2f0, DISPATCH_PROPERTYGET, VT_I4, (void*)&result, NULL);
 | 
			
		||||
	return result;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
long CWMPMedia::GetImageSourceHeight()
 | 
			
		||||
{
 | 
			
		||||
	long result;
 | 
			
		||||
	InvokeHelper(0x2f1, DISPATCH_PROPERTYGET, VT_I4, (void*)&result, NULL);
 | 
			
		||||
	return result;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
long CWMPMedia::GetMarkerCount()
 | 
			
		||||
{
 | 
			
		||||
	long result;
 | 
			
		||||
	InvokeHelper(0x2f2, DISPATCH_PROPERTYGET, VT_I4, (void*)&result, NULL);
 | 
			
		||||
	return result;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
double CWMPMedia::getMarkerTime(long MarkerNum)
 | 
			
		||||
{
 | 
			
		||||
	double result;
 | 
			
		||||
	static BYTE parms[] =
 | 
			
		||||
		VTS_I4;
 | 
			
		||||
	InvokeHelper(0x2f3, DISPATCH_METHOD, VT_R8, (void*)&result, parms,
 | 
			
		||||
		MarkerNum);
 | 
			
		||||
	return result;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
CString CWMPMedia::getMarkerName(long MarkerNum)
 | 
			
		||||
{
 | 
			
		||||
	CString result;
 | 
			
		||||
	static BYTE parms[] =
 | 
			
		||||
		VTS_I4;
 | 
			
		||||
	InvokeHelper(0x2f4, DISPATCH_METHOD, VT_BSTR, (void*)&result, parms,
 | 
			
		||||
		MarkerNum);
 | 
			
		||||
	return result;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
double CWMPMedia::GetDuration()
 | 
			
		||||
{
 | 
			
		||||
	double result;
 | 
			
		||||
	InvokeHelper(0x2f5, DISPATCH_PROPERTYGET, VT_R8, (void*)&result, NULL);
 | 
			
		||||
	return result;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
CString CWMPMedia::GetDurationString()
 | 
			
		||||
{
 | 
			
		||||
	CString result;
 | 
			
		||||
	InvokeHelper(0x2f6, DISPATCH_PROPERTYGET, VT_BSTR, (void*)&result, NULL);
 | 
			
		||||
	return result;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
long CWMPMedia::GetAttributeCount()
 | 
			
		||||
{
 | 
			
		||||
	long result;
 | 
			
		||||
	InvokeHelper(0x2f7, DISPATCH_PROPERTYGET, VT_I4, (void*)&result, NULL);
 | 
			
		||||
	return result;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
CString CWMPMedia::getAttributeName(long lIndex)
 | 
			
		||||
{
 | 
			
		||||
	CString result;
 | 
			
		||||
	static BYTE parms[] =
 | 
			
		||||
		VTS_I4;
 | 
			
		||||
	InvokeHelper(0x2f8, DISPATCH_METHOD, VT_BSTR, (void*)&result, parms,
 | 
			
		||||
		lIndex);
 | 
			
		||||
	return result;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
CString CWMPMedia::getItemInfo(LPCTSTR bstrItemName)
 | 
			
		||||
{
 | 
			
		||||
	CString result;
 | 
			
		||||
	static BYTE parms[] =
 | 
			
		||||
		VTS_BSTR;
 | 
			
		||||
	InvokeHelper(0x2f9, DISPATCH_METHOD, VT_BSTR, (void*)&result, parms,
 | 
			
		||||
		bstrItemName);
 | 
			
		||||
	return result;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
void CWMPMedia::setItemInfo(LPCTSTR bstrItemName, LPCTSTR bstrVal)
 | 
			
		||||
{
 | 
			
		||||
	static BYTE parms[] =
 | 
			
		||||
		VTS_BSTR VTS_BSTR;
 | 
			
		||||
	InvokeHelper(0x2fa, DISPATCH_METHOD, VT_EMPTY, NULL, parms,
 | 
			
		||||
		 bstrItemName, bstrVal);
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
CString CWMPMedia::getItemInfoByAtom(long lAtom)
 | 
			
		||||
{
 | 
			
		||||
	CString result;
 | 
			
		||||
	static BYTE parms[] =
 | 
			
		||||
		VTS_I4;
 | 
			
		||||
	InvokeHelper(0x2fd, DISPATCH_METHOD, VT_BSTR, (void*)&result, parms,
 | 
			
		||||
		lAtom);
 | 
			
		||||
	return result;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
BOOL CWMPMedia::isMemberOf(LPDISPATCH pPlaylist)
 | 
			
		||||
{
 | 
			
		||||
	BOOL result;
 | 
			
		||||
	static BYTE parms[] =
 | 
			
		||||
		VTS_DISPATCH;
 | 
			
		||||
	InvokeHelper(0x2fe, DISPATCH_METHOD, VT_BOOL, (void*)&result, parms,
 | 
			
		||||
		pPlaylist);
 | 
			
		||||
	return result;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
BOOL CWMPMedia::isReadOnlyItem(LPCTSTR bstrItemName)
 | 
			
		||||
{
 | 
			
		||||
	BOOL result;
 | 
			
		||||
	static BYTE parms[] =
 | 
			
		||||
		VTS_BSTR;
 | 
			
		||||
	InvokeHelper(0x2ff, DISPATCH_METHOD, VT_BOOL, (void*)&result, parms,
 | 
			
		||||
		bstrItemName);
 | 
			
		||||
	return result;
 | 
			
		||||
}
 | 
			
		||||
							
								
								
									
										50
									
								
								plugins/wmpa/wmpmedia.h
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										50
									
								
								plugins/wmpa/wmpmedia.h
									
										
									
									
									
										Normal file
									
								
							| 
						 | 
				
			
			@ -0,0 +1,50 @@
 | 
			
		|||
#if !defined(AFX_WMPMEDIA_H__7736565E_C037_498E_89F1_9696912C5998__INCLUDED_)
 | 
			
		||||
#define AFX_WMPMEDIA_H__7736565E_C037_498E_89F1_9696912C5998__INCLUDED_
 | 
			
		||||
 | 
			
		||||
#if _MSC_VER > 1000
 | 
			
		||||
#pragma once
 | 
			
		||||
#endif // _MSC_VER > 1000
 | 
			
		||||
// Machine generated IDispatch wrapper class(es) created by Microsoft Visual C++
 | 
			
		||||
 | 
			
		||||
// NOTE: Do not modify the contents of this file.  If this class is regenerated by
 | 
			
		||||
//  Microsoft Visual C++, your modifications will be overwritten.
 | 
			
		||||
 | 
			
		||||
/////////////////////////////////////////////////////////////////////////////
 | 
			
		||||
// CWMPMedia wrapper class
 | 
			
		||||
 | 
			
		||||
class CWMPMedia : public COleDispatchDriver
 | 
			
		||||
{
 | 
			
		||||
public:
 | 
			
		||||
	CWMPMedia() {}		// Calls COleDispatchDriver default constructor
 | 
			
		||||
	CWMPMedia(LPDISPATCH pDispatch) : COleDispatchDriver(pDispatch) {}
 | 
			
		||||
	CWMPMedia(const CWMPMedia& dispatchSrc) : COleDispatchDriver(dispatchSrc) {}
 | 
			
		||||
 | 
			
		||||
// Attributes
 | 
			
		||||
public:
 | 
			
		||||
 | 
			
		||||
// Operations
 | 
			
		||||
public:
 | 
			
		||||
	BOOL GetIsIdentical(LPDISPATCH pIWMPMedia);
 | 
			
		||||
	CString GetSourceURL();
 | 
			
		||||
	CString GetName();
 | 
			
		||||
	void SetName(LPCTSTR lpszNewValue);
 | 
			
		||||
	long GetImageSourceWidth();
 | 
			
		||||
	long GetImageSourceHeight();
 | 
			
		||||
	long GetMarkerCount();
 | 
			
		||||
	double getMarkerTime(long MarkerNum);
 | 
			
		||||
	CString getMarkerName(long MarkerNum);
 | 
			
		||||
	double GetDuration();
 | 
			
		||||
	CString GetDurationString();
 | 
			
		||||
	long GetAttributeCount();
 | 
			
		||||
	CString getAttributeName(long lIndex);
 | 
			
		||||
	CString getItemInfo(LPCTSTR bstrItemName);
 | 
			
		||||
	void setItemInfo(LPCTSTR bstrItemName, LPCTSTR bstrVal);
 | 
			
		||||
	CString getItemInfoByAtom(long lAtom);
 | 
			
		||||
	BOOL isMemberOf(LPDISPATCH pPlaylist);
 | 
			
		||||
	BOOL isReadOnlyItem(LPCTSTR bstrItemName);
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
//{{AFX_INSERT_LOCATION}}
 | 
			
		||||
// Microsoft Visual C++ will insert additional declarations immediately before the previous line.
 | 
			
		||||
 | 
			
		||||
#endif // !defined(AFX_WMPMEDIA_H__7736565E_C037_498E_89F1_9696912C5998__INCLUDED_)
 | 
			
		||||
							
								
								
									
										133
									
								
								plugins/wmpa/wmpmediacollection.cpp
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										133
									
								
								plugins/wmpa/wmpmediacollection.cpp
									
										
									
									
									
										Normal file
									
								
							| 
						 | 
				
			
			@ -0,0 +1,133 @@
 | 
			
		|||
// Machine generated IDispatch wrapper class(es) created by Microsoft Visual C++
 | 
			
		||||
 | 
			
		||||
// NOTE: Do not modify the contents of this file.  If this class is regenerated by
 | 
			
		||||
//  Microsoft Visual C++, your modifications will be overwritten.
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
#include "stdafx.h"
 | 
			
		||||
#include "wmpmediacollection.h"
 | 
			
		||||
 | 
			
		||||
// Dispatch interfaces referenced by this interface
 | 
			
		||||
#include "wmpmedia.h"
 | 
			
		||||
#include "wmpplaylist.h"
 | 
			
		||||
#include "wmpstringcollection.h"
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
/////////////////////////////////////////////////////////////////////////////
 | 
			
		||||
// CWMPMediaCollection properties
 | 
			
		||||
 | 
			
		||||
/////////////////////////////////////////////////////////////////////////////
 | 
			
		||||
// CWMPMediaCollection operations
 | 
			
		||||
 | 
			
		||||
CWMPMedia CWMPMediaCollection::add(LPCTSTR bstrURL)
 | 
			
		||||
{
 | 
			
		||||
	LPDISPATCH pDispatch;
 | 
			
		||||
	static BYTE parms[] =
 | 
			
		||||
		VTS_BSTR;
 | 
			
		||||
	InvokeHelper(0x1c4, DISPATCH_METHOD, VT_DISPATCH, (void*)&pDispatch, parms,
 | 
			
		||||
		bstrURL);
 | 
			
		||||
	return CWMPMedia(pDispatch);
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
CWMPPlaylist CWMPMediaCollection::getAll()
 | 
			
		||||
{
 | 
			
		||||
	LPDISPATCH pDispatch;
 | 
			
		||||
	InvokeHelper(0x1c5, DISPATCH_METHOD, VT_DISPATCH, (void*)&pDispatch, NULL);
 | 
			
		||||
	return CWMPPlaylist(pDispatch);
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
CWMPPlaylist CWMPMediaCollection::getByName(LPCTSTR bstrName)
 | 
			
		||||
{
 | 
			
		||||
	LPDISPATCH pDispatch;
 | 
			
		||||
	static BYTE parms[] =
 | 
			
		||||
		VTS_BSTR;
 | 
			
		||||
	InvokeHelper(0x1c6, DISPATCH_METHOD, VT_DISPATCH, (void*)&pDispatch, parms,
 | 
			
		||||
		bstrName);
 | 
			
		||||
	return CWMPPlaylist(pDispatch);
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
CWMPPlaylist CWMPMediaCollection::getByGenre(LPCTSTR bstrGenre)
 | 
			
		||||
{
 | 
			
		||||
	LPDISPATCH pDispatch;
 | 
			
		||||
	static BYTE parms[] =
 | 
			
		||||
		VTS_BSTR;
 | 
			
		||||
	InvokeHelper(0x1c7, DISPATCH_METHOD, VT_DISPATCH, (void*)&pDispatch, parms,
 | 
			
		||||
		bstrGenre);
 | 
			
		||||
	return CWMPPlaylist(pDispatch);
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
CWMPPlaylist CWMPMediaCollection::getByAuthor(LPCTSTR bstrAuthor)
 | 
			
		||||
{
 | 
			
		||||
	LPDISPATCH pDispatch;
 | 
			
		||||
	static BYTE parms[] =
 | 
			
		||||
		VTS_BSTR;
 | 
			
		||||
	InvokeHelper(0x1c8, DISPATCH_METHOD, VT_DISPATCH, (void*)&pDispatch, parms,
 | 
			
		||||
		bstrAuthor);
 | 
			
		||||
	return CWMPPlaylist(pDispatch);
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
CWMPPlaylist CWMPMediaCollection::getByAlbum(LPCTSTR bstrAlbum)
 | 
			
		||||
{
 | 
			
		||||
	LPDISPATCH pDispatch;
 | 
			
		||||
	static BYTE parms[] =
 | 
			
		||||
		VTS_BSTR;
 | 
			
		||||
	InvokeHelper(0x1c9, DISPATCH_METHOD, VT_DISPATCH, (void*)&pDispatch, parms,
 | 
			
		||||
		bstrAlbum);
 | 
			
		||||
	return CWMPPlaylist(pDispatch);
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
CWMPPlaylist CWMPMediaCollection::getByAttribute(LPCTSTR bstrAttribute, LPCTSTR bstrValue)
 | 
			
		||||
{
 | 
			
		||||
	LPDISPATCH pDispatch;
 | 
			
		||||
	static BYTE parms[] =
 | 
			
		||||
		VTS_BSTR VTS_BSTR;
 | 
			
		||||
	InvokeHelper(0x1ca, DISPATCH_METHOD, VT_DISPATCH, (void*)&pDispatch, parms,
 | 
			
		||||
		bstrAttribute, bstrValue);
 | 
			
		||||
	return CWMPPlaylist(pDispatch);
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
void CWMPMediaCollection::remove(LPDISPATCH pItem, BOOL varfDeleteFile)
 | 
			
		||||
{
 | 
			
		||||
	static BYTE parms[] =
 | 
			
		||||
		VTS_DISPATCH VTS_BOOL;
 | 
			
		||||
	InvokeHelper(0x1cb, DISPATCH_METHOD, VT_EMPTY, NULL, parms,
 | 
			
		||||
		 pItem, varfDeleteFile);
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
CWMPStringCollection CWMPMediaCollection::getAttributeStringCollection(LPCTSTR bstrAttribute, LPCTSTR bstrMediaType)
 | 
			
		||||
{
 | 
			
		||||
	LPDISPATCH pDispatch;
 | 
			
		||||
	static BYTE parms[] =
 | 
			
		||||
		VTS_BSTR VTS_BSTR;
 | 
			
		||||
	InvokeHelper(0x1cd, DISPATCH_METHOD, VT_DISPATCH, (void*)&pDispatch, parms,
 | 
			
		||||
		bstrAttribute, bstrMediaType);
 | 
			
		||||
	return CWMPStringCollection(pDispatch);
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
long CWMPMediaCollection::getMediaAtom(LPCTSTR bstrItemName)
 | 
			
		||||
{
 | 
			
		||||
	long result;
 | 
			
		||||
	static BYTE parms[] =
 | 
			
		||||
		VTS_BSTR;
 | 
			
		||||
	InvokeHelper(0x1d6, DISPATCH_METHOD, VT_I4, (void*)&result, parms,
 | 
			
		||||
		bstrItemName);
 | 
			
		||||
	return result;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
void CWMPMediaCollection::setDeleted(LPDISPATCH pItem, BOOL varfIsDeleted)
 | 
			
		||||
{
 | 
			
		||||
	static BYTE parms[] =
 | 
			
		||||
		VTS_DISPATCH VTS_BOOL;
 | 
			
		||||
	InvokeHelper(0x1d7, DISPATCH_METHOD, VT_EMPTY, NULL, parms,
 | 
			
		||||
		 pItem, varfIsDeleted);
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
BOOL CWMPMediaCollection::isDeleted(LPDISPATCH pItem)
 | 
			
		||||
{
 | 
			
		||||
	BOOL result;
 | 
			
		||||
	static BYTE parms[] =
 | 
			
		||||
		VTS_DISPATCH;
 | 
			
		||||
	InvokeHelper(0x1d8, DISPATCH_METHOD, VT_BOOL, (void*)&result, parms,
 | 
			
		||||
		pItem);
 | 
			
		||||
	return result;
 | 
			
		||||
}
 | 
			
		||||
							
								
								
									
										50
									
								
								plugins/wmpa/wmpmediacollection.h
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										50
									
								
								plugins/wmpa/wmpmediacollection.h
									
										
									
									
									
										Normal file
									
								
							| 
						 | 
				
			
			@ -0,0 +1,50 @@
 | 
			
		|||
#if !defined(AFX_WMPMEDIACOLLECTION_H__8C47EB0E_4638_46DA_A405_415AEAE509CE__INCLUDED_)
 | 
			
		||||
#define AFX_WMPMEDIACOLLECTION_H__8C47EB0E_4638_46DA_A405_415AEAE509CE__INCLUDED_
 | 
			
		||||
 | 
			
		||||
#if _MSC_VER > 1000
 | 
			
		||||
#pragma once
 | 
			
		||||
#endif // _MSC_VER > 1000
 | 
			
		||||
// Machine generated IDispatch wrapper class(es) created by Microsoft Visual C++
 | 
			
		||||
 | 
			
		||||
// NOTE: Do not modify the contents of this file.  If this class is regenerated by
 | 
			
		||||
//  Microsoft Visual C++, your modifications will be overwritten.
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
// Dispatch interfaces referenced by this interface
 | 
			
		||||
class CWMPMedia;
 | 
			
		||||
class CWMPPlaylist;
 | 
			
		||||
class CWMPStringCollection;
 | 
			
		||||
 | 
			
		||||
/////////////////////////////////////////////////////////////////////////////
 | 
			
		||||
// CWMPMediaCollection wrapper class
 | 
			
		||||
 | 
			
		||||
class CWMPMediaCollection : public COleDispatchDriver
 | 
			
		||||
{
 | 
			
		||||
public:
 | 
			
		||||
	CWMPMediaCollection() {}		// Calls COleDispatchDriver default constructor
 | 
			
		||||
	CWMPMediaCollection(LPDISPATCH pDispatch) : COleDispatchDriver(pDispatch) {}
 | 
			
		||||
	CWMPMediaCollection(const CWMPMediaCollection& dispatchSrc) : COleDispatchDriver(dispatchSrc) {}
 | 
			
		||||
 | 
			
		||||
// Attributes
 | 
			
		||||
public:
 | 
			
		||||
 | 
			
		||||
// Operations
 | 
			
		||||
public:
 | 
			
		||||
	CWMPMedia add(LPCTSTR bstrURL);
 | 
			
		||||
	CWMPPlaylist getAll();
 | 
			
		||||
	CWMPPlaylist getByName(LPCTSTR bstrName);
 | 
			
		||||
	CWMPPlaylist getByGenre(LPCTSTR bstrGenre);
 | 
			
		||||
	CWMPPlaylist getByAuthor(LPCTSTR bstrAuthor);
 | 
			
		||||
	CWMPPlaylist getByAlbum(LPCTSTR bstrAlbum);
 | 
			
		||||
	CWMPPlaylist getByAttribute(LPCTSTR bstrAttribute, LPCTSTR bstrValue);
 | 
			
		||||
	void remove(LPDISPATCH pItem, BOOL varfDeleteFile);
 | 
			
		||||
	CWMPStringCollection getAttributeStringCollection(LPCTSTR bstrAttribute, LPCTSTR bstrMediaType);
 | 
			
		||||
	long getMediaAtom(LPCTSTR bstrItemName);
 | 
			
		||||
	void setDeleted(LPDISPATCH pItem, BOOL varfIsDeleted);
 | 
			
		||||
	BOOL isDeleted(LPDISPATCH pItem);
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
//{{AFX_INSERT_LOCATION}}
 | 
			
		||||
// Microsoft Visual C++ will insert additional declarations immediately before the previous line.
 | 
			
		||||
 | 
			
		||||
#endif // !defined(AFX_WMPMEDIACOLLECTION_H__8C47EB0E_4638_46DA_A405_415AEAE509CE__INCLUDED_)
 | 
			
		||||
							
								
								
									
										233
									
								
								plugins/wmpa/wmpnetwork.cpp
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										233
									
								
								plugins/wmpa/wmpnetwork.cpp
									
										
									
									
									
										Normal file
									
								
							| 
						 | 
				
			
			@ -0,0 +1,233 @@
 | 
			
		|||
// Machine generated IDispatch wrapper class(es) created by Microsoft Visual C++
 | 
			
		||||
 | 
			
		||||
// NOTE: Do not modify the contents of this file.  If this class is regenerated by
 | 
			
		||||
//  Microsoft Visual C++, your modifications will be overwritten.
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
#include "stdafx.h"
 | 
			
		||||
#include "wmpnetwork.h"
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
/////////////////////////////////////////////////////////////////////////////
 | 
			
		||||
// CWMPNetwork properties
 | 
			
		||||
 | 
			
		||||
/////////////////////////////////////////////////////////////////////////////
 | 
			
		||||
// CWMPNetwork operations
 | 
			
		||||
 | 
			
		||||
long CWMPNetwork::GetBandWidth()
 | 
			
		||||
{
 | 
			
		||||
	long result;
 | 
			
		||||
	InvokeHelper(0x321, DISPATCH_PROPERTYGET, VT_I4, (void*)&result, NULL);
 | 
			
		||||
	return result;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
long CWMPNetwork::GetRecoveredPackets()
 | 
			
		||||
{
 | 
			
		||||
	long result;
 | 
			
		||||
	InvokeHelper(0x322, DISPATCH_PROPERTYGET, VT_I4, (void*)&result, NULL);
 | 
			
		||||
	return result;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
CString CWMPNetwork::GetSourceProtocol()
 | 
			
		||||
{
 | 
			
		||||
	CString result;
 | 
			
		||||
	InvokeHelper(0x323, DISPATCH_PROPERTYGET, VT_BSTR, (void*)&result, NULL);
 | 
			
		||||
	return result;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
long CWMPNetwork::GetReceivedPackets()
 | 
			
		||||
{
 | 
			
		||||
	long result;
 | 
			
		||||
	InvokeHelper(0x324, DISPATCH_PROPERTYGET, VT_I4, (void*)&result, NULL);
 | 
			
		||||
	return result;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
long CWMPNetwork::GetLostPackets()
 | 
			
		||||
{
 | 
			
		||||
	long result;
 | 
			
		||||
	InvokeHelper(0x325, DISPATCH_PROPERTYGET, VT_I4, (void*)&result, NULL);
 | 
			
		||||
	return result;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
long CWMPNetwork::GetReceptionQuality()
 | 
			
		||||
{
 | 
			
		||||
	long result;
 | 
			
		||||
	InvokeHelper(0x326, DISPATCH_PROPERTYGET, VT_I4, (void*)&result, NULL);
 | 
			
		||||
	return result;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
long CWMPNetwork::GetBufferingCount()
 | 
			
		||||
{
 | 
			
		||||
	long result;
 | 
			
		||||
	InvokeHelper(0x327, DISPATCH_PROPERTYGET, VT_I4, (void*)&result, NULL);
 | 
			
		||||
	return result;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
long CWMPNetwork::GetBufferingProgress()
 | 
			
		||||
{
 | 
			
		||||
	long result;
 | 
			
		||||
	InvokeHelper(0x328, DISPATCH_PROPERTYGET, VT_I4, (void*)&result, NULL);
 | 
			
		||||
	return result;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
long CWMPNetwork::GetBufferingTime()
 | 
			
		||||
{
 | 
			
		||||
	long result;
 | 
			
		||||
	InvokeHelper(0x329, DISPATCH_PROPERTYGET, VT_I4, (void*)&result, NULL);
 | 
			
		||||
	return result;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
void CWMPNetwork::SetBufferingTime(long nNewValue)
 | 
			
		||||
{
 | 
			
		||||
	static BYTE parms[] =
 | 
			
		||||
		VTS_I4;
 | 
			
		||||
	InvokeHelper(0x329, DISPATCH_PROPERTYPUT, VT_EMPTY, NULL, parms,
 | 
			
		||||
		 nNewValue);
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
long CWMPNetwork::GetFrameRate()
 | 
			
		||||
{
 | 
			
		||||
	long result;
 | 
			
		||||
	InvokeHelper(0x32a, DISPATCH_PROPERTYGET, VT_I4, (void*)&result, NULL);
 | 
			
		||||
	return result;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
long CWMPNetwork::GetMaxBitRate()
 | 
			
		||||
{
 | 
			
		||||
	long result;
 | 
			
		||||
	InvokeHelper(0x32b, DISPATCH_PROPERTYGET, VT_I4, (void*)&result, NULL);
 | 
			
		||||
	return result;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
long CWMPNetwork::GetBitRate()
 | 
			
		||||
{
 | 
			
		||||
	long result;
 | 
			
		||||
	InvokeHelper(0x32c, DISPATCH_PROPERTYGET, VT_I4, (void*)&result, NULL);
 | 
			
		||||
	return result;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
long CWMPNetwork::getProxySettings(LPCTSTR bstrProtocol)
 | 
			
		||||
{
 | 
			
		||||
	long result;
 | 
			
		||||
	static BYTE parms[] =
 | 
			
		||||
		VTS_BSTR;
 | 
			
		||||
	InvokeHelper(0x32d, DISPATCH_METHOD, VT_I4, (void*)&result, parms,
 | 
			
		||||
		bstrProtocol);
 | 
			
		||||
	return result;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
void CWMPNetwork::setProxySettings(LPCTSTR bstrProtocol, long lProxySetting)
 | 
			
		||||
{
 | 
			
		||||
	static BYTE parms[] =
 | 
			
		||||
		VTS_BSTR VTS_I4;
 | 
			
		||||
	InvokeHelper(0x32e, DISPATCH_METHOD, VT_EMPTY, NULL, parms,
 | 
			
		||||
		 bstrProtocol, lProxySetting);
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
CString CWMPNetwork::getProxyName(LPCTSTR bstrProtocol)
 | 
			
		||||
{
 | 
			
		||||
	CString result;
 | 
			
		||||
	static BYTE parms[] =
 | 
			
		||||
		VTS_BSTR;
 | 
			
		||||
	InvokeHelper(0x32f, DISPATCH_METHOD, VT_BSTR, (void*)&result, parms,
 | 
			
		||||
		bstrProtocol);
 | 
			
		||||
	return result;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
void CWMPNetwork::setProxyName(LPCTSTR bstrProtocol, LPCTSTR bstrProxyName)
 | 
			
		||||
{
 | 
			
		||||
	static BYTE parms[] =
 | 
			
		||||
		VTS_BSTR VTS_BSTR;
 | 
			
		||||
	InvokeHelper(0x330, DISPATCH_METHOD, VT_EMPTY, NULL, parms,
 | 
			
		||||
		 bstrProtocol, bstrProxyName);
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
long CWMPNetwork::getProxyPort(LPCTSTR bstrProtocol)
 | 
			
		||||
{
 | 
			
		||||
	long result;
 | 
			
		||||
	static BYTE parms[] =
 | 
			
		||||
		VTS_BSTR;
 | 
			
		||||
	InvokeHelper(0x331, DISPATCH_METHOD, VT_I4, (void*)&result, parms,
 | 
			
		||||
		bstrProtocol);
 | 
			
		||||
	return result;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
void CWMPNetwork::setProxyPort(LPCTSTR bstrProtocol, long lProxyPort)
 | 
			
		||||
{
 | 
			
		||||
	static BYTE parms[] =
 | 
			
		||||
		VTS_BSTR VTS_I4;
 | 
			
		||||
	InvokeHelper(0x332, DISPATCH_METHOD, VT_EMPTY, NULL, parms,
 | 
			
		||||
		 bstrProtocol, lProxyPort);
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
CString CWMPNetwork::getProxyExceptionList(LPCTSTR bstrProtocol)
 | 
			
		||||
{
 | 
			
		||||
	CString result;
 | 
			
		||||
	static BYTE parms[] =
 | 
			
		||||
		VTS_BSTR;
 | 
			
		||||
	InvokeHelper(0x333, DISPATCH_METHOD, VT_BSTR, (void*)&result, parms,
 | 
			
		||||
		bstrProtocol);
 | 
			
		||||
	return result;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
void CWMPNetwork::setProxyExceptionList(LPCTSTR bstrProtocol, LPCTSTR pbstrExceptionList)
 | 
			
		||||
{
 | 
			
		||||
	static BYTE parms[] =
 | 
			
		||||
		VTS_BSTR VTS_BSTR;
 | 
			
		||||
	InvokeHelper(0x334, DISPATCH_METHOD, VT_EMPTY, NULL, parms,
 | 
			
		||||
		 bstrProtocol, pbstrExceptionList);
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
BOOL CWMPNetwork::getProxyBypassForLocal(LPCTSTR bstrProtocol)
 | 
			
		||||
{
 | 
			
		||||
	BOOL result;
 | 
			
		||||
	static BYTE parms[] =
 | 
			
		||||
		VTS_BSTR;
 | 
			
		||||
	InvokeHelper(0x335, DISPATCH_METHOD, VT_BOOL, (void*)&result, parms,
 | 
			
		||||
		bstrProtocol);
 | 
			
		||||
	return result;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
void CWMPNetwork::setProxyBypassForLocal(LPCTSTR bstrProtocol, BOOL fBypassForLocal)
 | 
			
		||||
{
 | 
			
		||||
	static BYTE parms[] =
 | 
			
		||||
		VTS_BSTR VTS_BOOL;
 | 
			
		||||
	InvokeHelper(0x336, DISPATCH_METHOD, VT_EMPTY, NULL, parms,
 | 
			
		||||
		 bstrProtocol, fBypassForLocal);
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
long CWMPNetwork::GetMaxBandwidth()
 | 
			
		||||
{
 | 
			
		||||
	long result;
 | 
			
		||||
	InvokeHelper(0x337, DISPATCH_PROPERTYGET, VT_I4, (void*)&result, NULL);
 | 
			
		||||
	return result;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
void CWMPNetwork::SetMaxBandwidth(long nNewValue)
 | 
			
		||||
{
 | 
			
		||||
	static BYTE parms[] =
 | 
			
		||||
		VTS_I4;
 | 
			
		||||
	InvokeHelper(0x337, DISPATCH_PROPERTYPUT, VT_EMPTY, NULL, parms,
 | 
			
		||||
		 nNewValue);
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
long CWMPNetwork::GetDownloadProgress()
 | 
			
		||||
{
 | 
			
		||||
	long result;
 | 
			
		||||
	InvokeHelper(0x338, DISPATCH_PROPERTYGET, VT_I4, (void*)&result, NULL);
 | 
			
		||||
	return result;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
long CWMPNetwork::GetEncodedFrameRate()
 | 
			
		||||
{
 | 
			
		||||
	long result;
 | 
			
		||||
	InvokeHelper(0x339, DISPATCH_PROPERTYGET, VT_I4, (void*)&result, NULL);
 | 
			
		||||
	return result;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
long CWMPNetwork::GetFramesSkipped()
 | 
			
		||||
{
 | 
			
		||||
	long result;
 | 
			
		||||
	InvokeHelper(0x33a, DISPATCH_PROPERTYGET, VT_I4, (void*)&result, NULL);
 | 
			
		||||
	return result;
 | 
			
		||||
}
 | 
			
		||||
							
								
								
									
										60
									
								
								plugins/wmpa/wmpnetwork.h
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										60
									
								
								plugins/wmpa/wmpnetwork.h
									
										
									
									
									
										Normal file
									
								
							| 
						 | 
				
			
			@ -0,0 +1,60 @@
 | 
			
		|||
#if !defined(AFX_WMPNETWORK_H__50BDAB41_9F78_492A_8A5E_27543B0C0CAF__INCLUDED_)
 | 
			
		||||
#define AFX_WMPNETWORK_H__50BDAB41_9F78_492A_8A5E_27543B0C0CAF__INCLUDED_
 | 
			
		||||
 | 
			
		||||
#if _MSC_VER > 1000
 | 
			
		||||
#pragma once
 | 
			
		||||
#endif // _MSC_VER > 1000
 | 
			
		||||
// Machine generated IDispatch wrapper class(es) created by Microsoft Visual C++
 | 
			
		||||
 | 
			
		||||
// NOTE: Do not modify the contents of this file.  If this class is regenerated by
 | 
			
		||||
//  Microsoft Visual C++, your modifications will be overwritten.
 | 
			
		||||
 | 
			
		||||
/////////////////////////////////////////////////////////////////////////////
 | 
			
		||||
// CWMPNetwork wrapper class
 | 
			
		||||
 | 
			
		||||
class CWMPNetwork : public COleDispatchDriver
 | 
			
		||||
{
 | 
			
		||||
public:
 | 
			
		||||
	CWMPNetwork() {}		// Calls COleDispatchDriver default constructor
 | 
			
		||||
	CWMPNetwork(LPDISPATCH pDispatch) : COleDispatchDriver(pDispatch) {}
 | 
			
		||||
	CWMPNetwork(const CWMPNetwork& dispatchSrc) : COleDispatchDriver(dispatchSrc) {}
 | 
			
		||||
 | 
			
		||||
// Attributes
 | 
			
		||||
public:
 | 
			
		||||
 | 
			
		||||
// Operations
 | 
			
		||||
public:
 | 
			
		||||
	long GetBandWidth();
 | 
			
		||||
	long GetRecoveredPackets();
 | 
			
		||||
	CString GetSourceProtocol();
 | 
			
		||||
	long GetReceivedPackets();
 | 
			
		||||
	long GetLostPackets();
 | 
			
		||||
	long GetReceptionQuality();
 | 
			
		||||
	long GetBufferingCount();
 | 
			
		||||
	long GetBufferingProgress();
 | 
			
		||||
	long GetBufferingTime();
 | 
			
		||||
	void SetBufferingTime(long nNewValue);
 | 
			
		||||
	long GetFrameRate();
 | 
			
		||||
	long GetMaxBitRate();
 | 
			
		||||
	long GetBitRate();
 | 
			
		||||
	long getProxySettings(LPCTSTR bstrProtocol);
 | 
			
		||||
	void setProxySettings(LPCTSTR bstrProtocol, long lProxySetting);
 | 
			
		||||
	CString getProxyName(LPCTSTR bstrProtocol);
 | 
			
		||||
	void setProxyName(LPCTSTR bstrProtocol, LPCTSTR bstrProxyName);
 | 
			
		||||
	long getProxyPort(LPCTSTR bstrProtocol);
 | 
			
		||||
	void setProxyPort(LPCTSTR bstrProtocol, long lProxyPort);
 | 
			
		||||
	CString getProxyExceptionList(LPCTSTR bstrProtocol);
 | 
			
		||||
	void setProxyExceptionList(LPCTSTR bstrProtocol, LPCTSTR pbstrExceptionList);
 | 
			
		||||
	BOOL getProxyBypassForLocal(LPCTSTR bstrProtocol);
 | 
			
		||||
	void setProxyBypassForLocal(LPCTSTR bstrProtocol, BOOL fBypassForLocal);
 | 
			
		||||
	long GetMaxBandwidth();
 | 
			
		||||
	void SetMaxBandwidth(long nNewValue);
 | 
			
		||||
	long GetDownloadProgress();
 | 
			
		||||
	long GetEncodedFrameRate();
 | 
			
		||||
	long GetFramesSkipped();
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
//{{AFX_INSERT_LOCATION}}
 | 
			
		||||
// Microsoft Visual C++ will insert additional declarations immediately before the previous line.
 | 
			
		||||
 | 
			
		||||
#endif // !defined(AFX_WMPNETWORK_H__50BDAB41_9F78_492A_8A5E_27543B0C0CAF__INCLUDED_)
 | 
			
		||||
							
								
								
									
										321
									
								
								plugins/wmpa/wmpplayer4.cpp
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										321
									
								
								plugins/wmpa/wmpplayer4.cpp
									
										
									
									
									
										Normal file
									
								
							| 
						 | 
				
			
			@ -0,0 +1,321 @@
 | 
			
		|||
// Machine generated IDispatch wrapper class(es) created by Microsoft Visual C++
 | 
			
		||||
 | 
			
		||||
// NOTE: Do not modify the contents of this file.  If this class is regenerated by
 | 
			
		||||
//  Microsoft Visual C++, your modifications will be overwritten.
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
#include "stdafx.h"
 | 
			
		||||
#include "wmpplayer4.h"
 | 
			
		||||
 | 
			
		||||
// Dispatch interfaces referenced by this interface
 | 
			
		||||
#include "wmpcontrols.h"
 | 
			
		||||
#include "WMPSettings.h"
 | 
			
		||||
#include "wmpmedia.h"
 | 
			
		||||
#include "wmpmediacollection.h"
 | 
			
		||||
#include "wmpplaylistcollection.h"
 | 
			
		||||
#include "wmpnetwork.h"
 | 
			
		||||
#include "wmpplaylist.h"
 | 
			
		||||
#include "wmpcdromcollection.h"
 | 
			
		||||
#include "wmpclosedcaption.h"
 | 
			
		||||
#include "WMPError.h"
 | 
			
		||||
#include "wmpdvd.h"
 | 
			
		||||
#include "WMPPlayerApplication.h"
 | 
			
		||||
 | 
			
		||||
/////////////////////////////////////////////////////////////////////////////
 | 
			
		||||
// CWMPPlayer4
 | 
			
		||||
 | 
			
		||||
IMPLEMENT_DYNCREATE(CWMPPlayer4, CWnd)
 | 
			
		||||
 | 
			
		||||
/////////////////////////////////////////////////////////////////////////////
 | 
			
		||||
// CWMPPlayer4 properties
 | 
			
		||||
 | 
			
		||||
/////////////////////////////////////////////////////////////////////////////
 | 
			
		||||
// CWMPPlayer4 operations
 | 
			
		||||
 | 
			
		||||
void CWMPPlayer4::close()
 | 
			
		||||
{
 | 
			
		||||
	InvokeHelper(0x3, DISPATCH_METHOD, VT_EMPTY, NULL, NULL);
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
CString CWMPPlayer4::GetUrl()
 | 
			
		||||
{
 | 
			
		||||
	CString result;
 | 
			
		||||
	InvokeHelper(0x1, DISPATCH_PROPERTYGET, VT_BSTR, (void*)&result, NULL);
 | 
			
		||||
	return result;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
void CWMPPlayer4::SetUrl(LPCTSTR lpszNewValue)
 | 
			
		||||
{
 | 
			
		||||
	static BYTE parms[] =
 | 
			
		||||
		VTS_BSTR;
 | 
			
		||||
	InvokeHelper(0x1, DISPATCH_PROPERTYPUT, VT_EMPTY, NULL, parms,
 | 
			
		||||
		 lpszNewValue);
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
long CWMPPlayer4::GetOpenState()
 | 
			
		||||
{
 | 
			
		||||
	long result;
 | 
			
		||||
	InvokeHelper(0x2, DISPATCH_PROPERTYGET, VT_I4, (void*)&result, NULL);
 | 
			
		||||
	return result;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
long CWMPPlayer4::GetPlayState()
 | 
			
		||||
{
 | 
			
		||||
	long result;
 | 
			
		||||
	InvokeHelper(0xa, DISPATCH_PROPERTYGET, VT_I4, (void*)&result, NULL);
 | 
			
		||||
	return result;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
CWMPControls CWMPPlayer4::GetControls()
 | 
			
		||||
{
 | 
			
		||||
	LPDISPATCH pDispatch;
 | 
			
		||||
	InvokeHelper(0x4, DISPATCH_PROPERTYGET, VT_DISPATCH, (void*)&pDispatch, NULL);
 | 
			
		||||
	return CWMPControls(pDispatch);
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
CWMPSettings CWMPPlayer4::GetSettings()
 | 
			
		||||
{
 | 
			
		||||
	LPDISPATCH pDispatch;
 | 
			
		||||
	InvokeHelper(0x5, DISPATCH_PROPERTYGET, VT_DISPATCH, (void*)&pDispatch, NULL);
 | 
			
		||||
	return CWMPSettings(pDispatch);
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
CWMPMedia CWMPPlayer4::GetCurrentMedia()
 | 
			
		||||
{
 | 
			
		||||
	LPDISPATCH pDispatch;
 | 
			
		||||
	InvokeHelper(0x6, DISPATCH_PROPERTYGET, VT_DISPATCH, (void*)&pDispatch, NULL);
 | 
			
		||||
	return CWMPMedia(pDispatch);
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
void CWMPPlayer4::SetCurrentMedia(LPDISPATCH newValue)
 | 
			
		||||
{
 | 
			
		||||
	static BYTE parms[] =
 | 
			
		||||
		VTS_DISPATCH;
 | 
			
		||||
	InvokeHelper(0x6, DISPATCH_PROPERTYPUT, VT_EMPTY, NULL, parms,
 | 
			
		||||
		 newValue);
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
CWMPMediaCollection CWMPPlayer4::GetMediaCollection()
 | 
			
		||||
{
 | 
			
		||||
	LPDISPATCH pDispatch;
 | 
			
		||||
	InvokeHelper(0x8, DISPATCH_PROPERTYGET, VT_DISPATCH, (void*)&pDispatch, NULL);
 | 
			
		||||
	return CWMPMediaCollection(pDispatch);
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
CWMPPlaylistCollection CWMPPlayer4::GetPlaylistCollection()
 | 
			
		||||
{
 | 
			
		||||
	LPDISPATCH pDispatch;
 | 
			
		||||
	InvokeHelper(0x9, DISPATCH_PROPERTYGET, VT_DISPATCH, (void*)&pDispatch, NULL);
 | 
			
		||||
	return CWMPPlaylistCollection(pDispatch);
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
CString CWMPPlayer4::GetVersionInfo()
 | 
			
		||||
{
 | 
			
		||||
	CString result;
 | 
			
		||||
	InvokeHelper(0xb, DISPATCH_PROPERTYGET, VT_BSTR, (void*)&result, NULL);
 | 
			
		||||
	return result;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
void CWMPPlayer4::launchURL(LPCTSTR bstrURL)
 | 
			
		||||
{
 | 
			
		||||
	static BYTE parms[] =
 | 
			
		||||
		VTS_BSTR;
 | 
			
		||||
	InvokeHelper(0xc, DISPATCH_METHOD, VT_EMPTY, NULL, parms,
 | 
			
		||||
		 bstrURL);
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
CWMPNetwork CWMPPlayer4::GetNetwork()
 | 
			
		||||
{
 | 
			
		||||
	LPDISPATCH pDispatch;
 | 
			
		||||
	InvokeHelper(0x7, DISPATCH_PROPERTYGET, VT_DISPATCH, (void*)&pDispatch, NULL);
 | 
			
		||||
	return CWMPNetwork(pDispatch);
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
CWMPPlaylist CWMPPlayer4::GetCurrentPlaylist()
 | 
			
		||||
{
 | 
			
		||||
	LPDISPATCH pDispatch;
 | 
			
		||||
	InvokeHelper(0xd, DISPATCH_PROPERTYGET, VT_DISPATCH, (void*)&pDispatch, NULL);
 | 
			
		||||
	return CWMPPlaylist(pDispatch);
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
void CWMPPlayer4::SetCurrentPlaylist(LPDISPATCH newValue)
 | 
			
		||||
{
 | 
			
		||||
	static BYTE parms[] =
 | 
			
		||||
		VTS_DISPATCH;
 | 
			
		||||
	InvokeHelper(0xd, DISPATCH_PROPERTYPUT, VT_EMPTY, NULL, parms,
 | 
			
		||||
		 newValue);
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
CWMPCdromCollection CWMPPlayer4::GetCdromCollection()
 | 
			
		||||
{
 | 
			
		||||
	LPDISPATCH pDispatch;
 | 
			
		||||
	InvokeHelper(0xe, DISPATCH_PROPERTYGET, VT_DISPATCH, (void*)&pDispatch, NULL);
 | 
			
		||||
	return CWMPCdromCollection(pDispatch);
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
CWMPClosedCaption CWMPPlayer4::GetClosedCaption()
 | 
			
		||||
{
 | 
			
		||||
	LPDISPATCH pDispatch;
 | 
			
		||||
	InvokeHelper(0xf, DISPATCH_PROPERTYGET, VT_DISPATCH, (void*)&pDispatch, NULL);
 | 
			
		||||
	return CWMPClosedCaption(pDispatch);
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
BOOL CWMPPlayer4::GetIsOnline()
 | 
			
		||||
{
 | 
			
		||||
	BOOL result;
 | 
			
		||||
	InvokeHelper(0x10, DISPATCH_PROPERTYGET, VT_BOOL, (void*)&result, NULL);
 | 
			
		||||
	return result;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
CWMPError CWMPPlayer4::GetError()
 | 
			
		||||
{
 | 
			
		||||
	LPDISPATCH pDispatch;
 | 
			
		||||
	InvokeHelper(0x11, DISPATCH_PROPERTYGET, VT_DISPATCH, (void*)&pDispatch, NULL);
 | 
			
		||||
	return CWMPError(pDispatch);
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
CString CWMPPlayer4::GetStatus()
 | 
			
		||||
{
 | 
			
		||||
	CString result;
 | 
			
		||||
	InvokeHelper(0x12, DISPATCH_PROPERTYGET, VT_BSTR, (void*)&result, NULL);
 | 
			
		||||
	return result;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
CWMPDVD CWMPPlayer4::GetDvd()
 | 
			
		||||
{
 | 
			
		||||
	LPDISPATCH pDispatch;
 | 
			
		||||
	InvokeHelper(0x28, DISPATCH_PROPERTYGET, VT_DISPATCH, (void*)&pDispatch, NULL);
 | 
			
		||||
	return CWMPDVD(pDispatch);
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
CWMPPlaylist CWMPPlayer4::newPlaylist(LPCTSTR bstrName, LPCTSTR bstrURL)
 | 
			
		||||
{
 | 
			
		||||
	LPDISPATCH pDispatch;
 | 
			
		||||
	static BYTE parms[] =
 | 
			
		||||
		VTS_BSTR VTS_BSTR;
 | 
			
		||||
	InvokeHelper(0x29, DISPATCH_METHOD, VT_DISPATCH, (void*)&pDispatch, parms,
 | 
			
		||||
		bstrName, bstrURL);
 | 
			
		||||
	return CWMPPlaylist(pDispatch);
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
CWMPMedia CWMPPlayer4::newMedia(LPCTSTR bstrURL)
 | 
			
		||||
{
 | 
			
		||||
	LPDISPATCH pDispatch;
 | 
			
		||||
	static BYTE parms[] =
 | 
			
		||||
		VTS_BSTR;
 | 
			
		||||
	InvokeHelper(0x2a, DISPATCH_METHOD, VT_DISPATCH, (void*)&pDispatch, parms,
 | 
			
		||||
		bstrURL);
 | 
			
		||||
	return CWMPMedia(pDispatch);
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
BOOL CWMPPlayer4::GetEnabled()
 | 
			
		||||
{
 | 
			
		||||
	BOOL result;
 | 
			
		||||
	InvokeHelper(0x13, DISPATCH_PROPERTYGET, VT_BOOL, (void*)&result, NULL);
 | 
			
		||||
	return result;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
void CWMPPlayer4::SetEnabled(BOOL bNewValue)
 | 
			
		||||
{
 | 
			
		||||
	static BYTE parms[] =
 | 
			
		||||
		VTS_BOOL;
 | 
			
		||||
	InvokeHelper(0x13, DISPATCH_PROPERTYPUT, VT_EMPTY, NULL, parms,
 | 
			
		||||
		 bNewValue);
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
BOOL CWMPPlayer4::GetFullScreen()
 | 
			
		||||
{
 | 
			
		||||
	BOOL result;
 | 
			
		||||
	InvokeHelper(0x15, DISPATCH_PROPERTYGET, VT_BOOL, (void*)&result, NULL);
 | 
			
		||||
	return result;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
void CWMPPlayer4::SetFullScreen(BOOL bNewValue)
 | 
			
		||||
{
 | 
			
		||||
	static BYTE parms[] =
 | 
			
		||||
		VTS_BOOL;
 | 
			
		||||
	InvokeHelper(0x15, DISPATCH_PROPERTYPUT, VT_EMPTY, NULL, parms,
 | 
			
		||||
		 bNewValue);
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
BOOL CWMPPlayer4::GetEnableContextMenu()
 | 
			
		||||
{
 | 
			
		||||
	BOOL result;
 | 
			
		||||
	InvokeHelper(0x16, DISPATCH_PROPERTYGET, VT_BOOL, (void*)&result, NULL);
 | 
			
		||||
	return result;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
void CWMPPlayer4::SetEnableContextMenu(BOOL bNewValue)
 | 
			
		||||
{
 | 
			
		||||
	static BYTE parms[] =
 | 
			
		||||
		VTS_BOOL;
 | 
			
		||||
	InvokeHelper(0x16, DISPATCH_PROPERTYPUT, VT_EMPTY, NULL, parms,
 | 
			
		||||
		 bNewValue);
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
void CWMPPlayer4::SetUiMode(LPCTSTR lpszNewValue)
 | 
			
		||||
{
 | 
			
		||||
	static BYTE parms[] =
 | 
			
		||||
		VTS_BSTR;
 | 
			
		||||
	InvokeHelper(0x17, DISPATCH_PROPERTYPUT, VT_EMPTY, NULL, parms,
 | 
			
		||||
		 lpszNewValue);
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
CString CWMPPlayer4::GetUiMode()
 | 
			
		||||
{
 | 
			
		||||
	CString result;
 | 
			
		||||
	InvokeHelper(0x17, DISPATCH_PROPERTYGET, VT_BSTR, (void*)&result, NULL);
 | 
			
		||||
	return result;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
BOOL CWMPPlayer4::GetStretchToFit()
 | 
			
		||||
{
 | 
			
		||||
	BOOL result;
 | 
			
		||||
	InvokeHelper(0x18, DISPATCH_PROPERTYGET, VT_BOOL, (void*)&result, NULL);
 | 
			
		||||
	return result;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
void CWMPPlayer4::SetStretchToFit(BOOL bNewValue)
 | 
			
		||||
{
 | 
			
		||||
	static BYTE parms[] =
 | 
			
		||||
		VTS_BOOL;
 | 
			
		||||
	InvokeHelper(0x18, DISPATCH_PROPERTYPUT, VT_EMPTY, NULL, parms,
 | 
			
		||||
		 bNewValue);
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
BOOL CWMPPlayer4::GetWindowlessVideo()
 | 
			
		||||
{
 | 
			
		||||
	BOOL result;
 | 
			
		||||
	InvokeHelper(0x19, DISPATCH_PROPERTYGET, VT_BOOL, (void*)&result, NULL);
 | 
			
		||||
	return result;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
void CWMPPlayer4::SetWindowlessVideo(BOOL bNewValue)
 | 
			
		||||
{
 | 
			
		||||
	static BYTE parms[] =
 | 
			
		||||
		VTS_BOOL;
 | 
			
		||||
	InvokeHelper(0x19, DISPATCH_PROPERTYPUT, VT_EMPTY, NULL, parms,
 | 
			
		||||
		 bNewValue);
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
BOOL CWMPPlayer4::GetIsRemote()
 | 
			
		||||
{
 | 
			
		||||
	BOOL result;
 | 
			
		||||
	InvokeHelper(0x1a, DISPATCH_PROPERTYGET, VT_BOOL, (void*)&result, NULL);
 | 
			
		||||
	return result;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
CWMPPlayerApplication CWMPPlayer4::GetPlayerApplication()
 | 
			
		||||
{
 | 
			
		||||
	LPDISPATCH pDispatch;
 | 
			
		||||
	InvokeHelper(0x1b, DISPATCH_PROPERTYGET, VT_DISPATCH, (void*)&pDispatch, NULL);
 | 
			
		||||
	return CWMPPlayerApplication(pDispatch);
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
void CWMPPlayer4::openPlayer(LPCTSTR bstrURL)
 | 
			
		||||
{
 | 
			
		||||
	static BYTE parms[] =
 | 
			
		||||
		VTS_BSTR;
 | 
			
		||||
	InvokeHelper(0x1c, DISPATCH_METHOD, VT_EMPTY, NULL, parms,
 | 
			
		||||
		 bstrURL);
 | 
			
		||||
}
 | 
			
		||||
							
								
								
									
										104
									
								
								plugins/wmpa/wmpplayer4.h
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										104
									
								
								plugins/wmpa/wmpplayer4.h
									
										
									
									
									
										Normal file
									
								
							| 
						 | 
				
			
			@ -0,0 +1,104 @@
 | 
			
		|||
#if !defined(AFX_WMPPLAYER4_H__A318AE12_803B_4EED_B586_1395637CDD35__INCLUDED_)
 | 
			
		||||
#define AFX_WMPPLAYER4_H__A318AE12_803B_4EED_B586_1395637CDD35__INCLUDED_
 | 
			
		||||
 | 
			
		||||
#if _MSC_VER > 1000
 | 
			
		||||
#pragma once
 | 
			
		||||
#endif // _MSC_VER > 1000
 | 
			
		||||
// Machine generated IDispatch wrapper class(es) created by Microsoft Visual C++
 | 
			
		||||
 | 
			
		||||
// NOTE: Do not modify the contents of this file.  If this class is regenerated by
 | 
			
		||||
//  Microsoft Visual C++, your modifications will be overwritten.
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
// Dispatch interfaces referenced by this interface
 | 
			
		||||
class CWMPControls;
 | 
			
		||||
class CWMPSettings;
 | 
			
		||||
class CWMPMedia;
 | 
			
		||||
class CWMPMediaCollection;
 | 
			
		||||
class CWMPPlaylistCollection;
 | 
			
		||||
class CWMPNetwork;
 | 
			
		||||
class CWMPPlaylist;
 | 
			
		||||
class CWMPCdromCollection;
 | 
			
		||||
class CWMPClosedCaption;
 | 
			
		||||
class CWMPError;
 | 
			
		||||
class CWMPDVD;
 | 
			
		||||
class CWMPPlayerApplication;
 | 
			
		||||
 | 
			
		||||
/////////////////////////////////////////////////////////////////////////////
 | 
			
		||||
// CWMPPlayer4 wrapper class
 | 
			
		||||
 | 
			
		||||
class CWMPPlayer4 : public CWnd
 | 
			
		||||
{
 | 
			
		||||
protected:
 | 
			
		||||
	DECLARE_DYNCREATE(CWMPPlayer4)
 | 
			
		||||
public:
 | 
			
		||||
	CLSID const& GetClsid()
 | 
			
		||||
	{
 | 
			
		||||
		static CLSID const clsid
 | 
			
		||||
			= { 0x6bf52a52, 0x394a, 0x11d3, { 0xb1, 0x53, 0x0, 0xc0, 0x4f, 0x79, 0xfa, 0xa6 } };
 | 
			
		||||
		return clsid;
 | 
			
		||||
	}
 | 
			
		||||
	virtual BOOL Create(LPCTSTR lpszClassName,
 | 
			
		||||
		LPCTSTR lpszWindowName, DWORD dwStyle,
 | 
			
		||||
		const RECT& rect,
 | 
			
		||||
		CWnd* pParentWnd, UINT nID,
 | 
			
		||||
		CCreateContext* pContext = NULL)
 | 
			
		||||
	{ return CreateControl(GetClsid(), lpszWindowName, dwStyle, rect, pParentWnd, nID); }
 | 
			
		||||
 | 
			
		||||
    BOOL Create(LPCTSTR lpszWindowName, DWORD dwStyle,
 | 
			
		||||
		const RECT& rect, CWnd* pParentWnd, UINT nID,
 | 
			
		||||
		CFile* pPersist = NULL, BOOL bStorage = FALSE,
 | 
			
		||||
		BSTR bstrLicKey = NULL)
 | 
			
		||||
	{ return CreateControl(GetClsid(), lpszWindowName, dwStyle, rect, pParentWnd, nID,
 | 
			
		||||
		pPersist, bStorage, bstrLicKey); }
 | 
			
		||||
 | 
			
		||||
// Attributes
 | 
			
		||||
public:
 | 
			
		||||
 | 
			
		||||
// Operations
 | 
			
		||||
public:
 | 
			
		||||
	void close();
 | 
			
		||||
	CString GetUrl();
 | 
			
		||||
	void SetUrl(LPCTSTR lpszNewValue);
 | 
			
		||||
	long GetOpenState();
 | 
			
		||||
	long GetPlayState();
 | 
			
		||||
	CWMPControls GetControls();
 | 
			
		||||
	CWMPSettings GetSettings();
 | 
			
		||||
	CWMPMedia GetCurrentMedia();
 | 
			
		||||
	void SetCurrentMedia(LPDISPATCH newValue);
 | 
			
		||||
	CWMPMediaCollection GetMediaCollection();
 | 
			
		||||
	CWMPPlaylistCollection GetPlaylistCollection();
 | 
			
		||||
	CString GetVersionInfo();
 | 
			
		||||
	void launchURL(LPCTSTR bstrURL);
 | 
			
		||||
	CWMPNetwork GetNetwork();
 | 
			
		||||
	CWMPPlaylist GetCurrentPlaylist();
 | 
			
		||||
	void SetCurrentPlaylist(LPDISPATCH newValue);
 | 
			
		||||
	CWMPCdromCollection GetCdromCollection();
 | 
			
		||||
	CWMPClosedCaption GetClosedCaption();
 | 
			
		||||
	BOOL GetIsOnline();
 | 
			
		||||
	CWMPError GetError();
 | 
			
		||||
	CString GetStatus();
 | 
			
		||||
	CWMPDVD GetDvd();
 | 
			
		||||
	CWMPPlaylist newPlaylist(LPCTSTR bstrName, LPCTSTR bstrURL);
 | 
			
		||||
	CWMPMedia newMedia(LPCTSTR bstrURL);
 | 
			
		||||
	BOOL GetEnabled();
 | 
			
		||||
	void SetEnabled(BOOL bNewValue);
 | 
			
		||||
	BOOL GetFullScreen();
 | 
			
		||||
	void SetFullScreen(BOOL bNewValue);
 | 
			
		||||
	BOOL GetEnableContextMenu();
 | 
			
		||||
	void SetEnableContextMenu(BOOL bNewValue);
 | 
			
		||||
	void SetUiMode(LPCTSTR lpszNewValue);
 | 
			
		||||
	CString GetUiMode();
 | 
			
		||||
	BOOL GetStretchToFit();
 | 
			
		||||
	void SetStretchToFit(BOOL bNewValue);
 | 
			
		||||
	BOOL GetWindowlessVideo();
 | 
			
		||||
	void SetWindowlessVideo(BOOL bNewValue);
 | 
			
		||||
	BOOL GetIsRemote();
 | 
			
		||||
	CWMPPlayerApplication GetPlayerApplication();
 | 
			
		||||
	void openPlayer(LPCTSTR bstrURL);
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
//{{AFX_INSERT_LOCATION}}
 | 
			
		||||
// Microsoft Visual C++ will insert additional declarations immediately before the previous line.
 | 
			
		||||
 | 
			
		||||
#endif // !defined(AFX_WMPPLAYER4_H__A318AE12_803B_4EED_B586_1395637CDD35__INCLUDED_)
 | 
			
		||||
							
								
								
									
										39
									
								
								plugins/wmpa/wmpplayerapplication.cpp
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										39
									
								
								plugins/wmpa/wmpplayerapplication.cpp
									
										
									
									
									
										Normal file
									
								
							| 
						 | 
				
			
			@ -0,0 +1,39 @@
 | 
			
		|||
// Machine generated IDispatch wrapper class(es) created by Microsoft Visual C++
 | 
			
		||||
 | 
			
		||||
// NOTE: Do not modify the contents of this file.  If this class is regenerated by
 | 
			
		||||
//  Microsoft Visual C++, your modifications will be overwritten.
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
#include "stdafx.h"
 | 
			
		||||
#include "wmpplayerapplication.h"
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
/////////////////////////////////////////////////////////////////////////////
 | 
			
		||||
// CWMPPlayerApplication properties
 | 
			
		||||
 | 
			
		||||
/////////////////////////////////////////////////////////////////////////////
 | 
			
		||||
// CWMPPlayerApplication operations
 | 
			
		||||
 | 
			
		||||
void CWMPPlayerApplication::switchToPlayerApplication()
 | 
			
		||||
{
 | 
			
		||||
	InvokeHelper(0x44d, DISPATCH_METHOD, VT_EMPTY, NULL, NULL);
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
void CWMPPlayerApplication::switchToControl()
 | 
			
		||||
{
 | 
			
		||||
	InvokeHelper(0x44e, DISPATCH_METHOD, VT_EMPTY, NULL, NULL);
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
BOOL CWMPPlayerApplication::GetPlayerDocked()
 | 
			
		||||
{
 | 
			
		||||
	BOOL result;
 | 
			
		||||
	InvokeHelper(0x44f, DISPATCH_PROPERTYGET, VT_BOOL, (void*)&result, NULL);
 | 
			
		||||
	return result;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
BOOL CWMPPlayerApplication::GetHasDisplay()
 | 
			
		||||
{
 | 
			
		||||
	BOOL result;
 | 
			
		||||
	InvokeHelper(0x450, DISPATCH_PROPERTYGET, VT_BOOL, (void*)&result, NULL);
 | 
			
		||||
	return result;
 | 
			
		||||
}
 | 
			
		||||
							
								
								
									
										36
									
								
								plugins/wmpa/wmpplayerapplication.h
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										36
									
								
								plugins/wmpa/wmpplayerapplication.h
									
										
									
									
									
										Normal file
									
								
							| 
						 | 
				
			
			@ -0,0 +1,36 @@
 | 
			
		|||
#if !defined(AFX_WMPPLAYERAPPLICATION_H__A69CB85C_22A1_4A02_979D_3FFB61135553__INCLUDED_)
 | 
			
		||||
#define AFX_WMPPLAYERAPPLICATION_H__A69CB85C_22A1_4A02_979D_3FFB61135553__INCLUDED_
 | 
			
		||||
 | 
			
		||||
#if _MSC_VER > 1000
 | 
			
		||||
#pragma once
 | 
			
		||||
#endif // _MSC_VER > 1000
 | 
			
		||||
// Machine generated IDispatch wrapper class(es) created by Microsoft Visual C++
 | 
			
		||||
 | 
			
		||||
// NOTE: Do not modify the contents of this file.  If this class is regenerated by
 | 
			
		||||
//  Microsoft Visual C++, your modifications will be overwritten.
 | 
			
		||||
 | 
			
		||||
/////////////////////////////////////////////////////////////////////////////
 | 
			
		||||
// CWMPPlayerApplication wrapper class
 | 
			
		||||
 | 
			
		||||
class CWMPPlayerApplication : public COleDispatchDriver
 | 
			
		||||
{
 | 
			
		||||
public:
 | 
			
		||||
	CWMPPlayerApplication() {}		// Calls COleDispatchDriver default constructor
 | 
			
		||||
	CWMPPlayerApplication(LPDISPATCH pDispatch) : COleDispatchDriver(pDispatch) {}
 | 
			
		||||
	CWMPPlayerApplication(const CWMPPlayerApplication& dispatchSrc) : COleDispatchDriver(dispatchSrc) {}
 | 
			
		||||
 | 
			
		||||
// Attributes
 | 
			
		||||
public:
 | 
			
		||||
 | 
			
		||||
// Operations
 | 
			
		||||
public:
 | 
			
		||||
	void switchToPlayerApplication();
 | 
			
		||||
	void switchToControl();
 | 
			
		||||
	BOOL GetPlayerDocked();
 | 
			
		||||
	BOOL GetHasDisplay();
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
//{{AFX_INSERT_LOCATION}}
 | 
			
		||||
// Microsoft Visual C++ will insert additional declarations immediately before the previous line.
 | 
			
		||||
 | 
			
		||||
#endif // !defined(AFX_WMPPLAYERAPPLICATION_H__A69CB85C_22A1_4A02_979D_3FFB61135553__INCLUDED_)
 | 
			
		||||
							
								
								
									
										132
									
								
								plugins/wmpa/wmpplaylist.cpp
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										132
									
								
								plugins/wmpa/wmpplaylist.cpp
									
										
									
									
									
										Normal file
									
								
							| 
						 | 
				
			
			@ -0,0 +1,132 @@
 | 
			
		|||
// Machine generated IDispatch wrapper class(es) created by Microsoft Visual C++
 | 
			
		||||
 | 
			
		||||
// NOTE: Do not modify the contents of this file.  If this class is regenerated by
 | 
			
		||||
//  Microsoft Visual C++, your modifications will be overwritten.
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
#include "stdafx.h"
 | 
			
		||||
#include "wmpplaylist.h"
 | 
			
		||||
 | 
			
		||||
// Dispatch interfaces referenced by this interface
 | 
			
		||||
#include "WMPMedia.h"
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
/////////////////////////////////////////////////////////////////////////////
 | 
			
		||||
// CWMPPlaylist properties
 | 
			
		||||
 | 
			
		||||
/////////////////////////////////////////////////////////////////////////////
 | 
			
		||||
// CWMPPlaylist operations
 | 
			
		||||
 | 
			
		||||
long CWMPPlaylist::GetCount()
 | 
			
		||||
{
 | 
			
		||||
	long result;
 | 
			
		||||
	InvokeHelper(0xc9, DISPATCH_PROPERTYGET, VT_I4, (void*)&result, NULL);
 | 
			
		||||
	return result;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
CString CWMPPlaylist::GetName()
 | 
			
		||||
{
 | 
			
		||||
	CString result;
 | 
			
		||||
	InvokeHelper(0xca, DISPATCH_PROPERTYGET, VT_BSTR, (void*)&result, NULL);
 | 
			
		||||
	return result;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
void CWMPPlaylist::SetName(LPCTSTR lpszNewValue)
 | 
			
		||||
{
 | 
			
		||||
	static BYTE parms[] =
 | 
			
		||||
		VTS_BSTR;
 | 
			
		||||
	InvokeHelper(0xca, DISPATCH_PROPERTYPUT, VT_EMPTY, NULL, parms,
 | 
			
		||||
		 lpszNewValue);
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
long CWMPPlaylist::GetAttributeCount()
 | 
			
		||||
{
 | 
			
		||||
	long result;
 | 
			
		||||
	InvokeHelper(0xd2, DISPATCH_PROPERTYGET, VT_I4, (void*)&result, NULL);
 | 
			
		||||
	return result;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
CString CWMPPlaylist::GetAttributeName(long lIndex)
 | 
			
		||||
{
 | 
			
		||||
	CString result;
 | 
			
		||||
	static BYTE parms[] =
 | 
			
		||||
		VTS_I4;
 | 
			
		||||
	InvokeHelper(0xd3, DISPATCH_PROPERTYGET, VT_BSTR, (void*)&result, parms,
 | 
			
		||||
		lIndex);
 | 
			
		||||
	return result;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
CWMPMedia CWMPPlaylist::GetItem(long lIndex)
 | 
			
		||||
{
 | 
			
		||||
	LPDISPATCH pDispatch;
 | 
			
		||||
	static BYTE parms[] =
 | 
			
		||||
		VTS_I4;
 | 
			
		||||
	InvokeHelper(0xd4, DISPATCH_PROPERTYGET, VT_DISPATCH, (void*)&pDispatch, parms,
 | 
			
		||||
		lIndex);
 | 
			
		||||
	return CWMPMedia(pDispatch);
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
CString CWMPPlaylist::getItemInfo(LPCTSTR bstrName)
 | 
			
		||||
{
 | 
			
		||||
	CString result;
 | 
			
		||||
	static BYTE parms[] =
 | 
			
		||||
		VTS_BSTR;
 | 
			
		||||
	InvokeHelper(0xcb, DISPATCH_METHOD, VT_BSTR, (void*)&result, parms,
 | 
			
		||||
		bstrName);
 | 
			
		||||
	return result;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
void CWMPPlaylist::setItemInfo(LPCTSTR bstrName, LPCTSTR bstrValue)
 | 
			
		||||
{
 | 
			
		||||
	static BYTE parms[] =
 | 
			
		||||
		VTS_BSTR VTS_BSTR;
 | 
			
		||||
	InvokeHelper(0xcc, DISPATCH_METHOD, VT_EMPTY, NULL, parms,
 | 
			
		||||
		 bstrName, bstrValue);
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
BOOL CWMPPlaylist::GetIsIdentical(LPDISPATCH pIWMPPlaylist)
 | 
			
		||||
{
 | 
			
		||||
	BOOL result;
 | 
			
		||||
	static BYTE parms[] =
 | 
			
		||||
		VTS_DISPATCH;
 | 
			
		||||
	InvokeHelper(0xd5, DISPATCH_PROPERTYGET, VT_BOOL, (void*)&result, parms,
 | 
			
		||||
		pIWMPPlaylist);
 | 
			
		||||
	return result;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
void CWMPPlaylist::clear()
 | 
			
		||||
{
 | 
			
		||||
	InvokeHelper(0xcd, DISPATCH_METHOD, VT_EMPTY, NULL, NULL);
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
void CWMPPlaylist::insertItem(long lIndex, LPDISPATCH pIWMPMedia)
 | 
			
		||||
{
 | 
			
		||||
	static BYTE parms[] =
 | 
			
		||||
		VTS_I4 VTS_DISPATCH;
 | 
			
		||||
	InvokeHelper(0xce, DISPATCH_METHOD, VT_EMPTY, NULL, parms,
 | 
			
		||||
		 lIndex, pIWMPMedia);
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
void CWMPPlaylist::appendItem(LPDISPATCH pIWMPMedia)
 | 
			
		||||
{
 | 
			
		||||
	static BYTE parms[] =
 | 
			
		||||
		VTS_DISPATCH;
 | 
			
		||||
	InvokeHelper(0xcf, DISPATCH_METHOD, VT_EMPTY, NULL, parms,
 | 
			
		||||
		 pIWMPMedia);
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
void CWMPPlaylist::removeItem(LPDISPATCH pIWMPMedia)
 | 
			
		||||
{
 | 
			
		||||
	static BYTE parms[] =
 | 
			
		||||
		VTS_DISPATCH;
 | 
			
		||||
	InvokeHelper(0xd0, DISPATCH_METHOD, VT_EMPTY, NULL, parms,
 | 
			
		||||
		 pIWMPMedia);
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
void CWMPPlaylist::moveItem(long lIndexOld, long lIndexNew)
 | 
			
		||||
{
 | 
			
		||||
	static BYTE parms[] =
 | 
			
		||||
		VTS_I4 VTS_I4;
 | 
			
		||||
	InvokeHelper(0xd1, DISPATCH_METHOD, VT_EMPTY, NULL, parms,
 | 
			
		||||
		 lIndexOld, lIndexNew);
 | 
			
		||||
}
 | 
			
		||||
							
								
								
									
										50
									
								
								plugins/wmpa/wmpplaylist.h
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										50
									
								
								plugins/wmpa/wmpplaylist.h
									
										
									
									
									
										Normal file
									
								
							| 
						 | 
				
			
			@ -0,0 +1,50 @@
 | 
			
		|||
#if !defined(AFX_WMPPLAYLIST_H__B739DAEE_6828_4128_8A0A_E6750502339C__INCLUDED_)
 | 
			
		||||
#define AFX_WMPPLAYLIST_H__B739DAEE_6828_4128_8A0A_E6750502339C__INCLUDED_
 | 
			
		||||
 | 
			
		||||
#if _MSC_VER > 1000
 | 
			
		||||
#pragma once
 | 
			
		||||
#endif // _MSC_VER > 1000
 | 
			
		||||
// Machine generated IDispatch wrapper class(es) created by Microsoft Visual C++
 | 
			
		||||
 | 
			
		||||
// NOTE: Do not modify the contents of this file.  If this class is regenerated by
 | 
			
		||||
//  Microsoft Visual C++, your modifications will be overwritten.
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
// Dispatch interfaces referenced by this interface
 | 
			
		||||
class CWMPMedia;
 | 
			
		||||
 | 
			
		||||
/////////////////////////////////////////////////////////////////////////////
 | 
			
		||||
// CWMPPlaylist wrapper class
 | 
			
		||||
 | 
			
		||||
class CWMPPlaylist : public COleDispatchDriver
 | 
			
		||||
{
 | 
			
		||||
public:
 | 
			
		||||
	CWMPPlaylist() {}		// Calls COleDispatchDriver default constructor
 | 
			
		||||
	CWMPPlaylist(LPDISPATCH pDispatch) : COleDispatchDriver(pDispatch) {}
 | 
			
		||||
	CWMPPlaylist(const CWMPPlaylist& dispatchSrc) : COleDispatchDriver(dispatchSrc) {}
 | 
			
		||||
 | 
			
		||||
// Attributes
 | 
			
		||||
public:
 | 
			
		||||
 | 
			
		||||
// Operations
 | 
			
		||||
public:
 | 
			
		||||
	long GetCount();
 | 
			
		||||
	CString GetName();
 | 
			
		||||
	void SetName(LPCTSTR lpszNewValue);
 | 
			
		||||
	long GetAttributeCount();
 | 
			
		||||
	CString GetAttributeName(long lIndex);
 | 
			
		||||
	CWMPMedia GetItem(long lIndex);
 | 
			
		||||
	CString getItemInfo(LPCTSTR bstrName);
 | 
			
		||||
	void setItemInfo(LPCTSTR bstrName, LPCTSTR bstrValue);
 | 
			
		||||
	BOOL GetIsIdentical(LPDISPATCH pIWMPPlaylist);
 | 
			
		||||
	void clear();
 | 
			
		||||
	void insertItem(long lIndex, LPDISPATCH pIWMPMedia);
 | 
			
		||||
	void appendItem(LPDISPATCH pIWMPMedia);
 | 
			
		||||
	void removeItem(LPDISPATCH pIWMPMedia);
 | 
			
		||||
	void moveItem(long lIndexOld, long lIndexNew);
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
//{{AFX_INSERT_LOCATION}}
 | 
			
		||||
// Microsoft Visual C++ will insert additional declarations immediately before the previous line.
 | 
			
		||||
 | 
			
		||||
#endif // !defined(AFX_WMPPLAYLIST_H__B739DAEE_6828_4128_8A0A_E6750502339C__INCLUDED_)
 | 
			
		||||
							
								
								
									
										35
									
								
								plugins/wmpa/wmpplaylistarray.cpp
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										35
									
								
								plugins/wmpa/wmpplaylistarray.cpp
									
										
									
									
									
										Normal file
									
								
							| 
						 | 
				
			
			@ -0,0 +1,35 @@
 | 
			
		|||
// Machine generated IDispatch wrapper class(es) created by Microsoft Visual C++
 | 
			
		||||
 | 
			
		||||
// NOTE: Do not modify the contents of this file.  If this class is regenerated by
 | 
			
		||||
//  Microsoft Visual C++, your modifications will be overwritten.
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
#include "stdafx.h"
 | 
			
		||||
#include "wmpplaylistarray.h"
 | 
			
		||||
 | 
			
		||||
// Dispatch interfaces referenced by this interface
 | 
			
		||||
#include "wmpplaylist.h"
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
/////////////////////////////////////////////////////////////////////////////
 | 
			
		||||
// CWMPPlaylistArray properties
 | 
			
		||||
 | 
			
		||||
/////////////////////////////////////////////////////////////////////////////
 | 
			
		||||
// CWMPPlaylistArray operations
 | 
			
		||||
 | 
			
		||||
long CWMPPlaylistArray::GetCount()
 | 
			
		||||
{
 | 
			
		||||
	long result;
 | 
			
		||||
	InvokeHelper(0x1f5, DISPATCH_PROPERTYGET, VT_I4, (void*)&result, NULL);
 | 
			
		||||
	return result;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
CWMPPlaylist CWMPPlaylistArray::Item(long lIndex)
 | 
			
		||||
{
 | 
			
		||||
	LPDISPATCH pDispatch;
 | 
			
		||||
	static BYTE parms[] =
 | 
			
		||||
		VTS_I4;
 | 
			
		||||
	InvokeHelper(0x1f6, DISPATCH_METHOD, VT_DISPATCH, (void*)&pDispatch, parms,
 | 
			
		||||
		lIndex);
 | 
			
		||||
	return CWMPPlaylist(pDispatch);
 | 
			
		||||
}
 | 
			
		||||
							
								
								
									
										38
									
								
								plugins/wmpa/wmpplaylistarray.h
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										38
									
								
								plugins/wmpa/wmpplaylistarray.h
									
										
									
									
									
										Normal file
									
								
							| 
						 | 
				
			
			@ -0,0 +1,38 @@
 | 
			
		|||
#if !defined(AFX_WMPPLAYLISTARRAY_H__6368C8A4_18CF_4937_993F_F7FBE512B851__INCLUDED_)
 | 
			
		||||
#define AFX_WMPPLAYLISTARRAY_H__6368C8A4_18CF_4937_993F_F7FBE512B851__INCLUDED_
 | 
			
		||||
 | 
			
		||||
#if _MSC_VER > 1000
 | 
			
		||||
#pragma once
 | 
			
		||||
#endif // _MSC_VER > 1000
 | 
			
		||||
// Machine generated IDispatch wrapper class(es) created by Microsoft Visual C++
 | 
			
		||||
 | 
			
		||||
// NOTE: Do not modify the contents of this file.  If this class is regenerated by
 | 
			
		||||
//  Microsoft Visual C++, your modifications will be overwritten.
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
// Dispatch interfaces referenced by this interface
 | 
			
		||||
class CWMPPlaylist;
 | 
			
		||||
 | 
			
		||||
/////////////////////////////////////////////////////////////////////////////
 | 
			
		||||
// CWMPPlaylistArray wrapper class
 | 
			
		||||
 | 
			
		||||
class CWMPPlaylistArray : public COleDispatchDriver
 | 
			
		||||
{
 | 
			
		||||
public:
 | 
			
		||||
	CWMPPlaylistArray() {}		// Calls COleDispatchDriver default constructor
 | 
			
		||||
	CWMPPlaylistArray(LPDISPATCH pDispatch) : COleDispatchDriver(pDispatch) {}
 | 
			
		||||
	CWMPPlaylistArray(const CWMPPlaylistArray& dispatchSrc) : COleDispatchDriver(dispatchSrc) {}
 | 
			
		||||
 | 
			
		||||
// Attributes
 | 
			
		||||
public:
 | 
			
		||||
 | 
			
		||||
// Operations
 | 
			
		||||
public:
 | 
			
		||||
	long GetCount();
 | 
			
		||||
	CWMPPlaylist Item(long lIndex);
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
//{{AFX_INSERT_LOCATION}}
 | 
			
		||||
// Microsoft Visual C++ will insert additional declarations immediately before the previous line.
 | 
			
		||||
 | 
			
		||||
#endif // !defined(AFX_WMPPLAYLISTARRAY_H__6368C8A4_18CF_4937_993F_F7FBE512B851__INCLUDED_)
 | 
			
		||||
							
								
								
									
										82
									
								
								plugins/wmpa/wmpplaylistcollection.cpp
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										82
									
								
								plugins/wmpa/wmpplaylistcollection.cpp
									
										
									
									
									
										Normal file
									
								
							| 
						 | 
				
			
			@ -0,0 +1,82 @@
 | 
			
		|||
// Machine generated IDispatch wrapper class(es) created by Microsoft Visual C++
 | 
			
		||||
 | 
			
		||||
// NOTE: Do not modify the contents of this file.  If this class is regenerated by
 | 
			
		||||
//  Microsoft Visual C++, your modifications will be overwritten.
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
#include "stdafx.h"
 | 
			
		||||
#include "wmpplaylistcollection.h"
 | 
			
		||||
 | 
			
		||||
// Dispatch interfaces referenced by this interface
 | 
			
		||||
#include "wmpplaylist.h"
 | 
			
		||||
#include "WMPPlaylistArray.h"
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
/////////////////////////////////////////////////////////////////////////////
 | 
			
		||||
// CWMPPlaylistCollection properties
 | 
			
		||||
 | 
			
		||||
/////////////////////////////////////////////////////////////////////////////
 | 
			
		||||
// CWMPPlaylistCollection operations
 | 
			
		||||
 | 
			
		||||
CWMPPlaylist CWMPPlaylistCollection::newPlaylist(LPCTSTR bstrName)
 | 
			
		||||
{
 | 
			
		||||
	LPDISPATCH pDispatch;
 | 
			
		||||
	static BYTE parms[] =
 | 
			
		||||
		VTS_BSTR;
 | 
			
		||||
	InvokeHelper(0x228, DISPATCH_METHOD, VT_DISPATCH, (void*)&pDispatch, parms,
 | 
			
		||||
		bstrName);
 | 
			
		||||
	return CWMPPlaylist(pDispatch);
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
CWMPPlaylistArray CWMPPlaylistCollection::getAll()
 | 
			
		||||
{
 | 
			
		||||
	LPDISPATCH pDispatch;
 | 
			
		||||
	InvokeHelper(0x229, DISPATCH_METHOD, VT_DISPATCH, (void*)&pDispatch, NULL);
 | 
			
		||||
	return CWMPPlaylistArray(pDispatch);
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
CWMPPlaylistArray CWMPPlaylistCollection::getByName(LPCTSTR bstrName)
 | 
			
		||||
{
 | 
			
		||||
	LPDISPATCH pDispatch;
 | 
			
		||||
	static BYTE parms[] =
 | 
			
		||||
		VTS_BSTR;
 | 
			
		||||
	InvokeHelper(0x22a, DISPATCH_METHOD, VT_DISPATCH, (void*)&pDispatch, parms,
 | 
			
		||||
		bstrName);
 | 
			
		||||
	return CWMPPlaylistArray(pDispatch);
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
void CWMPPlaylistCollection::remove(LPDISPATCH pItem)
 | 
			
		||||
{
 | 
			
		||||
	static BYTE parms[] =
 | 
			
		||||
		VTS_DISPATCH;
 | 
			
		||||
	InvokeHelper(0x22c, DISPATCH_METHOD, VT_EMPTY, NULL, parms,
 | 
			
		||||
		 pItem);
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
void CWMPPlaylistCollection::setDeleted(LPDISPATCH pItem, BOOL varfIsDeleted)
 | 
			
		||||
{
 | 
			
		||||
	static BYTE parms[] =
 | 
			
		||||
		VTS_DISPATCH VTS_BOOL;
 | 
			
		||||
	InvokeHelper(0x230, DISPATCH_METHOD, VT_EMPTY, NULL, parms,
 | 
			
		||||
		 pItem, varfIsDeleted);
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
BOOL CWMPPlaylistCollection::isDeleted(LPDISPATCH pItem)
 | 
			
		||||
{
 | 
			
		||||
	BOOL result;
 | 
			
		||||
	static BYTE parms[] =
 | 
			
		||||
		VTS_DISPATCH;
 | 
			
		||||
	InvokeHelper(0x231, DISPATCH_METHOD, VT_BOOL, (void*)&result, parms,
 | 
			
		||||
		pItem);
 | 
			
		||||
	return result;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
CWMPPlaylist CWMPPlaylistCollection::importPlaylist(LPDISPATCH pItem)
 | 
			
		||||
{
 | 
			
		||||
	LPDISPATCH pDispatch;
 | 
			
		||||
	static BYTE parms[] =
 | 
			
		||||
		VTS_DISPATCH;
 | 
			
		||||
	InvokeHelper(0x232, DISPATCH_METHOD, VT_DISPATCH, (void*)&pDispatch, parms,
 | 
			
		||||
		pItem);
 | 
			
		||||
	return CWMPPlaylist(pDispatch);
 | 
			
		||||
}
 | 
			
		||||
							
								
								
									
										44
									
								
								plugins/wmpa/wmpplaylistcollection.h
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										44
									
								
								plugins/wmpa/wmpplaylistcollection.h
									
										
									
									
									
										Normal file
									
								
							| 
						 | 
				
			
			@ -0,0 +1,44 @@
 | 
			
		|||
#if !defined(AFX_WMPPLAYLISTCOLLECTION_H__D07F4C6A_4574_4463_8A11_4A5654E38062__INCLUDED_)
 | 
			
		||||
#define AFX_WMPPLAYLISTCOLLECTION_H__D07F4C6A_4574_4463_8A11_4A5654E38062__INCLUDED_
 | 
			
		||||
 | 
			
		||||
#if _MSC_VER > 1000
 | 
			
		||||
#pragma once
 | 
			
		||||
#endif // _MSC_VER > 1000
 | 
			
		||||
// Machine generated IDispatch wrapper class(es) created by Microsoft Visual C++
 | 
			
		||||
 | 
			
		||||
// NOTE: Do not modify the contents of this file.  If this class is regenerated by
 | 
			
		||||
//  Microsoft Visual C++, your modifications will be overwritten.
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
// Dispatch interfaces referenced by this interface
 | 
			
		||||
class CWMPPlaylist;
 | 
			
		||||
class CWMPPlaylistArray;
 | 
			
		||||
 | 
			
		||||
/////////////////////////////////////////////////////////////////////////////
 | 
			
		||||
// CWMPPlaylistCollection wrapper class
 | 
			
		||||
 | 
			
		||||
class CWMPPlaylistCollection : public COleDispatchDriver
 | 
			
		||||
{
 | 
			
		||||
public:
 | 
			
		||||
	CWMPPlaylistCollection() {}		// Calls COleDispatchDriver default constructor
 | 
			
		||||
	CWMPPlaylistCollection(LPDISPATCH pDispatch) : COleDispatchDriver(pDispatch) {}
 | 
			
		||||
	CWMPPlaylistCollection(const CWMPPlaylistCollection& dispatchSrc) : COleDispatchDriver(dispatchSrc) {}
 | 
			
		||||
 | 
			
		||||
// Attributes
 | 
			
		||||
public:
 | 
			
		||||
 | 
			
		||||
// Operations
 | 
			
		||||
public:
 | 
			
		||||
	CWMPPlaylist newPlaylist(LPCTSTR bstrName);
 | 
			
		||||
	CWMPPlaylistArray getAll();
 | 
			
		||||
	CWMPPlaylistArray getByName(LPCTSTR bstrName);
 | 
			
		||||
	void remove(LPDISPATCH pItem);
 | 
			
		||||
	void setDeleted(LPDISPATCH pItem, BOOL varfIsDeleted);
 | 
			
		||||
	BOOL isDeleted(LPDISPATCH pItem);
 | 
			
		||||
	CWMPPlaylist importPlaylist(LPDISPATCH pItem);
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
//{{AFX_INSERT_LOCATION}}
 | 
			
		||||
// Microsoft Visual C++ will insert additional declarations immediately before the previous line.
 | 
			
		||||
 | 
			
		||||
#endif // !defined(AFX_WMPPLAYLISTCOLLECTION_H__D07F4C6A_4574_4463_8A11_4A5654E38062__INCLUDED_)
 | 
			
		||||
							
								
								
									
										193
									
								
								plugins/wmpa/wmpsettings.cpp
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										193
									
								
								plugins/wmpa/wmpsettings.cpp
									
										
									
									
									
										Normal file
									
								
							| 
						 | 
				
			
			@ -0,0 +1,193 @@
 | 
			
		|||
// Machine generated IDispatch wrapper class(es) created by Microsoft Visual C++
 | 
			
		||||
 | 
			
		||||
// NOTE: Do not modify the contents of this file.  If this class is regenerated by
 | 
			
		||||
//  Microsoft Visual C++, your modifications will be overwritten.
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
#include "stdafx.h"
 | 
			
		||||
#include "wmpsettings.h"
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
/////////////////////////////////////////////////////////////////////////////
 | 
			
		||||
// CWMPSettings properties
 | 
			
		||||
 | 
			
		||||
/////////////////////////////////////////////////////////////////////////////
 | 
			
		||||
// CWMPSettings operations
 | 
			
		||||
 | 
			
		||||
BOOL CWMPSettings::GetIsAvailable(LPCTSTR bstrItem)
 | 
			
		||||
{
 | 
			
		||||
	BOOL result;
 | 
			
		||||
	static BYTE parms[] =
 | 
			
		||||
		VTS_BSTR;
 | 
			
		||||
	InvokeHelper(0x71, DISPATCH_PROPERTYGET, VT_BOOL, (void*)&result, parms,
 | 
			
		||||
		bstrItem);
 | 
			
		||||
	return result;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
BOOL CWMPSettings::GetAutoStart()
 | 
			
		||||
{
 | 
			
		||||
	BOOL result;
 | 
			
		||||
	InvokeHelper(0x65, DISPATCH_PROPERTYGET, VT_BOOL, (void*)&result, NULL);
 | 
			
		||||
	return result;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
void CWMPSettings::SetAutoStart(BOOL bNewValue)
 | 
			
		||||
{
 | 
			
		||||
	static BYTE parms[] =
 | 
			
		||||
		VTS_BOOL;
 | 
			
		||||
	InvokeHelper(0x65, DISPATCH_PROPERTYPUT, VT_EMPTY, NULL, parms,
 | 
			
		||||
		 bNewValue);
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
CString CWMPSettings::GetBaseURL()
 | 
			
		||||
{
 | 
			
		||||
	CString result;
 | 
			
		||||
	InvokeHelper(0x6c, DISPATCH_PROPERTYGET, VT_BSTR, (void*)&result, NULL);
 | 
			
		||||
	return result;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
void CWMPSettings::SetBaseURL(LPCTSTR lpszNewValue)
 | 
			
		||||
{
 | 
			
		||||
	static BYTE parms[] =
 | 
			
		||||
		VTS_BSTR;
 | 
			
		||||
	InvokeHelper(0x6c, DISPATCH_PROPERTYPUT, VT_EMPTY, NULL, parms,
 | 
			
		||||
		 lpszNewValue);
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
CString CWMPSettings::GetDefaultFrame()
 | 
			
		||||
{
 | 
			
		||||
	CString result;
 | 
			
		||||
	InvokeHelper(0x6d, DISPATCH_PROPERTYGET, VT_BSTR, (void*)&result, NULL);
 | 
			
		||||
	return result;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
void CWMPSettings::SetDefaultFrame(LPCTSTR lpszNewValue)
 | 
			
		||||
{
 | 
			
		||||
	static BYTE parms[] =
 | 
			
		||||
		VTS_BSTR;
 | 
			
		||||
	InvokeHelper(0x6d, DISPATCH_PROPERTYPUT, VT_EMPTY, NULL, parms,
 | 
			
		||||
		 lpszNewValue);
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
BOOL CWMPSettings::GetInvokeURLs()
 | 
			
		||||
{
 | 
			
		||||
	BOOL result;
 | 
			
		||||
	InvokeHelper(0x67, DISPATCH_PROPERTYGET, VT_BOOL, (void*)&result, NULL);
 | 
			
		||||
	return result;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
void CWMPSettings::SetInvokeURLs(BOOL bNewValue)
 | 
			
		||||
{
 | 
			
		||||
	static BYTE parms[] =
 | 
			
		||||
		VTS_BOOL;
 | 
			
		||||
	InvokeHelper(0x67, DISPATCH_PROPERTYPUT, VT_EMPTY, NULL, parms,
 | 
			
		||||
		 bNewValue);
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
BOOL CWMPSettings::GetMute()
 | 
			
		||||
{
 | 
			
		||||
	BOOL result;
 | 
			
		||||
	InvokeHelper(0x68, DISPATCH_PROPERTYGET, VT_BOOL, (void*)&result, NULL);
 | 
			
		||||
	return result;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
void CWMPSettings::SetMute(BOOL bNewValue)
 | 
			
		||||
{
 | 
			
		||||
	static BYTE parms[] =
 | 
			
		||||
		VTS_BOOL;
 | 
			
		||||
	InvokeHelper(0x68, DISPATCH_PROPERTYPUT, VT_EMPTY, NULL, parms,
 | 
			
		||||
		 bNewValue);
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
long CWMPSettings::GetPlayCount()
 | 
			
		||||
{
 | 
			
		||||
	long result;
 | 
			
		||||
	InvokeHelper(0x69, DISPATCH_PROPERTYGET, VT_I4, (void*)&result, NULL);
 | 
			
		||||
	return result;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
void CWMPSettings::SetPlayCount(long nNewValue)
 | 
			
		||||
{
 | 
			
		||||
	static BYTE parms[] =
 | 
			
		||||
		VTS_I4;
 | 
			
		||||
	InvokeHelper(0x69, DISPATCH_PROPERTYPUT, VT_EMPTY, NULL, parms,
 | 
			
		||||
		 nNewValue);
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
double CWMPSettings::GetRate()
 | 
			
		||||
{
 | 
			
		||||
	double result;
 | 
			
		||||
	InvokeHelper(0x6a, DISPATCH_PROPERTYGET, VT_R8, (void*)&result, NULL);
 | 
			
		||||
	return result;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
void CWMPSettings::SetRate(double newValue)
 | 
			
		||||
{
 | 
			
		||||
	static BYTE parms[] =
 | 
			
		||||
		VTS_R8;
 | 
			
		||||
	InvokeHelper(0x6a, DISPATCH_PROPERTYPUT, VT_EMPTY, NULL, parms,
 | 
			
		||||
		 newValue);
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
long CWMPSettings::GetBalance()
 | 
			
		||||
{
 | 
			
		||||
	long result;
 | 
			
		||||
	InvokeHelper(0x66, DISPATCH_PROPERTYGET, VT_I4, (void*)&result, NULL);
 | 
			
		||||
	return result;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
void CWMPSettings::SetBalance(long nNewValue)
 | 
			
		||||
{
 | 
			
		||||
	static BYTE parms[] =
 | 
			
		||||
		VTS_I4;
 | 
			
		||||
	InvokeHelper(0x66, DISPATCH_PROPERTYPUT, VT_EMPTY, NULL, parms,
 | 
			
		||||
		 nNewValue);
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
long CWMPSettings::GetVolume()
 | 
			
		||||
{
 | 
			
		||||
	long result;
 | 
			
		||||
	InvokeHelper(0x6b, DISPATCH_PROPERTYGET, VT_I4, (void*)&result, NULL);
 | 
			
		||||
	return result;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
void CWMPSettings::SetVolume(long nNewValue)
 | 
			
		||||
{
 | 
			
		||||
	static BYTE parms[] =
 | 
			
		||||
		VTS_I4;
 | 
			
		||||
	InvokeHelper(0x6b, DISPATCH_PROPERTYPUT, VT_EMPTY, NULL, parms,
 | 
			
		||||
		 nNewValue);
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
BOOL CWMPSettings::getMode(LPCTSTR bstrMode)
 | 
			
		||||
{
 | 
			
		||||
	BOOL result;
 | 
			
		||||
	static BYTE parms[] =
 | 
			
		||||
		VTS_BSTR;
 | 
			
		||||
	InvokeHelper(0x6e, DISPATCH_METHOD, VT_BOOL, (void*)&result, parms,
 | 
			
		||||
		bstrMode);
 | 
			
		||||
	return result;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
void CWMPSettings::setMode(LPCTSTR bstrMode, BOOL varfMode)
 | 
			
		||||
{
 | 
			
		||||
	static BYTE parms[] =
 | 
			
		||||
		VTS_BSTR VTS_BOOL;
 | 
			
		||||
	InvokeHelper(0x6f, DISPATCH_METHOD, VT_EMPTY, NULL, parms,
 | 
			
		||||
		 bstrMode, varfMode);
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
BOOL CWMPSettings::GetEnableErrorDialogs()
 | 
			
		||||
{
 | 
			
		||||
	BOOL result;
 | 
			
		||||
	InvokeHelper(0x70, DISPATCH_PROPERTYGET, VT_BOOL, (void*)&result, NULL);
 | 
			
		||||
	return result;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
void CWMPSettings::SetEnableErrorDialogs(BOOL bNewValue)
 | 
			
		||||
{
 | 
			
		||||
	static BYTE parms[] =
 | 
			
		||||
		VTS_BOOL;
 | 
			
		||||
	InvokeHelper(0x70, DISPATCH_PROPERTYPUT, VT_EMPTY, NULL, parms,
 | 
			
		||||
		 bNewValue);
 | 
			
		||||
}
 | 
			
		||||
							
								
								
									
										55
									
								
								plugins/wmpa/wmpsettings.h
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										55
									
								
								plugins/wmpa/wmpsettings.h
									
										
									
									
									
										Normal file
									
								
							| 
						 | 
				
			
			@ -0,0 +1,55 @@
 | 
			
		|||
#if !defined(AFX_WMPSETTINGS_H__28D3DCCC_3E9A_48AE_97A9_3C1337309AF4__INCLUDED_)
 | 
			
		||||
#define AFX_WMPSETTINGS_H__28D3DCCC_3E9A_48AE_97A9_3C1337309AF4__INCLUDED_
 | 
			
		||||
 | 
			
		||||
#if _MSC_VER > 1000
 | 
			
		||||
#pragma once
 | 
			
		||||
#endif // _MSC_VER > 1000
 | 
			
		||||
// Machine generated IDispatch wrapper class(es) created by Microsoft Visual C++
 | 
			
		||||
 | 
			
		||||
// NOTE: Do not modify the contents of this file.  If this class is regenerated by
 | 
			
		||||
//  Microsoft Visual C++, your modifications will be overwritten.
 | 
			
		||||
 | 
			
		||||
/////////////////////////////////////////////////////////////////////////////
 | 
			
		||||
// CWMPSettings wrapper class
 | 
			
		||||
 | 
			
		||||
class CWMPSettings : public COleDispatchDriver
 | 
			
		||||
{
 | 
			
		||||
public:
 | 
			
		||||
	CWMPSettings() {}		// Calls COleDispatchDriver default constructor
 | 
			
		||||
	CWMPSettings(LPDISPATCH pDispatch) : COleDispatchDriver(pDispatch) {}
 | 
			
		||||
	CWMPSettings(const CWMPSettings& dispatchSrc) : COleDispatchDriver(dispatchSrc) {}
 | 
			
		||||
 | 
			
		||||
// Attributes
 | 
			
		||||
public:
 | 
			
		||||
 | 
			
		||||
// Operations
 | 
			
		||||
public:
 | 
			
		||||
	BOOL GetIsAvailable(LPCTSTR bstrItem);
 | 
			
		||||
	BOOL GetAutoStart();
 | 
			
		||||
	void SetAutoStart(BOOL bNewValue);
 | 
			
		||||
	CString GetBaseURL();
 | 
			
		||||
	void SetBaseURL(LPCTSTR lpszNewValue);
 | 
			
		||||
	CString GetDefaultFrame();
 | 
			
		||||
	void SetDefaultFrame(LPCTSTR lpszNewValue);
 | 
			
		||||
	BOOL GetInvokeURLs();
 | 
			
		||||
	void SetInvokeURLs(BOOL bNewValue);
 | 
			
		||||
	BOOL GetMute();
 | 
			
		||||
	void SetMute(BOOL bNewValue);
 | 
			
		||||
	long GetPlayCount();
 | 
			
		||||
	void SetPlayCount(long nNewValue);
 | 
			
		||||
	double GetRate();
 | 
			
		||||
	void SetRate(double newValue);
 | 
			
		||||
	long GetBalance();
 | 
			
		||||
	void SetBalance(long nNewValue);
 | 
			
		||||
	long GetVolume();
 | 
			
		||||
	void SetVolume(long nNewValue);
 | 
			
		||||
	BOOL getMode(LPCTSTR bstrMode);
 | 
			
		||||
	void setMode(LPCTSTR bstrMode, BOOL varfMode);
 | 
			
		||||
	BOOL GetEnableErrorDialogs();
 | 
			
		||||
	void SetEnableErrorDialogs(BOOL bNewValue);
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
//{{AFX_INSERT_LOCATION}}
 | 
			
		||||
// Microsoft Visual C++ will insert additional declarations immediately before the previous line.
 | 
			
		||||
 | 
			
		||||
#endif // !defined(AFX_WMPSETTINGS_H__28D3DCCC_3E9A_48AE_97A9_3C1337309AF4__INCLUDED_)
 | 
			
		||||
							
								
								
									
										32
									
								
								plugins/wmpa/wmpstringcollection.cpp
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										32
									
								
								plugins/wmpa/wmpstringcollection.cpp
									
										
									
									
									
										Normal file
									
								
							| 
						 | 
				
			
			@ -0,0 +1,32 @@
 | 
			
		|||
// Machine generated IDispatch wrapper class(es) created by Microsoft Visual C++
 | 
			
		||||
 | 
			
		||||
// NOTE: Do not modify the contents of this file.  If this class is regenerated by
 | 
			
		||||
//  Microsoft Visual C++, your modifications will be overwritten.
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
#include "stdafx.h"
 | 
			
		||||
#include "wmpstringcollection.h"
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
/////////////////////////////////////////////////////////////////////////////
 | 
			
		||||
// CWMPStringCollection properties
 | 
			
		||||
 | 
			
		||||
/////////////////////////////////////////////////////////////////////////////
 | 
			
		||||
// CWMPStringCollection operations
 | 
			
		||||
 | 
			
		||||
long CWMPStringCollection::GetCount()
 | 
			
		||||
{
 | 
			
		||||
	long result;
 | 
			
		||||
	InvokeHelper(0x191, DISPATCH_PROPERTYGET, VT_I4, (void*)&result, NULL);
 | 
			
		||||
	return result;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
CString CWMPStringCollection::Item(long lIndex)
 | 
			
		||||
{
 | 
			
		||||
	CString result;
 | 
			
		||||
	static BYTE parms[] =
 | 
			
		||||
		VTS_I4;
 | 
			
		||||
	InvokeHelper(0x192, DISPATCH_METHOD, VT_BSTR, (void*)&result, parms,
 | 
			
		||||
		lIndex);
 | 
			
		||||
	return result;
 | 
			
		||||
}
 | 
			
		||||
							
								
								
									
										34
									
								
								plugins/wmpa/wmpstringcollection.h
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										34
									
								
								plugins/wmpa/wmpstringcollection.h
									
										
									
									
									
										Normal file
									
								
							| 
						 | 
				
			
			@ -0,0 +1,34 @@
 | 
			
		|||
#if !defined(AFX_WMPSTRINGCOLLECTION_H__782BAE9B_652B_476D_9448_808027B17262__INCLUDED_)
 | 
			
		||||
#define AFX_WMPSTRINGCOLLECTION_H__782BAE9B_652B_476D_9448_808027B17262__INCLUDED_
 | 
			
		||||
 | 
			
		||||
#if _MSC_VER > 1000
 | 
			
		||||
#pragma once
 | 
			
		||||
#endif // _MSC_VER > 1000
 | 
			
		||||
// Machine generated IDispatch wrapper class(es) created by Microsoft Visual C++
 | 
			
		||||
 | 
			
		||||
// NOTE: Do not modify the contents of this file.  If this class is regenerated by
 | 
			
		||||
//  Microsoft Visual C++, your modifications will be overwritten.
 | 
			
		||||
 | 
			
		||||
/////////////////////////////////////////////////////////////////////////////
 | 
			
		||||
// CWMPStringCollection wrapper class
 | 
			
		||||
 | 
			
		||||
class CWMPStringCollection : public COleDispatchDriver
 | 
			
		||||
{
 | 
			
		||||
public:
 | 
			
		||||
	CWMPStringCollection() {}		// Calls COleDispatchDriver default constructor
 | 
			
		||||
	CWMPStringCollection(LPDISPATCH pDispatch) : COleDispatchDriver(pDispatch) {}
 | 
			
		||||
	CWMPStringCollection(const CWMPStringCollection& dispatchSrc) : COleDispatchDriver(dispatchSrc) {}
 | 
			
		||||
 | 
			
		||||
// Attributes
 | 
			
		||||
public:
 | 
			
		||||
 | 
			
		||||
// Operations
 | 
			
		||||
public:
 | 
			
		||||
	long GetCount();
 | 
			
		||||
	CString Item(long lIndex);
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
//{{AFX_INSERT_LOCATION}}
 | 
			
		||||
// Microsoft Visual C++ will insert additional declarations immediately before the previous line.
 | 
			
		||||
 | 
			
		||||
#endif // !defined(AFX_WMPSTRINGCOLLECTION_H__782BAE9B_652B_476D_9448_808027B17262__INCLUDED_)
 | 
			
		||||
							
								
								
									
										590
									
								
								plugins/wmpa/xchat-plugin.cpp
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										590
									
								
								plugins/wmpa/xchat-plugin.cpp
									
										
									
									
									
										Normal file
									
								
							| 
						 | 
				
			
			@ -0,0 +1,590 @@
 | 
			
		|||
/******************************************************************
 | 
			
		||||
* $Id$
 | 
			
		||||
*
 | 
			
		||||
* $Log$
 | 
			
		||||
*
 | 
			
		||||
* Copyright © 2005 David Cullen, All rights reserved
 | 
			
		||||
*
 | 
			
		||||
******************************************************************/
 | 
			
		||||
#include "stdafx.h"
 | 
			
		||||
#include "xchat-plugin.h"
 | 
			
		||||
#include <windows.h>
 | 
			
		||||
#include <tchar.h>
 | 
			
		||||
#include "wmpa.h"
 | 
			
		||||
#include "WMPADialog.h"
 | 
			
		||||
 | 
			
		||||
#define XMMS_SESSION 0
 | 
			
		||||
 | 
			
		||||
/******************************************************************
 | 
			
		||||
* Globalss
 | 
			
		||||
******************************************************************/
 | 
			
		||||
xchat_plugin *ph = NULL;
 | 
			
		||||
CWMPPlayer4 *wmp;
 | 
			
		||||
static const char subKey[] = "Software\\FlowerSoft\\WMPA";
 | 
			
		||||
 | 
			
		||||
/******************************************************************
 | 
			
		||||
* xchat_plugin_init
 | 
			
		||||
******************************************************************/
 | 
			
		||||
int xchat_plugin_init(xchat_plugin *plugin_handle,
 | 
			
		||||
                      char **plugin_name,
 | 
			
		||||
                      char **plugin_desc,
 | 
			
		||||
                      char **plugin_version,
 | 
			
		||||
                      char *arg)
 | 
			
		||||
{
 | 
			
		||||
   BOOL success;
 | 
			
		||||
 | 
			
		||||
   ph = plugin_handle;
 | 
			
		||||
 | 
			
		||||
   *plugin_name = "WMPA";
 | 
			
		||||
   *plugin_desc = "Announce the current song from Windows Media Player.";
 | 
			
		||||
   *plugin_version = VER_STRING;
 | 
			
		||||
 | 
			
		||||
   // Show the song browser
 | 
			
		||||
   success = StartWindowsMediaPlayer();
 | 
			
		||||
   if (!success) {
 | 
			
		||||
      xchat_printf(ph, "WMPA: Failed to show the song browser.");
 | 
			
		||||
      xchat_printf(ph, "WMPA: Could not load plug-in version %s.", VER_STRING);
 | 
			
		||||
      return(E_FAIL);
 | 
			
		||||
   }
 | 
			
		||||
 | 
			
		||||
   // Get a pointer to the Windows Media Player control
 | 
			
		||||
   wmp = GetWindowsMediaPlayer();
 | 
			
		||||
   if (wmp == NULL) {
 | 
			
		||||
      xchat_printf(ph, "WMPA: Failed to get a pointer to the Windows Media Player interface.");
 | 
			
		||||
      xchat_printf(ph, "WMPA: Could not load plug-in version %s.", VER_STRING);
 | 
			
		||||
      return(E_POINTER);
 | 
			
		||||
   }
 | 
			
		||||
 | 
			
		||||
   // Restore the settings (need wmp first)
 | 
			
		||||
   success = wmpaRestoreSettings();
 | 
			
		||||
   if (!success) {
 | 
			
		||||
      xchat_printf(ph, "WMPA: Failed to restore the settings.");
 | 
			
		||||
   }
 | 
			
		||||
 | 
			
		||||
   xchat_hook_command(ph, "auto", XCHAT_PRI_NORM, wmpaAuto, 0, 0);
 | 
			
		||||
   xchat_hook_command(ph, "curr", XCHAT_PRI_NORM, wmpaCurr, 0, 0);
 | 
			
		||||
   xchat_hook_command(ph, "find", XCHAT_PRI_NORM, wmpaFind, 0, 0);
 | 
			
		||||
   xchat_hook_command(ph, "slist", XCHAT_PRI_NORM, wmpaList, 0, 0);
 | 
			
		||||
   xchat_hook_command(ph, "next", XCHAT_PRI_NORM, wmpaNext, 0, 0);
 | 
			
		||||
   xchat_hook_command(ph, "play", XCHAT_PRI_NORM, wmpaPlay, 0, 0);
 | 
			
		||||
   xchat_hook_command(ph, "pause", XCHAT_PRI_NORM, wmpaPause, 0, 0);
 | 
			
		||||
   xchat_hook_command(ph, "prev", XCHAT_PRI_NORM, wmpaPrev, 0, 0);
 | 
			
		||||
   xchat_hook_command(ph, "song", XCHAT_PRI_NORM, wmpaSong, 0, 0);
 | 
			
		||||
   xchat_hook_command(ph, "stop", XCHAT_PRI_NORM, wmpaStop, 0, 0);
 | 
			
		||||
   xchat_hook_command(ph, "volume", XCHAT_PRI_NORM, wmpaVolume, 0, 0);
 | 
			
		||||
   xchat_hook_command(ph, "wmpahelp", XCHAT_PRI_NORM, wmpaHelp, 0, 0);
 | 
			
		||||
 | 
			
		||||
   xchat_printf(ph, "WMPA %s successfully loaded.", VER_STRING);
 | 
			
		||||
   wmpaCommands();
 | 
			
		||||
   xchat_printf(ph, "WMPA: e-mail me if you find any bugs: dcullen@intergate.com");
 | 
			
		||||
 | 
			
		||||
   return 1;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
/******************************************************************
 | 
			
		||||
* xchat_plugin_deinit
 | 
			
		||||
******************************************************************/
 | 
			
		||||
int xchat_plugin_deinit(void)
 | 
			
		||||
{
 | 
			
		||||
   BOOL success;
 | 
			
		||||
 | 
			
		||||
   xchat_printf(ph, "WMPA %s is unloading.", VER_STRING);
 | 
			
		||||
 | 
			
		||||
   // Save the settings
 | 
			
		||||
   success = wmpaSaveSettings();
 | 
			
		||||
   if (!success) {
 | 
			
		||||
      xchat_printf(ph, "WMPA: Failed to save the settings.");
 | 
			
		||||
   }
 | 
			
		||||
 | 
			
		||||
   wmp = NULL;
 | 
			
		||||
 | 
			
		||||
   BOOL result = StopWindowsMediaPlayer();
 | 
			
		||||
   if (!result) {
 | 
			
		||||
      xchat_printf(ph, "WMPA could not shut down Windows Media Player.");
 | 
			
		||||
   }
 | 
			
		||||
 | 
			
		||||
   xchat_printf(ph, "WMPA %s has unloaded.", VER_STRING);
 | 
			
		||||
   return 1;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
/******************************************************************
 | 
			
		||||
* xchat_plugin_get_info
 | 
			
		||||
******************************************************************/
 | 
			
		||||
void xchat_plugin_get_info(char **name, char **desc, char **version, void **reserved)
 | 
			
		||||
{
 | 
			
		||||
   *name = "WMPA";
 | 
			
		||||
   *desc = "Announce the current song from Windows Media Player.";
 | 
			
		||||
   *version = VER_STRING;
 | 
			
		||||
   if (reserved) *reserved = NULL;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
/******************************************************************
 | 
			
		||||
* wmpaCommands
 | 
			
		||||
******************************************************************/
 | 
			
		||||
void wmpaCommands(void)
 | 
			
		||||
{
 | 
			
		||||
   xchat_printf(ph, "WMPA: /auto [on/off]   : Turn on/off auto announce of the current song or display the current setting");
 | 
			
		||||
   xchat_printf(ph, "WMPA: /curr            : Tell what song is currently playing");
 | 
			
		||||
   xchat_printf(ph, "WMPA: /find [word]     : Find songs with \"word\" in their title, create a new playlist, and play it");
 | 
			
		||||
   xchat_printf(ph, "WMPA: /slist [word]    : List songs with \"word\" in their title");
 | 
			
		||||
   xchat_printf(ph, "WMPA: /next            : Play the next song");
 | 
			
		||||
   xchat_printf(ph, "WMPA: /play            : Play the current song");
 | 
			
		||||
   xchat_printf(ph, "WMPA: /pause           : Pause the current song");
 | 
			
		||||
   xchat_printf(ph, "WMPA: /prev            : Play the previous song");
 | 
			
		||||
   xchat_printf(ph, "WMPA: /song            : Announce the current song from Windows Media Player in xchat");
 | 
			
		||||
   xchat_printf(ph, "WMPA: /stop            : Stop the current song");
 | 
			
		||||
   xchat_printf(ph, "WMPA: /volume [volume] : Set the volume (0 to 100) or display the current volume");
 | 
			
		||||
   xchat_printf(ph, "WMPA: /wmpahelp        : Display this help.");
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
/******************************************************************
 | 
			
		||||
* wmpaAuto
 | 
			
		||||
******************************************************************/
 | 
			
		||||
int wmpaAuto(char *word[], char *word_eol[], void *user_data)
 | 
			
		||||
{
 | 
			
		||||
   CWMPADialog *pDialog;
 | 
			
		||||
   char *state;
 | 
			
		||||
 | 
			
		||||
   pDialog = GetWMPADialog();
 | 
			
		||||
   if (pDialog == NULL) return(XCHAT_EAT_ALL);
 | 
			
		||||
 | 
			
		||||
   if (CString(word[2]).IsEmpty()) {
 | 
			
		||||
      if (pDialog->autoAnnounce) {
 | 
			
		||||
         state = "on";
 | 
			
		||||
      }
 | 
			
		||||
      else {
 | 
			
		||||
         state = "off";
 | 
			
		||||
      }
 | 
			
		||||
   }
 | 
			
		||||
   else {
 | 
			
		||||
      state = word[2];
 | 
			
		||||
      if (CString(state) == "on") {
 | 
			
		||||
         pDialog->autoAnnounce = TRUE;
 | 
			
		||||
      }
 | 
			
		||||
      if (CString(state) == "off") {
 | 
			
		||||
         pDialog->autoAnnounce = FALSE;
 | 
			
		||||
      }
 | 
			
		||||
      wmpaSaveSettings();
 | 
			
		||||
   }
 | 
			
		||||
 | 
			
		||||
   xchat_printf(ph, "WMPA: auto is %s", state);
 | 
			
		||||
 | 
			
		||||
   return(XCHAT_EAT_ALL);
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
/******************************************************************
 | 
			
		||||
* wmpaCurr
 | 
			
		||||
******************************************************************/
 | 
			
		||||
int wmpaCurr(char *word[], char *word_eol[], void *user_data)
 | 
			
		||||
{
 | 
			
		||||
   xchat_printf(ph, "WMPA: Playing %s", (LPCTSTR) wmpaGetSongTitle());
 | 
			
		||||
 | 
			
		||||
   return(XCHAT_EAT_ALL);
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
/******************************************************************
 | 
			
		||||
* wmpaFind
 | 
			
		||||
******************************************************************/
 | 
			
		||||
int wmpaFind(char *word[], char *word_eol[], void *user_data)
 | 
			
		||||
{
 | 
			
		||||
   long index;
 | 
			
		||||
   long count;
 | 
			
		||||
   long found;
 | 
			
		||||
 | 
			
		||||
   if (wmp != NULL) {
 | 
			
		||||
      CWMPMediaCollection mc = wmp->GetMediaCollection();
 | 
			
		||||
      CWMPPlaylist all = mc.getAll();
 | 
			
		||||
      CWMPPlaylistCollection pc = wmp->GetPlaylistCollection();
 | 
			
		||||
      CWMPPlaylistArray pa = pc.getAll();
 | 
			
		||||
      CWMPPlaylist playlist;
 | 
			
		||||
      CWMPMedia media;
 | 
			
		||||
 | 
			
		||||
      for (index = 0; index < pc.getAll().GetCount(); index++) {
 | 
			
		||||
         if (pc.getAll().Item(index).GetName() == CString(word_eol[2])) {
 | 
			
		||||
            playlist = pc.getAll().Item(index);
 | 
			
		||||
            pc.remove(playlist);
 | 
			
		||||
         }
 | 
			
		||||
      }
 | 
			
		||||
 | 
			
		||||
      playlist = pc.newPlaylist(word_eol[2]);
 | 
			
		||||
 | 
			
		||||
      count = all.GetCount();
 | 
			
		||||
      found = 0;
 | 
			
		||||
      for (index = 0; index < count; index++) {
 | 
			
		||||
         media = all.GetItem(index);
 | 
			
		||||
         CString artist = media.getItemInfo("Artist");
 | 
			
		||||
         CString title  = media.getItemInfo("Title");
 | 
			
		||||
         CString album  = media.getItemInfo("Album");
 | 
			
		||||
         if ( (artist.Find(word_eol[2]) != -1) ||
 | 
			
		||||
              (title.Find(word_eol[2])  != -1) ||
 | 
			
		||||
              (album.Find(word_eol[2])  != -1) ) {
 | 
			
		||||
            playlist.appendItem(media);
 | 
			
		||||
            found++;
 | 
			
		||||
         }
 | 
			
		||||
      }
 | 
			
		||||
 | 
			
		||||
      if (found > 0) {
 | 
			
		||||
         xchat_printf(ph, "WMPA: Found %d songs with \"%s\" in them", found, word_eol[2]);
 | 
			
		||||
         wmp->SetCurrentPlaylist(playlist);
 | 
			
		||||
         wmp->GetControls().play();
 | 
			
		||||
         xchat_printf(ph, "WMPA: Playing %s", (LPCTSTR) wmpaGetSongTitle());
 | 
			
		||||
 | 
			
		||||
         CWMPADialog *dialog = GetWMPADialog();
 | 
			
		||||
         if (dialog != NULL) {
 | 
			
		||||
            dialog->UpdateSongList();
 | 
			
		||||
            dialog->SelectCurrentSong();
 | 
			
		||||
            dialog->UpdatePlayLists();
 | 
			
		||||
         }
 | 
			
		||||
 | 
			
		||||
      }
 | 
			
		||||
      else {
 | 
			
		||||
         xchat_printf(ph, "WMPA: Could not find %s", word_eol[2]);
 | 
			
		||||
      }
 | 
			
		||||
 | 
			
		||||
   }
 | 
			
		||||
 | 
			
		||||
   return(XCHAT_EAT_ALL);
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
/******************************************************************
 | 
			
		||||
* wmpaList
 | 
			
		||||
******************************************************************/
 | 
			
		||||
int wmpaList(char *word[], char *word_eol[], void *user_data)
 | 
			
		||||
{
 | 
			
		||||
   long index;
 | 
			
		||||
   long count;
 | 
			
		||||
   long found;
 | 
			
		||||
 | 
			
		||||
   if (wmp != NULL) {
 | 
			
		||||
      xchat_printf(ph, "WMPA: Listing songs with \"%s\" in them", word_eol[2]);
 | 
			
		||||
 | 
			
		||||
      CWMPMediaCollection mc = wmp->GetMediaCollection();
 | 
			
		||||
      CWMPPlaylist all = mc.getAll();
 | 
			
		||||
      CWMPMedia media;
 | 
			
		||||
 | 
			
		||||
      count = all.GetCount();
 | 
			
		||||
      found = 0;
 | 
			
		||||
      for (index = 0; index < count; index++) {
 | 
			
		||||
         media = all.GetItem(index);
 | 
			
		||||
         CString artist = media.getItemInfo("Artist");
 | 
			
		||||
         CString title  = media.getItemInfo("Title");
 | 
			
		||||
         CString album  = media.getItemInfo("Album");
 | 
			
		||||
         if ( (artist.Find(word_eol[2]) != -1) ||
 | 
			
		||||
              (title.Find(word_eol[2])  != -1) ||
 | 
			
		||||
              (album.Find(word_eol[2])  != -1) ) {
 | 
			
		||||
            xchat_printf(ph, "WMPA: Found \"%s - %s (%s)\"", artist, title, album);
 | 
			
		||||
            found++;
 | 
			
		||||
         }
 | 
			
		||||
      }
 | 
			
		||||
 | 
			
		||||
      if (found > 0) {
 | 
			
		||||
         if (found == 1)
 | 
			
		||||
            xchat_printf(ph, "WMPA: Found %d song with \"%s\" in it", found, word_eol[2]);
 | 
			
		||||
         else
 | 
			
		||||
            xchat_printf(ph, "WMPA: Found %d songs with \"%s\" in them", found, word_eol[2]);
 | 
			
		||||
      }
 | 
			
		||||
      else {
 | 
			
		||||
         xchat_printf(ph, "WMPA: Could not find any songs with \"%s\" in them", word_eol[2]);
 | 
			
		||||
      }
 | 
			
		||||
 | 
			
		||||
   }
 | 
			
		||||
 | 
			
		||||
   return(XCHAT_EAT_ALL);
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
/******************************************************************
 | 
			
		||||
* wmpaNext
 | 
			
		||||
******************************************************************/
 | 
			
		||||
int wmpaNext(char *word[], char *word_eol[], void *user_data)
 | 
			
		||||
{
 | 
			
		||||
   if (wmp != NULL) {
 | 
			
		||||
      wmp->GetControls().next();
 | 
			
		||||
      xchat_printf(ph, "WMPA: Playing %s", (LPCTSTR) wmpaGetSongTitle());
 | 
			
		||||
   }
 | 
			
		||||
   return(XCHAT_EAT_ALL);
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
/******************************************************************
 | 
			
		||||
* wmpaPlay
 | 
			
		||||
******************************************************************/
 | 
			
		||||
int wmpaPlay(char *word[], char *word_eol[], void *user_data)
 | 
			
		||||
{
 | 
			
		||||
   if (wmp != NULL) {
 | 
			
		||||
      wmp->GetControls().play();
 | 
			
		||||
      xchat_printf(ph, "WMPA: Playing %s", (LPCTSTR) wmpaGetSongTitle());
 | 
			
		||||
   }
 | 
			
		||||
   return(XCHAT_EAT_ALL);
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
/******************************************************************
 | 
			
		||||
* wmpaPause
 | 
			
		||||
******************************************************************/
 | 
			
		||||
int wmpaPause(char *word[], char *word_eol[], void *user_data)
 | 
			
		||||
{
 | 
			
		||||
   if (wmp != NULL) {
 | 
			
		||||
      wmp->GetControls().pause();
 | 
			
		||||
      xchat_printf(ph, "WMPA: Pausing %s", (LPCTSTR) wmpaGetSongTitle());
 | 
			
		||||
   }
 | 
			
		||||
   return(XCHAT_EAT_ALL);
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
/******************************************************************
 | 
			
		||||
* wmpaPrev
 | 
			
		||||
******************************************************************/
 | 
			
		||||
int wmpaPrev(char *word[], char *word_eol[], void *user_data)
 | 
			
		||||
{
 | 
			
		||||
   if (wmp != NULL) {
 | 
			
		||||
      wmp->GetControls().previous();
 | 
			
		||||
      xchat_printf(ph, "WMPA: Playing %s", (LPCTSTR) wmpaGetSongTitle());
 | 
			
		||||
   }
 | 
			
		||||
   return(XCHAT_EAT_ALL);
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
/******************************************************************
 | 
			
		||||
* wmpaSong
 | 
			
		||||
******************************************************************/
 | 
			
		||||
int wmpaSong(char *word[], char *word_eol[], void *user_data)
 | 
			
		||||
{
 | 
			
		||||
   CString songTitle = wmpaGetSongTitle();
 | 
			
		||||
 | 
			
		||||
   xchat_commandf(ph, "me is playing %s", (LPCTSTR) songTitle);
 | 
			
		||||
 | 
			
		||||
   return(XCHAT_EAT_ALL);
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
/******************************************************************
 | 
			
		||||
* wmpaStop
 | 
			
		||||
******************************************************************/
 | 
			
		||||
int wmpaStop(char *word[], char *word_eol[], void *user_data)
 | 
			
		||||
{
 | 
			
		||||
   if (wmp != NULL) {
 | 
			
		||||
      wmp->GetControls().stop();
 | 
			
		||||
      xchat_printf(ph, "WMPA: Stopping %s", (LPCTSTR) wmpaGetSongTitle());
 | 
			
		||||
   }
 | 
			
		||||
   return(XCHAT_EAT_ALL);
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
/******************************************************************
 | 
			
		||||
* wmpaHelp
 | 
			
		||||
******************************************************************/
 | 
			
		||||
int wmpaHelp(char *word[], char *word_eol[], void *user_data)
 | 
			
		||||
{
 | 
			
		||||
   xchat_printf(ph, "\n");
 | 
			
		||||
   xchat_printf(ph, "WMPA %s Help", VER_STRING);
 | 
			
		||||
   wmpaCommands();
 | 
			
		||||
   xchat_printf(ph, "\n");
 | 
			
		||||
 | 
			
		||||
   return(XCHAT_EAT_ALL);
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
/******************************************************************
 | 
			
		||||
* wmpaVolume
 | 
			
		||||
******************************************************************/
 | 
			
		||||
int wmpaVolume(char *word[], char *word_eol[], void *user_data)
 | 
			
		||||
{
 | 
			
		||||
   char *endPtr;
 | 
			
		||||
   long volume;
 | 
			
		||||
 | 
			
		||||
   if (CString(word[2]).IsEmpty()) {
 | 
			
		||||
      volume = wmp->GetSettings().GetVolume();
 | 
			
		||||
   }
 | 
			
		||||
   else {
 | 
			
		||||
      volume = strtol(word[2], &endPtr, 10);
 | 
			
		||||
 | 
			
		||||
      if ((wmp != NULL) && (volume >= 0) && (volume <= 100)) {
 | 
			
		||||
         wmp->GetSettings().SetVolume(volume);
 | 
			
		||||
         wmpaSaveSettings();
 | 
			
		||||
      }
 | 
			
		||||
   }
 | 
			
		||||
 | 
			
		||||
   xchat_printf(ph, "WMPA: volume is %d", volume);
 | 
			
		||||
 | 
			
		||||
   return(XCHAT_EAT_ALL);
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
/******************************************************************
 | 
			
		||||
* wmpaRestoreSettings
 | 
			
		||||
******************************************************************/
 | 
			
		||||
BOOL wmpaRestoreSettings(void)
 | 
			
		||||
{
 | 
			
		||||
   CWMPADialog *pDialog;
 | 
			
		||||
   DWORD type;
 | 
			
		||||
   int volume;
 | 
			
		||||
   BOOL autoAnnounce;
 | 
			
		||||
   DWORD size;
 | 
			
		||||
   BOOL result;
 | 
			
		||||
 | 
			
		||||
   if (wmp == NULL) return(FALSE);
 | 
			
		||||
 | 
			
		||||
   volume = 50;
 | 
			
		||||
   result = GetSetting("Volume", &type, (LPBYTE) &volume, &size);
 | 
			
		||||
   wmp->GetSettings().SetVolume(volume);
 | 
			
		||||
 | 
			
		||||
   autoAnnounce = FALSE;
 | 
			
		||||
   pDialog = GetWMPADialog();
 | 
			
		||||
   if (pDialog != NULL) {
 | 
			
		||||
      result = result && GetSetting("Auto", &type, (LPBYTE) &autoAnnounce, &size);
 | 
			
		||||
      pDialog->autoAnnounce = autoAnnounce;
 | 
			
		||||
   }
 | 
			
		||||
   else {
 | 
			
		||||
      result = FALSE;
 | 
			
		||||
   }
 | 
			
		||||
 | 
			
		||||
   return(result);
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
/******************************************************************
 | 
			
		||||
* wmpaSaveSettings
 | 
			
		||||
******************************************************************/
 | 
			
		||||
BOOL wmpaSaveSettings(void)
 | 
			
		||||
{
 | 
			
		||||
   CWMPADialog *pDialog;
 | 
			
		||||
   int volume;
 | 
			
		||||
   BOOL autoAnnounce;
 | 
			
		||||
   BOOL result;
 | 
			
		||||
 | 
			
		||||
   if (wmp == NULL) return(FALSE);
 | 
			
		||||
 | 
			
		||||
   volume = wmp->GetSettings().GetVolume();
 | 
			
		||||
   result = SaveSetting("Volume", REG_DWORD, (CONST BYTE *) &volume, sizeof(volume));
 | 
			
		||||
 | 
			
		||||
   pDialog = GetWMPADialog();
 | 
			
		||||
   if (pDialog != NULL) {
 | 
			
		||||
      autoAnnounce = pDialog->autoAnnounce;
 | 
			
		||||
      result = result && SaveSetting("Auto", REG_DWORD, (CONST BYTE *) &autoAnnounce, sizeof(autoAnnounce));
 | 
			
		||||
   }
 | 
			
		||||
   else {
 | 
			
		||||
      result = FALSE;
 | 
			
		||||
   }
 | 
			
		||||
 | 
			
		||||
   return(result);
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
/******************************************************************
 | 
			
		||||
* wmpaGetSongTitle
 | 
			
		||||
******************************************************************/
 | 
			
		||||
CString wmpaGetSongTitle(void)
 | 
			
		||||
{
 | 
			
		||||
   char buffer[32];
 | 
			
		||||
 | 
			
		||||
   if (wmp == NULL) return(CString());
 | 
			
		||||
 | 
			
		||||
   CWMPMedia media      = wmp->GetCurrentMedia();
 | 
			
		||||
   if (media == NULL) {
 | 
			
		||||
      xchat_printf(ph, "WMPA: Could not get current media");
 | 
			
		||||
      return(XCHAT_EAT_ALL);
 | 
			
		||||
   }
 | 
			
		||||
 | 
			
		||||
   CString artist       = media.getItemInfo("Artist");
 | 
			
		||||
   CString title        = media.getItemInfo("Title");
 | 
			
		||||
   CString album        = media.getItemInfo("Album");
 | 
			
		||||
   CString bitrate      = media.getItemInfo("Bitrate");
 | 
			
		||||
   CString duration     = media.GetDurationString();
 | 
			
		||||
 | 
			
		||||
   long krate = strtoul((LPCTSTR) bitrate, NULL, 10) / 1000;
 | 
			
		||||
   _ultoa(krate, buffer, 10);
 | 
			
		||||
   bitrate = CString(buffer);
 | 
			
		||||
 | 
			
		||||
   // Creatte the song title
 | 
			
		||||
   CString songTitle("");
 | 
			
		||||
   songTitle += artist;
 | 
			
		||||
   if (songTitle.IsEmpty()) songTitle += "Various";
 | 
			
		||||
   songTitle += " - ";
 | 
			
		||||
   songTitle += title;
 | 
			
		||||
   songTitle += " (";
 | 
			
		||||
   songTitle += album;
 | 
			
		||||
   songTitle += ") [";
 | 
			
		||||
   songTitle += duration;
 | 
			
		||||
   songTitle += "/";
 | 
			
		||||
   songTitle += bitrate;
 | 
			
		||||
   songTitle += "Kbps]";
 | 
			
		||||
 | 
			
		||||
   return(songTitle);
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
/******************************************************************
 | 
			
		||||
* SaveSetting
 | 
			
		||||
******************************************************************/
 | 
			
		||||
BOOL SaveSetting(LPCTSTR name, DWORD type, CONST BYTE *value, DWORD size)
 | 
			
		||||
{
 | 
			
		||||
   HKEY hKey;
 | 
			
		||||
   DWORD disposition;
 | 
			
		||||
   LONG result;
 | 
			
		||||
 | 
			
		||||
   if (wmp == NULL) return(FALSE);
 | 
			
		||||
   if (name == NULL) return(FALSE);
 | 
			
		||||
 | 
			
		||||
   result = RegOpenKeyEx(HKEY_CURRENT_USER,
 | 
			
		||||
                         subKey,
 | 
			
		||||
                         0,
 | 
			
		||||
                         KEY_WRITE,
 | 
			
		||||
                         &hKey);
 | 
			
		||||
 | 
			
		||||
   if (result != ERROR_SUCCESS) {
 | 
			
		||||
      result = RegCreateKeyEx(HKEY_CURRENT_USER,
 | 
			
		||||
                              subKey,
 | 
			
		||||
                              0,
 | 
			
		||||
                              NULL,
 | 
			
		||||
                              REG_OPTION_NON_VOLATILE,
 | 
			
		||||
                              KEY_WRITE,
 | 
			
		||||
                              NULL,
 | 
			
		||||
                              &hKey,
 | 
			
		||||
                              &disposition);
 | 
			
		||||
 | 
			
		||||
      if (result != ERROR_SUCCESS) return(FALSE);
 | 
			
		||||
   }
 | 
			
		||||
 | 
			
		||||
   result = RegSetValueEx(hKey,
 | 
			
		||||
                          name,
 | 
			
		||||
                          0,
 | 
			
		||||
                          type,
 | 
			
		||||
                          value,
 | 
			
		||||
                          size);
 | 
			
		||||
 | 
			
		||||
   if (result == ERROR_SUCCESS) {
 | 
			
		||||
      RegCloseKey(hKey);
 | 
			
		||||
      return(TRUE);
 | 
			
		||||
   }
 | 
			
		||||
 | 
			
		||||
   RegCloseKey(hKey);
 | 
			
		||||
   return(FALSE);
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
/******************************************************************
 | 
			
		||||
* GetSetting
 | 
			
		||||
******************************************************************/
 | 
			
		||||
BOOL GetSetting(LPCTSTR name, DWORD *type, LPBYTE value, DWORD *size)
 | 
			
		||||
{
 | 
			
		||||
   HKEY hKey;
 | 
			
		||||
   LONG result;
 | 
			
		||||
 | 
			
		||||
   if (wmp == NULL) return(FALSE);
 | 
			
		||||
   if (type == NULL) return(FALSE);
 | 
			
		||||
   if (value == NULL) return(FALSE);
 | 
			
		||||
   if (size == NULL) return(FALSE);
 | 
			
		||||
 | 
			
		||||
   result = RegOpenKeyEx(HKEY_CURRENT_USER,
 | 
			
		||||
                         subKey,
 | 
			
		||||
                         0,
 | 
			
		||||
                         KEY_READ,
 | 
			
		||||
                         &hKey);
 | 
			
		||||
 | 
			
		||||
   if (result != ERROR_SUCCESS) return(FALSE);
 | 
			
		||||
 | 
			
		||||
   result = RegQueryValueEx(hKey,
 | 
			
		||||
                            name,
 | 
			
		||||
                            0,
 | 
			
		||||
                            type,
 | 
			
		||||
                            value,
 | 
			
		||||
                            size);
 | 
			
		||||
 | 
			
		||||
   RegCloseKey(hKey);
 | 
			
		||||
 | 
			
		||||
   if (result == ERROR_SUCCESS) {
 | 
			
		||||
      return(TRUE);
 | 
			
		||||
   }
 | 
			
		||||
 | 
			
		||||
   RegCloseKey(hKey);
 | 
			
		||||
   return(FALSE);
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
							
								
								
									
										368
									
								
								plugins/wmpa/xchat-plugin.h
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										368
									
								
								plugins/wmpa/xchat-plugin.h
									
										
									
									
									
										Normal file
									
								
							| 
						 | 
				
			
			@ -0,0 +1,368 @@
 | 
			
		|||
/* You can distribute this header with your plugins for easy compilation */
 | 
			
		||||
#ifndef XCHAT_PLUGIN_H
 | 
			
		||||
#define XCHAT_PLUGIN_H
 | 
			
		||||
 | 
			
		||||
#define VER_STRING _T("1.0.2 (BETA)")
 | 
			
		||||
 | 
			
		||||
#include "stdafx.h"
 | 
			
		||||
#include <windows.h>
 | 
			
		||||
#include <time.h>
 | 
			
		||||
#include <tchar.h>
 | 
			
		||||
 | 
			
		||||
#define XCHAT_IFACE_MAJOR     1
 | 
			
		||||
#define XCHAT_IFACE_MINOR     9
 | 
			
		||||
#define XCHAT_IFACE_MICRO     11
 | 
			
		||||
#define XCHAT_IFACE_VERSION   ((XCHAT_IFACE_MAJOR * 10000) + \
 | 
			
		||||
                              (XCHAT_IFACE_MINOR * 100) + \
 | 
			
		||||
                              (XCHAT_IFACE_MICRO))
 | 
			
		||||
 | 
			
		||||
#define XCHAT_PRI_HIGHEST  127
 | 
			
		||||
#define XCHAT_PRI_HIGH     64
 | 
			
		||||
#define XCHAT_PRI_NORM     0
 | 
			
		||||
#define XCHAT_PRI_LOW      (-64)
 | 
			
		||||
#define XCHAT_PRI_LOWEST   (-128)
 | 
			
		||||
 | 
			
		||||
#define XCHAT_FD_READ      1
 | 
			
		||||
#define XCHAT_FD_WRITE     2
 | 
			
		||||
#define XCHAT_FD_EXCEPTION 4
 | 
			
		||||
#define XCHAT_FD_NOTSOCKET 8
 | 
			
		||||
 | 
			
		||||
#define XCHAT_EAT_NONE     0                                   /* pass it on through! */
 | 
			
		||||
#define XCHAT_EAT_XCHAT    1                                   /* don't let xchat see this event */
 | 
			
		||||
#define XCHAT_EAT_PLUGIN   2                                   /* don't let other plugins see this event */
 | 
			
		||||
#define XCHAT_EAT_ALL      (XCHAT_EAT_XCHAT|XCHAT_EAT_PLUGIN)  /* don't let anything see this event */
 | 
			
		||||
 | 
			
		||||
#ifdef __cplusplus
 | 
			
		||||
extern "C" {
 | 
			
		||||
#endif
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
   typedef struct _xchat_plugin xchat_plugin;
 | 
			
		||||
   typedef struct _xchat_list xchat_list;
 | 
			
		||||
   typedef struct _xchat_hook xchat_hook;
 | 
			
		||||
#ifndef PLUGIN_C
 | 
			
		||||
   typedef struct _xchat_context xchat_context;
 | 
			
		||||
#endif
 | 
			
		||||
 | 
			
		||||
#ifndef PLUGIN_C
 | 
			
		||||
   struct _xchat_plugin {
 | 
			
		||||
      /* these are only used on win32 */
 | 
			
		||||
      xchat_hook *(*xchat_hook_command) (xchat_plugin *ph,
 | 
			
		||||
                                         const char *name,
 | 
			
		||||
                                         int pri,
 | 
			
		||||
                                         int (*callback) (char *word[], char *word_eol[], void *user_data),
 | 
			
		||||
                                         const char *help_text,
 | 
			
		||||
                                         void *userdata);
 | 
			
		||||
      xchat_hook *(*xchat_hook_server) (xchat_plugin *ph,
 | 
			
		||||
                                        const char *name,
 | 
			
		||||
                                        int pri,
 | 
			
		||||
                                        int (*callback) (char *word[], char *word_eol[], void *user_data),
 | 
			
		||||
                                        void *userdata);
 | 
			
		||||
      xchat_hook *(*xchat_hook_print) (xchat_plugin *ph,
 | 
			
		||||
                                       const char *name,
 | 
			
		||||
                                       int pri,
 | 
			
		||||
                                       int (*callback) (char *word[], void *user_data),
 | 
			
		||||
                                       void *userdata);
 | 
			
		||||
      xchat_hook *(*xchat_hook_timer) (xchat_plugin *ph,
 | 
			
		||||
                                       int timeout,
 | 
			
		||||
                                       int (*callback) (void *user_data),
 | 
			
		||||
                                       void *userdata);
 | 
			
		||||
      xchat_hook *(*xchat_hook_fd) (xchat_plugin *ph,
 | 
			
		||||
                                    int fd,
 | 
			
		||||
                                    int flags,
 | 
			
		||||
                                    int (*callback) (int fd, int flags, void *user_data),
 | 
			
		||||
                                    void *userdata);
 | 
			
		||||
      void *(*xchat_unhook) (xchat_plugin *ph,
 | 
			
		||||
                             xchat_hook *hook);
 | 
			
		||||
      void (*xchat_print) (xchat_plugin *ph,
 | 
			
		||||
                           const char *text);
 | 
			
		||||
      void (*xchat_printf) (xchat_plugin *ph,
 | 
			
		||||
                            const char *format, ...);
 | 
			
		||||
      void (*xchat_command) (xchat_plugin *ph,
 | 
			
		||||
                             const char *command);
 | 
			
		||||
      void (*xchat_commandf) (xchat_plugin *ph,
 | 
			
		||||
                              const char *format, ...);
 | 
			
		||||
      int (*xchat_nickcmp) (xchat_plugin *ph,
 | 
			
		||||
                            const char *s1,
 | 
			
		||||
                            const char *s2);
 | 
			
		||||
      int (*xchat_set_context) (xchat_plugin *ph,
 | 
			
		||||
                                xchat_context *ctx);
 | 
			
		||||
      xchat_context *(*xchat_find_context) (xchat_plugin *ph,
 | 
			
		||||
                                            const char *servname,
 | 
			
		||||
                                            const char *channel);
 | 
			
		||||
      xchat_context *(*xchat_get_context) (xchat_plugin *ph);
 | 
			
		||||
      const char *(*xchat_get_info) (xchat_plugin *ph,
 | 
			
		||||
                                     const char *id);
 | 
			
		||||
      int (*xchat_get_prefs) (xchat_plugin *ph,
 | 
			
		||||
                              const char *name,
 | 
			
		||||
                              const char **string,
 | 
			
		||||
                              int *integer);
 | 
			
		||||
      xchat_list * (*xchat_list_get) (xchat_plugin *ph,
 | 
			
		||||
                                      const char *name);
 | 
			
		||||
      void (*xchat_list_free) (xchat_plugin *ph,
 | 
			
		||||
                               xchat_list *xlist);
 | 
			
		||||
      const char * const * (*xchat_list_fields) (xchat_plugin *ph,
 | 
			
		||||
                                                 const char *name);
 | 
			
		||||
      int (*xchat_list_next) (xchat_plugin *ph,
 | 
			
		||||
                              xchat_list *xlist);
 | 
			
		||||
      const char * (*xchat_list_str) (xchat_plugin *ph,
 | 
			
		||||
                                      xchat_list *xlist,
 | 
			
		||||
                                      const char *name);
 | 
			
		||||
      int (*xchat_list_int) (xchat_plugin *ph,
 | 
			
		||||
                             xchat_list *xlist,
 | 
			
		||||
                             const char *name);
 | 
			
		||||
      void * (*xchat_plugingui_add) (xchat_plugin *ph,
 | 
			
		||||
                                     const char *filename,
 | 
			
		||||
                                     const char *name,
 | 
			
		||||
                                     const char *desc,
 | 
			
		||||
                                     const char *version,
 | 
			
		||||
                                     char *reserved);
 | 
			
		||||
      void (*xchat_plugingui_remove) (xchat_plugin *ph,
 | 
			
		||||
                                      void *handle);
 | 
			
		||||
      int (*xchat_emit_print) (xchat_plugin *ph,
 | 
			
		||||
                               const char *event_name, ...);
 | 
			
		||||
      int (*xchat_read_fd) (xchat_plugin *ph,
 | 
			
		||||
                            void *src,
 | 
			
		||||
                            char *buf,
 | 
			
		||||
                            int *len);
 | 
			
		||||
      time_t (*xchat_list_time) (xchat_plugin *ph,
 | 
			
		||||
                                 xchat_list *xlist,
 | 
			
		||||
                                 const char *name);
 | 
			
		||||
      char *(*xchat_gettext) (xchat_plugin *ph,
 | 
			
		||||
                              const char *msgid);
 | 
			
		||||
      void (*xchat_send_modes) (xchat_plugin *ph,
 | 
			
		||||
                                const char **targets,
 | 
			
		||||
                                int ntargets,
 | 
			
		||||
                                int modes_per_line,
 | 
			
		||||
                                char sign,
 | 
			
		||||
                                char mode);
 | 
			
		||||
      char *(*xchat_strip) (xchat_plugin *ph,
 | 
			
		||||
                            const char *str,
 | 
			
		||||
                            int len,
 | 
			
		||||
                            int flags);
 | 
			
		||||
      void (*xchat_free) (xchat_plugin *ph,
 | 
			
		||||
                          void *ptr);
 | 
			
		||||
   };
 | 
			
		||||
#endif
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
   xchat_hook *
 | 
			
		||||
   xchat_hook_command (xchat_plugin *ph,
 | 
			
		||||
                       const char *name,
 | 
			
		||||
                       int pri,
 | 
			
		||||
                       int (*callback) (char *word[], char *word_eol[], void *user_data),
 | 
			
		||||
                       const char *help_text,
 | 
			
		||||
                       void *userdata);
 | 
			
		||||
 | 
			
		||||
   xchat_hook *
 | 
			
		||||
   xchat_hook_server (xchat_plugin *ph,
 | 
			
		||||
                      const char *name,
 | 
			
		||||
                      int pri,
 | 
			
		||||
                      int (*callback) (char *word[], char *word_eol[], void *user_data),
 | 
			
		||||
                      void *userdata);
 | 
			
		||||
 | 
			
		||||
   xchat_hook *
 | 
			
		||||
   xchat_hook_print (xchat_plugin *ph,
 | 
			
		||||
                     const char *name,
 | 
			
		||||
                     int pri,
 | 
			
		||||
                     int (*callback) (char *word[], void *user_data),
 | 
			
		||||
                     void *userdata);
 | 
			
		||||
 | 
			
		||||
   xchat_hook *
 | 
			
		||||
   xchat_hook_timer (xchat_plugin *ph,
 | 
			
		||||
                     int timeout,
 | 
			
		||||
                     int (*callback) (void *user_data),
 | 
			
		||||
                     void *userdata);
 | 
			
		||||
 | 
			
		||||
   xchat_hook *
 | 
			
		||||
   xchat_hook_fd (xchat_plugin *ph,
 | 
			
		||||
                  int fd,
 | 
			
		||||
                  int flags,
 | 
			
		||||
                  int (*callback) (int fd, int flags, void *user_data),
 | 
			
		||||
                  void *userdata);
 | 
			
		||||
 | 
			
		||||
   void *
 | 
			
		||||
   xchat_unhook (xchat_plugin *ph,
 | 
			
		||||
                 xchat_hook *hook);
 | 
			
		||||
 | 
			
		||||
   void
 | 
			
		||||
   xchat_print (xchat_plugin *ph,
 | 
			
		||||
                const char *text);
 | 
			
		||||
 | 
			
		||||
   void
 | 
			
		||||
   xchat_printf (xchat_plugin *ph,
 | 
			
		||||
                 const char *format, ...);
 | 
			
		||||
 | 
			
		||||
   void
 | 
			
		||||
   xchat_command (xchat_plugin *ph,
 | 
			
		||||
                  const char *command);
 | 
			
		||||
 | 
			
		||||
   void
 | 
			
		||||
   xchat_commandf (xchat_plugin *ph,
 | 
			
		||||
                   const char *format, ...);
 | 
			
		||||
 | 
			
		||||
   int
 | 
			
		||||
   xchat_nickcmp (xchat_plugin *ph,
 | 
			
		||||
                  const char *s1,
 | 
			
		||||
                  const char *s2);
 | 
			
		||||
 | 
			
		||||
   int
 | 
			
		||||
   xchat_set_context (xchat_plugin *ph,
 | 
			
		||||
                      xchat_context *ctx);
 | 
			
		||||
 | 
			
		||||
   xchat_context *
 | 
			
		||||
   xchat_find_context (xchat_plugin *ph,
 | 
			
		||||
                       const char *servname,
 | 
			
		||||
                       const char *channel);
 | 
			
		||||
 | 
			
		||||
   xchat_context *
 | 
			
		||||
   xchat_get_context (xchat_plugin *ph);
 | 
			
		||||
 | 
			
		||||
   const char *
 | 
			
		||||
   xchat_get_info (xchat_plugin *ph,
 | 
			
		||||
                   const char *id);
 | 
			
		||||
 | 
			
		||||
   int
 | 
			
		||||
   xchat_get_prefs (xchat_plugin *ph,
 | 
			
		||||
                    const char *name,
 | 
			
		||||
                    const char **string,
 | 
			
		||||
                    int *integer);
 | 
			
		||||
 | 
			
		||||
   xchat_list *
 | 
			
		||||
   xchat_list_get (xchat_plugin *ph,
 | 
			
		||||
                   const char *name);
 | 
			
		||||
 | 
			
		||||
   void
 | 
			
		||||
   xchat_list_free (xchat_plugin *ph,
 | 
			
		||||
                    xchat_list *xlist);
 | 
			
		||||
 | 
			
		||||
   const char * const *
 | 
			
		||||
   xchat_list_fields (xchat_plugin *ph,
 | 
			
		||||
                      const char *name);
 | 
			
		||||
 | 
			
		||||
   int
 | 
			
		||||
   xchat_list_next (xchat_plugin *ph,
 | 
			
		||||
                    xchat_list *xlist);
 | 
			
		||||
 | 
			
		||||
   const char *
 | 
			
		||||
   xchat_list_str (xchat_plugin *ph,
 | 
			
		||||
                   xchat_list *xlist,
 | 
			
		||||
                   const char *name);
 | 
			
		||||
 | 
			
		||||
   int
 | 
			
		||||
   xchat_list_int (xchat_plugin *ph,
 | 
			
		||||
                   xchat_list *xlist,
 | 
			
		||||
                   const char *name);
 | 
			
		||||
 | 
			
		||||
   time_t
 | 
			
		||||
   xchat_list_time (xchat_plugin *ph,
 | 
			
		||||
                    xchat_list *xlist,
 | 
			
		||||
                    const char *name);
 | 
			
		||||
 | 
			
		||||
   void *
 | 
			
		||||
   xchat_plugingui_add (xchat_plugin *ph,
 | 
			
		||||
                        const char *filename,
 | 
			
		||||
                        const char *name,
 | 
			
		||||
                        const char *desc,
 | 
			
		||||
                        const char *version,
 | 
			
		||||
                        char *reserved);
 | 
			
		||||
 | 
			
		||||
   void
 | 
			
		||||
   xchat_plugingui_remove (xchat_plugin *ph,
 | 
			
		||||
                           void *handle);
 | 
			
		||||
 | 
			
		||||
   int
 | 
			
		||||
   xchat_emit_print (xchat_plugin *ph,
 | 
			
		||||
                     const char *event_name, ...);
 | 
			
		||||
 | 
			
		||||
   char *
 | 
			
		||||
   xchat_gettext (xchat_plugin *ph,
 | 
			
		||||
                  const char *msgid);
 | 
			
		||||
 | 
			
		||||
   void
 | 
			
		||||
   xchat_send_modes (xchat_plugin *ph,
 | 
			
		||||
                     const char **targets,
 | 
			
		||||
                     int ntargets,
 | 
			
		||||
                     int modes_per_line,
 | 
			
		||||
                     char sign,
 | 
			
		||||
                     char mode);
 | 
			
		||||
 | 
			
		||||
   char *
 | 
			
		||||
   xchat_strip (xchat_plugin *ph,
 | 
			
		||||
                const char *str,
 | 
			
		||||
                int len,
 | 
			
		||||
                int flags);
 | 
			
		||||
 | 
			
		||||
   void
 | 
			
		||||
   xchat_free (xchat_plugin *ph,
 | 
			
		||||
               void *ptr);
 | 
			
		||||
 | 
			
		||||
#if !defined(PLUGIN_C) && defined(WIN32)
 | 
			
		||||
#ifndef XCHAT_PLUGIN_HANDLE
 | 
			
		||||
#define XCHAT_PLUGIN_HANDLE (ph)
 | 
			
		||||
#endif
 | 
			
		||||
#define xchat_hook_command ((XCHAT_PLUGIN_HANDLE)->xchat_hook_command)
 | 
			
		||||
#define xchat_hook_server ((XCHAT_PLUGIN_HANDLE)->xchat_hook_server)
 | 
			
		||||
#define xchat_hook_print ((XCHAT_PLUGIN_HANDLE)->xchat_hook_print)
 | 
			
		||||
#define xchat_hook_timer ((XCHAT_PLUGIN_HANDLE)->xchat_hook_timer)
 | 
			
		||||
#define xchat_hook_fd ((XCHAT_PLUGIN_HANDLE)->xchat_hook_fd)
 | 
			
		||||
#define xchat_unhook ((XCHAT_PLUGIN_HANDLE)->xchat_unhook)
 | 
			
		||||
#define xchat_print ((XCHAT_PLUGIN_HANDLE)->xchat_print)
 | 
			
		||||
#define xchat_printf ((XCHAT_PLUGIN_HANDLE)->xchat_printf)
 | 
			
		||||
#define xchat_command ((XCHAT_PLUGIN_HANDLE)->xchat_command)
 | 
			
		||||
#define xchat_commandf ((XCHAT_PLUGIN_HANDLE)->xchat_commandf)
 | 
			
		||||
#define xchat_nickcmp ((XCHAT_PLUGIN_HANDLE)->xchat_nickcmp)
 | 
			
		||||
#define xchat_set_context ((XCHAT_PLUGIN_HANDLE)->xchat_set_context)
 | 
			
		||||
#define xchat_find_context ((XCHAT_PLUGIN_HANDLE)->xchat_find_context)
 | 
			
		||||
#define xchat_get_context ((XCHAT_PLUGIN_HANDLE)->xchat_get_context)
 | 
			
		||||
#define xchat_get_info ((XCHAT_PLUGIN_HANDLE)->xchat_get_info)
 | 
			
		||||
#define xchat_get_prefs ((XCHAT_PLUGIN_HANDLE)->xchat_get_prefs)
 | 
			
		||||
#define xchat_list_get ((XCHAT_PLUGIN_HANDLE)->xchat_list_get)
 | 
			
		||||
#define xchat_list_free ((XCHAT_PLUGIN_HANDLE)->xchat_list_free)
 | 
			
		||||
#define xchat_list_fields ((XCHAT_PLUGIN_HANDLE)->xchat_list_fields)
 | 
			
		||||
#define xchat_list_str ((XCHAT_PLUGIN_HANDLE)->xchat_list_str)
 | 
			
		||||
#define xchat_list_int ((XCHAT_PLUGIN_HANDLE)->xchat_list_int)
 | 
			
		||||
#define xchat_list_time ((XCHAT_PLUGIN_HANDLE)->xchat_list_time)
 | 
			
		||||
#define xchat_list_next ((XCHAT_PLUGIN_HANDLE)->xchat_list_next)
 | 
			
		||||
#define xchat_plugingui_add ((XCHAT_PLUGIN_HANDLE)->xchat_plugingui_add)
 | 
			
		||||
#define xchat_plugingui_remove ((XCHAT_PLUGIN_HANDLE)->xchat_plugingui_remove)
 | 
			
		||||
#define xchat_emit_print ((XCHAT_PLUGIN_HANDLE)->xchat_emit_print)
 | 
			
		||||
#define xchat_gettext ((XCHAT_PLUGIN_HANDLE)->xchat_gettext)
 | 
			
		||||
#define xchat_send_modes ((XCHAT_PLUGIN_HANDLE)->xchat_send_modes)
 | 
			
		||||
#define xchat_strip ((XCHAT_PLUGIN_HANDLE)->xchat_strip)
 | 
			
		||||
#define xchat_free ((XCHAT_PLUGIN_HANDLE)->xchat_free)
 | 
			
		||||
#endif
 | 
			
		||||
 | 
			
		||||
#ifdef __cplusplus
 | 
			
		||||
}
 | 
			
		||||
#endif
 | 
			
		||||
 | 
			
		||||
/******************************************************************
 | 
			
		||||
* Globals
 | 
			
		||||
******************************************************************/
 | 
			
		||||
extern xchat_plugin *ph;
 | 
			
		||||
 | 
			
		||||
/******************************************************************
 | 
			
		||||
* Prototypes
 | 
			
		||||
******************************************************************/
 | 
			
		||||
void wmpaCommands(void);
 | 
			
		||||
int wmpaAuto(char *word[], char *word_eol[], void *user_data);
 | 
			
		||||
int wmpaCurr(char *word[], char *word_eol[], void *user_data);
 | 
			
		||||
int wmpaFind(char *word[], char *word_eol[], void *user_data);
 | 
			
		||||
int wmpaList(char *word[], char *word_eol[], void *user_data);
 | 
			
		||||
int wmpaNext(char *word[], char *word_eol[], void *user_data);
 | 
			
		||||
int wmpaPlay(char *word[], char *word_eol[], void *user_data);
 | 
			
		||||
int wmpaPause(char *word[], char *word_eol[], void *user_data);
 | 
			
		||||
int wmpaPrev(char *word[], char *word_eol[], void *user_data);
 | 
			
		||||
int wmpaSong(char *word[], char *word_eol[], void *user_data);
 | 
			
		||||
int wmpaStop(char *word[], char *word_eol[], void *user_data);
 | 
			
		||||
int wmpaVolume(char *word[], char *word_eol[], void *user_data);
 | 
			
		||||
int wmpaHelp(char *word[], char *word_eol[], void *user_data);
 | 
			
		||||
BOOL wmpaRestoreSettings(void);
 | 
			
		||||
BOOL wmpaSaveSettings(void);
 | 
			
		||||
CString wmpaGetSongTitle(void);
 | 
			
		||||
BOOL SaveSetting(LPCTSTR name, DWORD type, CONST BYTE *value, DWORD size);
 | 
			
		||||
BOOL GetSetting(LPCTSTR name, DWORD *type, LPBYTE value, DWORD *size);
 | 
			
		||||
 | 
			
		||||
#endif /* XCHAT_PLUGIN_H */
 | 
			
		||||
 | 
			
		||||
							
								
								
									
										
											BIN
										
									
								
								plugins/wmpa/xchat.ico
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										
											BIN
										
									
								
								plugins/wmpa/xchat.ico
									
										
									
									
									
										Normal file
									
								
							
										
											Binary file not shown.
										
									
								
							| 
		 After Width: | Height: | Size: 25 KiB  | 
		Loading…
	
	Add table
		
		Reference in a new issue