Dominique Leuenberger 2018-02-26 22:26:31 +00:00 committed by Git OBS Bridge
commit 26f0528b1e
12 changed files with 1410 additions and 173 deletions

View File

@ -0,0 +1,912 @@
--- a/usr/share/pulseaudio-equalizer/pulseaudio-equalizer.py
+++ b/usr/share/pulseaudio-equalizer/pulseaudio-equalizer.py
@@ -10,7 +10,7 @@
import pygtk
pygtk.require('2.0')
-import gtk, gobject
+import gtk as Gtk
import os
configdir = os.getenv('HOME') + "/.pulse"
@@ -21,288 +21,290 @@ presetdir1 = configdir + "/presets"
presetdir2 = "/usr/share/pulseaudio-equalizer/presets"
def GetSettings():
- global rawdata
- global rawpresets
- global ladspa_filename
- global ladspa_name
- global ladspa_label
- global preamp
- global num_ladspa_controls
- global ladspa_controls
- global ladspa_inputs
- global status
- global realstatus
- global persistence
- global preset
- global ranges
- global windowtitle
- global presetmatch
- global clearpreset
-
- print "Getting settings..."
-
- os.system('pulseaudio-equalizer interface.getsettings')
-
- f = open(eqconfig, "r")
- rawdata=f.read().split('\n')
- f.close()
-
- rawpresets = {}
- f = open(eqpresets, "r")
- rawpresets=f.read().split('\n')
- f.close()
- del rawpresets[len(rawpresets)-1]
-
- ladspa_filename = str(rawdata[0])
- ladspa_name = str(rawdata[1])
- ladspa_label = str(rawdata[2])
- preamp = (rawdata[3])
- preset = str(rawdata[4])
- status = int(rawdata[5])
- persistence = int(rawdata[6])
- ranges = rawdata[7:9]
- num_ladspa_controls = int(rawdata[9])
- ladspa_controls = rawdata[10:(10+num_ladspa_controls)]
- ladspa_inputs = rawdata[(10+num_ladspa_controls):(10+num_ladspa_controls)+(num_ladspa_controls)]
-
- if status == 1:
- realstatus = "Enabled"
- else:
- realstatus = "Disabled"
-
- windowtitle = "PulseAudio " + ladspa_label
-
- clearpreset = 1
- presetmatch = ''
- for i in range(len(rawpresets)):
- if rawpresets[i] == preset:
- print "Match!"
- presetmatch = 1
+ global rawdata
+ global rawpresets
+ global ladspa_filename
+ global ladspa_name
+ global ladspa_label
+ global preamp
+ global num_ladspa_controls
+ global ladspa_controls
+ global ladspa_inputs
+ global status
+ global realstatus
+ global persistence
+ global preset
+ global ranges
+ global windowtitle
+ global presetmatch
+ global clearpreset
+
+ print("Getting settings...")
+
+ os.system("pulseaudio-equalizer interface.getsettings")
+
+ f = open(eqconfig, "r")
+ rawdata=f.read().split("\n")
+ f.close()
+
+ rawpresets = {}
+ f = open(eqpresets, "r")
+ rawpresets=f.read().split("\n")
+ f.close()
+ del rawpresets[len(rawpresets)-1]
+
+ ladspa_filename = str(rawdata[0])
+ ladspa_name = str(rawdata[1])
+ ladspa_label = str(rawdata[2])
+ preamp = (rawdata[3])
+ preset = str(rawdata[4])
+ status = int(rawdata[5])
+ persistence = int(rawdata[6])
+ ranges = rawdata[7 : 9]
+ num_ladspa_controls = int(rawdata[9])
+ ladspa_controls = rawdata[10 : (10 + num_ladspa_controls)]
+ ladspa_inputs = rawdata[(10 + num_ladspa_controls) :
+ (10 + num_ladspa_controls) + (num_ladspa_controls)]
+
+ if status == 1:
+ realstatus = "Enabled"
+ else:
+ realstatus = "Disabled"
+
+ windowtitle = "PulseAudio " + ladspa_label
+
+ clearpreset = 1
+ presetmatch = ""
+ for i in range(len(rawpresets)):
+ if rawpresets[i] == preset:
+ print("Match!")
+ presetmatch = 1
def ApplySettings():
- print "Applying settings..."
- f = open(eqconfig, "w")
- del rawdata[:]
- rawdata.append(str(ladspa_filename))
- rawdata.append(str(ladspa_name))
- rawdata.append(str(ladspa_label))
- rawdata.append(str(preamp))
- rawdata.append(str(preset))
- rawdata.append(str(status))
- rawdata.append(str(persistence))
- for i in range(2):
- rawdata.append(str(ranges[i]))
- rawdata.append(str(num_ladspa_controls))
- for i in range(num_ladspa_controls):
- rawdata.append(str(ladspa_controls[i]))
- for i in range(num_ladspa_controls):
- rawdata.append(str(ladspa_inputs[i]))
-
- for i in rawdata:
- f.write(str(i)+'\n')
- f.close()
+ print("Applying settings...")
+ f = open(eqconfig, "w")
+ del rawdata[:]
+ rawdata.append(str(ladspa_filename))
+ rawdata.append(str(ladspa_name))
+ rawdata.append(str(ladspa_label))
+ rawdata.append(str(preamp))
+ rawdata.append(str(preset))
+ rawdata.append(str(status))
+ rawdata.append(str(persistence))
+ for i in range(2):
+ rawdata.append(str(ranges[i]))
+ rawdata.append(str(num_ladspa_controls))
+ for i in range(num_ladspa_controls):
+ rawdata.append(str(ladspa_controls[i]))
+ for i in range(num_ladspa_controls):
+ rawdata.append(str(ladspa_inputs[i]))
+
+ for i in rawdata:
+ f.write(str(i) + "\n")
+ f.close()
- os.system('pulseaudio-equalizer interface.applysettings')
+ os.system("pulseaudio-equalizer interface.applysettings")
def FormatLabels(x):
- global c
- global suffix
- global whitespace1
- global whitespace2
-
- whitespace1 = ""
- whitespace2 = ""
-
- current_input = int(ladspa_inputs[x-1])
- if current_input < 99:
- a = current_input
- suffix = "Hz"
- if current_input > 99 and current_input < 999:
- a = current_input
- suffix = "Hz"
- if current_input > 999 and current_input < 9999:
- a = float(current_input)/1000
- suffix = "KHz"
- if current_input > 9999:
- a = float(current_input)/1000
- suffix = "KHz"
-
- # Filter out unnecessary ".0" from ladspa_inputs
- b=str(a)
- if b[-2:] == ".0":
- c = b[:-2]
- else:
- c = b
-
- # Add whitespace formatting to ensure text is centered
- if len(c) == 3 and len(suffix) == 2:
- whitespace2 = " "
- if len(c) < 4 and len(suffix) == 3:
- whitespace1 = " "
- if len(c) < 2 and len(suffix) == 3:
- whitespace1 = " "
+ global c
+ global suffix
+ global whitespace1
+ global whitespace2
+
+ whitespace1 = ""
+ whitespace2 = ""
+
+ current_input = int(ladspa_inputs[x-1])
+ if current_input < 99:
+ a = current_input
+ suffix = "Hz"
+ if current_input > 99 and current_input < 999:
+ a = current_input
+ suffix = "Hz"
+ if current_input > 999 and current_input < 9999:
+ a = float(current_input) / 1000
+ suffix = "KHz"
+ if current_input > 9999:
+ a = float(current_input) / 1000
+ suffix = "KHz"
+
+ # Filter out unnecessary ".0" from ladspa_inputs
+ b=str(a)
+ if b[-2:] == ".0":
+ c = b[:-2]
+ else:
+ c = b
+
+ # Add whitespace formatting to ensure text is centered
+ if len(c) == 3 and len(suffix) == 2:
+ whitespace2 = " "
+ if len(c) < 4 and len(suffix) == 3:
+ whitespace1 = " "
+ if len(c) < 2 and len(suffix) == 3:
+ whitespace1 = " "
class Equalizer:
def on_scale(self, widget, y):
- global ladspa_controls
- global preset
- global clearpreset
- newvalue = float(round(widget.get_value(),1))
- del ladspa_controls[y-1]
- ladspa_controls.insert(y-1, newvalue)
- if clearpreset == 1:
- preset = ''
- presetsbox.get_child().set_text(preset)
- for i in range(1,num_ladspa_controls+1):
- self.scalevalues[i].set_markup("<small>" + str(float(ladspa_controls[i-1])) + "\ndB</small>")
+ global ladspa_controls
+ global preset
+ global clearpreset
+ newvalue = float(round(widget.get_value(), 1))
+ del ladspa_controls[y - 1]
+ ladspa_controls.insert(y - 1, newvalue)
+ if clearpreset == 1:
+ preset = ""
+ presetsbox.get_child().set_text(preset)
+ for i in range(1,num_ladspa_controls + 1):
+ self.scalevalues[i].set_markup("<small>" + str(float(ladspa_controls[i-1])) + "\ndB</small>")
def on_presetsbox(self, widget, x):
- global preset
- global presetmatch
- global clearpreset
- global ladspa_filename
- global ladspa_name
- global ladspa_label
- global preamp
- global num_ladspa_controls
- global ladspa_controls
- global ladspa_inputs
- global windowtitle
- preset = presetsbox.get_child().get_text()
-
- presetmatch = ''
- for i in range(len(rawpresets)):
- if rawpresets[i] == preset:
- print "Match!"
- presetmatch = 1
-
- if presetmatch == 1:
- if os.path.isfile(presetdir1 + "/" + preset + ".preset"):
- f = open(presetdir1 + "/" + preset + ".preset", "r")
- rawdata=f.read().split('\n')
- else:
- f = open(presetdir2 + "/" + preset + ".preset", "r")
- rawdata=f.read().split('\n')
- f.close
-
- ladspa_filename = str(rawdata[0])
- ladspa_name = str(rawdata[1])
- ladspa_label = str(rawdata[2])
- #preamp = (rawdata[3])
- preset = str(rawdata[4])
- num_ladspa_controls = int(rawdata[5])
- ladspa_controls = rawdata[6:(6+num_ladspa_controls)]
- ladspa_inputs = rawdata[(6+num_ladspa_controls):(6+num_ladspa_controls)+(num_ladspa_controls)]
-
- preampscale.set_value(float(preamp))
- preampscalevalue.set_markup(str(preampscale.get_value()) + "x")
- windowtitle = "PulseAudio " + ladspa_label
- self.window.set_title(windowtitle + " [" + realstatus + "]")
- clearpreset = ''
- for i in range(1,num_ladspa_controls+1):
- self.scales[i].set_value(float(ladspa_controls[i-1]))
- FormatLabels(i)
- self.labels[i].set_markup("<small>" + whitespace1 + c + "\n" + whitespace2 + suffix + "</small>")
- self.scalevalues[i].set_markup("<small>" + str(float(ladspa_controls[i-1])) + "\ndB</small>")
- # Set preset again due to interference from scale modifications
- preset = str(rawdata[4])
- clearpreset = 1
- presetsbox.get_child().set_text(preset)
- ApplySettings()
+ global preset
+ global presetmatch
+ global clearpreset
+ global ladspa_filename
+ global ladspa_name
+ global ladspa_label
+ global preamp
+ global num_ladspa_controls
+ global ladspa_controls
+ global ladspa_inputs
+ global windowtitle
+ preset = presetsbox.get_child().get_text()
+
+ presetmatch = ""
+ for i in range(len(rawpresets)):
+ if rawpresets[i] == preset:
+ print("Match!")
+ presetmatch = 1
+
+ if presetmatch == 1:
+ if os.path.isfile(presetdir1 + "/" + preset + ".preset"):
+ f = open(presetdir1 + "/" + preset + ".preset", "r")
+ rawdata=f.read().split("\n")
+ else:
+ f = open(presetdir2 + "/" + preset + ".preset", "r")
+ rawdata=f.read().split("\n")
+ f.close
+
+ ladspa_filename = str(rawdata[0])
+ ladspa_name = str(rawdata[1])
+ ladspa_label = str(rawdata[2])
+ #preamp = (rawdata[3])
+ preset = str(rawdata[4])
+ num_ladspa_controls = int(rawdata[5])
+ ladspa_controls = rawdata[6 : (6 + num_ladspa_controls)]
+ ladspa_inputs = rawdata[(6 + num_ladspa_controls) :
+ (6 + num_ladspa_controls) + (num_ladspa_controls)]
+
+ preampscale.set_value(float(preamp))
+ preampscalevalue.set_markup(str(preampscale.get_value()) + "x")
+ windowtitle = "PulseAudio " + ladspa_label
+ self.window.set_title(windowtitle + " [" + realstatus + "]")
+ clearpreset = ""
+ for i in range(1,num_ladspa_controls + 1):
+ self.scales[i].set_value(float(ladspa_controls[i - 1]))
+ FormatLabels(i)
+ self.labels[i].set_markup("<small>" + whitespace1 + c + "\n" + whitespace2 + suffix + "</small>")
+ self.scalevalues[i].set_markup("<small>" + str(float(ladspa_controls[i-1])) + "\ndB</small>")
+ # Set preset again due to interference from scale modifications
+ preset = str(rawdata[4])
+ clearpreset = 1
+ presetsbox.get_child().set_text(preset)
+ ApplySettings()
def on_applysettings(self, widget):
- ApplySettings()
+ ApplySettings()
def on_resetsettings(self, widget):
- print "Resetting to defaults..."
- os.system('pulseaudio-equalizer interface.resetsettings')
- GetSettings()
-
- eqenabled.set_active(status)
- keepsettings.set_active(persistence)
- presetsbox.get_child().set_text(preset)
- preampscale.set_value(float(preamp))
- for i in range(1,num_ladspa_controls+1):
- self.scales[i].set_value(float(ladspa_controls[i-1]))
- FormatLabels(i)
- self.labels[i].set_markup("<small>" + whitespace1 + c + "\n" + whitespace2 + suffix + "</small>")
- self.scalevalues[i].set_markup("<small>" + str(float(ladspa_controls[i-1])) + "\ndB</small>")
+ print("Resetting to defaults...")
+ os.system("pulseaudio-equalizer interface.resetsettings")
+ GetSettings()
+
+ eqenabled.set_active(status)
+ keepsettings.set_active(persistence)
+ presetsbox.get_child().set_text(preset)
+ preampscale.set_value(float(preamp))
+ for i in range(1, num_ladspa_controls+1):
+ self.scales[i].set_value(float(ladspa_controls[i-1]))
+ FormatLabels(i)
+ self.labels[i].set_markup("<small>" + whitespace1 + c + "\n" + whitespace2 + suffix + "</small>")
+ self.scalevalues[i].set_markup("<small>" + str(float(ladspa_controls[i-1])) + "\ndB</small>")
def on_savepreset(self, widget):
- global preset
- global presetmatch
- preset = presetsbox.get_child().get_text()
- if preset == '' or presetmatch == 1:
- print 'Invalid preset name'
- else:
- f = open(presetdir1 + "/" + preset + ".preset", "w")
-
- del rawdata[:]
- rawdata.append(str(ladspa_filename))
- rawdata.append(str(ladspa_name))
- rawdata.append(str(ladspa_label))
- rawdata.append(str(preamp))
- rawdata.append(str(preset))
- rawdata.append(str(num_ladspa_controls))
- for i in range(num_ladspa_controls):
- rawdata.append(str(ladspa_controls[i]))
- for i in range(num_ladspa_controls):
- rawdata.append(str(ladspa_inputs[i]))
-
- for i in rawdata:
- f.write(str(i)+'\n')
- f.close()
-
- # Clear preset list from ComboBox
- for i in range(len(rawpresets)):
- presetsbox.remove_text(0)
-
- # Apply settings (which will save new preset as default)
- ApplySettings()
-
- # Refresh (and therefore, sort) preset list
- GetSettings()
-
- # Repopulate preset list into ComboBox
- for i in range(len(rawpresets)):
- presetsbox.append_text(rawpresets[i])
+ global preset
+ global presetmatch
+ preset = presetsbox.get_child().get_text()
+ if preset == "" or presetmatch == 1:
+ print("Invalid preset name")
+ else:
+ f = open(presetdir1 + "/" + preset + ".preset", "w")
+
+ del rawdata[:]
+ rawdata.append(str(ladspa_filename))
+ rawdata.append(str(ladspa_name))
+ rawdata.append(str(ladspa_label))
+ rawdata.append(str(preamp))
+ rawdata.append(str(preset))
+ rawdata.append(str(num_ladspa_controls))
+ for i in range(num_ladspa_controls):
+ rawdata.append(str(ladspa_controls[i]))
+ for i in range(num_ladspa_controls):
+ rawdata.append(str(ladspa_inputs[i]))
+
+ for i in rawdata:
+ f.write(str(i) + "\n")
+ f.close()
+
+ # Clear preset list from ComboBox
+ for i in range(len(rawpresets)):
+ presetsbox.remove_text(0)
+
+ # Apply settings (which will save new preset as default)
+ ApplySettings()
+
+ # Refresh (and therefore, sort) preset list
+ GetSettings()
+
+ # Repopulate preset list into ComboBox
+ for i in range(len(rawpresets)):
+ presetsbox.append_text(rawpresets[i])
def on_preampscale(self, widget):
- global preamp
- preamp = float(round(widget.get_value(),1))
- preampscalevalue.set_markup(str(preamp) + "x")
- #preset = ''
- #presetsbox.get_child().set_text(preset)
+ global preamp
+ preamp = float(round(widget.get_value(), 1))
+ preampscalevalue.set_markup(str(preamp) + "x")
+ #preset = ""
+ #presetsbox.get_child().set_text(preset)
def on_eqenabled(self, widget):
- global status
+ global status
if widget.get_active():
- self.window.set_title(windowtitle + " [Enabled]")
- status = 1
+ self.window.set_title(windowtitle + " [Enabled]")
+ status = 1
else:
- self.window.set_title(windowtitle + " [Disabled]")
- status = 0
- ApplySettings()
+ self.window.set_title(windowtitle + " [Disabled]")
+ status = 0
+ ApplySettings()
def on_keepsettings(self, widget):
- global persistence
+ global persistence
if widget.get_active():
- persistence = 1
+ persistence = 1
else:
- persistence = 0
- ApplySettings()
+ persistence = 0
+ ApplySettings()
def on_removepreset(self,widget):
- global preset
+ global preset
global presets
- dialog = gtk.FileChooserDialog("Choose preset to remove...",
+ dialog = Gtk.FileChooserDialog("Choose preset to remove...",
None,
- gtk.FILE_CHOOSER_ACTION_OPEN,
- (gtk.STOCK_CANCEL, gtk.RESPONSE_CANCEL,
- gtk.STOCK_OK, gtk.RESPONSE_OK))
- dialog.set_default_response(gtk.RESPONSE_OK)
+ Gtk.FILE_CHOOSER_ACTION_OPEN,
+ (Gtk.STOCK_CANCEL, Gtk.RESPONSE_CANCEL,
+ Gtk.STOCK_OK, Gtk.RESPONSE_OK))
+ dialog.set_default_response(Gtk.RESPONSE_OK)
- filter = gtk.FileFilter()
+ filter = Gtk.FileFilter()
filter.set_name("Preset files")
filter.add_pattern("*.preset")
dialog.add_filter(filter)
@@ -310,209 +312,209 @@ class Equalizer:
dialog.show()
response = dialog.run()
- if response == gtk.RESPONSE_OK:
- filename = dialog.get_filename()
- path_and_name = os.path.split(filename)
- name = path_and_name[1]
- os.remove(filename)
-
- # Make a note of the current preset, then clear it temporarily
- preset = presetsbox.get_child().get_text()
- realpreset = preset
- preset = ''
- presetsbox.get_child().set_text('')
-
- # Clear preset list from ComboBox
- for i in range(len(rawpresets)):
- presetsbox.remove_text(0)
-
- # Refresh (and therefore, sort) preset list
- GetSettings()
-
- # Clear preset (if it is the same as removed preset), or restore preset
- if (presetdir1 + "/" + preset + ".preset") == filename:
- preset = ''
- else:
- preset = realpreset
-
- # Restore preset
- presetsbox.get_child().set_text(preset)
-
- # Repopulate preset list into ComboBox
- for i in range(len(rawpresets)):
- presetsbox.append_text(rawpresets[i])
+ if response == Gtk.RESPONSE_OK:
+ filename = dialog.get_filename()
+ path_and_name = os.path.split(filename)
+ name = path_and_name[1]
+ os.remove(filename)
+
+ # Make a note of the current preset, then clear it temporarily
+ preset = presetsbox.get_child().get_text()
+ realpreset = preset
+ preset = ""
+ presetsbox.get_child().set_text("")
+
+ # Clear preset list from ComboBox
+ for i in range(len(rawpresets)):
+ presetsbox.remove_text(0)
+
+ # Refresh (and therefore, sort) preset list
+ GetSettings()
+
+ # Clear preset (if it is the same as removed preset), or restore preset
+ if (presetdir1 + "/" + preset + ".preset") == filename:
+ preset = ""
+ else:
+ preset = realpreset
+
+ # Restore preset
+ presetsbox.get_child().set_text(preset)
+
+ # Repopulate preset list into ComboBox
+ for i in range(len(rawpresets)):
+ presetsbox.append_text(rawpresets[i])
- # Apply settings
- ApplySettings()
+ # Apply settings
+ ApplySettings()
dialog.destroy()
def destroy_equalizer(self, widget, data=None):
- gtk.main_quit()
+ Gtk.main_quit()
def __init__(self):
- GetSettings()
+ GetSettings()
- self.window = gtk.Window(gtk.WINDOW_TOPLEVEL)
+ self.window = Gtk.Window(Gtk.WINDOW_TOPLEVEL)
self.window.set_resizable(True)
self.window.connect("destroy", self.destroy_equalizer)
self.window.set_title(windowtitle + " [" + realstatus + "]")
self.window.set_border_width(0)
- icon = self.window.set_icon_from_file("/usr/share/icons/hicolor/scalable/apps/multimedia-volume-control.svg")
+ icon = self.window.set_icon_from_file("/usr/share/icons/hicolor/scalable/apps/multimedia-volume-control.svg")
- menu = gtk.Menu()
+ menu = Gtk.Menu()
- menu_item = gtk.MenuItem('Reset to defaults')
+ menu_item = Gtk.MenuItem("Reset to defaults")
menu_item.connect("activate", self.on_resetsettings)
- menu.append(menu_item)
- menu_item.show()
- menu_item = gtk.MenuItem('Remove user preset...')
- menu_item.connect("activate", self.on_removepreset)
menu.append(menu_item)
- menu_item.show()
- root_menu = gtk.MenuItem("Advanced")
+ menu_item.show()
+ menu_item = Gtk.MenuItem("Remove user preset...")
+ menu_item.connect("activate", self.on_removepreset)
+ menu.append(menu_item)
+ menu_item.show()
+ root_menu = Gtk.MenuItem("Advanced")
root_menu.show()
root_menu.set_submenu(menu)
- vbox1 = gtk.VBox(False, 0)
+ vbox1 = Gtk.VBox(False, 0)
self.window.add(vbox1)
vbox1.show()
- menu_bar = gtk.MenuBar()
+ menu_bar = Gtk.MenuBar()
vbox1.pack_start(menu_bar, False, False, 2)
menu_bar.show()
menu_bar.append (root_menu)
- hbox1 = gtk.HBox(False, 1)
+ hbox1 = Gtk.HBox(False, 1)
#hbox1.set_border_width(10)
vbox1.add(hbox1)
hbox1.show()
- table = gtk.Table(3, 17, False)
+ table = Gtk.Table(3, 17, False)
table.set_border_width(5)
hbox1.add(table)
- # Preamp widget
- global preampscale
- global preampscalevalue
- preampscale = gtk.VScale()
- preampscale.set_draw_value(0)
- preampscale.set_inverted(1)
- preampscale.set_value_pos(gtk.POS_BOTTOM)
- preampscale.set_range(0.0,2.0)
- preampscale.set_increments(1, 0.1)
- preampscale.set_digits(1)
- preampscale.set_size_request(35,200)
- preampscale.set_value(float(preamp))
- preampscale.connect("value-changed", self.on_preampscale)
- label = gtk.Label()
- label.set_markup("<small>Preamp</small>")
- preampscalevalue = gtk.Label()
- preampscalevalue.set_markup(str(preampscale.get_value()) + "x")
- table.attach(label, 1, 2, 0, 1)
- table.attach(preampscale, 1, 2, 1, 2)
- table.attach(preampscalevalue, 1, 2, 2, 3)
- label.show()
- preampscale.show()
- preampscalevalue.show()
-
- # Separator between preamp and bands
- separator = gtk.VSeparator()
- table.attach(separator, 2, 3, 1, 2)
- separator.show()
-
- # Equalizer bands
- global scale
- self.scales = {}
- self.labels = {}
- self.scalevalues = {}
- for x in range(1,num_ladspa_controls+1):
- scale = gtk.VScale()
- self.scales[x] = scale
- scale.set_draw_value(0)
- scale.set_inverted(1)
- scale.set_value_pos(gtk.POS_BOTTOM)
- scale.set_range(float(ranges[0]), float(ranges[1]))
- scale.set_increments(1, 0.1)
- scale.set_digits(1)
- scale.set_size_request(35,200)
- scale.set_value(float(ladspa_controls[x-1]))
- scale.connect("value-changed", self.on_scale, x)
- FormatLabels(x)
- label = gtk.Label()
- self.labels[x] = label
- label.set_markup("<small>" + whitespace1 + c + "\n" + whitespace2 + suffix + "</small>")
- scalevalue = gtk.Label()
- self.scalevalues[x] = scalevalue
- scalevalue.set_markup("<small>" + str(scale.get_value()) + "\ndB</small>")
- table.attach(label, x+2, x+3, 0, 1)
- table.attach(scale, x+2, x+3, 1, 2)
- table.attach(scalevalue, x+2, x+3, 2, 3)
- label.show()
- scale.show()
- scalevalue.show()
+ # Preamp widget
+ global preampscale
+ global preampscalevalue
+ preampscale = Gtk.VScale()
+ preampscale.set_draw_value(0)
+ preampscale.set_inverted(1)
+ preampscale.set_value_pos(Gtk.POS_BOTTOM)
+ preampscale.set_range(0.0, 2.0)
+ preampscale.set_increments(1, 0.1)
+ preampscale.set_digits(1)
+ preampscale.set_size_request(35, 200)
+ preampscale.set_value(float(preamp))
+ preampscale.connect("value-changed", self.on_preampscale)
+ label = Gtk.Label()
+ label.set_markup("<small>Preamp</small>")
+ preampscalevalue = Gtk.Label()
+ preampscalevalue.set_markup(str(preampscale.get_value()) + "x")
+ table.attach(label, 1, 2, 0, 1)
+ table.attach(preampscale, 1, 2, 1, 2)
+ table.attach(preampscalevalue, 1, 2, 2, 3)
+ label.show()
+ preampscale.show()
+ preampscalevalue.show()
+
+ # Separator between preamp and bands
+ separator = Gtk.VSeparator()
+ table.attach(separator, 2, 3, 1, 2)
+ separator.show()
+
+ # Equalizer bands
+ global scale
+ self.scales = {}
+ self.labels = {}
+ self.scalevalues = {}
+ for x in range(1,num_ladspa_controls+1):
+ scale = Gtk.VScale()
+ self.scales[x] = scale
+ scale.set_draw_value(0)
+ scale.set_inverted(1)
+ scale.set_value_pos(Gtk.POS_BOTTOM)
+ scale.set_range(float(ranges[0]), float(ranges[1]))
+ scale.set_increments(1, 0.1)
+ scale.set_digits(1)
+ scale.set_size_request(35, 200)
+ scale.set_value(float(ladspa_controls[x - 1]))
+ scale.connect("value-changed", self.on_scale, x)
+ FormatLabels(x)
+ label = Gtk.Label()
+ self.labels[x] = label
+ label.set_markup("<small>" + whitespace1 + c + "\n" + whitespace2 + suffix + "</small>")
+ scalevalue = Gtk.Label()
+ self.scalevalues[x] = scalevalue
+ scalevalue.set_markup("<small>" + str(scale.get_value()) + "\ndB</small>")
+ table.attach(label, x + 2, x + 3, 0, 1)
+ table.attach(scale, x + 2, x + 3, 1, 2)
+ table.attach(scalevalue, x + 2, x + 3, 2, 3)
+ label.show()
+ scale.show()
+ scalevalue.show()
- table.show()
+ table.show()
- vbox2 = gtk.VBox(True, 1)
+ vbox2 = Gtk.VBox(True, 1)
vbox2.set_border_width(10)
hbox1.add(vbox2)
vbox2.show()
- presetslabel = gtk.Label()
- presetslabel.set_markup("<small>Preset:</small>")
- vbox2.pack_start(presetslabel, False, False, 0)
- presetslabel.show()
-
- global presetsbox
- presetsbox = gtk.combo_box_entry_new_text()
- vbox2.pack_start(presetsbox, False, False, 0)
- presetsbox.get_child().set_text(preset)
- for i in range(len(rawpresets)):
- presetsbox.append_text(rawpresets[i])
+ presetslabel = Gtk.Label()
+ presetslabel.set_markup("<small>Preset:</small>")
+ vbox2.pack_start(presetslabel, False, False, 0)
+ presetslabel.show()
+
+ global presetsbox
+ presetsbox = Gtk.combo_box_entry_new_text()
+ vbox2.pack_start(presetsbox, False, False, 0)
+ presetsbox.get_child().set_text(preset)
+ for i in range(len(rawpresets)):
+ presetsbox.append_text(rawpresets[i])
presetsbox.connect("changed", self.on_presetsbox, x)
- presetsbox.show()
+ presetsbox.show()
- savepreset = gtk.Button('Save Preset')
- vbox2.pack_start(savepreset, False, False, 0)
+ savepreset = Gtk.Button("Save Preset")
+ vbox2.pack_start(savepreset, False, False, 0)
savepreset.connect("clicked", self.on_savepreset)
- savepreset.show()
+ savepreset.show()
- global eqenabled
- eqenabled = gtk.CheckButton("EQ Enabled")
+ global eqenabled
+ eqenabled = Gtk.CheckButton("EQ Enabled")
eqenabled.set_active(status)
- eqenabled.unset_flags(gtk.CAN_FOCUS)
+ eqenabled.unset_flags(Gtk.CAN_FOCUS)
eqenabled.connect("clicked", self.on_eqenabled)
- vbox2.pack_start(eqenabled, False, False, 0)
- eqenabled.show()
+ vbox2.pack_start(eqenabled, False, False, 0)
+ eqenabled.show()
- global keepsettings
- keepsettings = gtk.CheckButton('Keep Settings')
- keepsettings.set_active(persistence)
- keepsettings.unset_flags(gtk.CAN_FOCUS)
+ global keepsettings
+ keepsettings = Gtk.CheckButton("Keep Settings")
+ keepsettings.set_active(persistence)
+ keepsettings.unset_flags(Gtk.CAN_FOCUS)
keepsettings.connect("clicked", self.on_keepsettings)
- vbox2.pack_start(keepsettings, False, False, 0)
- keepsettings.show()
+ vbox2.pack_start(keepsettings, False, False, 0)
+ keepsettings.show()
- applysettings = gtk.Button('Apply Settings')
- vbox2.pack_start(applysettings, False, False, 0)
+ applysettings = Gtk.Button("Apply Settings")
+ vbox2.pack_start(applysettings, False, False, 0)
applysettings.connect("clicked", self.on_applysettings)
- applysettings.show()
+ applysettings.show()
- quitbutton = gtk.Button('Quit')
- vbox2.pack_start(quitbutton, False, False, 0)
- quitbutton.connect("clicked", lambda w: gtk.main_quit())
- quitbutton.show()
-
- separator = gtk.HSeparator()
- vbox2.pack_start(separator, False, False, 0)
- separator.set_size_request(100, 10)
- #separator.show()
+ quitbutton = Gtk.Button("Quit")
+ vbox2.pack_start(quitbutton, False, False, 0)
+ quitbutton.connect("clicked", lambda w: Gtk.main_quit())
+ quitbutton.show()
+
+ separator = Gtk.HSeparator()
+ vbox2.pack_start(separator, False, False, 0)
+ separator.set_size_request(100, 10)
+ #separator.show()
self.window.show()
def main():
- gtk.main()
+ Gtk.main()
return 0
if __name__ == "__main__":

View File

@ -1,42 +1,56 @@
--- pulseaudio-equalizer.orig/usr/bin/pulseaudio-equalizer 2013-10-24 10:23:27.000000000 +0000 --- a/usr/bin/pulseaudio-equalizer
+++ pulseaudio-equalizer/usr/bin/pulseaudio-equalizer 2013-10-24 10:53:48.000000000 +0000 +++ b/usr/bin/pulseaudio-equalizer
@@ -18,11 +18,11 @@ @@ -18,12 +18,17 @@ PA_CONTROL_MAX="30"
PA_PREAMP="1.0" PA_PREAMP="1.0"
PA_CURRENT_PRESET="" PA_CURRENT_PRESET=""
-PRESET_DIR1=$HOME/.pulse/presets -PRESET_DIR1=$HOME/.pulse/presets
+PRESET_DIR1=$HOME/.config/pulse/presets +if [ -z "$XDG_CONFIG_HOME" ]; then
+ CONFIG_DIR="$HOME/.config/pulse"
+else
+ CONFIG_DIR="$XDG_CONFIG_HOME/pulse"
+fi
+PRESET_DIR1="$CONFIG_DIR/presets"
PRESET_DIR2=/usr/share/pulseaudio-equalizer/presets PRESET_DIR2=/usr/share/pulseaudio-equalizer/presets
SCRIPT_NAME=pulseaudio-equalizer SCRIPT_NAME=pulseaudio-equalizer
SCRIPT_VERSION="2.7 (05/02/2010)" SCRIPT_VERSION="2.7 (05/02/2010)"
-CONFIG_NAME=$HOME/.pulse/equalizerrc -CONFIG_NAME=$HOME/.pulse/equalizerrc
+CONFIG_NAME=$HOME/.config/pulse/equalizerrc -LOG_NAME=$HOME/Desktop/pulseaudio-equalizer.log
LOG_NAME=$HOME/Desktop/pulseaudio-equalizer.log +CONFIG_NAME="$CONFIG_DIR/equalizerrc"
+LOG_NAME="$HOME/pulseaudio-equalizer.log"
# Don't execute the script with elevated privileges # Don't execute the script with elevated privileges
@@ -125,8 +125,8 @@ if [[ ! $EUID -ne 0 ]]; then
@@ -125,12 +130,12 @@ else
fi fi
# Check if equalizer is set as persistent # Check if equalizer is set as persistent
-if [ -f $HOME/.pulse/default.pa ]; then -if [ -f $HOME/.pulse/default.pa ]; then
- if [ "$(cat $HOME/.pulse/default.pa | grep -m1 "### BEGIN: Equalized audio configuration")" = "### BEGIN: Equalized audio configuration" ]; then - if [ "$(cat $HOME/.pulse/default.pa | grep -m1 "### BEGIN: Equalized audio configuration")" = "### BEGIN: Equalized audio configuration" ]; then
+if [ -f $HOME/.config/pulse/default.pa ]; then - PA_EQUALIZER_PERSISTENCE=1
+ if [ "$(cat $HOME/.config/pulse/default.pa | grep -m1 "### BEGIN: Equalized audio configuration")" = "### BEGIN: Equalized audio configuration" ]; then - fi
PA_EQUALIZER_PERSISTENCE=1 +if [ -f "$CONFIG_DIR/default.pa" ]; then
fi + if [ "$(cat "$CONFIG_DIR/default.pa" | grep -m1 "### BEGIN: Equalized audio configuration")" = "### BEGIN: Equalized audio configuration" ]; then
+ PA_EQUALIZER_PERSISTENCE=1
+ fi
else else
@@ -204,8 +204,8 @@ - PA_EQUALIZER_PERSISTENCE=0
+ PA_EQUALIZER_PERSISTENCE=0
fi
# DEBUG
@@ -204,8 +209,8 @@ if [ "$1" = "log" ]; then
echo PA_PREAMP=$PA_PREAMP echo PA_PREAMP=$PA_PREAMP
echo PA_REAL_PREAMP=$PA_REAL_PREAMP echo PA_REAL_PREAMP=$PA_REAL_PREAMP
- if [ -f $HOME/.pulse/default.pa ]; then - if [ -f $HOME/.pulse/default.pa ]; then
- tail -n7 $HOME/.pulse/default.pa - tail -n7 $HOME/.pulse/default.pa
+ if [ -f $HOME/.config/pulse/default.pa ]; then + if [ -f "$CONFIG_DIR/default.pa" ]; then
+ tail -n7 $HOME/.config/pulse/default.pa + tail -n7 "$CONFIG_DIR/default.pa"
fi fi
echo "---" echo "---"
@@ -253,24 +253,24 @@ @@ -253,24 +258,24 @@ if [ "$1" = "enable-config" ]; then
echo "-------------------------------------" echo "-------------------------------------"
# If equalizer configuration is already set, delete file # If equalizer configuration is already set, delete file
@ -44,10 +58,10 @@
- if [ "$(cat $HOME/.pulse/default.pa | grep -m1 "### BEGIN: Equalized audio configuration")" = "### BEGIN: Equalized audio configuration" ]; then - if [ "$(cat $HOME/.pulse/default.pa | grep -m1 "### BEGIN: Equalized audio configuration")" = "### BEGIN: Equalized audio configuration" ]; then
- echo "Equalizer definition detected in file '$HOME/.pulse/default.pa', deleting..." - echo "Equalizer definition detected in file '$HOME/.pulse/default.pa', deleting..."
- rm $HOME/.pulse/default.pa - rm $HOME/.pulse/default.pa
+ if [ -f $HOME/.config/pulse/default.pa ]; then + if [ -f "$CONFIG_DIR/default.pa" ]; then
+ if [ "$(cat $HOME/.config/pulse/default.pa | grep -m1 "### BEGIN: Equalized audio configuration")" = "### BEGIN: Equalized audio configuration" ]; then + if [ "$(cat "$CONFIG_DIR/default.pa" | grep -m1 "### BEGIN: Equalized audio configuration")" = "### BEGIN: Equalized audio configuration" ]; then
+ echo "Equalizer definition detected in file '$HOME/.config/pulse/default.pa', deleting..." + echo "Equalizer definition detected in file '$CONFIG_DIR/default.pa', deleting..."
+ rm $HOME/.config/pulse/default.pa + rm "$CONFIG_DIR/default.pa"
fi fi
fi fi
@ -56,61 +70,61 @@
- echo "Found '$HOME/.pulse/default.pa', making a copy..." - echo "Found '$HOME/.pulse/default.pa', making a copy..."
- cp $HOME/.pulse/default.pa $HOME/.pulse/default.pa.noeq - cp $HOME/.pulse/default.pa $HOME/.pulse/default.pa.noeq
- CFG_SOURCE_FILE="$HOME/.pulse/default.pa.noeq" - CFG_SOURCE_FILE="$HOME/.pulse/default.pa.noeq"
+ if [ -f $HOME/.config/pulse/default.pa ]; then + if [ -f "$CONFIG_DIR/default.pa" ]; then
+ echo "Found '$HOME/.config/pulse/default.pa', making a copy..." + echo "Found '$CONFIG_DIR/default.pa', making a copy..."
+ cp $HOME/.config/pulse/default.pa $HOME/.config/pulse/default.pa.noeq + cp "$CONFIG_DIR/default.pa" "$CONFIG_DIR/default.pa.noeq"
+ CFG_SOURCE_FILE="$HOME/.config/pulse/default.pa.noeq" + CFG_SOURCE_FILE="$CONFIG_DIR/default.pa.noeq"
fi fi
# Decide which file to use as the configuration source # Decide which file to use as the configuration source
- if [ -f $HOME/.pulse/default.pa.noeq ]; then - if [ -f $HOME/.pulse/default.pa.noeq ]; then
- echo "Found '$HOME/.pulse/default.pa.noeq'..." - echo "Found '$HOME/.pulse/default.pa.noeq'..."
- CFG_SOURCE_FILE="$HOME/.pulse/default.pa.noeq" - CFG_SOURCE_FILE="$HOME/.pulse/default.pa.noeq"
+ if [ -f $HOME/.config/pulse/default.pa.noeq ]; then + if [ -f "$CONFIG_DIR/default.pa.noeq" ]; then
+ echo "Found '$HOME/.config/pulse/default.pa.noeq'..." + echo "Found '$CONFIG_DIR/default.pa.noeq'..."
+ CFG_SOURCE_FILE="$HOME/.config/pulse/default.pa.noeq" + CFG_SOURCE_FILE="$CONFIG_DIR/default.pa.noeq"
else else
CFG_SOURCE_FILE="/etc/pulse/default.pa" CFG_SOURCE_FILE="/etc/pulse/default.pa"
fi fi
@@ -278,19 +278,19 @@ @@ -278,19 +283,19 @@ if [ "$1" = "enable-config" ]; then
echo "Using configuration file '$CFG_SOURCE_FILE' as source..." echo "Using configuration file '$CFG_SOURCE_FILE' as source..."
# Modify module-stream-restore line to disable cached sinks # Modify module-stream-restore line to disable cached sinks
- cat $CFG_SOURCE_FILE | sed 's/load-module module-stream-restore/load-module module-stream-restore restore_device=false/g' >$HOME/.pulse/default.pa - cat $CFG_SOURCE_FILE | sed 's/load-module module-stream-restore/load-module module-stream-restore restore_device=false/g' >$HOME/.pulse/default.pa
+ cat $CFG_SOURCE_FILE | sed 's/load-module module-stream-restore/load-module module-stream-restore restore_device=false/g' >$HOME/.config/pulse/default.pa + cat "$CFG_SOURCE_FILE" | sed 's/load-module module-stream-restore/load-module module-stream-restore restore_device=false/g' >"$CONFIG_DIR/default.pa"
# Add module-ladspa-sink definition # Add module-ladspa-sink definition
- echo "" >>$HOME/.pulse/default.pa - echo "" >>$HOME/.pulse/default.pa
- echo "### BEGIN: Equalized audio configuration" >>$HOME/.pulse/default.pa - echo "### BEGIN: Equalized audio configuration" >>$HOME/.pulse/default.pa
- echo "### Generated from: $SCRIPT_NAME" >>$HOME/.pulse/default.pa - echo "### Generated from: $SCRIPT_NAME" >>$HOME/.pulse/default.pa
- echo "load-module module-ladspa-sink sink_name=$PA_LADSPA_SINK master=$PA_MASTER_SINK plugin=$PA_LADSPA_PLUGIN label=$PA_LADSPA_LABEL control=$PA_LADSPA_CONTROLS" >>$HOME/.pulse/default.pa - echo "load-module module-ladspa-sink sink_name=$PA_LADSPA_SINK master=$PA_MASTER_SINK plugin=$PA_LADSPA_PLUGIN label=$PA_LADSPA_LABEL control=$PA_LADSPA_CONTROLS" >>$HOME/.pulse/default.pa
+ echo "" >>$HOME/.config/pulse/default.pa + echo "" >>"$CONFIG_DIR/default.pa"
+ echo "### BEGIN: Equalized audio configuration" >>$HOME/.config/pulse/default.pa + echo "### BEGIN: Equalized audio configuration" >>"$CONFIG_DIR/default.pa"
+ echo "### Generated from: $SCRIPT_NAME" >>$HOME/.config/pulse/default.pa + echo "### Generated from: $SCRIPT_NAME" >>"$CONFIG_DIR/default.pa"
+ echo "load-module module-ladspa-sink sink_name=$PA_LADSPA_SINK master=$PA_MASTER_SINK plugin=$PA_LADSPA_PLUGIN label=$PA_LADSPA_LABEL control=$PA_LADSPA_CONTROLS" >>$HOME/.config/pulse/default.pa + echo "load-module module-ladspa-sink sink_name=$PA_LADSPA_SINK master=$PA_MASTER_SINK plugin=$PA_LADSPA_PLUGIN label=$PA_LADSPA_LABEL control=$PA_LADSPA_CONTROLS" >>"$CONFIG_DIR/default.pa"
# Set LADSPA sink as default sink & set appropriate master sink (preamp) volume # Set LADSPA sink as default sink & set appropriate master sink (preamp) volume
- echo "set-default-sink $PA_LADSPA_SINK" >>$HOME/.pulse/default.pa - echo "set-default-sink $PA_LADSPA_SINK" >>$HOME/.pulse/default.pa
- echo "set-sink-volume $PA_MASTER_SINK $PA_REAL_PREAMP" >>$HOME/.pulse/default.pa - echo "set-sink-volume $PA_MASTER_SINK $PA_REAL_PREAMP" >>$HOME/.pulse/default.pa
- echo "set-sink-mute $PA_MASTER_SINK 0" >>$HOME/.pulse/default.pa - echo "set-sink-mute $PA_MASTER_SINK 0" >>$HOME/.pulse/default.pa
- echo "### END: Equalized audio configuration" >>$HOME/.pulse/default.pa - echo "### END: Equalized audio configuration" >>$HOME/.pulse/default.pa
+ echo "set-default-sink $PA_LADSPA_SINK" >>$HOME/.config/pulse/default.pa + echo "set-default-sink $PA_LADSPA_SINK" >>"$CONFIG_DIR/default.pa"
+ echo "set-sink-volume $PA_MASTER_SINK $PA_REAL_PREAMP" >>$HOME/.config/pulse/default.pa + echo "set-sink-volume $PA_MASTER_SINK $PA_REAL_PREAMP" >>"$CONFIG_DIR/default.pa"
+ echo "set-sink-mute $PA_MASTER_SINK 0" >>$HOME/.config/pulse/default.pa + echo "set-sink-mute $PA_MASTER_SINK 0" >>"$CONFIG_DIR/default.pa"
+ echo "### END: Equalized audio configuration" >>$HOME/.config/pulse/default.pa + echo "### END: Equalized audio configuration" >>"$CONFIG_DIR/default.pa"
echo "Equalizer setting saved (enable-config)." echo "Equalizer setting saved (enable-config)."
echo "-------------------------------------" echo "-------------------------------------"
@@ -306,16 +306,16 @@ @@ -306,16 +311,16 @@ if [ "$1" = "disable-config" ]; then
echo "-------------------------------------" echo "-------------------------------------"
# Move .noeq configuration file if it exists # Move .noeq configuration file if it exists
- if [ -f $HOME/.pulse/default.pa.noeq ]; then - if [ -f $HOME/.pulse/default.pa.noeq ]; then
- echo "Found '$HOME/.pulse/default.pa.noeq', moving..." - echo "Found '$HOME/.pulse/default.pa.noeq', moving..."
- mv $HOME/.pulse/default.pa.noeq $HOME/.pulse/default.pa - mv $HOME/.pulse/default.pa.noeq $HOME/.pulse/default.pa
+ if [ -f $HOME/.config/pulse/default.pa.noeq ]; then + if [ -f "$CONFIG_DIR/default.pa.noeq" ]; then
+ echo "Found '$HOME/.config/pulse/default.pa.noeq', moving..." + echo "Found '$CONFIG_DIR/default.pa.noeq', moving..."
+ mv $HOME/.config/pulse/default.pa.noeq $HOME/.config/pulse/default.pa + mv "$CONFIG_DIR/default.pa.noeq" "$CONFIG_DIR/default.pa"
fi fi
# If equalizer configuration is present, delete file # If equalizer configuration is present, delete file
@ -118,44 +132,47 @@
- if [ "$(cat $HOME/.pulse/default.pa | grep -m1 "### BEGIN: Equalized audio configuration")" = "### BEGIN: Equalized audio configuration" ]; then - if [ "$(cat $HOME/.pulse/default.pa | grep -m1 "### BEGIN: Equalized audio configuration")" = "### BEGIN: Equalized audio configuration" ]; then
- echo "Equalizer definition detected, deleting '$HOME/.pulse/default.pa'..." - echo "Equalizer definition detected, deleting '$HOME/.pulse/default.pa'..."
- rm $HOME/.pulse/default.pa - rm $HOME/.pulse/default.pa
+ if [ -f $HOME/.config/pulse/default.pa ]; then + if [ -f "$CONFIG_DIR/default.pa" ]; then
+ if [ "$(cat $HOME/.config/pulse/default.pa | grep -m1 "### BEGIN: Equalized audio configuration")" = "### BEGIN: Equalized audio configuration" ]; then + if [ "$(cat "$CONFIG_DIR/default.pa" | grep -m1 "### BEGIN: Equalized audio configuration")" = "### BEGIN: Equalized audio configuration" ]; then
+ echo "Equalizer definition detected, deleting '$HOME/.config/pulse/default.pa'..." + echo "Equalizer definition detected, deleting '$CONFIG_DIR/default.pa'..."
+ rm $HOME/.config/pulse/default.pa + rm "$CONFIG_DIR/default.pa"
fi fi
fi fi
@@ -426,8 +426,8 @@ @@ -426,8 +431,8 @@ if [ "$PA_CURRENT_SINK" = "$PA_LADSPA_SI
echo "-------------------------------------" echo "-------------------------------------"
echo "Equalizer status: [enabled]" echo "Equalizer status: [enabled]"
- if [ -f $HOME/.pulse/default.pa ]; then - if [ -f $HOME/.pulse/default.pa ]; then
- if [ "$(cat $HOME/.pulse/default.pa | grep -m1 "### BEGIN: Equalized audio configuration")" = "### BEGIN: Equalized audio configuration" ]; then - if [ "$(cat $HOME/.pulse/default.pa | grep -m1 "### BEGIN: Equalized audio configuration")" = "### BEGIN: Equalized audio configuration" ]; then
+ if [ -f $HOME/.config/pulse/default.pa ]; then + if [ -f "$CONFIG_DIR/default.pa" ]; then
+ if [ "$(cat $HOME/.config/pulse/default.pa | grep -m1 "### BEGIN: Equalized audio configuration")" = "### BEGIN: Equalized audio configuration" ]; then + if [ "$(cat "$CONFIG_DIR/default.pa" | grep -m1 "### BEGIN: Equalized audio configuration")" = "### BEGIN: Equalized audio configuration" ]; then
echo "Equalizer configuration status: [enabled]" echo "Equalizer configuration status: [enabled]"
else else
echo "Equalizer configuration status: [disabled]" echo "Equalizer configuration status: [disabled]"
@@ -448,8 +448,8 @@ @@ -448,8 +453,8 @@ else
echo "-------------------------------------" echo "-------------------------------------"
echo "Equalizer status: [disabled]" echo "Equalizer status: [disabled]"
- if [ -f $HOME/.pulse/default.pa ]; then - if [ -f $HOME/.pulse/default.pa ]; then
- if [ "$(cat $HOME/.pulse/default.pa | grep -m1 "### BEGIN: Equalized audio configuration")" = "### BEGIN: Equalized audio configuration" ]; then - if [ "$(cat $HOME/.pulse/default.pa | grep -m1 "### BEGIN: Equalized audio configuration")" = "### BEGIN: Equalized audio configuration" ]; then
+ if [ -f $HOME/.config/pulse/default.pa ]; then + if [ -f "$CONFIG_DIR/default.pa" ]; then
+ if [ "$(cat $HOME/.config/pulse/default.pa | grep -m1 "### BEGIN: Equalized audio configuration")" = "### BEGIN: Equalized audio configuration" ]; then + if [ "$(cat "$CONFIG_DIR/default.pa" | grep -m1 "### BEGIN: Equalized audio configuration")" = "### BEGIN: Equalized audio configuration" ]; then
echo "Equalizer configuration status: [enabled]" echo "Equalizer configuration status: [enabled]"
echo "Equalizer plugin: [$PA_LADSPA_PLUGIN/$PA_LADSPA_LABEL]" echo "Equalizer plugin: [$PA_LADSPA_PLUGIN/$PA_LADSPA_LABEL]"
echo "Equalizer control: [$PA_LADSPA_CONTROLS]" echo "Equalizer control: [$PA_LADSPA_CONTROLS]"
--- a/usr/share/pulseaudio-equalizer/pulseaudio-equalizer.py
--- pulseaudio-equalizer.orig/usr/share/pulseaudio-equalizer/pulseaudio-equalizer.py 2013-10-24 10:23:27.000000000 +0000 +++ b/usr/share/pulseaudio-equalizer/pulseaudio-equalizer.py
+++ pulseaudio-equalizer/usr/share/pulseaudio-equalizer/pulseaudio-equalizer.py 2013-10-24 10:53:48.000000000 +0000 @@ -10,10 +10,10 @@
@@ -13,7 +13,7 @@
import gtk, gobject import pygtk
pygtk.require('2.0')
-import gtk as Gtk
+import glib as GLib, gtk as Gtk
import os import os
-configdir = os.getenv('HOME') + "/.pulse" -configdir = os.getenv('HOME') + "/.pulse"
+configdir = os.getenv('HOME') + "/.config/pulse" +configdir = GLib.get_user_config_dir() + "/pulse"
eqconfig = configdir + "/equalizerrc" eqconfig = configdir + "/equalizerrc"
eqconfig2 = configdir + "/equalizerrc.test" eqconfig2 = configdir + "/equalizerrc.test"
eqpresets = eqconfig + ".availablepresets" eqpresets = eqconfig + ".availablepresets"

View File

@ -1,6 +1,15 @@
--- pulseaudio-equalizer.orig/usr/bin/pulseaudio-equalizer --- a/usr/bin/pulseaudio-equalizer
+++ pulseaudio-equalizer/usr/bin/pulseaudio-equalizer +++ b/usr/bin/pulseaudio-equalizer
@@ -378,7 +378,7 @@ @@ -293,7 +293,7 @@ if [ "$1" = "enable-config" ]; then
# Set LADSPA sink as default sink & set appropriate master sink (preamp) volume
echo "set-default-sink $PA_LADSPA_SINK" >>"$CONFIG_DIR/default.pa"
- echo "set-sink-volume $PA_MASTER_SINK $PA_REAL_PREAMP" >>"$CONFIG_DIR/default.pa"
+ #echo "set-sink-volume $PA_MASTER_SINK $PA_REAL_PREAMP" >>"$CONFIG_DIR/default.pa"
echo "set-sink-mute $PA_MASTER_SINK 0" >>"$CONFIG_DIR/default.pa"
echo "### END: Equalized audio configuration" >>"$CONFIG_DIR/default.pa"
@@ -383,7 +383,7 @@ if [ "$1" = "enable" ]; then
# Unmute & set preamp level on ALSA sink (as LADSPA sink will act as primary volume control) # Unmute & set preamp level on ALSA sink (as LADSPA sink will act as primary volume control)
echo "Setting ALSA sink ($PA_MASTER_SINK) preamp ("$PA_PREAMP"x)..." echo "Setting ALSA sink ($PA_MASTER_SINK) preamp ("$PA_PREAMP"x)..."
@ -9,24 +18,24 @@
echo >>/tmp/eqcommands.sh "set-sink-mute $PA_MASTER_SINK 0" echo >>/tmp/eqcommands.sh "set-sink-mute $PA_MASTER_SINK 0"
# Set the LADSPA sink as the default # Set the LADSPA sink as the default
--- pulseaudio-equalizer.orig/usr/share/pulseaudio-equalizer/pulseaudio-equalizer.py --- a/usr/share/pulseaudio-equalizer/pulseaudio-equalizer.py
+++ pulseaudio-equalizer/usr/share/pulseaudio-equalizer/pulseaudio-equalizer.py +++ b/usr/share/pulseaudio-equalizer/pulseaudio-equalizer.py
@@ -412,14 +412,14 @@ @@ -414,14 +414,14 @@ class Equalizer:
table.attach(label, 1, 2, 0, 1) table.attach(label, 1, 2, 0, 1)
table.attach(preampscale, 1, 2, 1, 2) table.attach(preampscale, 1, 2, 1, 2)
table.attach(preampscalevalue, 1, 2, 2, 3) table.attach(preampscalevalue, 1, 2, 2, 3)
- label.show() - label.show()
- preampscale.show() - preampscale.show()
- preampscalevalue.show() - preampscalevalue.show()
+ #label.show() + #label.show()
+ #preampscale.show() + #preampscale.show()
+ #preampscalevalue.show() + #preampscalevalue.show()
# Separator between preamp and bands # Separator between preamp and bands
separator = gtk.VSeparator() separator = Gtk.VSeparator()
table.attach(separator, 2, 3, 1, 2) table.attach(separator, 2, 3, 1, 2)
- separator.show() - separator.show()
+ #separator.show() + #separator.show()
# Equalizer bands # Equalizer bands
global scale global scale

View File

@ -1,14 +1,11 @@
--- pulseaudio-equalizer.orig/usr/bin/pulseaudio-equalizer --- a/usr/bin/pulseaudio-equalizer
+++ pulseaudio-equalizer/usr/bin/pulseaudio-equalizer +++ b/usr/bin/pulseaudio-equalizer
@@ -128,7 +128,9 @@ @@ -133,6 +133,8 @@ fi
if [ -f $HOME/.config/pulse/default.pa ]; then if [ -f "$CONFIG_DIR/default.pa" ]; then
if [ "$(cat $HOME/.config/pulse/default.pa | grep -m1 "### BEGIN: Equalized audio configuration")" = "### BEGIN: Equalized audio configuration" ]; then if [ "$(cat "$CONFIG_DIR/default.pa" | grep -m1 "### BEGIN: Equalized audio configuration")" = "### BEGIN: Equalized audio configuration" ]; then
PA_EQUALIZER_PERSISTENCE=1 PA_EQUALIZER_PERSISTENCE=1
- fi
+ else + else
+ PA_EQUALIZER_PERSISTENCE=0 + PA_EQUALIZER_PERSISTENCE=0
+ fi fi
else else
PA_EQUALIZER_PERSISTENCE=0 PA_EQUALIZER_PERSISTENCE=0
fi

View File

@ -1,17 +1,17 @@
--- pulseaudio-equalizer.orig/usr/share/pulseaudio-equalizer/pulseaudio-equalizer.py 2011-03-17 10:53:48.000000000 +0000 --- a/usr/share/pulseaudio-equalizer/pulseaudio-equalizer.py
+++ pulseaudio-equalizer/usr/share/pulseaudio-equalizer/pulseaudio-equalizer.py 2011-03-17 11:18:04.000000000 +0000 +++ b/usr/share/pulseaudio-equalizer/pulseaudio-equalizer.py
@@ -180,10 +180,13 @@ class Equalizer: @@ -181,10 +181,13 @@ class Equalizer:
if os.path.isfile(presetdir1 + "/" + preset + ".preset"): if os.path.isfile(presetdir1 + "/" + preset + ".preset"):
f = open(presetdir1 + "/" + preset + ".preset", "r") f = open(presetdir1 + "/" + preset + ".preset", "r")
rawdata=f.read().split('\n') rawdata=f.read().split("\n")
- else: - else:
+ f.close + f.close
+ elif os.path.isfile(presetdir2 + "/" + preset + ".preset"): + elif os.path.isfile(presetdir2 + "/" + preset + ".preset"):
f = open(presetdir2 + "/" + preset + ".preset", "r") f = open(presetdir2 + "/" + preset + ".preset", "r")
rawdata=f.read().split('\n') rawdata=f.read().split("\n")
f.close f.close
+ else: + else:
+ print "Can't find %s preset" % preset + print("Can't find %s preset" % preset)
ladspa_filename = str(rawdata[0]) ladspa_filename = str(rawdata[0])
ladspa_name = str(rawdata[1]) ladspa_name = str(rawdata[1])

View File

@ -1,24 +1,20 @@
--- pulseaudio-equalizer.orig/usr/share/pulseaudio-equalizer/pulseaudio-equalizer.py 2011-03-17 10:23:27.000000000 +0000 --- a/usr/share/pulseaudio-equalizer/pulseaudio-equalizer.py
+++ pulseaudio-equalizer/usr/share/pulseaudio-equalizer/pulseaudio-equalizer.py 2011-03-17 10:53:48.000000000 +0000 +++ b/usr/share/pulseaudio-equalizer/pulseaudio-equalizer.py
@@ -359,7 +359,20 @@ class Equalizer: @@ -364,7 +364,16 @@ class Equalizer:
self.window.connect("destroy", self.destroy_equalizer) self.window.connect("destroy", self.destroy_equalizer)
self.window.set_title(windowtitle + " [" + realstatus + "]") self.window.set_title(windowtitle + " [" + realstatus + "]")
self.window.set_border_width(0) self.window.set_border_width(0)
- icon = self.window.set_icon_from_file("/usr/share/icons/hicolor/scalable/apps/multimedia-volume-control.svg") - icon = self.window.set_icon_from_file("/usr/share/icons/hicolor/scalable/apps/multimedia-volume-control.svg")
+ +
+ icon_theme = gtk.icon_theme_get_default() + icon_theme = Gtk.icon_theme_get_default()
+ icon_theme = gtk.icon_theme_get_default()
+ if icon_theme.has_icon("multimedia-volume-control"): + if icon_theme.has_icon("multimedia-volume-control"):
+ icon = icon_theme.load_icon("multimedia-volume-control", 16, 0) + self.window.set_icon_name("multimedia-volume-control")
+ self.window.set_icon(icon)
+ elif icon_theme.has_icon("gnome-volume-control"): + elif icon_theme.has_icon("gnome-volume-control"):
+ icon = icon_theme.load_icon("gnome-volume-control",16,0) + self.window.set_icon_name("gnome-volume-control")
+ self.window.set_icon(icon)
+ elif icon_theme.has_icon("stock_volume"): + elif icon_theme.has_icon("stock_volume"):
+ icon = icon_theme.load_icon("stock_volume",16,0) + self.window.set_icon_name("stock_volume")
+ self.window.set_icon(icon)
+ else: + else:
+ print ("No icon found, window will be iconless") + print("No icon found, the window will be iconless")
menu = gtk.Menu() menu = Gtk.Menu()

298
0007-pygobject3-port.patch Normal file
View File

@ -0,0 +1,298 @@
--- a/usr/share/pulseaudio-equalizer/pulseaudio-equalizer.py
+++ b/usr/share/pulseaudio-equalizer/pulseaudio-equalizer.py
@@ -8,11 +8,13 @@
# Version: (see '/usr/pulseaudio-equalizer' script)
#
-import pygtk
-pygtk.require('2.0')
-import glib as GLib, gtk as Gtk
+import gi
+gi.require_version("Gtk", "3.0")
+from gi.repository import GLib, Gtk
import os
+GTK_VERSION = (Gtk.MAJOR_VERSION, Gtk.MINOR_VERSION, Gtk.MICRO_VERSION)
+
configdir = GLib.get_user_config_dir() + "/pulse"
eqconfig = configdir + "/equalizerrc"
eqconfig2 = configdir + "/equalizerrc.test"
@@ -300,12 +302,16 @@ class Equalizer:
def on_removepreset(self,widget):
global preset
global presets
- dialog = Gtk.FileChooserDialog("Choose preset to remove...",
- None,
- Gtk.FILE_CHOOSER_ACTION_OPEN,
- (Gtk.STOCK_CANCEL, Gtk.RESPONSE_CANCEL,
- Gtk.STOCK_OK, Gtk.RESPONSE_OK))
- dialog.set_default_response(Gtk.RESPONSE_OK)
+ dialog = Gtk.FileChooserDialog(title="Choose preset to remove...",
+ transient_for=widget.get_toplevel(),
+ action=Gtk.FileChooserAction.OPEN)
+
+ button = dialog.add_button("_Cancel", Gtk.ResponseType.CANCEL)
+ button.set_image(Gtk.Image.new_from_icon_name("gtk-cancel", Gtk.IconSize.BUTTON))
+ button = dialog.add_button("_Open", Gtk.ResponseType.OK)
+ button.set_image(Gtk.Image.new_from_icon_name("document-open", Gtk.IconSize.BUTTON))
+ button.grab_default()
+ dialog.set_default_response(Gtk.ResponseType.OK)
filter = Gtk.FileFilter()
filter.set_name("Preset files")
@@ -315,7 +321,7 @@ class Equalizer:
dialog.show()
response = dialog.run()
- if response == Gtk.RESPONSE_OK:
+ if response == Gtk.ResponseType.OK:
filename = dialog.get_filename()
path_and_name = os.path.split(filename)
name = path_and_name[1]
@@ -358,14 +364,13 @@ class Equalizer:
def __init__(self):
GetSettings()
- self.window = Gtk.Window(Gtk.WINDOW_TOPLEVEL)
+ self.window = Gtk.Window()
self.window.set_resizable(True)
self.window.connect("destroy", self.destroy_equalizer)
self.window.set_title(windowtitle + " [" + realstatus + "]")
- self.window.set_border_width(0)
- icon_theme = Gtk.icon_theme_get_default()
+ icon_theme = Gtk.IconTheme.get_default()
if icon_theme.has_icon("multimedia-volume-control"):
self.window.set_icon_name("multimedia-volume-control")
elif icon_theme.has_icon("gnome-volume-control"):
@@ -377,42 +382,61 @@ class Equalizer:
menu = Gtk.Menu()
- menu_item = Gtk.MenuItem("Reset to defaults")
+ menu_item = Gtk.MenuItem(label="Reset to defaults")
menu_item.connect("activate", self.on_resetsettings)
menu.append(menu_item)
menu_item.show()
- menu_item = Gtk.MenuItem("Remove user preset...")
+ menu_item = Gtk.MenuItem(label="Remove user preset...")
menu_item.connect("activate", self.on_removepreset)
menu.append(menu_item)
menu_item.show()
- root_menu = Gtk.MenuItem("Advanced")
+ root_menu = Gtk.MenuItem(label="Advanced")
root_menu.show()
root_menu.set_submenu(menu)
- vbox1 = Gtk.VBox(False, 0)
+ if GTK_VERSION >= (3, 0, 0):
+ vbox1 = Gtk.Box(orientation=Gtk.Orientation.VERTICAL)
+ else:
+ vbox1 = Gtk.VBox()
self.window.add(vbox1)
vbox1.show()
menu_bar = Gtk.MenuBar()
- vbox1.pack_start(menu_bar, False, False, 2)
+ if GTK_VERSION >= (3, 0, 0):
+ menu_bar.set_margin_bottom(4)
+ vbox1.add(menu_bar)
+ else:
+ vbox1.pack_start(menu_bar, False, False, 2)
menu_bar.show()
- menu_bar.append (root_menu)
+ menu_bar.append(root_menu)
- hbox1 = Gtk.HBox(False, 1)
- #hbox1.set_border_width(10)
+ if GTK_VERSION >= (3, 0, 0):
+ hbox1 = Gtk.Box(orientation=Gtk.Orientation.HORIZONTAL, spacing=1)
+ else:
+ hbox1 = Gtk.HBox(spacing=1)
+ #hbox1.props.margin = 10
vbox1.add(hbox1)
hbox1.show()
- table = Gtk.Table(3, 17, False)
- table.set_border_width(5)
- hbox1.add(table)
+ if GTK_VERSION >= (3, 10, 0):
+ grid = Gtk.Grid()
+ grid.props.margin = 5
+ else:
+ grid = Gtk.Table(n_rows=3, n_columns=17)
+ grid.set_border_width(5)
+ hbox1.add(grid)
# Preamp widget
global preampscale
global preampscalevalue
- preampscale = Gtk.VScale()
+ if GTK_VERSION >= (3, 2, 0):
+ preampscale = Gtk.Scale(orientation=Gtk.Orientation.VERTICAL)
+ preampscale.set_hexpand(True)
+ preampscale.set_vexpand(True)
+ else:
+ preampscale = Gtk.VScale()
preampscale.set_draw_value(0)
preampscale.set_inverted(1)
- preampscale.set_value_pos(Gtk.POS_BOTTOM)
+ preampscale.set_value_pos(Gtk.PositionType.BOTTOM)
preampscale.set_range(0.0, 2.0)
preampscale.set_increments(1, 0.1)
preampscale.set_digits(1)
@@ -423,16 +447,25 @@ class Equalizer:
label.set_markup("<small>Preamp</small>")
preampscalevalue = Gtk.Label()
preampscalevalue.set_markup(str(preampscale.get_value()) + "x")
- table.attach(label, 1, 2, 0, 1)
- table.attach(preampscale, 1, 2, 1, 2)
- table.attach(preampscalevalue, 1, 2, 2, 3)
+ if GTK_VERSION >= (3, 10, 0):
+ grid.attach(label, 1, 0, 1, 1)
+ grid.attach(preampscale, 1, 1, 1, 1)
+ grid.attach(preampscalevalue, 1, 2, 1, 1)
+ else:
+ grid.attach(label, 1, 2, 0, 1, yoptions=Gtk.AttachOptions.SHRINK)
+ grid.attach(preampscale, 1, 2, 1, 2, yoptions=(Gtk.AttachOptions.EXPAND | Gtk.AttachOptions.FILL))
+ grid.attach(preampscalevalue, 1, 2, 2, 3, yoptions=Gtk.AttachOptions.SHRINK)
#label.show()
#preampscale.show()
#preampscalevalue.show()
# Separator between preamp and bands
- separator = Gtk.VSeparator()
- table.attach(separator, 2, 3, 1, 2)
+ if GTK_VERSION >= (3, 10, 0):
+ separator = Gtk.Separator(orientation=Gtk.Orientation.VERTICAL)
+ grid.attach(separator, 2, 1, 1, 1)
+ else:
+ separator = Gtk.VSeparator()
+ grid.attach(separator, 2, 3, 1, 2)
#separator.show()
# Equalizer bands
@@ -441,11 +474,16 @@ class Equalizer:
self.labels = {}
self.scalevalues = {}
for x in range(1,num_ladspa_controls+1):
- scale = Gtk.VScale()
+ if GTK_VERSION >= (3, 2, 0):
+ scale = Gtk.Scale(orientation=Gtk.Orientation.VERTICAL)
+ scale.set_hexpand(True)
+ scale.set_vexpand(True)
+ else:
+ scale = Gtk.VScale()
self.scales[x] = scale
scale.set_draw_value(0)
scale.set_inverted(1)
- scale.set_value_pos(Gtk.POS_BOTTOM)
+ scale.set_value_pos(Gtk.PositionType.BOTTOM)
scale.set_range(float(ranges[0]), float(ranges[1]))
scale.set_increments(1, 0.1)
scale.set_digits(1)
@@ -459,67 +497,80 @@ class Equalizer:
scalevalue = Gtk.Label()
self.scalevalues[x] = scalevalue
scalevalue.set_markup("<small>" + str(scale.get_value()) + "\ndB</small>")
- table.attach(label, x + 2, x + 3, 0, 1)
- table.attach(scale, x + 2, x + 3, 1, 2)
- table.attach(scalevalue, x + 2, x + 3, 2, 3)
+ if GTK_VERSION >= (3, 10, 0):
+ grid.attach(label, x + 2, 0, 1, 1)
+ grid.attach(scale, x + 2, 1, 1, 1)
+ grid.attach(scalevalue, x + 2, 2, 1, 1)
+ else:
+ grid.attach(label, x + 2, x + 3, 0, 1, yoptions=Gtk.AttachOptions.SHRINK)
+ grid.attach(scale, x + 2, x + 3, 1, 2, yoptions=(Gtk.AttachOptions.EXPAND | Gtk.AttachOptions.FILL))
+ grid.attach(scalevalue, x + 2, x + 3, 2, 3, yoptions=Gtk.AttachOptions.SHRINK)
label.show()
scale.show()
scalevalue.show()
- table.show()
+ grid.show()
- vbox2 = Gtk.VBox(True, 1)
- vbox2.set_border_width(10)
- hbox1.add(vbox2)
+ if GTK_VERSION >= (3, 0, 0):
+ vbox2 = Gtk.Box(orientation=Gtk.Orientation.VERTICAL, homogeneous=True, spacing=1)
+ vbox2.props.margin = 10
+ hbox1.add(vbox2)
+ else:
+ vbox2 = Gtk.VBox(homogeneous=True, spacing=1)
+ vbox2.set_border_width(10)
+ hbox1.pack_start(vbox2, False, True, 0)
vbox2.show()
presetslabel = Gtk.Label()
presetslabel.set_markup("<small>Preset:</small>")
- vbox2.pack_start(presetslabel, False, False, 0)
+ vbox2.add(presetslabel)
presetslabel.show()
global presetsbox
- presetsbox = Gtk.combo_box_entry_new_text()
- vbox2.pack_start(presetsbox, False, False, 0)
+ presetsbox = Gtk.ComboBoxText.new_with_entry()
+ vbox2.add(presetsbox)
presetsbox.get_child().set_text(preset)
for i in range(len(rawpresets)):
presetsbox.append_text(rawpresets[i])
presetsbox.connect("changed", self.on_presetsbox, x)
presetsbox.show()
- savepreset = Gtk.Button("Save Preset")
- vbox2.pack_start(savepreset, False, False, 0)
+ savepreset = Gtk.Button(label="Save Preset")
+ vbox2.add(savepreset)
savepreset.connect("clicked", self.on_savepreset)
savepreset.show()
global eqenabled
- eqenabled = Gtk.CheckButton("EQ Enabled")
+ eqenabled = Gtk.CheckButton(label="EQ Enabled")
eqenabled.set_active(status)
- eqenabled.unset_flags(Gtk.CAN_FOCUS)
+ eqenabled.set_can_focus(False)
eqenabled.connect("clicked", self.on_eqenabled)
- vbox2.pack_start(eqenabled, False, False, 0)
+ vbox2.add(eqenabled)
eqenabled.show()
global keepsettings
- keepsettings = Gtk.CheckButton("Keep Settings")
+ keepsettings = Gtk.CheckButton(label="Keep Settings")
keepsettings.set_active(persistence)
- keepsettings.unset_flags(Gtk.CAN_FOCUS)
+ keepsettings.set_can_focus(False)
keepsettings.connect("clicked", self.on_keepsettings)
- vbox2.pack_start(keepsettings, False, False, 0)
+ vbox2.add(keepsettings)
keepsettings.show()
- applysettings = Gtk.Button("Apply Settings")
- vbox2.pack_start(applysettings, False, False, 0)
+ applysettings = Gtk.Button(label="Apply Settings")
+ vbox2.add(applysettings)
applysettings.connect("clicked", self.on_applysettings)
applysettings.show()
- quitbutton = Gtk.Button("Quit")
- vbox2.pack_start(quitbutton, False, False, 0)
+ quitbutton = Gtk.Button(label="Quit")
+ vbox2.add(quitbutton)
quitbutton.connect("clicked", lambda w: Gtk.main_quit())
quitbutton.show()
- separator = Gtk.HSeparator()
- vbox2.pack_start(separator, False, False, 0)
+ if GTK_VERSION >= (3, 2, 0):
+ separator = Gtk.Separator(orientation=Gtk.Orientation.HORIZONTAL)
+ else:
+ separator = Gtk.HSeparator()
+ vbox2.add(separator)
separator.set_size_request(100, 10)
#separator.show()

View File

@ -1,13 +0,0 @@
Index: pulseaudio-equalizer-2.7.0.2/usr/bin/pulseaudio-equalizer
===================================================================
--- pulseaudio-equalizer-2.7.0.2.orig/usr/bin/pulseaudio-equalizer
+++ pulseaudio-equalizer-2.7.0.2/usr/bin/pulseaudio-equalizer
@@ -290,7 +290,7 @@ if [ "$1" = "enable-config" ]; then
# Set LADSPA sink as default sink & set appropriate master sink (preamp) volume
echo "set-default-sink $PA_LADSPA_SINK" >>$HOME/.config/pulse/default.pa
- echo "set-sink-volume $PA_MASTER_SINK $PA_REAL_PREAMP" >>$HOME/.config/pulse/default.pa
+ #echo "set-sink-volume $PA_MASTER_SINK $PA_REAL_PREAMP" >>$HOME/.config/pulse/default.pa
echo "set-sink-mute $PA_MASTER_SINK 0" >>$HOME/.config/pulse/default.pa
echo "### END: Equalized audio configuration" >>$HOME/.config/pulse/default.pa

View File

@ -1,15 +1,14 @@
diff -aur a/usr/bin/pulseaudio-equalizer b/usr/bin/pulseaudio-equalizer
--- a/usr/bin/pulseaudio-equalizer --- a/usr/bin/pulseaudio-equalizer
+++ b/usr/bin/pulseaudio-equalizer +++ b/usr/bin/pulseaudio-equalizer
@@ -18,6 +18,7 @@ @@ -18,6 +18,7 @@ PA_CONTROL_MAX="30"
PA_PREAMP="1.0" PA_PREAMP="1.0"
PA_CURRENT_PRESET="" PA_CURRENT_PRESET=""
+LC_MESSAGES=C +LC_MESSAGES=C
PRESET_DIR1=$HOME/.config/pulse/presets if [ -z "$XDG_CONFIG_HOME" ]; then
PRESET_DIR2=/usr/share/pulseaudio-equalizer/presets CONFIG_DIR="$HOME/.config/pulse"
SCRIPT_NAME=pulseaudio-equalizer else
@@ -108,20 +109,20 @@ @@ -113,20 +114,20 @@ fi
# Get sink names and volumes # Get sink names and volumes
PA_LADSPA_SINK="ladspa_output.$PA_LADSPA_PLUGIN.$PA_LADSPA_LABEL" PA_LADSPA_SINK="ladspa_output.$PA_LADSPA_PLUGIN.$PA_LADSPA_LABEL"
@ -35,7 +34,7 @@ diff -aur a/usr/bin/pulseaudio-equalizer b/usr/bin/pulseaudio-equalizer
fi fi
# Check if equalizer is set as persistent # Check if equalizer is set as persistent
@@ -337,16 +338,16 @@ @@ -342,16 +343,16 @@ if [ "$1" = "disable" -o "$1" = "enable"
# Unload & reload stream-restore module # Unload & reload stream-restore module
echo "Unloading & reloading stream-restore module..." echo "Unloading & reloading stream-restore module..."
@ -55,7 +54,7 @@ diff -aur a/usr/bin/pulseaudio-equalizer b/usr/bin/pulseaudio-equalizer
# Transfer current mute/sink volume to ALSA sink # Transfer current mute/sink volume to ALSA sink
echo "Transferring current mute ($PA_CURRENT_MUTE) & volume ($PA_CURRENT_VOLUME%) to ALSA sink ($PA_MASTER_SINK)..." echo "Transferring current mute ($PA_CURRENT_MUTE) & volume ($PA_CURRENT_VOLUME%) to ALSA sink ($PA_MASTER_SINK)..."
@@ -366,7 +367,7 @@ @@ -371,7 +372,7 @@ if [ "$1" = "enable" ]; then
# Unload & reload stream-restore module with restore_device option disabled (to ensure that previously cached per-client sinks are not used) # Unload & reload stream-restore module with restore_device option disabled (to ensure that previously cached per-client sinks are not used)
echo "Unloading & reloading stream-restore module..." echo "Unloading & reloading stream-restore module..."
@ -64,7 +63,7 @@ diff -aur a/usr/bin/pulseaudio-equalizer b/usr/bin/pulseaudio-equalizer
echo >>/tmp/eqcommands.sh "load-module module-stream-restore restore_device=false" echo >>/tmp/eqcommands.sh "load-module module-stream-restore restore_device=false"
# Load LADSPA sink module # Load LADSPA sink module
@@ -389,7 +390,7 @@ @@ -394,7 +395,7 @@ if [ "$1" = "enable" ]; then
# Move currently active client sinks to LADSPA sink # Move currently active client sinks to LADSPA sink
echo "Moving active PulseAudio clients to LADSPA sink ($PA_LADSPA_SINK)..." echo "Moving active PulseAudio clients to LADSPA sink ($PA_LADSPA_SINK)..."
@ -73,7 +72,7 @@ diff -aur a/usr/bin/pulseaudio-equalizer b/usr/bin/pulseaudio-equalizer
# Execute all queued commands (for potential speed benefit)... # Execute all queued commands (for potential speed benefit)...
pacmd </tmp/eqcommands.sh >/dev/null pacmd </tmp/eqcommands.sh >/dev/null
@@ -423,7 +424,7 @@ @@ -428,7 +429,7 @@ if [ "$1" = "status" ]; then
fi fi
# Refresh current sink status and display equalizer information # Refresh current sink status and display equalizer information

View File

@ -1,14 +1,13 @@
diff -aur a/usr/bin/pulseaudio-equalizer b/usr/bin/pulseaudio-equalizer
--- a/usr/bin/pulseaudio-equalizer --- a/usr/bin/pulseaudio-equalizer
+++ b/usr/bin/pulseaudio-equalizer +++ b/usr/bin/pulseaudio-equalizer
@@ -110,8 +110,14 @@ @@ -115,8 +115,14 @@ fi
# Get sink names and volumes # Get sink names and volumes
PA_LADSPA_SINK="ladspa_output.$PA_LADSPA_PLUGIN.$PA_LADSPA_LABEL" PA_LADSPA_SINK="ladspa_output.$PA_LADSPA_PLUGIN.$PA_LADSPA_LABEL"
PA_CURRENT_SINK=$(pacmd stat | sed -e '/Default sink name/!d;s/Default sink name: //g') PA_CURRENT_SINK=$(pacmd stat | sed -e '/Default sink name/!d;s/Default sink name: //g')
-PA_CURRENT_VOLUME=$(pacmd list | iconv -c -t ascii | grep -A20 "<$PA_CURRENT_SINK>" | grep -m1 'volume: 0:' | awk '{print $NF}' | sed 's/%//g') -PA_CURRENT_VOLUME=$(pacmd list | iconv -c -t ascii | grep -A20 "<$PA_CURRENT_SINK>" | grep -m1 'volume: 0:' | awk '{print $NF}' | sed 's/%//g')
-PA_REAL_VOLUME=$((PA_CURRENT_VOLUME*65536/100)) -PA_REAL_VOLUME=$((PA_CURRENT_VOLUME*65536/100))
+if [ "$( (echo '4.0'; pulseaudio --version | awk '{print $2}') | sort -V | sed -n '2p' )" != '4.0' ]; then +if [ "$( (echo '4.0'; pulseaudio --version | awk '{print $2}') | sort -V | sed -n '2p' )" != '4.0' ]; then
+ # Version of PulseAudio is superior than 4.0. + # The version of PulseAudio is higher than 4.0.
+ PA_CURRENT_VOLUME=$(pacmd list | iconv -c -t ascii | grep -A20 "<$PA_CURRENT_SINK>" | grep -m1 'volume: front-left:' | awk '{print $3}') + PA_CURRENT_VOLUME=$(pacmd list | iconv -c -t ascii | grep -A20 "<$PA_CURRENT_SINK>" | grep -m1 'volume: front-left:' | awk '{print $3}')
+ PA_REAL_VOLUME="$PA_CURRENT_VOLUME" + PA_REAL_VOLUME="$PA_CURRENT_VOLUME"
+else +else

View File

@ -1,3 +1,16 @@
-------------------------------------------------------------------
Sun Feb 25 18:16:05 UTC 2018 - sor.alexei@meowr.ru
- Add 0000-add-python3-compat.patch: Add Python3 compatibility.
- Rebase and improve 0001-pulse-path.patch, 0005-window-icon.patch.
- Squash 0007-remove-all-preamp.patch into 0002-remove-preamp.patch.
- Rebase 0003-force-default-persistence-value.patch,
0004-do-not-crash-on-missing-preset.patch,
0008-fix-locale-issues.patch, 0009-do-not-zero-volume.patch.
- Add 0007-pygobject3-port.patch: Port to PyGObject3 and GTK+3.
- Do not use a wrapper for pulseaudio-equalizer-gtk.
- Switch to Python3.
------------------------------------------------------------------- -------------------------------------------------------------------
Fri Sep 4 14:47:08 UTC 2015 - altesholz@gmail.com Fri Sep 4 14:47:08 UTC 2015 - altesholz@gmail.com

View File

@ -1,7 +1,7 @@
# #
# spec file for package pulseaudio-equalizer # spec file for package pulseaudio-equalizer
# #
# Copyright (c) 2015 SUSE LINUX GmbH, Nuernberg, Germany. # Copyright (c) 2018 SUSE LINUX GmbH, Nuernberg, Germany.
# #
# All modifications and additions to the file contributed by third parties # All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed # remain the property of their copyright owners, unless otherwise agreed
@ -20,39 +20,45 @@ Name: pulseaudio-equalizer
Version: 2.7.0.2 Version: 2.7.0.2
Release: 0 Release: 0
Summary: PulseAudio's LADSPA plugin graphical user interface Summary: PulseAudio's LADSPA plugin graphical user interface
License: GPL-3.0+ License: GPL-3.0-or-later
Group: Productivity/Multimedia/Sound/Mixers Group: Productivity/Multimedia/Sound/Mixers
Url: http://ubuntuforums.org/showthread.php?t=1308838 Url: https://ubuntuforums.org/showthread.php?t=1308838
Source: http://ppa.launchpad.net/nilarimogard/webupd8/ubuntu/pool/main/p/%{name}/%{name}_%{version}.orig.tar.gz Source: https://launchpad.net/~nilarimogard/+archive/ubuntu/webupd8/+files/%{name}_%{version}.orig.tar.gz
# PATCH-FIX-UPSTREAM 0001-pulse-path.patch webupd8@gmail.com -- Update path to PulseAudio files to a new one. # PATCH-FIX-UPSTREAM 0000-add-python3-compat.patch sor.alexei@meowr.ru -- Add Python3 compatibility.
Patch0: 0001-pulse-path.patch Patch0: 0000-add-python3-compat.patch
# PATCH-FIX-UPSTREAM 0002-remove-preamp.patch webupd8@gmail.com -- Remove preamp. # PATCH-FIX-UPSTREAM 0001-pulse-path.patch webupd8@gmail.com -- Update path to PulseAudio files to the new one.
Patch1: 0002-remove-preamp.patch Patch1: 0001-pulse-path.patch
# PATCH-FIX-UPSTREAM 0002-remove-preamp.patch -- Remove preamp.
Patch2: 0002-remove-preamp.patch
# PATCH-FIX-UPSTREAM 0003-force-default-persistence-value.patch webupd8@gmail.com -- Force default persistence value. # PATCH-FIX-UPSTREAM 0003-force-default-persistence-value.patch webupd8@gmail.com -- Force default persistence value.
Patch2: 0003-force-default-persistence-value.patch Patch3: 0003-force-default-persistence-value.patch
# PATCH-FIX-UPSTREAM 0004-do-not-crash-on-missing-preset.patch webupd8@gmail.com -- Do not crash on missing preset. # PATCH-FIX-UPSTREAM 0004-do-not-crash-on-missing-preset.patch webupd8@gmail.com -- Do not crash on missing preset.
Patch3: 0004-do-not-crash-on-missing-preset.patch Patch4: 0004-do-not-crash-on-missing-preset.patch
# PATCH-FIX-UPSTREAM 0005-window-icon.patch webupd8@gmail.com -- Correct way of setting window icon. # PATCH-FIX-UPSTREAM 0005-window-icon.patch webupd8@gmail.com -- Correct way of setting window icon.
Patch4: 0005-window-icon.patch Patch5: 0005-window-icon.patch
# PATCH-FIX-UPSTREAM 0006-fix-desktop.patch malcolmlewis@opensuse.org -- Fix .desktop file. # PATCH-FIX-UPSTREAM 0006-fix-desktop.patch malcolmlewis@opensuse.org -- Fix .desktop file.
Patch5: 0006-fix-desktop.patch Patch6: 0006-fix-desktop.patch
# PATCH-FIX-UPSTREAM 0007-remove-all-preamp.patch alex@warwickvesztrocy.co.uk -- Remove all preamp. # PATCH-FIX-UPSTREAM 0007-pygobject3-port.patch sor.alexei@meowr.ru -- Port to PyGObject3 and GTK+3.
Patch6: 0007-remove-all-preamp.patch Patch7: 0007-pygobject3-port.patch
# PATCH-FIX-UPSTREAM 0008-fix-locale-issues.patch sor.alexei@meowr.ru -- Fix issues on non-Latin systems. # PATCH-FIX-UPSTREAM 0008-fix-locale-issues.patch sor.alexei@meowr.ru -- Fix issues on non-Latin systems.
Patch7: 0008-fix-locale-issues.patch Patch8: 0008-fix-locale-issues.patch
# PATCH-FIX-UPSTREAM 0009-do-not-zero-volume.patch sor.alexei@meowr.ru -- Fix volume zeroing on fresh PulseAudio. # PATCH-FIX-UPSTREAM 0009-do-not-zero-volume.patch sor.alexei@meowr.ru -- Fix volume zeroing on fresh PulseAudio.
Patch8: 0009-do-not-zero-volume.patch Patch9: 0009-do-not-zero-volume.patch
BuildRequires: gobject-introspection-devel
BuildRequires: update-desktop-files BuildRequires: update-desktop-files
Requires: ladspa-swh-plugins Requires: ladspa-swh-plugins
Requires: pulseaudio >= 4.0 Requires: pulseaudio >= 4.0
Requires: pulseaudio-utils >= 4.0 Requires: pulseaudio-utils >= 4.0
Requires: python-gnome Requires: python3
Requires: python-gtk Requires: python3-gobject
BuildArch: noarch BuildArch: noarch
%if 0%{?suse_version} > 1320 || 0%{?sle_version} >= 120200
Requires: python3-gobject-Gdk
%endif
%description %description
GUI for PulseAudio's LADSPA interface using Steve Harris' Multiband EQ GUI for PulseAudio's LADSPA interface using Steve Harris' Multiband EQ
(mbeq_1197) plugin (mbeq_1197) plugin.
%prep %prep
%setup -q -n %{name} %setup -q -n %{name}
@ -61,30 +67,34 @@ GUI for PulseAudio's LADSPA interface using Steve Harris' Multiband EQ
%patch2 -p1 %patch2 -p1
%patch3 -p1 %patch3 -p1
%patch4 -p1 %patch4 -p1
%patch5 %patch5 -p1
%patch6 -p1 %patch6
%patch7 -p1 %patch7 -p1
%patch8 -p1 %patch8 -p1
%patch9 -p1
sed -i '/^#!/s|env python$|python3|' .%{_datadir}/%{name}/%{name}.py
%build %build
# Nothing to build. # Nothing to build.
%install %install
mkdir -p %{buildroot}%{_bindir}/ %{buildroot}%{_datadir}/%{name}/presets/ mkdir -p %{buildroot}%{_bindir}/ %{buildroot}%{_datadir}/%{name}/presets/
install -Dm 0755 .%{_bindir}/%{name}* %{buildroot}%{_bindir}/ install -Dpm 0755 .%{_bindir}/%{name}* %{buildroot}%{_bindir}/
install -Dm 0755 .%{_datadir}/%{name}/%{name}.py %{buildroot}%{_datadir}/%{name}/%{name}.py install -Dpm 0755 .%{_datadir}/%{name}/%{name}.py %{buildroot}%{_bindir}/%{name}-gtk
install -Dm 0644 .%{_datadir}/%{name}/presets/* %{buildroot}%{_datadir}/%{name}/presets/ install -Dpm 0644 .%{_datadir}/%{name}/presets/* %{buildroot}%{_datadir}/%{name}/presets/
install -Dm 0644 .%{_datadir}/applications/%{name}.desktop %{buildroot}%{_datadir}/applications/%{name}.desktop install -Dpm 0644 .%{_datadir}/applications/%{name}.desktop %{buildroot}%{_datadir}/applications/%{name}.desktop
%suse_update_desktop_file %{name} %suse_update_desktop_file %{name}
%if 0%{?suse_version} < 1500
%post %post
%desktop_database_post %desktop_database_post
%postun %postun
%desktop_database_postun %desktop_database_postun
%endif
%files %files
%defattr(-,root,root)
%{_bindir}/%{name}* %{_bindir}/%{name}*
%{_datadir}/%{name}/ %{_datadir}/%{name}/
%{_datadir}/applications/%{name}.desktop %{_datadir}/applications/%{name}.desktop