mirror of
https://github.com/Rockbox/rockbox.git
synced 2025-11-09 21:22:39 -05:00
Fix f5a5b94 errors. Employ SW volume for select targets on SIM.
Onda VX747 sim was missing a limits #define; #include limits.h in pcm_sw_volume.h. Simply use the software volume control for the SIM volume control rather than the SDL volume control when the target would have it natively. Change-Id: I8e924a2ff1b410f602452d2ea9b691efb82c931e
This commit is contained in:
parent
f5a5b94686
commit
2dd1f37a10
4 changed files with 27 additions and 3 deletions
|
|
@ -29,6 +29,14 @@
|
||||||
* SDL. if we used DSP we would run code that doesn't actually run on the target
|
* SDL. if we used DSP we would run code that doesn't actually run on the target
|
||||||
**/
|
**/
|
||||||
|
|
||||||
|
#ifdef HAVE_SW_VOLUME_CONTROL
|
||||||
|
#include "pcm_sw_volume.h"
|
||||||
|
|
||||||
|
void audiohw_set_master_vol(int vol_l, int vol_r)
|
||||||
|
{
|
||||||
|
pcm_set_master_volume(vol_l, vol_r);
|
||||||
|
}
|
||||||
|
#else /* ndef HAVE_SW_VOLUME_CONTROL */
|
||||||
extern void pcm_set_mixer_volume(int);
|
extern void pcm_set_mixer_volume(int);
|
||||||
|
|
||||||
void audiohw_set_volume(int volume)
|
void audiohw_set_volume(int volume)
|
||||||
|
|
@ -44,6 +52,7 @@ void audiohw_set_volume(int volume)
|
||||||
(void)volume;
|
(void)volume;
|
||||||
#endif /* CONFIG_CODEC == SWCODEC */
|
#endif /* CONFIG_CODEC == SWCODEC */
|
||||||
}
|
}
|
||||||
|
#endif /* HAVE_SW_VOLUME_CONTROL */
|
||||||
|
|
||||||
const struct sound_settings_info audiohw_settings[] = {
|
const struct sound_settings_info audiohw_settings[] = {
|
||||||
[SOUND_VOLUME] = {"dB", 0, 1, VOLUME_MIN / 10, VOLUME_MAX / 10, -25},
|
[SOUND_VOLUME] = {"dB", 0, 1, VOLUME_MIN / 10, VOLUME_MAX / 10, -25},
|
||||||
|
|
@ -129,7 +138,13 @@ const struct sound_settings_info audiohw_settings[] = {
|
||||||
**/
|
**/
|
||||||
|
|
||||||
#if defined(AUDIOHW_HAVE_PRESCALER)
|
#if defined(AUDIOHW_HAVE_PRESCALER)
|
||||||
void audiohw_set_prescaler(int value) { (void)value; }
|
void audiohw_set_prescaler(int value)
|
||||||
|
{
|
||||||
|
#ifdef HAVE_SW_VOLUME_CONTROL
|
||||||
|
pcm_set_prescaler(value);
|
||||||
|
#endif
|
||||||
|
(void)value;
|
||||||
|
}
|
||||||
#endif
|
#endif
|
||||||
#if defined(AUDIOHW_HAVE_BALANCE)
|
#if defined(AUDIOHW_HAVE_BALANCE)
|
||||||
void audiohw_set_balance(int value) { (void)value; }
|
void audiohw_set_balance(int value) { (void)value; }
|
||||||
|
|
|
||||||
|
|
@ -24,6 +24,7 @@
|
||||||
#ifdef HAVE_SW_VOLUME_CONTROL
|
#ifdef HAVE_SW_VOLUME_CONTROL
|
||||||
|
|
||||||
#include <audiohw.h>
|
#include <audiohw.h>
|
||||||
|
#include <limits.h>
|
||||||
|
|
||||||
#define PCM_MUTE_LEVEL INT_MIN
|
#define PCM_MUTE_LEVEL INT_MIN
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -235,8 +235,10 @@ static void set_prescaled_volume(void)
|
||||||
}
|
}
|
||||||
|
|
||||||
/* ypr0 with sdl has separate volume controls */
|
/* ypr0 with sdl has separate volume controls */
|
||||||
#if !defined(HAVE_SDL_AUDIO) || defined(SAMSUNG_YPR0)
|
#if defined(HAVE_SW_VOLUME_CONTROL)
|
||||||
#if defined(HAVE_SW_VOLUME_CONTROL) || defined(HAVE_JZ4740_CODEC)
|
audiohw_set_master_vol(l, r);
|
||||||
|
#elif !defined(HAVE_SDL_AUDIO) || defined(SAMSUNG_YPR0)
|
||||||
|
#if defined(HAVE_JZ4740_CODEC)
|
||||||
audiohw_set_master_vol(l, r);
|
audiohw_set_master_vol(l, r);
|
||||||
#elif CONFIG_CODEC == MAS3507D
|
#elif CONFIG_CODEC == MAS3507D
|
||||||
dac_volume(tenthdb2reg(l), tenthdb2reg(r), false);
|
dac_volume(tenthdb2reg(l), tenthdb2reg(r), false);
|
||||||
|
|
|
||||||
|
|
@ -51,7 +51,11 @@
|
||||||
extern bool debug_audio;
|
extern bool debug_audio;
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
#ifdef HAVE_SW_VOLUME_CONTROL
|
||||||
|
static int sim_volume = SDL_MIX_MAXVOLUME;
|
||||||
|
#else
|
||||||
static int sim_volume = 0;
|
static int sim_volume = 0;
|
||||||
|
#endif
|
||||||
|
|
||||||
#if CONFIG_CODEC == SWCODEC
|
#if CONFIG_CODEC == SWCODEC
|
||||||
static int cvt_status = -1;
|
static int cvt_status = -1;
|
||||||
|
|
@ -414,9 +418,11 @@ void pcm_play_dma_postinit(void)
|
||||||
{
|
{
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#ifndef HAVE_SW_VOLUME_CONTROL
|
||||||
void pcm_set_mixer_volume(int volume)
|
void pcm_set_mixer_volume(int volume)
|
||||||
{
|
{
|
||||||
sim_volume = volume;
|
sim_volume = volume;
|
||||||
}
|
}
|
||||||
|
#endif /* HAVE_SW_VOLUME_CONTROL */
|
||||||
|
|
||||||
#endif /* CONFIG_CODEC == SWCODEC */
|
#endif /* CONFIG_CODEC == SWCODEC */
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue