Initial community commit
This commit is contained in:
parent
537bcbc862
commit
fc06254474
16440 changed files with 4239995 additions and 2 deletions
359
Src/Plugins/General/gen_ff/wa2frontend.h
Normal file
359
Src/Plugins/General/gen_ff/wa2frontend.h
Normal file
|
@ -0,0 +1,359 @@
|
|||
#ifndef __WINAMP2FRONTEND_H
|
||||
#define __WINAMP2FRONTEND_H
|
||||
|
||||
#define WA2_GETINFO_SAMPLERATE 0
|
||||
#define WA2_GETINFO_BITRATE 1
|
||||
#define WA2_GETINFO_CHANNELS 2
|
||||
|
||||
#define WA2_NUMBANDS 10
|
||||
|
||||
#define WA2_EQDATA_FIRSTBAND 0
|
||||
#define WA2_EQDATA_LASTBAND 9
|
||||
#define WA2_EQDATA_PREAMP 10
|
||||
#define WA2_EQDATA_ENABLED 11
|
||||
#define WA2_EQDATA_AUTO 12
|
||||
|
||||
#define IPC_GETWND_EQ 0
|
||||
#define IPC_GETWND_PE 1
|
||||
#define IPC_GETWND_MB 2
|
||||
#define IPC_GETWND_VIDEO 3
|
||||
|
||||
#define WA2_USERBUTTON_PREV 0
|
||||
#define WA2_USERBUTTON_PLAY 1
|
||||
#define WA2_USERBUTTON_PAUSE 2
|
||||
#define WA2_USERBUTTON_STOP 3
|
||||
#define WA2_USERBUTTON_NEXT 4
|
||||
|
||||
#define WA2_USERBUTTONMOD_NONE 0
|
||||
#define WA2_USERBUTTONMOD_SHIFT 1
|
||||
#define WA2_USERBUTTONMOD_CTRL 2
|
||||
|
||||
#define WINAMP_MAIN_WINDOW 40258
|
||||
#define WINAMP_OPTIONS_MINIBROWSER 40298
|
||||
#define WINAMP_OPTIONS_VIDEO 40328
|
||||
#define WINAMP_OPTIONS_PLEDIT 40040
|
||||
#define WINAMP_OPTIONS_EQ 40036
|
||||
|
||||
#define WINAMP_FILE_LOC 40185
|
||||
#define WINAMP_FILE_PLAY 40029
|
||||
#define WINAMP_FILE_DIR 40187
|
||||
|
||||
//-----------------------------------------------------------------------------------------------
|
||||
|
||||
#include <windows.h>
|
||||
#include "../gen_ml/ml.h"
|
||||
#include "../winamp/wa_ipc.h"
|
||||
#include "../winamp/ipc_pe.h"
|
||||
|
||||
//-----------------------------------------------------------------------------------------------
|
||||
|
||||
class Winamp2FrontEnd {
|
||||
public:
|
||||
friend BOOL CALLBACK findVisWndProc(HWND hwnd, LPARAM lParam);
|
||||
Winamp2FrontEnd();
|
||||
virtual ~Winamp2FrontEnd();
|
||||
|
||||
void init(HWND hwndParent);
|
||||
|
||||
const char *getVersion();
|
||||
|
||||
void enqueueFile(const wchar_t *file);
|
||||
|
||||
/*
|
||||
WA2_USERBUTTON_PLAY
|
||||
WA2_USERBUTTON_PAUSE
|
||||
WA2_USERBUTTON_STOP
|
||||
WA2_USERBUTTON_NEXT
|
||||
WA2_USERBUTTON_PREV
|
||||
|
||||
WA2_USERBUTTONMOD_SHIFT
|
||||
WA2_USERBUTTONMOD_CTRL
|
||||
*/
|
||||
void userButton(int button, int modifier);
|
||||
|
||||
int isPlaying(); // 0 (false) or 1 (true)
|
||||
int isPaused(); // 0 (false) or 1 (true)
|
||||
int isStopped(); // if !isPlaying() and !isStopped() and !isPaused(), we're between tracks
|
||||
|
||||
int getPosition(); // in ms
|
||||
int getLength(); // in ms
|
||||
int seekTo(int ms); // in millisecond
|
||||
|
||||
void setVolume(int v); // 0 (silence) to 255 (loud)
|
||||
int getVolume(); // 0 (silence) to 255 (loud)
|
||||
|
||||
void setPanning(int p); // 0 (left) to 255 (right)
|
||||
int getPanning(); // 0 (left) to 255 (right)
|
||||
|
||||
void setShuffle(int shuffle);
|
||||
int getShuffle();
|
||||
|
||||
void setRepeat(int repeat);
|
||||
int getRepeat();
|
||||
|
||||
void setManualPlaylistAdvance(int manual);
|
||||
int getManualPlaylistAdvance();
|
||||
|
||||
/*
|
||||
WA2_GETINFO_SAMPLERATE : Samplerate (i.e. 44100)
|
||||
WA2_GETINFO_BITRATE : Bitrate (i.e. 128)
|
||||
WA2_GETINFO_CHANNELS : Channels (i.e. 2)
|
||||
*/
|
||||
int getInfo(int wa2_getinfo);
|
||||
|
||||
/*
|
||||
WA2_EQDATA_FIRSTBAND/LASTBAND (0 to 9) : The 10 bands of EQ data. 0-63 (+20db - -20db)
|
||||
WA2_EQDATA_PREAMP : The preamp value. 0-63 (+20db - -20db)
|
||||
WA2_EQDATA_ENABLED : Enabled. zero if disabled, nonzero if enabled.
|
||||
WA2_EQDATA_AUTO : Autoload. zero if disabled, nonzero if enabled.
|
||||
*/
|
||||
int getEqData(int wa2_eqdata);
|
||||
void setEqData(int wa2_eqdata, int val);
|
||||
|
||||
void enableWindows(int enabled);
|
||||
int areWindowsEnabled();
|
||||
void setWindowsVisible(int visible);
|
||||
int areWindowsVisible();
|
||||
int isMainWindowVisible();
|
||||
|
||||
void *CanPlay(const wchar_t *);
|
||||
bool IsPlaylist(const wchar_t *fn);
|
||||
int getCurPlaylistEntry();
|
||||
int getPlaylistLength();
|
||||
|
||||
const wchar_t *GetCurrentTitle();
|
||||
const wchar_t *GetCurrentFile();
|
||||
const wchar_t *getTitle(int plentry);
|
||||
const char *getFile(int plentry);
|
||||
const wchar_t *getFileW(int plentry);
|
||||
|
||||
void setCurTitle(const wchar_t* new_title);
|
||||
|
||||
void playAudioCD(int cd); // id of cd (0 to 4)
|
||||
|
||||
void openFileDialog(HWND w);
|
||||
void openUrlDialog(HWND w);
|
||||
void openUrl(const wchar_t *url);
|
||||
void openDirectoryDialog(HWND w);
|
||||
void ejectPopupMenu();
|
||||
void previousPopupMenu();
|
||||
void nextPopupMenu();
|
||||
void playPopupMenu();
|
||||
void pausePopupMenu();
|
||||
void stopPopupMenu();
|
||||
void setDialogBoxParent(HWND w);
|
||||
void updateDialogBoxParent(HWND w);
|
||||
|
||||
/*
|
||||
IPC_GETWND_EQ
|
||||
IPC_GETWND_PE
|
||||
IPC_GETWND_MB
|
||||
IPC_GETWND_VIDEO
|
||||
*/
|
||||
HWND getWnd(int wnd);
|
||||
int isWindowVisible(intptr_t which);
|
||||
void setWindowVisible(intptr_t which, int visible);
|
||||
HWND getMediaLibrary();
|
||||
void ensureMediaLibraryLoaded();
|
||||
|
||||
int isOnTop();
|
||||
void setOnTop(int ontop);
|
||||
void toggleOnTop();
|
||||
|
||||
// screen coordinates
|
||||
void triggerPopupMenu(int x, int y);
|
||||
void triggerEQPresetMenu(int x, int y);
|
||||
int triggerFileMenu(int x, int y, int width, int height);
|
||||
int triggerPlayMenu(int x, int y, int width, int height);
|
||||
int triggerOptionsMenu(int x, int y, int width, int height);
|
||||
int triggerWindowsMenu(int x, int y, int width, int height);
|
||||
int triggerHelpMenu(int x, int y, int width, int height);
|
||||
int triggerPEFileMenu(int x, int y, int width, int height);
|
||||
int triggerPEPlaylistMenu(int x, int y, int width, int height);
|
||||
int triggerPESortMenu(int x, int y, int width, int height);
|
||||
int triggerPEHelpMenu(int x, int y, int width, int height);
|
||||
int triggerMLFileMenu(int x, int y, int width, int height);
|
||||
int triggerMLViewMenu(int x, int y, int width, int height);
|
||||
int triggerMLHelpMenu(int x, int y, int width, int height);
|
||||
int triggerPEListOfListsMenu(int x, int y);
|
||||
|
||||
HMENU getTopMenu();
|
||||
HMENU getPopupMenu();
|
||||
int adjustOptionsPopupMenu(int direction);
|
||||
|
||||
enum {
|
||||
WA2_MAINMENUBAR_FILE = 0,
|
||||
WA2_MAINMENUBAR_PLAY = 1,
|
||||
WA2_MAINMENUBAR_OPTIONS = 2,
|
||||
WA2_MAINMENUBAR_WINDOWS = 3,
|
||||
WA2_MAINUMENUBAR_HELP = 4,
|
||||
};
|
||||
|
||||
HMENU getMenuBarMenu(int which);
|
||||
int adjustFFWindowsMenu(int direction);
|
||||
int adjustFFOptionsMenu(int direction);
|
||||
|
||||
HWND getMainWindow();
|
||||
|
||||
void quit();
|
||||
|
||||
char * (*export_sa_get_deprecated)();
|
||||
char * (*export_sa_get)(char data[75*2+8]);
|
||||
void (*export_sa_setreq)(int);
|
||||
int (*export_vu_get)(int channel);
|
||||
|
||||
enum {
|
||||
WA2_PLEDITPOPUP_ADD = 0,
|
||||
WA2_PLEDITPOPUP_REM = 1,
|
||||
WA2_PLEDITPOPUP_SEL = 2,
|
||||
WA2_PLEDITPOPUP_MISC = 3,
|
||||
WA2_PLEDITPOPUP_LIST = 4,
|
||||
};
|
||||
|
||||
void sendPlCmd(int which, int x=0, int y=0, int menu_align_flag=0);
|
||||
|
||||
enum {
|
||||
WA2_MBCMD_BACK = 0,
|
||||
WA2_MBCMD_FORWARD = 1,
|
||||
WA2_MBCMD_STOP = 2,
|
||||
WA2_MBCMD_RELOAD = 3,
|
||||
WA2_MBPOPUP_MISC = 4,
|
||||
};
|
||||
|
||||
void registerGlobalHotkey(const char *name, int msg, int wparam, int lparam, int flags, const char *id);
|
||||
|
||||
#ifdef MINIBROWSER_SUPPORT
|
||||
void sendMbCmd(int which, int x=0, int y=0, int menu_align_flag=0);
|
||||
#endif
|
||||
|
||||
enum {
|
||||
WA2_VIDCMD_FULLSCREEN = 0,
|
||||
WA2_VIDCMD_1X = 1,
|
||||
WA2_VIDCMD_2X = 2,
|
||||
WA2_VIDCMD_LIB = 3,
|
||||
WA2_VIDPOPUP_MISC = 4,
|
||||
WA2_VIDCMD_EXIT_FS = 5,
|
||||
};
|
||||
|
||||
void sendVidCmd(int which, int x=0, int y=0, int menu_align_flag=0);
|
||||
int hasVideoSupport();
|
||||
int isPlayingVideo();
|
||||
int isPlayingVideoFullscreen();
|
||||
int isDoubleSize();
|
||||
int getTimeDisplayMode();
|
||||
|
||||
void toggleVis();
|
||||
int isVisRunning();
|
||||
HWND getVisWnd();
|
||||
|
||||
IDropTarget *getDropTarget();
|
||||
|
||||
int getBitrate(); // in kbps
|
||||
int getSamplerate(); // in khz
|
||||
int getChannels(); // 1 mono, 2 stereo ...
|
||||
|
||||
int isValidEmbedWndState(embedWindowState *ws);
|
||||
|
||||
int PE_getNumItems();
|
||||
fileinfo2 *PE_getFileTitle(int index);
|
||||
fileinfo2W *PE_getFileTitleW(int index);
|
||||
int PE_getCurrentIndex();
|
||||
void PE_setCurrentIndex(int i);
|
||||
|
||||
void switchSkin(const wchar_t *skinname);
|
||||
void visNext();
|
||||
void visPrev();
|
||||
void visRandom(int set);
|
||||
void pollVisRandom();
|
||||
void visFullscreen();
|
||||
void visConfig();
|
||||
void visMenu();
|
||||
|
||||
void setIdealVideoSize(int w, int h) { video_ideal_width = w; video_ideal_height = h; }
|
||||
void getIdealVideoSize(int *w, int *h);
|
||||
|
||||
int getStopOnVideoClose();
|
||||
void setStopOnVideoClose(int stop);
|
||||
|
||||
int GetVideoResize();
|
||||
void SetVideoResize(int stop);
|
||||
|
||||
virtual int isVis(HWND hwnd); // checks children too
|
||||
|
||||
HWND getPreferencesWindow();
|
||||
void setPlEditWidthHeight(int width, int height);
|
||||
|
||||
HINSTANCE getLanguagePackInstance();
|
||||
|
||||
void openTrackInfo();
|
||||
const char *getOutputPlugin();
|
||||
|
||||
void setDrawBorders(int d);
|
||||
void disableSkinnedCursors(int disable);
|
||||
|
||||
int getMetaData(const wchar_t *filename, const wchar_t *name, wchar_t *data, int data_len);
|
||||
void GetFileInfo(const wchar_t *filename, wchar_t *title, int titleCch, int *length);
|
||||
|
||||
void invalidateCache();
|
||||
|
||||
const char *getVideoInfoString();
|
||||
|
||||
void playFile(const wchar_t *file);
|
||||
void rewind5s();
|
||||
void forward5s();
|
||||
void endOfPlaylist();
|
||||
void startOfPlaylist();
|
||||
void stopWithFade();
|
||||
void stopAfterCurrent();
|
||||
|
||||
void clearPlaylist();
|
||||
|
||||
int isWindowShade(int wnd);
|
||||
|
||||
int getCurTrackRating();
|
||||
void setCurTrackRating(int rating);
|
||||
|
||||
int isExitEnabled();
|
||||
int pushExitDisabled();
|
||||
int popExitDisabled();
|
||||
|
||||
|
||||
int DownloadFile(const char *url, const wchar_t *destfilepath = L"", bool addToMl = true, bool notifyDownloadsList = true);
|
||||
void getDownloadPath(wchar_t path2store[MAX_PATH]);
|
||||
void setDownloadPath(const wchar_t * path2store);
|
||||
|
||||
bool GetAlbumArt(const wchar_t *filename);
|
||||
bool IsWinampPro();
|
||||
|
||||
private:
|
||||
void setFoundVis() { foundvis = 1; }
|
||||
char *m_version;
|
||||
HWND hwnd_winamp;
|
||||
HWND hwnd_playlist;
|
||||
int foundvis;
|
||||
int enabled;
|
||||
int visible;
|
||||
int video_ideal_width;
|
||||
int video_ideal_height;
|
||||
DWORD cached_length_time;
|
||||
int got_length_cache;
|
||||
int cached_length;
|
||||
|
||||
DWORD cached_pos_time;
|
||||
int got_pos_cache;
|
||||
int cached_pos;
|
||||
|
||||
int saved_video,
|
||||
#ifdef MINIBROWSER_SUPPORT
|
||||
saved_mb,
|
||||
#endif
|
||||
saved_pe, saved_eq, saved_main;
|
||||
};
|
||||
|
||||
//-----------------------------------------------------------------------------------------------
|
||||
|
||||
extern Winamp2FrontEnd wa2;
|
||||
|
||||
BOOL DoTrackPopup(HMENU hMenu, UINT fuFlags, int x, int y, HWND hwnd);
|
||||
|
||||
#endif
|
Loading…
Add table
Add a link
Reference in a new issue