@@ -74,10 +74,11 @@ features = {} # non-channel plugins #working = [] # threads hooks = { "play": [], # observers queue here "record": [], + "switch": [], "init": [], "quit": [action.cleanup_tmp_files], "config_load": [], "config_save": [], } @@ -253,13 +254,15 @@ # Invoked from the menu instead, uses module name instead of numeric tab id def channel_switch_by_name(self, name): self.notebook_channels.set_current_page(self.channel_names.index(name)) # Mirror selected channel tab into main window title - def update_title(self): + def update_title(self, *x, **y): + meta = self.channel().meta if conf.window_title: - self.win_streamtuner2.set_title("Streamtuner2 - %s" % self.channel().meta.get("title")) + self.win_streamtuner2.set_title("Streamtuner2 - %s" % meta.get("title")) + [cb(meta) for cb in self.hooks["switch"]] # Channel: row{} dict for current station def row(self): return self.channel().row()