# Path: friture/statisticswidget.py
# class StatisticsWidget(QtWidgets.QWidget):
# 
#     def __init__(self, parent, timer):
#         super().__init__(parent)
# 
#         self.setObjectName("tab_stats")
# 
#         self.stats_scrollarea = QtWidgets.QScrollArea(self)
#         self.stats_scrollarea.setWidgetResizable(True)
#         self.stats_scrollarea.setAlignment(QtCore.Qt.AlignLeading | QtCore.Qt.AlignLeft | QtCore.Qt.AlignTop)
#         self.stats_scrollarea.setObjectName("stats_scrollArea")
# 
#         self.scrollAreaWidgetContents = QtWidgets.QWidget(self.stats_scrollarea)
#         self.scrollAreaWidgetContents.setGeometry(QtCore.QRect(0, 0, 87, 220))
#         self.scrollAreaWidgetContents.setStyleSheet("""QWidget { background: white }""")
#         self.scrollAreaWidgetContents.setObjectName("stats_scrollAreaWidgetContents")
# 
#         self.LabelStats = QtWidgets.QLabel(self.scrollAreaWidgetContents)
#         self.LabelStats.setAlignment(QtCore.Qt.AlignLeading | QtCore.Qt.AlignLeft | QtCore.Qt.AlignTop)
#         self.LabelStats.setTextInteractionFlags(QtCore.Qt.LinksAccessibleByKeyboard | QtCore.Qt.LinksAccessibleByMouse |
#                                                 QtCore.Qt.TextBrowserInteraction | QtCore.Qt.TextSelectableByKeyboard | QtCore.Qt.TextSelectableByMouse)
#         self.LabelStats.setObjectName("LabelStats")
# 
#         self.stats_layout = QtWidgets.QVBoxLayout(self.scrollAreaWidgetContents)
#         self.stats_layout.setObjectName("stats_layout")
#         self.stats_layout.addWidget(self.LabelStats)
#         self.stats_scrollarea.setWidget(self.scrollAreaWidgetContents)
# 
#         self.tab_stats_layout = QtWidgets.QGridLayout(self)
#         self.tab_stats_layout.addWidget(self.stats_scrollarea)
# 
#         timer.timeout.connect(self.stats_update)
# 
#     # method
#     def stats_update(self):
#         if not self.LabelStats.isVisible():
#             return
# 
#         label = "Chunk #%d\n"\
#             "Number of overflowed inputs (XRUNs): %d"\
#             % (AudioBackend().chunk_number,
#                AudioBackend().xruns)
# 
#         self.LabelStats.setText(label)


import sys
import sounddevice
import numpy
import friture.friture_rc
import friture
from PyQt5 import QtGui, QtCore, QtWidgets
from friture.statisticswidget import StatisticsWidget
        self.resize(400, 300)
        self.setWindowTitle("About Friture")

        icon = QtGui.QIcon()
        icon.addPixmap(QtGui.QPixmap(":/images-src/window-icon.svg"), QtGui.QIcon.Normal, QtGui.QIcon.Off)
        self.setWindowIcon(icon)
        self.verticalLayout = QtWidgets.QVBoxLayout(self)
        self.verticalLayout.setObjectName("verticalLayout")

        self.tabWidget = QtWidgets.QTabWidget(self)
        self.tabWidget.setObjectName("tabWidget")
        self.aboutTab = QtWidgets.QWidget()
        self.aboutTab.setObjectName("aboutTab")
        self.horizontalLayout = QtWidgets.QHBoxLayout(self.aboutTab)
        self.horizontalLayout.setObjectName("horizontalLayout")
        self.label_2 = QtWidgets.QLabel(self.aboutTab)
        self.label_2.setMinimumSize(QtCore.QSize(128, 128))
        self.label_2.setMaximumSize(QtCore.QSize(128, 128))
        self.label_2.setPixmap(QtGui.QPixmap(":/images-src/window-icon.svg"))
        self.label_2.setScaledContents(True)
        self.label_2.setObjectName("label_2")
        self.horizontalLayout.addWidget(self.label_2)
        self.label = QtWidgets.QLabel(self.aboutTab)
        self.label.setOpenExternalLinks(True)
        self.label.setObjectName("label")
        self.label.setText(aboutText)

        self.horizontalLayout.addWidget(self.label)
        self.tabWidget.addTab(self.aboutTab, "About")


# Path: friture/statisticswidget.py
# class StatisticsWidget(QtWidgets.QWidget):
# 
#     def __init__(self, parent, timer):
#         super().__init__(parent)
# 
#         self.setObjectName("tab_stats")
# 
#         self.stats_scrollarea = QtWidgets.QScrollArea(self)
#         self.stats_scrollarea.setWidgetResizable(True)
#         self.stats_scrollarea.setAlignment(QtCore.Qt.AlignLeading | QtCore.Qt.AlignLeft | QtCore.Qt.AlignTop)
#         self.stats_scrollarea.setObjectName("stats_scrollArea")
# 
#         self.scrollAreaWidgetContents = QtWidgets.QWidget(self.stats_scrollarea)
#         self.scrollAreaWidgetContents.setGeometry(QtCore.QRect(0, 0, 87, 220))
#         self.scrollAreaWidgetContents.setStyleSheet("""QWidget { background: white }""")
#         self.scrollAreaWidgetContents.setObjectName("stats_scrollAreaWidgetContents")
# 
#         self.LabelStats = QtWidgets.QLabel(self.scrollAreaWidgetContents)
#         self.LabelStats.setAlignment(QtCore.Qt.AlignLeading | QtCore.Qt.AlignLeft | QtCore.Qt.AlignTop)
#         self.LabelStats.setTextInteractionFlags(QtCore.Qt.LinksAccessibleByKeyboard | QtCore.Qt.LinksAccessibleByMouse |
#                                                 QtCore.Qt.TextBrowserInteraction | QtCore.Qt.TextSelectableByKeyboard | QtCore.Qt.TextSelectableByMouse)
#         self.LabelStats.setObjectName("LabelStats")
# 
#         self.stats_layout = QtWidgets.QVBoxLayout(self.scrollAreaWidgetContents)
#         self.stats_layout.setObjectName("stats_layout")
#         self.stats_layout.addWidget(self.LabelStats)
#         self.stats_scrollarea.setWidget(self.scrollAreaWidgetContents)
# 
#         self.tab_stats_layout = QtWidgets.QGridLayout(self)
#         self.tab_stats_layout.addWidget(self.stats_scrollarea)
# 
#         timer.timeout.connect(self.stats_update)
# 
#     # method
#     def stats_update(self):
#         if not self.LabelStats.isVisible():
#             return
# 
#         label = "Chunk #%d\n"\
#             "Number of overflowed inputs (XRUNs): %d"\
#             % (AudioBackend().chunk_number,
#                AudioBackend().xruns)
# 
#         self.LabelStats.setText(label)


# Path: friture/about.py
import sys
import sounddevice
import numpy
import friture.friture_rc
import friture
from PyQt5 import QtGui, QtCore, QtWidgets
from friture.statisticswidget import StatisticsWidget

        self.resize(400, 300)
        self.setWindowTitle("About Friture")

        icon = QtGui.QIcon()
        icon.addPixmap(QtGui.QPixmap(":/images-src/window-icon.svg"), QtGui.QIcon.Normal, QtGui.QIcon.Off)
        self.setWindowIcon(icon)
        self.verticalLayout = QtWidgets.QVBoxLayout(self)
        self.verticalLayout.setObjectName("verticalLayout")

        self.tabWidget = QtWidgets.QTabWidget(self)
        self.tabWidget.setObjectName("tabWidget")
        self.aboutTab = QtWidgets.QWidget()
        self.aboutTab.setObjectName("aboutTab")
        self.horizontalLayout = QtWidgets.QHBoxLayout(self.aboutTab)
        self.horizontalLayout.setObjectName("horizontalLayout")
        self.label_2 = QtWidgets.QLabel(self.aboutTab)
        self.label_2.setMinimumSize(QtCore.QSize(128, 128))
        self.label_2.setMaximumSize(QtCore.QSize(128, 128))
        self.label_2.setPixmap(QtGui.QPixmap(":/images-src/window-icon.svg"))
        self.label_2.setScaledContents(True)
        self.label_2.setObjectName("label_2")
        self.horizontalLayout.addWidget(self.label_2)
        self.label = QtWidgets.QLabel(self.aboutTab)
        self.label.setOpenExternalLinks(True)
        self.label.setObjectName("label")
        self.label.setText(aboutText)

        self.horizontalLayout.addWidget(self.label)
        self.tabWidget.addTab(self.aboutTab, "About")


        self.tab_stats = StatisticsWidget(self, timer)