def __init__(self, mainapp):
self._mainapp = mainapp
elements = (
"mainbox", "restart_button", "bars_spinbutton", "sensitivity_spinbutton", "framerate_spinbutton",
"lower_cutoff_freq_spinbutton", "higher_cutoff_freq_spinbutton", "gravity_spinbutton",
"integral_spinbutton", "ignore_spinbutton", "monstercat_switch", "autosens_switch", "style_combobox",
"eq_treeview",
)
super().__init__("cavaset.glade", elements)
# some gui constants
self.OUTPUT_STYLE = ("mono", "stereo")
self.EQ_STORE = AttributeDict(LABEL=0, VALUE=1)
# setup base elements
self.gui["restart_button"].connect("clicked", self.on_restart_button_click)
self.int_sp_buttons = (
("general", "framerate"), ("general", "bars"), ("general", "sensitivity"),
("general", "higher_cutoff_freq"), ("general", "lower_cutoff_freq"), ("smoothing", "ignore")
)
self.float_sp_buttons = (("smoothing", "integral"), ("smoothing", "gravity"))
self.bool_switches = (("smoothing", "monstercat"), ("general", "autosens"))
for section, key in self.int_sp_buttons + self.float_sp_buttons:
self.gui[key + "_spinbutton"].set_value(self._mainapp.cavaconfig[section][key])
for section, key in self.bool_switches:
self.gui[key + "_switch"].set_active(self._mainapp.cavaconfig[section][key])
self.gui["style_combobox"].set_active(self.OUTPUT_STYLE.index(self._mainapp.cavaconfig["output"]["style"]))
# setup equalizer
self.eq_store = Gtk.ListStore(str, float)
self.gui['renderer_spin'] = Gtk.CellRendererSpin(
digits=2, editable=True, adjustment=Gtk.Adjustment(1, 0.1, 1, 0.1, 0, 0)
)
self.gui['renderer_spin'].connect("edited", self.on_eq_edited)
column1 = Gtk.TreeViewColumn("Frequency Bands", Gtk.CellRendererText(), text=self.EQ_STORE.LABEL)
column1.set_expand(True)
column2 = Gtk.TreeViewColumn("Value", self.gui['renderer_spin'], text=self.EQ_STORE.VALUE)
column2.set_min_width(200)
self.gui['eq_treeview'].append_column(column1)
self.gui['eq_treeview'].append_column(column2)
self.gui['eq_treeview'].set_model(self.eq_store)
for i, value in enumerate(self._mainapp.cavaconfig["eq"]):
self.eq_store.append(["Frequency band %d" % (i + 1), value])
# gui handlers
评论列表
文章目录