def __init__(self, sampling_rate): self.settings = Gio.Settings( 'com.github.wwmm.pulseeffects.sourceoutputs') PipelineBase.__init__(self, sampling_rate) self.module_path = os.path.dirname(__file__) self.log_tag = 'mic: ' self.settings = Gio.Settings( 'com.github.wwmm.pulseeffects.sourceoutputs') self.builder = Gtk.Builder() self.builder.add_from_file(self.module_path + '/ui/effects_box.glade') self.ui_window = self.builder.get_object('window') self.stack = self.builder.get_object('stack') self.limiter = Limiter(self.settings) self.compressor = Compressor(self.settings) self.reverb = Reverb(self.settings) self.highpass = Highpass(self.settings) self.lowpass = Lowpass(self.settings) self.equalizer = Equalizer(self.settings) # it makes no sense to show the calibration button here self.equalizer.ui_eq_calibrate_button.destroy() # adding effects widgets to the stack self.stack.add_titled(self.limiter.ui_window, 'Limiter', _('Input Limiter')) self.stack.add_titled(self.compressor.ui_window, 'Compressor', _('Compressor')) self.stack.add_titled(self.reverb.ui_window, 'Reverb', _('Reverberation')) self.stack.add_titled(self.highpass.ui_window, 'Highpass', _('High pass')) self.stack.add_titled(self.lowpass.ui_window, 'Lowpass', _('Low pass')) self.stack.add_titled(self.equalizer.ui_window, 'Equalizer', _('Equalizer')) # on/off switches connections self.limiter.ui_limiter_enable.connect('state-set', self.on_limiter_enable) self.compressor.ui_compressor_enable.connect('state-set', self.on_compressor_enable) self.reverb.ui_reverb_enable.connect('state-set', self.on_reverb_enable) self.highpass.ui_highpass_enable.connect('state-set', self.on_highpass_enable) self.lowpass.ui_lowpass_enable.connect('state-set', self.on_lowpass_enable) self.equalizer.ui_equalizer_enable.connect('state-set', self.on_equalizer_enable)
def __init__(self, sampling_rate): PipelineBase.__init__(self, sampling_rate) self.module_path = os.path.dirname(__file__) self.disable_app_level_meter = False self.there_is_window = False # [[idx, state], [idx, state],...] # state tells if the app wants the pipeline to be running self.apps_list = [] # app volume meter streams self.streams = dict() self.limiter = Limiter() self.compressor = Compressor() self.highpass = Highpass() self.lowpass = Lowpass() self.equalizer = Equalizer() self.reverb = Reverb() # effects wrappers self.limiter_wrapper = GstInsertBin.InsertBin.new('limiter_wrapper') self.compressor_wrapper = GstInsertBin.InsertBin.new( 'compressor_wrapper') self.highpass_wrapper = GstInsertBin.InsertBin.new('highpass_wrapper') self.lowpass_wrapper = GstInsertBin.InsertBin.new('lowpass_wrapper') self.equalizer_wrapper = GstInsertBin.InsertBin.new( 'equalizer_wrapper') self.reverb_wrapper = GstInsertBin.InsertBin.new('reverb_wrapper') self.spectrum_wrapper = GstInsertBin.InsertBin.new('spectrum_wrapper')
def __init__(self, sampling_rate, settings): PipelineBase.__init__(self, sampling_rate) self.module_path = os.path.dirname(__file__) self.settings = settings self.log_tag = str() self.builder = Gtk.Builder() self.builder.add_from_file(self.module_path + '/ui/effects_box.glade') self.ui_window = self.builder.get_object('window') self.listbox = self.builder.get_object('listbox') self.stack = self.builder.get_object('stack') self.listbox.connect('row-activated', self.on_listbox_row_activated) # listbox style provider = Gtk.CssProvider() css_file = Gio.File.new_for_path(self.module_path + '/ui/listbox.css') provider.load_from_file(css_file) Gtk.StyleContext.add_provider(self.listbox.get_style_context(), provider, Gtk.STYLE_PROVIDER_PRIORITY_APPLICATION) self.limiter = Limiter(self.settings) self.compressor = Compressor(self.settings) self.reverb = Reverb(self.settings) self.highpass = Highpass(self.settings) self.lowpass = Lowpass(self.settings) self.equalizer = Equalizer(self.settings) self.add_to_listbox('limiter') self.add_to_listbox('compressor') self.add_to_listbox('reverb') self.add_to_listbox('highpass') self.add_to_listbox('lowpass') self.add_to_listbox('equalizer') # on/off switches connections self.limiter.ui_limiter_enable.connect('state-set', self.on_limiter_enable)
def __init__(self, sampling_rate, settings): PipelineBase.__init__(self, sampling_rate) self.module_path = os.path.dirname(__file__) self.settings = settings self.log_tag = str() self.disable_app_level_meter = False self.there_is_window = False self.apps_list = [] self.limiter = Limiter(self.settings) self.compressor = Compressor(self.settings) self.reverb = Reverb(self.settings) self.highpass = Highpass(self.settings) self.lowpass = Lowpass(self.settings) self.equalizer = Equalizer(self.settings) # effects wrappers self.limiter_wrapper = GstInsertBin.InsertBin.new('limiter_wrapper') self.compressor_wrapper = GstInsertBin.InsertBin.new( 'compressor_wrapper') self.reverb_wrapper = GstInsertBin.InsertBin.new('reverb_wrapper') self.highpass_wrapper = GstInsertBin.InsertBin.new('highpass_wrapper') self.lowpass_wrapper = GstInsertBin.InsertBin.new('lowpass_wrapper') self.equalizer_wrapper = GstInsertBin.InsertBin.new( 'equalizer_wrapper') self.spectrum_wrapper = GstInsertBin.InsertBin.new('spectrum_wrapper') # appending effects wrappers to effects bin self.effects_bin.append(self.limiter_wrapper, self.on_filter_added, self.log_tag) self.effects_bin.append(self.compressor_wrapper, self.on_filter_added, self.log_tag) self.effects_bin.append(self.reverb_wrapper, self.on_filter_added, self.log_tag) self.effects_bin.append(self.highpass_wrapper, self.on_filter_added, self.log_tag) self.effects_bin.append(self.lowpass_wrapper, self.on_filter_added, self.log_tag) self.effects_bin.append(self.equalizer_wrapper, self.on_filter_added, self.log_tag) self.effects_bin.append(self.spectrum_wrapper, self.on_filter_added, self.log_tag)
def __init__(self, sampling_rate, settings): PipelineBase.__init__(self, sampling_rate) self.module_path = os.path.dirname(__file__) self.settings = settings self.log_tag = str() self.disable_app_level_meter = False self.builder = Gtk.Builder.new_from_file(self.module_path + '/ui/effects_box.glade') self.ui_window = self.builder.get_object('window') self.listbox = self.builder.get_object('listbox') self.stack = self.builder.get_object('stack') self.apps_box = self.builder.get_object('apps_box') # adding applications entry row = Gtk.ListBoxRow() row.set_name('applications') row.set_margin_top(6) row.set_margin_bottom(6) entry_label = Gtk.Label(_('<b>Applications</b>')) entry_label.set_halign(Gtk.Align.START) entry_label.set_use_markup(True) entry_label.set_ellipsize(Pango.EllipsizeMode.END) row.add(entry_label) self.listbox.add(row) self.listbox.connect('row-activated', self.on_listbox_row_activated) # listbox style provider = Gtk.CssProvider() css_file = Gio.File.new_for_path(self.module_path + '/ui/listbox.css') provider.load_from_file(css_file) Gtk.StyleContext.add_provider(self.listbox.get_style_context(), provider, Gtk.STYLE_PROVIDER_PRIORITY_APPLICATION) self.limiter = Limiter(self.settings) self.compressor = Compressor(self.settings) self.reverb = Reverb(self.settings) self.highpass = Highpass(self.settings) self.lowpass = Lowpass(self.settings) self.equalizer = Equalizer(self.settings) self.add_to_listbox('limiter') self.add_to_listbox('compressor') self.add_to_listbox('reverb') self.add_to_listbox('highpass') self.add_to_listbox('lowpass') self.add_to_listbox('equalizer') # on/off switches connections self.limiter.ui_limiter_enable.connect('state-set', self.on_limiter_enable) # effects wrappers self.limiter_wrapper = GstInsertBin.InsertBin.new('limiter_wrapper') self.compressor_wrapper = GstInsertBin.InsertBin.new( 'compressor_wrapper') self.reverb_wrapper = GstInsertBin.InsertBin.new('reverb_wrapper') self.highpass_wrapper = GstInsertBin.InsertBin.new('highpass_wrapper') self.lowpass_wrapper = GstInsertBin.InsertBin.new('lowpass_wrapper') self.equalizer_wrapper = GstInsertBin.InsertBin.new( 'equalizer_wrapper') self.spectrum_wrapper = GstInsertBin.InsertBin.new('spectrum_wrapper') # appending effects wrappers to effects bin self.effects_bin.append(self.limiter_wrapper, self.on_filter_added, self.log_tag) self.effects_bin.append(self.compressor_wrapper, self.on_filter_added, self.log_tag) self.effects_bin.append(self.reverb_wrapper, self.on_filter_added, self.log_tag) self.effects_bin.append(self.highpass_wrapper, self.on_filter_added, self.log_tag) self.effects_bin.append(self.lowpass_wrapper, self.on_filter_added, self.log_tag) self.effects_bin.append(self.equalizer_wrapper, self.on_filter_added, self.log_tag) self.effects_bin.append(self.spectrum_wrapper, self.on_filter_added, self.log_tag)