NOTE: 

This list is outdated and no longer updated. I keep it for my personal referrence.

Please take a look at the CHANGELOG - file.


ToDo list:
o = Open
+ = solved / implemented


this is the leftover from version 0.0.9, to be done.

XINE-LIBS
-	Crashes when opening the MovieObjectDialog more then once (xine-libs) ...
-	QPlayer will exit with "Segmentation fault" with xine-libs
o	QPlayer crashes when returning from MovieDialog or re-Opening MovieDialog.
o	Preview does not work with MPlayer Engine in 'Q' DVD-Author.
MPLAYER
+	Why do we not get a screenshot of creta.mpg for the MPlayerEngine ?
	- No solution.

-	No longer possible to specify the qsMovieBackground file. If movie, then it'll be splitted into images and put back together. Good, bad ?
-	Offer option, to shrink/stretch, loop last image, loop full clip for MovieObjects
-	Offer option to inlcude sound track from clip in menu.
-	Implement ImageMenu duration, for sound background. Functionality is not in ExecuteDialog.
-	How to handle same Movie with different offset/duration for a button ?
-	At some MovieObject's in the menu the PLEASE_WAIT img does not show.
-	Check why start-up is still so slow ...
-	Implement Dialog to display / handle the temp-drive and all generated temp data (of ALL projects)
-	MenuObjects  : add cut / copy / paste
-	Implement cut / copy / paste in MainMenuBar (setEnables (true/false) according to selected object.
-	Ensure that MovieObjects and ButtonObjects are named uniquely as per Menu.
	-> E.g. two times the same movie but different chapters ...
	- if we have audio (from the background movie), then remove the empty sound file creation part
	- if we have audio (from the clips), then add up to 7 channels to the menu.
	- When restarting the movie menus, check for status file and do only what needs to be done.
	- Store parameter file in this path which describes the filter applied (and maybe the current frame of N frames)
	  -> Also store status (E.g. converting vs done etc.).
	  This way we can use multiple background tasks to generate the menus, recover crashed sessions and check if a change is necessary.
	- Add option to re-render DVDMenu.
	- Add posibility to start one movie after the other (I.e. the first movie button, then the second etc.) in the DVDMenu.

-	Initial start-up give messages for utils missing. E.g.
	*	SoX (from sox.sf.net) not found, needed for dvd-slideshow. Note: qdvdauthor can still be used
	*	convert (from ImageMagick.sf.net) not found, needed for dvd-slideshow. Note: qdvdauthor can still be used
	*	pngtopnm (from netpbm.sf.net) not found, needed for dvd-slideshow. Note: qdvdauthor can still be used
-	if not all tools for dvd-slideshow are present then Thank you for the helpdisable the slideshow-button instead return a MSGBox which lists all needed utilities ...
-	Modify Button Frame of Homepage to reflect the StructureToolBar or the SourceToolBar.

-	Add a status tab behind the StructureToolBar. Status will keep (text colored) record of -behind the scenes- threads aktivity, success, failure etc.
-	Generate FileInfos (+Screenshots) in background task.
-	Dither from KImmageEffect -check nearest color algo- currently not pretty dithering !
-	check out http://scale2x.sourceforge.net/ for scaling if neccesary or not.
-	http://www.exit1.org/dvdrip/ DVD::rip - perl GUI interface.
-	Implement quantize algorithm. This might be needed for the dithering of a loaded mask.
-	Improvement of the color handling for the generated masks.
+	Improved color handling of the mask. Added functionality to the color button toolbar.
-	Some systems do not have /dev/stdout ... what to do ???
-	jumppad seems to give some problems, while manually generating the entries seems to always work.
-	Add option to add comments in dvdauthor.xml - file, (http://www.wershofen.de/downloads/dvdauthor.xml)
-	Implement feature to be able to add any XML - tag to the dvdauthor - file. (DropDown Menu / Structure View)
-	Make StructureView intui-active
-	Implement MediaScanner - files (Background task to determine Medias properties)
-	ColorScheme of the All-Tab. Change color pending connection to a menu. I.e. if the movie is only used as a button then we do not need to convert the format as the movie is incorporated into the menu.
-	DialogGeometry does not work for image re-scaling ...
-	Add [Reset] and [Geometry] to ImageDialog.
- 	SourceToolBar::allSources : Implement background task to serve tiny buttons.
-	SourceToolBar::allSources : How to handle slideshow's ???
Undo:
+	Undo functionality for DVDMenu - class
-	- add XYZ-Object

-	Make ChapterDialog tabbed and assign each tab one entry of the SourceFileEntries  - list
-	Finish ChapterDialog (manually add chapters, set chapter markers, timeline etc.)
-	Implement mediaPreview in ChapterDialog.

-	Plugin support for Video filter
	- Use OpenGL interface to overlay. This way spinning movies, transparency etc. are possible etc.
	- Same interface can be used to generate Subtitles.
	- Maybe enable foreign plugin support.
-	Plugin support for MenuWizard. XML based simple file structure powerfull interface.

-	Add option to choose external video player (drop down list for the ones found [xine / mplayer / kaffeine / kmplayer / kplayer ... etc ] ) plus option to Browse.
-	Dropping the whole SourceFileEntry, Create LayoutWIzard - class + GUI
-	Implement ObjectCollection.
-	Add drag'n drop from SourceToolbar and automagically create MovieButton.
-	When dropping a SourceFileEntry, then leave SourceFileInfo = NULL, get img from listFileInfos[]
	- Create n equal sized image/movie buttons according to pre-selected layouts
	- Background image is first frame of first video ...
	- Layout engine is plugin - based. Plugins are xml files which describe the layout.
	- If more videos then n, then create multiple sub-menus (inclusive Buttons to go to next/prev menu)
	- Insert the Previews in ONE ObjectCollection.
-	Draw frame when entering with a drop ???
+	Background task : get/set thumbnail and media info from background task, so as to not to wait for the Media engine ...
-	DialogUndoStack : Implement functionality.

-	Add interactive resize of MenuObject's.
-	Implement "Add XML tag" in m_pMenuBar->DVDMenu (action, pre/post etc)
-	Add MouseOver effect for Buttons
-	Implement Transparency dialog for the colors.
-	DVDMenu::setMask -> Missing Dialog to choose the transparent color from a loaded Mask.
-	Application does not terminate after closing on SuSE 9.1.
-	Improve File open dialog.
-	Implement SetupDialog - option to [delete all Temp files older than ...]
-	Implement SetupDialog - option to [delete all temp files from other sessions ...]
-	Output log file for all conversion / generation tasks under temp to trace errors ...
-	Add recover feature for interrupted tasks such as slideshow generation, file conversation, menu creation etc  ...
-	Storing / loading of Project files with dropped images.
	-> When storing Project file, save proj.xml + all non existant data (I.e. dropped data) under /tmp and then use system (tar ...) to tar it into one file. When restoring a proj file then reverse those steps.

+	Implement basic transcode CommandBlock for video conversion to DVD conform material.
+	Added audio files conversion logic to mp2 for DVD videos.
+	Added video files conversion logic fro any-format to DVD-MPEG2.
+	Added basic automatic sanity checks for the source files.
+	SourceToolbar needs some loving (add file format and conversion algo if neccesary and more ...)
+	Add functionality to the source tabs Video, and Audio.

-	Add drop down menus to the TreeWidget (I.e. delete, edit etc).
o	Inclusion of the new QXineWidget - class into the QXine sub-project. (Kaffeine project seems to be on hold since 05/13/2004)
o	-> Check out the new kaffeine-widget for xine ...
-	Inclusion of QPlayer widget directly into 'Q' DVD-Author to speed up previewing movies.
-	Improvement of the preview handling in the MovieDialog.

+	Add VLC support	- Postponed due to missing libvlc.so 
o	-> Install working VLC.
		- Get test_vlc to compile. 
	-> Implement QVLCWidget
+	-> implement VLCWidget
	-> implement VLCInfo

-	ImagePreview for the SlideshowDialog is too slow.
-	Add [Reset] and [Geometry] to ImageDialog.
-	Rotation of images in the SlideshowDialog is not yet passed through to the final movie.
-	CSlideDialog::slotOk() : Check why callback is not called when signal emmitesd to QDVDAuthor application ...
-	QSlideshow can't move images around ...
-	Slideshow generation is messed up ... Use dvd-slideshow 0.6.0 instead of 0.5.4.
-	After a slideshow has finished, the SourceFileEntry is no longer updated to reflect the availability of the mpeg.
-	The resize dialog is too slow.

-	Add functionality to manually edit the generated xml - files.
-	Add functionality to the audio tab in the Open Movie file dialog.
-	Enhance Drag'n Drop support to also accept Sound/Movie files.

/* How to get a screenshot of a video, using transcode :
transcode -i DolbyDigitalRain.vob -V -y jpg -F d -c 100-103 --export_fps 29.97 --export_asr 2 -E 48000 -b 224 -o test
transcode -i board.avi -c 110-111 -J smartdeinter -y jpg -F 100 -o board
puts frame No. 110 from DV board.avi into board0000.jpg
from transcode 0.6.12 www.transcoding.org

ogg to mp2 > oggdec test.ogg -o - | mp2enc -o test2.mp2
mp3 to mp2 > lame --decode blues.mp3 - | mp2enc -o blues.mp2
           > mplayer mymusicfile.mp3 -vo null -ao pcm -aofile menu_audio.pcm ; mp2enc -r 48000 -o menu_audio.mpa < menu_audio.pcm

// Here is what I found to convert a video from any format into mpeg2 format on the web
First you can use mplayer to convert the video in the AVI to mpeg2
stream, for a (relatively) low quality 1-pass test, try

mencoder yoursource.avi -nosound -ovc lavc -lavcopts
vcodec=mpeg2video:keyint=132:vbitrate=1000:autoaspect:vrc_buf_size=1000:
vrc_minrate=1000:vrc_maxrate=2500:vpsize=1000 -of mpeg -o
yoursource.mpeg
mplayer yoursource.mpeg -dumpvideo -dumpfile yoursource.m2v

To make SVCD's you want to keep, you should turn on a bunch of other
lavc options, such as
mbd=2:precmp=2:cmp=2:subcmp=2:trell:cbp:tcplx_mask=0.1:scplx_mask=0.1
and ofcourse do 2 pass, and maybe increase vbitrate and vrc_maxrate

Get the audio:
mplayer yoursource.avi -dumpaudio -dumpfile audio.dump

Depending on the type of the audio, you might have to convert it, or you
can throw it as is into mplex from mjpegtools, which you use  to mux the
audio and video streams together to make a (S)VCD.

mplex -f5 -V -b230 -o movie.mpg yoursource.m2v audio.dump

Then with any luck movie.mpg should be a SVCD movie... I think... I
build DVD's (or at least that's what I'm trying to do) so I don't know.


> Here a link to avidemux, a gtk2 GUI to convert to Mpeg2
http://fixounet.free.fr/avidemux/

> Here a link to IWantVCD
http://roi.halted.net/
> Video Effects plugins : http://effectv.sourceforge.net/ (using SMIL like kdenlife)
> http://www.pitivi.org/ - Non-Linear VideoEditor in Gtk2++. I like the time-line.

// More on multichannel audio can be found under : http://www.dahnielson.com/primer.txt
// -- pcm2aiff inFile -c5 -r1
// -- mctoolame -m s -n d -L 6channelAiffFile.aiff output.m2v

// Trial and error : arecord -S -M -t 1 -w /dev/stdout | mp2enc -r 48000 -o \"%1.mp2\"

*/
http://www.videohelp.com/~gfd/Motionmenu_eng.html to links ...
http://www.stevengotz.com/video.htm
http://www.videohelp.com/~gfd/GUI_DVDauthor_eng_07.htm
-> Check out Slide Show Movie Maker (http://www.joern-thiemann.de/subpage/index.html?/tools/ssmm/)



-	Check out cdrecord-prodvd for dao.
o	Create CInstall - class, which checks for all needed tools.
	- If the prefered tool is not found on the users machine check if this can be substituted by another tool.
	- Notify user about missing features if tool is not used (E.g. mplayer is missing - no convertion from mov to MPeg2)
o	Modify the dynamic GUI to include :
+	- add frames for each command line
+	- split commands at a | character
	- add Combo boxes for easy config of some (all ?) lines (I.e. PAL vs NTSC)
	- add Combo box for retrieval of a stored 'theme'. This way the user could specify MPEG2 creation vs Divx creation etc. pp.
o	Include ability to modify the generated source XML code manually.
o	Improve the Slideshow filter Dialog:
	- use slot to update the pixmap, and/or semaphores to protect against crashes. However doubel check if they persist if the XExtension is confined.
	- After <ok> ask if task should run in background already converting imgs to mpeg.
	- If done display message box.
	- Use ProgressBar UI with or without text output of command line for the background task.
	- improve slider handling.
	- display total time as well as time range of the current slot.
	- manually sync Y pos of <add> buttons to the SoundFrame / FilterFrame height.
	- allow images to be moved/edited(rotated)/removed/inserted in the filter GUI.
	- import a dvd-slideshow file (done in the slideshow selector GUI).
o	Get algol to detect buttons from dvdauthor and use it to generate the buttons.




Okay this is just the out of my head need for Alpha 0.0.9
o	QPlayer has no icons anymore ...
o	-> Play / Pause icon works only once ...
	-> when starting up the first movie in header is not played.
	-> when changing the movie in the header then it shows up another movie ...
+	DialogSetup - man page comes up for the wrong util. 
-	-> Need smore investigation. Maybe only after new utils ...

-	Initial start-up give messages for utils missing. E.g. 
	*	SoX (from sox.sf.net) not found, needed for dvd-slideshow. Note: qdvdauthor can still be used
	*	convert (from ImageMagick.sf.net) not found, needed for dvd-slideshow. Note: qdvdauthor can still be used
	*	pngtopnm (from netpbm.sf.net) not found, needed for dvd-slideshow. Note: qdvdauthor can still be used
-	if not all tools for dvd-slideshow are present then disable the slideshow-button instead return a MSGBox which lists all needed utilities ...
-	Dither from KImmageEffect -check nearest color algo- currently not pretty dithering !
-	Implement quantize algorithm. This might be needed for the dithering of a loaded mask.
-	Improvement of the color handling for the generated masks.
-	Improved color handling of the mask. Added functionality to the color button toolbar.
-	Some systems do not have /dev/stdout ... what to do ???
-	jumppad seems to give some problems, while manually generating the entries seems to always work.
-	Implement MoviePreview in DVDMenu::addBackground
-	Add XinePreview to the ChapterDialog.
-	Implement feature to be able to add any XML - tag to the dvdauthor - file. (DropDown Menu / Structure View)

-	Implement Transparency dialog for the colors.
-	DVDMenu::setMask -> Missing Dialog to choose the transparent color from a loaded Mask.
-	Include MPLayer interface transparently so the user can choose between Xine and MPlayer back-end.
-	Application does not terminate after closing on SuSE 9.1.
-	Improve File open dialog.

+	Implement basic transcode CommandBlock for video conversion to DVD conform material.
+	Added audio files conversion logic to mp2 for DVD videos.
+	Added video files conversion logic fro any-format to DVD-MPEG2.
+	Added basic automatic sanity checks for the source files.
+	SourceToolbar needs some loving (add file format and conversion algo if neccesary and more ...)
+	Add functionality to the source tabs Video, and Audio.
IN ORDER TO TEST !!!
/* How to get a screenshot of a video, using transcode :
transcode -i DolbyDigitalRain.vob -V -y jpg -F d -c 100-103 --export_fps 29.97 --export_asr 2 -E 48000 -b 224 -o test
transcode -i board.avi -c 110-111 -J smartdeinter -y jpg -F 100 -o board
puts frame No. 110 from DV board.avi into board0000.jpg
from transcode 0.6.12 www.transcoding.org

ogg to mp2 > oggdec test.ogg -o - | mp2enc -o test2.mp2
mp3 to mp2 > lame --decode blues.mp3 - | mp2enc -o blues.mp2
           > mplayer mymusicfile.mp3 -vo null -ao pcm -aofile menu_audio.pcm ; mp2enc -r 48000 -o menu_audio.mpa < menu_audio.pcm
*/

-	Add drop down menus to the TreeWidget (I.e. delete, edit etc).
-	Inclusion of the new QXineWidget - class into the QXine sub-project. (Kaffeine project seems to be on hold since 05/13/2004)
	-> CHeck out the new kaffeine-widget for xine ...
-	Inclusion of QPlayer widget directly into 'Q' DVD-Author to speed up previewing movies.
o	Implement the "Play" button in the Execute - dialog (execute.cpp)
-	Improvement of the preview handling in the MovieDialog.

-	ImagePreview for the SlideshowDialog is too slow.
-	Rotation of images in the SlideshowDialog is not yet passed through to the final movie.
-	CSlideDialog::slotOk() : Check why callback is not called when signal emmitesd to QDVDAuthor application ...
-	QSlideshow can't move images around ...
-	Slideshow generation is messed up ... Use dvd-slideshow 0.6.0 instead of 0.5.4.
-	After a slideshow has finished, the SourceFileEntry is no longer updated to reflect the availability of the mpeg.
-	The resize dialog is too slow.

-	Add functionality to manually edit the generated xml - files.
-	Add functionality to the audio tab in the Open Movie file dialog.
-	Add basic support for Movie buttons
-	Add basic support for movie backgrounds.

+	SubMenus, and new xml structure for dvdauthor.xml.
o	Create CInstall - class, which checks for all needed tools.
	- If the prefered tool is not found on the users machine check if this can be substituted by another tool.
	- Notify user about missing features if tool is not used (E.g. mplayer is missing - no convertion from mov to MPeg2)
o	Modify the dynamic GUI to include :
+	- add frames for each command line
+	- split commands at a | character
	- add Combo boxes for easy config of some (all ?) lines (I.e. PAL vs NTSC)
	- add Combo box for retrieval of a stored 'theme'. This way the user could specify MPEG2 creation vs Divx creation etc. pp.
o	Include ability to modify the generated source XML code manually.
o	Improve the Slideshow filter Dialog:
	- use slot to update teh pixmap, and/or semaphores to protect against crashes. However doubel check if they persist if the XExtension is confined.
	- After <ok> ask if task should run in background already converting imgs to mpeg.
	- If done display message box.
	- Use ProgressBar UI with or without text output of command line for the background task.
	- improve slider handling.
	- display total time as well as time range of the current slot.
	- manually sync Y pos of <add> buttons to the SoundFrame / FilterFrame height.
	- allow images to be moved/edited(rotated)/removed/inserted in the filter GUI.
	- import a dvd-slideshow file (done in the slideshow selector GUI).
o	Get algol to detect buttons from dvdauthor and use it to generate the buttons.

Here we tackle the first usefull release version 0.5.0 (half way there ?!?)
o	Create Help files / documentation.
o	Generate doxygen documentation.
o	Implement the slideshow functionality.
	- as one image per sub-menu (max 512)
	- as one image per chapter in a 'movie' (max 512 * images per chapter)
	- as a variable number of images per sub-menu (E.g. 4 on one page.)
o	Include multi language support through tr()
o	Create menu entry to verify all sources (mpegs in mpeg2 format, same aspect ratio, images same size, color of masks < 5 etc.
o	Include ability to add other features currently not supported (manual definition of pre / post commands etc.)

Here is the list for the first Beta release (big items only):
+	Implement multiple Sound Tracks per menu.
o	Implement multiple Subtitles per menu.
o	Implement Subtitlte editor for Movies.
o	Implement motion Buttons.
o	Implement motion Menus.
o	Implement highlighted / selected - effect.
o	Improve dvd-slideshow capability / usability.
o	Improve 4 colors - handling of the masks.
o	Supply capabilities to create Objects on the Highlighted/Slected layers.
o	Improve StructureWidget (icons, right mouse change roperties of Object etc.)
o	Improve SourceFile list (multi file entry, duration|type|Status|Chapters)

Version 1.0.0 should have :
o	All possibilities provided with dvdauthor.
o	Additional editing functions
o	Wizards
o	The rest

