save and restore window width+height

This commit is contained in:
tsi-billypom 2025-04-04 10:53:23 -04:00
parent 5875776442
commit dfb17a7459
2 changed files with 13 additions and 9 deletions

View File

@ -1,17 +1,15 @@
import numpy as np
import math
from PyQt5 import QtWidgets
from numpy.lib import math
from utils import FFTAnalyser
class AudioVisualizer(QtWidgets.QWidget):
"""Audio Visualizer component"""
def __init__(self, media_player, x_resolution):
def __init__(self, media_player):
super().__init__()
self.media_player = media_player
self.x_resolution = x_resolution
self.x_resolution = 100
self.fft_analyser = FFTAnalyser(self.media_player, self.x_resolution)
self.fft_analyser.calculatedVisual.connect(self.set_amplitudes)
self.fft_analyser.calculatedVisualRs.connect(self.set_rs)
@ -28,6 +26,10 @@ class AudioVisualizer(QtWidgets.QWidget):
np.log10(self.min_freq), np.log10(self.max_freq), self.x_resolution
)
def get_x_resolution(self):
"""Returns the resolution for the graphics plot"""
return self.x_resolution
def get_frequency_ticks(self):
"""Returns frequency ticks for x-axis display

12
main.py
View File

@ -162,10 +162,7 @@ class ApplicationWindow(QMainWindow, Ui_MainWindow):
self.config.read(self.cfg_file)
self.player: QMediaPlayer = QMediaPlayer() # Audio player object
self.probe: QAudioProbe = QAudioProbe() # Gets audio data
self.analyzer_x_resolution = 100
self.audio_visualizer: AudioVisualizer = AudioVisualizer(
self.player, self.analyzer_x_resolution
)
self.audio_visualizer: AudioVisualizer = AudioVisualizer(self.player)
self.timer = QTimer(self) # Audio timing things
self.clipboard = clipboard
self.tableView.load_qapp(self)
@ -192,7 +189,9 @@ class ApplicationWindow(QMainWindow, Ui_MainWindow):
# Adjust to leave room for playback controls
self.PlotWidget.setFixedHeight(225)
# x range
self.PlotWidget.setXRange(0, self.analyzer_x_resolution, padding=0)
self.PlotWidget.setXRange(
0, self.audio_visualizer.get_x_resolution(), padding=0
)
# y axis range for decibals (-96db to 0db)
self.PlotWidget.setYRange(-96, 0, padding=0)
# Logarithmic x-axis for frequency display
@ -298,6 +297,9 @@ class ApplicationWindow(QMainWindow, Ui_MainWindow):
column_widths_as_string = ",".join(list_of_column_widths)
self.config["table"]["column_widths"] = column_widths_as_string
self.config["settings"]["volume"] = str(self.current_volume)
self.config["settings"]["window_size"] = (
str(self.width()) + "," + str(self.height())
)
# Save the config
with open(self.cfg_file, "w") as configfile: