Fixed right-channel missing bug in disc audio mixer. Fixed discAudio() command.

This commit is contained in:
Scott Duensing 2019-12-31 17:51:57 -06:00
parent 94071d5ec1
commit aa16512939
4 changed files with 11 additions and 8 deletions

View file

@ -64,6 +64,8 @@ __attribute__((noreturn))
void showUsage(char *name, char *message) { void showUsage(char *name, char *message) {
int result = 0; int result = 0;
// 00000000011111111112222222222333333333344444444445555555555666666666677777777778
// 12345678901234567890123456789012345678901234567890123456789012345678901234567890
utilSay(" ___ ___ _ _ ___ ___"); utilSay(" ___ ___ _ _ ___ ___");
utilSay("/ __|_ _| \\| |/ __| __| Somewhat Interactive Nostalgic Game Emulator %s", VERSION_STRING); utilSay("/ __|_ _| \\| |/ __| __| Somewhat Interactive Nostalgic Game Emulator %s", VERSION_STRING);
utilSay("\\__ \\| || .` | (_ | _| Copyright (c) 2006-%s Scott C. Duensing", COPYRIGHT_END_YEAR); utilSay("\\__ \\| || .` | (_ | _| Copyright (c) 2006-%s Scott C. Duensing", COPYRIGHT_END_YEAR);
@ -80,8 +82,6 @@ void showUsage(char *name, char *message) {
utilSay(" -w, --fullscreen_window run in windowed full screen mode"); utilSay(" -w, --fullscreen_window run in windowed full screen mode");
utilSay(" -l, --volume_vldp=PERCENT specify laserdisc volume in percent"); utilSay(" -l, --volume_vldp=PERCENT specify laserdisc volume in percent");
utilSay(" -e, --volume_nonvldp=PERCENT specify sound effects volume in percent"); utilSay(" -e, --volume_nonvldp=PERCENT specify sound effects volume in percent");
// 00000000011111111112222222222333333333344444444445555555555666666666677777777778
// 12345678901234567890123456789012345678901234567890123456789012345678901234567890
utilSay(" -z, --scalefactor=PERCENT reduce screen size for overscan compensation"); utilSay(" -z, --scalefactor=PERCENT reduce screen size for overscan compensation");
utilSay(" -a, --aspect=N:D force aspect ratio"); utilSay(" -a, --aspect=N:D force aspect ratio");
utilSay(" -u, --stretch use ugly stretched video"); utilSay(" -u, --stretch use ugly stretched video");

View file

@ -458,9 +458,10 @@ int apiDiscAudio(lua_State *L) {
if (lua_isnumber(L, 1)) { if (lua_isnumber(L, 1)) {
if (lua_isboolean(L, 2)) { if (lua_isboolean(L, 2)) {
d = lua_tonumber(L, 1); channel = (int)d; d = lua_tonumber(L, 1); channel = (int)d;
d = lua_tonumber(L, 2); onOff = (bool)d; d = lua_toboolean(L, 2); onOff = (bool)d;
if ((channel == 1) && onOff) left = _confVolumeVldp; videoGetVolume(_videoHandle, &left, &right);
if ((channel == 2) && onOff) right = _confVolumeVldp; if (channel == 1) left = (onOff ? _confVolumeVldp : 0);
if (channel == 2) right = (onOff ? _confVolumeVldp : 0);
videoSetVolume(_videoHandle, left, right); videoSetVolume(_videoHandle, left, right);
result = true; result = true;
} }
@ -663,6 +664,8 @@ int apiDiscSkipToFrame(lua_State *L) {
} else { } else {
luaTrace(L, "discSkipToFrame", "Failed!"); luaTrace(L, "discSkipToFrame", "Failed!");
} }
return 0;
} }
@ -934,7 +937,7 @@ int apiOverlayPrint(lua_State *L) {
if (n == 3) { if (n == 3) {
if (lua_isnumber(L, 1)) { if (lua_isnumber(L, 1)) {
if (lua_isnumber(L, 2)) { if (lua_isnumber(L, 2)) {
if (lua_isnumber(L, 3)) { if (lua_isstring(L, 3)) {
//***TODO*** g_pSingeIn->draw_string((char *)lua_tostring(L, 3), lua_tonumber(L, 1), lua_tonumber(L, 2), g_se_surface); //***TODO*** g_pSingeIn->draw_string((char *)lua_tostring(L, 3), lua_tonumber(L, 1), lua_tonumber(L, 2), g_se_surface);
} }
} }

View file

@ -30,7 +30,7 @@
#define SINGE_VERSION 2.00 #define SINGE_VERSION 2.00
#define VERSION_STRING "v2.00" #define VERSION_STRING "v2.00b4"
#define COPYRIGHT_END_YEAR "2020" #define COPYRIGHT_END_YEAR "2020"

View file

@ -121,7 +121,7 @@ void _dequeueVideoAudio(int channel, void *stream, int bytes, void *udata) {
Mix_Volume(channel, MIX_MAX_VOLUME); Mix_Volume(channel, MIX_MAX_VOLUME);
for (i=0; i<bytesRead / 2; i+=2) { for (i=0; i<bytesRead / 2; i+=2) {
data[i] = (Sint16)((float)data[i] * (float)v->volumeLeft * (float)0.01); data[i] = (Sint16)((float)data[i] * (float)v->volumeLeft * (float)0.01);
data[i + 1] = (Sint16)((float)data[i] * (float)v->volumeRight * (float)0.01); data[i + 1] = (Sint16)((float)data[i + 1] * (float)v->volumeRight * (float)0.01);
} }
} }
} }