cavaset.py 文件源码

python
阅读 21 收藏 0 点赞 0 评论 0

项目:cavalcade 作者: worron 项目源码 文件源码
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
评论列表
文章目录


问题


面经


文章

微信
公众号

扫码关注公众号