Updated for the release of version 0.4.5
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.
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.
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 OSMesa 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.
Expansion of OpenGL 3D support. Maturing OpenGL support to become beta code possibly suitable for production. Input for feature requests is needed and welcome.
An overhaul of snowcub.tcl, the GUI for producing Live TV using Snowmix is also being considered. Support for slow-motion of file playing. Support for chroma key filtering (green screen, blue screen blending - See further down)). Definition of areas for easy placement, scaling stretching, clipping, moving and animation of virtual feeds.
The overall theme for this version is an overhaul of tcl interpreter integration for Snowmix. Focus is automation, scripting and interaction. Latest: As most of the described has been included in version 0.4.4, development plans for version 0.7 are scrubbed and new plans will be devised in time.
GUI Support. Ideas and suggestion for what a GUI should accomplish is welcomed.
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.
* I420 video input.
* Snowcub: Overhaul and updating of the GUI tool that can control flow and mixing with Snowmix.
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.
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.6. 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.
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.
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.
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.
Released Jan 20th 2013
The overall theme for this version is to add audio mixing capabilities. How to configure and interface for audio can be see here.
Released Oct 18th 2012
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.
Released 6th October 2012
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.
Released 30th September 2012
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.