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

This commit is contained in:
MihailRis 2024-03-27 20:37:03 +03:00
parent 8a8f2013ae
commit bded7763d0
2 changed files with 6 additions and 2 deletions

View File

@ -259,7 +259,7 @@ void ALSpeaker::play() {
paused = false;
stopped = false;
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));
}

View File

@ -13,7 +13,11 @@ inline int extract_channel_index(lua_State* L, int idx) {
if (!lua_isnoneornil(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(