This commit is contained in:
34
cpp/JavaWinampApi/Makefile.win
Normal file
34
cpp/JavaWinampApi/Makefile.win
Normal file
@@ -0,0 +1,34 @@
|
||||
# Project: wpcom
|
||||
# Makefile created by Dev-C++ 4.9.9.2
|
||||
|
||||
CPP = g++.exe
|
||||
CC = gcc.exe
|
||||
WINDRES = windres.exe
|
||||
RES =
|
||||
OBJ = WinampController.o $(RES)
|
||||
LINKOBJ = WinampController.o $(RES)
|
||||
LIBS = -L"E:/java/Dev-Cpp/lib" --no-export-all-symbols --add-stdcall-alias
|
||||
INCS = -I"E:/java/Dev-Cpp/include" -I"E:/Program Files/Java/jdk1.6.0_11/include" -I"E:/Program Files/Java/jdk1.6.0_11/include/win32"
|
||||
CXXINCS = -I"E:/java/Dev-Cpp/lib/gcc/mingw32/3.4.2/include" -I"E:/java/Dev-Cpp/include/c++/3.4.2/backward" -I"E:/java/Dev-Cpp/include/c++/3.4.2/mingw32" -I"E:/java/Dev-Cpp/include/c++/3.4.2" -I"E:/java/Dev-Cpp/include" -I"E:/Program Files/Java/jdk1.6.0_11/include" -I"E:/Program Files/Java/jdk1.6.0_11/include/win32"
|
||||
BIN = ../../wpcom.dll
|
||||
CXXFLAGS = $(CXXINCS) -DBUILDING_DLL=1
|
||||
CFLAGS = $(INCS) -DBUILDING_DLL=1
|
||||
RM = rm -f
|
||||
|
||||
.PHONY: all all-before all-after clean clean-custom
|
||||
|
||||
all: all-before ../../wpcom.dll all-after
|
||||
|
||||
|
||||
clean: clean-custom
|
||||
${RM} $(OBJ) $(BIN)
|
||||
|
||||
DLLWRAP=dllwrap.exe
|
||||
DEFFILE=../../libwpcom.def
|
||||
STATICLIB=../../libwpcom.a
|
||||
|
||||
$(BIN): $(LINKOBJ)
|
||||
$(DLLWRAP) --output-def $(DEFFILE) --implib $(STATICLIB) $(LINKOBJ) $(LIBS) -o $(BIN)
|
||||
|
||||
WinampController.o: WinampController.c
|
||||
$(CC) -c WinampController.c -o WinampController.o $(CFLAGS)
|
||||
62
cpp/JavaWinampApi/WINAMPCMD.H
Normal file
62
cpp/JavaWinampApi/WINAMPCMD.H
Normal file
@@ -0,0 +1,62 @@
|
||||
#define WINAMP_FILE_QUIT 40001
|
||||
#define WINAMP_OPTIONS_PREFS 40012
|
||||
#define WINAMP_OPTIONS_AOT 40019
|
||||
#define WINAMP_FILE_REPEAT 40022
|
||||
#define WINAMP_FILE_SHUFFLE 40023
|
||||
#define WINAMP_HIGH_PRIORITY 40025
|
||||
#define WINAMP_FILE_PLAY 40029
|
||||
#define WINAMP_OPTIONS_EQ 40036
|
||||
#define WINAMP_OPTIONS_ELAPSED 40037
|
||||
#define WINAMP_OPTIONS_REMAINING 40038
|
||||
#define WINAMP_OPTIONS_PLEDIT 40040
|
||||
#define WINAMP_HELP_ABOUT 40041
|
||||
#define WINAMP_MAINMENU 40043
|
||||
#define WINAMP_BUTTON1 40044
|
||||
#define WINAMP_BUTTON2 40045
|
||||
#define WINAMP_BUTTON3 40046
|
||||
#define WINAMP_BUTTON4 40047
|
||||
#define WINAMP_BUTTON5 40048
|
||||
#define WINAMP_VOLUMEUP 40058
|
||||
#define WINAMP_VOLUMEDOWN 40059
|
||||
#define WINAMP_FFWD5S 40060
|
||||
#define WINAMP_REW5S 40061
|
||||
#define WINAMP_NEXT_WINDOW 40063
|
||||
#define WINAMP_OPTIONS_WINDOWSHADE 40064
|
||||
#define WINAMP_BUTTON1_SHIFT 40144
|
||||
#define WINAMP_BUTTON2_SHIFT 40145
|
||||
#define WINAMP_BUTTON3_SHIFT 40146
|
||||
#define WINAMP_BUTTON4_SHIFT 40147
|
||||
#define WINAMP_BUTTON5_SHIFT 40148
|
||||
#define WINAMP_BUTTON1_CTRL 40154
|
||||
#define WINAMP_BUTTON2_CTRL 40155
|
||||
#define WINAMP_BUTTON3_CTRL 40156
|
||||
#define WINAMP_BUTTON4_CTRL 40157
|
||||
#define WINAMP_BUTTON5_CTRL 40158
|
||||
#define WINAMP_OPTIONS_DSIZE 40165
|
||||
#define IDC_SORT_FILENAME 40166
|
||||
#define IDC_SORT_FILETITLE 40167
|
||||
#define IDC_SORT_ENTIREFILENAME 40168
|
||||
#define IDC_SELECTALL 40169
|
||||
#define IDC_SELECTNONE 40170
|
||||
#define IDC_SELECTINV 40171
|
||||
#define IDM_EQ_LOADPRE 40172
|
||||
#define IDM_EQ_LOADMP3 40173
|
||||
#define IDM_EQ_LOADDEFAULT 40174
|
||||
#define IDM_EQ_SAVEPRE 40175
|
||||
#define IDM_EQ_SAVEMP3 40176
|
||||
#define IDM_EQ_SAVEDEFAULT 40177
|
||||
#define IDM_EQ_DELPRE 40178
|
||||
#define IDM_EQ_DELMP3 40180
|
||||
#define IDC_PLAYLIST_PLAY 40184
|
||||
#define WINAMP_FILE_LOC 40185
|
||||
#define WINAMP_OPTIONS_EASYMOVE 40186
|
||||
#define WINAMP_FILE_DIR 40187
|
||||
#define WINAMP_EDIT_ID3 40188
|
||||
#define WINAMP_TOGGLE_AUTOSCROLL 40189
|
||||
#define WINAMP_VISSETUP 40190
|
||||
#define WINAMP_PLGSETUP 40191
|
||||
#define WINAMP_VISPLUGIN 40192
|
||||
#define WINAMP_JUMP 40193
|
||||
#define WINAMP_JUMPFILE 40194
|
||||
#define WINAMP_JUMP10FWD 40195
|
||||
#define WINAMP_JUMP10BACK 40197
|
||||
587
cpp/JavaWinampApi/WinampController.c
Normal file
587
cpp/JavaWinampApi/WinampController.c
Normal file
@@ -0,0 +1,587 @@
|
||||
/* meu .h */
|
||||
#include "WinampController.h"
|
||||
|
||||
/* mingw */
|
||||
#include <windows.h>
|
||||
#include <w32api.h>
|
||||
#include <winuser.h>
|
||||
|
||||
/* winamp sdk */
|
||||
#include "wa_ipc.h"
|
||||
#include "WINAMPCMD.H"
|
||||
|
||||
const int WA_CLOSE = 40001 ;
|
||||
const int WA_PLAY = WINAMP_BUTTON2;
|
||||
const int WA_STOP = WINAMP_BUTTON4;
|
||||
const int WA_PAUSE = WINAMP_BUTTON3;
|
||||
const int WA_PREVTRACK = WINAMP_BUTTON1;
|
||||
const int WA_NEXTTRACK = WINAMP_BUTTON5;
|
||||
const int WA_FWD5SECS = WINAMP_FFWD5S;
|
||||
const int WA_REW5SECS = WINAMP_REW5S;
|
||||
|
||||
const int WA_PLAYLISTLEN = IPC_GETLISTLENGTH;
|
||||
const int WA_SETVOLUME = IPC_SETVOLUME;
|
||||
const int WA_SETPLAYLISTPOS = IPC_SETPLAYLISTPOS;
|
||||
const int WA_WRITEPLAYLIST = IPC_WRITEPLAYLIST;
|
||||
const int WA_ENQUEUEFILE = IPC_ENQUEUEFILE;
|
||||
|
||||
const int WA_VOLUMEUP = WINAMP_VOLUMEUP;
|
||||
const int WA_VOLUMEDOWN = WINAMP_VOLUMEDOWN;
|
||||
|
||||
const int WA_CLEARPLAYLIST = IPC_DELETE;
|
||||
const int WA_NOTHING = 0;
|
||||
const int WA_TRACK_LENGTH = 1;
|
||||
|
||||
const int WA_RESTART = IPC_RESTARTWINAMP;
|
||||
const int WA_REFRESHPLCACHE = IPC_REFRESHPLCACHE;
|
||||
const int WA_GETSHUFFLESTATUS = IPC_GET_SHUFFLE;
|
||||
const int WA_GETREPEATSTATUS = IPC_GET_REPEAT;
|
||||
const int WA_SETSHUFFLESTATUS = IPC_SET_SHUFFLE;
|
||||
const int WA_SETREPEATSTATUS = IPC_SET_REPEAT;
|
||||
|
||||
const int WA_GETSTATUS = IPC_ISPLAYING;
|
||||
|
||||
const int WA_GETLISTPOS = IPC_GETLISTPOS;
|
||||
const int WA_GETTITLE = IPC_GETPLAYLISTTITLE;
|
||||
|
||||
const int WA_VERSION = IPC_GETVERSION;
|
||||
const int WA_FILENAMEINLIST = IPC_GETPLAYLISTFILE;
|
||||
const int WA_GETFILEINFO = IPC_GET_EXTENDED_FILE_INFO;
|
||||
|
||||
HWND hwnd_winamp = NULL;
|
||||
INT position = 0;
|
||||
STARTUPINFO si;
|
||||
PROCESS_INFORMATION pi;
|
||||
char messageReturn[255];
|
||||
wchar_t* wMessageReturn;
|
||||
|
||||
LPDWORD temp;
|
||||
|
||||
void initWinampHandle() {
|
||||
hwnd_winamp = NULL;
|
||||
if (hwnd_winamp == NULL) {
|
||||
hwnd_winamp = FindWindow("Winamp v1.x", NULL);
|
||||
}
|
||||
if (hwnd_winamp == NULL) {
|
||||
hwnd_winamp = FindWindow("Winamp v2.x", NULL);
|
||||
}
|
||||
if (hwnd_winamp == NULL) {
|
||||
hwnd_winamp = FindWindow("Winamp v3.x", NULL);
|
||||
}
|
||||
}
|
||||
|
||||
jboolean runWinamp(unsigned char* pathWinamp) {
|
||||
|
||||
/* STARTUPINFO si;
|
||||
PROCESS_INFORMATION pi;*/
|
||||
|
||||
ZeroMemory( &si, sizeof(si) );
|
||||
si.cb = sizeof(si);
|
||||
ZeroMemory( &pi, sizeof(pi) );
|
||||
|
||||
|
||||
// Start the child process.
|
||||
if(!CreateProcess(pathWinamp,
|
||||
NULL,
|
||||
0,
|
||||
0,
|
||||
FALSE,
|
||||
CREATE_NEW_CONSOLE,
|
||||
0,
|
||||
0,
|
||||
&si,
|
||||
&pi))
|
||||
{
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
DWORD dwResult = WaitForInputIdle(pi.hProcess,INFINITE);
|
||||
if (dwResult != 0) return FALSE;
|
||||
|
||||
CloseHandle(pi.hProcess);
|
||||
CloseHandle(pi.hThread);
|
||||
|
||||
return TRUE;
|
||||
|
||||
|
||||
}
|
||||
|
||||
int getListPos() {
|
||||
|
||||
initWinampHandle();
|
||||
if (hwnd_winamp != NULL) {
|
||||
|
||||
return SendMessage(hwnd_winamp,WM_USER,WA_NOTHING,WA_GETLISTPOS);
|
||||
|
||||
}
|
||||
return -1;
|
||||
|
||||
}
|
||||
|
||||
void getPluginMessage(int param, int sendMessage)
|
||||
{
|
||||
|
||||
LPCVOID message = (LPCVOID)SendMessageW(hwnd_winamp, WM_USER, param, sendMessage);
|
||||
ZeroMemory( &pi, sizeof(pi));
|
||||
GetWindowThreadProcessId(hwnd_winamp, &pi.dwThreadId);
|
||||
pi.hProcess = OpenProcess(PROCESS_ALL_ACCESS,FALSE,pi.dwThreadId);
|
||||
ReadProcessMemory(pi.hProcess, message, messageReturn,2056,temp);
|
||||
free(temp);
|
||||
CloseHandle(pi.hProcess);
|
||||
CloseHandle(pi.hThread);
|
||||
|
||||
}
|
||||
|
||||
JNIEXPORT jboolean JNICALL Java_com_qotsa_jni_controller_JNIWinamp_run
|
||||
(JNIEnv *env, jobject obj) {
|
||||
|
||||
initWinampHandle();
|
||||
|
||||
if ( hwnd_winamp == NULL ) {
|
||||
|
||||
unsigned char path[MAX_PATH]="";
|
||||
DWORD size = MAX_PATH;
|
||||
|
||||
HKEY key;
|
||||
DWORD tipo;
|
||||
|
||||
if (!RegOpenKey(HKEY_LOCAL_MACHINE,"Software\\Clients\\Media\\Winamp\\shell\\open\\command",&key)==ERROR_SUCCESS)
|
||||
{
|
||||
|
||||
printf("0");
|
||||
return FALSE;
|
||||
|
||||
}
|
||||
|
||||
if (!(RegQueryValueEx(key,"",NULL,&tipo,path,&size))==ERROR_SUCCESS)
|
||||
{
|
||||
|
||||
RegCloseKey(key);
|
||||
return FALSE;
|
||||
|
||||
}
|
||||
|
||||
if (!runWinamp(path))
|
||||
{
|
||||
|
||||
RegCloseKey(key);
|
||||
return FALSE;
|
||||
|
||||
}
|
||||
return TRUE;
|
||||
|
||||
}
|
||||
|
||||
int version = SendMessage(hwnd_winamp,WM_WA_IPC,0,IPC_GETVERSION);
|
||||
return TRUE;
|
||||
|
||||
}
|
||||
|
||||
JNIEXPORT jboolean JNICALL Java_com_qotsa_jni_controller_JNIWinamp_exit
|
||||
(JNIEnv *env, jobject obj) {
|
||||
|
||||
initWinampHandle();
|
||||
if (hwnd_winamp != NULL) {
|
||||
SendMessageA(hwnd_winamp, WM_COMMAND, WA_CLOSE, WA_NOTHING);
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
return FALSE;
|
||||
|
||||
|
||||
}
|
||||
|
||||
JNIEXPORT jboolean JNICALL Java_com_qotsa_jni_controller_JNIWinamp_play
|
||||
(JNIEnv *env, jobject obj) {
|
||||
initWinampHandle();
|
||||
if (hwnd_winamp != NULL) {
|
||||
|
||||
SendMessageA(hwnd_winamp, WM_COMMAND, WA_PLAY, WA_NOTHING);
|
||||
return TRUE;
|
||||
|
||||
}
|
||||
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
|
||||
JNIEXPORT jboolean JNICALL Java_com_qotsa_jni_controller_JNIWinamp_stop
|
||||
(JNIEnv *env, jobject obj)
|
||||
{
|
||||
initWinampHandle();
|
||||
if (hwnd_winamp != NULL) {
|
||||
SendMessageA(hwnd_winamp, WM_COMMAND, WA_STOP, WA_NOTHING);
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
|
||||
JNIEXPORT jboolean JNICALL Java_com_qotsa_jni_controller_JNIWinamp_resume
|
||||
(JNIEnv *env, jobject obj) {
|
||||
initWinampHandle();
|
||||
if (hwnd_winamp != NULL) {
|
||||
SendMessageA(hwnd_winamp, WM_COMMAND, WA_PAUSE, WA_NOTHING);
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
|
||||
JNIEXPORT jboolean JNICALL Java_com_qotsa_jni_controller_JNIWinamp_pause
|
||||
(JNIEnv *env, jobject obj) {
|
||||
initWinampHandle();
|
||||
if (hwnd_winamp != NULL) {
|
||||
SendMessageA(hwnd_winamp, WM_COMMAND, WA_PAUSE, WA_NOTHING);
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
JNIEXPORT jboolean JNICALL Java_com_qotsa_jni_controller_JNIWinamp_previousTrack
|
||||
(JNIEnv *env, jobject obj) {
|
||||
initWinampHandle();
|
||||
if (hwnd_winamp != NULL) {
|
||||
SendMessageA(hwnd_winamp, WM_COMMAND, WA_PREVTRACK, WA_NOTHING);
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
return FALSE;
|
||||
|
||||
}
|
||||
|
||||
JNIEXPORT jboolean JNICALL Java_com_qotsa_jni_controller_JNIWinamp_nextTrack
|
||||
(JNIEnv *env, jobject obj) {
|
||||
initWinampHandle();
|
||||
if (hwnd_winamp != NULL) {
|
||||
SendMessageA(hwnd_winamp, WM_COMMAND, WA_NEXTTRACK, WA_NOTHING);
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
JNIEXPORT jboolean JNICALL Java_com_qotsa_jni_controller_JNIWinamp_fwd5Secs
|
||||
(JNIEnv *env, jobject obj) {
|
||||
initWinampHandle();
|
||||
if (hwnd_winamp != NULL) {
|
||||
SendMessageA(hwnd_winamp, WM_COMMAND, WA_FWD5SECS, WA_NOTHING);
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
JNIEXPORT jboolean JNICALL Java_com_qotsa_jni_controller_JNIWinamp_rew5Secs
|
||||
(JNIEnv *env, jobject obj) {
|
||||
initWinampHandle();
|
||||
if (hwnd_winamp != NULL) {
|
||||
SendMessageA(hwnd_winamp, WM_COMMAND, WA_REW5SECS, WA_NOTHING);
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
JNIEXPORT jboolean JNICALL Java_com_qotsa_jni_controller_JNIWinamp_increaseVolume
|
||||
(JNIEnv *env, jobject obj) {
|
||||
initWinampHandle();
|
||||
if (hwnd_winamp != NULL) {
|
||||
SendMessageA(hwnd_winamp, WM_COMMAND, WA_VOLUMEUP, WA_NOTHING);
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
return FALSE;
|
||||
|
||||
}
|
||||
|
||||
JNIEXPORT jboolean JNICALL Java_com_qotsa_jni_controller_JNIWinamp_decreaseVolume
|
||||
(JNIEnv *env, jobject obj) {
|
||||
initWinampHandle();
|
||||
if (hwnd_winamp != NULL) {
|
||||
SendMessageA(hwnd_winamp, WM_COMMAND, WA_VOLUMEDOWN, WA_NOTHING);
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
return FALSE;
|
||||
|
||||
}
|
||||
|
||||
JNIEXPORT jboolean JNICALL Java_com_qotsa_jni_controller_JNIWinamp_increaseVolumePercent
|
||||
(JNIEnv *env, jobject obj, jint percent) {
|
||||
initWinampHandle();
|
||||
int i = 0;
|
||||
if (hwnd_winamp != NULL) {
|
||||
for(i=0;i<percent;i++) {
|
||||
SendMessageA(hwnd_winamp, WM_COMMAND, WA_VOLUMEUP, WA_NOTHING);
|
||||
}
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
JNIEXPORT jboolean JNICALL Java_com_qotsa_jni_controller_JNIWinamp_decreaseVolumePercent
|
||||
(JNIEnv *env, jobject obj, jint percent) {
|
||||
initWinampHandle();
|
||||
int i = 0;
|
||||
if (hwnd_winamp != NULL) {
|
||||
for(i=0;i<percent;i++) {
|
||||
SendMessageA(hwnd_winamp, WM_COMMAND, WA_VOLUMEDOWN, WA_NOTHING);
|
||||
}
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
return FALSE;
|
||||
|
||||
}
|
||||
|
||||
JNIEXPORT jboolean JNICALL Java_com_qotsa_jni_controller_JNIWinamp_setVolume
|
||||
(JNIEnv *env, jobject obj, jint pos) {
|
||||
initWinampHandle();
|
||||
if (hwnd_winamp != NULL) {
|
||||
SendMessageA(hwnd_winamp, WM_USER, pos, WA_SETVOLUME);
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
return FALSE;
|
||||
|
||||
}
|
||||
|
||||
JNIEXPORT jint JNICALL Java_com_qotsa_jni_controller_JNIWinamp_getVolume
|
||||
(JNIEnv *env, jobject obj, jint pos) {
|
||||
jint curVolume = -1;
|
||||
initWinampHandle();
|
||||
if (hwnd_winamp != NULL) {
|
||||
curVolume = (jint)SendMessageA(hwnd_winamp, WM_USER, -666, WA_SETVOLUME);
|
||||
}
|
||||
|
||||
return curVolume;
|
||||
}
|
||||
|
||||
JNIEXPORT jboolean JNICALL Java_com_qotsa_jni_controller_JNIWinamp_restart
|
||||
(JNIEnv *env, jobject obj) {
|
||||
initWinampHandle();
|
||||
if (hwnd_winamp != NULL) {
|
||||
SendMessageA(hwnd_winamp, WM_USER, WA_NOTHING, WA_RESTART);
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
return FALSE;
|
||||
|
||||
}
|
||||
|
||||
JNIEXPORT jboolean JNICALL Java_com_qotsa_jni_controller_JNIWinamp_setPlaylistPosition
|
||||
(JNIEnv *env, jobject obj, jint pos) {
|
||||
initWinampHandle();
|
||||
if (hwnd_winamp != NULL) {
|
||||
SendMessageA(hwnd_winamp, WM_USER, pos, WA_SETPLAYLISTPOS);
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
return FALSE;
|
||||
|
||||
}
|
||||
|
||||
JNIEXPORT jboolean JNICALL Java_com_qotsa_jni_controller_JNIWinamp_clearPlayList
|
||||
(JNIEnv *env, jobject obj) {
|
||||
initWinampHandle();
|
||||
if (hwnd_winamp != NULL) {
|
||||
SendMessageA(hwnd_winamp, WM_USER, WA_NOTHING, WA_CLEARPLAYLIST);
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
JNIEXPORT jboolean JNICALL Java_com_qotsa_jni_controller_JNIWinamp_refreshPlayListCache
|
||||
(JNIEnv *env, jobject obj) {
|
||||
initWinampHandle();
|
||||
if (hwnd_winamp != NULL) {
|
||||
SendMessageA(hwnd_winamp, WM_USER, WA_NOTHING, WA_REFRESHPLCACHE);
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
return FALSE;
|
||||
|
||||
}
|
||||
|
||||
JNIEXPORT jint JNICALL Java_com_qotsa_jni_controller_JNIWinamp_getPlayListLength
|
||||
(JNIEnv *env, jobject obj) {
|
||||
jint length = -1;
|
||||
initWinampHandle();
|
||||
if (hwnd_winamp != NULL) {
|
||||
length = (jint)SendMessageA(hwnd_winamp, WM_USER, WA_NOTHING, WA_PLAYLISTLEN);
|
||||
}
|
||||
|
||||
return length;
|
||||
}
|
||||
|
||||
JNIEXPORT jint JNICALL Java_com_qotsa_jni_controller_JNIWinamp_writePlayListToFile
|
||||
(JNIEnv *env, jobject obj) {
|
||||
jint length = -1;
|
||||
initWinampHandle();
|
||||
if (hwnd_winamp != NULL) {
|
||||
length = SendMessageA(hwnd_winamp, WM_USER, WA_NOTHING, WA_WRITEPLAYLIST);
|
||||
}
|
||||
return length;
|
||||
}
|
||||
|
||||
JNIEXPORT jint JNICALL Java_com_qotsa_jni_controller_JNIWinamp_isShuffleStatusOn
|
||||
(JNIEnv *env, jobject obj) {
|
||||
jint status = 0;
|
||||
initWinampHandle();
|
||||
if (hwnd_winamp != NULL) {
|
||||
status = (jint)SendMessageA(hwnd_winamp, WM_USER, WA_NOTHING, WA_GETSHUFFLESTATUS);
|
||||
} else
|
||||
return -1;
|
||||
|
||||
return status>0?1:0;
|
||||
}
|
||||
|
||||
JNIEXPORT jint JNICALL Java_com_qotsa_jni_controller_JNIWinamp_isRepeatStatusOn
|
||||
(JNIEnv *env, jobject obj) {
|
||||
jint status = 0;
|
||||
initWinampHandle();
|
||||
if (hwnd_winamp != NULL) {
|
||||
status = (jint)SendMessageA(hwnd_winamp, WM_USER, WA_NOTHING, WA_GETREPEATSTATUS);
|
||||
} else
|
||||
return -1;
|
||||
|
||||
return status>0?1:0;
|
||||
}
|
||||
|
||||
JNIEXPORT jboolean JNICALL Java_com_qotsa_jni_controller_JNIWinamp_setRepeatStatusOn
|
||||
(JNIEnv *env, jobject obj, jboolean status) {
|
||||
initWinampHandle();
|
||||
if (hwnd_winamp != NULL) {
|
||||
SendMessageA(hwnd_winamp, WM_USER, status, WA_SETREPEATSTATUS);
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
JNIEXPORT jboolean JNICALL Java_com_qotsa_jni_controller_JNIWinamp_setShuffleStatusOn
|
||||
(JNIEnv *env, jobject obj, jboolean status) {
|
||||
initWinampHandle();
|
||||
if (hwnd_winamp != NULL) {
|
||||
SendMessageA(hwnd_winamp, WM_USER, status, WA_SETSHUFFLESTATUS);
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
JNIEXPORT jboolean JNICALL Java_com_qotsa_jni_controller_JNIWinamp_appendToPlayList
|
||||
(JNIEnv *env, jobject obj, jstring mp3filename) {
|
||||
initWinampHandle();
|
||||
jboolean iscopy;
|
||||
if (hwnd_winamp != NULL) {
|
||||
wMessageReturn = (wchar_t*)(*env)->GetStringChars(env, mp3filename, &iscopy);
|
||||
int length = wcslen(wMessageReturn);
|
||||
COPYDATASTRUCT cds;
|
||||
cds.dwData = IPC_PLAYFILEW;
|
||||
cds.lpData = (void*)wMessageReturn;
|
||||
cds.cbData = length * 2 + 2 ; // it sums white space
|
||||
|
||||
SendMessageW(hwnd_winamp, WM_COPYDATA, WA_NOTHING, (LPARAM)&cds);
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
return FALSE;
|
||||
|
||||
}
|
||||
|
||||
JNIEXPORT jint JNICALL Java_com_qotsa_jni_controller_JNIWinamp_getStatus
|
||||
(JNIEnv *env, jobject obj) {
|
||||
jint status = -1;
|
||||
initWinampHandle();
|
||||
if (hwnd_winamp != NULL) {
|
||||
status = SendMessageA(hwnd_winamp, WM_USER, WA_NOTHING, WA_GETSTATUS);
|
||||
}
|
||||
|
||||
return status;
|
||||
|
||||
|
||||
}
|
||||
|
||||
JNIEXPORT jint JNICALL Java_com_qotsa_jni_controller_JNIWinamp_getListPos
|
||||
(JNIEnv *env, jobject obj) {
|
||||
|
||||
return getListPos();
|
||||
|
||||
}
|
||||
|
||||
JNIEXPORT jstring JNICALL Java_com_qotsa_jni_controller_JNIWinamp_getTitle
|
||||
(JNIEnv *env, jobject obj) {
|
||||
|
||||
initWinampHandle();
|
||||
if (hwnd_winamp != NULL) {
|
||||
|
||||
char title[500] = "";
|
||||
GetWindowText(hwnd_winamp,title,500);
|
||||
return (*env)->NewStringUTF(env,title);
|
||||
|
||||
|
||||
}
|
||||
|
||||
return NULL;
|
||||
|
||||
}
|
||||
|
||||
JNIEXPORT jint JNICALL Java_com_qotsa_jni_controller_JNIWinamp_getTime
|
||||
(JNIEnv *env, jobject obj, jint mode) {
|
||||
|
||||
initWinampHandle();
|
||||
if (hwnd_winamp != NULL) {
|
||||
|
||||
return SendMessage(hwnd_winamp,WM_USER,mode,IPC_GETOUTPUTTIME);
|
||||
|
||||
}
|
||||
|
||||
return -2;
|
||||
|
||||
}
|
||||
|
||||
JNIEXPORT jstring JNICALL Java_com_qotsa_jni_controller_JNIWinamp_getFileNameInList
|
||||
(JNIEnv *env, jobject obj, jint index)
|
||||
{
|
||||
|
||||
initWinampHandle();
|
||||
|
||||
if (hwnd_winamp != NULL) {
|
||||
|
||||
getPluginMessage(index, WA_FILENAMEINLIST);
|
||||
char* filePath = messageReturn;
|
||||
jstring strReturn = (*env)->NewStringUTF(env,filePath);
|
||||
return strReturn;
|
||||
|
||||
}
|
||||
|
||||
return NULL;
|
||||
|
||||
}
|
||||
|
||||
JNIEXPORT jstring JNICALL Java_com_qotsa_jni_controller_JNIWinamp_getFileNamePlaying
|
||||
(JNIEnv *env, jobject obj)
|
||||
{
|
||||
|
||||
initWinampHandle();
|
||||
|
||||
if (hwnd_winamp != NULL) {
|
||||
|
||||
getPluginMessage(WA_NOTHING, IPC_GET_PLAYING_FILENAME);
|
||||
wchar_t* fileName = (wchar_t*)messageReturn;
|
||||
int length = wcslen(fileName);
|
||||
jstring strReturn = (*env)->NewString(env,fileName,length);
|
||||
return strReturn;
|
||||
|
||||
}
|
||||
|
||||
return NULL;
|
||||
|
||||
}
|
||||
285
cpp/JavaWinampApi/WinampController.h
Normal file
285
cpp/JavaWinampApi/WinampController.h
Normal file
@@ -0,0 +1,285 @@
|
||||
/* DO NOT EDIT THIS FILE - it is machine generated */
|
||||
#include <jni.h>
|
||||
/* Header for class WinampController */
|
||||
|
||||
|
||||
#ifndef _Included_WinampController
|
||||
#define _Included_WinampController
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
#endif
|
||||
|
||||
void initWinampHandle();
|
||||
|
||||
jboolean runWinamp(unsigned char* pathWinamp);
|
||||
|
||||
int getListPos();
|
||||
|
||||
void getPluginMessage(int param, int sendMessage);
|
||||
|
||||
/*
|
||||
* Class: WinampController
|
||||
* Method: run
|
||||
* Signature: ()V
|
||||
*/
|
||||
JNIEXPORT jboolean JNICALL Java_com_qotsa_jni_controller_JNIWinamp_run
|
||||
(JNIEnv *, jclass);
|
||||
/*
|
||||
* Class: WinampController
|
||||
* Method: exit
|
||||
* Signature: ()V
|
||||
*/
|
||||
JNIEXPORT jboolean JNICALL Java_com_qotsa_jni_controller_JNIWinamp_exit
|
||||
(JNIEnv *, jclass);
|
||||
/*
|
||||
* Class: WinampController
|
||||
* Method: play
|
||||
* Signature: ()V
|
||||
*/
|
||||
JNIEXPORT jboolean JNICALL Java_com_qotsa_jni_controller_JNIWinamp_play
|
||||
(JNIEnv *, jclass);
|
||||
|
||||
/*
|
||||
* Class: WinampController
|
||||
* Method: stop
|
||||
* Signature: ()V
|
||||
*/
|
||||
JNIEXPORT jboolean JNICALL Java_com_qotsa_jni_controller_JNIWinamp_stop
|
||||
(JNIEnv *, jclass);
|
||||
|
||||
/*
|
||||
* Class: WinampController
|
||||
* Method: resume
|
||||
* Signature: ()V
|
||||
*/
|
||||
JNIEXPORT jboolean JNICALL Java_com_qotsa_jni_controller_JNIWinamp_resume
|
||||
(JNIEnv *, jclass);
|
||||
|
||||
/*
|
||||
* Class: WinampController
|
||||
* Method: pause
|
||||
* Signature: ()V
|
||||
*/
|
||||
JNIEXPORT jboolean JNICALL Java_com_qotsa_jni_controller_JNIWinamp_pause
|
||||
(JNIEnv *, jclass);
|
||||
|
||||
/*
|
||||
* Class: WinampController
|
||||
* Method: previousTrack
|
||||
* Signature: ()V
|
||||
*/
|
||||
JNIEXPORT jboolean JNICALL Java_com_qotsa_jni_controller_JNIWinamp_previousTrack
|
||||
(JNIEnv *, jclass);
|
||||
|
||||
/*
|
||||
* Class: WinampController
|
||||
* Method: nextTrack
|
||||
* Signature: ()V
|
||||
*/
|
||||
JNIEXPORT jboolean JNICALL Java_com_qotsa_jni_controller_JNIWinamp_nextTrack
|
||||
(JNIEnv *, jclass);
|
||||
|
||||
/*
|
||||
* Class: WinampController
|
||||
* Method: fwd5Secs
|
||||
* Signature: ()V
|
||||
*/
|
||||
JNIEXPORT jboolean JNICALL Java_com_qotsa_jni_controller_JNIWinamp_fwd5Secs
|
||||
(JNIEnv *, jclass);
|
||||
|
||||
/*
|
||||
* Class: WinampController
|
||||
* Method: fwd5Secs
|
||||
* Signature: ()V
|
||||
*/
|
||||
JNIEXPORT jboolean JNICALL Java_com_qotsa_jni_controller_JNIWinamp_rew5Secs
|
||||
(JNIEnv *, jclass);
|
||||
|
||||
/*
|
||||
* Class: WinampController
|
||||
* Method: increaseVolume
|
||||
* Signature: ()V
|
||||
*/
|
||||
JNIEXPORT jboolean JNICALL Java_com_qotsa_jni_controller_JNIWinamp_increaseVolume
|
||||
(JNIEnv *, jclass);
|
||||
|
||||
/*
|
||||
* Class: WinampController
|
||||
* Method: decreaseVolume
|
||||
* Signature: ()V
|
||||
*/
|
||||
JNIEXPORT jboolean JNICALL Java_com_qotsa_jni_controller_JNIWinamp_decreaseVolume
|
||||
(JNIEnv *, jclass);
|
||||
|
||||
/*
|
||||
* Class: WinampController
|
||||
* Method: increaseVolumePercent
|
||||
* Signature: (I)V
|
||||
*/
|
||||
JNIEXPORT jboolean JNICALL Java_com_qotsa_jni_controller_JNIWinamp_increaseVolumePercent
|
||||
(JNIEnv *, jclass, jint);
|
||||
|
||||
/*
|
||||
* Class: WinampController
|
||||
* Method: decreaseVolumePercent
|
||||
* Signature: (I)V
|
||||
*/
|
||||
JNIEXPORT jboolean JNICALL Java_com_qotsa_jni_controller_JNIWinamp_decreaseVolumePercent
|
||||
(JNIEnv *, jclass, jint);
|
||||
|
||||
/*
|
||||
* Class: WinampController
|
||||
* Method: setVolume
|
||||
* Signature: (I)V
|
||||
*/
|
||||
JNIEXPORT jboolean JNICALL Java_com_qotsa_jni_controller_JNIWinamp_setVolume
|
||||
(JNIEnv *, jclass, jint);
|
||||
|
||||
/*
|
||||
* Class: WinampController
|
||||
* Method: setVolume
|
||||
* Signature: (I)V
|
||||
*/
|
||||
JNIEXPORT jint JNICALL Java_com_qotsa_jni_controller_JNIWinamp_getVolume
|
||||
(JNIEnv *, jclass, jint);
|
||||
|
||||
/*
|
||||
* Class: WinampController
|
||||
* Method: restart
|
||||
* Signature: ()V
|
||||
*/
|
||||
JNIEXPORT jboolean JNICALL Java_com_qotsa_jni_controller_JNIWinamp_restart
|
||||
(JNIEnv *, jclass);
|
||||
|
||||
/*
|
||||
* Class: WinampController
|
||||
* Method: setPlaylistPosition
|
||||
* Signature: (I)V
|
||||
*/
|
||||
JNIEXPORT jboolean JNICALL Java_com_qotsa_jni_controller_JNIWinamp_setPlaylistPosition
|
||||
(JNIEnv *, jclass, jint);
|
||||
|
||||
/*
|
||||
* Class: WinampController
|
||||
* Method: clearPlayList
|
||||
* Signature: ()V
|
||||
*/
|
||||
JNIEXPORT jboolean JNICALL Java_com_qotsa_jni_controller_JNIWinamp_clearPlayList
|
||||
(JNIEnv *, jclass);
|
||||
|
||||
/*
|
||||
* Class: WinampController
|
||||
* Method: refreshPlayListCache
|
||||
* Signature: ()V
|
||||
*/
|
||||
JNIEXPORT jboolean JNICALL Java_com_qotsa_jni_controller_JNIWinamp_refreshPlayListCache
|
||||
(JNIEnv *, jclass);
|
||||
|
||||
/*
|
||||
* Class: WinampController
|
||||
* Method: getPlayListLength
|
||||
* Signature: ()I
|
||||
*/
|
||||
JNIEXPORT jint JNICALL Java_com_qotsa_jni_controller_JNIWinamp_getPlayListLength
|
||||
(JNIEnv *, jclass);
|
||||
|
||||
/*
|
||||
* Class: WinampController
|
||||
* Method: writePlayListToFile
|
||||
* Signature: ()I
|
||||
*/
|
||||
JNIEXPORT jint JNICALL Java_com_qotsa_jni_controller_JNIWinamp_writePlayListToFile
|
||||
(JNIEnv *, jclass);
|
||||
|
||||
/*
|
||||
* Class: WinampController
|
||||
* Method: isShuffleStatusOn
|
||||
* Signature: ()Z
|
||||
*/
|
||||
JNIEXPORT jint JNICALL Java_com_qotsa_jni_controller_JNIWinamp_isShuffleStatusOn
|
||||
(JNIEnv *, jclass);
|
||||
|
||||
/*
|
||||
* Class: WinampController
|
||||
* Method: isRepeatStatusOn
|
||||
* Signature: ()Z
|
||||
*/
|
||||
JNIEXPORT jint JNICALL Java_com_qotsa_jni_controller_JNIWinamp_isRepeatStatusOn
|
||||
(JNIEnv *, jclass);
|
||||
|
||||
/*
|
||||
* Class: WinampController
|
||||
* Method: setRepeatStatusOn
|
||||
* Signature: (Z)V
|
||||
*/
|
||||
JNIEXPORT jboolean JNICALL Java_com_qotsa_jni_controller_JNIWinamp_setRepeatStatusOn
|
||||
(JNIEnv *, jclass, jboolean);
|
||||
|
||||
/*
|
||||
* Class: WinampController
|
||||
* Method: setShuffleStatusOn
|
||||
* Signature: (Z)V
|
||||
*/
|
||||
JNIEXPORT jboolean JNICALL Java_com_qotsa_jni_controller_JNIWinamp_setShuffleStatusOn
|
||||
(JNIEnv *, jclass, jboolean);
|
||||
|
||||
/*
|
||||
* Class: WinampController
|
||||
* Method: appendToPlayList
|
||||
* Signature: (Ljava/lang/String;)V
|
||||
*/
|
||||
JNIEXPORT jboolean JNICALL Java_com_qotsa_jni_controller_JNIWinamp_appendToPlayList
|
||||
(JNIEnv *, jclass, jstring);
|
||||
|
||||
/*
|
||||
* Class: WinampController
|
||||
* Method: getStatus
|
||||
* Signature: ()I
|
||||
*/
|
||||
JNIEXPORT jint JNICALL Java_com_qotsa_jni_controller_JNIWinamp_getStatus
|
||||
(JNIEnv *, jclass);
|
||||
|
||||
/*
|
||||
* Class: WinampController
|
||||
* Method: getListPos
|
||||
* Signature: ()I
|
||||
*/
|
||||
JNIEXPORT jint JNICALL Java_com_qotsa_jni_controller_JNIWinamp_getListPos
|
||||
(JNIEnv *, jclass);
|
||||
|
||||
/*
|
||||
* Class: WinampController
|
||||
* Method: getTitle
|
||||
* Signature: ()I
|
||||
*/
|
||||
JNIEXPORT jstring JNICALL Java_com_qotsa_jni_controller_JNIWinamp_getTitle
|
||||
(JNIEnv *, jclass);
|
||||
|
||||
/*
|
||||
* Class: WinampController
|
||||
* Method: getTime
|
||||
* Signature: ()I
|
||||
*/
|
||||
JNIEXPORT jint JNICALL Java_com_qotsa_jni_controller_JNIWinamp_getTime
|
||||
(JNIEnv *, jclass, jint);
|
||||
|
||||
/*
|
||||
* Class: WinampController
|
||||
* Method: getFileNameInList
|
||||
* Signature: ()I
|
||||
*/
|
||||
JNIEXPORT jstring JNICALL Java_com_qotsa_jni_controller_JNIWinamp_getFileNameInList
|
||||
(JNIEnv *, jclass, jint);
|
||||
|
||||
/*
|
||||
* Class: WinampController
|
||||
* Method: getFileNamePlaying
|
||||
* Signature: ()I
|
||||
*/
|
||||
JNIEXPORT jstring JNICALL Java_com_qotsa_jni_controller_JNIWinamp_getFileNamePlaying
|
||||
(JNIEnv *, jobject);
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
#endif
|
||||
#endif
|
||||
1
cpp/JavaWinampApi/cpy.bat
Normal file
1
cpp/JavaWinampApi/cpy.bat
Normal file
@@ -0,0 +1 @@
|
||||
copy /y wpcom.dll c:\winnt\system32\
|
||||
58
cpp/JavaWinampApi/libwpcom.def
Normal file
58
cpp/JavaWinampApi/libwpcom.def
Normal file
@@ -0,0 +1,58 @@
|
||||
; dlltool --base-file C:\DOCUME~1\FRANCI~1\CONFIG~1\Temp/cca03628.base --output-exp wpcom.exp --dllname wpcom.dll --output-def libwpcom.def --no-export-all-symbols --add-stdcall-alias --exclude-symbol=DllMainCRTStartup@12 --def C:\DOCUME~1\FRANCI~1\CONFIG~1\Temp/cca03628.def --output-lib libwpcom.a
|
||||
EXPORTS
|
||||
Java_controller_JNIWinampController_appendToPlayList = Java_controller_JNIWinampController_appendToPlayList@12 @ 1
|
||||
Java_controller_JNIWinampController_appendToPlayList@12 @ 2
|
||||
Java_controller_JNIWinampController_clearPlayList = Java_controller_JNIWinampController_clearPlayList@8 @ 3
|
||||
Java_controller_JNIWinampController_clearPlayList@8 @ 4
|
||||
Java_controller_JNIWinampController_clearPlayListCache = Java_controller_JNIWinampController_clearPlayListCache@8 @ 5
|
||||
Java_controller_JNIWinampController_clearPlayListCache@8 @ 6
|
||||
Java_controller_JNIWinampController_decreaseVolume = Java_controller_JNIWinampController_decreaseVolume@8 @ 7
|
||||
Java_controller_JNIWinampController_decreaseVolume@8 @ 8
|
||||
Java_controller_JNIWinampController_decreaseVolumePercent = Java_controller_JNIWinampController_decreaseVolumePercent@12 @ 9
|
||||
Java_controller_JNIWinampController_decreaseVolumePercent@12 @ 10
|
||||
Java_controller_JNIWinampController_exit = Java_controller_JNIWinampController_exit@8 @ 11
|
||||
Java_controller_JNIWinampController_exit@8 @ 12
|
||||
Java_controller_JNIWinampController_getListPos = Java_controller_JNIWinampController_getListPos@8 @ 13
|
||||
Java_controller_JNIWinampController_getListPos@8 @ 14
|
||||
Java_controller_JNIWinampController_getPlayListLength = Java_controller_JNIWinampController_getPlayListLength@8 @ 15
|
||||
Java_controller_JNIWinampController_getPlayListLength@8 @ 16
|
||||
Java_controller_JNIWinampController_getSeconds = Java_controller_JNIWinampController_getSeconds@8 @ 17
|
||||
Java_controller_JNIWinampController_getSeconds@8 @ 18
|
||||
Java_controller_JNIWinampController_getStatus = Java_controller_JNIWinampController_getStatus@8 @ 19
|
||||
Java_controller_JNIWinampController_getStatus@8 @ 20
|
||||
Java_controller_JNIWinampController_getTitle = Java_controller_JNIWinampController_getTitle@8 @ 21
|
||||
Java_controller_JNIWinampController_getTitle@8 @ 22
|
||||
Java_controller_JNIWinampController_increaseVolume = Java_controller_JNIWinampController_increaseVolume@8 @ 23
|
||||
Java_controller_JNIWinampController_increaseVolume@8 @ 24
|
||||
Java_controller_JNIWinampController_increaseVolumePercent = Java_controller_JNIWinampController_increaseVolumePercent@12 @ 25
|
||||
Java_controller_JNIWinampController_increaseVolumePercent@12 @ 26
|
||||
Java_controller_JNIWinampController_isRepeatStatusOn = Java_controller_JNIWinampController_isRepeatStatusOn@8 @ 27
|
||||
Java_controller_JNIWinampController_isRepeatStatusOn@8 @ 28
|
||||
Java_controller_JNIWinampController_isShuffleStatusOn = Java_controller_JNIWinampController_isShuffleStatusOn@8 @ 29
|
||||
Java_controller_JNIWinampController_isShuffleStatusOn@8 @ 30
|
||||
Java_controller_JNIWinampController_nextTrack = Java_controller_JNIWinampController_nextTrack@8 @ 31
|
||||
Java_controller_JNIWinampController_nextTrack@8 @ 32
|
||||
Java_controller_JNIWinampController_pause = Java_controller_JNIWinampController_pause@8 @ 33
|
||||
Java_controller_JNIWinampController_pause@8 @ 34
|
||||
Java_controller_JNIWinampController_play = Java_controller_JNIWinampController_play@8 @ 35
|
||||
Java_controller_JNIWinampController_play@8 @ 36
|
||||
Java_controller_JNIWinampController_previousTrack = Java_controller_JNIWinampController_previousTrack@8 @ 37
|
||||
Java_controller_JNIWinampController_previousTrack@8 @ 38
|
||||
Java_controller_JNIWinampController_restart = Java_controller_JNIWinampController_restart@8 @ 39
|
||||
Java_controller_JNIWinampController_restart@8 @ 40
|
||||
Java_controller_JNIWinampController_resume = Java_controller_JNIWinampController_resume@8 @ 41
|
||||
Java_controller_JNIWinampController_resume@8 @ 42
|
||||
Java_controller_JNIWinampController_run = Java_controller_JNIWinampController_run@8 @ 43
|
||||
Java_controller_JNIWinampController_run@8 @ 44
|
||||
Java_controller_JNIWinampController_setPlaylistPosition = Java_controller_JNIWinampController_setPlaylistPosition@12 @ 45
|
||||
Java_controller_JNIWinampController_setPlaylistPosition@12 @ 46
|
||||
Java_controller_JNIWinampController_setRepeatStatusOn = Java_controller_JNIWinampController_setRepeatStatusOn@12 @ 47
|
||||
Java_controller_JNIWinampController_setRepeatStatusOn@12 @ 48
|
||||
Java_controller_JNIWinampController_setShuffleStatusOn = Java_controller_JNIWinampController_setShuffleStatusOn@12 @ 49
|
||||
Java_controller_JNIWinampController_setShuffleStatusOn@12 @ 50
|
||||
Java_controller_JNIWinampController_setVolume = Java_controller_JNIWinampController_setVolume@12 @ 51
|
||||
Java_controller_JNIWinampController_setVolume@12 @ 52
|
||||
Java_controller_JNIWinampController_stop = Java_controller_JNIWinampController_stop@8 @ 53
|
||||
Java_controller_JNIWinampController_stop@8 @ 54
|
||||
Java_controller_JNIWinampController_writePlayListToFile = Java_controller_JNIWinampController_writePlayListToFile@8 @ 55
|
||||
Java_controller_JNIWinampController_writePlayListToFile@8 @ 56
|
||||
1620
cpp/JavaWinampApi/wa_ipc.h
Normal file
1620
cpp/JavaWinampApi/wa_ipc.h
Normal file
File diff suppressed because it is too large
Load Diff
69
cpp/JavaWinampApi/wpcom.dev
Normal file
69
cpp/JavaWinampApi/wpcom.dev
Normal file
@@ -0,0 +1,69 @@
|
||||
[Project]
|
||||
FileName=wpcom.dev
|
||||
Name=wpcom
|
||||
UnitCount=2
|
||||
Type=3
|
||||
Ver=1
|
||||
ObjFiles=
|
||||
Includes="E:\Program Files\Java\jdk1.6.0_11\include";"E:\Program Files\Java\jdk1.6.0_11\include\win32"
|
||||
Libs=
|
||||
PrivateResource=
|
||||
ResourceIncludes=
|
||||
MakeIncludes=
|
||||
Compiler=-DBUILDING_DLL=1_@@_
|
||||
CppCompiler=-DBUILDING_DLL=1_@@_
|
||||
Linker=--no-export-all-symbols --add-stdcall-alias_@@_
|
||||
IsCpp=0
|
||||
Icon=
|
||||
ExeOutput=..\..\..\JavaWinampAPI
|
||||
ObjectOutput=
|
||||
OverrideOutput=1
|
||||
OverrideOutputName=wpcom.dll
|
||||
HostApplication=
|
||||
Folders=
|
||||
CommandLine=
|
||||
UseCustomMakefile=0
|
||||
CustomMakefile=
|
||||
IncludeVersionInfo=0
|
||||
SupportXPThemes=0
|
||||
CompilerSet=0
|
||||
CompilerSettings=0000000000000000000000
|
||||
|
||||
[Unit1]
|
||||
FileName=WinampController.c
|
||||
CompileCpp=0
|
||||
Folder=wacon
|
||||
Compile=1
|
||||
Link=1
|
||||
Priority=1000
|
||||
OverrideBuildCmd=0
|
||||
BuildCmd=$(CC) -c WinampController.c -o WinampController.o $(CFLAGS)
|
||||
|
||||
[VersionInfo]
|
||||
Major=0
|
||||
Minor=1
|
||||
Release=1
|
||||
Build=1
|
||||
LanguageID=1033
|
||||
CharsetID=1252
|
||||
CompanyName=
|
||||
FileVersion=
|
||||
FileDescription=Developed using the Dev-C++ IDE
|
||||
InternalName=
|
||||
LegalCopyright=
|
||||
LegalTrademarks=
|
||||
OriginalFilename=
|
||||
ProductName=
|
||||
ProductVersion=
|
||||
AutoIncBuildNr=0
|
||||
|
||||
[Unit2]
|
||||
FileName=WinampController.h
|
||||
CompileCpp=0
|
||||
Folder=wacon
|
||||
Compile=1
|
||||
Link=1
|
||||
Priority=1000
|
||||
OverrideBuildCmd=0
|
||||
BuildCmd=
|
||||
|
||||
17
cpp/JavaWinampApi/wpcom.layout
Normal file
17
cpp/JavaWinampApi/wpcom.layout
Normal file
@@ -0,0 +1,17 @@
|
||||
[Editor_0]
|
||||
CursorCol=32
|
||||
CursorRow=359
|
||||
TopLine=338
|
||||
LeftChar=1
|
||||
Open=1
|
||||
Top=1
|
||||
[Editors]
|
||||
Focused=0
|
||||
Order=1,0
|
||||
[Editor_1]
|
||||
Open=1
|
||||
Top=0
|
||||
CursorCol=73
|
||||
CursorRow=143
|
||||
TopLine=127
|
||||
LeftChar=1
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user