voc / voctomix

Full-HD Software Live-Video-Mixer in python
https://c3voc.de/
MIT License
573 stars 104 forks source link

Envelope different widget groups into plug-in like modules #269

Open fightling opened 4 years ago

fightling commented 4 years ago

Some widgets in the UI are coupled by their intent. These widget groups could be plugable into the UI by adding them into a custom tab for example.

This modulation shall be visible within the code. For example Overlay related plug-ins shall have separated code.

The configuration of custom tabs (including possible layout issues) first need some concept.

fightling commented 4 years ago

Here is what a configuration of customizable tabs could look like:

[ui]
tabs=video,audio,easy

[tab.video]
name = VIDEO
; list pannels on that tab
panels = stream, preview, mix, overlay

[panel.stream]
kind = stream
; set controls in panel
blinder = yes
clock = yes

[panel.preview]
kind = set-composite
; show buttons for every source in channel A
sources.a = auto
; show buttons for every source (excluding slides) in channel A
sources.b = auto!slides

[panel.mix]
kind = mix
; set available buttons
retake = no
cut = yes
transistion = yes

[panel.overlay]
kind = insertion
; set avalable button
auto-off = yes
; list overlay of current event (from schedule.xml)
filter = event
; no custom insertions
custom = false

; ---------------------------------------------------

[tab.audio]
name = AUDIO
panels = sources, outputs

[panel.sources]
kind = 
; show controls for all input audio streams (e.g. english, french, aso.)
streams = inputs
; show mute buttons
mute = yes
; show monitor buttons
monitor = yes

[panel.outputs]
; show controls for outputs 'mix' and 'live-mix'
streams = mix, live-mix
mute = yes
monitor = yes

; ---------------------------------------------------

[tab.easy]
name = VIDEO PRESETS
panels = composites, sources, modifiers

[panel.composites]
kind = set-composite
composites = fs(cam1), fs(cam2), fs(cam3), sbs(slides,cam1), sbs(slides,cam2), lec(slides,cam1), lec(slides,cam2)

If this is too complicated maybe it's better to have fixed tabs and just to be able to activate (show) and parameterize them. So we would have fixed tabs like video, audio, easy and more.