Accepting request 930212 from multimedia:apps
- Update to version 3.0.2. OBS-URL: https://build.opensuse.org/request/show/930212 OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/pulseaudio-equalizer?expand=0&rev=7
This commit is contained in:
commit
99558d650d
@ -1,912 +0,0 @@
|
|||||||
--- 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__":
|
|
@ -1,178 +0,0 @@
|
|||||||
--- a/usr/bin/pulseaudio-equalizer
|
|
||||||
+++ b/usr/bin/pulseaudio-equalizer
|
|
||||||
@@ -18,12 +18,17 @@ PA_CONTROL_MAX="30"
|
|
||||||
PA_PREAMP="1.0"
|
|
||||||
PA_CURRENT_PRESET=""
|
|
||||||
|
|
||||||
-PRESET_DIR1=$HOME/.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
|
|
||||||
SCRIPT_NAME=pulseaudio-equalizer
|
|
||||||
SCRIPT_VERSION="2.7 (05/02/2010)"
|
|
||||||
-CONFIG_NAME=$HOME/.pulse/equalizerrc
|
|
||||||
-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
|
|
||||||
if [[ ! $EUID -ne 0 ]]; then
|
|
||||||
@@ -125,12 +130,12 @@ else
|
|
||||||
fi
|
|
||||||
|
|
||||||
# Check if equalizer is set as persistent
|
|
||||||
-if [ -f $HOME/.pulse/default.pa ]; then
|
|
||||||
- if [ "$(cat $HOME/.pulse/default.pa | grep -m1 "### BEGIN: Equalized audio configuration")" = "### BEGIN: Equalized audio configuration" ]; then
|
|
||||||
- PA_EQUALIZER_PERSISTENCE=1
|
|
||||||
- fi
|
|
||||||
+if [ -f "$CONFIG_DIR/default.pa" ]; then
|
|
||||||
+ if [ "$(cat "$CONFIG_DIR/default.pa" | grep -m1 "### BEGIN: Equalized audio configuration")" = "### BEGIN: Equalized audio configuration" ]; then
|
|
||||||
+ PA_EQUALIZER_PERSISTENCE=1
|
|
||||||
+ fi
|
|
||||||
else
|
|
||||||
- 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_REAL_PREAMP=$PA_REAL_PREAMP
|
|
||||||
|
|
||||||
- if [ -f $HOME/.pulse/default.pa ]; then
|
|
||||||
- tail -n7 $HOME/.pulse/default.pa
|
|
||||||
+ if [ -f "$CONFIG_DIR/default.pa" ]; then
|
|
||||||
+ tail -n7 "$CONFIG_DIR/default.pa"
|
|
||||||
fi
|
|
||||||
|
|
||||||
echo "---"
|
|
||||||
@@ -253,24 +258,24 @@ if [ "$1" = "enable-config" ]; then
|
|
||||||
echo "-------------------------------------"
|
|
||||||
|
|
||||||
# If equalizer configuration is already set, delete file
|
|
||||||
- if [ -f $HOME/.pulse/default.pa ]; 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..."
|
|
||||||
- rm $HOME/.pulse/default.pa
|
|
||||||
+ if [ -f "$CONFIG_DIR/default.pa" ]; then
|
|
||||||
+ if [ "$(cat "$CONFIG_DIR/default.pa" | grep -m1 "### BEGIN: Equalized audio configuration")" = "### BEGIN: Equalized audio configuration" ]; then
|
|
||||||
+ echo "Equalizer definition detected in file '$CONFIG_DIR/default.pa', deleting..."
|
|
||||||
+ rm "$CONFIG_DIR/default.pa"
|
|
||||||
fi
|
|
||||||
fi
|
|
||||||
|
|
||||||
# Make a backup of configuration if necessary
|
|
||||||
- if [ -f $HOME/.pulse/default.pa ]; then
|
|
||||||
- echo "Found '$HOME/.pulse/default.pa', making a copy..."
|
|
||||||
- cp $HOME/.pulse/default.pa $HOME/.pulse/default.pa.noeq
|
|
||||||
- CFG_SOURCE_FILE="$HOME/.pulse/default.pa.noeq"
|
|
||||||
+ if [ -f "$CONFIG_DIR/default.pa" ]; then
|
|
||||||
+ echo "Found '$CONFIG_DIR/default.pa', making a copy..."
|
|
||||||
+ cp "$CONFIG_DIR/default.pa" "$CONFIG_DIR/default.pa.noeq"
|
|
||||||
+ CFG_SOURCE_FILE="$CONFIG_DIR/default.pa.noeq"
|
|
||||||
fi
|
|
||||||
|
|
||||||
# Decide which file to use as the configuration source
|
|
||||||
- if [ -f $HOME/.pulse/default.pa.noeq ]; then
|
|
||||||
- echo "Found '$HOME/.pulse/default.pa.noeq'..."
|
|
||||||
- CFG_SOURCE_FILE="$HOME/.pulse/default.pa.noeq"
|
|
||||||
+ if [ -f "$CONFIG_DIR/default.pa.noeq" ]; then
|
|
||||||
+ echo "Found '$CONFIG_DIR/default.pa.noeq'..."
|
|
||||||
+ CFG_SOURCE_FILE="$CONFIG_DIR/default.pa.noeq"
|
|
||||||
else
|
|
||||||
CFG_SOURCE_FILE="/etc/pulse/default.pa"
|
|
||||||
fi
|
|
||||||
@@ -278,19 +283,19 @@ if [ "$1" = "enable-config" ]; then
|
|
||||||
echo "Using configuration file '$CFG_SOURCE_FILE' as source..."
|
|
||||||
|
|
||||||
# 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' >"$CONFIG_DIR/default.pa"
|
|
||||||
|
|
||||||
# Add module-ladspa-sink definition
|
|
||||||
- echo "" >>$HOME/.pulse/default.pa
|
|
||||||
- echo "### BEGIN: Equalized audio configuration" >>$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 "" >>"$CONFIG_DIR/default.pa"
|
|
||||||
+ echo "### BEGIN: Equalized audio configuration" >>"$CONFIG_DIR/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" >>"$CONFIG_DIR/default.pa"
|
|
||||||
|
|
||||||
# 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-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 "### END: Equalized audio configuration" >>$HOME/.pulse/default.pa
|
|
||||||
+ 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-mute $PA_MASTER_SINK 0" >>"$CONFIG_DIR/default.pa"
|
|
||||||
+ echo "### END: Equalized audio configuration" >>"$CONFIG_DIR/default.pa"
|
|
||||||
|
|
||||||
echo "Equalizer setting saved (enable-config)."
|
|
||||||
echo "-------------------------------------"
|
|
||||||
@@ -306,16 +311,16 @@ if [ "$1" = "disable-config" ]; then
|
|
||||||
echo "-------------------------------------"
|
|
||||||
|
|
||||||
# Move .noeq configuration file if it exists
|
|
||||||
- if [ -f $HOME/.pulse/default.pa.noeq ]; then
|
|
||||||
- echo "Found '$HOME/.pulse/default.pa.noeq', moving..."
|
|
||||||
- mv $HOME/.pulse/default.pa.noeq $HOME/.pulse/default.pa
|
|
||||||
+ if [ -f "$CONFIG_DIR/default.pa.noeq" ]; then
|
|
||||||
+ echo "Found '$CONFIG_DIR/default.pa.noeq', moving..."
|
|
||||||
+ mv "$CONFIG_DIR/default.pa.noeq" "$CONFIG_DIR/default.pa"
|
|
||||||
fi
|
|
||||||
|
|
||||||
# If equalizer configuration is present, delete file
|
|
||||||
- if [ -f $HOME/.pulse/default.pa ]; 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'..."
|
|
||||||
- rm $HOME/.pulse/default.pa
|
|
||||||
+ if [ -f "$CONFIG_DIR/default.pa" ]; then
|
|
||||||
+ if [ "$(cat "$CONFIG_DIR/default.pa" | grep -m1 "### BEGIN: Equalized audio configuration")" = "### BEGIN: Equalized audio configuration" ]; then
|
|
||||||
+ echo "Equalizer definition detected, deleting '$CONFIG_DIR/default.pa'..."
|
|
||||||
+ rm "$CONFIG_DIR/default.pa"
|
|
||||||
fi
|
|
||||||
fi
|
|
||||||
|
|
||||||
@@ -426,8 +431,8 @@ if [ "$PA_CURRENT_SINK" = "$PA_LADSPA_SI
|
|
||||||
echo "-------------------------------------"
|
|
||||||
echo "Equalizer status: [enabled]"
|
|
||||||
|
|
||||||
- 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 [ -f "$CONFIG_DIR/default.pa" ]; then
|
|
||||||
+ if [ "$(cat "$CONFIG_DIR/default.pa" | grep -m1 "### BEGIN: Equalized audio configuration")" = "### BEGIN: Equalized audio configuration" ]; then
|
|
||||||
echo "Equalizer configuration status: [enabled]"
|
|
||||||
else
|
|
||||||
echo "Equalizer configuration status: [disabled]"
|
|
||||||
@@ -448,8 +453,8 @@ else
|
|
||||||
echo "-------------------------------------"
|
|
||||||
echo "Equalizer status: [disabled]"
|
|
||||||
|
|
||||||
- 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 [ -f "$CONFIG_DIR/default.pa" ]; 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 plugin: [$PA_LADSPA_PLUGIN/$PA_LADSPA_LABEL]"
|
|
||||||
echo "Equalizer control: [$PA_LADSPA_CONTROLS]"
|
|
||||||
--- a/usr/share/pulseaudio-equalizer/pulseaudio-equalizer.py
|
|
||||||
+++ b/usr/share/pulseaudio-equalizer/pulseaudio-equalizer.py
|
|
||||||
@@ -10,10 +10,10 @@
|
|
||||||
|
|
||||||
import pygtk
|
|
||||||
pygtk.require('2.0')
|
|
||||||
-import gtk as Gtk
|
|
||||||
+import glib as GLib, gtk as Gtk
|
|
||||||
import os
|
|
||||||
|
|
||||||
-configdir = os.getenv('HOME') + "/.pulse"
|
|
||||||
+configdir = GLib.get_user_config_dir() + "/pulse"
|
|
||||||
eqconfig = configdir + "/equalizerrc"
|
|
||||||
eqconfig2 = configdir + "/equalizerrc.test"
|
|
||||||
eqpresets = eqconfig + ".availablepresets"
|
|
@ -1,41 +0,0 @@
|
|||||||
--- a/usr/bin/pulseaudio-equalizer
|
|
||||||
+++ b/usr/bin/pulseaudio-equalizer
|
|
||||||
@@ -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)
|
|
||||||
echo "Setting ALSA sink ($PA_MASTER_SINK) preamp ("$PA_PREAMP"x)..."
|
|
||||||
- echo >>/tmp/eqcommands.sh "set-sink-volume $PA_MASTER_SINK $PA_REAL_PREAMP"
|
|
||||||
+ #echo >>/tmp/eqcommands.sh "set-sink-volume $PA_MASTER_SINK $PA_REAL_PREAMP"
|
|
||||||
echo >>/tmp/eqcommands.sh "set-sink-mute $PA_MASTER_SINK 0"
|
|
||||||
|
|
||||||
# Set the LADSPA sink as the default
|
|
||||||
--- a/usr/share/pulseaudio-equalizer/pulseaudio-equalizer.py
|
|
||||||
+++ b/usr/share/pulseaudio-equalizer/pulseaudio-equalizer.py
|
|
||||||
@@ -414,14 +414,14 @@ class Equalizer:
|
|
||||||
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()
|
|
||||||
+ #label.show()
|
|
||||||
+ #preampscale.show()
|
|
||||||
+ #preampscalevalue.show()
|
|
||||||
|
|
||||||
# Separator between preamp and bands
|
|
||||||
separator = Gtk.VSeparator()
|
|
||||||
table.attach(separator, 2, 3, 1, 2)
|
|
||||||
- separator.show()
|
|
||||||
+ #separator.show()
|
|
||||||
|
|
||||||
# Equalizer bands
|
|
||||||
global scale
|
|
@ -1,11 +0,0 @@
|
|||||||
--- a/usr/bin/pulseaudio-equalizer
|
|
||||||
+++ b/usr/bin/pulseaudio-equalizer
|
|
||||||
@@ -133,6 +133,8 @@ fi
|
|
||||||
if [ -f "$CONFIG_DIR/default.pa" ]; then
|
|
||||||
if [ "$(cat "$CONFIG_DIR/default.pa" | grep -m1 "### BEGIN: Equalized audio configuration")" = "### BEGIN: Equalized audio configuration" ]; then
|
|
||||||
PA_EQUALIZER_PERSISTENCE=1
|
|
||||||
+ else
|
|
||||||
+ PA_EQUALIZER_PERSISTENCE=0
|
|
||||||
fi
|
|
||||||
else
|
|
||||||
PA_EQUALIZER_PERSISTENCE=0
|
|
@ -1,17 +0,0 @@
|
|||||||
--- a/usr/share/pulseaudio-equalizer/pulseaudio-equalizer.py
|
|
||||||
+++ b/usr/share/pulseaudio-equalizer/pulseaudio-equalizer.py
|
|
||||||
@@ -181,10 +181,13 @@ class Equalizer:
|
|
||||||
if os.path.isfile(presetdir1 + "/" + preset + ".preset"):
|
|
||||||
f = open(presetdir1 + "/" + preset + ".preset", "r")
|
|
||||||
rawdata=f.read().split("\n")
|
|
||||||
- else:
|
|
||||||
+ f.close
|
|
||||||
+ elif os.path.isfile(presetdir2 + "/" + preset + ".preset"):
|
|
||||||
f = open(presetdir2 + "/" + preset + ".preset", "r")
|
|
||||||
rawdata=f.read().split("\n")
|
|
||||||
f.close
|
|
||||||
+ else:
|
|
||||||
+ print("Can't find %s preset" % preset)
|
|
||||||
|
|
||||||
ladspa_filename = str(rawdata[0])
|
|
||||||
ladspa_name = str(rawdata[1])
|
|
@ -1,20 +0,0 @@
|
|||||||
--- a/usr/share/pulseaudio-equalizer/pulseaudio-equalizer.py
|
|
||||||
+++ b/usr/share/pulseaudio-equalizer/pulseaudio-equalizer.py
|
|
||||||
@@ -364,7 +364,16 @@ class Equalizer:
|
|
||||||
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_theme = Gtk.icon_theme_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"):
|
|
||||||
+ self.window.set_icon_name("gnome-volume-control")
|
|
||||||
+ elif icon_theme.has_icon("stock_volume"):
|
|
||||||
+ self.window.set_icon_name("stock_volume")
|
|
||||||
+ else:
|
|
||||||
+ print("No icon found, the window will be iconless")
|
|
||||||
|
|
||||||
menu = Gtk.Menu()
|
|
||||||
|
|
@ -1,12 +0,0 @@
|
|||||||
--- usr/share/applications/pulseaudio-equalizer.desktop 2011-08-18 14:07:30.000000000 -0500
|
|
||||||
+++ usr/share/applications/pulseaudio-equalizer.desktop.orig 2011-08-18 20:33:49.000000000 -0500
|
|
||||||
@@ -5,7 +5,7 @@
|
|
||||||
GenericName=Equalizer
|
|
||||||
Comment=PulseAudio LADSPA interface using MBEQ Multiband EQ plugin
|
|
||||||
Exec=pulseaudio-equalizer-gtk
|
|
||||||
-Icon=gnome-volume-control
|
|
||||||
+Icon=multimedia-volume-control
|
|
||||||
StartupNotify=true
|
|
||||||
Type=Application
|
|
||||||
-Categories=AudioVideo;Audio;Mixer;GTK;
|
|
||||||
+Categories=AudioVideo;Mixer;GTK;
|
|
@ -1,298 +0,0 @@
|
|||||||
--- 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()
|
|
||||||
|
|
@ -1,83 +0,0 @@
|
|||||||
--- a/usr/bin/pulseaudio-equalizer
|
|
||||||
+++ b/usr/bin/pulseaudio-equalizer
|
|
||||||
@@ -18,6 +18,7 @@ PA_CONTROL_MAX="30"
|
|
||||||
PA_PREAMP="1.0"
|
|
||||||
PA_CURRENT_PRESET=""
|
|
||||||
|
|
||||||
+LC_MESSAGES=C
|
|
||||||
if [ -z "$XDG_CONFIG_HOME" ]; then
|
|
||||||
CONFIG_DIR="$HOME/.config/pulse"
|
|
||||||
else
|
|
||||||
@@ -113,20 +114,20 @@ fi
|
|
||||||
|
|
||||||
# Get sink names and volumes
|
|
||||||
PA_LADSPA_SINK="ladspa_output.$PA_LADSPA_PLUGIN.$PA_LADSPA_LABEL"
|
|
||||||
-PA_CURRENT_SINK=$(pacmd stat | grep "Default sink name" | sed 's/Default sink name: //g')
|
|
||||||
-PA_CURRENT_VOLUME=$(pacmd list | grep -A20 "<$PA_CURRENT_SINK>" | grep -m1 'volume: 0:' | awk '{print $NF}' | sed 's/%//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_REAL_VOLUME=$((PA_CURRENT_VOLUME*65536/100))
|
|
||||||
PA_REAL_PREAMP_FLOAT=$(echo "$PA_PREAMP*65536" | bc)
|
|
||||||
PA_REAL_PREAMP=${PA_REAL_PREAMP_FLOAT/\.*}
|
|
||||||
-PA_CURRENT_MUTE=$(pacmd list-sinks | grep -A20 "<$PA_CURRENT_SINK>" | grep -m1 'muted: ' | sed 's/[\t]muted: no/0/g' | sed 's/[\t]muted: yes/1/g')
|
|
||||||
+PA_CURRENT_MUTE=$(pacmd list-sinks | iconv -c -t ascii | grep -A20 "<$PA_CURRENT_SINK>" | grep -m1 'muted: ' | sed -e 's/[\t]muted: no/0/g;s/[\t]muted: yes/1/g')
|
|
||||||
|
|
||||||
# Check if equalizer is running and get accurate master sink name
|
|
||||||
if [ "$PA_CURRENT_SINK" = "$PA_LADSPA_SINK" ]; then
|
|
||||||
PA_EQUALIZER_STATUS=1
|
|
||||||
- PA_MASTER_SINK=$(pacmd info | grep -A30 "<$PA_CURRENT_SINK>" | grep -m1 'device.master_device = ' | sed 's/device.master_device = //g' | sed 's/"//g' | sed 's/^[ \t]*//')
|
|
||||||
+ PA_MASTER_SINK=$(pacmd info | iconv -c -t ascii | grep -A30 "<$PA_CURRENT_SINK>" | grep -m1 'device.master_device = ' | sed -e 's/device.master_device = //g;s/"//g;s/^[ \t]*//')
|
|
||||||
else
|
|
||||||
PA_EQUALIZER_STATUS=0
|
|
||||||
- PA_MASTER_SINK=$(pacmd stat | grep 'Default sink name' | sed 's/Default sink name: //g')
|
|
||||||
+ PA_MASTER_SINK=$(pacmd stat | sed -e '/Default sink name/!d;s/Default sink name: //g')
|
|
||||||
fi
|
|
||||||
|
|
||||||
# Check if equalizer is set as persistent
|
|
||||||
@@ -342,16 +343,16 @@ if [ "$1" = "disable" -o "$1" = "enable"
|
|
||||||
|
|
||||||
# Unload & reload stream-restore module
|
|
||||||
echo "Unloading & reloading stream-restore module..."
|
|
||||||
- echo >>/tmp/eqcommands.sh "unload-module $(pacmd list | grep -B1 -m1 'name: <module-stream-restore>' | grep ' index: ' | sed 's/ index: //g')"
|
|
||||||
+ echo >>/tmp/eqcommands.sh "unload-module $(pacmd list | iconv -c -t ascii | grep -B1 -m1 'name: <module-stream-restore>' | sed -e '/ index: /!d;s/ index: //g')"
|
|
||||||
echo >>/tmp/eqcommands.sh "load-module module-stream-restore"
|
|
||||||
|
|
||||||
# Unload LADSPA sink module (if it is already loaded)
|
|
||||||
echo "Unloading module-ladspa-sink..."
|
|
||||||
- echo >>/tmp/eqcommands.sh "unload-module $(pacmd list | grep -B1 -m1 'name: <module-ladspa-sink>' | grep ' index: ' | sed 's/ index: //g')"
|
|
||||||
+ echo >>/tmp/eqcommands.sh "unload-module $(pacmd list | iconv -c -t ascii | grep -B1 -m1 'name: <module-ladspa-sink>' | sed -e '/ index: /!d;s/ index: //g')"
|
|
||||||
|
|
||||||
# Move active client sinks to ALSA sink
|
|
||||||
echo "Moving active PulseAudio clients to ALSA sink ($PA_MASTER_SINK)..."
|
|
||||||
- echo >>/tmp/eqcommands.sh "$(pacmd "list-sink-inputs" | grep 'index: ' | sed 's/ index: /move-sink-input /g' | sed "s/$/ $PA_MASTER_SINK/g")"
|
|
||||||
+ echo >>/tmp/eqcommands.sh "$(pacmd "list-sink-inputs" | iconv -c -t ascii | sed -e '/index: /!d;s/ index: /move-sink-input /g;s/$/ $PA_MASTER_SINK/g')"
|
|
||||||
|
|
||||||
# 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)..."
|
|
||||||
@@ -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)
|
|
||||||
echo "Unloading & reloading stream-restore module..."
|
|
||||||
- echo >>/tmp/eqcommands.sh "unload-module $(pacmd list | grep -B1 -m1 'name: <module-stream-restore>' | grep ' index: ' | sed 's/ index: //g')"
|
|
||||||
+ echo >>/tmp/eqcommands.sh "unload-module $(pacmd list | iconv -c -t ascii | grep -B1 -m1 'name: <module-stream-restore>' | sed -e '/ index: /!d;s/ index: //g')"
|
|
||||||
echo >>/tmp/eqcommands.sh "load-module module-stream-restore restore_device=false"
|
|
||||||
|
|
||||||
# Load LADSPA sink module
|
|
||||||
@@ -394,7 +395,7 @@ if [ "$1" = "enable" ]; then
|
|
||||||
|
|
||||||
# Move currently active client sinks to LADSPA sink
|
|
||||||
echo "Moving active PulseAudio clients to LADSPA sink ($PA_LADSPA_SINK)..."
|
|
||||||
- echo >>/tmp/eqcommands.sh "$(pacmd "list-sink-inputs" | grep 'index: ' | sed 's/ index: /move-sink-input /g' | sed "s/$/ $PA_LADSPA_SINK/g")"
|
|
||||||
+ echo >>/tmp/eqcommands.sh "$(pacmd "list-sink-inputs" | iconv -c -t ascii | sed -e '/index: /!d;s/ index: /move-sink-input /g' | sed 's/$/ $PA_LADSPA_SINK/g')"
|
|
||||||
|
|
||||||
# Execute all queued commands (for potential speed benefit)...
|
|
||||||
pacmd </tmp/eqcommands.sh >/dev/null
|
|
||||||
@@ -428,7 +429,7 @@ if [ "$1" = "status" ]; then
|
|
||||||
fi
|
|
||||||
|
|
||||||
# Refresh current sink status and display equalizer information
|
|
||||||
-PA_CURRENT_SINK=$(pacmd stat | grep "Default sink name" | sed 's/Default sink name: //g')
|
|
||||||
+PA_CURRENT_SINK=$(pacmd stat | sed -e '/Default sink name/!d;s/Default sink name: //g')
|
|
||||||
if [ "$PA_CURRENT_SINK" = "$PA_LADSPA_SINK" ]; then
|
|
||||||
echo "-------------------------------------"
|
|
||||||
echo "Equalizer status: [enabled]"
|
|
@ -1,19 +0,0 @@
|
|||||||
--- a/usr/bin/pulseaudio-equalizer
|
|
||||||
+++ b/usr/bin/pulseaudio-equalizer
|
|
||||||
@@ -115,8 +115,14 @@ fi
|
|
||||||
# Get sink names and volumes
|
|
||||||
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_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))
|
|
||||||
+if [ "$( (echo '4.0'; pulseaudio --version | awk '{print $2}') | sort -V | sed -n '2p' )" != '4.0' ]; then
|
|
||||||
+ # 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_REAL_VOLUME="$PA_CURRENT_VOLUME"
|
|
||||||
+else
|
|
||||||
+ 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))
|
|
||||||
+fi
|
|
||||||
PA_REAL_PREAMP_FLOAT=$(echo "$PA_PREAMP*65536" | bc)
|
|
||||||
PA_REAL_PREAMP=${PA_REAL_PREAMP_FLOAT/\.*}
|
|
||||||
PA_CURRENT_MUTE=$(pacmd list-sinks | iconv -c -t ascii | grep -A20 "<$PA_CURRENT_SINK>" | grep -m1 'muted: ' | sed -e 's/[\t]muted: no/0/g;s/[\t]muted: yes/1/g')
|
|
3
pulseaudio-equalizer-3.0.2.tar.gz
Normal file
3
pulseaudio-equalizer-3.0.2.tar.gz
Normal file
@ -0,0 +1,3 @@
|
|||||||
|
version https://git-lfs.github.com/spec/v1
|
||||||
|
oid sha256:2dd14d7bdbc806bfa239bae49dbeef8ccd8bbdb53a413bd83d0ca32390ceae6f
|
||||||
|
size 36168
|
10
pulseaudio-equalizer-fix-locale-issues.patch
Normal file
10
pulseaudio-equalizer-fix-locale-issues.patch
Normal file
@ -0,0 +1,10 @@
|
|||||||
|
--- a/bin/pulseaudio-equalizer.in
|
||||||
|
+++ b/bin/pulseaudio-equalizer.in
|
||||||
|
@@ -21,6 +21,7 @@ PA_CONTROL_MAX='30'
|
||||||
|
PA_PREAMP='1.0'
|
||||||
|
PA_CURRENT_PRESET=''
|
||||||
|
|
||||||
|
+export LC_MESSAGES=C
|
||||||
|
if [ -z "$XDG_CONFIG_HOME" ]; then
|
||||||
|
CONFIG_DIR="$HOME"/.config/pulse
|
||||||
|
else
|
127
pulseaudio-equalizer-use-pactl.patch
Normal file
127
pulseaudio-equalizer-use-pactl.patch
Normal file
@ -0,0 +1,127 @@
|
|||||||
|
--- a/bin/pulseaudio-equalizer.in
|
||||||
|
+++ b/bin/pulseaudio-equalizer.in
|
||||||
|
@@ -111,20 +111,20 @@ fi
|
||||||
|
|
||||||
|
# Get sink names and volumes
|
||||||
|
PA_LADSPA_SINK="ladspa_output.$PA_LADSPA_PLUGIN.$PA_LADSPA_LABEL"
|
||||||
|
-PA_CURRENT_SINK=$(pacmd stat | grep --color=never 'Default sink name' | sed 's/Default sink name: //g')
|
||||||
|
-PA_CURRENT_VOLUME=$(pacmd list | grep --color=never -A20 "<$PA_CURRENT_SINK>" | grep --color=never -m1 'volume: ' | grep --color=never -Po '(\d+)%' | awk 'NR==1{sub(/%/,"",$1); print $1}')
|
||||||
|
+PA_CURRENT_SINK="$(pactl get-default-sink)"
|
||||||
|
+PA_CURRENT_VOLUME="$(pactl get-sink-volume "$PA_CURRENT_SINK" | grep --color=never -Eo '([[:digit:]]+)%' | awk 'NR==1{sub(/%/,"",$1); print $1}')"
|
||||||
|
PA_REAL_VOLUME=$((PA_CURRENT_VOLUME*65536/100))
|
||||||
|
PA_REAL_PREAMP_FLOAT=$(echo "$PA_PREAMP*65536" | bc)
|
||||||
|
PA_REAL_PREAMP=${PA_REAL_PREAMP_FLOAT/\.*}
|
||||||
|
-PA_CURRENT_MUTE=$(pacmd list-sinks | grep --color=never -A20 "<$PA_CURRENT_SINK>" | grep -m1 'muted: ' | sed 's/[\t]muted: no/0/g' | sed 's/[\t]muted: yes/1/g')
|
||||||
|
+PA_CURRENT_MUTE="$(pactl get-sink-mute "$PA_CURRENT_SINK" | sed -e 's/Mute: no/0/g;s/Mute: yes/1/g')"
|
||||||
|
|
||||||
|
# Check if equalizer is running and get accurate master sink name
|
||||||
|
if [ "$PA_CURRENT_SINK" = "$PA_LADSPA_SINK" ]; then
|
||||||
|
PA_EQUALIZER_STATUS=1
|
||||||
|
- PA_MASTER_SINK=$(pacmd info | grep --color=never -A30 "<$PA_CURRENT_SINK>" | grep --color=never -m1 'device.master_device = ' | sed 's/device.master_device = //g' | sed 's/"//g' | sed 's/^[ \t]*//')
|
||||||
|
+ PA_MASTER_SINK="$(pactl list short modules | grep --color=never "module-ladspa-sink.*sink_name=$PA_CURRENT_SINK" | tr ' ' '\n' | sed '/^sink_master/!d;s/^sink_master=//')"
|
||||||
|
else
|
||||||
|
PA_EQUALIZER_STATUS=0
|
||||||
|
- PA_MASTER_SINK=$(pacmd stat | grep --color=never 'Default sink name' | sed 's/Default sink name: //g')
|
||||||
|
+ PA_MASTER_SINK="$(pactl get-default-sink)"
|
||||||
|
fi
|
||||||
|
|
||||||
|
# Check if equalizer is set as persistent
|
||||||
|
@@ -365,66 +365,62 @@ if [ "$1" = 'disable' ] || [ "$1" = 'ena
|
||||||
|
echo '-------------------------------------'
|
||||||
|
echo 'Current operation: disabling equalizer'
|
||||||
|
echo '-------------------------------------'
|
||||||
|
- echo -n >/tmp/eqcommands.sh
|
||||||
|
|
||||||
|
# Unload & reload stream-restore module
|
||||||
|
echo 'Unloading & reloading stream-restore module...'
|
||||||
|
- echo >>/tmp/eqcommands.sh "unload-module $(pacmd list | grep -B1 -m1 'name: <module-stream-restore>' | grep ' index: ' | sed 's/ index: //g')"
|
||||||
|
- echo >>/tmp/eqcommands.sh 'load-module module-stream-restore'
|
||||||
|
-
|
||||||
|
- # Unload LADSPA sink module (if it is already loaded)
|
||||||
|
- echo 'Unloading module-ladspa-sink...'
|
||||||
|
- echo >>/tmp/eqcommands.sh "unload-module $(pacmd list | grep -B1 -m1 'name: <module-ladspa-sink>' | grep ' index: ' | sed 's/ index: //g')"
|
||||||
|
+ pactl unload-module module-stream-restore
|
||||||
|
+ pactl load-module module-stream-restore >/dev/null
|
||||||
|
|
||||||
|
# Move active client sinks to ALSA sink
|
||||||
|
echo "Moving active PulseAudio clients to ALSA sink ($PA_MASTER_SINK)..."
|
||||||
|
- echo >>/tmp/eqcommands.sh "$(pacmd "list-sink-inputs" | grep 'index: ' | sed 's/ index: /move-sink-input /g' | sed "s/$/ $PA_MASTER_SINK/g")"
|
||||||
|
+ pactl list short sink-inputs | awk '{print $1}' | while read -r INPUT; do
|
||||||
|
+ pactl move-sink-input "$INPUT" "$PA_MASTER_SINK"
|
||||||
|
+ done
|
||||||
|
+
|
||||||
|
+ # Unload LADSPA sink module (if it is already loaded)
|
||||||
|
+ echo 'Unloading module-ladspa-sink...'
|
||||||
|
+ pactl unload-module module-ladspa-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 >>/tmp/eqcommands.sh "set-default-sink $PA_MASTER_SINK"
|
||||||
|
- echo >>/tmp/eqcommands.sh "set-sink-volume $PA_MASTER_SINK $PA_REAL_VOLUME"
|
||||||
|
- echo >>/tmp/eqcommands.sh "set-sink-mute $PA_MASTER_SINK $PA_CURRENT_MUTE"
|
||||||
|
-
|
||||||
|
- # Execute all queued commands (for potential speed benefit)...
|
||||||
|
- pacmd </tmp/eqcommands.sh >/dev/null
|
||||||
|
+ pactl set-default-sink "$PA_MASTER_SINK"
|
||||||
|
+ pactl set-sink-volume "$PA_MASTER_SINK" "$PA_REAL_VOLUME"
|
||||||
|
+ pactl set-sink-mute "$PA_MASTER_SINK" "$PA_CURRENT_MUTE"
|
||||||
|
fi
|
||||||
|
|
||||||
|
if [ "$1" = 'enable' ]; then
|
||||||
|
echo '-------------------------------------'
|
||||||
|
echo 'Current operation: enabling equalizer'
|
||||||
|
echo '-------------------------------------'
|
||||||
|
- echo -n >/tmp/eqcommands.sh
|
||||||
|
|
||||||
|
# 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 >>/tmp/eqcommands.sh "unload-module $(pacmd list | grep -B1 -m1 'name: <module-stream-restore>' | grep ' index: ' | sed 's/ index: //g')"
|
||||||
|
- echo >>/tmp/eqcommands.sh 'load-module module-stream-restore restore_device=false'
|
||||||
|
+ pactl unload-module module-stream-restore
|
||||||
|
+ pactl load-module module-stream-restore restore_device=false >/dev/null
|
||||||
|
|
||||||
|
# Load LADSPA sink module
|
||||||
|
echo 'Loading module-ladspa-sink...'
|
||||||
|
- echo >>/tmp/eqcommands.sh "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"
|
||||||
|
+ pactl load-module module-ladspa-sink "sink_name=$PA_LADSPA_SINK" "sink_master=$PA_MASTER_SINK" "plugin=$PA_LADSPA_PLUGIN" "label=$PA_LADSPA_LABEL" "control=$PA_LADSPA_CONTROLS" >/dev/null
|
||||||
|
|
||||||
|
# Transfer current sink mute/volume to LADSPA sink
|
||||||
|
echo "Transferring current mute ($PA_CURRENT_MUTE) & volume ($PA_CURRENT_VOLUME%) to LADSPA sink ($PA_LADSPA_SINK)..."
|
||||||
|
- echo >>/tmp/eqcommands.sh "set-sink-volume $PA_LADSPA_SINK $PA_REAL_VOLUME"
|
||||||
|
- echo >>/tmp/eqcommands.sh "set-sink-mute $PA_LADSPA_SINK $PA_CURRENT_MUTE"
|
||||||
|
+ pactl set-sink-volume "$PA_LADSPA_SINK" "$PA_REAL_VOLUME"
|
||||||
|
+ pactl set-sink-mute "$PA_LADSPA_SINK" "$PA_CURRENT_MUTE"
|
||||||
|
|
||||||
|
# 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 >>/tmp/eqcommands.sh "set-sink-volume $PA_MASTER_SINK $PA_REAL_PREAMP"
|
||||||
|
- echo >>/tmp/eqcommands.sh "set-sink-mute $PA_MASTER_SINK 0"
|
||||||
|
+ #pactl set-sink-volume "$PA_MASTER_SINK" "$PA_REAL_PREAMP"
|
||||||
|
+ pactl set-sink-mute "$PA_MASTER_SINK" 0
|
||||||
|
|
||||||
|
# Set the LADSPA sink as the default
|
||||||
|
echo "Setting LADSPA sink ($PA_LADSPA_SINK) as default sink..."
|
||||||
|
- echo >>/tmp/eqcommands.sh "set-default-sink $PA_LADSPA_SINK"
|
||||||
|
+ pactl set-default-sink "$PA_LADSPA_SINK"
|
||||||
|
|
||||||
|
# Move currently active client sinks to LADSPA sink
|
||||||
|
echo "Moving active PulseAudio clients to LADSPA sink ($PA_LADSPA_SINK)..."
|
||||||
|
- echo >>/tmp/eqcommands.sh "$(pacmd "list-sink-inputs" | grep 'index: ' | sed 's/ index: /move-sink-input /g' | sed "s/$/ $PA_LADSPA_SINK/g")"
|
||||||
|
-
|
||||||
|
- # Execute all queued commands (for potential speed benefit)...
|
||||||
|
- pacmd </tmp/eqcommands.sh >/dev/null
|
||||||
|
+ pactl list short sink-inputs | awk '{print $1}' | while read -r INPUT; do
|
||||||
|
+ pactl move-sink-input "$INPUT" "$PA_LADSPA_SINK"
|
||||||
|
+ done
|
||||||
|
fi
|
||||||
|
|
||||||
|
if [ -z "$1" ] || [ "$1" = '' ] || [ "$1" = '-h' ] || [ "$1" = '--help' ]; then
|
||||||
|
@@ -455,7 +451,7 @@ if [ "$1" = 'status' ]; then
|
||||||
|
fi
|
||||||
|
|
||||||
|
# Refresh current sink status and display equalizer information
|
||||||
|
-PA_CURRENT_SINK="$(pacmd stat | grep "Default sink name" | sed 's/Default sink name: //g')"
|
||||||
|
+PA_CURRENT_SINK="$(pactl get-default-sink)"
|
||||||
|
if [ "$PA_CURRENT_SINK" = "$PA_LADSPA_SINK" ]; then
|
||||||
|
echo '-------------------------------------'
|
||||||
|
echo 'Equalizer status: [enabled]'
|
@ -1,3 +1,24 @@
|
|||||||
|
-------------------------------------------------------------------
|
||||||
|
Sat Nov 6 19:51:16 UTC 2021 - Alexei Sorokin <sor.alexei@meowr.ru>
|
||||||
|
|
||||||
|
- Update to version 3.0.2:
|
||||||
|
* No changelog available.
|
||||||
|
- Drop 0000-add-python3-compat.patch, 0001-pulse-path.patch,
|
||||||
|
0002-remove-preamp.patch, 0005-window-icon.patch,
|
||||||
|
0003-force-default-persistence-value.patch,
|
||||||
|
0004-do-not-crash-on-missing-preset.patch,
|
||||||
|
0007-pygobject3-port.patch, 0009-do-not-zero-volume.patch: fixed
|
||||||
|
upstream.
|
||||||
|
- Replace 0006-fix-desktop.patch with %suse_update_desktop_file,
|
||||||
|
the icon change has been done upstream.
|
||||||
|
- Simplify and rename 0008-fix-locale-issues.patch to
|
||||||
|
pulseaudio-equalizer-fix-locale-issues.patch: iconv does not
|
||||||
|
appear to be necessary.
|
||||||
|
- Add pulseaudio-equalizer-use-pactl.patch: Use pactl instead of
|
||||||
|
pacmd for compatibility with other PulseAudio daemon
|
||||||
|
implementations.
|
||||||
|
- Require pulseaudio-daemon instead of pulseaudio.
|
||||||
|
|
||||||
-------------------------------------------------------------------
|
-------------------------------------------------------------------
|
||||||
Sun Feb 25 18:16:05 UTC 2018 - sor.alexei@meowr.ru
|
Sun Feb 25 18:16:05 UTC 2018 - sor.alexei@meowr.ru
|
||||||
|
|
||||||
|
@ -1,7 +1,7 @@
|
|||||||
#
|
#
|
||||||
# spec file for package pulseaudio-equalizer
|
# spec file for package pulseaudio-equalizer
|
||||||
#
|
#
|
||||||
# Copyright (c) 2018 SUSE LINUX GmbH, Nuernberg, Germany.
|
# Copyright (c) 2021 SUSE LLC
|
||||||
#
|
#
|
||||||
# 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
|
||||||
@ -12,91 +12,59 @@
|
|||||||
# license that conforms to the Open Source Definition (Version 1.9)
|
# license that conforms to the Open Source Definition (Version 1.9)
|
||||||
# published by the Open Source Initiative.
|
# published by the Open Source Initiative.
|
||||||
|
|
||||||
# Please submit bugfixes or comments via http://bugs.opensuse.org/
|
# Please submit bugfixes or comments via https://bugs.opensuse.org/
|
||||||
#
|
#
|
||||||
|
|
||||||
|
|
||||||
|
%define _name pulseaudio-equalizer-ladspa
|
||||||
Name: pulseaudio-equalizer
|
Name: pulseaudio-equalizer
|
||||||
Version: 2.7.0.2
|
Version: 3.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-or-later
|
License: GPL-3.0-or-later
|
||||||
Group: Productivity/Multimedia/Sound/Mixers
|
URL: https://github.com/pulseaudio-equalizer-ladspa/equalizer
|
||||||
Url: https://ubuntuforums.org/showthread.php?t=1308838
|
Source: https://github.com/pulseaudio-equalizer-ladspa/equalizer/archive/v%{version}.tar.gz#/%{name}-%{version}.tar.gz
|
||||||
Source: https://launchpad.net/~nilarimogard/+archive/ubuntu/webupd8/+files/%{name}_%{version}.orig.tar.gz
|
# PATCH-FIX-OPENSUSE pulseaudio-equalizer-fix-locale-issues.patch sor.alexei@meowr.ru -- Fix issues on non-Latin systems.
|
||||||
# PATCH-FIX-UPSTREAM 0000-add-python3-compat.patch sor.alexei@meowr.ru -- Add Python3 compatibility.
|
Patch0: pulseaudio-equalizer-fix-locale-issues.patch
|
||||||
Patch0: 0000-add-python3-compat.patch
|
# PATCH-FIX-OPENSUSE pulseaudio-equalizer-use-pactl.patch sor.alexei@meowr.ru -- Use pactl instead of pacmd.
|
||||||
# PATCH-FIX-UPSTREAM 0001-pulse-path.patch webupd8@gmail.com -- Update path to PulseAudio files to the new one.
|
Patch1: pulseaudio-equalizer-use-pactl.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.
|
|
||||||
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.
|
|
||||||
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.
|
|
||||||
Patch5: 0005-window-icon.patch
|
|
||||||
# PATCH-FIX-UPSTREAM 0006-fix-desktop.patch malcolmlewis@opensuse.org -- Fix .desktop file.
|
|
||||||
Patch6: 0006-fix-desktop.patch
|
|
||||||
# PATCH-FIX-UPSTREAM 0007-pygobject3-port.patch sor.alexei@meowr.ru -- Port to PyGObject3 and GTK+3.
|
|
||||||
Patch7: 0007-pygobject3-port.patch
|
|
||||||
# PATCH-FIX-UPSTREAM 0008-fix-locale-issues.patch sor.alexei@meowr.ru -- Fix issues on non-Latin systems.
|
|
||||||
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.
|
|
||||||
Patch9: 0009-do-not-zero-volume.patch
|
|
||||||
BuildRequires: gobject-introspection-devel
|
BuildRequires: gobject-introspection-devel
|
||||||
|
BuildRequires: meson
|
||||||
|
BuildRequires: python3
|
||||||
BuildRequires: update-desktop-files
|
BuildRequires: update-desktop-files
|
||||||
|
Requires: bc
|
||||||
Requires: ladspa-swh-plugins
|
Requires: ladspa-swh-plugins
|
||||||
Requires: pulseaudio >= 4.0
|
Requires: pulseaudio-daemon
|
||||||
Requires: pulseaudio-utils >= 4.0
|
Requires: pulseaudio-utils
|
||||||
Requires: python3
|
|
||||||
Requires: python3-gobject
|
Requires: python3-gobject
|
||||||
BuildArch: noarch
|
|
||||||
%if 0%{?suse_version} > 1320 || 0%{?sle_version} >= 120200
|
|
||||||
Requires: python3-gobject-Gdk
|
Requires: python3-gobject-Gdk
|
||||||
%endif
|
BuildArch: noarch
|
||||||
|
|
||||||
%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}
|
%autosetup -n equalizer-%{version} -p1
|
||||||
%patch0 -p1
|
|
||||||
%patch1 -p1
|
|
||||||
%patch2 -p1
|
|
||||||
%patch3 -p1
|
|
||||||
%patch4 -p1
|
|
||||||
%patch5 -p1
|
|
||||||
%patch6
|
|
||||||
%patch7 -p1
|
|
||||||
%patch8 -p1
|
|
||||||
%patch9 -p1
|
|
||||||
sed -i '/^#!/s|env python$|python3|' .%{_datadir}/%{name}/%{name}.py
|
|
||||||
|
|
||||||
%build
|
%build
|
||||||
# Nothing to build.
|
%meson -Dpurelib=%{python3_sitelib}
|
||||||
|
%meson_build
|
||||||
|
|
||||||
%install
|
%install
|
||||||
mkdir -p %{buildroot}%{_bindir}/ %{buildroot}%{_datadir}/%{name}/presets/
|
%meson_install
|
||||||
install -Dpm 0755 .%{_bindir}/%{name}* %{buildroot}%{_bindir}/
|
%py3_compile %{buildroot}%{python3_sitelib}/pulseeq/
|
||||||
install -Dpm 0755 .%{_datadir}/%{name}/%{name}.py %{buildroot}%{_bindir}/%{name}-gtk
|
sed -i '/^#!/s|env python3$|python3|' %{buildroot}%{_bindir}/%{name}-gtk
|
||||||
install -Dpm 0644 .%{_datadir}/%{name}/presets/* %{buildroot}%{_datadir}/%{name}/presets/
|
|
||||||
install -Dpm 0644 .%{_datadir}/applications/%{name}.desktop %{buildroot}%{_datadir}/applications/%{name}.desktop
|
|
||||||
|
|
||||||
%suse_update_desktop_file %{name}
|
%suse_update_desktop_file -r com.github.%{_name}.Equalizer AudioVideo Mixer GTK
|
||||||
|
|
||||||
%if 0%{?suse_version} < 1500
|
|
||||||
%post
|
|
||||||
%desktop_database_post
|
|
||||||
|
|
||||||
%postun
|
|
||||||
%desktop_database_postun
|
|
||||||
%endif
|
|
||||||
|
|
||||||
%files
|
%files
|
||||||
%{_bindir}/%{name}*
|
%license LICENSE
|
||||||
%{_datadir}/%{name}/
|
%doc README.md
|
||||||
%{_datadir}/applications/%{name}.desktop
|
%{_bindir}/%{name}
|
||||||
|
%{_bindir}/%{name}-gtk
|
||||||
|
%{_datadir}/%{_name}/
|
||||||
|
%{_datadir}/applications/*%{_name}*.desktop
|
||||||
|
%{python3_sitelib}/pulseeq/
|
||||||
|
|
||||||
%changelog
|
%changelog
|
||||||
|
@ -1,3 +0,0 @@
|
|||||||
version https://git-lfs.github.com/spec/v1
|
|
||||||
oid sha256:e69fa0f0d820dad4b9333287a0ef94825998c76464182b8bbcea31dc97db3095
|
|
||||||
size 9135
|
|
Loading…
Reference in New Issue
Block a user