forked from len0rd/rockbox
FS#7916 - Adapt graphical EQ to smaller screens (Fixes FS#9517)
This version still isnt ideal, but untill someone has time to do it properly (viewports, get rid of some hardcoded values) this will do. git-svn-id: svn://svn.rockbox.org/rockbox/trunk@19051 a1c6a512-1295-4272-9138-f99709370657
This commit is contained in:
parent
c198bac47d
commit
1d2952df80
2 changed files with 160 additions and 178 deletions
|
|
@ -10225,11 +10225,11 @@
|
||||||
user:
|
user:
|
||||||
<source>
|
<source>
|
||||||
*: none
|
*: none
|
||||||
swcodec: "Edit mode: %s"
|
swcodec: "Edit mode: %s %s"
|
||||||
</source>
|
</source>
|
||||||
<dest>
|
<dest>
|
||||||
*: none
|
*: none
|
||||||
swcodec: "Edit mode: %s"
|
swcodec: "Edit mode: %s %s"
|
||||||
</dest>
|
</dest>
|
||||||
<voice>
|
<voice>
|
||||||
*: none
|
*: none
|
||||||
|
|
@ -10242,11 +10242,11 @@
|
||||||
user:
|
user:
|
||||||
<source>
|
<source>
|
||||||
*: none
|
*: none
|
||||||
swcodec: "Cutoff Frequency"
|
swcodec: "Cutoff"
|
||||||
</source>
|
</source>
|
||||||
<dest>
|
<dest>
|
||||||
*: none
|
*: none
|
||||||
swcodec: "Cutoff Frequency"
|
swcodec: "Cutoff"
|
||||||
</dest>
|
</dest>
|
||||||
<voice>
|
<voice>
|
||||||
*: none
|
*: none
|
||||||
|
|
|
||||||
|
|
@ -240,18 +240,19 @@ enum eq_type {
|
||||||
HIGH_SHELF
|
HIGH_SHELF
|
||||||
};
|
};
|
||||||
|
|
||||||
|
/* Size of just the slider/srollbar */
|
||||||
|
#define SCROLLBAR_SIZE 6
|
||||||
|
|
||||||
/* Draw the UI for a whole EQ band */
|
/* Draw the UI for a whole EQ band */
|
||||||
static int draw_eq_slider(struct screen * screen, int x, int y,
|
static int draw_eq_slider(struct screen * screen, int x, int y,
|
||||||
int width, int cutoff, int q, int gain, bool selected,
|
int width, int cutoff, int q, int gain, bool selected,
|
||||||
enum eq_slider_mode mode, enum eq_type type)
|
enum eq_slider_mode mode, int band)
|
||||||
{
|
{
|
||||||
char buf[26];
|
char buf[26];
|
||||||
const char separator[2] = " ";
|
|
||||||
int steps, min_item, max_item;
|
int steps, min_item, max_item;
|
||||||
int abs_gain = abs(gain);
|
int abs_gain = abs(gain);
|
||||||
int current_x, total_height, separator_width, separator_height;
|
int x1, x2, y1, total_height;
|
||||||
int w, h;
|
int w, h;
|
||||||
const int slider_height = 6;
|
|
||||||
|
|
||||||
switch(mode) {
|
switch(mode) {
|
||||||
case Q:
|
case Q:
|
||||||
|
|
@ -273,159 +274,108 @@ static int draw_eq_slider(struct screen * screen, int x, int y,
|
||||||
}
|
}
|
||||||
|
|
||||||
/* Start two pixels in, one for border, one for margin */
|
/* Start two pixels in, one for border, one for margin */
|
||||||
current_x = x + 2;
|
x1 = x + 2;
|
||||||
|
y1 = y + 2;
|
||||||
/* Figure out how large our separator string is */
|
|
||||||
screen->getstringsize(separator, &separator_width, &separator_height);
|
|
||||||
|
|
||||||
/* Total height includes margins, text, and line selector */
|
|
||||||
total_height = separator_height + slider_height + 2 + 3;
|
|
||||||
|
|
||||||
/* Print out the band label */
|
/* Print out the band label */
|
||||||
if (type == LOW_SHELF) {
|
if (band == 0) {
|
||||||
screen->putsxy(current_x, y + 2, "LS:");
|
screen->putsxy(x1, y1, "LS: ");
|
||||||
screen->getstringsize("LS:", &w, &h);
|
screen->getstringsize("LS:", &w, &h);
|
||||||
} else if (type == HIGH_SHELF) {
|
} else if (band == 4) {
|
||||||
screen->putsxy(current_x, y + 2, "HS:");
|
screen->putsxy(x1, y1, "HS: ");
|
||||||
screen->getstringsize("HS:", &w, &h);
|
screen->getstringsize("HS:", &w, &h);
|
||||||
} else {
|
} else {
|
||||||
screen->putsxy(current_x, y + 2, "PK:");
|
snprintf(buf, sizeof(buf), "PK%d:", band);
|
||||||
screen->getstringsize("PK:", &w, &h);
|
screen->putsxy(x1, y1, buf);
|
||||||
}
|
|
||||||
current_x += w;
|
|
||||||
|
|
||||||
/* Print separator */
|
|
||||||
screen->set_drawmode(DRMODE_SOLID);
|
|
||||||
screen->putsxy(current_x, y + 2, separator);
|
|
||||||
current_x += separator_width;
|
|
||||||
#if NB_SCREENS > 1
|
|
||||||
if (screen->screen_type == SCREEN_REMOTE) {
|
|
||||||
if (mode == GAIN) {
|
|
||||||
screen->putsxy(current_x, y + 2, str(LANG_GAIN));
|
|
||||||
screen->getstringsize(str(LANG_GAIN), &w, &h);
|
|
||||||
} else if (mode == CUTOFF) {
|
|
||||||
screen->putsxy(current_x, y + 2, str(LANG_EQUALIZER_BAND_CUTOFF));
|
|
||||||
screen->getstringsize(str(LANG_EQUALIZER_BAND_CUTOFF), &w, &h);
|
|
||||||
} else {
|
|
||||||
screen->putsxy(current_x, y + 2, str(LANG_EQUALIZER_BAND_Q));
|
|
||||||
screen->getstringsize(str(LANG_EQUALIZER_BAND_Q), &w, &h);
|
|
||||||
}
|
|
||||||
|
|
||||||
/* Draw horizontal slider. Reuse scrollbar for this */
|
|
||||||
gui_scrollbar_draw(screen, x + 3, y + h + 3, width - 6, slider_height, steps,
|
|
||||||
min_item, max_item, HORIZONTAL);
|
|
||||||
|
|
||||||
/* Print out cutoff part */
|
|
||||||
snprintf(buf, sizeof(buf), "%sGain %s%2d.%ddB",mode==GAIN?" > ":" ", gain < 0 ? "-" : " ",
|
|
||||||
abs_gain / EQ_USER_DIVISOR, abs_gain % EQ_USER_DIVISOR);
|
|
||||||
screen->getstringsize(buf, &w, &h);
|
screen->getstringsize(buf, &w, &h);
|
||||||
y = 3*h;
|
|
||||||
screen->putsxy(0, y, buf);
|
|
||||||
/* Print out cutoff part */
|
|
||||||
snprintf(buf, sizeof(buf), "%sCutoff %5dHz",mode==CUTOFF?" > ":" ", cutoff);
|
|
||||||
y += h;
|
|
||||||
screen->putsxy(0, y, buf);
|
|
||||||
snprintf(buf, sizeof(buf), "%sQ setting %d.%d Q",mode==Q?" > ":" ", q / EQ_USER_DIVISOR,
|
|
||||||
q % EQ_USER_DIVISOR);
|
|
||||||
y += h;
|
|
||||||
screen->putsxy(0, y, buf);
|
|
||||||
return y;
|
|
||||||
}
|
}
|
||||||
#endif
|
|
||||||
|
|
||||||
/* Print out gain part of status line */
|
|
||||||
snprintf(buf, sizeof(buf), "%s%2d.%ddB", gain < 0 ? "-" : " ",
|
|
||||||
abs_gain / EQ_USER_DIVISOR, abs_gain % EQ_USER_DIVISOR);
|
|
||||||
|
|
||||||
|
screen->getstringsize("A", &w, &h);
|
||||||
|
x1 += 5*w; /* 4 chars for label + 1 space = 5 */
|
||||||
|
|
||||||
|
/* Print out gain part of status line (left justify after label) */
|
||||||
if (mode == GAIN && selected)
|
if (mode == GAIN && selected)
|
||||||
screen->set_drawmode(DRMODE_SOLID | DRMODE_INVERSEVID);
|
screen->set_drawmode(DRMODE_SOLID | DRMODE_INVERSEVID);
|
||||||
|
else
|
||||||
|
screen->set_drawmode(DRMODE_SOLID);
|
||||||
|
|
||||||
screen->putsxy(current_x, y + 2, buf);
|
snprintf(buf, sizeof(buf), "%s%2d.%d%s", gain < 0 ? "-" : " ",
|
||||||
|
abs_gain / EQ_USER_DIVISOR, abs_gain % EQ_USER_DIVISOR,
|
||||||
|
screen->lcdwidth >= 160 ? "dB" : "");
|
||||||
|
screen->putsxy(x1, y1, buf);
|
||||||
screen->getstringsize(buf, &w, &h);
|
screen->getstringsize(buf, &w, &h);
|
||||||
current_x += w;
|
x1 += w;
|
||||||
|
|
||||||
/* Print separator */
|
|
||||||
screen->set_drawmode(DRMODE_SOLID);
|
|
||||||
screen->putsxy(current_x, y + 2, separator);
|
|
||||||
current_x += separator_width;
|
|
||||||
|
|
||||||
/* Print out cutoff part of status line */
|
|
||||||
snprintf(buf, sizeof(buf), "%5dHz", cutoff);
|
|
||||||
|
|
||||||
if (mode == CUTOFF && selected)
|
|
||||||
screen->set_drawmode(DRMODE_SOLID | DRMODE_INVERSEVID);
|
|
||||||
|
|
||||||
screen->putsxy(current_x, y + 2, buf);
|
|
||||||
screen->getstringsize(buf, &w, &h);
|
|
||||||
current_x += w;
|
|
||||||
|
|
||||||
/* Print separator */
|
|
||||||
screen->set_drawmode(DRMODE_SOLID);
|
|
||||||
screen->putsxy(current_x, y + 2, separator);
|
|
||||||
current_x += separator_width;
|
|
||||||
|
|
||||||
/* Print out Q part of status line */
|
|
||||||
snprintf(buf, sizeof(buf), "%d.%d Q", q / EQ_USER_DIVISOR,
|
|
||||||
q % EQ_USER_DIVISOR);
|
|
||||||
|
|
||||||
|
/* Print out Q part of status line (right justify) */
|
||||||
if (mode == Q && selected)
|
if (mode == Q && selected)
|
||||||
screen->set_drawmode(DRMODE_SOLID | DRMODE_INVERSEVID);
|
screen->set_drawmode(DRMODE_SOLID | DRMODE_INVERSEVID);
|
||||||
|
else
|
||||||
|
screen->set_drawmode(DRMODE_SOLID);
|
||||||
|
|
||||||
screen->putsxy(current_x, y + 2, buf);
|
snprintf(buf, sizeof(buf), "%d.%d%s", q / EQ_USER_DIVISOR,
|
||||||
|
q % EQ_USER_DIVISOR, screen->lcdwidth >= 160 ? " Q" : "");
|
||||||
screen->getstringsize(buf, &w, &h);
|
screen->getstringsize(buf, &w, &h);
|
||||||
current_x += w;
|
x2 = x + width - w - 2;
|
||||||
|
screen->putsxy(x2, y1, buf);
|
||||||
|
|
||||||
screen->set_drawmode(DRMODE_SOLID);
|
/* Print out cutoff part of status line (center between gain & Q) */
|
||||||
|
if (mode == CUTOFF && selected)
|
||||||
|
screen->set_drawmode(DRMODE_SOLID | DRMODE_INVERSEVID);
|
||||||
|
else
|
||||||
|
screen->set_drawmode(DRMODE_SOLID);
|
||||||
|
|
||||||
|
snprintf(buf, sizeof(buf), "%5d%s", cutoff,
|
||||||
|
screen->lcdwidth >= 160 ? "Hz" : "");
|
||||||
|
screen->getstringsize(buf, &w, &h);
|
||||||
|
x1 = x1 + (x2 - x1 - w)/2;
|
||||||
|
screen->putsxy(x1, y1, buf);
|
||||||
|
|
||||||
/* Draw selection box */
|
/* Draw selection box */
|
||||||
|
total_height = 3 + h + 1 + SCROLLBAR_SIZE + 3;
|
||||||
|
screen->set_drawmode(DRMODE_SOLID);
|
||||||
if (selected) {
|
if (selected) {
|
||||||
screen->drawrect(x, y, width, total_height);
|
screen->drawrect(x, y, width, total_height);
|
||||||
}
|
}
|
||||||
|
|
||||||
/* Draw horizontal slider. Reuse scrollbar for this */
|
/* Draw horizontal slider. Reuse scrollbar for this */
|
||||||
gui_scrollbar_draw(screen, x + 3, y + h + 3, width - 6, slider_height, steps,
|
gui_scrollbar_draw(screen, x + 3, y1 + h + 1, width - 6, SCROLLBAR_SIZE,
|
||||||
min_item, max_item, HORIZONTAL);
|
steps, min_item, max_item, HORIZONTAL);
|
||||||
|
|
||||||
return total_height;
|
return total_height;
|
||||||
}
|
}
|
||||||
|
|
||||||
/* Draw's all the EQ sliders. Returns the total height of the sliders drawn */
|
/* Draw's all the EQ sliders. Returns the total height of the sliders drawn */
|
||||||
static int draw_eq_sliders(int current_band, enum eq_slider_mode mode)
|
static void draw_eq_sliders(struct screen * screen, int x, int y,
|
||||||
|
int nb_eq_sliders, int start_item,
|
||||||
|
int current_band, enum eq_slider_mode mode)
|
||||||
{
|
{
|
||||||
int i, gain, q, cutoff;
|
int i, gain, q, cutoff;
|
||||||
int height = 2; /* Two pixel margin */
|
int height = y;
|
||||||
int slider_width[NB_SCREENS];
|
|
||||||
int *setting = &global_settings.eq_band0_cutoff;
|
int *setting = &global_settings.eq_band0_cutoff;
|
||||||
enum eq_type type;
|
|
||||||
|
|
||||||
FOR_NB_SCREENS(i)
|
start_item = MIN(start_item, 5-nb_eq_sliders);
|
||||||
slider_width[i] = screens[i].getwidth() - 4; /* 2 pixel margin
|
|
||||||
each side */
|
|
||||||
for (i=0; i<5; i++) {
|
for (i=0; i<5; i++) {
|
||||||
cutoff = *setting++;
|
cutoff = *setting++;
|
||||||
q = *setting++;
|
q = *setting++;
|
||||||
gain = *setting++;
|
gain = *setting++;
|
||||||
|
|
||||||
if (i == 0) {
|
if (i == start_item + nb_eq_sliders)
|
||||||
type = LOW_SHELF;
|
break;
|
||||||
} else if (i == 4) {
|
|
||||||
type = HIGH_SHELF;
|
|
||||||
} else {
|
|
||||||
type = PEAK;
|
|
||||||
}
|
|
||||||
height += draw_eq_slider(&(screens[SCREEN_MAIN]), 2, height,
|
|
||||||
slider_width[SCREEN_MAIN], cutoff, q, gain,
|
|
||||||
i == current_band, mode, type);
|
|
||||||
#if NB_SCREENS > 1
|
|
||||||
if (i == current_band)
|
|
||||||
draw_eq_slider(&(screens[SCREEN_REMOTE]), 2, 0,
|
|
||||||
slider_width[SCREEN_REMOTE], cutoff, q, gain,1, mode, type);
|
|
||||||
#endif
|
|
||||||
/* add a margin */
|
|
||||||
height += 2;
|
|
||||||
}
|
|
||||||
|
|
||||||
return height;
|
if (i >= start_item) {
|
||||||
|
height += draw_eq_slider(screen, x, height, screen->lcdwidth - x - 1,
|
||||||
|
cutoff, q, gain, i == current_band, mode,
|
||||||
|
i);
|
||||||
|
/* add a margin */
|
||||||
|
height++;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
if (nb_eq_sliders != 5)
|
||||||
|
gui_scrollbar_draw(screen, 0, y, SCROLLBAR_SIZE - 1,
|
||||||
|
screen->lcdheight - y, 5,
|
||||||
|
start_item, start_item + nb_eq_sliders,
|
||||||
|
VERTICAL);
|
||||||
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
/* Provides a graphical means of editing the EQ settings */
|
/* Provides a graphical means of editing the EQ settings */
|
||||||
|
|
@ -436,16 +386,34 @@ bool eq_menu_graphical(void)
|
||||||
bool has_changed = false;
|
bool has_changed = false;
|
||||||
int button;
|
int button;
|
||||||
int *setting;
|
int *setting;
|
||||||
int current_band, y, step, fast_step, min, max, voice_unit;
|
int current_band, x, y, step, fast_step, min, max, voice_unit;
|
||||||
enum eq_slider_mode mode;
|
enum eq_slider_mode mode;
|
||||||
enum eq_type current_type;
|
enum eq_type current_type;
|
||||||
char buf[24];
|
char buf[24];
|
||||||
int i;
|
int i, w, h, height, start_item, nb_eq_sliders[NB_SCREENS];
|
||||||
|
|
||||||
|
|
||||||
FOR_NB_SCREENS(i) {
|
FOR_NB_SCREENS(i) {
|
||||||
screens[i].setfont(FONT_SYSFIXED);
|
screens[i].setfont(FONT_SYSFIXED);
|
||||||
screens[i].clear_display();
|
screens[i].clear_display();
|
||||||
|
|
||||||
|
/* Figure out how many sliders can be drawn on the screen */
|
||||||
|
screens[i].getstringsize("A", &w, &h);
|
||||||
|
|
||||||
|
/* Total height includes margins (1), text, slider, and line selector (1) */
|
||||||
|
height = 3 + h + 1 + SCROLLBAR_SIZE + 3;
|
||||||
|
nb_eq_sliders[i] = screens[i].lcdheight / height;
|
||||||
|
|
||||||
|
/* Make sure the "Edit Mode" text fits too */
|
||||||
|
height = nb_eq_sliders[i]*height + h + 2;
|
||||||
|
if (height > screens[i].lcdheight)
|
||||||
|
nb_eq_sliders[i]--;
|
||||||
|
|
||||||
|
if (nb_eq_sliders[i] > 5)
|
||||||
|
nb_eq_sliders[i] = 5;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
y = h + 1;
|
||||||
|
|
||||||
/* Start off editing gain on the first band */
|
/* Start off editing gain on the first band */
|
||||||
mode = GAIN;
|
mode = GAIN;
|
||||||
|
|
@ -453,63 +421,77 @@ bool eq_menu_graphical(void)
|
||||||
current_band = 0;
|
current_band = 0;
|
||||||
|
|
||||||
while (!exit_request) {
|
while (!exit_request) {
|
||||||
|
FOR_NB_SCREENS(i)
|
||||||
FOR_NB_SCREENS(i) {
|
{
|
||||||
/* Clear the screen. The drawing routines expect this */
|
screens[i].clear_display();
|
||||||
screens[i].clear_display();
|
|
||||||
|
/* Set pointer to the band data currently editable */
|
||||||
|
if (mode == GAIN) {
|
||||||
|
/* gain */
|
||||||
|
setting = &global_settings.eq_band0_gain;
|
||||||
|
setting += current_band * 3;
|
||||||
|
|
||||||
|
step = EQ_GAIN_STEP;
|
||||||
|
fast_step = EQ_GAIN_FAST_STEP;
|
||||||
|
min = EQ_GAIN_MIN;
|
||||||
|
max = EQ_GAIN_MAX;
|
||||||
|
voice_unit = UNIT_DB;
|
||||||
|
|
||||||
|
snprintf(buf, sizeof(buf), str(LANG_SYSFONT_EQUALIZER_EDIT_MODE),
|
||||||
|
str(LANG_SYSFONT_GAIN), "(dB)");
|
||||||
|
|
||||||
|
screens[i].putsxy(0, 0, buf);
|
||||||
|
} else if (mode == CUTOFF) {
|
||||||
|
/* cutoff */
|
||||||
|
setting = &global_settings.eq_band0_cutoff;
|
||||||
|
setting += current_band * 3;
|
||||||
|
|
||||||
|
step = EQ_CUTOFF_STEP;
|
||||||
|
fast_step = EQ_CUTOFF_FAST_STEP;
|
||||||
|
min = EQ_CUTOFF_MIN;
|
||||||
|
max = EQ_CUTOFF_MAX;
|
||||||
|
voice_unit = UNIT_HERTZ;
|
||||||
|
|
||||||
|
snprintf(buf, sizeof(buf), str(LANG_SYSFONT_EQUALIZER_EDIT_MODE),
|
||||||
|
str(LANG_SYSFONT_EQUALIZER_BAND_CUTOFF), "(Hz)");
|
||||||
|
|
||||||
|
screens[i].putsxy(0, 0, buf);
|
||||||
|
} else {
|
||||||
|
/* Q */
|
||||||
|
setting = &global_settings.eq_band0_q;
|
||||||
|
setting += current_band * 3;
|
||||||
|
|
||||||
|
step = EQ_Q_STEP;
|
||||||
|
fast_step = EQ_Q_FAST_STEP;
|
||||||
|
min = EQ_Q_MIN;
|
||||||
|
max = EQ_Q_MAX;
|
||||||
|
voice_unit = UNIT_INT;
|
||||||
|
|
||||||
|
snprintf(buf, sizeof(buf), str(LANG_SYSFONT_EQUALIZER_EDIT_MODE),
|
||||||
|
str(LANG_EQUALIZER_BAND_Q), "");
|
||||||
|
|
||||||
|
screens[i].putsxy(0, 0, buf);
|
||||||
|
}
|
||||||
|
|
||||||
|
/* Draw scrollbar if needed */
|
||||||
|
if (nb_eq_sliders[i] != 5)
|
||||||
|
{
|
||||||
|
if (current_band == 0) {
|
||||||
|
start_item = 0;
|
||||||
|
} else if (current_band == 4) {
|
||||||
|
start_item = 5 - nb_eq_sliders[i];
|
||||||
|
} else {
|
||||||
|
start_item = current_band - 1;
|
||||||
|
}
|
||||||
|
x = SCROLLBAR_SIZE;
|
||||||
|
} else {
|
||||||
|
x = 1;
|
||||||
|
start_item = 0;
|
||||||
|
}
|
||||||
/* Draw equalizer band details */
|
/* Draw equalizer band details */
|
||||||
y = draw_eq_sliders(current_band, mode);
|
draw_eq_sliders(&screens[i], x, y, nb_eq_sliders[i], start_item,
|
||||||
}
|
current_band, mode);
|
||||||
|
|
||||||
/* Set pointer to the band data currently editable */
|
|
||||||
if (mode == GAIN) {
|
|
||||||
/* gain */
|
|
||||||
setting = &global_settings.eq_band0_gain;
|
|
||||||
setting += current_band * 3;
|
|
||||||
|
|
||||||
step = EQ_GAIN_STEP;
|
|
||||||
fast_step = EQ_GAIN_FAST_STEP;
|
|
||||||
min = EQ_GAIN_MIN;
|
|
||||||
max = EQ_GAIN_MAX;
|
|
||||||
voice_unit = UNIT_DB;
|
|
||||||
|
|
||||||
snprintf(buf, sizeof(buf), str(LANG_SYSFONT_EQUALIZER_EDIT_MODE),
|
|
||||||
str(LANG_SYSFONT_GAIN));
|
|
||||||
|
|
||||||
screens[SCREEN_MAIN].putsxy(2, y, buf);
|
|
||||||
} else if (mode == CUTOFF) {
|
|
||||||
/* cutoff */
|
|
||||||
setting = &global_settings.eq_band0_cutoff;
|
|
||||||
setting += current_band * 3;
|
|
||||||
|
|
||||||
step = EQ_CUTOFF_STEP;
|
|
||||||
fast_step = EQ_CUTOFF_FAST_STEP;
|
|
||||||
min = EQ_CUTOFF_MIN;
|
|
||||||
max = EQ_CUTOFF_MAX;
|
|
||||||
voice_unit = UNIT_HERTZ;
|
|
||||||
|
|
||||||
snprintf(buf, sizeof(buf), str(LANG_SYSFONT_EQUALIZER_EDIT_MODE),
|
|
||||||
str(LANG_SYSFONT_EQUALIZER_BAND_CUTOFF));
|
|
||||||
|
|
||||||
screens[SCREEN_MAIN].putsxy(2, y, buf);
|
|
||||||
} else {
|
|
||||||
/* Q */
|
|
||||||
setting = &global_settings.eq_band0_q;
|
|
||||||
setting += current_band * 3;
|
|
||||||
|
|
||||||
step = EQ_Q_STEP;
|
|
||||||
fast_step = EQ_Q_FAST_STEP;
|
|
||||||
min = EQ_Q_MIN;
|
|
||||||
max = EQ_Q_MAX;
|
|
||||||
voice_unit = UNIT_INT;
|
|
||||||
|
|
||||||
snprintf(buf, sizeof(buf), str(LANG_SYSFONT_EQUALIZER_EDIT_MODE),
|
|
||||||
str(LANG_EQUALIZER_BAND_Q));
|
|
||||||
|
|
||||||
screens[SCREEN_MAIN].putsxy(2, y, buf);
|
|
||||||
}
|
|
||||||
|
|
||||||
FOR_NB_SCREENS(i) {
|
|
||||||
screens[i].update();
|
screens[i].update();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue