mirror of
https://github.com/Rockbox/rockbox.git
synced 2025-11-09 21:22:39 -05:00
h1x0/h3x0: Fix missing TIME context in remote button map
It was actually defined but not actually mapped in. Also shut up a warning in the peakmeter code when not using a color display. Both caught by -Wunused-const-variable Change-Id: Ie2403c0cd77e6fdf3468fd45115a1e0f228238e8
This commit is contained in:
parent
3b974e791a
commit
6d24ff3257
2 changed files with 150 additions and 149 deletions
|
|
@ -134,7 +134,9 @@ static int hist_l = 0;
|
|||
static int hist_r = 0;
|
||||
static unsigned char history_l[HIST_BUF_SIZE];
|
||||
static unsigned char history_r[HIST_BUF_SIZE];
|
||||
#ifdef HAVE_LCD_COLOR
|
||||
static const char hist_level_marks[6] = { 29, 26, 23, 17, 9, 2};
|
||||
#endif
|
||||
static int history_pos = 0;
|
||||
#define HIST_W (LCD_WIDTH / 2)
|
||||
#if LCD_DEPTH > 1
|
||||
|
|
@ -184,7 +186,7 @@ static int db_scale_count = DB_SCALE_SRC_VALUES_SIZE;
|
|||
|
||||
/**
|
||||
* Calculates dB Value for the peak meter, uses peak value as input
|
||||
* @param int sample - The input value
|
||||
* @param int sample - The input value
|
||||
* Make sure that 0 <= value < SAMPLE_RANGE
|
||||
*
|
||||
* @return int - The 2 digit fixed point result of the euation
|
||||
|
|
@ -294,10 +296,10 @@ static int db_to_sample_bin_search(int min, int max, int db)
|
|||
* Converts a value representing dBfs to a linear
|
||||
* scaled volume info as it is used by the MAS.
|
||||
* An incredibly inefficiant function which is
|
||||
* the vague inverse of calc_db. This really
|
||||
* the vague inverse of calc_db. This really
|
||||
* should be replaced by something better soon.
|
||||
*
|
||||
* @param int db - A dBfs * 100 value with
|
||||
*
|
||||
* @param int db - A dBfs * 100 value with
|
||||
* -9000 < value <= 0
|
||||
* @return int - The return value is in the range of
|
||||
* 0 <= return value < MAX_PEAK
|
||||
|
|
@ -323,10 +325,10 @@ int peak_meter_db2sample(int db)
|
|||
else {
|
||||
retval = db_to_sample_bin_search(0, MAX_PEAK, max_peak_db + db);
|
||||
|
||||
/* as this is a dirty function anyway, we want to adjust the
|
||||
/* as this is a dirty function anyway, we want to adjust the
|
||||
full scale hit manually to avoid users complaining that when
|
||||
they adjust maximum for 0 dBfs and display it in percent it
|
||||
shows 99%. That is due to precision loss and this is the
|
||||
they adjust maximum for 0 dBfs and display it in percent it
|
||||
shows 99%. That is due to precision loss and this is the
|
||||
optical fix */
|
||||
}
|
||||
|
||||
|
|
@ -340,7 +342,7 @@ int peak_meter_db2sample(int db)
|
|||
* for dBfs: -9000 < newmin <= 0
|
||||
* for linear: 0 <= newmin <= 100
|
||||
*/
|
||||
static void peak_meter_set_min(int newmin)
|
||||
static void peak_meter_set_min(int newmin)
|
||||
{
|
||||
if (pm_use_dbfs) {
|
||||
peak_meter_range_min = peak_meter_db2sample(newmin);
|
||||
|
|
@ -366,13 +368,13 @@ static void peak_meter_set_min(int newmin)
|
|||
}
|
||||
|
||||
/**
|
||||
* Returns the minimum value of the range the meter
|
||||
* Returns the minimum value of the range the meter
|
||||
* displays. If the scale is set to dBfs it returns
|
||||
* dBfs values * 100 or linear percent values.
|
||||
* @return: using dBfs : -9000 < value <= 0
|
||||
* using linear scale: 0 <= value <= 100
|
||||
*/
|
||||
int peak_meter_get_min(void)
|
||||
int peak_meter_get_min(void)
|
||||
{
|
||||
int retval = 0;
|
||||
if (pm_use_dbfs) {
|
||||
|
|
@ -390,7 +392,7 @@ int peak_meter_get_min(void)
|
|||
* for dBfs: -9000 < newmax <= 0
|
||||
* for linear: 0 <= newmax <= 100
|
||||
*/
|
||||
static void peak_meter_set_max(int newmax)
|
||||
static void peak_meter_set_max(int newmax)
|
||||
{
|
||||
if (pm_use_dbfs) {
|
||||
peak_meter_range_max = peak_meter_db2sample(newmax);
|
||||
|
|
@ -415,13 +417,13 @@ static void peak_meter_set_max(int newmax)
|
|||
}
|
||||
|
||||
/**
|
||||
* Returns the minimum value of the range the meter
|
||||
* Returns the minimum value of the range the meter
|
||||
* displays. If the scale is set to dBfs it returns
|
||||
* dBfs values * 100 or linear percent values
|
||||
* @return: using dBfs : -9000 < value <= 0
|
||||
* using linear scale: 0 <= value <= 100
|
||||
*/
|
||||
int peak_meter_get_max(void)
|
||||
int peak_meter_get_max(void)
|
||||
{
|
||||
int retval = 0;
|
||||
if (pm_use_dbfs) {
|
||||
|
|
@ -445,7 +447,7 @@ bool peak_meter_get_use_dbfs(void)
|
|||
/**
|
||||
* Specifies whether the values displayed are scaled
|
||||
* as dBfs or as linear percent values.
|
||||
* @param use - set to true for dBfs,
|
||||
* @param use - set to true for dBfs,
|
||||
* set to false for linear scaling in percent
|
||||
*/
|
||||
void peak_meter_set_use_dbfs(bool use)
|
||||
|
|
@ -459,12 +461,12 @@ void peak_meter_set_use_dbfs(bool use)
|
|||
* Initialize the range of the meter. Only values
|
||||
* that are in the range of [range_min ... range_max]
|
||||
* are displayed.
|
||||
* @param bool dbfs - set to true for dBfs,
|
||||
* set to false for linear scaling in percent
|
||||
* @param int range_min - Specifies the lower value of the range.
|
||||
* @param bool dbfs - set to true for dBfs,
|
||||
* set to false for linear scaling in percent
|
||||
* @param int range_min - Specifies the lower value of the range.
|
||||
* Pass a value dBfs * 100 when dbfs is set to true.
|
||||
* Pass a percent value when dbfs is set to false.
|
||||
* @param int range_max - Specifies the upper value of the range.
|
||||
* @param int range_max - Specifies the upper value of the range.
|
||||
* Pass a value dBfs * 100 when dbfs is set to true.
|
||||
* Pass a percent value when dbfs is set to false.
|
||||
*/
|
||||
|
|
@ -509,7 +511,7 @@ int pm_get_clipcount(void)
|
|||
}
|
||||
|
||||
/**
|
||||
* Set clipping counter to zero (typically at start of recording or playback)
|
||||
* Set clipping counter to zero (typically at start of recording or playback)
|
||||
*/
|
||||
void pm_reset_clipcount(void)
|
||||
{
|
||||
|
|
@ -518,7 +520,7 @@ void pm_reset_clipcount(void)
|
|||
#endif
|
||||
|
||||
/**
|
||||
* Set the source of the peak meter to playback or to
|
||||
* Set the source of the peak meter to playback or to
|
||||
* record.
|
||||
* @param: bool playback - If true playback peak meter is used.
|
||||
* If false recording peak meter is used.
|
||||
|
|
@ -534,7 +536,7 @@ void peak_meter_playback(bool playback)
|
|||
}
|
||||
|
||||
#ifdef HAVE_RECORDING
|
||||
static void set_trig_status(int new_state)
|
||||
static void set_trig_status(int new_state)
|
||||
{
|
||||
if (trig_status != new_state) {
|
||||
trig_status = new_state;
|
||||
|
|
@ -547,9 +549,9 @@ static void set_trig_status(int new_state)
|
|||
#endif
|
||||
|
||||
/**
|
||||
* Reads peak values from the MAS, and detects clips. The
|
||||
* Reads peak values from the MAS, and detects clips. The
|
||||
* values are stored in pm_max_left pm_max_right for later
|
||||
* evauluation. Consecutive calls to peak_meter_peek detect
|
||||
* evauluation. Consecutive calls to peak_meter_peek detect
|
||||
* that ocurred. This function could be used by a thread for
|
||||
* busy reading the MAS.
|
||||
*/
|
||||
|
|
@ -620,7 +622,7 @@ void peak_meter_peek(void)
|
|||
case TRIG_READY:
|
||||
/* no more changes, if trigger was activated as release trigger */
|
||||
/* threshold exceeded? */
|
||||
if ((left > trig_strt_threshold)
|
||||
if ((left > trig_strt_threshold)
|
||||
|| (right > trig_strt_threshold)) {
|
||||
/* reset trigger duration */
|
||||
trig_hightime = current_tick;
|
||||
|
|
@ -670,7 +672,7 @@ void peak_meter_peek(void)
|
|||
case TRIG_GO:
|
||||
case TRIG_CONTINUE:
|
||||
/* threshold exceeded? */
|
||||
if ((left > trig_stp_threshold)
|
||||
if ((left > trig_stp_threshold)
|
||||
|| (right > trig_stp_threshold)) {
|
||||
/* restart hold time countdown */
|
||||
trig_lowtime = current_tick;
|
||||
|
|
@ -684,7 +686,7 @@ void peak_meter_peek(void)
|
|||
/* gap time expired? */
|
||||
if (current_tick - trig_lowtime > trig_rstrt_gap){
|
||||
/* start threshold exceeded? */
|
||||
if ((left > trig_strt_threshold)
|
||||
if ((left > trig_strt_threshold)
|
||||
|| (right > trig_strt_threshold)) {
|
||||
|
||||
set_trig_status(TRIG_RETRIG);
|
||||
|
|
@ -694,7 +696,7 @@ void peak_meter_peek(void)
|
|||
else
|
||||
|
||||
/* stop threshold exceeded */
|
||||
if ((left > trig_stp_threshold)
|
||||
if ((left > trig_stp_threshold)
|
||||
|| (right > trig_stp_threshold)) {
|
||||
if (current_tick - trig_hightime > trig_stp_hold){
|
||||
trig_lowtime = current_tick;
|
||||
|
|
@ -830,7 +832,7 @@ void peak_meter_get_peakhold(int *peak_left, int *peak_right)
|
|||
* @param int unused - This parameter was added to
|
||||
* make the function compatible with set_int
|
||||
*/
|
||||
void peak_meter_set_clip_hold(int time)
|
||||
void peak_meter_set_clip_hold(int time)
|
||||
{
|
||||
pm_clip_left = false;
|
||||
pm_clip_right = false;
|
||||
|
|
@ -870,7 +872,7 @@ unsigned short peak_meter_scale_value(unsigned short val, int meterwidth)
|
|||
else
|
||||
{
|
||||
/* scale the samples */
|
||||
retval = ((retval - peak_meter_range_min) * meterwidth)
|
||||
retval = ((retval - peak_meter_range_min) * meterwidth)
|
||||
/ pm_range;
|
||||
}
|
||||
return retval;
|
||||
|
|
@ -887,7 +889,7 @@ void peak_meter_current_vals(int *left, int *right)
|
|||
static int left_level = 0, right_level = 0;
|
||||
if (level_check){
|
||||
/* only read the volume info from MAS if peek since last read*/
|
||||
left_level = peak_meter_read_l();
|
||||
left_level = peak_meter_read_l();
|
||||
right_level = peak_meter_read_r();
|
||||
level_check = false;
|
||||
}
|
||||
|
|
@ -897,9 +899,9 @@ void peak_meter_current_vals(int *left, int *right)
|
|||
|
||||
/**
|
||||
* Draws a peak meter in the specified size at the specified position.
|
||||
* @param int x - The x coordinate.
|
||||
* @param int x - The x coordinate.
|
||||
* Make sure that 0 <= x and x + width < display->getwidth()
|
||||
* @param int y - The y coordinate.
|
||||
* @param int y - The y coordinate.
|
||||
* Make sure that 0 <= y and y + height < display->getheight()
|
||||
* @param int width - The width of the peak meter. Note that for display
|
||||
* of clips a 3 pixel wide area is used ->
|
||||
|
|
@ -907,7 +909,7 @@ void peak_meter_current_vals(int *left, int *right)
|
|||
* @param int height - The height of the peak meter. height > 3
|
||||
*/
|
||||
static void peak_meter_draw(struct screen *display, struct meter_scales *scales,
|
||||
int x, int y, int width, int height)
|
||||
int x, int y, int width, int height)
|
||||
{
|
||||
int left_level = 0, right_level = 0;
|
||||
int left = 0, right = 0;
|
||||
|
|
@ -931,11 +933,11 @@ static void peak_meter_draw(struct screen *display, struct meter_scales *scales,
|
|||
|
||||
peak_meter_current_vals(&left_level, &right_level);
|
||||
|
||||
/* scale the samples dBfs */
|
||||
/* scale the samples dBfs */
|
||||
left = peak_meter_scale_value(left_level, meterwidth);
|
||||
right = peak_meter_scale_value(right_level, meterwidth);
|
||||
|
||||
/*if the scale has changed -> recalculate the scale
|
||||
/*if the scale has changed -> recalculate the scale
|
||||
(The scale becomes invalid when the range changed.) */
|
||||
if (!scales->db_scale_valid){
|
||||
|
||||
|
|
@ -949,7 +951,7 @@ static void peak_meter_draw(struct screen *display, struct meter_scales *scales,
|
|||
peak_meter_scale_value(
|
||||
db_scale_src_values[i],
|
||||
meterwidth - 1);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
/* when scaling linear we simly make 10% steps */
|
||||
|
|
@ -988,12 +990,12 @@ static void peak_meter_draw(struct screen *display, struct meter_scales *scales,
|
|||
}
|
||||
|
||||
if (!pm_clip_eternal) {
|
||||
if (pm_clip_left &&
|
||||
if (pm_clip_left &&
|
||||
TIME_AFTER(current_tick, pm_clip_timeout_l)){
|
||||
pm_clip_left = false;
|
||||
}
|
||||
|
||||
if (pm_clip_right &&
|
||||
if (pm_clip_right &&
|
||||
TIME_AFTER(current_tick, pm_clip_timeout_r)){
|
||||
pm_clip_right = false;
|
||||
}
|
||||
|
|
@ -1039,7 +1041,7 @@ static void peak_meter_draw(struct screen *display, struct meter_scales *scales,
|
|||
|
||||
/* draw dots for scale marks */
|
||||
for (i = 0; i < db_scale_count; i++) {
|
||||
/* The x-coordinates of interesting scale mark points
|
||||
/* The x-coordinates of interesting scale mark points
|
||||
have been calculated before */
|
||||
display->drawpixel(x + scales->db_scale_lcd_coord[i],
|
||||
y + height / 2 - 1);
|
||||
|
|
@ -1103,7 +1105,7 @@ static void peak_meter_draw(struct screen *display, struct meter_scales *scales,
|
|||
ticks_per_redraw[tmp] ++;
|
||||
}
|
||||
|
||||
/* display a bar to show how many ticks have passed since
|
||||
/* display a bar to show how many ticks have passed since
|
||||
the last redraw */
|
||||
display->fillrect(x, y + height / 2, current_tick - pm_tick, 2);
|
||||
pm_tick = current_tick;
|
||||
|
|
@ -1174,7 +1176,7 @@ void peak_meter_define_trigger(
|
|||
* Enables or disables the trigger.
|
||||
* @param on - If true the trigger is turned on.
|
||||
*/
|
||||
void peak_meter_trigger(bool on)
|
||||
void peak_meter_trigger(bool on)
|
||||
{
|
||||
/* don't use set_trigger here as that would fire an undesired event */
|
||||
trig_status = on ? TRIG_READY : TRIG_OFF;
|
||||
|
|
@ -1185,7 +1187,7 @@ void peak_meter_trigger(bool on)
|
|||
* @param listener - The function that is called with each change of
|
||||
* trig_status. May be set to NULL if no callback is desired.
|
||||
*/
|
||||
void peak_meter_set_trigger_listener(void (*listener)(int status))
|
||||
void peak_meter_set_trigger_listener(void (*listener)(int status))
|
||||
{
|
||||
trigger_listener = listener;
|
||||
}
|
||||
|
|
@ -1202,7 +1204,7 @@ void peak_meter_set_trigger_listener(void (*listener)(int status))
|
|||
* peak_meter_release_trigger. To turn the trigger off call
|
||||
* peak_meter_trigger_off.
|
||||
*/
|
||||
int peak_meter_trigger_status(void)
|
||||
int peak_meter_trigger_status(void)
|
||||
{
|
||||
return trig_status; /* & TRIG_PIT_MASK;*/
|
||||
}
|
||||
|
|
@ -1313,7 +1315,7 @@ int peak_meter_draw_get_btn(int action_context, int x[], int y[],
|
|||
if (TIME_AFTER(current_tick, next_refresh)) {
|
||||
for(i = 0; i < nb_screens; i++)
|
||||
{
|
||||
screens[i].set_viewport(&vps[i]);
|
||||
screens[i].set_viewport(&vps[i]);
|
||||
peak_meter_screen(&screens[i], x[i], y[i], height[i]);
|
||||
screens[i].update_viewport_rect(x[i], y[i],
|
||||
screens[i].getwidth() - x[i],
|
||||
|
|
@ -1340,7 +1342,7 @@ static void peak_meter_clear_histogram(void)
|
|||
}
|
||||
}
|
||||
|
||||
bool peak_meter_histogram(void)
|
||||
bool peak_meter_histogram(void)
|
||||
{
|
||||
int i;
|
||||
int btn = BUTTON_NONE;
|
||||
|
|
@ -1453,4 +1455,3 @@ void histogram_draw(int x1, int x2, int y1, int y2, int width, int height)
|
|||
#endif
|
||||
}
|
||||
#endif /* HAVE_HISTOGRAM */
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue