jdxi_editor.devel.query_program_f18 =================================== .. py:module:: jdxi_editor.devel.query_program_f18 .. autoapi-nested-parse:: Script to query JD-Xi for Program Bank F, Program 18 and collect SysEx responses. This script: 1. Connects to the JD-Xi MIDI ports 2. Loads Program Bank F, Program 18 3. Requests all parameter data 4. Captures all SysEx JSON responses 5. Saves them to a JSON file Classes ------- .. autoapisummary:: jdxi_editor.devel.query_program_f18.SysExCollector Functions --------- .. autoapisummary:: jdxi_editor.devel.query_program_f18.main Module Contents --------------- .. py:class:: SysExCollector(output_file: pathlib.Path) Bases: :py:obj:`PySide6.QtCore.QObject` Collects SysEx JSON responses from the JD-Xi. .. py:attribute:: collection_complete .. py:attribute:: output_file .. py:attribute:: collected_responses :type: List[Dict[str, Any]] :value: [] .. py:attribute:: collection_timeout :value: 10.0 .. py:attribute:: start_time :type: float :value: 0.0 .. py:method:: on_sysex_json(json_string: str) -> None Handle incoming SysEx JSON data. :param json_string: str JSON string containing SysEx data .. py:method:: start_collection() -> None Start the collection timer. .. py:method:: check_timeout() -> None Check if collection timeout has been reached. .. py:method:: save_responses() -> None Save collected responses to JSON file. .. py:function:: main() Main function to query and collect program data.