ALSpeaker start volume fix + 'master' channel is now forbidden to use in Lua

This commit is contained in:
MihailRis
2024-03-27 20:37:59 +03:00
parent 8a8f2013ae
commit bded7763d0
2 changed files with 6 additions and 2 deletions
+1 -1
View File
@@ -259,7 +259,7 @@ void ALSpeaker::play() {
paused = false; paused = false;
stopped = false; stopped = false;
auto channel = get_channel(this->channel); auto channel = get_channel(this->channel);
AL_CHECK(alSourcef(source, AL_GAIN, volume * channel->getVolume())); AL_CHECK(alSourcef(source, AL_GAIN, volume * channel->getVolume() * get_channel(0)->getVolume()));
AL_CHECK(alSourcePlay(source)); AL_CHECK(alSourcePlay(source));
} }
+5 -1
View File
@@ -13,7 +13,11 @@ inline int extract_channel_index(lua_State* L, int idx) {
if (!lua_isnoneornil(L, idx)) { if (!lua_isnoneornil(L, idx)) {
channel = lua_tostring(L, idx); channel = lua_tostring(L, idx);
} }
return audio::get_channel_index(channel); int index = audio::get_channel_index(channel);
if (index == 0) {
return -1;
}
return index;
} }
inline audio::speakerid_t play_sound( inline audio::speakerid_t play_sound(