voctomix icon indicating copy to clipboard operation
voctomix copied to clipboard

Remove Party Mode

Open fightling opened this issue 5 years ago • 6 comments

Pressing multiple keys at the same time can bring up the party mode where core and GUI end up in a endless loop of communication and buttons to flicker states.

This is a problem of the communication sequence that needs redesign.

fightling avatar Jan 01 '20 17:01 fightling

My suggestion to deal with this, at least on the long run, is switching the communication between core an gui to MQTT. By using e.g. https://pypi.org/project/paho-mqtt/ . By using the communication paradigm of this message bus the complexity of state handling can by broken down in a well readable call back structure.

Besides solving this issue, it would also make thing like tally light much more robust in terms of communication.

derpeter avatar Jan 15 '20 19:01 derpeter

This is still the case. Angels where able to reproduce this issue during training.

vale avatar Dec 26 '23 21:12 vale

This is apparently an issue with out-of-order processing of messages from the core:

Sat 2024-05-18 15:15:49 CEST mixer96.lan.c3voc.de voctogui.py[6295]:    DEBUG Connection: got line: 'best transition slides cam2'
Sat 2024-05-18 15:15:49 CEST mixer96.lan.c3voc.de voctogui.py[6295]:    DEBUG Connection: re-starting on_loop scheduling
Sat 2024-05-18 15:15:49 CEST mixer96.lan.c3voc.de voctogui.py[6295]:    DEBUG Connection: got line: 'best cut cam2 cam1'
Sat 2024-05-18 15:15:49 CEST mixer96.lan.c3voc.de voctogui.py[6295]:    DEBUG Connection: re-starting on_loop scheduling
Sat 2024-05-18 15:15:49 CEST mixer96.lan.c3voc.de voctogui.py[6295]:    DEBUG Connection: on_loop called
Sat 2024-05-18 15:15:49 CEST mixer96.lan.c3voc.de voctogui.py[6295]:     INFO PreviewToolbarController: Changing new composite to 'fs(cam2,cam1)'
Sat 2024-05-18 15:15:49 CEST mixer96.lan.c3voc.de voctogui.py[6295]:    DEBUG PreviewToolbarController: current command is 'fs(cam2,cam1)
Sat 2024-05-18 15:15:49 CEST mixer96.lan.c3voc.de voctogui.py[6295]:     INFO PreviewToolbarController: Selected 'slides' for preview source A
Sat 2024-05-18 15:15:49 CEST mixer96.lan.c3voc.de voctogui.py[6295]:     INFO PreviewToolbarController: Testing transition to 'fs(slides,cam1)'
Sat 2024-05-18 15:15:49 CEST mixer96.lan.c3voc.de voctogui.py[6295]:    DEBUG PreviewToolbarController: current command is 'fs(slides,cam1)
Sat 2024-05-18 15:15:49 CEST mixer96.lan.c3voc.de voctogui.py[6295]:    DEBUG PreviewToolbarController: current command is 'fs(slides,cam1)
Sat 2024-05-18 15:15:49 CEST mixer96.lan.c3voc.de voctogui.py[6295]:     INFO PreviewToolbarController: Selected 'cam2' for preview source B
Sat 2024-05-18 15:15:49 CEST mixer96.lan.c3voc.de voctogui.py[6295]:     INFO PreviewToolbarController: Testing transition to 'fs(slides,cam2)'
Sat 2024-05-18 15:15:49 CEST mixer96.lan.c3voc.de voctogui.py[6295]:    DEBUG PreviewToolbarController: current command is 'fs(slides,cam2)
Sat 2024-05-18 15:15:49 CEST mixer96.lan.c3voc.de voctogui.py[6295]:     INFO PreviewToolbarController: Testing transition to 'fs(slides,cam2)'
Sat 2024-05-18 15:15:49 CEST mixer96.lan.c3voc.de voctogui.py[6295]:    DEBUG PresetController: >on_best best='transition' targetA='slides' targetB='cam2' self.current_state=None
Sat 2024-05-18 15:15:49 CEST mixer96.lan.c3voc.de voctogui.py[6295]:    DEBUG PresetController: <on_best best='transition' targetA='slides' targetB='cam2' self.current_state=None
Sat 2024-05-18 15:15:49 CEST mixer96.lan.c3voc.de voctogui.py[6295]:    DEBUG Connection: on_loop called
Sat 2024-05-18 15:15:49 CEST mixer96.lan.c3voc.de voctogui.py[6295]:     INFO PreviewToolbarController: Changing new composite to 'fs(slides,cam2)'
Sat 2024-05-18 15:15:49 CEST mixer96.lan.c3voc.de voctogui.py[6295]:    DEBUG PreviewToolbarController: current command is 'fs(slides,cam2)
Sat 2024-05-18 15:15:49 CEST mixer96.lan.c3voc.de voctogui.py[6295]:    DEBUG PreviewToolbarController: current command is 'fs(slides,*)
Sat 2024-05-18 15:15:49 CEST mixer96.lan.c3voc.de voctogui.py[6295]:     INFO PreviewToolbarController: Selected 'slides' for preview source B
Sat 2024-05-18 15:15:49 CEST mixer96.lan.c3voc.de voctogui.py[6295]:    DEBUG PreviewToolbarController: current command is 'fs(slides,slides)
Sat 2024-05-18 15:15:49 CEST mixer96.lan.c3voc.de voctogui.py[6295]:     INFO PreviewToolbarController: Selected 'cam2' for preview source A
Sat 2024-05-18 15:15:49 CEST mixer96.lan.c3voc.de voctogui.py[6295]:     INFO PreviewToolbarController: Testing transition to 'fs(cam2,slides)'
Sat 2024-05-18 15:15:49 CEST mixer96.lan.c3voc.de voctogui.py[6295]:    DEBUG PreviewToolbarController: current command is 'fs(cam2,slides)
Sat 2024-05-18 15:15:49 CEST mixer96.lan.c3voc.de voctogui.py[6295]:    DEBUG PreviewToolbarController: current command is 'fs(cam2,slides)
Sat 2024-05-18 15:15:49 CEST mixer96.lan.c3voc.de voctogui.py[6295]:     INFO PreviewToolbarController: Selected 'cam1' for preview source B
Sat 2024-05-18 15:15:49 CEST mixer96.lan.c3voc.de voctogui.py[6295]:     INFO PreviewToolbarController: Testing transition to 'fs(cam2,cam1)'
Sat 2024-05-18 15:15:49 CEST mixer96.lan.c3voc.de voctogui.py[6295]:    DEBUG PreviewToolbarController: current command is 'fs(cam2,cam1)
Sat 2024-05-18 15:15:49 CEST mixer96.lan.c3voc.de voctogui.py[6295]:     INFO PreviewToolbarController: Testing transition to 'fs(cam2,cam1)'
Sat 2024-05-18 15:15:49 CEST mixer96.lan.c3voc.de voctogui.py[6295]:    DEBUG PresetController: >on_best best='cut' targetA='cam2' targetB='cam1' self.current_state=None
Sat 2024-05-18 15:15:49 CEST mixer96.lan.c3voc.de voctogui.py[6295]:    DEBUG PresetController: <on_best best='cut' targetA='cam2' targetB='cam1' self.current_state=None

Kunsi avatar May 18 '24 13:05 Kunsi

fixed in https://github.com/voc/voctomix/commit/3c7bde8b7ae75d0c9e7dee79ca850c9facb582a9

Kunsi avatar May 18 '24 15:05 Kunsi