Development Plans
Introduction
This page list the intended development plans for Snowmix. As this project is work in progress plans may change without notice depending upon needs and requests. Feel free to request new features.
Snowmix 0.5.2
- Green screen support for live video feeds.
- Fixing transparent images and video feeds.
- Raspberry Pi hardware support.
- Multiple monitor support. Monitors are windows for displaying feeds and images and mixer frame.
- Connecting audio sink and audio feed between Snowmix sessions.
- Better threaded support (bg workers).
- Asynchronous image writing and loading.
- Feed status change callback feature
- Feed flipping/mirroring.
- Feed freezing upon disconnecting.
- Feed format input support for YUV, Y42B, Y444
- Additional OpenGL commands.
- Image indexing (animation).
- Image flip/mirroring.
- Embedded Python scripting support.
- Additional shape commands for ease manipulation of shape macros.
- Callback support for keyboard input, mouse input and close of control connections.
- Some optimization for 4k video mixing.
- Expansion of OpenGL 2D and 3D GPU CPU support. Support for OpenGL ES/EGL.
Snowmix 0.6
- RTMP Server support - video input - demuxing and decoding RTMP streams.
- Video encoding and RTMP streaming to CDNs under consideration.
- Maturing OpenGL support to become beta code possibly suitable for production.
- More GUI tools for producing Live TV using Snowmix.
- Support for slow-motion files through external script.
- Definition of areas for easy placement, scaling stretching, clipping, moving and animation of virtual feeds.
- V4L2 support.
- Extended Camera Direct input for Raspberry (more controls).
- Possible better support for Odroid.
- Support for Raspberry Pi 4 being considered.
Snowmix 0.8
Snowmix GUI Support. Ideas and suggestion for what a GUI should accomplish is welcomed.
Features Under Consideration.
The following features are on the development map, but the version for which the feature has not yet been decided.
- Groups. group text, images, shapes. A single command for a group will operate on all members of the group. Scaling, moving, rotation, alpha blending and animation.
- Video Filters. Chroma key is under consideration for version 0.6, but Snowmix already supports chroma keying through gstreamer modules alpha and alphacolor.
- Audio Filters.
- Multiple Output modules for video as opposed to currently only one.
- Snowcub: Overhaul and updating of the GUI tool that can control flow and mixing with Snowmix.
Snowmix 0.5.1
This version will add GUI tools for Live video production. Bugfixes for making Snowmix even more stable and suitable for Live video production.
Snowmix 0.5.0
This version will support OpenGL 3D graphics and texture manipulation of feeds, images and graphic elements. This version will allow for 3D overlay of video feeds and images including 3D placement, 3D rotation, alpha blending and perhaps clipping.
OpenGL will be supported as "Off Screen" CPU based rendering using OSNesa as well as hardware accelerated GPU based rendering using GLX.
The OpenGL support for Snowmix-0.5 is to be considered alpha code and will not be recommended for production setups.
Snowmix 0.4.6
This version will be installable and will be suited to include in distros such as Linux distros etc. This version will require the environment variable SNOWMIX to point to where the Snowmix files will be installed, typically /usr/local/lib/Snowmix-0.4.6 or /opt/local/lib/Snowmix-0.4.6.
Snowmix will apply a search path when loading images with a relative path, including files with a relative path and when searching for the ini file if given with a relative path and when writing an audio sink to a file with a relative path.
This version will also install snowcub.tcl to be used as a program from anywhere.
Snowmix 0.4.5
The overall theme for this version is an overhaul of the virtual feed abilities for Snowmix. Adding commands for setting coordinates, scale, clip and alpha individually.
Aligning virtual feed clipping and scaling with rest of Snowmix.
Reference manual for virtual feeds.
Fixing writing data on control connections to use select call and buffering.
Fixing vulnerability for stall if audio sinks stalls.
Snowmix 0.4.5
The overall theme of this release will be to add support for other platforms and to aide or automate the setup for compilation of Snowmix on these platforms. Supported platforms will be Linux (Ubuntu and Fedora) for both i386/i686/amd64/ARMv7 and Mac OS X originally planned for version 0.7.
As always, the release will also include optimization and bugfixes.
This relase will also add UTF-8 formatted international character support for text strings.
The Tcl interpreter will be able to pass Snowmix commands for immidiate parsing and execution as well query for a wide range internal Snowmix settings for text, images, feeds, shapes etc. originally planned for rlease 0.7. This is an important step for advanced scripting.
The code will furthermore be analyzed to remove potential memory leaks and potential pointer NULL references as malformed commands in some cases can lead to crashing Snowmix.
Snowmix libraries slibs will be partly documented and fully supported.
Snowmix 0.4.3
The overall theme of this release will be to add a new threaded video output module and tighten up timing for the main video loop.
The release will also add support for Tk/Tcl8.6 as well as GStreamer1.0 originally planned for version 0.5. Furthermore the setup/compile/installation scripts will be added more checks and automation.As always, the release will also include optimization and bugfixes.
Snowmix 0.4.2
The 0.4.2 version is intended as a maintenance release fixing found bugs and smaller improvements.
The release will support volume "animation" for audio feeds, mixers and sinks.
The release will also contain smaller improvements of Snowcub.
The demo includes example on how to use *scenes*, *clocks*, *graphs* and an example application radar.
Snowmix 0.4.1
The overall theme for this version is to add shapes with the capabilities to draw graphic using graphic primitives such as lines, arcs, splines, boxes, clipping, blending, gradients, masking, images, video and a lot more as overlay to video. Includes colours and alpha blending. Enabling free form clipping of video and images.
Snowmix 0.4.0
The overall theme for this version is to add audio mixing capabilities. How to configure and interface for audio can be seen here.
Snowmix 0.3.4
The overall theme for this version is an overhaul of the image abilities for Snowmix. Image commands to scale, rotate and overlay images. Animation for moving, scaling, ratating and overlaying are under consideration. Support for animated PNG is under consideration.
Snowmix 0.3.3
The overall theme for this version is an overhaul of the command abilities for Snowmix.
Command commands will be added to provide better flow control. Conditional commands, timed commands, file commands are under consideration.
Snowmix 0.3.2
The overall theme for this version is an overhaul of the **text** abilities for Snowmix. **Text** commands will be added to increase animation and layout abilities of text items. Scaling and clipping of text. Class CVideoText to be renamed and moved away from class CTextItem. Organizing and cleaning up normal feeds in its own class.