-
-
Notifications
You must be signed in to change notification settings - Fork 99
/
Copy pathVisualizerDefines.h
146 lines (130 loc) · 4.13 KB
/
VisualizerDefines.h
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
/*---------------------------------------------------------*\
| Common Definitions for Keyboard Visualizer |
| |
| Adam Honse ([email protected]), 12/11/2016 |
\*---------------------------------------------------------*/
#ifndef VISUALIZER_DEFINES_H
#define VISUALIZER_DEFINES_H
/*---------------------------------------------------------*\
| Project Includes |
\*---------------------------------------------------------*/
#include "RGBController.h"
/*---------------------------------------------------------*\
| Define Windows types for non-Windows builds |
\*---------------------------------------------------------*/
#ifndef _WIN32
#include <unistd.h>
typedef unsigned int COLORREF;
typedef unsigned char BYTE;
typedef bool boolean;
#define RGB(r, g, b) (((unsigned char)r) | ((unsigned char)g << 8) | ((unsigned char)b << 16))
#define GetRValue(rgb) ((unsigned char) (rgb))
#define GetGValue(rgb) ((unsigned char) ((rgb) >> 8))
#define GetBValue(rgb) ((unsigned char) ((rgb) >> 16))
#define Sleep(ms) (usleep(ms * 1000))
#define LPSTR char *
#define strtok_s strtok_r
#endif
#define RGB2BGR(a_ulColor) (a_ulColor & 0xFF000000) | ((a_ulColor & 0xFF0000) >> 16) | (a_ulColor & 0x00FF00) | ((a_ulColor & 0x0000FF) << 16)
//Special purpose row indices
#define ROW_IDX_BAR_GRAPH 0
#define ROW_IDX_SINGLE_COLOR 1
#define ROW_IDX_SPECTROGRAPH_TOP 2
#define SPECTROGRAPH_COLS (256)
#define SPECTROGRAPH_END (SPECTROGRAPH_COLS - 1)
#define SPECTROGRAPH_ROWS (64 - ROW_IDX_SPECTROGRAPH_TOP)
typedef unsigned int VISUALIZER_PATTERN;
enum
{
//Static Solid Colors
VISUALIZER_PATTERN_SOLID_BLACK,
VISUALIZER_PATTERN_SOLID_WHITE,
VISUALIZER_PATTERN_SOLID_RED,
VISUALIZER_PATTERN_SOLID_ORANGE,
VISUALIZER_PATTERN_SOLID_YELLOW,
VISUALIZER_PATTERN_SOLID_GREEN,
VISUALIZER_PATTERN_SOLID_CYAN,
VISUALIZER_PATTERN_SOLID_BLUE,
VISUALIZER_PATTERN_SOLID_PURPLE,
//Static Color Patterns
VISUALIZER_PATTERN_STATIC_GREEN_YELLOW_RED,
VISUALIZER_PATTERN_STATIC_GREEN_WHITE_RED,
VISUALIZER_PATTERN_STATIC_BLUE_CYAN_WHITE,
VISUALIZER_PATTERN_STATIC_RED_WHITE_BLUE,
VISUALIZER_PATTERN_STATIC_RAINBOW,
VISUALIZER_PATTERN_STATIC_RAINBOW_INVERSE,
VISUALIZER_PATTERN_STATIC_FLAG_BULGARIA,
//Animated Patterns
VISUALIZER_PATTERN_ANIM_RAINBOW_SINUSOIDAL,
VISUALIZER_PATTERN_ANIM_RAINBOW_HSV,
VISUALIZER_PATTERN_ANIM_COLOR_WHEEL,
VISUALIZER_PATTERN_ANIM_COLOR_WHEEL_2,
VISUALIZER_PATTERN_ANIM_SPECTRUM_CYCLE,
VISUALIZER_PATTERN_ANIM_SINUSOIDAL_CYCLE,
//Number of Patterns
VISUALIZER_NUM_PATTERNS
};
const char * const visualizer_pattern_labels[VISUALIZER_NUM_PATTERNS] =
{
"Black",
"White",
"Red",
"Orange",
"Yellow",
"Green",
"Cyan",
"Blue",
"Purple",
"Green/Yellow/Red",
"Green/White/Red",
"Blue/Cyan/White",
"Red/White/Blue",
"Rainbow Bars",
"Rainbow Bars Inverse",
"Bulgarian flag",
"Original",
"Rainbow",
"Color Wheel",
"Color Wheel 2",
"Spectrum Cycle",
"Sinusoidal Cycle"
};
typedef unsigned int VISUALIZER_SINGLE_COLOR;
enum
{
//Basic Colors
VISUALIZER_SINGLE_COLOR_BLACK,
VISUALIZER_SINGLE_COLOR_WHITE,
VISUALIZER_SINGLE_COLOR_RED,
VISUALIZER_SINGLE_COLOR_ORANGE,
VISUALIZER_SINGLE_COLOR_YELLOW,
VISUALIZER_SINGLE_COLOR_GREEN,
VISUALIZER_SINGLE_COLOR_CYAN,
VISUALIZER_SINGLE_COLOR_BLUE,
VISUALIZER_SINGLE_COLOR_PURPLE,
VISUALIZER_SINGLE_COLOR_BACKGROUND,
VISUALIZER_SINGLE_COLOR_FOLLOW_BACKGROUND,
VISUALIZER_SINGLE_COLOR_FOLLOW_FOREGROUND,
//Number of Single Color Modes
VISUALIZER_NUM_SINGLE_COLOR
};
const char * const visualizer_single_color_labels[VISUALIZER_NUM_SINGLE_COLOR] =
{
"Black",
"White",
"Red",
"Orange",
"Yellow",
"Green",
"Cyan",
"Blue",
"Purple",
"Background",
"Follow Background",
"Follow Foreground"
};
typedef struct
{
RGBColor pixels[64][256];
} vis_pixels;
#endif