mirror of
https://github.com/jopohl/urh.git
synced 2026-03-11 10:46:49 +01:00
consider sample rate when saving wav from dialogs fix #453
This commit is contained in:
@@ -386,7 +386,12 @@ class GeneratorTabController(QWidget):
|
||||
self.unsetCursor()
|
||||
return
|
||||
modulated_samples = self.modulate_data(buffer)
|
||||
FileOperator.save_data_dialog("", modulated_samples, parent=self)
|
||||
try:
|
||||
sample_rate = self.modulators[0].sample_rate
|
||||
except Exception as e:
|
||||
logger.exception(e)
|
||||
sample_rate = 1e6
|
||||
FileOperator.save_data_dialog("", modulated_samples, sample_rate=sample_rate, parent=self)
|
||||
except Exception as e:
|
||||
Errors.generic_error(self.tr("Failed to generate data"), str(e), traceback.format_exc())
|
||||
self.unsetCursor()
|
||||
|
||||
@@ -101,7 +101,8 @@ class ReceiveDialog(SendRecvDialog):
|
||||
|
||||
initial_name = initial_name.replace(Formatter.local_decimal_seperator(), "_").replace("_000", "")
|
||||
|
||||
filename = FileOperator.save_data_dialog(initial_name + ".complex", data, parent=self)
|
||||
filename = FileOperator.save_data_dialog(initial_name + ".complex", data,
|
||||
sample_rate=dev.sample_rate, parent=self)
|
||||
self.already_saved = True
|
||||
if filename is not None and filename not in self.recorded_files:
|
||||
self.recorded_files.append(filename)
|
||||
|
||||
@@ -8,6 +8,7 @@ from urh.dev.VirtualDevice import VirtualDevice, Mode
|
||||
from urh.signalprocessing.Signal import Signal
|
||||
from urh.ui.painting.SignalSceneManager import SignalSceneManager
|
||||
from urh.util import FileOperator
|
||||
from urh.util.Logger import logger
|
||||
|
||||
|
||||
class SendDialog(SendRecvDialog):
|
||||
@@ -93,6 +94,11 @@ class SendDialog(SendRecvDialog):
|
||||
filename = FileOperator.get_save_file_name("signal.complex")
|
||||
if filename:
|
||||
try:
|
||||
try:
|
||||
self.scene_manager.signal.sample_rate = self.device.sample_rate
|
||||
except Exception as e:
|
||||
logger.exception(e)
|
||||
|
||||
self.scene_manager.signal.save_as(filename)
|
||||
except Exception as e:
|
||||
QMessageBox.critical(self, self.tr("Error saving signal"), e.args[0])
|
||||
|
||||
@@ -133,12 +133,13 @@ def get_save_file_name(initial_name: str, wav_only=False, caption="Save signal")
|
||||
return filename
|
||||
|
||||
|
||||
def save_data_dialog(signal_name: str, data, wav_only=False, parent=None) -> str:
|
||||
def save_data_dialog(signal_name: str, data, sample_rate=1e6, wav_only=False, parent=None) -> str:
|
||||
filename = get_save_file_name(signal_name, wav_only)
|
||||
|
||||
if filename:
|
||||
try:
|
||||
save_data(data, filename)
|
||||
data = convert_data_to_format(data, filename)
|
||||
save_data(data, filename, sample_rate=sample_rate)
|
||||
except Exception as e:
|
||||
QMessageBox.critical(parent, "Error saving signal", e.args[0])
|
||||
filename = None
|
||||
|
||||
Reference in New Issue
Block a user