replay_gain_config: added function replay_gain_get_real_mode()
This commit is contained in:
parent
6c831e04a2
commit
f824ecdfa1
@ -28,7 +28,6 @@
|
|||||||
#include "replay_gain_info.h"
|
#include "replay_gain_info.h"
|
||||||
#include "replay_gain_config.h"
|
#include "replay_gain_config.h"
|
||||||
#include "mixer_control.h"
|
#include "mixer_control.h"
|
||||||
#include "playlist.h"
|
|
||||||
|
|
||||||
#include <assert.h>
|
#include <assert.h>
|
||||||
#include <string.h>
|
#include <string.h>
|
||||||
@ -115,11 +114,7 @@ replay_gain_filter_init(G_GNUC_UNUSED const struct config_param *param,
|
|||||||
filter_init(&filter->filter, &replay_gain_filter_plugin);
|
filter_init(&filter->filter, &replay_gain_filter_plugin);
|
||||||
filter->mixer = NULL;
|
filter->mixer = NULL;
|
||||||
|
|
||||||
if (replay_gain_mode == REPLAY_GAIN_AUTO) {
|
filter->mode = replay_gain_get_real_mode();
|
||||||
filter->mode = g_playlist.queue.random ? REPLAY_GAIN_TRACK : REPLAY_GAIN_ALBUM;
|
|
||||||
} else {
|
|
||||||
filter->mode = replay_gain_mode;
|
|
||||||
}
|
|
||||||
replay_gain_info_init(&filter->info);
|
replay_gain_info_init(&filter->info);
|
||||||
filter->volume = PCM_VOLUME_1;
|
filter->volume = PCM_VOLUME_1;
|
||||||
|
|
||||||
@ -169,11 +164,7 @@ replay_gain_filter_filter(struct filter *_filter,
|
|||||||
enum replay_gain_mode rg_mode;
|
enum replay_gain_mode rg_mode;
|
||||||
|
|
||||||
/* check if the mode has been changed since the last call */
|
/* check if the mode has been changed since the last call */
|
||||||
if (replay_gain_mode == REPLAY_GAIN_AUTO) {
|
rg_mode = replay_gain_get_real_mode();
|
||||||
rg_mode = g_playlist.queue.random ? REPLAY_GAIN_TRACK : REPLAY_GAIN_ALBUM;
|
|
||||||
} else {
|
|
||||||
rg_mode = replay_gain_mode;
|
|
||||||
}
|
|
||||||
|
|
||||||
if (filter->mode != rg_mode) {
|
if (filter->mode != rg_mode) {
|
||||||
g_debug("replay gain mode has changed %d->%d\n", filter->mode, rg_mode);
|
g_debug("replay gain mode has changed %d->%d\n", filter->mode, rg_mode);
|
||||||
|
@ -19,6 +19,7 @@
|
|||||||
|
|
||||||
#include "config.h"
|
#include "config.h"
|
||||||
#include "replay_gain_config.h"
|
#include "replay_gain_config.h"
|
||||||
|
#include "playlist.h"
|
||||||
#include "conf.h"
|
#include "conf.h"
|
||||||
#include "idle.h"
|
#include "idle.h"
|
||||||
|
|
||||||
@ -129,3 +130,15 @@ void replay_gain_global_init(void)
|
|||||||
replay_gain_missing_preamp = pow(10, f / 20.0);
|
replay_gain_missing_preamp = pow(10, f / 20.0);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
enum replay_gain_mode replay_gain_get_real_mode(void)
|
||||||
|
{
|
||||||
|
enum replay_gain_mode rgm;
|
||||||
|
|
||||||
|
rgm = replay_gain_mode;
|
||||||
|
|
||||||
|
if (rgm == REPLAY_GAIN_AUTO)
|
||||||
|
rgm = g_playlist.queue.random ? REPLAY_GAIN_TRACK : REPLAY_GAIN_ALBUM;
|
||||||
|
|
||||||
|
return rgm;
|
||||||
|
}
|
||||||
|
@ -45,4 +45,10 @@ replay_gain_get_mode_string(void);
|
|||||||
bool
|
bool
|
||||||
replay_gain_set_mode_string(const char *p);
|
replay_gain_set_mode_string(const char *p);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Returns the "real" mode according to the "auto" setting"
|
||||||
|
*/
|
||||||
|
enum replay_gain_mode
|
||||||
|
replay_gain_get_real_mode(void);
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
Loading…
Reference in New Issue
Block a user