Dotfiles
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

52 lines
1.4 KiB

10 years ago
#!/usr/bin/python
# (c) 2015 Taeyeon Mori
# Easily toggle the IEC958 In Phase Inverse of an ALSA card
# Useful for looping back audio from a PS3 through a CMedia card with IEC958-In
from PyQt5 import QtCore, QtGui, QtWidgets
import subprocess
import sys
class MainWindow(QtWidgets.QMainWindow):
amixer_args = ("-c", "2")
def __init__(self, parent=None):
super().__init__(parent)
self.l = QtWidgets.QHBoxLayout()
self.label = QtWidgets.QLabel()
self.label.setObjectName("MainWindow.label")
self.l.addWidget(self.label)
self.button = QtWidgets.QPushButton("Toggle")
self.button.setObjectName("MainWindow.button")
self.button.clicked.connect(self.on_button_clicked)
self.l.addWidget(self.button)
self.cw = QtWidgets.QWidget()
self.cw.setLayout(self.l)
self.setCentralWidget(self.cw)
self.sc = QtWidgets.QShortcut(QtGui.QKeySequence("t"), self)
self.sc.activated.connect(self.on_button_clicked)
self.get_state()
def call(self, *args):
return subprocess.check_output(("amixer",) + self.amixer_args + args).decode("utf-8")
def get_state(self):
self.label.setText(self.call("sget", "IEC958 In Phase Inverse"))
def on_button_clicked(self):
self.label.setText(self.call("sset", "IEC958 In Phase Inverse", "toggle"))
app = QtWidgets.QApplication(sys.argv)
win = MainWindow()
win.show()
app.exec()