3333from friture .audiobackend import SAMPLING_RATE
3434from friture .qml_tools import qml_url , raise_if_error
3535
36+ from friture .spl_settings import SPL_Settings_Dialog
37+
3638SMOOTH_DISPLAY_TIMER_PERIOD_MS = 25
3739LEVEL_TEXT_LABEL_PERIOD_MS = 250
3840
@@ -73,6 +75,8 @@ def __init__(self, parent, engine):
7375 # initialize the settings dialog
7476 self .settings_dialog = Levels_Settings_Dialog (self )
7577
78+ self .calibration = 0
79+
7680 # initialize the class instance that will do the fft
7781 self .proc = audioproc ()
7882
@@ -136,6 +140,7 @@ def handle_new_data(self, floatdata):
136140 self .old_rms = value_rms
137141
138142 self .level_view_model .level_data .level_rms = 10. * np .log10 (value_rms + 0. * 1e-80 )
143+ self .level_view_model .level_data .level_spl = self .level_view_model .level_data .level_rms + 94.0 + self .calibration
139144 self .level_view_model .level_data .level_max = 20. * np .log10 (self .old_max + 0. * 1e-80 )
140145 self .level_view_model .level_data_ballistic .peak_iec = dB_to_IEC (max (self .level_view_model .level_data .level_max , self .level_view_model .level_data .level_rms ))
141146
@@ -156,7 +161,10 @@ def handle_new_data(self, floatdata):
156161 value_rms = pyx_exp_smoothed_value (self .kernel , self .alpha , y2 ** 2 , self .old_rms_2 )
157162 self .old_rms_2 = value_rms
158163
164+ value_spl = value_rms + 94.0 + self .calibration
165+
159166 self .level_view_model .level_data_2 .level_rms = 10. * np .log10 (value_rms + 0. * 1e-80 )
167+ self .level_view_model .level_data_2 .level_spl = self .level_view_model .level_data_2 .level_rms + 94.0 + self .calibration
160168 self .level_view_model .level_data_2 .level_max = 20. * np .log10 (self .old_max_2 + 0. * 1e-80 )
161169 self .level_view_model .level_data_ballistic_2 .peak_iec = dB_to_IEC (max (self .level_view_model .level_data_2 .level_max , self .level_view_model .level_data_2 .level_rms ))
162170
@@ -169,10 +177,12 @@ def canvasUpdate(self):
169177
170178 if self .i == LEVEL_TEXT_LABEL_STEPS :
171179 self .level_view_model .level_data_slow .level_rms = self .level_view_model .level_data .level_rms
180+ self .level_view_model .level_data_slow .level_spl = self .level_view_model .level_data .level_spl
172181 self .level_view_model .level_data_slow .level_max = self .level_view_model .level_data .level_max
173182
174183 if self .two_channels :
175184 self .level_view_model .level_data_slow_2 .level_rms = self .level_view_model .level_data_2 .level_rms
185+ self .level_view_model .level_data_slow_2 .level_spl = self .level_view_model .level_data_2 .level_spl
176186 self .level_view_model .level_data_slow_2 .level_max = self .level_view_model .level_data_2 .level_max
177187
178188 self .i = self .i % LEVEL_TEXT_LABEL_STEPS
0 commit comments