Olav SørensenPushed v1.40 code16c6ce76 years agoHistory
376 lines · 6.8 KB · C
RawDownload
#pragma once #include <stdint.h>#include <stdbool.h> enum // PUSHBUTTONS{	// reserved	PB_RES_1,	PB_RES_2,	PB_RES_3,	PB_RES_4,	PB_RES_5,	PB_RES_6,	PB_RES_7,	PB_RES_8, 	// POSITION EDITOR	PB_POSED_POS_UP,	PB_POSED_POS_DOWN,	PB_POSED_INS,	PB_POSED_PATT_UP,	PB_POSED_PATT_DOWN,	PB_POSED_DEL,	PB_POSED_LEN_UP,	PB_POSED_LEN_DOWN,	PB_POSED_REP_UP,	PB_POSED_REP_DOWN, 	// SONG/PATTERN	PB_BPM_UP,	PB_BPM_DOWN,	PB_SPEED_UP,	PB_SPEED_DOWN,	PB_EDITADD_UP,	PB_EDITADD_DOWN,	PB_PATT_UP,	PB_PATT_DOWN,	PB_PATTLEN_UP,	PB_PATTLEN_DOWN,	PB_PATT_EXPAND,	PB_PATT_SHRINK, 	// LOGO	PB_LOGO,	PB_BADGE, 	// MAIN MENU	PB_ABOUT,	PB_NIBBLES,	PB_KILL,	PB_TRIM,	PB_EXTEND_VIEW,	PB_TRANSPOSE,	PB_INST_ED_EXT,	PB_SMP_ED_EXT,	PB_ADV_EDIT,	PB_ADD_CHANNELS,	PB_SUB_CHANNELS,	PB_PLAY_SONG,	PB_PLAY_PATT,	PB_STOP,	PB_RECORD_SONG,	PB_RECORD_PATT,	PB_DISK_OP,	PB_INST_ED,	PB_SMP_ED,	PB_CONFIG,	PB_HELP,	PB_EXIT_EXT_PATT, 	// INSTRUMENT SWITCHER	PB_RANGE1,	PB_RANGE2,	PB_RANGE3,	PB_RANGE4,	PB_RANGE5,	PB_RANGE6,	PB_RANGE7,	PB_RANGE8,	PB_RANGE9,	PB_RANGE10,	PB_RANGE11,	PB_RANGE12,	PB_RANGE13,	PB_RANGE14,	PB_RANGE15,	PB_RANGE16,	PB_SWAP_BANK,	PB_SAMPLE_LIST_UP,	PB_SAMPLE_LIST_DOWN, 	// NIBBLES SCREEN	PB_NIBBLES_PLAY,	PB_NIBBLES_HELP,	PB_NIBBLES_HIGHS,	PB_NIBBLES_EXIT, 	// ADVANCED EDIT	PB_REMAP_TRACK,	PB_REMAP_PATTERN,	PB_REMAP_SONG,	PB_REMAP_BLOCK, 	// ABOUT SCREEN	PB_EXIT_ABOUT, 	// HELP SCREEN	PB_HELP_EXIT,	PB_HELP_SCROLL_UP,	PB_HELP_SCROLL_DOWN, 	// PATTERN EDITOR	PB_CHAN_SCROLL_LEFT,	PB_CHAN_SCROLL_RIGHT, 	// TRANSPOSE	PB_TRANSP_CUR_INS_TRK_UP,	PB_TRANSP_CUR_INS_TRK_DN,	PB_TRANSP_CUR_INS_TRK_12UP,	PB_TRANSP_CUR_INS_TRK_12DN,	PB_TRANSP_ALL_INS_TRK_UP,	PB_TRANSP_ALL_INS_TRK_DN,	PB_TRANSP_ALL_INS_TRK_12UP,	PB_TRANSP_ALL_INS_TRK_12DN,	PB_TRANSP_CUR_INS_PAT_UP,	PB_TRANSP_CUR_INS_PAT_DN,	PB_TRANSP_CUR_INS_PAT_12UP,	PB_TRANSP_CUR_INS_PAT_12DN,	PB_TRANSP_ALL_INS_PAT_UP,	PB_TRANSP_ALL_INS_PAT_DN,	PB_TRANSP_ALL_INS_PAT_12UP,	PB_TRANSP_ALL_INS_PAT_12DN,	PB_TRANSP_CUR_INS_SNG_UP,	PB_TRANSP_CUR_INS_SNG_DN,	PB_TRANSP_CUR_INS_SNG_12UP,	PB_TRANSP_CUR_INS_SNG_12DN,	PB_TRANSP_ALL_INS_SNG_UP,	PB_TRANSP_ALL_INS_SNG_DN,	PB_TRANSP_ALL_INS_SNG_12UP,	PB_TRANSP_ALL_INS_SNG_12DN,	PB_TRANSP_CUR_INS_BLK_UP,	PB_TRANSP_CUR_INS_BLK_DN,	PB_TRANSP_CUR_INS_BLK_12UP,	PB_TRANSP_CUR_INS_BLK_12DN,	PB_TRANSP_ALL_INS_BLK_UP,	PB_TRANSP_ALL_INS_BLK_DN,	PB_TRANSP_ALL_INS_BLK_12UP,	PB_TRANSP_ALL_INS_BLK_12DN, 	// SAMPLE EDITOR	PB_SAMP_SCROLL_LEFT,	PB_SAMP_SCROLL_RIGHT,	PB_SAMP_PNOTE_UP,	PB_SAMP_PNOTE_DOWN,	PB_SAMP_STOP,	PB_SAMP_PWAVE,	PB_SAMP_PRANGE,	PB_SAMP_PDISPLAY,	PB_SAMP_SHOW_RANGE,	PB_SAMP_RANGE_ALL,	PB_SAMP_CLR_RANGE,	PB_SAMP_ZOOM_OUT,	PB_SAMP_SHOW_ALL,	PB_SAMP_SAVE_RNG,	PB_SAMP_CUT,	PB_SAMP_COPY,	PB_SAMP_PASTE,	PB_SAMP_CROP,	PB_SAMP_VOLUME,	PB_SAMP_XFADE,	PB_SAMP_EXIT,	PB_SAMP_CLEAR,	PB_SAMP_MIN,	PB_SAMP_REPEAT_UP,	PB_SAMP_REPEAT_DOWN,	PB_SAMP_REPLEN_UP,	PB_SAMP_REPLEN_DOWN, 	// SAMPLE EDITOR EXTENSION	PB_SAMP_EXT_CLEAR_COPYBUF,	PB_SAMP_EXT_CONV,	PB_SAMP_EXT_ECHO,	PB_SAMP_EXT_BACKWARDS,	PB_SAMP_EXT_CONV_W,	PB_SAMP_EXT_MORPH,	PB_SAMP_EXT_COPY_INS,	PB_SAMP_EXT_COPY_SMP,	PB_SAMP_EXT_XCHG_INS,	PB_SAMP_EXT_XCHG_SMP,	PB_SAMP_EXT_RESAMPLE,	PB_SAMP_EXT_MIX_SAMPLE, 	// INSTRUMENT EDITOR	PB_INST_VDEF1,	PB_INST_VDEF2,	PB_INST_VDEF3,	PB_INST_VDEF4,	PB_INST_VDEF5,	PB_INST_VDEF6,	PB_INST_PDEF1,	PB_INST_PDEF2,	PB_INST_PDEF3,	PB_INST_PDEF4,	PB_INST_PDEF5,	PB_INST_PDEF6,	PB_INST_VP_ADD,	PB_INST_VP_DEL,	PB_INST_VS_UP,	PB_INST_VS_DOWN,	PB_INST_VREPS_UP,	PB_INST_VREPS_DOWN,	PB_INST_VREPE_UP,	PB_INST_VREPE_DOWN,	PB_INST_PP_ADD,	PB_INST_PP_DEL,	PB_INST_PS_UP,	PB_INST_PS_DOWN,	PB_INST_PREPS_UP,	PB_INST_PREPS_DOWN,	PB_INST_PREPE_UP,	PB_INST_PREPE_DOWN,	PB_INST_VOL_DOWN,	PB_INST_VOL_UP,	PB_INST_PAN_DOWN,	PB_INST_PAN_UP,	PB_INST_FTUNE_DOWN,	PB_INST_FTUNE_UP,	PB_INST_FADEOUT_DOWN,	PB_INST_FADEOUT_UP,	PB_INST_VIBSPEED_DOWN,	PB_INST_VIBSPEED_UP,	PB_INST_VIBDEPTH_DOWN,	PB_INST_VIBDEPTH_UP,	PB_INST_VIBSWEEP_DOWN,	PB_INST_VIBSWEEP_UP,	PB_INST_EXIT,	PB_INST_OCT_UP,	PB_INST_HALFTONE_UP,	PB_INST_OCT_DOWN,	PB_INST_HALFTONE_DOWN, 	// INSTRUMENT EDITOR EXTENSION	PB_INST_EXT_MIDI_CH_DOWN,	PB_INST_EXT_MIDI_CH_UP,	PB_INST_EXT_MIDI_PRG_DOWN,	PB_INST_EXT_MIDI_PRG_UP,	PB_INST_EXT_MIDI_BEND_DOWN,	PB_INST_EXT_MIDI_BEND_UP, 	// TRIM SCREEN	PB_TRIM_CALC,	PB_TRIM_TRIM, 	// CONFIG LEFT PANEL	PB_CONFIG_RESET,	PB_CONFIG_LOAD,	PB_CONFIG_SAVE,	PB_CONFIG_EXIT, 	// CONFIG AUDIO	PB_CONFIG_AUDIO_RESCAN,	PB_CONFIG_AUDIO_OUTPUT_DOWN,	PB_CONFIG_AUDIO_OUTPUT_UP,	PB_CONFIG_AUDIO_INPUT_DOWN,	PB_CONFIG_AUDIO_INPUT_UP,	PB_CONFIG_AMP_DOWN,	PB_CONFIG_AMP_UP,	PB_CONFIG_MASTVOL_DOWN,	PB_CONFIG_MASTVOL_UP, 	// CONFIG LAYOUT	PB_CONFIG_PAL_R_DOWN,	PB_CONFIG_PAL_R_UP,	PB_CONFIG_PAL_G_DOWN,	PB_CONFIG_PAL_G_UP,	PB_CONFIG_PAL_B_DOWN,	PB_CONFIG_PAL_B_UP,	PB_CONFIG_PAL_CONT_DOWN,	PB_CONFIG_PAL_CONT_UP, 	// CONFIG MISCELLANEOUS	PB_CONFIG_QUANTIZE_UP,	PB_CONFIG_QUANTIZE_DOWN,	PB_CONFIG_MIDICHN_UP,	PB_CONFIG_MIDICHN_DOWN,	PB_CONFIG_MIDITRANS_UP,	PB_CONFIG_MIDITRANS_DOWN,	PB_CONFIG_MIDISENS_DOWN,	PB_CONFIG_MIDISENS_UP, #ifdef HAS_MIDI	// CONFIG MIDI	PB_CONFIG_MIDI_INPUT_DOWN,	PB_CONFIG_MIDI_INPUT_UP,#endif 	// DISK OP.	PB_DISKOP_SAVE,	PB_DISKOP_DELETE,	PB_DISKOP_RENAME,	PB_DISKOP_MAKEDIR,	PB_DISKOP_REFRESH,	PB_DISKOP_SET_PATH,	PB_DISKOP_SHOW_ALL,	PB_DISKOP_EXIT,	PB_DISKOP_ROOT,	PB_DISKOP_PARENT,#ifdef _WIN32	PB_DISKOP_DRIVE1,	PB_DISKOP_DRIVE2,	PB_DISKOP_DRIVE3,	PB_DISKOP_DRIVE4,	PB_DISKOP_DRIVE5,	PB_DISKOP_DRIVE6,	PB_DISKOP_DRIVE7,	PB_DISKOP_DRIVE8,#endif	PB_DISKOP_LIST_UP,	PB_DISKOP_LIST_DOWN, 	// WAV RENDERER	PB_WAV_RENDER,	PB_WAV_EXIT,	PB_WAV_FREQ_UP,	PB_WAV_FREQ_DOWN,	PB_WAV_AMP_UP,	PB_WAV_AMP_DOWN,	PB_WAV_START_UP,	PB_WAV_START_DOWN,	PB_WAV_END_UP,	PB_WAV_END_DOWN, 	NUM_PUSHBUTTONS}; enum{	PUSHBUTTON_UNPRESSED = 0,	PUSHBUTTON_PRESSED   = 1}; // amount of frames to wait#define BUTTON_DOWN_DELAY 25 // font #1/#2 special characters (used for buttons)#define ARROW_UP_STRING "\x05"#define ARROW_DOWN_STRING "\x03"#define ARROW_LEFT_STRING "\x1E"#define ARROW_RIGHT_STRING "\x1F"#define SMALL_1_STRING "\x08"#define SMALL_2_STRING "\x09"#define SMALL_3_STRING "\x0A"#define SMALL_4_STRING "\x0B"#define SMALL_5_STRING "\x0C"#define SMALL_6_STRING "\x0D" typedef struct pushButton_t // DO NOT TOUCH!{	uint16_t x, y, w, h;	uint8_t preDelay, delayFrames;	char *caption, *caption2;	void (*callbackFuncOnDown)(void);	void (*callbackFuncOnUp)(void);	uint8_t state;	bool bitmapFlag, visible;	const uint8_t *bitmapUnpressed;	const uint8_t *bitmapPressed;} pushButton_t; void drawPushButton(uint16_t pushButtonID);void showPushButton(uint16_t pushButtonID);void hidePushButton(uint16_t pushButtonID);void handlePushButtonsWhileMouseDown(void);bool testPushButtonMouseDown(void);int16_t testPushButtonMouseRelease(bool runCallback);

Keyboard shortcuts

General

Show keyboard shortcuts
?
Focus the current search
/

Issues and pull requests

Open filters
f

Issues, pull requests and Inbox

Select next item
j↓
Select previous item
k↑
Open selected item
Enter
Dismiss filters or clear selection
Esc

Repository code

Go to file
t