From 1e9fd28a1ee92dce1bd9e6e7cdeb8fed880948d9 Mon Sep 17 00:00:00 2001 From: Michael Pavone Date: Sat, 23 Mar 2019 17:18:10 -0700 Subject: Configurable gain for overall output and individual components --- sms.c | 9 +++++++++ 1 file changed, 9 insertions(+) (limited to 'sms.c') diff --git a/sms.c b/sms.c index 1f9b888..cc33044 100644 --- a/sms.c +++ b/sms.c @@ -569,6 +569,13 @@ static void keyboard_up(system_header *system, uint8_t scancode) io_keyboard_up(&sms->io, scancode); } +static void set_gain_config(sms_context *sms) +{ + char *config_gain; + config_gain = tern_find_path(config, "audio\0psg_gain\0", TVAL_PTR).ptrval; + render_audio_source_gaindb(sms->psg->audio, config_gain ? atof(config_gain) : 0.0f); +} + static void config_updated(system_header *system) { sms_context *sms = (sms_context *)system; @@ -620,6 +627,8 @@ sms_context *alloc_configure_sms(system_media *media, uint32_t opts, uint8_t for sms->psg = malloc(sizeof(psg_context)); psg_init(sms->psg, sms->master_clock, 15*16); + set_gain_config(sms); + sms->vdp = init_vdp_context(0); sms->vdp->system = &sms->header; -- cgit v1.2.3