aboutsummaryrefslogtreecommitdiff
path: root/utils/winmm_drv/config
diff options
context:
space:
mode:
Diffstat (limited to 'utils/winmm_drv/config')
-rw-r--r--utils/winmm_drv/config/regconfig.c19
-rw-r--r--utils/winmm_drv/config/regconfig.h6
2 files changed, 24 insertions, 1 deletions
diff --git a/utils/winmm_drv/config/regconfig.c b/utils/winmm_drv/config/regconfig.c
index 6e35df0..a049a7d 100644
--- a/utils/winmm_drv/config/regconfig.c
+++ b/utils/winmm_drv/config/regconfig.c
@@ -163,11 +163,13 @@ void setupDefault(DriverSettings *setup)
setup->flagFullBrightness = BST_UNCHECKED;
setup->volumeModel = 0;
- setup->chanAlloc = 0;
+ setup->chanAlloc = -1;
setup->numChips = 4;
setup->num4ops = -1;
setup->outputDevice = (UINT)-1;
+
+ setup->gain100 = 100;
}
@@ -224,6 +226,9 @@ void loadSetup(DriverSettings *setup)
if(readUIntFromRegistry(HKEY_CURRENT_USER, s_regPath, L"outputDevice", &uVal))
setup->outputDevice = uVal;
+
+ if(readUIntFromRegistry(HKEY_CURRENT_USER, s_regPath, L"gain100", &uVal))
+ setup->gain100 = uVal;
}
void saveSetup(DriverSettings *setup)
@@ -246,8 +251,20 @@ void saveSetup(DriverSettings *setup)
writeIntToRegistry(HKEY_CURRENT_USER, s_regPath, L"numChips", setup->numChips);
writeIntToRegistry(HKEY_CURRENT_USER, s_regPath, L"num4ops", setup->num4ops);
writeUIntToRegistry(HKEY_CURRENT_USER, s_regPath, L"outputDevice", setup->outputDevice);
+ writeUIntToRegistry(HKEY_CURRENT_USER, s_regPath, L"gain100", setup->gain100);
+}
+
+void getGain(DriverSettings *setup)
+{
+ UINT uVal;
+ if(readUIntFromRegistry(HKEY_CURRENT_USER, s_regPath, L"gain100", &uVal))
+ setup->gain100 = uVal;
}
+void saveGain(DriverSettings *setup)
+{
+ writeUIntToRegistry(HKEY_CURRENT_USER, s_regPath, L"gain100", setup->gain100);
+}
static const PWCHAR s_regPathNotify = L"SOFTWARE\\Wohlstand\\libADLMIDI\\notify";
diff --git a/utils/winmm_drv/config/regconfig.h b/utils/winmm_drv/config/regconfig.h
index 7c49bd6..2dac28a 100644
--- a/utils/winmm_drv/config/regconfig.h
+++ b/utils/winmm_drv/config/regconfig.h
@@ -30,6 +30,8 @@ typedef struct DriverSettings_t
int num4ops;
UINT outputDevice;
+
+ UINT gain100;
} DriverSettings;
extern const WCHAR g_adlSignalMemory[];
@@ -38,9 +40,13 @@ extern void setupDefault(DriverSettings *setup);
extern void loadSetup(DriverSettings *setup);
extern void saveSetup(DriverSettings *setup);
+extern void saveGain(DriverSettings *setup);
+extern void getGain(DriverSettings *setup);
+
#define DRV_SIGNAL_RELOAD_SETUP 1
#define DRV_SIGNAL_RESET_SYNTH 2
+#define DRV_SIGNAL_UPDATE_GAIN 3
// Client
/**