// Definition of Denon controller mapper for VirtualDJ // See www.virtualdj.com for more information // (c)Atomix Productions 2007 #ifndef IDenonMapperH #define IDenonMapperH #ifndef FOURCC #define DENON_BTN_EJECT 0x01 #define DENON_BTN_PLAYLIST 0x02 #define DENON_BTN_LAYER 0x03 #define DENON_BTN_JOGMODE 0x04 #define DENON_BTN_PITCH 0x05 #define DENON_BTN_KEY 0x06 #define DENON_BTN_TAP 0x07 #define DENON_BTN_PITCHBEND_PLUS 0x08 #define DENON_BTN_PITCHBEND_MINUS 0x09 #define DENON_BTN_SEARCH_FORWARD 0x10 #define DENON_BTN_SEARCH_BACKWARD 0x11 #define DENON_BTN_FX1 0x12 #define DENON_BTN_FX2 0x13 #define DENON_BTN_FX3 0x14 #define DENON_BTN_FX 0x15 #define DENON_BTN_DISP 0x16 #define DENON_BTN_1 0x17 #define DENON_BTN_2 0x18 #define DENON_BTN_3 0x19 #define DENON_BTN_4 0x20 #define DENON_BTN_5 0x21 #define DENON_BTN_6 0x22 #define DENON_BTN_TIME 0x23 #define DENON_BTN_MEMO 0x24 #define DENON_BTN_TITLE 0x25 #define DENON_BTN_CONT_SINGLE 0x26 #define DENON_BTN_NEXT 0x27 #define DENON_BTN_PARAMETER 0x28 #define DENON_BTN_BACK 0x30 #define DENON_BTN_SOURCE 0x31 #define DENON_BTN_SYNC 0x32 #define DENON_BTN_MIDI 0x33 #define DENON_BTN_DEVICE 0x34 #define DENON_BTN_USB 0x35 #define DENON_BTN_FLIP 0x36 #define DENON_BTN_A1 0x37 #define DENON_BTN_A2 0x38 #define DENON_BTN_B 0x39 #define DENON_BTN_EXIT_RELOOP 0x40 #define DENON_BTN_AB_TRIM 0x41 #define DENON_BTN_CUE 0x42 #define DENON_BTN_PLAY 0x43 #define DENON_BTN_BRAKE 0x44 #define DENON_BTN_DUMP 0x45 #define DENON_BTN_REVERSE 0x46 #define DENON_BTN_JOG_UP 0x47 #define DENON_BTN_JOG_DOWN 0x48 #define DENON_BTN_JOG_LEFT 0x49 #define DENON_BTN_JOG_RIGHT 0x50 #define DENON_BTN_JOG_TOUCH 0x51 #define DENON_BTN_SYS_PRESET 0x52 #define DENON_BTN_SYS_CONTROL 0x53 #define DENON_BTN_MIX 0x54 #define DENON_BTN_DIR 0x55 #define DENON_SLIDER_JOGWHEEL 0x51 #define DENON_SLIDER_XCONTROL 0x53 #define DENON_SLIDER_PARAMETER 0x54 #define DENON_SLIDER_FX 0x55 #define DENON_SLIDER_JOGWHEEL2 0x56 #define DENON_SLIDER_PITCH 0xff #define DENON_LED_EJECT 0x01 #define DENON_LED_PLAYLIST 0x02 #define DENON_LED_PITCH_3 0x03 #define DENON_LED_PITCH_MATCH 0x04 #define DENON_LED_JOGMODE_GREEN 0x05 #define DENON_LED_JOGMODE_ORANGE 0x06 #define DENON_LED_PITCH_GREEN 0x07 #define DENON_LED_PITCH_ORANGE 0x08 #define DENON_LED_TAP_GREEN 0x09 #define DENON_LED_TAP_ORANGE 0x0a #define DENON_LED_FX1_RED 0x0b #define DENON_LED_FX1_GREEN 0x0c #define DENON_LED_FX2_RED 0x0d #define DENON_LED_FX2_GREEN 0x0e #define DENON_LED_FX3_RED 0x0f #define DENON_LED_FX3_GREEN 0x10 #define DENON_LED_1 0x11 #define DENON_LED_1_DIMMER 0x12 #define DENON_LED_2 0x13 #define DENON_LED_2_DIMMER 0x14 #define DENON_LED_3 0x15 #define DENON_LED_3_DIMMER 0x16 #define DENON_LED_4 0x17 #define DENON_LED_4_DIMMER 0x18 #define DENON_LED_5 0x19 #define DENON_LED_5_DIMMER 0x1a #define DENON_LED_6 0x1b #define DENON_LED_6_DIMMER 0x1c #define DENON_LED_NEXT 0x1d #define DENON_LED_PARAMETER 0x1e #define DENON_LED_SYNC 0x1f #define DENON_LED_MIDI 0x20 #define DENON_LED_DEVICE 0x21 #define DENON_LED_USB 0x22 #define DENON_LED_FLIP 0x23 #define DENON_LED_A1 0x24 #define DENON_LED_A1_DIMMER 0x3e #define DENON_LED_A2 0x25 #define DENON_LED_A2_DIMMER 0x3f #define DENON_LED_CUE 0x26 #define DENON_LED_PLAY 0x27 #define DENON_LED_BRAKE 0x28 #define DNEON_LED_DUMP 0x29 #define DENON_LED_REVERSE 0x30 #define DENON_LED_JOG 0x3b #define DENON_LED_B 0x40 #define DENON_LED_MIX 0x41 #define DENON_LED_EXIT_RELOOP 0x42 #define DENON_LED_LEFT 0x43 #define DENON_LED_RIGHT 0x44 #define DENON_LED_DISP 0x45 #define DENON_LED_LAYER 0x46 #define DENON_LED_SYMBOL_T 0x81 #define DENON_LED_SYMBOL_REMAIN 0x82 #define DENON_LED_SYMBOL_ELAPSED 0x83 #define DENON_LED_SYMBOL_CONT 0x84 #define DENON_LED_SYMBOL_SINGLE 0x85 #define DENON_LED_SYMBOL_BPM 0x86 #define DENON_LED_SYMBOL_M 0x87 #define DENON_LED_SYMBOL_S 0x88 #define DENON_LED_SYMBOL_F 0x89 #define DENON_LED_SYMBOL_PITCH_DOT_RIGHT 0x8a #define DENON_LED_SYMBOL_PITCH_DOT_CENTER 0x8b #define DENON_LED_SYMBOL_PITCH_DOT_LEFT 0x8c #define DENON_LED_SYMBOL_CD 0x8d #define DENON_LED_SYMBOL_USB 0x8e #define DENON_LED_SYMBOL_PC 0x8f #define DENON_LED_SYMBOL_MP3 0x90 #define DENON_LED_SYMBOL_WAV 0x91 #define DENON_LED_SYMBOL_LINK 0x92 #define DENON_LED_SYMBOL_KB 0x93 #define DENON_LED_SYMBOL_KEY_ADJ 0x94 #define DENON_LED_SYMBOL_MEMO 0x95 #define DENON_LED_SYMBOL_A1_LEFT 0x96 #define DENON_LED_SYMBOL_A2_LEFT 0x97 #define DENON_LED_SYMBOL_A1_RIGHT 0x98 #define DENON_LED_SYMBOL_A2_RIGHT 0x99 #define DENON_LED_SYMBOL_A1 0x9a #define DENON_LED_SYMBOL_A2 0x9b #define DENON_LED_SYMBOL_A1_B 0x9c #define DENON_LED_SYMBOL_A2_B 0x9d #define DENON_LED_SYMBOL_SCRATCH_OUT 0x9e #define DENON_LED_SYMBOL_SCRATCH_IN 0x9f #define DENON_LED_SYMBOL_TOUCH_DOT 0xa0 #define DENON_LED_SYMBOL_PITCH_PLUS 0xa1 #define DENON_LED_SYMBOL_PITCH_MINUS 0xa2 #define DENON_LED_SYMBOL_TRACK_BLINK 0xa1 #define DENON_DIGIT_SCRATCH_POS 1 #define DENON_DIGIT_TRACK_POS 2 #define DENON_DIGIT_TIME 3 #define DENON_DIGIT_PITCH 4 #define DENON_DIGIT_TRACK_NUMBER 5 #define DENON_DIGIT_BPM 6 #define DENON_TEXT_LINE1 0 #define DENON_TEXT_LINE2 1 #else #define DENON_BTN_EJECT 'EJEC' #define DENON_BTN_PLAYLIST 'PLIS' #define DENON_BTN_LAYER 'LAYR' #define DENON_BTN_JOGMODE 'SCRA' #define DENON_BTN_PITCH 'PITC' #define DENON_BTN_KEY 'KEY' #define DENON_BTN_TAP 'TAP' #define DENON_BTN_PITCHBEND_PLUS 'PB+' #define DENON_BTN_PITCHBEND_MINUS 'PB-' #define DENON_BTN_SEARCH_FORWARD 'SEA+' #define DENON_BTN_SEARCH_BACKWARD 'SEA-' #define DENON_BTN_FX1 'FX1' #define DENON_BTN_FX2 'FX2' #define DENON_BTN_FX3 'FX3' #define DENON_BTN_FX 'FX' #define DENON_BTN_DISP 'DISP' #define DENON_BTN_1 '1' #define DENON_BTN_2 '2' #define DENON_BTN_3 '3' #define DENON_BTN_4 '4' #define DENON_BTN_5 '5' #define DENON_BTN_6 '6' #define DENON_BTN_TIME 'TIME' #define DENON_BTN_MEMO 'MEMO' #define DENON_BTN_TITLE 'TITL' #define DENON_BTN_CONT_SINGLE 'CONT' #define DENON_BTN_NEXT 'NEXT' #define DENON_BTN_PARAMETER 'TRAK' #define DENON_BTN_BACK 'BACK' #define DENON_BTN_SOURCE 'SOUR' #define DENON_BTN_SYNC 'SYNC' #define DENON_BTN_MIDI 'MIDI' #define DENON_BTN_DEVICE 'DEVI' #define DENON_BTN_USB 'USB' #define DENON_BTN_FLIP 'SLOP' #define DENON_BTN_A1 'LOPA' #define DENON_BTN_A2 'LOPB' #define DENON_BTN_B 'LOPC' #define DENON_BTN_EXIT_RELOOP 'LOPX' #define DENON_BTN_AB_TRIM 'LOPT' #define DENON_BTN_CUE 'CUE' #define DENON_BTN_PLAY 'PLAY' #define DENON_BTN_BRAKE 'BRAK' #define DENON_BTN_DUMP 'DUMP' #define DENON_BTN_REVERSE 'REV' #define DENON_BTN_JOG_UP 'UP' #define DENON_BTN_JOG_DOWN 'DOWN' #define DENON_BTN_JOG_LEFT 'LEFT' #define DENON_BTN_JOG_RIGHT 'RIGH' #define DENON_BTN_JOG_TOUCH 'JOG' #define DENON_BTN_SYS_PRESET 'pres' #define DENON_BTN_SYS_CONTROL 'cont' #define DENON_BTN_MIX 'MIX' #define DENON_BTN_DIR 'DIR' #define DENON_SLIDER_JOGWHEEL 'JOG' #define DENON_SLIDER_XCONTROL 'CROS' #define DENON_SLIDER_PARAMETER 'TRAK' #define DENON_SLIDER_FX 'FX' #define DENON_SLIDER_JOGWHEEL2 'JOG2' #define DENON_SLIDER_PITCH 'PITC' #define DENON_LED_EJECT 'EJEC' #define DENON_LED_PLAYLIST 'PLIS' #define DENON_LED_PITCH_3 'PIT3' #define DENON_LED_PITCH_MATCH 'PIT2' #define DENON_LED_JOGMODE_GREEN 'SCRA' #define DENON_LED_JOGMODE_ORANGE 'SCRA' #define DENON_LED_PITCH_GREEN 'PITC' #define DENON_LED_PITCH_ORANGE 'PITC' #define DENON_LED_TAP_GREEN 'TAP' #define DENON_LED_TAP_ORANGE 'TAP' #define DENON_LED_FX1_RED 'FX1' #define DENON_LED_FX1_GREEN 'FX1' #define DENON_LED_FX2_RED 'FX2' #define DENON_LED_FX2_GREEN 'FX2' #define DENON_LED_FX3_RED 'FX3' #define DENON_LED_FX3_GREEN 'FX3' #define DENON_LED_1 '1' #define DENON_LED_1_DIMMER '1' #define DENON_LED_2 '2' #define DENON_LED_2_DIMMER '2' #define DENON_LED_3 '3' #define DENON_LED_3_DIMMER '3' #define DENON_LED_4 '4' #define DENON_LED_4_DIMMER '4' #define DENON_LED_5 '5' #define DENON_LED_5_DIMMER '5' #define DENON_LED_6 '6' #define DENON_LED_6_DIMMER '6' #define DENON_LED_NEXT 'NEXT' #define DENON_LED_PARAMETER 'TRAK' #define DENON_LED_SYNC 'SYNC' #define DENON_LED_MIDI 'MIDI' #define DENON_LED_DEVICE 'DEVI' #define DENON_LED_USB 'USB' #define DENON_LED_FLIP 'SLOP' #define DENON_LED_A1 'LOPA' #define DENON_LED_A1_DIMMER 'LOPA' #define DENON_LED_A2 'LOPB' #define DENON_LED_A2_DIMMER 'LOPB' #define DENON_LED_CUE 'CUE' #define DENON_LED_PLAY 'PLAY' #define DENON_LED_BRAKE 'BRAK' #define DENON_LED_DUMP 'DUMP' #define DENON_LED_REVERSE 'REV' #define DENON_LED_JOG 'JOG' #define DENON_LED_B 'LOPC' #define DENON_LED_MIX 'MIX' #define DENON_LED_EXIT_RELOOP 'LOPX' #define DENON_LED_LEFT 'LEFT' #define DENON_LED_RIGHT 'RIGH' #define DENON_LED_DISP 'DISP' #define DENON_LED_LAYER 'LAYR' #define DENON_LED_SYMBOL_T 't' #define DENON_LED_SYMBOL_REMAIN 'rema' #define DENON_LED_SYMBOL_ELAPSED 'elap' #define DENON_LED_SYMBOL_CONT 'cont' #define DENON_LED_SYMBOL_SINGLE 'sing' #define DENON_LED_SYMBOL_BPM 'bpm' #define DENON_LED_SYMBOL_M 'm' #define DENON_LED_SYMBOL_S 's' #define DENON_LED_SYMBOL_F 'f' #define DENON_LED_SYMBOL_PITCH_DOT_RIGHT 'dot3' #define DENON_LED_SYMBOL_PITCH_DOT_CENTER 'dot2' #define DENON_LED_SYMBOL_PITCH_DOT_LEFT 'dot1' #define DENON_LED_SYMBOL_CD 'cd' #define DENON_LED_SYMBOL_USB 'usb' #define DENON_LED_SYMBOL_PC 'pc' #define DENON_LED_SYMBOL_MP3 'mp3' #define DENON_LED_SYMBOL_WAV 'wav' #define DENON_LED_SYMBOL_LINK 'link' #define DENON_LED_SYMBOL_KB 'kb' #define DENON_LED_SYMBOL_KEY_ADJ 'key' #define DENON_LED_SYMBOL_MEMO 'memo' #define DENON_LED_SYMBOL_A1_LEFT '(a1' #define DENON_LED_SYMBOL_A2_LEFT '(a2' #define DENON_LED_SYMBOL_A1_RIGHT 'a1)' #define DENON_LED_SYMBOL_A2_RIGHT 'a2)' #define DENON_LED_SYMBOL_A1 'a1' #define DENON_LED_SYMBOL_A2 'a2' #define DENON_LED_SYMBOL_A1_B 'b1' #define DENON_LED_SYMBOL_A2_B 'b2' #define DENON_LED_SYMBOL_SCRATCH_OUT 'jog+' #define DENON_LED_SYMBOL_SCRATCH_IN 'jog-' #define DENON_LED_SYMBOL_TOUCH_DOT 'jog' #define DENON_LED_SYMBOL_PITCH_PLUS 'pit+' #define DENON_LED_SYMBOL_PITCH_MINUS 'pit-' #define DENON_DIGIT_SCRATCH_POS 'jog' #define DENON_DIGIT_TRACK_POS 'pos' #define DENON_DIGIT_TIME 'time' #define DENON_DIGIT_PITCH 'pitc' #define DENON_DIGIT_TRACK_NUMBER 'deck' #define DENON_DIGIT_BPM 'pitc' #define DENON_TEXT_LINE1 'txt1' #define DENON_TEXT_LINE2 'txt2' #endif // Button index numbers #define DENON_IDX_BTN_EJECT 0 #define DENON_IDX_BTN_PLAYLIST 1 #define DENON_IDX_BTN_LAYER 2 #define DENON_IDX_BTN_JOGMODE 3 #define DENON_IDX_BTN_PITCH 4 #define DENON_IDX_BTN_KEY 5 #define DENON_IDX_BTN_TAP 6 #define DENON_IDX_BTN_PITCHBEND_PLUS 7 #define DENON_IDX_BTN_PITCHBEND_MINUS 8 #define DENON_IDX_BTN_SEARCH_FORWARD 9 #define DENON_IDX_BTN_SEARCH_BACKWARD 10 #define DENON_IDX_BTN_FX1 11 #define DENON_IDX_BTN_FX2 12 #define DENON_IDX_BTN_FX3 13 #define DENON_IDX_BTN_FX 14 #define DENON_IDX_BTN_DISP 15 #define DENON_IDX_BTN_1 16 #define DENON_IDX_BTN_2 17 #define DENON_IDX_BTN_3 18 #define DENON_IDX_BTN_4 19 #define DENON_IDX_BTN_5 20 #define DENON_IDX_BTN_6 21 #define DENON_IDX_BTN_TIME 22 #define DENON_IDX_BTN_MEMO 23 #define DENON_IDX_BTN_TITLE 24 #define DENON_IDX_BTN_CONT_SINGLE 25 #define DENON_IDX_BTN_NEXT 26 #define DENON_IDX_BTN_PARAMETER 27 #define DENON_IDX_BTN_BACK 28 #define DENON_IDX_BTN_SOURCE 29 #define DENON_IDX_BTN_SYNC 30 #define DENON_IDX_BTN_MIDI 31 #define DENON_IDX_BTN_DEVICE 32 #define DENON_IDX_BTN_USB 33 #define DENON_IDX_BTN_FLIP 34 #define DENON_IDX_BTN_A1 35 #define DENON_IDX_BTN_A2 36 #define DENON_IDX_BTN_B 37 #define DENON_IDX_BTN_EXIT_RELOOP 38 #define DENON_IDX_BTN_AB_TRIM 39 #define DENON_IDX_BTN_CUE 40 #define DENON_IDX_BTN_PLAY 41 #define DENON_IDX_BTN_BRAKE 42 #define DENON_IDX_BTN_DUMP 43 #define DENON_IDX_BTN_REVERSE 44 #define DENON_IDX_BTN_JOG_UP 45 #define DENON_IDX_BTN_JOG_DOWN 46 #define DENON_IDX_BTN_JOG_LEFT 47 #define DENON_IDX_BTN_JOG_RIGHT 48 #define DENON_IDX_BTN_JOG_TOUCH 49 #define DENON_IDX_BTN_SYS_PRESET 50 #define DENON_IDX_BTN_SYS_CONTROL 51 #define DENON_IDX_BTN_MIX 52 #define DENON_IDX_BTN_DIR 53 #define DENON_IDX_BTN_MAX (DENON_IDX_BTN_DIR + 1) // Array of button -> index mappings int denon_buttons[DENON_IDX_BTN_MAX] = { DENON_BTN_EJECT, DENON_BTN_PLAYLIST, DENON_BTN_LAYER, DENON_BTN_JOGMODE, DENON_BTN_PITCH, DENON_BTN_KEY, DENON_BTN_TAP, DENON_BTN_PITCHBEND_PLUS, DENON_BTN_PITCHBEND_MINUS, DENON_BTN_SEARCH_FORWARD, DENON_BTN_SEARCH_BACKWARD, DENON_BTN_FX1, DENON_BTN_FX2, DENON_BTN_FX3, DENON_BTN_FX, DENON_BTN_DISP, DENON_BTN_1, DENON_BTN_2, DENON_BTN_3, DENON_BTN_4, DENON_BTN_5, DENON_BTN_6, DENON_BTN_TIME, DENON_BTN_MEMO, DENON_BTN_TITLE, DENON_BTN_CONT_SINGLE, DENON_BTN_NEXT, DENON_BTN_PARAMETER, DENON_BTN_BACK, DENON_BTN_SOURCE, DENON_BTN_SYNC, DENON_BTN_MIDI, DENON_BTN_DEVICE, DENON_BTN_USB, DENON_BTN_FLIP, DENON_BTN_A1, DENON_BTN_A2, DENON_BTN_B, DENON_BTN_EXIT_RELOOP, DENON_BTN_AB_TRIM, DENON_BTN_CUE, DENON_BTN_PLAY, DENON_BTN_BRAKE, DENON_BTN_DUMP, DENON_BTN_REVERSE, DENON_BTN_JOG_UP, DENON_BTN_JOG_DOWN, DENON_BTN_JOG_LEFT, DENON_BTN_JOG_RIGHT, DENON_BTN_JOG_TOUCH, DENON_BTN_SYS_PRESET, DENON_BTN_SYS_CONTROL, DENON_BTN_MIX, DENON_BTN_DIR }; #endif