// Definition of DJConsole, DJControlMP3 & DJConsoleMKII mapper for VirtualDJ // See www.virtualdj.com for more information // (c)Atomix Productions 2005 #ifndef IDJCMapperH #define IDJCMapperH #define DJC_MODE 0 #define DJC_PLAY_PAUSE 1 #define DJC_CUE 2 #define DJC_AUTOBEAT 3 #define DJC_PREV_TRACK 4 #define DJC_NEXT_TRACK 5 #define DJC_EFFECT1 6 #define DJC_EFFECT2 7 #define DJC_EFFECT3 8 #define DJC_PITCH_BEND_PLUS 9 #define DJC_PITCH_BEND_MINUS 10 #define DJC_MP3 11 #define DJC_MASTER_TEMPO 12 #define DJC_MOUSE 13 #define DJC_DECK 14 // only in djc mkII #define DJC_DECK_LOCK 15 // only in djc mkII #define DJC_DECK_LOOPBACK 16 // only in djc mkII #define DJC_HM_DECK_A 17 // only in djc mkII #define DJC_HM_DECK_B 18 // only in djc mkII #define DJC_HM_SPLIT 19 // only in djc mkII #define DJC_HM_MIX 20 // only in djc mkII #define DJC_ON_AIR 21 // only in djc mkII #define DJCMAX 22 #define DJCSLIDER_BASS 0 #define DJCSLIDER_MEDIUM 1 #define DJCSLIDER_TREMBLE 2 #define DJCSLIDER_CROSS_FADER 3 #define DJCSLIDER_VOLUME 4 #define DJCSLIDER_PITCH 5 #define DJCSLIDER_JOG 6 #define DJCSLIDER_MOUSE_X 7 #define DJCSLIDER_MOUSE_Y 8 #define DJCSLIDERMAX 9 #define DJCLED_MONITOR 0 #define DJCLED_FX123 1 #define DJCLED_CUE123 2 #define DJCLED_LOOP123 3 #define DJCLED_TEMPO 4 #define DJCLED_AUTOBEAT 5 #define DJCLED_CUE 6 #define DJCLED_PLAY 7 #define DJCLEDMAX 8 #ifndef _HRESULT_DEFINED #define _HRESULT_DEFINED typedef long HRESULT; typedef unsigned long ULONG; #endif class IDJCMapper { public: virtual ULONG Release() {delete this;return 0;} virtual HRESULT OnButton(int chan,int button,int down)=0; virtual HRESULT OnSlider(int chan,int slider,int value,int delta)=0; virtual HRESULT OnTimer()=0; // 100 ms HRESULT (*SendAction)(char *action,char *chan,char *param,int down); HRESULT (*SetLed)(int chan,int n,bool value); struct { int Position,Length; int Status,Playing; int Pitch,PitchReset; int Bpm; int Loop,LoopLength; int CuePos; int BeatLed; int BeatLocked; int PitchMin,PitchMax; int AutoMix,MixNow; int Selected; } Song[2]; int ConsoleVersion; }; static const GUID CLSID_VdjDjc = { 0xd2e2926a, 0x28ad, 0x4a79, { 0xbc, 0xfc, 0x1e, 0x9e, 0xe5, 0xf8, 0x18, 0x63 } }; static const GUID IID_IVdjDjc = { 0x272555c1, 0x3001, 0x4997, { 0x87, 0xff, 0xfd, 0x57, 0x6e, 0x23, 0x12, 0x4 } }; #ifndef NODLLEXPORT #ifdef __cplusplus extern "C" { #endif __declspec( dllexport ) HRESULT __stdcall DllGetClassObject(const GUID &rclsid,const GUID &riid,void** ppObject); #ifdef __cplusplus } #endif #endif #endif