Video Support including Fading
Extension of Basic Video Support
This PR builds upon #333 .
This PR provides:
- Fade of video cues using the "Alpha" plugin
- System sink expanded to also use autovideosink
- Automatic adjustment and linking in the pipeline for audio-/video- and audiovideo-cues
TODO
- [x] Fade of Audio and Video currently happen after eachother not concurrently
- [x] adjust other video parameters (brightness, contrast, etc)
- [ ] most of the TODOs from #333
@FrancescoCeruti I could not figure out how to let the fade of audio and video happen simultaneously when fading a Media with Audio an Video. I marked the functions as async, but that did not help. (See lisp/cues/media_cue.py)
@tobi08151405 since Fader.fade() is blocking, you cannot simply iterate over them, or they will run sequentially. async is a whole different world.
What I would do is one of these two:
- refactor
BaseFaderand subclasses to allow for multiple "targets" at the same time - create a
FadersGroupclass that can "orchestrate" multipleFaderobjects, it should implement a fade() method that, using aThreadPoolExecutor, can start the faders and wait for them to finish
@tobi08151405 since Fader.fade() is blocking, you cannot simply iterate over them, or they will run sequentially.
asyncis a whole different world.What I would do is one of these two:
* refactor `BaseFader` and subclasses to allow for multiple "targets" at the same time * create a `FadersGroup` class that can "orchestrate" multiple `Fader` objects, it should implement a fade() method that, using a `ThreadPoolExecutor`, can start the faders and wait for them to finish
I implemented a FaderGroup as suggested,
I also refactored the whole alpha/fade pipeline which can be handled much easier
I now added a few basic video filters. And I also fixed up the review notes of #333 , without the separate pipelines, since I removed them in my branch
Could this be included in next version? This is a game changer :)