[feature] 服务测试

This commit is contained in:
Sam 2025-02-21 17:49:10 +08:00
parent 3e692d9272
commit 6140cba6ba
29 changed files with 891 additions and 88 deletions

3
.idea/misc.xml generated
View File

@ -1,4 +1,7 @@
<?xml version="1.0" encoding="UTF-8"?> <?xml version="1.0" encoding="UTF-8"?>
<project version="4"> <project version="4">
<component name="Black">
<option name="sdkName" value="Python 3.13" />
</component>
<component name="ProjectRootManager" version="2" project-jdk-name="Python 3.13" project-jdk-type="Python SDK" /> <component name="ProjectRootManager" version="2" project-jdk-name="Python 3.13" project-jdk-type="Python SDK" />
</project> </project>

1
.idea/vcs.xml generated
View File

@ -2,5 +2,6 @@
<project version="4"> <project version="4">
<component name="VcsDirectoryMappings"> <component name="VcsDirectoryMappings">
<mapping directory="" vcs="Git" /> <mapping directory="" vcs="Git" />
<mapping directory="$PROJECT_DIR$/param_struct_test" vcs="Git" />
</component> </component>
</project> </project>

57
app.py
View File

@ -1,3 +1,5 @@
import time
from component.widget_main.widget_main import Widget_Main from component.widget_main.widget_main import Widget_Main
from component.widget_channel.widget_channel import Widget_Channel from component.widget_channel.widget_channel import Widget_Channel
from component.widget_card.widget_card import Widget_Card from component.widget_card.widget_card import Widget_Card
@ -13,49 +15,49 @@ from PySide6.QtWidgets import QMainWindow, QPushButton, QVBoxLayout
from PySide6.QtWidgets import QWidget from PySide6.QtWidgets import QWidget
from PySide6.QtCore import QObject from PySide6.QtCore import QObject
class MainWindow(QWidget): class MainWindow(QWidget):
def __init__(self): def __init__(self):
super().__init__() super().__init__()
# 初始化服务 # 初始化服务
ServiceManager.instance().init_services("127.0.0.1", 1234) ServiceManager.instance().init_services("192.168.5.4", 12345)
# 初始化应用控制器 # 初始化应用控制器
self.app_controller = ApplicationController.instance() self.app_controller = ApplicationController.instance()
self.widget_main = Widget_Main() self.widget_main = Widget_Main()
self.widget_channel = Widget_Channel() self.widget_channel = Widget_Channel()
self.widget_card = Widget_Card() self.widget_card = Widget_Card()
# self.widget_main.ui.ListWidget_vLayout.addWidget(self.widget_card) # 添加测试按钮
self.test_button = QPushButton("Get_All")
self.test_button.clicked.connect(self.Get_All)
self.widget_main.ui.ListWidget_vLayout.addWidget(self.test_button)
self.widget_main.ui.ListWidget_vLayout.addWidget(self.widget_card)
self.widget_main.ui.Channel_hLayout.addWidget(self.widget_channel) self.widget_main.ui.Channel_hLayout.addWidget(self.widget_channel)
self.widget_filter_list = [] self.widget_filter_list = []
self.filter_controllers = [] # 存储控制器实例 self.filter_controllers = [] # 存储控制器实例
# 添加测试按钮
self.test_button = QPushButton("Test Communication")
self.test_button.clicked.connect(self.test_communication)
self.widget_main.ui.ListWidget_vLayout.addWidget(self.test_button)
self.create_filter_widget() self.create_filter_widget()
self.setup_connections() self.setup_connections()
def create_filter_widget(self): def create_filter_widget(self):
for i in range(24): for i in range(1, 7):
# 创建widget # 创建widget
filter_widget = AudioFilterWidget() filter_widget = AudioFilterWidget()
filter_widget.set_channel_id(i) filter_widget.set_channel_id(i)
filter_widget.set_channel_name(f"Channel {i+1}") filter_widget.set_channel_name(f"Channel {i}")
# 创建model和controller # 创建model和controller
model = AudioFilterModel(channel_id=i, channel_name=f"Channel {i+1}") model = AudioFilterModel(channel_id=i, channel_name=f"Channel {i}")
controller = AudioFilterController(model) controller = AudioFilterController(model)
controller.set_widget(filter_widget) controller.set_widget(filter_widget)
# 连接控制器信号 # 连接控制器信号
controller.error_occurred.connect(lambda msg: print(f"Error: {msg}")) controller.error_occurred.connect(lambda msg: print(f"Error: {msg}"))
controller.state_changed.connect(lambda state: print(f"State changed: {state}")) controller.state_changed.connect(lambda state: print(f"State changed: {state}"))
controller.params_synced.connect(lambda: print("Params synced")) controller.params_synced.connect(lambda: print("Params synced"))
# 存储实例 # 存储实例
self.widget_filter_list.append(filter_widget) self.widget_filter_list.append(filter_widget)
self.filter_controllers.append(controller) self.filter_controllers.append(controller)
@ -71,18 +73,29 @@ class MainWindow(QWidget):
def test_communication(self): def test_communication(self):
"""测试通信功能""" """测试通信功能"""
print("Testing communication...") print("Testing communication...")
# 测试第一个控制器的通信 # 测试第一个控制器的通信
if self.filter_controllers: if self.filter_controllers:
controller = self.filter_controllers[0] controller = self.filter_controllers[0]
# 测试从服务器加载数据 # 测试从服务器加载数据
print("Testing load from server...") print("Testing load from server...")
controller.load_from_server() controller.load_from_server()
# 测试同步数据到服务器 # 测试同步数据到服务器
print("Testing sync to server...") print("Testing sync to server...")
# controller.sync_to_server() controller.sync_to_server()
def Get_All(self):
try:
for controller in self.filter_controllers:
controller.load_from_server()
break
time.sleep(1)
print("Successfully loaded all filter data")
except Exception as e:
print(f"Error loading filter data: {e}")
if __name__ == '__main__': if __name__ == '__main__':
import sys import sys
@ -90,7 +103,7 @@ if __name__ == '__main__':
app = QApplication(sys.argv) app = QApplication(sys.argv)
main_window = MainWindow() main_window = MainWindow()
# # 添加测试卡片 # # 添加测试卡片
# for i in range(1, 11): # for i in range(1, 11):
# data = CardData( # data = CardData(
@ -99,6 +112,6 @@ if __name__ == '__main__':
# description=f"这是项目 {i} 的详细描述信息,可以包含多行文本内容。这是一个较长的描述,用于测试换行效果。" # description=f"这是项目 {i} 的详细描述信息,可以包含多行文本内容。这是一个较长的描述,用于测试换行效果。"
# ) # )
# main_window.widget_card.add_card_item(data) # main_window.widget_card.add_card_item(data)
main_window.widget_main.show() main_window.widget_main.show()
sys.exit(app.exec()) sys.exit(app.exec())

View File

@ -17,7 +17,7 @@ class MainWindow(QWidget):
def __init__(self): def __init__(self):
super().__init__() super().__init__()
# 初始化服务 # 初始化服务
ServiceManager.instance().init_services("127.0.0.1", 1234) ServiceManager.instance().init_services("192.168.5.4", 12345)
# 初始化应用控制器 # 初始化应用控制器
self.app_controller = ApplicationController.instance() self.app_controller = ApplicationController.instance()
@ -33,7 +33,7 @@ class MainWindow(QWidget):
# 添加测试按钮 # 添加测试按钮
self.test_button = QPushButton("Test Communication") self.test_button = QPushButton("Test Communication")
self.test_button.clicked.connect(self.test_communication) self.test_button.clicked.connect(self.Get_All)
self.widget_main.ui.ListWidget_vLayout.addWidget(self.test_button) self.widget_main.ui.ListWidget_vLayout.addWidget(self.test_button)
self.create_filter_widget() self.create_filter_widget()
@ -84,6 +84,14 @@ class MainWindow(QWidget):
print("Testing sync to server...") print("Testing sync to server...")
controller.sync_to_server() controller.sync_to_server()
def Get_All(self):
try:
for controller in self.filter_controllers:
controller.load_from_server()
print("Successfully loaded all filter data")
except Exception as e:
print(f"Error loading filter data: {e}")
if __name__ == '__main__': if __name__ == '__main__':
import sys import sys
from PySide6.QtWidgets import QApplication from PySide6.QtWidgets import QApplication

View File

@ -52,18 +52,22 @@ class ApplicationController(QObject):
def _on_service_request_complete(self, signal_proxy: SignalProxy): def _on_service_request_complete(self, signal_proxy: SignalProxy):
"""服务请求完成的槽函数""" """服务请求完成的槽函数"""
# 找到对应的controller_id # 找到对应的controller_id
print("CCCCCC:signal_proxy.data:", signal_proxy.data)
controller_id = self._get_controller_id_for_widget(signal_proxy.widget) # to do:这个槽函数要实现对信号的分发,但是不执行具体的业务,
# 每个具体的控制器只用注册对应的信号,然后执行具体的业务
# print("CCCCCC:signal_proxy.data:", signal_proxy.data)
# controller_id = self._get_controller_id_for_widget(signal_proxy.widget)
# 测试用 返回值类似这种格式 用来标机控件 # # 测试用 返回值类似这种格式 用来标记控件
controller_id = "audio_filter" # controller_id = "audio_filter"
if controller_id: # if controller_id:
# 转发信号 # # 转发信号
self.signal_params_updated.emit(ControllerSignalData( # self.signal_params_updated.emit(ControllerSignalData(
controller_id=controller_id, # controller_id=controller_id,
widget=signal_proxy.widget, # widget=signal_proxy.widget,
data=signal_proxy.data # data=signal_proxy.data
)) # ))
pass
def _get_controller_id_for_widget(self, widget: QObject) -> Optional[str]: def _get_controller_id_for_widget(self, widget: QObject) -> Optional[str]:
"""根据widget查找对应的controller_id""" """根据widget查找对应的controller_id"""

View File

@ -16,9 +16,8 @@ from typing import List, Dict, Optional, Any
from component.widget_filter.Ui_widget import Ui_Widget from component.widget_filter.Ui_widget import Ui_Widget
from component.widget_filter.checkbox_header import SCheckBoxHeaderView from component.widget_filter.checkbox_header import SCheckBoxHeaderView
from component.widget_filter.audio_filter_model import AudioFilterModel from component.widget_filter.audio_filter_model import AudioFilterModel, FilterParams, FilterType
from component.widget_filter.Ui_widget import Ui_Widget from component.widget_filter.Ui_widget import Ui_Widget
import component.widget_filter.resources import component.widget_filter.resources
@ -463,17 +462,17 @@ class AudioFilterWidget(QWidget):
"""处理参数值变化""" """处理参数值变化"""
if hasattr(self, 'model'): if hasattr(self, 'model'):
try: try:
float_value = float(value) # float_value = float(value)
# 更新model中的通道参数 # 更新model中的通道参数
channel_params = self.model.channel_params channel_params = self.model.channel_params
if param == 'delay': if param == 'delay':
channel_params.delay = float_value channel_params.delay = value
elif param == 'volume': elif param == 'volume':
channel_params.volume = float_value channel_params.volume = value
elif param == 'mix_right': elif param == 'mix_right':
channel_params.mix_right = float_value channel_params.mix_right = value
elif param == 'mix_left': elif param == 'mix_left':
channel_params.mix_left = float_value channel_params.mix_left = value
self.model.set_channel_params(channel_params) self.model.set_channel_params(channel_params)
except ValueError: except ValueError:
@ -529,7 +528,7 @@ class AudioFilterWidget(QWidget):
self.ui.tableWidget.setCellWidget(row, 2, combo) self.ui.tableWidget.setCellWidget(row, 2, combo)
# 创建新的滤波器项,使用唯一的默认名称 # 创建新的滤波器项,使用唯一的默认名称
self._update_table_row(row, { filter_data = {
'filter_name': f"Filter_{row}", # 使用行号创建唯一名称 'filter_name': f"Filter_{row}", # 使用行号创建唯一名称
'filter_type': self.filter_types[0], 'filter_type': self.filter_types[0],
'enabled': True, 'enabled': True,
@ -537,7 +536,22 @@ class AudioFilterWidget(QWidget):
'q': 0, 'q': 0,
'gain': 0, 'gain': 0,
'slope': 0 'slope': 0
}) }
# 更新表格
self._update_table_row(row, filter_data)
# 更新model数据
if hasattr(self, 'model'):
filter_params = FilterParams(
filter_type=FilterType[self.filter_types[0]],
frequency=float(filter_data['freq']),
q_value=float(filter_data['q']),
gain=float(filter_data['gain']),
slope=float(filter_data['slope']),
enabled=filter_data['enabled']
)
self.model.add_filter(filter_params)
# 发送信号 # 发送信号
self.filter_added.emit(self.filter_types[0]) self.filter_added.emit(self.filter_types[0])
@ -713,10 +727,10 @@ class AudioFilterWidget(QWidget):
# 连接模型信号到视图更新方法 # 连接模型信号到视图更新方法
self.model.dataChanged.connect(self._updateFromModel) self.model.dataChanged.connect(self._updateFromModel)
self.model.filterAdded.connect(self._handleFilterAdded) # self.model.filterAdded.connect(self._handleFilterAdded)
self.model.filterRemoved.connect(self._handleFilterRemoved) # self.model.filterRemoved.connect(self._handleFilterRemoved)
self.model.filterUpdated.connect(self._handleFilterUpdated) # self.model.filterUpdated.connect(self._handleFilterUpdated)
self.model.channelParamsChanged.connect(self._handleChannelParamsChanged) # self.model.channelParamsChanged.connect(self._handleChannelParamsChanged)
# 设置初始数据 # 设置初始数据
self.set_channel_id(model.channel_id) self.set_channel_id(model.channel_id)

View File

@ -8,6 +8,7 @@ from param_struct_test.params_service import ParamsService
from component.widget_filter.audio_filter_model import AudioFilterModel from component.widget_filter.audio_filter_model import AudioFilterModel
from component.widget_filter.audio_filter_componet import AudioFilterWidget from component.widget_filter.audio_filter_componet import AudioFilterWidget
from component.widget_filter.audio_filter_model import FilterParams, FilterType, ChannelParams from component.widget_filter.audio_filter_model import FilterParams, FilterType, ChannelParams
from param_struct_test.params_service import Response
class AudioControllerState(Enum): class AudioControllerState(Enum):
"""音频控制器状态""" """音频控制器状态"""
@ -78,6 +79,44 @@ class AudioFilterController(QObject):
# self.widget.filter_added.connect(self._on_widget_filter_added) # self.widget.filter_added.connect(self._on_widget_filter_added)
# self.widget.filter_deleted.connect(self._on_widget_filter_deleted) # self.widget.filter_deleted.connect(self._on_widget_filter_deleted)
# self.widget.filter_enabled_changed.connect(self._on_widget_filter_enabled_changed) # self.widget.filter_enabled_changed.connect(self._on_widget_filter_enabled_changed)
self.widget.send_params_clicked.connect(self.sync_to_server)
def _convert_struct_data_to_model(self, struct_data: Dict[str, Any]) -> Dict[str, Any]:
"""将结构体格式数据转换为模型数据"""
channel_params = ChannelParams(
delay=struct_data.get(f'tuning_parameters.delay_parameters[{self.model.channel_id-1}].delay_data', 0.0),
volume=struct_data.get(f'tuning_parameters.volume_parameters[{self.model.channel_id-1}].vol_data', 0.0),
mix_right=struct_data.get(f'tuning_parameters.mix_parameters[{self.model.channel_id-1}].mix_right_data', 0.0),
mix_left=struct_data.get(f'tuning_parameters.mix_parameters[{self.model.channel_id-1}].mix_left_data', 0.0)
)
filters = []
base_idx = (self.model.channel_id - 1) * 20 # 当前通道的均衡器起始索引
print("channel_id:", self.model.channel_id)
# 遍历当前通道的20个均衡器单元
for i in range(20):
idx = base_idx + i
fc_key = f'tuning_parameters.eq_parameters[{idx}].fc'
# 如果找不到该索引的频率参数,说明没有更多的均衡器数据了
if fc_key not in struct_data:
break
filter_params = FilterParams(
filter_type=FilterType(struct_data.get(f'tuning_parameters.eq_parameters[{idx}].filterType', 0)),
frequency=struct_data.get(f'tuning_parameters.eq_parameters[{idx}].fc', 0.0),
q_value=struct_data.get(f'tuning_parameters.eq_parameters[{idx}].q', 0.0),
gain=struct_data.get(f'tuning_parameters.eq_parameters[{idx}].gain', 0.0),
slope=struct_data.get(f'tuning_parameters.eq_parameters[{idx}].slope', 0.0)
)
filters.append(filter_params)
return {
'channel_id': self.model.channel_id,
'channel_name': self.model.channel_name,
'channel_params': channel_params,
'filters': filters
}
@Slot(ControllerSignalData) @Slot(ControllerSignalData)
def _on_params_updated(self, signal_data: ControllerSignalData): def _on_params_updated(self, signal_data: ControllerSignalData):
@ -87,66 +126,143 @@ class AudioFilterController(QObject):
try: try:
self.state = AudioControllerState.UPDATING self.state = AudioControllerState.UPDATING
data = signal_data.data struct_data = signal_data.data
# 使用ChannelParams类创建实例
channel_params = ChannelParams(
delay=data.get('delay_data1', 0.0),
volume=data.get('vol_data1', 0.0),
mix_right=data.get('mix_right_data1', 0.0),
mix_left=data.get('mix_left_data1', 0.0)
)
# 将结构体数据转换为模型数据
model_data = self._convert_struct_data_to_model(struct_data)
# 更新通道参数 # 更新通道参数
self.model.set_channel_params(channel_params) self.model.set_channel_params(model_data['channel_params'])
print("model_filters:", self.model.filters)
# 清除现有滤波器 # 清除现有滤波器并添加新的滤波器
self.model.filters.clear() # 使用filters列表的clear方法替代clear_filters self.model.filters.clear()
if model_data['channel_id'] == self.model.channel_id:
# 解析并添加滤波器参数 for filter_param in model_data['filters']:
# filter_index = 1 # self.model.add_filter(filter_param)
# while True: self.model.filters.append(filter_param)
# filter_type_value = data.get(f'filterType1_{filter_index}')
# if filter_type_value is None:
# break
# # 使用FilterParams类创建实例
# filter_params = FilterParams(
# filter_type=FilterType(filter_type_value),
# frequency=data.get(f'fc1_{filter_index}', 0.0),
# q_value=data.get(f'q1_{filter_index}', 0.0),
# gain=data.get(f'gain1_{filter_index}', 0.0),
# slope=data.get(f'slope1_{filter_index}', 0.0)
# )
# self.model.add_filter(filter_params)
# filter_index += 1
self.params_synced.emit() self.params_synced.emit()
self.state = AudioControllerState.IDLE self.state = AudioControllerState.IDLE
except Exception as e: except Exception as e:
self.state = AudioControllerState.ERROR self.state = AudioControllerState.ERROR
self.error_occurred.emit(f"Error updating params: {str(e)}") self.error_occurred.emit(f"更新参数时发生错误: {str(e)}")
def _on_params_updated_new(self, res: Response):
"""处理来自ApplicationController的参数更新信号"""
try:
self.state = AudioControllerState.UPDATING
struct_data = res.data
# 将结构体数据转换为模型数据
model_data = self._convert_struct_data_to_model(struct_data)
# 更新通道参数
self.model.set_channel_params(model_data['channel_params'])
# 清除现有滤波器
self.model.filters.clear()
if model_data['channel_id'] == self.model.channel_id:
for filter_param in model_data['filters']:
# 检查滤波器的关键参数是否都为0
if not (filter_param.frequency == 0 and
filter_param.q_value == 0 and
filter_param.gain == 0 and
filter_param.slope == 0):
self.model.filters.append(filter_param)
self.widget.setModel(self.model)
print("有效的滤波器数量:", len(self.model.filters))
except Exception as e:
self.state = AudioControllerState.ERROR
self.error_occurred.emit(f"更新参数时发生错误: {str(e)}")
def _convert_model_data_to_struct(self, model_data: Dict[str, Any]) -> Dict[str, Any]:
"""将模型数据转换为结构体格式"""
result = {}
channel_id = model_data['channel_id']
# 添加通道参数
channel_params = model_data['channel_params']
# 混音参数
result[f'tuning_parameters.mix_parameters[{channel_id}].ch_n'] = channel_id
result[f'tuning_parameters.mix_parameters[{channel_id}].mix_left_data'] = channel_params['mix_left']
result[f'tuning_parameters.mix_parameters[{channel_id}].mix_right_data'] = channel_params['mix_right']
# 延迟参数
result[f'tuning_parameters.delay_parameters[{channel_id}].ch_n'] = channel_id
result[f'tuning_parameters.delay_parameters[{channel_id}].delay_data'] = channel_params['delay']
# 音量参数
result[f'tuning_parameters.volume_parameters[{channel_id}].ch_n'] = channel_id
result[f'tuning_parameters.volume_parameters[{channel_id}].vol_data'] = channel_params['volume']
# 均衡器参数
for i, filter_param in enumerate(model_data['filters']):
base_idx = (channel_id) * 20 + i # 每个通道20个均衡器单元
result[f'tuning_parameters.eq_parameters[{base_idx}].fc'] = filter_param['frequency']
result[f'tuning_parameters.eq_parameters[{base_idx}].q'] = filter_param['q_value']
result[f'tuning_parameters.eq_parameters[{base_idx}].gain'] = filter_param['gain']
result[f'tuning_parameters.eq_parameters[{base_idx}].slope'] = filter_param['slope']
result[f'tuning_parameters.eq_parameters[{base_idx}].filterType'] = filter_param['filter_type'].value
return result
def sync_to_server(self): def sync_to_server(self):
"""同步数据到服务器""" """同步数据到服务器"""
try: try:
self.state = AudioControllerState.UPDATING self.state = AudioControllerState.UPDATING
params = self.model.get_all_data() params = self.model.get_all_data()
ServiceManager.instance().params_service.set_params(params) # 转换数据格式
struct_params = self._convert_model_data_to_struct(params)
print("sync_to_server:", struct_params)
ServiceManager.instance().params_service.set_params(self.widget, struct_params)
except Exception as e: except Exception as e:
self.state = AudioControllerState.ERROR self.state = AudioControllerState.ERROR
self.error_occurred.emit(f"Error syncing to server: {str(e)}") self.error_occurred.emit(f"Error syncing to server: {str(e)}")
def load_from_server(self): def load_from_server(self):
"""从服务器加载数据""" """从服务器加载数据"""
try: try:
print("BBBBBB:load_from_server")
self.state = AudioControllerState.UPDATING self.state = AudioControllerState.UPDATING
ServiceManager.instance().params_service.get_params(self.widget) channel_id = self.model.channel_id
# 构建需要获取的参数键列表
param_keys = []
# 添加通道基本参数的键
param_keys.extend([
f'tuning_parameters.mix_parameters[{channel_id}].ch_n',
f'tuning_parameters.mix_parameters[{channel_id}].mix_left_data',
f'tuning_parameters.mix_parameters[{channel_id}].mix_right_data',
f'tuning_parameters.delay_parameters[{channel_id}].ch_n',
f'tuning_parameters.delay_parameters[{channel_id}].delay_data',
f'tuning_parameters.volume_parameters[{channel_id}].ch_n',
f'tuning_parameters.volume_parameters[{channel_id}].vol_data'
])
# 添加当前通道的20个滤波器的所有参数键
base_idx = (channel_id) * 20
for i in range(20): # 固定生成20个滤波器的参数键
idx = base_idx + i
param_keys.extend([
f'tuning_parameters.eq_parameters[{idx}].fc',
f'tuning_parameters.eq_parameters[{idx}].q',
f'tuning_parameters.eq_parameters[{idx}].gain',
f'tuning_parameters.eq_parameters[{idx}].slope',
f'tuning_parameters.eq_parameters[{idx}].filterType'
])
print(f"aa param_keys:",param_keys)
ServiceManager.instance().params_service.get_params(
self.widget,
param_keys,
callback=self._on_params_updated_new
)
except Exception as e: except Exception as e:
self.state = AudioControllerState.ERROR self.state = AudioControllerState.ERROR
self.error_occurred.emit(f"Error loading from server: {str(e)}") self.error_occurred.emit(f"从服务器加载数据时发生错误: {str(e)}")
# 模型信号处理器 # 模型信号处理器
def _on_model_data_changed(self): def _on_model_data_changed(self):

View File

@ -88,7 +88,7 @@ class AudioFilterModel(QObject):
def add_filter(self, filter_params: FilterParams): def add_filter(self, filter_params: FilterParams):
"""添加新的滤波器""" """添加新的滤波器"""
self.filters.append(filter_params) self.filters.append(filter_params)
self.filterAdded.emit(len(self.filters) - 1) # self.filterAdded.emit(len(self.filters) - 1)
self.updateData() self.updateData()
def remove_filter(self, index: int): def remove_filter(self, index: int):

644
doc/struct_members.txt Normal file
View File

@ -0,0 +1,644 @@
dataset.audio_mode: offset 0 (int32_t)
dataset.send_action: offset 4 (int32_t)
dataset.tuning_parameters.mix_parameters[0].ch_n: offset 8 (int32_t)
dataset.tuning_parameters.mix_parameters[1].ch_n: offset 20 (int32_t)
dataset.tuning_parameters.mix_parameters[2].ch_n: offset 32 (int32_t)
dataset.tuning_parameters.mix_parameters[3].ch_n: offset 44 (int32_t)
dataset.tuning_parameters.mix_parameters[4].ch_n: offset 56 (int32_t)
dataset.tuning_parameters.mix_parameters[5].ch_n: offset 68 (int32_t)
dataset.tuning_parameters.mix_parameters[0].mix_left_data: offset 12 (float)
dataset.tuning_parameters.mix_parameters[1].mix_left_data: offset 24 (float)
dataset.tuning_parameters.mix_parameters[2].mix_left_data: offset 36 (float)
dataset.tuning_parameters.mix_parameters[3].mix_left_data: offset 48 (float)
dataset.tuning_parameters.mix_parameters[4].mix_left_data: offset 60 (float)
dataset.tuning_parameters.mix_parameters[5].mix_left_data: offset 72 (float)
dataset.tuning_parameters.mix_parameters[0].mix_right_data: offset 16 (float)
dataset.tuning_parameters.mix_parameters[1].mix_right_data: offset 28 (float)
dataset.tuning_parameters.mix_parameters[2].mix_right_data: offset 40 (float)
dataset.tuning_parameters.mix_parameters[3].mix_right_data: offset 52 (float)
dataset.tuning_parameters.mix_parameters[4].mix_right_data: offset 64 (float)
dataset.tuning_parameters.mix_parameters[5].mix_right_data: offset 76 (float)
dataset.tuning_parameters.eq_parameters[0].fc: offset 80 (float)
dataset.tuning_parameters.eq_parameters[1].fc: offset 100 (float)
dataset.tuning_parameters.eq_parameters[2].fc: offset 120 (float)
dataset.tuning_parameters.eq_parameters[3].fc: offset 140 (float)
dataset.tuning_parameters.eq_parameters[4].fc: offset 160 (float)
dataset.tuning_parameters.eq_parameters[5].fc: offset 180 (float)
dataset.tuning_parameters.eq_parameters[6].fc: offset 200 (float)
dataset.tuning_parameters.eq_parameters[7].fc: offset 220 (float)
dataset.tuning_parameters.eq_parameters[8].fc: offset 240 (float)
dataset.tuning_parameters.eq_parameters[9].fc: offset 260 (float)
dataset.tuning_parameters.eq_parameters[10].fc: offset 280 (float)
dataset.tuning_parameters.eq_parameters[11].fc: offset 300 (float)
dataset.tuning_parameters.eq_parameters[12].fc: offset 320 (float)
dataset.tuning_parameters.eq_parameters[13].fc: offset 340 (float)
dataset.tuning_parameters.eq_parameters[14].fc: offset 360 (float)
dataset.tuning_parameters.eq_parameters[15].fc: offset 380 (float)
dataset.tuning_parameters.eq_parameters[16].fc: offset 400 (float)
dataset.tuning_parameters.eq_parameters[17].fc: offset 420 (float)
dataset.tuning_parameters.eq_parameters[18].fc: offset 440 (float)
dataset.tuning_parameters.eq_parameters[19].fc: offset 460 (float)
dataset.tuning_parameters.eq_parameters[20].fc: offset 480 (float)
dataset.tuning_parameters.eq_parameters[21].fc: offset 500 (float)
dataset.tuning_parameters.eq_parameters[22].fc: offset 520 (float)
dataset.tuning_parameters.eq_parameters[23].fc: offset 540 (float)
dataset.tuning_parameters.eq_parameters[24].fc: offset 560 (float)
dataset.tuning_parameters.eq_parameters[25].fc: offset 580 (float)
dataset.tuning_parameters.eq_parameters[26].fc: offset 600 (float)
dataset.tuning_parameters.eq_parameters[27].fc: offset 620 (float)
dataset.tuning_parameters.eq_parameters[28].fc: offset 640 (float)
dataset.tuning_parameters.eq_parameters[29].fc: offset 660 (float)
dataset.tuning_parameters.eq_parameters[30].fc: offset 680 (float)
dataset.tuning_parameters.eq_parameters[31].fc: offset 700 (float)
dataset.tuning_parameters.eq_parameters[32].fc: offset 720 (float)
dataset.tuning_parameters.eq_parameters[33].fc: offset 740 (float)
dataset.tuning_parameters.eq_parameters[34].fc: offset 760 (float)
dataset.tuning_parameters.eq_parameters[35].fc: offset 780 (float)
dataset.tuning_parameters.eq_parameters[36].fc: offset 800 (float)
dataset.tuning_parameters.eq_parameters[37].fc: offset 820 (float)
dataset.tuning_parameters.eq_parameters[38].fc: offset 840 (float)
dataset.tuning_parameters.eq_parameters[39].fc: offset 860 (float)
dataset.tuning_parameters.eq_parameters[40].fc: offset 880 (float)
dataset.tuning_parameters.eq_parameters[41].fc: offset 900 (float)
dataset.tuning_parameters.eq_parameters[42].fc: offset 920 (float)
dataset.tuning_parameters.eq_parameters[43].fc: offset 940 (float)
dataset.tuning_parameters.eq_parameters[44].fc: offset 960 (float)
dataset.tuning_parameters.eq_parameters[45].fc: offset 980 (float)
dataset.tuning_parameters.eq_parameters[46].fc: offset 1000 (float)
dataset.tuning_parameters.eq_parameters[47].fc: offset 1020 (float)
dataset.tuning_parameters.eq_parameters[48].fc: offset 1040 (float)
dataset.tuning_parameters.eq_parameters[49].fc: offset 1060 (float)
dataset.tuning_parameters.eq_parameters[50].fc: offset 1080 (float)
dataset.tuning_parameters.eq_parameters[51].fc: offset 1100 (float)
dataset.tuning_parameters.eq_parameters[52].fc: offset 1120 (float)
dataset.tuning_parameters.eq_parameters[53].fc: offset 1140 (float)
dataset.tuning_parameters.eq_parameters[54].fc: offset 1160 (float)
dataset.tuning_parameters.eq_parameters[55].fc: offset 1180 (float)
dataset.tuning_parameters.eq_parameters[56].fc: offset 1200 (float)
dataset.tuning_parameters.eq_parameters[57].fc: offset 1220 (float)
dataset.tuning_parameters.eq_parameters[58].fc: offset 1240 (float)
dataset.tuning_parameters.eq_parameters[59].fc: offset 1260 (float)
dataset.tuning_parameters.eq_parameters[60].fc: offset 1280 (float)
dataset.tuning_parameters.eq_parameters[61].fc: offset 1300 (float)
dataset.tuning_parameters.eq_parameters[62].fc: offset 1320 (float)
dataset.tuning_parameters.eq_parameters[63].fc: offset 1340 (float)
dataset.tuning_parameters.eq_parameters[64].fc: offset 1360 (float)
dataset.tuning_parameters.eq_parameters[65].fc: offset 1380 (float)
dataset.tuning_parameters.eq_parameters[66].fc: offset 1400 (float)
dataset.tuning_parameters.eq_parameters[67].fc: offset 1420 (float)
dataset.tuning_parameters.eq_parameters[68].fc: offset 1440 (float)
dataset.tuning_parameters.eq_parameters[69].fc: offset 1460 (float)
dataset.tuning_parameters.eq_parameters[70].fc: offset 1480 (float)
dataset.tuning_parameters.eq_parameters[71].fc: offset 1500 (float)
dataset.tuning_parameters.eq_parameters[72].fc: offset 1520 (float)
dataset.tuning_parameters.eq_parameters[73].fc: offset 1540 (float)
dataset.tuning_parameters.eq_parameters[74].fc: offset 1560 (float)
dataset.tuning_parameters.eq_parameters[75].fc: offset 1580 (float)
dataset.tuning_parameters.eq_parameters[76].fc: offset 1600 (float)
dataset.tuning_parameters.eq_parameters[77].fc: offset 1620 (float)
dataset.tuning_parameters.eq_parameters[78].fc: offset 1640 (float)
dataset.tuning_parameters.eq_parameters[79].fc: offset 1660 (float)
dataset.tuning_parameters.eq_parameters[80].fc: offset 1680 (float)
dataset.tuning_parameters.eq_parameters[81].fc: offset 1700 (float)
dataset.tuning_parameters.eq_parameters[82].fc: offset 1720 (float)
dataset.tuning_parameters.eq_parameters[83].fc: offset 1740 (float)
dataset.tuning_parameters.eq_parameters[84].fc: offset 1760 (float)
dataset.tuning_parameters.eq_parameters[85].fc: offset 1780 (float)
dataset.tuning_parameters.eq_parameters[86].fc: offset 1800 (float)
dataset.tuning_parameters.eq_parameters[87].fc: offset 1820 (float)
dataset.tuning_parameters.eq_parameters[88].fc: offset 1840 (float)
dataset.tuning_parameters.eq_parameters[89].fc: offset 1860 (float)
dataset.tuning_parameters.eq_parameters[90].fc: offset 1880 (float)
dataset.tuning_parameters.eq_parameters[91].fc: offset 1900 (float)
dataset.tuning_parameters.eq_parameters[92].fc: offset 1920 (float)
dataset.tuning_parameters.eq_parameters[93].fc: offset 1940 (float)
dataset.tuning_parameters.eq_parameters[94].fc: offset 1960 (float)
dataset.tuning_parameters.eq_parameters[95].fc: offset 1980 (float)
dataset.tuning_parameters.eq_parameters[96].fc: offset 2000 (float)
dataset.tuning_parameters.eq_parameters[97].fc: offset 2020 (float)
dataset.tuning_parameters.eq_parameters[98].fc: offset 2040 (float)
dataset.tuning_parameters.eq_parameters[99].fc: offset 2060 (float)
dataset.tuning_parameters.eq_parameters[100].fc: offset 2080 (float)
dataset.tuning_parameters.eq_parameters[101].fc: offset 2100 (float)
dataset.tuning_parameters.eq_parameters[102].fc: offset 2120 (float)
dataset.tuning_parameters.eq_parameters[103].fc: offset 2140 (float)
dataset.tuning_parameters.eq_parameters[104].fc: offset 2160 (float)
dataset.tuning_parameters.eq_parameters[105].fc: offset 2180 (float)
dataset.tuning_parameters.eq_parameters[106].fc: offset 2200 (float)
dataset.tuning_parameters.eq_parameters[107].fc: offset 2220 (float)
dataset.tuning_parameters.eq_parameters[108].fc: offset 2240 (float)
dataset.tuning_parameters.eq_parameters[109].fc: offset 2260 (float)
dataset.tuning_parameters.eq_parameters[110].fc: offset 2280 (float)
dataset.tuning_parameters.eq_parameters[111].fc: offset 2300 (float)
dataset.tuning_parameters.eq_parameters[112].fc: offset 2320 (float)
dataset.tuning_parameters.eq_parameters[113].fc: offset 2340 (float)
dataset.tuning_parameters.eq_parameters[114].fc: offset 2360 (float)
dataset.tuning_parameters.eq_parameters[115].fc: offset 2380 (float)
dataset.tuning_parameters.eq_parameters[116].fc: offset 2400 (float)
dataset.tuning_parameters.eq_parameters[117].fc: offset 2420 (float)
dataset.tuning_parameters.eq_parameters[118].fc: offset 2440 (float)
dataset.tuning_parameters.eq_parameters[119].fc: offset 2460 (float)
dataset.tuning_parameters.eq_parameters[0].q: offset 84 (float)
dataset.tuning_parameters.eq_parameters[1].q: offset 104 (float)
dataset.tuning_parameters.eq_parameters[2].q: offset 124 (float)
dataset.tuning_parameters.eq_parameters[3].q: offset 144 (float)
dataset.tuning_parameters.eq_parameters[4].q: offset 164 (float)
dataset.tuning_parameters.eq_parameters[5].q: offset 184 (float)
dataset.tuning_parameters.eq_parameters[6].q: offset 204 (float)
dataset.tuning_parameters.eq_parameters[7].q: offset 224 (float)
dataset.tuning_parameters.eq_parameters[8].q: offset 244 (float)
dataset.tuning_parameters.eq_parameters[9].q: offset 264 (float)
dataset.tuning_parameters.eq_parameters[10].q: offset 284 (float)
dataset.tuning_parameters.eq_parameters[11].q: offset 304 (float)
dataset.tuning_parameters.eq_parameters[12].q: offset 324 (float)
dataset.tuning_parameters.eq_parameters[13].q: offset 344 (float)
dataset.tuning_parameters.eq_parameters[14].q: offset 364 (float)
dataset.tuning_parameters.eq_parameters[15].q: offset 384 (float)
dataset.tuning_parameters.eq_parameters[16].q: offset 404 (float)
dataset.tuning_parameters.eq_parameters[17].q: offset 424 (float)
dataset.tuning_parameters.eq_parameters[18].q: offset 444 (float)
dataset.tuning_parameters.eq_parameters[19].q: offset 464 (float)
dataset.tuning_parameters.eq_parameters[20].q: offset 484 (float)
dataset.tuning_parameters.eq_parameters[21].q: offset 504 (float)
dataset.tuning_parameters.eq_parameters[22].q: offset 524 (float)
dataset.tuning_parameters.eq_parameters[23].q: offset 544 (float)
dataset.tuning_parameters.eq_parameters[24].q: offset 564 (float)
dataset.tuning_parameters.eq_parameters[25].q: offset 584 (float)
dataset.tuning_parameters.eq_parameters[26].q: offset 604 (float)
dataset.tuning_parameters.eq_parameters[27].q: offset 624 (float)
dataset.tuning_parameters.eq_parameters[28].q: offset 644 (float)
dataset.tuning_parameters.eq_parameters[29].q: offset 664 (float)
dataset.tuning_parameters.eq_parameters[30].q: offset 684 (float)
dataset.tuning_parameters.eq_parameters[31].q: offset 704 (float)
dataset.tuning_parameters.eq_parameters[32].q: offset 724 (float)
dataset.tuning_parameters.eq_parameters[33].q: offset 744 (float)
dataset.tuning_parameters.eq_parameters[34].q: offset 764 (float)
dataset.tuning_parameters.eq_parameters[35].q: offset 784 (float)
dataset.tuning_parameters.eq_parameters[36].q: offset 804 (float)
dataset.tuning_parameters.eq_parameters[37].q: offset 824 (float)
dataset.tuning_parameters.eq_parameters[38].q: offset 844 (float)
dataset.tuning_parameters.eq_parameters[39].q: offset 864 (float)
dataset.tuning_parameters.eq_parameters[40].q: offset 884 (float)
dataset.tuning_parameters.eq_parameters[41].q: offset 904 (float)
dataset.tuning_parameters.eq_parameters[42].q: offset 924 (float)
dataset.tuning_parameters.eq_parameters[43].q: offset 944 (float)
dataset.tuning_parameters.eq_parameters[44].q: offset 964 (float)
dataset.tuning_parameters.eq_parameters[45].q: offset 984 (float)
dataset.tuning_parameters.eq_parameters[46].q: offset 1004 (float)
dataset.tuning_parameters.eq_parameters[47].q: offset 1024 (float)
dataset.tuning_parameters.eq_parameters[48].q: offset 1044 (float)
dataset.tuning_parameters.eq_parameters[49].q: offset 1064 (float)
dataset.tuning_parameters.eq_parameters[50].q: offset 1084 (float)
dataset.tuning_parameters.eq_parameters[51].q: offset 1104 (float)
dataset.tuning_parameters.eq_parameters[52].q: offset 1124 (float)
dataset.tuning_parameters.eq_parameters[53].q: offset 1144 (float)
dataset.tuning_parameters.eq_parameters[54].q: offset 1164 (float)
dataset.tuning_parameters.eq_parameters[55].q: offset 1184 (float)
dataset.tuning_parameters.eq_parameters[56].q: offset 1204 (float)
dataset.tuning_parameters.eq_parameters[57].q: offset 1224 (float)
dataset.tuning_parameters.eq_parameters[58].q: offset 1244 (float)
dataset.tuning_parameters.eq_parameters[59].q: offset 1264 (float)
dataset.tuning_parameters.eq_parameters[60].q: offset 1284 (float)
dataset.tuning_parameters.eq_parameters[61].q: offset 1304 (float)
dataset.tuning_parameters.eq_parameters[62].q: offset 1324 (float)
dataset.tuning_parameters.eq_parameters[63].q: offset 1344 (float)
dataset.tuning_parameters.eq_parameters[64].q: offset 1364 (float)
dataset.tuning_parameters.eq_parameters[65].q: offset 1384 (float)
dataset.tuning_parameters.eq_parameters[66].q: offset 1404 (float)
dataset.tuning_parameters.eq_parameters[67].q: offset 1424 (float)
dataset.tuning_parameters.eq_parameters[68].q: offset 1444 (float)
dataset.tuning_parameters.eq_parameters[69].q: offset 1464 (float)
dataset.tuning_parameters.eq_parameters[70].q: offset 1484 (float)
dataset.tuning_parameters.eq_parameters[71].q: offset 1504 (float)
dataset.tuning_parameters.eq_parameters[72].q: offset 1524 (float)
dataset.tuning_parameters.eq_parameters[73].q: offset 1544 (float)
dataset.tuning_parameters.eq_parameters[74].q: offset 1564 (float)
dataset.tuning_parameters.eq_parameters[75].q: offset 1584 (float)
dataset.tuning_parameters.eq_parameters[76].q: offset 1604 (float)
dataset.tuning_parameters.eq_parameters[77].q: offset 1624 (float)
dataset.tuning_parameters.eq_parameters[78].q: offset 1644 (float)
dataset.tuning_parameters.eq_parameters[79].q: offset 1664 (float)
dataset.tuning_parameters.eq_parameters[80].q: offset 1684 (float)
dataset.tuning_parameters.eq_parameters[81].q: offset 1704 (float)
dataset.tuning_parameters.eq_parameters[82].q: offset 1724 (float)
dataset.tuning_parameters.eq_parameters[83].q: offset 1744 (float)
dataset.tuning_parameters.eq_parameters[84].q: offset 1764 (float)
dataset.tuning_parameters.eq_parameters[85].q: offset 1784 (float)
dataset.tuning_parameters.eq_parameters[86].q: offset 1804 (float)
dataset.tuning_parameters.eq_parameters[87].q: offset 1824 (float)
dataset.tuning_parameters.eq_parameters[88].q: offset 1844 (float)
dataset.tuning_parameters.eq_parameters[89].q: offset 1864 (float)
dataset.tuning_parameters.eq_parameters[90].q: offset 1884 (float)
dataset.tuning_parameters.eq_parameters[91].q: offset 1904 (float)
dataset.tuning_parameters.eq_parameters[92].q: offset 1924 (float)
dataset.tuning_parameters.eq_parameters[93].q: offset 1944 (float)
dataset.tuning_parameters.eq_parameters[94].q: offset 1964 (float)
dataset.tuning_parameters.eq_parameters[95].q: offset 1984 (float)
dataset.tuning_parameters.eq_parameters[96].q: offset 2004 (float)
dataset.tuning_parameters.eq_parameters[97].q: offset 2024 (float)
dataset.tuning_parameters.eq_parameters[98].q: offset 2044 (float)
dataset.tuning_parameters.eq_parameters[99].q: offset 2064 (float)
dataset.tuning_parameters.eq_parameters[100].q: offset 2084 (float)
dataset.tuning_parameters.eq_parameters[101].q: offset 2104 (float)
dataset.tuning_parameters.eq_parameters[102].q: offset 2124 (float)
dataset.tuning_parameters.eq_parameters[103].q: offset 2144 (float)
dataset.tuning_parameters.eq_parameters[104].q: offset 2164 (float)
dataset.tuning_parameters.eq_parameters[105].q: offset 2184 (float)
dataset.tuning_parameters.eq_parameters[106].q: offset 2204 (float)
dataset.tuning_parameters.eq_parameters[107].q: offset 2224 (float)
dataset.tuning_parameters.eq_parameters[108].q: offset 2244 (float)
dataset.tuning_parameters.eq_parameters[109].q: offset 2264 (float)
dataset.tuning_parameters.eq_parameters[110].q: offset 2284 (float)
dataset.tuning_parameters.eq_parameters[111].q: offset 2304 (float)
dataset.tuning_parameters.eq_parameters[112].q: offset 2324 (float)
dataset.tuning_parameters.eq_parameters[113].q: offset 2344 (float)
dataset.tuning_parameters.eq_parameters[114].q: offset 2364 (float)
dataset.tuning_parameters.eq_parameters[115].q: offset 2384 (float)
dataset.tuning_parameters.eq_parameters[116].q: offset 2404 (float)
dataset.tuning_parameters.eq_parameters[117].q: offset 2424 (float)
dataset.tuning_parameters.eq_parameters[118].q: offset 2444 (float)
dataset.tuning_parameters.eq_parameters[119].q: offset 2464 (float)
dataset.tuning_parameters.eq_parameters[0].gain: offset 88 (float)
dataset.tuning_parameters.eq_parameters[1].gain: offset 108 (float)
dataset.tuning_parameters.eq_parameters[2].gain: offset 128 (float)
dataset.tuning_parameters.eq_parameters[3].gain: offset 148 (float)
dataset.tuning_parameters.eq_parameters[4].gain: offset 168 (float)
dataset.tuning_parameters.eq_parameters[5].gain: offset 188 (float)
dataset.tuning_parameters.eq_parameters[6].gain: offset 208 (float)
dataset.tuning_parameters.eq_parameters[7].gain: offset 228 (float)
dataset.tuning_parameters.eq_parameters[8].gain: offset 248 (float)
dataset.tuning_parameters.eq_parameters[9].gain: offset 268 (float)
dataset.tuning_parameters.eq_parameters[10].gain: offset 288 (float)
dataset.tuning_parameters.eq_parameters[11].gain: offset 308 (float)
dataset.tuning_parameters.eq_parameters[12].gain: offset 328 (float)
dataset.tuning_parameters.eq_parameters[13].gain: offset 348 (float)
dataset.tuning_parameters.eq_parameters[14].gain: offset 368 (float)
dataset.tuning_parameters.eq_parameters[15].gain: offset 388 (float)
dataset.tuning_parameters.eq_parameters[16].gain: offset 408 (float)
dataset.tuning_parameters.eq_parameters[17].gain: offset 428 (float)
dataset.tuning_parameters.eq_parameters[18].gain: offset 448 (float)
dataset.tuning_parameters.eq_parameters[19].gain: offset 468 (float)
dataset.tuning_parameters.eq_parameters[20].gain: offset 488 (float)
dataset.tuning_parameters.eq_parameters[21].gain: offset 508 (float)
dataset.tuning_parameters.eq_parameters[22].gain: offset 528 (float)
dataset.tuning_parameters.eq_parameters[23].gain: offset 548 (float)
dataset.tuning_parameters.eq_parameters[24].gain: offset 568 (float)
dataset.tuning_parameters.eq_parameters[25].gain: offset 588 (float)
dataset.tuning_parameters.eq_parameters[26].gain: offset 608 (float)
dataset.tuning_parameters.eq_parameters[27].gain: offset 628 (float)
dataset.tuning_parameters.eq_parameters[28].gain: offset 648 (float)
dataset.tuning_parameters.eq_parameters[29].gain: offset 668 (float)
dataset.tuning_parameters.eq_parameters[30].gain: offset 688 (float)
dataset.tuning_parameters.eq_parameters[31].gain: offset 708 (float)
dataset.tuning_parameters.eq_parameters[32].gain: offset 728 (float)
dataset.tuning_parameters.eq_parameters[33].gain: offset 748 (float)
dataset.tuning_parameters.eq_parameters[34].gain: offset 768 (float)
dataset.tuning_parameters.eq_parameters[35].gain: offset 788 (float)
dataset.tuning_parameters.eq_parameters[36].gain: offset 808 (float)
dataset.tuning_parameters.eq_parameters[37].gain: offset 828 (float)
dataset.tuning_parameters.eq_parameters[38].gain: offset 848 (float)
dataset.tuning_parameters.eq_parameters[39].gain: offset 868 (float)
dataset.tuning_parameters.eq_parameters[40].gain: offset 888 (float)
dataset.tuning_parameters.eq_parameters[41].gain: offset 908 (float)
dataset.tuning_parameters.eq_parameters[42].gain: offset 928 (float)
dataset.tuning_parameters.eq_parameters[43].gain: offset 948 (float)
dataset.tuning_parameters.eq_parameters[44].gain: offset 968 (float)
dataset.tuning_parameters.eq_parameters[45].gain: offset 988 (float)
dataset.tuning_parameters.eq_parameters[46].gain: offset 1008 (float)
dataset.tuning_parameters.eq_parameters[47].gain: offset 1028 (float)
dataset.tuning_parameters.eq_parameters[48].gain: offset 1048 (float)
dataset.tuning_parameters.eq_parameters[49].gain: offset 1068 (float)
dataset.tuning_parameters.eq_parameters[50].gain: offset 1088 (float)
dataset.tuning_parameters.eq_parameters[51].gain: offset 1108 (float)
dataset.tuning_parameters.eq_parameters[52].gain: offset 1128 (float)
dataset.tuning_parameters.eq_parameters[53].gain: offset 1148 (float)
dataset.tuning_parameters.eq_parameters[54].gain: offset 1168 (float)
dataset.tuning_parameters.eq_parameters[55].gain: offset 1188 (float)
dataset.tuning_parameters.eq_parameters[56].gain: offset 1208 (float)
dataset.tuning_parameters.eq_parameters[57].gain: offset 1228 (float)
dataset.tuning_parameters.eq_parameters[58].gain: offset 1248 (float)
dataset.tuning_parameters.eq_parameters[59].gain: offset 1268 (float)
dataset.tuning_parameters.eq_parameters[60].gain: offset 1288 (float)
dataset.tuning_parameters.eq_parameters[61].gain: offset 1308 (float)
dataset.tuning_parameters.eq_parameters[62].gain: offset 1328 (float)
dataset.tuning_parameters.eq_parameters[63].gain: offset 1348 (float)
dataset.tuning_parameters.eq_parameters[64].gain: offset 1368 (float)
dataset.tuning_parameters.eq_parameters[65].gain: offset 1388 (float)
dataset.tuning_parameters.eq_parameters[66].gain: offset 1408 (float)
dataset.tuning_parameters.eq_parameters[67].gain: offset 1428 (float)
dataset.tuning_parameters.eq_parameters[68].gain: offset 1448 (float)
dataset.tuning_parameters.eq_parameters[69].gain: offset 1468 (float)
dataset.tuning_parameters.eq_parameters[70].gain: offset 1488 (float)
dataset.tuning_parameters.eq_parameters[71].gain: offset 1508 (float)
dataset.tuning_parameters.eq_parameters[72].gain: offset 1528 (float)
dataset.tuning_parameters.eq_parameters[73].gain: offset 1548 (float)
dataset.tuning_parameters.eq_parameters[74].gain: offset 1568 (float)
dataset.tuning_parameters.eq_parameters[75].gain: offset 1588 (float)
dataset.tuning_parameters.eq_parameters[76].gain: offset 1608 (float)
dataset.tuning_parameters.eq_parameters[77].gain: offset 1628 (float)
dataset.tuning_parameters.eq_parameters[78].gain: offset 1648 (float)
dataset.tuning_parameters.eq_parameters[79].gain: offset 1668 (float)
dataset.tuning_parameters.eq_parameters[80].gain: offset 1688 (float)
dataset.tuning_parameters.eq_parameters[81].gain: offset 1708 (float)
dataset.tuning_parameters.eq_parameters[82].gain: offset 1728 (float)
dataset.tuning_parameters.eq_parameters[83].gain: offset 1748 (float)
dataset.tuning_parameters.eq_parameters[84].gain: offset 1768 (float)
dataset.tuning_parameters.eq_parameters[85].gain: offset 1788 (float)
dataset.tuning_parameters.eq_parameters[86].gain: offset 1808 (float)
dataset.tuning_parameters.eq_parameters[87].gain: offset 1828 (float)
dataset.tuning_parameters.eq_parameters[88].gain: offset 1848 (float)
dataset.tuning_parameters.eq_parameters[89].gain: offset 1868 (float)
dataset.tuning_parameters.eq_parameters[90].gain: offset 1888 (float)
dataset.tuning_parameters.eq_parameters[91].gain: offset 1908 (float)
dataset.tuning_parameters.eq_parameters[92].gain: offset 1928 (float)
dataset.tuning_parameters.eq_parameters[93].gain: offset 1948 (float)
dataset.tuning_parameters.eq_parameters[94].gain: offset 1968 (float)
dataset.tuning_parameters.eq_parameters[95].gain: offset 1988 (float)
dataset.tuning_parameters.eq_parameters[96].gain: offset 2008 (float)
dataset.tuning_parameters.eq_parameters[97].gain: offset 2028 (float)
dataset.tuning_parameters.eq_parameters[98].gain: offset 2048 (float)
dataset.tuning_parameters.eq_parameters[99].gain: offset 2068 (float)
dataset.tuning_parameters.eq_parameters[100].gain: offset 2088 (float)
dataset.tuning_parameters.eq_parameters[101].gain: offset 2108 (float)
dataset.tuning_parameters.eq_parameters[102].gain: offset 2128 (float)
dataset.tuning_parameters.eq_parameters[103].gain: offset 2148 (float)
dataset.tuning_parameters.eq_parameters[104].gain: offset 2168 (float)
dataset.tuning_parameters.eq_parameters[105].gain: offset 2188 (float)
dataset.tuning_parameters.eq_parameters[106].gain: offset 2208 (float)
dataset.tuning_parameters.eq_parameters[107].gain: offset 2228 (float)
dataset.tuning_parameters.eq_parameters[108].gain: offset 2248 (float)
dataset.tuning_parameters.eq_parameters[109].gain: offset 2268 (float)
dataset.tuning_parameters.eq_parameters[110].gain: offset 2288 (float)
dataset.tuning_parameters.eq_parameters[111].gain: offset 2308 (float)
dataset.tuning_parameters.eq_parameters[112].gain: offset 2328 (float)
dataset.tuning_parameters.eq_parameters[113].gain: offset 2348 (float)
dataset.tuning_parameters.eq_parameters[114].gain: offset 2368 (float)
dataset.tuning_parameters.eq_parameters[115].gain: offset 2388 (float)
dataset.tuning_parameters.eq_parameters[116].gain: offset 2408 (float)
dataset.tuning_parameters.eq_parameters[117].gain: offset 2428 (float)
dataset.tuning_parameters.eq_parameters[118].gain: offset 2448 (float)
dataset.tuning_parameters.eq_parameters[119].gain: offset 2468 (float)
dataset.tuning_parameters.eq_parameters[0].slope: offset 92 (int32_t)
dataset.tuning_parameters.eq_parameters[1].slope: offset 112 (int32_t)
dataset.tuning_parameters.eq_parameters[2].slope: offset 132 (int32_t)
dataset.tuning_parameters.eq_parameters[3].slope: offset 152 (int32_t)
dataset.tuning_parameters.eq_parameters[4].slope: offset 172 (int32_t)
dataset.tuning_parameters.eq_parameters[5].slope: offset 192 (int32_t)
dataset.tuning_parameters.eq_parameters[6].slope: offset 212 (int32_t)
dataset.tuning_parameters.eq_parameters[7].slope: offset 232 (int32_t)
dataset.tuning_parameters.eq_parameters[8].slope: offset 252 (int32_t)
dataset.tuning_parameters.eq_parameters[9].slope: offset 272 (int32_t)
dataset.tuning_parameters.eq_parameters[10].slope: offset 292 (int32_t)
dataset.tuning_parameters.eq_parameters[11].slope: offset 312 (int32_t)
dataset.tuning_parameters.eq_parameters[12].slope: offset 332 (int32_t)
dataset.tuning_parameters.eq_parameters[13].slope: offset 352 (int32_t)
dataset.tuning_parameters.eq_parameters[14].slope: offset 372 (int32_t)
dataset.tuning_parameters.eq_parameters[15].slope: offset 392 (int32_t)
dataset.tuning_parameters.eq_parameters[16].slope: offset 412 (int32_t)
dataset.tuning_parameters.eq_parameters[17].slope: offset 432 (int32_t)
dataset.tuning_parameters.eq_parameters[18].slope: offset 452 (int32_t)
dataset.tuning_parameters.eq_parameters[19].slope: offset 472 (int32_t)
dataset.tuning_parameters.eq_parameters[20].slope: offset 492 (int32_t)
dataset.tuning_parameters.eq_parameters[21].slope: offset 512 (int32_t)
dataset.tuning_parameters.eq_parameters[22].slope: offset 532 (int32_t)
dataset.tuning_parameters.eq_parameters[23].slope: offset 552 (int32_t)
dataset.tuning_parameters.eq_parameters[24].slope: offset 572 (int32_t)
dataset.tuning_parameters.eq_parameters[25].slope: offset 592 (int32_t)
dataset.tuning_parameters.eq_parameters[26].slope: offset 612 (int32_t)
dataset.tuning_parameters.eq_parameters[27].slope: offset 632 (int32_t)
dataset.tuning_parameters.eq_parameters[28].slope: offset 652 (int32_t)
dataset.tuning_parameters.eq_parameters[29].slope: offset 672 (int32_t)
dataset.tuning_parameters.eq_parameters[30].slope: offset 692 (int32_t)
dataset.tuning_parameters.eq_parameters[31].slope: offset 712 (int32_t)
dataset.tuning_parameters.eq_parameters[32].slope: offset 732 (int32_t)
dataset.tuning_parameters.eq_parameters[33].slope: offset 752 (int32_t)
dataset.tuning_parameters.eq_parameters[34].slope: offset 772 (int32_t)
dataset.tuning_parameters.eq_parameters[35].slope: offset 792 (int32_t)
dataset.tuning_parameters.eq_parameters[36].slope: offset 812 (int32_t)
dataset.tuning_parameters.eq_parameters[37].slope: offset 832 (int32_t)
dataset.tuning_parameters.eq_parameters[38].slope: offset 852 (int32_t)
dataset.tuning_parameters.eq_parameters[39].slope: offset 872 (int32_t)
dataset.tuning_parameters.eq_parameters[40].slope: offset 892 (int32_t)
dataset.tuning_parameters.eq_parameters[41].slope: offset 912 (int32_t)
dataset.tuning_parameters.eq_parameters[42].slope: offset 932 (int32_t)
dataset.tuning_parameters.eq_parameters[43].slope: offset 952 (int32_t)
dataset.tuning_parameters.eq_parameters[44].slope: offset 972 (int32_t)
dataset.tuning_parameters.eq_parameters[45].slope: offset 992 (int32_t)
dataset.tuning_parameters.eq_parameters[46].slope: offset 1012 (int32_t)
dataset.tuning_parameters.eq_parameters[47].slope: offset 1032 (int32_t)
dataset.tuning_parameters.eq_parameters[48].slope: offset 1052 (int32_t)
dataset.tuning_parameters.eq_parameters[49].slope: offset 1072 (int32_t)
dataset.tuning_parameters.eq_parameters[50].slope: offset 1092 (int32_t)
dataset.tuning_parameters.eq_parameters[51].slope: offset 1112 (int32_t)
dataset.tuning_parameters.eq_parameters[52].slope: offset 1132 (int32_t)
dataset.tuning_parameters.eq_parameters[53].slope: offset 1152 (int32_t)
dataset.tuning_parameters.eq_parameters[54].slope: offset 1172 (int32_t)
dataset.tuning_parameters.eq_parameters[55].slope: offset 1192 (int32_t)
dataset.tuning_parameters.eq_parameters[56].slope: offset 1212 (int32_t)
dataset.tuning_parameters.eq_parameters[57].slope: offset 1232 (int32_t)
dataset.tuning_parameters.eq_parameters[58].slope: offset 1252 (int32_t)
dataset.tuning_parameters.eq_parameters[59].slope: offset 1272 (int32_t)
dataset.tuning_parameters.eq_parameters[60].slope: offset 1292 (int32_t)
dataset.tuning_parameters.eq_parameters[61].slope: offset 1312 (int32_t)
dataset.tuning_parameters.eq_parameters[62].slope: offset 1332 (int32_t)
dataset.tuning_parameters.eq_parameters[63].slope: offset 1352 (int32_t)
dataset.tuning_parameters.eq_parameters[64].slope: offset 1372 (int32_t)
dataset.tuning_parameters.eq_parameters[65].slope: offset 1392 (int32_t)
dataset.tuning_parameters.eq_parameters[66].slope: offset 1412 (int32_t)
dataset.tuning_parameters.eq_parameters[67].slope: offset 1432 (int32_t)
dataset.tuning_parameters.eq_parameters[68].slope: offset 1452 (int32_t)
dataset.tuning_parameters.eq_parameters[69].slope: offset 1472 (int32_t)
dataset.tuning_parameters.eq_parameters[70].slope: offset 1492 (int32_t)
dataset.tuning_parameters.eq_parameters[71].slope: offset 1512 (int32_t)
dataset.tuning_parameters.eq_parameters[72].slope: offset 1532 (int32_t)
dataset.tuning_parameters.eq_parameters[73].slope: offset 1552 (int32_t)
dataset.tuning_parameters.eq_parameters[74].slope: offset 1572 (int32_t)
dataset.tuning_parameters.eq_parameters[75].slope: offset 1592 (int32_t)
dataset.tuning_parameters.eq_parameters[76].slope: offset 1612 (int32_t)
dataset.tuning_parameters.eq_parameters[77].slope: offset 1632 (int32_t)
dataset.tuning_parameters.eq_parameters[78].slope: offset 1652 (int32_t)
dataset.tuning_parameters.eq_parameters[79].slope: offset 1672 (int32_t)
dataset.tuning_parameters.eq_parameters[80].slope: offset 1692 (int32_t)
dataset.tuning_parameters.eq_parameters[81].slope: offset 1712 (int32_t)
dataset.tuning_parameters.eq_parameters[82].slope: offset 1732 (int32_t)
dataset.tuning_parameters.eq_parameters[83].slope: offset 1752 (int32_t)
dataset.tuning_parameters.eq_parameters[84].slope: offset 1772 (int32_t)
dataset.tuning_parameters.eq_parameters[85].slope: offset 1792 (int32_t)
dataset.tuning_parameters.eq_parameters[86].slope: offset 1812 (int32_t)
dataset.tuning_parameters.eq_parameters[87].slope: offset 1832 (int32_t)
dataset.tuning_parameters.eq_parameters[88].slope: offset 1852 (int32_t)
dataset.tuning_parameters.eq_parameters[89].slope: offset 1872 (int32_t)
dataset.tuning_parameters.eq_parameters[90].slope: offset 1892 (int32_t)
dataset.tuning_parameters.eq_parameters[91].slope: offset 1912 (int32_t)
dataset.tuning_parameters.eq_parameters[92].slope: offset 1932 (int32_t)
dataset.tuning_parameters.eq_parameters[93].slope: offset 1952 (int32_t)
dataset.tuning_parameters.eq_parameters[94].slope: offset 1972 (int32_t)
dataset.tuning_parameters.eq_parameters[95].slope: offset 1992 (int32_t)
dataset.tuning_parameters.eq_parameters[96].slope: offset 2012 (int32_t)
dataset.tuning_parameters.eq_parameters[97].slope: offset 2032 (int32_t)
dataset.tuning_parameters.eq_parameters[98].slope: offset 2052 (int32_t)
dataset.tuning_parameters.eq_parameters[99].slope: offset 2072 (int32_t)
dataset.tuning_parameters.eq_parameters[100].slope: offset 2092 (int32_t)
dataset.tuning_parameters.eq_parameters[101].slope: offset 2112 (int32_t)
dataset.tuning_parameters.eq_parameters[102].slope: offset 2132 (int32_t)
dataset.tuning_parameters.eq_parameters[103].slope: offset 2152 (int32_t)
dataset.tuning_parameters.eq_parameters[104].slope: offset 2172 (int32_t)
dataset.tuning_parameters.eq_parameters[105].slope: offset 2192 (int32_t)
dataset.tuning_parameters.eq_parameters[106].slope: offset 2212 (int32_t)
dataset.tuning_parameters.eq_parameters[107].slope: offset 2232 (int32_t)
dataset.tuning_parameters.eq_parameters[108].slope: offset 2252 (int32_t)
dataset.tuning_parameters.eq_parameters[109].slope: offset 2272 (int32_t)
dataset.tuning_parameters.eq_parameters[110].slope: offset 2292 (int32_t)
dataset.tuning_parameters.eq_parameters[111].slope: offset 2312 (int32_t)
dataset.tuning_parameters.eq_parameters[112].slope: offset 2332 (int32_t)
dataset.tuning_parameters.eq_parameters[113].slope: offset 2352 (int32_t)
dataset.tuning_parameters.eq_parameters[114].slope: offset 2372 (int32_t)
dataset.tuning_parameters.eq_parameters[115].slope: offset 2392 (int32_t)
dataset.tuning_parameters.eq_parameters[116].slope: offset 2412 (int32_t)
dataset.tuning_parameters.eq_parameters[117].slope: offset 2432 (int32_t)
dataset.tuning_parameters.eq_parameters[118].slope: offset 2452 (int32_t)
dataset.tuning_parameters.eq_parameters[119].slope: offset 2472 (int32_t)
dataset.tuning_parameters.eq_parameters[0].filterType: offset 96 (int32_t)
dataset.tuning_parameters.eq_parameters[1].filterType: offset 116 (int32_t)
dataset.tuning_parameters.eq_parameters[2].filterType: offset 136 (int32_t)
dataset.tuning_parameters.eq_parameters[3].filterType: offset 156 (int32_t)
dataset.tuning_parameters.eq_parameters[4].filterType: offset 176 (int32_t)
dataset.tuning_parameters.eq_parameters[5].filterType: offset 196 (int32_t)
dataset.tuning_parameters.eq_parameters[6].filterType: offset 216 (int32_t)
dataset.tuning_parameters.eq_parameters[7].filterType: offset 236 (int32_t)
dataset.tuning_parameters.eq_parameters[8].filterType: offset 256 (int32_t)
dataset.tuning_parameters.eq_parameters[9].filterType: offset 276 (int32_t)
dataset.tuning_parameters.eq_parameters[10].filterType: offset 296 (int32_t)
dataset.tuning_parameters.eq_parameters[11].filterType: offset 316 (int32_t)
dataset.tuning_parameters.eq_parameters[12].filterType: offset 336 (int32_t)
dataset.tuning_parameters.eq_parameters[13].filterType: offset 356 (int32_t)
dataset.tuning_parameters.eq_parameters[14].filterType: offset 376 (int32_t)
dataset.tuning_parameters.eq_parameters[15].filterType: offset 396 (int32_t)
dataset.tuning_parameters.eq_parameters[16].filterType: offset 416 (int32_t)
dataset.tuning_parameters.eq_parameters[17].filterType: offset 436 (int32_t)
dataset.tuning_parameters.eq_parameters[18].filterType: offset 456 (int32_t)
dataset.tuning_parameters.eq_parameters[19].filterType: offset 476 (int32_t)
dataset.tuning_parameters.eq_parameters[20].filterType: offset 496 (int32_t)
dataset.tuning_parameters.eq_parameters[21].filterType: offset 516 (int32_t)
dataset.tuning_parameters.eq_parameters[22].filterType: offset 536 (int32_t)
dataset.tuning_parameters.eq_parameters[23].filterType: offset 556 (int32_t)
dataset.tuning_parameters.eq_parameters[24].filterType: offset 576 (int32_t)
dataset.tuning_parameters.eq_parameters[25].filterType: offset 596 (int32_t)
dataset.tuning_parameters.eq_parameters[26].filterType: offset 616 (int32_t)
dataset.tuning_parameters.eq_parameters[27].filterType: offset 636 (int32_t)
dataset.tuning_parameters.eq_parameters[28].filterType: offset 656 (int32_t)
dataset.tuning_parameters.eq_parameters[29].filterType: offset 676 (int32_t)
dataset.tuning_parameters.eq_parameters[30].filterType: offset 696 (int32_t)
dataset.tuning_parameters.eq_parameters[31].filterType: offset 716 (int32_t)
dataset.tuning_parameters.eq_parameters[32].filterType: offset 736 (int32_t)
dataset.tuning_parameters.eq_parameters[33].filterType: offset 756 (int32_t)
dataset.tuning_parameters.eq_parameters[34].filterType: offset 776 (int32_t)
dataset.tuning_parameters.eq_parameters[35].filterType: offset 796 (int32_t)
dataset.tuning_parameters.eq_parameters[36].filterType: offset 816 (int32_t)
dataset.tuning_parameters.eq_parameters[37].filterType: offset 836 (int32_t)
dataset.tuning_parameters.eq_parameters[38].filterType: offset 856 (int32_t)
dataset.tuning_parameters.eq_parameters[39].filterType: offset 876 (int32_t)
dataset.tuning_parameters.eq_parameters[40].filterType: offset 896 (int32_t)
dataset.tuning_parameters.eq_parameters[41].filterType: offset 916 (int32_t)
dataset.tuning_parameters.eq_parameters[42].filterType: offset 936 (int32_t)
dataset.tuning_parameters.eq_parameters[43].filterType: offset 956 (int32_t)
dataset.tuning_parameters.eq_parameters[44].filterType: offset 976 (int32_t)
dataset.tuning_parameters.eq_parameters[45].filterType: offset 996 (int32_t)
dataset.tuning_parameters.eq_parameters[46].filterType: offset 1016 (int32_t)
dataset.tuning_parameters.eq_parameters[47].filterType: offset 1036 (int32_t)
dataset.tuning_parameters.eq_parameters[48].filterType: offset 1056 (int32_t)
dataset.tuning_parameters.eq_parameters[49].filterType: offset 1076 (int32_t)
dataset.tuning_parameters.eq_parameters[50].filterType: offset 1096 (int32_t)
dataset.tuning_parameters.eq_parameters[51].filterType: offset 1116 (int32_t)
dataset.tuning_parameters.eq_parameters[52].filterType: offset 1136 (int32_t)
dataset.tuning_parameters.eq_parameters[53].filterType: offset 1156 (int32_t)
dataset.tuning_parameters.eq_parameters[54].filterType: offset 1176 (int32_t)
dataset.tuning_parameters.eq_parameters[55].filterType: offset 1196 (int32_t)
dataset.tuning_parameters.eq_parameters[56].filterType: offset 1216 (int32_t)
dataset.tuning_parameters.eq_parameters[57].filterType: offset 1236 (int32_t)
dataset.tuning_parameters.eq_parameters[58].filterType: offset 1256 (int32_t)
dataset.tuning_parameters.eq_parameters[59].filterType: offset 1276 (int32_t)
dataset.tuning_parameters.eq_parameters[60].filterType: offset 1296 (int32_t)
dataset.tuning_parameters.eq_parameters[61].filterType: offset 1316 (int32_t)
dataset.tuning_parameters.eq_parameters[62].filterType: offset 1336 (int32_t)
dataset.tuning_parameters.eq_parameters[63].filterType: offset 1356 (int32_t)
dataset.tuning_parameters.eq_parameters[64].filterType: offset 1376 (int32_t)
dataset.tuning_parameters.eq_parameters[65].filterType: offset 1396 (int32_t)
dataset.tuning_parameters.eq_parameters[66].filterType: offset 1416 (int32_t)
dataset.tuning_parameters.eq_parameters[67].filterType: offset 1436 (int32_t)
dataset.tuning_parameters.eq_parameters[68].filterType: offset 1456 (int32_t)
dataset.tuning_parameters.eq_parameters[69].filterType: offset 1476 (int32_t)
dataset.tuning_parameters.eq_parameters[70].filterType: offset 1496 (int32_t)
dataset.tuning_parameters.eq_parameters[71].filterType: offset 1516 (int32_t)
dataset.tuning_parameters.eq_parameters[72].filterType: offset 1536 (int32_t)
dataset.tuning_parameters.eq_parameters[73].filterType: offset 1556 (int32_t)
dataset.tuning_parameters.eq_parameters[74].filterType: offset 1576 (int32_t)
dataset.tuning_parameters.eq_parameters[75].filterType: offset 1596 (int32_t)
dataset.tuning_parameters.eq_parameters[76].filterType: offset 1616 (int32_t)
dataset.tuning_parameters.eq_parameters[77].filterType: offset 1636 (int32_t)
dataset.tuning_parameters.eq_parameters[78].filterType: offset 1656 (int32_t)
dataset.tuning_parameters.eq_parameters[79].filterType: offset 1676 (int32_t)
dataset.tuning_parameters.eq_parameters[80].filterType: offset 1696 (int32_t)
dataset.tuning_parameters.eq_parameters[81].filterType: offset 1716 (int32_t)
dataset.tuning_parameters.eq_parameters[82].filterType: offset 1736 (int32_t)
dataset.tuning_parameters.eq_parameters[83].filterType: offset 1756 (int32_t)
dataset.tuning_parameters.eq_parameters[84].filterType: offset 1776 (int32_t)
dataset.tuning_parameters.eq_parameters[85].filterType: offset 1796 (int32_t)
dataset.tuning_parameters.eq_parameters[86].filterType: offset 1816 (int32_t)
dataset.tuning_parameters.eq_parameters[87].filterType: offset 1836 (int32_t)
dataset.tuning_parameters.eq_parameters[88].filterType: offset 1856 (int32_t)
dataset.tuning_parameters.eq_parameters[89].filterType: offset 1876 (int32_t)
dataset.tuning_parameters.eq_parameters[90].filterType: offset 1896 (int32_t)
dataset.tuning_parameters.eq_parameters[91].filterType: offset 1916 (int32_t)
dataset.tuning_parameters.eq_parameters[92].filterType: offset 1936 (int32_t)
dataset.tuning_parameters.eq_parameters[93].filterType: offset 1956 (int32_t)
dataset.tuning_parameters.eq_parameters[94].filterType: offset 1976 (int32_t)
dataset.tuning_parameters.eq_parameters[95].filterType: offset 1996 (int32_t)
dataset.tuning_parameters.eq_parameters[96].filterType: offset 2016 (int32_t)
dataset.tuning_parameters.eq_parameters[97].filterType: offset 2036 (int32_t)
dataset.tuning_parameters.eq_parameters[98].filterType: offset 2056 (int32_t)
dataset.tuning_parameters.eq_parameters[99].filterType: offset 2076 (int32_t)
dataset.tuning_parameters.eq_parameters[100].filterType: offset 2096 (int32_t)
dataset.tuning_parameters.eq_parameters[101].filterType: offset 2116 (int32_t)
dataset.tuning_parameters.eq_parameters[102].filterType: offset 2136 (int32_t)
dataset.tuning_parameters.eq_parameters[103].filterType: offset 2156 (int32_t)
dataset.tuning_parameters.eq_parameters[104].filterType: offset 2176 (int32_t)
dataset.tuning_parameters.eq_parameters[105].filterType: offset 2196 (int32_t)
dataset.tuning_parameters.eq_parameters[106].filterType: offset 2216 (int32_t)
dataset.tuning_parameters.eq_parameters[107].filterType: offset 2236 (int32_t)
dataset.tuning_parameters.eq_parameters[108].filterType: offset 2256 (int32_t)
dataset.tuning_parameters.eq_parameters[109].filterType: offset 2276 (int32_t)
dataset.tuning_parameters.eq_parameters[110].filterType: offset 2296 (int32_t)
dataset.tuning_parameters.eq_parameters[111].filterType: offset 2316 (int32_t)
dataset.tuning_parameters.eq_parameters[112].filterType: offset 2336 (int32_t)
dataset.tuning_parameters.eq_parameters[113].filterType: offset 2356 (int32_t)
dataset.tuning_parameters.eq_parameters[114].filterType: offset 2376 (int32_t)
dataset.tuning_parameters.eq_parameters[115].filterType: offset 2396 (int32_t)
dataset.tuning_parameters.eq_parameters[116].filterType: offset 2416 (int32_t)
dataset.tuning_parameters.eq_parameters[117].filterType: offset 2436 (int32_t)
dataset.tuning_parameters.eq_parameters[118].filterType: offset 2456 (int32_t)
dataset.tuning_parameters.eq_parameters[119].filterType: offset 2476 (int32_t)
dataset.tuning_parameters.delay_parameters[0].ch_n: offset 2500 (int32_t)
dataset.tuning_parameters.delay_parameters[1].ch_n: offset 2508 (int32_t)
dataset.tuning_parameters.delay_parameters[2].ch_n: offset 2516 (int32_t)
dataset.tuning_parameters.delay_parameters[3].ch_n: offset 2524 (int32_t)
dataset.tuning_parameters.delay_parameters[4].ch_n: offset 2532 (int32_t)
dataset.tuning_parameters.delay_parameters[5].ch_n: offset 2540 (int32_t)
dataset.tuning_parameters.delay_parameters[0].delay_data: offset 2504 (float)
dataset.tuning_parameters.delay_parameters[1].delay_data: offset 2512 (float)
dataset.tuning_parameters.delay_parameters[2].delay_data: offset 2520 (float)
dataset.tuning_parameters.delay_parameters[3].delay_data: offset 2528 (float)
dataset.tuning_parameters.delay_parameters[4].delay_data: offset 2536 (float)
dataset.tuning_parameters.delay_parameters[5].delay_data: offset 2544 (float)
dataset.tuning_parameters.volume_parameters[0].ch_n: offset 2548 (int32_t)
dataset.tuning_parameters.volume_parameters[1].ch_n: offset 2556 (int32_t)
dataset.tuning_parameters.volume_parameters[2].ch_n: offset 2564 (int32_t)
dataset.tuning_parameters.volume_parameters[3].ch_n: offset 2572 (int32_t)
dataset.tuning_parameters.volume_parameters[4].ch_n: offset 2580 (int32_t)
dataset.tuning_parameters.volume_parameters[5].ch_n: offset 2588 (int32_t)
dataset.tuning_parameters.volume_parameters[0].vol_data: offset 2552 (float)
dataset.tuning_parameters.volume_parameters[1].vol_data: offset 2560 (float)
dataset.tuning_parameters.volume_parameters[2].vol_data: offset 2568 (float)
dataset.tuning_parameters.volume_parameters[3].vol_data: offset 2576 (float)
dataset.tuning_parameters.volume_parameters[4].vol_data: offset 2584 (float)
dataset.tuning_parameters.volume_parameters[5].vol_data: offset 2592 (float)

@ -1 +1 @@
Subproject commit 032f99bc1eea81ba0f2c6608114940f31510a3fc Subproject commit 5d3fc10c5ddbadfb5b8cd4825355fbabc9a42438

Binary file not shown.