Compare commits

...

2 Commits

Author SHA1 Message Date
5d62d97464 pause music if muted 2025-02-20 14:31:50 -03:00
2f0b5f2782 change options dialog a bit 2025-02-20 14:29:37 -03:00
3 changed files with 30 additions and 12 deletions

View File

@ -133,6 +133,12 @@ Play a handle
"""
return dll.BASS_ChannelPlay(handle, restart)
def pausehandle(handle):
"""
Play a handle
"""
return dll.BASS_ChannelPause(handle)
def stophandle(handle):
"""
Stop handle playback

View File

@ -1255,6 +1255,10 @@ class gui(QtGui.QWidget):
def changeMusicVolume(self, value):
if self.music:
audio.sethandleattr(self.music, BASS_ATTRIB_VOL, value / 100.0)
if value == 0:
audio.pausehandle(self.music)
elif audio.handleisactive(self.music) == BASS_ACTIVE_PAUSED:
audio.playhandle(self.music, False)
def changeSoundVolume(self, value):
if self.sound:
@ -2868,6 +2872,8 @@ class gui(QtGui.QWidget):
self.music = audio.loadhandle(False, AOpath + 'sounds/music/' + musl, 0, 0, BASS_SAMPLE_LOOP)
audio.sethandleattr(self.music, BASS_ATTRIB_VOL, self.musicslider.value() / 100.0)
audio.playhandle(self.music, True)
if self.musicslider.value() == 0:
audio.pausehandle(self.music)
elif ini.read_ini_bool("AO2XP.ini", "General", "download music", True):
if mus.lower().startswith("http"):
@ -2884,6 +2890,8 @@ class gui(QtGui.QWidget):
if self.music:
audio.sethandleattr(self.music, BASS_ATTRIB_VOL, self.musicslider.value() / 100.0)
audio.playhandle(self.music, True)
if self.musicslider.value() == 0:
audio.pausehandle(self.music)
else:
error = audio.getbasserror()
print "[audio] Couldn't play music. Error", error
@ -2926,7 +2934,9 @@ class gui(QtGui.QWidget):
else:
self.music = audio.loadhandle(True, self.stream, 0, file_length, BASS_SAMPLE_LOOP)
audio.sethandleattr(self.music, BASS_ATTRIB_VOL, self.musicslider.value() / 100.0)
audio.playhandle(self.music, False)
audio.playhandle(self.music, True)
if self.musicslider.value() == 0:
audio.pausehandle(self.music)
def startGame(self, tcp, playerlist, charlist, musiclist, background, evidence, areas, features=[], oocjoin=[], hplist=[], webAO_bucket=""):
self.willDisconnect = False

View File

@ -42,12 +42,12 @@ class Settings(QtGui.QDialog):
callwords_layout = QtGui.QVBoxLayout(callwords_tab)
callwords_layout.setAlignment(QtCore.Qt.AlignTop)
savebtn = QtGui.QPushButton()
savebtn.setText("Save")
savebtn.clicked.connect(self.onSaveClicked)
cancelbtn = QtGui.QPushButton()
cancelbtn.setText("Cancel")
cancelbtn.clicked.connect(self.onCancelClicked)
self.savebtn = QtGui.QPushButton()
self.savebtn.setText("Save")
self.savebtn.clicked.connect(self.onSaveClicked)
self.cancelbtn = QtGui.QPushButton()
self.cancelbtn.setText("Cancel")
self.cancelbtn.clicked.connect(self.onCancelClicked)
separators = []
for i in range(5):
@ -131,11 +131,11 @@ class Settings(QtGui.QDialog):
savechangeswarn = QtGui.QLabel()
savechangeswarn.setText("* Change takes effect upon restarting the client")
general_layout.addWidget(self.savetolog)
general_layout.addWidget(self.savetolog_combine, 0, QtCore.Qt.AlignRight)
general_layout.addWidget(separators[0])
general_layout.addLayout(defaultoocname_layout)
general_layout.addLayout(defaultshowname_layout)
general_layout.addWidget(separators[0])
general_layout.addWidget(self.savetolog)
general_layout.addWidget(self.savetolog_combine)
general_layout.addWidget(separators[1])
general_layout.addWidget(allowdownload)
general_layout.addLayout(allowdownload_layout)
@ -196,11 +196,13 @@ class Settings(QtGui.QDialog):
self.tabs.addTab(audio_tab, "Audio")
self.tabs.addTab(callwords_tab, "Callwords")
save_layout.addWidget(savebtn, 100, QtCore.Qt.AlignRight)
save_layout.addWidget(cancelbtn, 0, QtCore.Qt.AlignRight)
save_layout.addWidget(self.savebtn, 100, QtCore.Qt.AlignRight)
save_layout.addWidget(self.cancelbtn, 0, QtCore.Qt.AlignRight)
main_layout.addWidget(self.tabs)
main_layout.addLayout(save_layout)
self.savebtn.setFocus()
def showSettings(self):
if exists("AO2XP.ini"):
self.inifile.read("AO2XP.ini")