diff --git a/src/Conf.defaults b/src/Conf.defaults index cabac396..9ff9207d 100644 --- a/src/Conf.defaults +++ b/src/Conf.defaults @@ -16,7 +16,7 @@ announce_stream_status = boolean(default=True) volume = float(default=1.0) input_device = string(default="Default") output_device = string(default="Default") -global_mute = boolean(default=False) +session_mute = boolean(default=False) current_soundpack = string(default="default") sndup_api_key = string(default="") diff --git a/src/app-configuration.defaults b/src/app-configuration.defaults index 025eabd8..b276ef64 100644 --- a/src/app-configuration.defaults +++ b/src/app-configuration.defaults @@ -48,8 +48,8 @@ repeat_item = string(default="control+win+space") copy_to_clipboard = string(default="control+win+c") add_to_list = string(default="control+win+a") remove_from_list = string(default="control+win+shift+a") -toggle_mute = string(default="control+win+shift+m") -toggle_global_mute = string(default="alt+win+m") +toggle_buffer_mute = string(default="control+win+shift+m") +toggle_session_mute = string(default="alt+win+m") toggle_autoread = string(default="control+win+e") search = string(default="control+win+-") edit_keystrokes = string(default="control+win+k") diff --git a/src/controller/buffersController.py b/src/controller/buffersController.py index 829dd537..ae765bcb 100644 --- a/src/controller/buffersController.py +++ b/src/controller/buffersController.py @@ -285,7 +285,7 @@ class baseBufferController(bufferController): self.buffer.list.insert_item(False, *tweet) else: self.buffer.list.insert_item(True, *tweet) - if self.name in self.session.settings["other_buffers"]["autoread_buffers"] and self.session.settings["sound"]["global_mute"] == False: + if self.name in self.session.settings["other_buffers"]["autoread_buffers"] and self.name not in self.session.settings["other_buffers"]["muted_buffers"] and self.session.settings["sound"]["session_mute"] == False: output.speak(" ".join(tweet[:2])) def bind_events(self): @@ -454,7 +454,7 @@ class eventsBufferController(bufferController): self.buffer.list.insert_item(False, *tweet) else: self.buffer.list.insert_item(True, *tweet) - if self.name in self.session.settings["other_buffers"]["autoread_buffers"] and self.session.settings["sound"]["global_mute"] == False: + if self.name in self.session.settings["other_buffers"]["autoread_buffers"] and self.name not in self.session.settings["other_buffers"]["muted_buffers"] and self.session.settings["sound"]["session_mute"] == False: output.speak(" ".join(tweet)) def clear_list(self): @@ -547,7 +547,7 @@ class peopleBufferController(baseBufferController): self.buffer.list.insert_item(False, *tweet) else: self.buffer.list.insert_item(True, *tweet) - if self.name in self.session.settings["other_buffers"]["autoread_buffers"] and self.session.settings["sound"]["global_mute"] == False: + if self.name in self.session.settings["other_buffers"]["autoread_buffers"] and self.name not in self.session.settings["other_buffers"]["muted_buffers"] and self.session.settings["sound"]["session_mute"] == False: output.speak(" ".join(tweet)) def clear_list(self): diff --git a/src/controller/mainController.py b/src/controller/mainController.py index 1797b512..f1b50f29 100644 --- a/src/controller/mainController.py +++ b/src/controller/mainController.py @@ -899,7 +899,7 @@ class Controller(object): pass def notify(self, session, play_sound=None, message=None, notification=False): - if session.settings["sound"]["global_mute"] == True: return + if session.settings["sound"]["session_mute"] == True: return if play_sound != None: session.sound.play(play_sound) if message != None: @@ -1097,5 +1097,24 @@ class Controller(object): buffer.session.settings["other_buffers"]["autoread_buffers"].remove(buffer.name) output.speak(_(u"The auto-reading of new tweets is disabled for this buffer")) + def toggle_session_mute(self, *args, **kwargs): + buffer = self.get_best_buffer() + if buffer.session.settings["sound"]["session_mute"] == False: + buffer.session.settings["sound"]["session_mute"] = True + output.speak(_(u"Session mute on")) + elif buffer.session.settings["sound"]["session_mute"] == True: + buffer.session.settings["sound"]["session_mute"] = False + output.speak(_(u"Global mute off")) + + def toggle_buffer_mute(self, *args, **kwargs): + buffer = self.get_current_buffer() + if hasattr(buffer, "session") and buffer.session == None: return + if buffer.name not in buffer.session.settings["other_buffers"]["muted_buffers"]: + buffer.session.settings["other_buffers"]["muted_buffers"].append(buffer.name) + output.speak(_(u"Buffer mute on")) + elif buffer.name in buffer.session.settings["other_buffers"]["muted_buffers"]: + buffer.session.settings["other_buffers"]["muted_buffers"].remove(buffer.name) + output.speak(_(u"Buffer mute off")) + def __del__(self): config.app.write() \ No newline at end of file diff --git a/src/controller/settings.py b/src/controller/settings.py index 590f41e3..6a2fdb02 100644 --- a/src/controller/settings.py +++ b/src/controller/settings.py @@ -82,7 +82,7 @@ class accountSettingsController(globalSettingsController): self.dialog.set_value("sound", "volumeCtrl", self.config["sound"]["volume"]*100) self.dialog.set_value("sound", "input", self.config["sound"]["input_device"]) self.dialog.set_value("sound", "output", self.config["sound"]["output_device"]) - self.dialog.set_value("sound", "global_mute", self.config["sound"]["global_mute"]) + self.dialog.set_value("sound", "session_mute", self.config["sound"]["session_mute"]) self.dialog.set_value("sound", "soundpack", self.config["sound"]["current_soundpack"]) self.dialog.create_audio_services() if self.config["services"]["dropbox_token"] == "": @@ -135,7 +135,7 @@ class accountSettingsController(globalSettingsController): except: self.config["sound"]["output_device"] = "default" self.config["sound"]["volume"] = self.dialog.get_value("sound", "volumeCtrl")/100.0 - self.config["sound"]["global_mute"] = self.dialog.get_value("sound", "global_mute") + self.config["sound"]["session_mute"] = self.dialog.get_value("sound", "session_mute") self.config["sound"]["current_soundpack"] = self.dialog.sound.get("soundpack") self.buffer.session.sound.config = self.config["sound"] self.buffer.session.sound.check_soundpack() diff --git a/src/keystrokeEditor/constants.py b/src/keystrokeEditor/constants.py index 1bbc44d8..6373c4da 100644 --- a/src/keystrokeEditor/constants.py +++ b/src/keystrokeEditor/constants.py @@ -37,8 +37,8 @@ actions = { "copy_to_clipboard": _(u"Copy to clipboard"), "add_to_list": _(u"Add to list"), "remove_from_list": _(u"Remove from list"), -"toggle_mute": _(u"Mutes/unmutes the active buffer"), -"toggle_global_mute": _(u"Globally mute/unmute TW Blue"), +"toggle_buffer_mute": _(u"Mutes/unmutes the active buffer"), +"toggle_session_mute": _(u"Globally mute/unmute the current account in TWBlue"), "toggle_autoread": _(u"toggles the automatic reading of incoming tweets in the active buffer"), "search": _(u"Search on twitter"), "edit_keystrokes": _(u"Shows the keystroke editor"), diff --git a/src/sound.py b/src/sound.py index a9bc6aec..f96e9570 100644 --- a/src/sound.py +++ b/src/sound.py @@ -87,7 +87,7 @@ class soundSystem(object): def play(self, sound, argument=False): if self.soundpack_OK == False: return - if self.config["global_mute"] == True: return + if self.config["session_mute"] == True: return sound_object = sound_lib.stream.FileStream(file="%s/%s" % (self.path, sound)) sound_object.volume = float(self.config["volume"]) self.files.append(sound_object) diff --git a/src/wxUI/dialogs/configuration.py b/src/wxUI/dialogs/configuration.py index 90c805d2..905b4f43 100644 --- a/src/wxUI/dialogs/configuration.py +++ b/src/wxUI/dialogs/configuration.py @@ -111,8 +111,8 @@ class sound(wx.Panel): volumeBox.Add(volume, 0, wx.ALL, 5) volumeBox.Add(self.volumeCtrl, 0, wx.ALL, 5) sizer.Add(volumeBox, 0, wx.ALL, 5) - self.global_mute = wx.CheckBox(self, -1, _(u"Global mute")) - sizer.Add(self.global_mute, 0, wx.ALL, 5) + self.session_mute = wx.CheckBox(self, -1, _(u"Session mute")) + sizer.Add(self.session_mute, 0, wx.ALL, 5) output_label = wx.StaticText(self, -1, _(u"Output device")) self.output = wx.ComboBox(self, -1, choices=output_devices, style=wx.CB_READONLY) self.output.SetSize(self.output.GetBestSize()) diff --git a/src/wxUI/view.py b/src/wxUI/view.py index 5d985bc1..b0f1a2bd 100644 --- a/src/wxUI/view.py +++ b/src/wxUI/view.py @@ -62,11 +62,9 @@ class mainFrame(wx.Frame): buffer = wx.Menu() self.load_previous_items = buffer.Append(wx.NewId(), _(u"&Load previous items")) self.mute = buffer.Append(wx.NewId(), _(u"&Mute")) - self.mute.Enable(False) self.autoread = buffer.Append(wx.NewId(), _(u"&Autoread tweets for this buffer")) self.clear = buffer.Append(wx.NewId(), _(u"&Clear buffer")) self.deleteTl = buffer.Append(wx.NewId(), _(u"&Remove buffer")) -# self.deleteTl.Enable(False) # Help Menu help = wx.Menu()