-
Notifications
You must be signed in to change notification settings - Fork 31
Roadmap
Chong Kai Xiong edited this page Jan 13, 2023
·
11 revisions
- Ongoing: Streamline API and implementation for (conceptual) simplicity and robustness
- Ongoing: Porting code to use updated libraries.
- Nearly complete: New parameter system for adjusting plugin options during runtime
- Nearly complete: New commandline tool (lv-tool) to query, run and test visualizations
- TODO: Revamp plugin interface to more naturally support OOP
- TODO: Improve event handling for plugins
- TODO: Re-implement LV::Bin (VisBin) as LV::Sequence (VisSequence)
- TODO: Complete basic examples of using LV (both C and C++)
- Ongoing: New website
- Ongoing: Backporting of lv-tool.
- Ongoing: Stability and memory leak fixes.
- Ongoing: Porting code to use updated libraries.
- Beat detection system
- Multi-channel (> 2 channel) audio input
- Comprehensive profiling system
- More test waveforms for input_debug
- Fully DAG pipelines
- Unify actors and morphs
- Scripting capabilities using Lua or JavaScript
- Allow mixing of OpenGL and software-rendered visualisations
- Multi-core CPU+GPU rendering
- Optimisation with better use of vectorised CPU instructions, and better cache friendliness
- GUI for lv-tool
- GUI for visually graphing and configuring pipelines
- Port more plugins (ProjectM, Milkdrop, AVS, etc.)
- Android app
- Libvisual plugins for all major media frameworks
Copied and pasted for reference from the old roadmap drawn up by synap
System Summary Detail Author
VisParamCollection implement A new parameter-type that holds a list of possible-options. (Like menu-entries in a drop-down menu) starlon
VisBeat implement Beat-detection API starlon
VisParam refactoring Parameter boundaries are currently stored within VisUI, this should be placed within VisParam. Introduce new list-type. starlon
VisAudio fix Fix crashes that occur with some alsa-drivers. rigid
plugins/input/alsa implement Implement parameters for better tuning of alsa-options rigid
plugins/input/alsa fix Change "ALSA Buffer Overrun" Message from "critical" to "warning" rigid
VisParam implement Callbacks for parameter checking starlon
plugins/actor/lv_analyzer implement Implement parameters (bars/scale/color...) rigid
The goal of the 0.6.0 release is to give application developers a easier to support framework. Part of the strategy is to make displaying plugins easy and also give application developers a good API to access plugin configuration.
Features / TODO
System Summary Detail Author
VisPipeline Implement Design and implement a system for maintaining pipelines of visualisation plugins, transformation and morphing.
VisBin rewrite Reimplement VisBin from scratch and make use of VisPipeline for all it's pipeline management.
VisMem mem_copy additions Create a mem copy that is rowstride aware.
VisVideo and libvisual-display on the fly depth change Add support to schedule video depth change requests to the display layer.
VisVideo and libvisual-display on the fly prefered FPS set Add support to schedule a prefered FPS on the fly and propagate this to the display layer.
VisVideo and libvisual-display update by rectangle Add support for rectangle updates in
VisVideo and the underlaying display layer.
VisVideo and libvisual-display pBuffer support Add pBuffer support to libvisual and it's displaying stack so plugins like projectM can use it.
VisVideo and libvisual-display GL support Research what is missing from our GL support stack.
VisSongInfo final touches Finish up the VisSongInfo framework and allow clients like amaroK to display cover art overlayed in visualisations.
VisParam and VisUI refactoring Parameter boundries are currently stored within VisUI, this should be placed within VisParam. Also both systems need some serious love to fight bitrotting.
libvisual-display implement / refactor Create the library and setup the environment.
libvisual-display implement / refactor X11 driver.
libvisual-display implement / refactor X11 fullscreen driver.
libvisual-display implement / refactor GLX drivers.
libvisual-widgets implement Qt VisUI driver.
libvisual-widgets implement / refactor gtk1 VisUI driver.
libvisual-widgets implement / refactor gtk2 VisUI driver.
All Review Do a big overall code review Everyone
All Review Do a big overall API review Everyone
VisScript New module New module for super fast evaluation of mathematical expressions Sepp Wijnands and Dennis Smit
VisMem Buffer pools and Object pools to improve the memory model Dennis Smit
All Optimalization Find more hot spots for SIMD optimization, do this as generic as possible Dennis Smit
VisFourier Enhancements SIMD optimalization Dennis Smit
VisFourier Enhancements 2D FFT Chong Kai Xiong
All Refactoring Make a generic macro system that can compile our assembly both with gcc and intel syntax style inline assembly compilers. Also we've observed many blocks of instructions that are everywhere the same, we could create a small meta language of macros to make this nicer