def trigger_recording(self):
        """Treat data and, if valid, trigger session recording."""

        if any_toggle_key_on():

            answer = create_and_show_dialog(

                (
                    "A toggle key is turned on: (Caps Lock, Num Lock or both)."
                    " Unless this is your intention, we recommend turning those keys"
                    " off, since their usage increases the size of the recording data."
                    " It is okay to leave them on if it is your intention, though."
                ),

                buttons=(
                    ("Cancel", False),
                    ("Start recording", True),
                ),

                level_name='info',
            )

            if not answer: return

        ### gather data

        filepath = (
            Path(self.filepath_to_load_label.get())
            if self.load_file_checkbutton.get()
            else None
        )

        data = {
            "recording_title" : self.recording_title_entry.get(),
            "recording_path" : Path(self.recording_filepath_label.get()),
            "recording_size" : TEXT_TO_WINDOW_SIZE[self.window_size_tray.get()],
            "filepath": filepath,
        }

        ### trigger session recording
        raise ResetAppException(mode='record', data=data)
Treat data and, if valid, trigger session recording.
nodezator/editing/playback/record.py