Initial community commit
This commit is contained in:
parent
537bcbc862
commit
fc06254474
16440 changed files with 4239995 additions and 2 deletions
157
Src/nu/MediaLibraryInterface.h
Normal file
157
Src/nu/MediaLibraryInterface.h
Normal file
|
@ -0,0 +1,157 @@
|
|||
|
||||
#ifndef MEDIALIBRARYINTERFACEH
|
||||
#define MEDIALIBRARYINTERFACEH
|
||||
|
||||
#include <windows.h>
|
||||
#include <tchar.h>
|
||||
|
||||
#include "..\Plugins\General\gen_ml/ml.h"
|
||||
#include "../winamp/wa_ipc.h"
|
||||
|
||||
#ifndef REPLICANT_COMPAT
|
||||
#include <vector>
|
||||
#endif
|
||||
|
||||
|
||||
class MediaLibraryInterface
|
||||
{
|
||||
public:
|
||||
MediaLibraryInterface() : httpRetrieveFile( 0 ) {}
|
||||
|
||||
// children communicate back to the media library by SendMessage(plugin.hwndLibraryParent,WM_ML_IPC,param,ML_IPC_X);
|
||||
int AddTreeImage( int resourceId ); // returns index of the image.
|
||||
int AddTreeImage( int resourceId, int imageIndex, BMPFILTERPROC filter );
|
||||
int AddTreeImageBmp( int resourceId );
|
||||
void AddTreeItem( MLTREEITEM &newItem );
|
||||
void AddTreeItem( MLTREEITEMW &newItem );
|
||||
void SetTreeItem( MLTREEITEM &item );
|
||||
void SetTreeItem( MLTREEITEMW &item );
|
||||
void RemoveTreeItem( INT_PTR treeId );
|
||||
void SelectTreeItem( INT_PTR treeId );
|
||||
void UpdateTreeItem( MLTREEITEMINFO &newItem );
|
||||
void UpdateTreeItem( MLTREEITEMINFOW &newItem );
|
||||
INT_PTR GetSelectedTreeItem( void );
|
||||
void RenameTreeId( INT_PTR treeId, const wchar_t *newName );
|
||||
|
||||
INT_PTR GetChildId( INT_PTR id );
|
||||
INT_PTR GetNextId( INT_PTR id );
|
||||
|
||||
void AddToSendTo( char description[], INT_PTR context, INT_PTR unique );
|
||||
void AddToSendTo( wchar_t description[], INT_PTR context, INT_PTR unique );
|
||||
void BranchSendTo( INT_PTR context );
|
||||
void AddToBranchSendTo( const wchar_t description[], INT_PTR context, INT_PTR unique );
|
||||
void EndBranchSendTo( const wchar_t description[], INT_PTR context );
|
||||
|
||||
const char *GetIniDirectory();
|
||||
const wchar_t *GetIniDirectoryW();
|
||||
const char *GetWinampIni();
|
||||
const wchar_t *GetWinampIniW();
|
||||
void BuildPath( const wchar_t *pathEnd, wchar_t *path, size_t numChars );
|
||||
|
||||
|
||||
int SkinList( HWND list );
|
||||
void UnskinList( int token );
|
||||
void ListViewShowSort( int token, BOOL show );
|
||||
void ListViewSort( int token, int columnIndex, BOOL ascending );
|
||||
void ListSkinUpdateView( int listSkin );
|
||||
|
||||
void OpenURL( const wchar_t *url ) { SendMessage( winamp, WM_WA_IPC, (WPARAM)url, IPC_OPEN_URL ); }
|
||||
|
||||
int SkinComboBox( HWND comboBox );
|
||||
void UnskinComboBox( int token );
|
||||
|
||||
void *GetWADLGFunc( int num );
|
||||
|
||||
#ifndef REPLICANT_COMPAT
|
||||
void PlayStreams( std::vector<const wchar_t *> &urls, bool force = false );
|
||||
#endif
|
||||
|
||||
void PlayStream( wchar_t *url, bool force = false );
|
||||
void PlayFile( const wchar_t *url );
|
||||
void EnqueueFile( const wchar_t *url );
|
||||
void EnqueueStream( wchar_t *url, bool force = true );
|
||||
void GetFileInfo( const char *filename, char *title, int titleCch, int *length );
|
||||
void GetFileInfo( const wchar_t *filename, wchar_t *title, int titleCch, int *length );
|
||||
|
||||
void ClearPlaylist() { SendMessage( winamp, WM_WA_IPC, 0, IPC_DELETE ); }
|
||||
void SwitchToPluginView( int itemId ) { SendMessage( library, WM_ML_IPC, itemId, ML_IPC_SETCURTREEITEM ); }
|
||||
int GetWinampVersion() { return (int)(INT_PTR)SendMessage( winamp, WM_WA_IPC, 0, IPC_GETVERSION ); }
|
||||
|
||||
HWND library = 0;
|
||||
HWND winamp = 0;
|
||||
|
||||
HINSTANCE instance = 0;
|
||||
|
||||
const char *iniDirectory = 0;
|
||||
const wchar_t *iniDirectoryW = 0;
|
||||
|
||||
const char *winampIni = 0;
|
||||
const wchar_t *winampIniW = 0;
|
||||
|
||||
const char *pluginDirectory = 0;
|
||||
|
||||
void AddPreferences( prefsDlgRec &prefs ) { SendMessage( winamp, WM_WA_IPC, (WPARAM)&prefs, IPC_ADD_PREFS_DLG ); }
|
||||
void AddPreferences( prefsDlgRecW &prefs ) { SendMessage( winamp, WM_WA_IPC, (WPARAM)&prefs, IPC_ADD_PREFS_DLGW ); }
|
||||
void InsertTreeItem( MLTREEITEM &newItem );
|
||||
void InsertTreeItem( MLTREEITEMW &newItem );
|
||||
|
||||
char *GetProxy()
|
||||
{
|
||||
char *proxy = (char *)SendMessage( winamp, WM_WA_IPC, 0, IPC_GET_PROXY_STRING );
|
||||
if ( proxy == (char *)1 || strlen(proxy) == 0 )
|
||||
return 0;
|
||||
else
|
||||
return proxy;
|
||||
}
|
||||
|
||||
void BuildPluginPath( const TCHAR *filename, TCHAR *path, size_t pathSize );
|
||||
|
||||
int ( *httpRetrieveFile )( HWND hwnd, const char *url, const char *file, const char *dlgtitle );
|
||||
|
||||
IDispatch *GetDispatchObject();
|
||||
int GetUniqueDispatchId();
|
||||
void ListSkinDisableHorizontalScrollbar( int listSkin );
|
||||
|
||||
void AddToMediaLibrary( const char *filename );
|
||||
void AddToMediaLibrary( const wchar_t *filename );
|
||||
|
||||
void GoToPreferences( int id ) { SendMessage( winamp, WM_WA_IPC, id, IPC_OPENPREFSTOPAGE ); }
|
||||
void GoToPreferences( prefsDlgRec &prefs ) { SendMessage( winamp, WM_WA_IPC, (WPARAM)&prefs, IPC_OPENPREFSTOPAGE ); }
|
||||
void GoToPreferences( prefsDlgRecW &prefs ) { SendMessage( winamp, WM_WA_IPC, (WPARAM)&prefs, IPC_OPENPREFSTOPAGE ); }
|
||||
|
||||
const char *GetFontName() { return (const char *)SendMessage( winamp, WM_WA_IPC, 1, IPC_GET_GENSKINBITMAP ); }
|
||||
int GetFontSize() { return (int)SendMessage( winamp, WM_WA_IPC, 3, IPC_GET_GENSKINBITMAP ); }
|
||||
|
||||
void AddBookmark( char *bookmark )
|
||||
{
|
||||
COPYDATASTRUCT cds;
|
||||
cds.dwData = IPC_ADDBOOKMARK;
|
||||
cds.lpData = bookmark;
|
||||
cds.cbData = (int)strlen( bookmark ) + 1;
|
||||
|
||||
SendMessage( winamp, WM_COPYDATA, NULL, (LPARAM)&cds );
|
||||
}
|
||||
|
||||
void AddBookmarkW( wchar_t *bookmark )
|
||||
{
|
||||
COPYDATASTRUCT cds;
|
||||
cds.dwData = IPC_ADDBOOKMARKW;
|
||||
cds.lpData = bookmark;
|
||||
cds.cbData = (int)( sizeof( wchar_t ) * wcslen( bookmark ) + sizeof( wchar_t ) );
|
||||
|
||||
SendMessage( winamp, WM_COPYDATA, NULL, (LPARAM)&cds );
|
||||
}
|
||||
|
||||
void ShowMediaLibrary() { SendMessage( library, WM_ML_IPC, 0, ML_IPC_ENSURE_VISIBLE ); }
|
||||
|
||||
const char *GetExtensionList() { return (const char *)SendMessage( winamp, WM_WA_IPC, 0, IPC_GET_EXTLIST ); }
|
||||
bool IsShowing() { return !!SendMessage( library, WM_ML_IPC, 0, ML_IPC_IS_VISIBLE ); }
|
||||
void RefreshPrefs( int prefs ) { SendMessage( library, WM_ML_IPC, prefs, ML_IPC_REFRESH_PREFS ); }
|
||||
void GracenoteCancelRequest() { SendMessage( library, WM_ML_IPC, GRACENOTE_CANCEL_REQUEST, ML_IPC_GRACENOTE ); }// TODO: should we post this?
|
||||
|
||||
DWORD AddDispatch( wchar_t *name, IDispatch *object );
|
||||
};
|
||||
|
||||
extern MediaLibraryInterface mediaLibrary;
|
||||
|
||||
#endif
|
Loading…
Add table
Add a link
Reference in a new issue