|
| 1 | + |
| 2 | +// common |
| 3 | +#define GUIPAD 4 |
| 4 | +#define GUIPAD2 (GUI_PAD * 2) |
| 5 | + |
| 6 | +// timer intervals |
| 7 | +#define GUI_UPDATE_INTERVAL 125 |
| 8 | +#define GUI_UPDATE_LOW_PRIORITY_NICE 8 // n high priority updates to pass |
| 9 | + |
| 10 | +// window magnitudes |
| 11 | +#define SCREEN_W 1024 // minimum screen resolution |
| 12 | +#define SCREEN_H 768 // minimum screen resolution |
| 13 | +#define WIN_TITLE_H 20 // approximate window decoration size |
| 14 | +#define WIN_BORDER_W 2 // approximate window decoration size |
| 15 | +#define WIN_BORDER_H 2 // approximate window decoration size |
| 16 | +#define PIXEL_DEPTH 32 |
| 17 | +#define WIN_W (SCREEN_W - (WIN_BORDER_W * 2)) |
| 18 | +#define WIN_H (SCREEN_H - WIN_TITLE_H - WIN_BORDER_H) |
| 19 | +#define WIN_RECT { 0 , 0 , WIN_W , WIN_H } |
| 20 | +#define WIN_CENTER (WinRect.w / 2) |
| 21 | + |
| 22 | +// header magnitudes |
| 23 | +#define HEADER_FONT_SIZE 36 |
| 24 | +//#define HEADER_W 200 // approx 10 chars @ STATUS_FONT_SIZE 36 |
| 25 | +#define HEADER_W 360 // approx 18 chars @ STATUS_FONT_SIZE 36 |
| 26 | +#define HEADER_H 48 // HEADER_FONT_SIZE 36 |
| 27 | +#define HEADER_X (WIN_CENTER - (HEADER_W / 2)) |
| 28 | +#define HEADER_RECT_DIM { 0 , 0 , HEADER_W , HEADER_H } |
| 29 | +#define HEADER_RECT_C { (Sint16)HEADER_X , 0 , 0 , 0 } |
| 30 | + |
| 31 | +// scope magnitudes |
| 32 | +#define N_PEAKS_SCOPE 420 // TODO: maybe set this to scene width/2 |
| 33 | +#define SCOPE_W N_PEAKS_SCOPE |
| 34 | +#define SCOPES_H (PEAK_RADIUS * 2) |
| 35 | +#define SCOPEINL (WIN_CENTER + GUI_PAD) |
| 36 | +#define SCOPEOUTR (WIN_CENTER - GUI_PAD) |
| 37 | +#define SCOPEINR (SCOPE_IN_L + N_PEAKS_SCOPE) |
| 38 | +#define SCOPEOUTL (SCOPE_OUT_R - N_PEAKS_SCOPE) |
| 39 | +//#define SCOPES_T (WinRect.h - (STATUS_H * 2) - SCOPES_H) |
| 40 | +#define SCOPES_T (HEADER_H + Y_PADDING + (SCENE_H * N_SCENES)) |
| 41 | +#define SCOPE_0 (SCOPES_T + (SCOPES_H / 2)) ; |
| 42 | +#define SCOPEPEAKH ((float)SCOPES_H / 2.0) |
| 43 | +#define SCOPE_IN_RECT { (Sint16)SCOPE_IN_L , (Sint16)SCOPES_T , SCOPE_W + 1 , SCOPES_H + 1 } |
| 44 | +#define SCOPE_OUT_RECT { (Sint16)SCOPE_OUT_L , (Sint16)SCOPES_T , SCOPE_W + 1 , SCOPES_H + 1 } |
| 45 | +#define SCOPE_MASK_RECT { 0 , 0 , 1 , 0 } ; |
| 46 | +#define SCOPE_RECT { 0 , 0 , 0 , 0 } ; |
| 47 | +#define SCOPE_LOUD 0.95 |
| 48 | +#define SCOPE_OPTIMAL 0.8 |
| 49 | + |
| 50 | +// edit histogram |
| 51 | +#define EDITOR_RECT { (Sint16)SCOPE_OUT_L , (Sint16)SCOPES_T , SCOPE_W + 2 + GUI_PAD2 , SCOPES_H } |
| 52 | + |
| 53 | +// VUs magnitudes |
| 54 | +#define VUW 12 |
| 55 | +#define VUSH SCOPES_H |
| 56 | +#define VUSB SCOPES_T + SCOPES_H |
| 57 | +#define VUS_T SCOPES_T |
| 58 | +#if FIXED_N_AUDIO_PORTS |
| 59 | +# define VUS_IN_W (GUI_PAD + ((VU_W + GUI_PAD) * N_INPUT_CHANNELS )) |
| 60 | +# define VUS_OUT_W (GUI_PAD + ((VU_W + GUI_PAD) * N_OUTPUT_CHANNELS)) |
| 61 | +#else // FIXED_N_AUDIO_PORTS // see loopidity.h |
| 62 | +# define VUS_IN_W (GUI_PAD + ((VU_W + GUI_PAD) * MAX_IN_CHANNELS )) |
| 63 | +# define VUS_OUT_W (GUI_PAD + ((VU_W + GUI_PAD) * MAX_OUT_CHANNELS)) |
| 64 | +#endif // FIXED_N_AUDIO_PORTS |
| 65 | +#define VUSINL (SCOPE_IN_R + GUI_PAD2 ) |
| 66 | +#define VUSOUTL (SCOPE_OUT_L - GUI_PAD - VUS_OUT_W) |
| 67 | +#define VUS_IN_RECT { (Sint16)VUS_IN_L , (Sint16)VUS_T , (Uint16)VUS_IN_W , VUS_H } |
| 68 | +#define VUS_OUT_RECT { (Sint16)VUS_OUT_L , (Sint16)VUS_T , (Uint16)VUS_OUT_W , VUS_H } |
| 69 | +#define VUS_MASK_RECT { 0 , 0 , VU_W , 0 } ; |
| 70 | +#define VU_RECT { 0 , 0 , 0 , 0 } ; |
| 71 | + |
| 72 | +// status magnitudes |
| 73 | +#define STATUS_FONT_SIZE 12 |
| 74 | +#define STATUS_H 20 // STATUS_FONT_SIZE 12 |
| 75 | +#define STATUS_W 256 // approx 36 chars @ STATUS_FONT_SIZE 12 |
| 76 | +#define STATUS_Y (WinRect.h - STATUS_H) |
| 77 | +#define STATUS_L 0 |
| 78 | +#define STATUS_C ((WinRect.w / 2) - (STATUS_W / 2)) |
| 79 | +#define STATUS_R (WinRect.w - STATUS_W) |
| 80 | +#define STATUS_RECT_DIM { 0 , 0 , STATUS_W , STATUS_H } |
| 81 | +#define STATUS_RECT_L { (Sint16)STATUS_L , (Sint16)STATUS_Y , 0 , 0 } |
| 82 | +#define STATUS_RECT_C { (Sint16)STATUS_C , (Sint16)STATUS_Y , 0 , 0 } |
| 83 | +#define STATUS_RECT_R { (Sint16)STATUS_R , (Sint16)STATUS_Y , 0 , 0 } |
| 84 | + |
| 85 | +// mouse magnitudes |
| 86 | +#define MOUSE_SCENES_L (LOOPS_L - BORDER_PAD) |
| 87 | +#define MOUSE_SCENES_R (MOUSE_SCENES_L + (LOOP_W * N_LOOPS)) |
| 88 | +#define MOUSE_SCENES_T (HEADER_H - (Y_PADDING / 2)) |
| 89 | +#define MOUSE_SCENES_B (MOUSE_SCENES_T + (SCENE_H * N_SCENES)) |
| 90 | + |
| 91 | +// edit histogram magnitudes |
| 92 | +#if SCENE_NFRAMES_EDITABLE |
| 93 | +# define EDIT_HISTOGRAM_GRADUATIONS_GRANULARITY 500 |
| 94 | +# define EDIT_HISTOGRAM_GRADUATION_H 12 |
| 95 | +#endif // #if SCENE_NFRAMES_EDITABLE |
| 96 | + |
| 97 | +// external assets |
| 98 | +#define SCOPE_IMG_PATH "scope_gradient.bmp" |
| 99 | +#define HISTOGRAM_IMG_PATH "histogram_gradient.bmp" |
| 100 | +#define LOOP_IMG_PATH "loop_gradient.argb.bmp" |
| 101 | +#define PURISA_TTF_PATH "Purisa.ttf" |
| 102 | + |
| 103 | +// fonts and colors |
| 104 | +#define HEADER_FONT_PATH PURISA_TTF_PATH |
| 105 | +#define HEADER_TEXT_COLOR { 255 , 0 , 255 , 0 } |
| 106 | +#define STATUS_FONT_PATH PURISA_TTF_PATH |
| 107 | +#define STATUS_TEXT_COLOR { 255 , 0 , 255 , 0 } |
| 108 | +#define WINDOWBGCOLOR 0xFF111111 |
| 109 | +#define VUSINBGCOLOR 0xFF221122 |
| 110 | +#define VUSOUTBGCOLOR 0xFF112222 // NOTE: SDL_FillRect() takes 0xAARRGGBB |
| 111 | +#define VUSINBORDERCOLOR 0x882288FF // NOTE: roundedRectangleColor() takes 0xRRGGBBAA |
| 112 | +#define VUSOUTBORDERCOLOR 0x228888FF |
| 113 | +// #define INSCOPE_QUIET_COLOR 0x00ff00FF |
| 114 | +// #define INSCOPE_OPTIMAL_COLOR 0xFFFF00FF |
| 115 | +// #define INSCOPE_LOUD_COLOR 0xFF0000FF |
| 116 | +// #define OUTSCOPE_QUIET_COLOR 0x00FF00FF |
| 117 | +// #define OUTSCOPE_OPTIMAL_COLOR 0xFFFF00FF |
| 118 | +// #define OUTSCOPE_LOUD_COLOR 0xFF0000FF |
| 119 | + |
| 120 | +// string constants |
| 121 | +#define HEADER_TEXT "This is Loopidity" |
| 122 | +#define X11_ERROR_MSG "ERROR: LoopiditySdl::Init(): XGetWindowAttributes(): can't get root window geometry - quitting\n" |
| 123 | +#define RESOLUTION_ERROR_MSG "ERROR: screen resolution must be at least %dx%d - quitting\n" |
| 124 | +#define SDL_ERROR_FMT "ERROR: %s(): %s\n" |
| 125 | +#define SDL_INIT_ERROR_TEXT "SDL_Init" |
| 126 | +#define SDL_SETVIDEOMODE_ERROR_TEXT "SDL_SetVideoMode" |
| 127 | +#define SDL_KEYREPEAT_ERROR_TEXT "SDL_EnableKeyRepeat" |
| 128 | +#define SDL_LOADBMP_ERROR_TEXT "SDL_LoadBMP" |
| 129 | +#define TTF_ERROR_FMT "ERROR: %s(): %s\n" |
| 130 | +#define TTF_INIT_ERROR_MSG "TTF_Init" |
| 131 | +#define TTF_OPENFONT_ERROR_MSG "TTF_OpenFont" |
| 132 | + |
| 133 | +// flags |
| 134 | +#define SDL_SCREEN_FLAGS SDL_HWSURFACE | SDL_DOUBLEBUF |
0 commit comments