diff options
author | Robert Jonsson <spamatica@gmail.com> | 2010-10-13 19:34:22 +0000 |
---|---|---|
committer | Robert Jonsson <spamatica@gmail.com> | 2010-10-13 19:34:22 +0000 |
commit | 8a2c2824a59d7644e13bc52c9a0ecbd641f21f95 (patch) | |
tree | 064ad3f2bf8daab0ad27b128abd86a9bbdb1e496 /muse2/muse/shortcuts.h | |
parent | a27706d9629e8b592cca4659f865b70adef24e6d (diff) |
new branch muse2, first checkin
Diffstat (limited to 'muse2/muse/shortcuts.h')
-rw-r--r-- | muse2/muse/shortcuts.h | 285 |
1 files changed, 285 insertions, 0 deletions
diff --git a/muse2/muse/shortcuts.h b/muse2/muse/shortcuts.h new file mode 100644 index 00000000..0e2121f9 --- /dev/null +++ b/muse2/muse/shortcuts.h @@ -0,0 +1,285 @@ +// +// C++ Interface: shortcuts +// +// Description: +// Datastructures and declaration of shortcuts used in the application +// +// Author: Mathias Lundgren <lunar_shuttle@users.sourceforge.net>, (C) 2003 +// +// Copyright: Mathias Lundgren (lunar_shuttle@users.sourceforge.net) (C) 2003 +// +// +#ifndef __SHORTCUTS_H__ +#define __SHORTCUTS_H__ + +#include <list> +#include "xml.h" + +// +// Shortcut categories +// +#define PROLL_SHRT 1 // Pianoroll shortcut +#define DEDIT_SHRT 2 // Drumedit shortcut +#define LEDIT_SHRT 4 // Listedit shortcut +#define SCORE_SHRT 8 // Score shortcut +#define ARRANG_SHRT 16 // Arrenger shortcut +#define TRANSP_SHRT 32 // Transport shortcut +#define WAVE_SHRT 64 // Waveedit shortcut +#define GLOBAL_SHRT 128 // Global shortcuts +#define LMEDIT_SHRT 256 // List masteredit +#define MEDIT_SHRT 512 // Master editor +#define ALL_SHRT 1023 // All shortcuts +#define INVIS_SHRT 1024 // Shortcuts not shown in the config-dialog. Hard-coded. To avoid conflicts + +#define SHRT_NUM_OF_CATEGORIES 7 //Number of shortcut categories + +struct shortcut + { + int key; + const char* descr; + const char* xml; //xml-tag for config-file + int type; + }; + +struct shortcut_cg + { + int id_flag; + const char* name; + }; + +typedef struct shortcut ShortCut ; + +enum { + //Transport/Positioning + SHRT_PLAY_SONG, //Enter + SHRT_PLAY_TOGGLE, //Space + SHRT_STOP, //Insert + SHRT_GOTO_START, // W + SHRT_GOTO_LEFT, //End-keypad + SHRT_GOTO_RIGHT, //Cursordown-keypad + SHRT_POS_INC, // Plus + SHRT_POS_DEC, // Minus + SHRT_TOGGLE_LOOP, // Slash + SHRT_TOGGLE_METRO, // C + SHRT_START_REC, // *(keypad) + SHRT_REC_CLEAR, // *(keypad) + + //Main + Drumeditor + SHRT_NEW, //Ctrl+N + SHRT_OPEN, //Ctrl+O + SHRT_SAVE, //Ctrl+S + + //Used throughout the app: + SHRT_UNDO, //Ctrl+Z + SHRT_REDO, //Ctrl+Y + SHRT_COPY, //Ctrl+C + SHRT_CUT, //Ctrl+X + SHRT_PASTE, //Ctrl+V + SHRT_DELETE,//Delete + + + //Main: + SHRT_SAVE_AS, //Default: undefined + SHRT_OPEN_RECENT, //Ctrl+1 + SHRT_LOAD_TEMPLATE, //Default: undefined + SHRT_CONFIG_PRINTER, //Ctrl+P + SHRT_IMPORT_MIDI, //Default: undefined + SHRT_EXPORT_MIDI, //Default: undefined + SHRT_IMPORT_PART, //!< Import midi part to current track & location, Default: undefined + SHRT_IMPORT_AUDIO, //Default: undefined + SHRT_QUIT, //Default: Ctrl+Q + + SHRT_DESEL_PARTS, //Ctrl+B + SHRT_SELECT_PRTSTRACK, //Default: undefined + SHRT_OPEN_PIANO, //Ctrl+E + SHRT_OPEN_SCORE, //Ctrl+R + SHRT_OPEN_DRUMS, //Ctrl+D + SHRT_OPEN_LIST, //Ctrl+L + SHRT_OPEN_WAVE, //Ctrl+W + SHRT_OPEN_GRAPHIC_MASTER, //Ctrl+M + SHRT_OPEN_LIST_MASTER, //Ctrl+Shift+M + SHRT_OPEN_MIDI_TRANSFORM, //Ctrl+T + + SHRT_GLOBAL_CUT, //Default: undefined + SHRT_GLOBAL_INSERT, //Default: undefined + SHRT_GLOBAL_SPLIT, //Default: undefined + SHRT_COPY_RANGE, //Default: undefined + SHRT_CUT_EVENTS, //Default: undefined + + SHRT_OPEN_TRANSPORT, //F11 + SHRT_OPEN_BIGTIME, //F12 + SHRT_OPEN_MIXER, //Ctrl+* + SHRT_OPEN_MIXER2, //Ctrl+* + SHRT_OPEN_MARKER, // F9 + SHRT_OPEN_CLIPS, //Default: undefined + + SHRT_FOLLOW_JUMP, //Default: undefined + SHRT_FOLLOW_NO, //Default: undefined + SHRT_FOLLOW_CONTINUOUS, //Default: undefined + + SHRT_GLOBAL_CONFIG, //Default: undefined + SHRT_CONFIG_SHORTCUTS, //Default: undefined + SHRT_CONFIG_METRONOME, //Default: undefined + SHRT_CONFIG_MIDISYNC, //Default: undefined + SHRT_MIDI_FILE_CONFIG, //Default: undefined + SHRT_APPEARANCE_SETTINGS, //Default: undefined + SHRT_CONFIG_MIDI_PORTS, //Default: undefined + SHRT_CONFIG_AUDIO_PORTS, //Default: undefined + //SHRT_SAVE_GLOBAL_CONFIG, //Default: undefined + + SHRT_MIDI_EDIT_INSTRUMENTS, //Default: undefined + SHRT_MIDI_INPUT_TRANSFORM, //Default: undefined + SHRT_MIDI_INPUT_FILTER, //Default: undefined + SHRT_MIDI_INPUT_TRANSPOSE, //Default: undefined + SHRT_MIDI_REMOTE_CONTROL, //Default: undefined + SHRT_RANDOM_RHYTHM_GENERATOR, //Default: undefined + SHRT_MIDI_RESET, //Default: undefined + SHRT_MIDI_INIT, //Default: undefined + SHRT_MIDI_LOCAL_OFF, //Default: undefined + + SHRT_AUDIO_BOUNCE_TO_TRACK, //Default: undefined + SHRT_AUDIO_BOUNCE_TO_FILE, //Default: undefined + SHRT_AUDIO_RESTART, //Default: undefined + + SHRT_MIXER_AUTOMATION, //Default: undefined + SHRT_MIXER_SNAPSHOT, //Default: undefined + SHRT_MIXER_AUTOMATION_CLEAR, //Default: undefined + + SHRT_ADD_MIDI_TRACK, //Default: Ctrl+J + SHRT_ADD_DRUM_TRACK, //Default: undefined + SHRT_ADD_WAVE_TRACK, //Default: undefined + SHRT_ADD_AUDIO_OUTPUT, //Default: undefined + SHRT_ADD_AUDIO_GROUP, //Default: undefined + SHRT_ADD_AUDIO_INPUT, //Default: undefined + SHRT_ADD_AUDIO_AUX, //Default: undefined + SHRT_RESET_MIDI, //Ctrl+Alt+Z + + SHRT_OPEN_HELP, //F1 + SHRT_START_WHATSTHIS, //Shift-F1 + + //Arranger, parts: + SHRT_EDIT_PART, //Enter + SHRT_SEL_ABOVE, //Up + SHRT_SEL_ABOVE_ADD, //move up and add to selection + SHRT_SEL_BELOW, //Down + SHRT_SEL_BELOW_ADD, //move down and add to selection + + /* + SHRT_INSERT, //Ctrl+Shift+I - insert parts instead of pasting + SHRT_INSERTMEAS, //Ctrl+Shift+M - insert measures + */ + //Arranger tracks + SHRT_SEL_TRACK_BELOW, + SHRT_SEL_TRACK_ABOVE, + + //To be in arranger, pianoroll & drumeditor + SHRT_SELECT_ALL, //Ctrl+A + SHRT_SELECT_NONE, //Ctrl+Shift+A + SHRT_SELECT_INVERT, //Ctrl+I + SHRT_SELECT_ILOOP, //Default: Undefined + SHRT_SELECT_OLOOP, //Default: Undefined + SHRT_SELECT_PREV_PART, // Ctrl+- + SHRT_SELECT_NEXT_PART, // Ctrl++ + SHRT_SEL_LEFT, //left + SHRT_SEL_LEFT_ADD, //move left and add to selection + SHRT_SEL_RIGHT, //Right + SHRT_SEL_RIGHT_ADD, //move right and add to selection + SHRT_INC_PITCH, + SHRT_DEC_PITCH, + SHRT_INC_POS, + SHRT_DEC_POS, + SHRT_LOCATORS_TO_SELECTION, //Alt+P, currently in arranger & pianoroll + SHRT_INSERT_AT_LOCATION, //Shift+CrsrRight + SHRT_INCREASE_LEN, + SHRT_DECREASE_LEN, + + SHRT_TOOL_1,//Shift+1 Pointer + SHRT_TOOL_2,//Shift+2 Pen + SHRT_TOOL_3,//Shift+3 Rubber + SHRT_TOOL_4,//Shift+4 + SHRT_TOOL_5,//Shift+5 + SHRT_TOOL_6,//Shift+6 + SHRT_TRANSPOSE, //Default: undefined + + //Shortcuts to be in pianoroll & drumeditor + SHRT_ZOOM_IN, // PgUp + SHRT_ZOOM_OUT, // PgDown + SHRT_GOTO_CPOS, // c + SHRT_SCROLL_LEFT, // h + SHRT_SCROLL_RIGHT, // l + SHRT_FIXED_LEN, //Alt+L, currently only drumeditor + SHRT_QUANTIZE, //q + SHRT_OVER_QUANTIZE, //Default: undefined + SHRT_ON_QUANTIZE, //Default: undefined + SHRT_ONOFF_QUANTIZE, //Default: undefined + SHRT_ITERATIVE_QUANTIZE, //Default: undefined + SHRT_CONFIG_QUANT, //Default: Ctrl+Alt+Q + SHRT_MODIFY_GATE_TIME, //Default: undefined + SHRT_MODIFY_VELOCITY, + SHRT_CRESCENDO, + SHRT_DELETE_OVERLAPS, + + SHRT_THIN_OUT, + SHRT_ERASE_EVENT, + SHRT_NOTE_SHIFT, + SHRT_MOVE_CLOCK, + SHRT_COPY_MEASURE, + SHRT_ERASE_MEASURE, + SHRT_DELETE_MEASURE, + SHRT_CREATE_MEASURE, + SHRT_SET_QUANT_1, //1 - pianoroll + SHRT_SET_QUANT_2, //2 - pianoroll + SHRT_SET_QUANT_3, //3 - pianoroll + SHRT_SET_QUANT_4, //4 - pianoroll + SHRT_SET_QUANT_5, //5 - pianoroll + SHRT_SET_QUANT_6, //6 - pianoroll + SHRT_SET_QUANT_7, //7 - pianoroll + SHRT_TOGGLE_TRIOL, //t + SHRT_TOGGLE_PUNCT, //.-keypad + SHRT_TOGGLE_PUNCT2, // , + + SHRT_EVENT_COLOR, //e + + // Shortcuts for tools + // global + SHRT_TOOL_POINTER, // + SHRT_TOOL_PENCIL, + SHRT_TOOL_RUBBER, + + // pianoroll and drum editor + SHRT_TOOL_LINEDRAW, + + // arranger + SHRT_TOOL_SCISSORS, + SHRT_TOOL_GLUE, + SHRT_TOOL_MUTE, + + + //Listeditor: + SHRT_LE_INS_NOTES, //Ctrl+N + SHRT_LE_INS_SYSEX, //Ctrl+S + SHRT_LE_INS_CTRL, //Ctrl+T + SHRT_LE_INS_META, //Default: undefined + SHRT_LE_INS_CHAN_AFTERTOUCH,//Ctrl+A + SHRT_LE_INS_POLY_AFTERTOUCH,//Ctrl+P + + //List master editor: + SHRT_LM_INS_TEMPO, // Ctrl+T + SHRT_LM_INS_SIG, // Ctrl+R + SHRT_LM_EDIT_BEAT, // Ctrl+Shift+E + SHRT_LM_EDIT_VALUE,// Ctrl+E + + // Marker view + SHRT_NEXT_MARKER, + SHRT_PREV_MARKER, + + //Last item: + SHRT_NUM_OF_ELEMENTS // must be last + }; + +extern ShortCut shortcuts[SHRT_NUM_OF_ELEMENTS]; //size of last entry +extern void initShortCuts(); +extern void writeShortCuts(int level, Xml& xml); +extern void readShortCuts (Xml& xml); +extern const shortcut_cg shortcut_category[SHRT_NUM_OF_CATEGORIES]; +#endif |