# ################################################## # # dvd-baker CHANGELOG # # TODO or WISHLIST # - FIX resume button when options selected from # root menu? # - ADD upAction to root menu for options? # # Changelog 0.7.43 # - added ability to specify the g2 root album to the module # - removed the 10 album limit in g2 recursion # - corrected LEADER naming to avoid possible clash with g2 ids # - added preliminary LEADER support to g2-dvd-baker modules # - current limitation being that the leader album must # reside within the (specified?) root album. TBA # - corrected global total definitions in g2 modules # - added ability to have blank menu (0 menus defined) # - updated and re-enabled options menu system inc: # - added persistent button highlighting # - added progress percentage (coarse) # - added missing autoplay-option parsing # - corrections and improvements to progress percentage calculation # - added ability to pass leader from dvd-baker to # - g2-dvd-baker (dir-dvd-baker pending) # with '-L' option # - changed language option from '-l' to '-L' # - updated, corrected and beautified manpage # # Changelog 0.7.42 # - corrected getItemLinks bug in g2 modules. # - added leader ability to recipes, including method of # creating a blank leader if one is not defined. This # should improve standalone compatibility. # - corrected logical error with autoplay and random options. # - added button highlighting feature so that the currently # selected button in the root menu doesn't change after # timeout, when autoplay is off. # # Changelog 0.7.41 # - Fixed declaration of TITLES array # thanks to Chris Clayton for picking up the typo. # # Changelog 0.7.40 # - corrected wget version detection # - corrected file extension parsing to allow any mix of # upper/lower case, added JPEG as variant of JPG, and # MIDI as variant of MID. # - removed blanking of subtitles for 'camera-named images' # from g2 modules. # - added '--camera' command line switch to enable/disable # blanking of subtitles that look like camera allocated # filenames. Brandnames included are Canon, Casio, Kodak, # Fuji, Sony, HP, Konica, Nikon, Olympus, Pentax, & Sony. # - corrected debug_level declaration in gallery2 modules, # and improved output so that array debug can be parsed # as comments by dvd-baker. # - enabled passing of debug parameter to dvd-baker g2 module. # - updated g2 module description. # - added '--chapters on|off' setting so that chapter markers # can be excluded from the DVD. This may not work as # intended, as the chapter markers are still embedded in # the slideshow. # # Changelog 0.7.39 # - obscured password in debug output # - added experimental 'intelligence' to diagnose error symptoms # - corrected potentional whitespace detection problem # - corrected potentional IFS problems due to the placement # of IFS changes within functions, and poorly set system # IFS. # - corrected insertion of title page with blank title # which can occur when the title of a g2 album is not set. # - improved cleanup for abort exit # - added check (and diagnosis of errors) for downloaded images # - fixed a few bash 2.05b compatibility problems # - changed pipe fd from 6 to 3 # - changed local declaration of multiple array elements to # single declaration followed by multiple assignments. # - added bash dependency check # - added stderr output from dvd-slideshow and dvd-menu to their # own logfile (dvdslideshow-errors.log). # - improved and simplified version checking methods # - simplified and optimised debug methods # - corrected problems running at full debug # - introduced timestamp option for debug log ('-- time') # - improved and unified string padding functions # - added experimental support for converting generic images (inc. gif) # - dvd-baker now passes it's debug level to dir-dvd-recipe # - improved support for linked files by dereferencing mime checks # - added command option for passing arbitrary command arguments to # recipe makers # - added maxButtonsPerMenu feature so that overflow creates new menu # with a "...more" button on the original menu. # - added generic audio conversion ability, and midi conversion with # surround-stereo effect (sox & timidity dependencies). # Note: converting midi to wav adds significantly to baking time. # - various improvements to dir-dvd-recipe including: # - submenu support, generic image support, simplified menu_timeout # method, menu upaction button for parent menus, embedded menu # images, ... and so on. # - generic audio support (1 per album). # - added differential examination of slideshow definitions. ie a new # slideshow is only generated when a previous slideshow video does # not exist, OR the new slideshow definition differs from the old. # Adds diff as a dependency. # - menus are now -always- recreated (differential ability coming) # - added option to start playback without forced subtitles # (--subtitles off) # Note that subtitles are still added, they just aren't displayed # by default. # - added option to disable autoplay after menu timeout. # (--autoplay off) # - added disk-free-space-estimate check prior to authoring DVD and # making ISO. # - added ringBell function for fatal errors and warnings. # - improved verbosity of error messages. # - added a story line to the kill script. # - corrected various jump-logic problems # - added call to burnDVDISO function and improved growisofs burning command. # Note that the DAO option is currently disabled, however, may # be enabled in the future with the belief that it will improve the # chances of the DVD being playable. # - added resolutions to dvdauthor.xml for low quality mode (half-D1). # - trapped interupts in forcequit # - added differential method for menu creation so that identical # menus are not regenerated on subsequent runs. # - added progress percentage reporting to all functions except recipe parsing. # - moved dependency 'here document' so that variables are correctly # assigned before dependency conditions are constructed. # - added method for optional dependencies (eg. burning speed) ... currently # being tested with a 'fastburn' (speed=2) facility for dvd+rw-tools>6.0 # - simplified assignment of control characters in IFS. # - added meaningless ascii splash # - corrected more bash 2 problems: # - string substitutions # - array declarations # - added bash2/bash3 switch using optional dependency method # - replaced problematic piping method with dereferenced variables. # - added difference checking between slideshow commands for current # and previous runs. This allows regeneration, for example, when # only the video format has been changed. # # Changelog 0.7.38 # - corrected title error in effects for dvd-slideshow-0.7.5 # # Changelog 0.7.37 # - modified version check for wc # - modified power-rating grep # - corrected version check for mkisofs # - corrected period (".") grepping in all version checks # - made version checking dependent on chosen options # - corrected cosmetic formatting error in g2 modules # - corrected dummy detection logic (again) and # improved debug output # - added debug statements for listing titles, menus and # buttons at max debug level. # - improved version checking logic # - improved number_in_list function logic # - added exit clause for bad dir-dvd-recipe status # - introduced fullpathname function to eliminate problems # with comparing relative paths. # - minor logfile beautifying cleanups # - added hack to exit if local items not found # # Changelog 0.7.36 # - made g2-dvd-recipe work for g2 v2.1 and adapted g2 item # fetching method # - corrected method of dummy-title detection # # Changelog 0.7.35 # - removed leader and trailer block definition tags # - replaced title ID logic so that arbitrary title IDs # can be used. # - made two g2 modules, for versions 2.0 and 2.1 # # Changelog 0.7.34 # - corrected small bug with parsing more than two colons # in an effect line (eg. centre titles) # - added ability to call title definitions from within # another title. Ref: dummy title logic. # # Changelog 0.7.33 # - added makeISO and burnDVD options # - corrected typo in mimeType logic # - added logic to detect 'lost' jobs # - split sample 1 into 2 ... being normal and transparent # versions of the same bake. # - updated package to FHS standards (hopefully) # - improved error detection in function execution and results # - renamed the 'command' block recipe syntax to 'function' # - changed depend tag to block, with [name], [version], [command] # and [echo] tags. echo argument being optional failure msg. # - modified command execution to operate in it's own directory # so that resultant objects, eg. images, can be kept separate. # - multiple [command] tags are now amped (&&) together, so for # a valid result for the entire command block, command lines # where a false result might occur need a ' || true' appended. # A real-life example of this is found in network interface # post scripts. # - expanded --force option to ignore unknown recipe lines. # - changed --sample option so that it would include other # options and did not have to be the last option specified. # # Changelog 0.7.32 # - corrected problem with man output to stderr # - corrected version testing logic for -le and -ge # # Changelog 0.7.31 # - removed help text and created manpages # - added --skipmenu option to start autoplay when the # DVD is played, rather than displaying the root menu. # - (re) enabled last "S" in slideshow progress bar # - reduced menu timeout in samples to 10 seconds # - added depend tag to recipe syntax # - added dependency version checking # - added disk space warning message to sample 3 # - added fix to stop Redhat-based systems from complaining # about wc (UTF8/Unicode related console problem) # - change textfileToImage conversion method to use netpbm. # - added option to turn the progress meter on/off # - added progress meter for downloading gallery2 recipes # - improved progress meter display for dvdauthoring stage. # - reduced wait time for queued job from 0.5 seconds to 0.2 # - debug=0 (default) no longer writes to the logfile resulting # in significant speedup. # - simplified specification of image and video items within # image and video blocks with [item] tag rather than [id] # or [path]. # - converted g2-dvd-recipe.php to module with help from Bharat. # - updated g2-dvd-recipe.php to latest g2 return status method # - added image block capability to recipe syntax so that # mime-types can be specified. # - added ability to use 'movie' as a block so that the mime- # type can be set. # - added PNG image support to g2-dvd-recipe.php # - added mime-type handling ability. # - added progress percentage for dvdauthor execution. # - corrected button allocation problem with mixing titles and # submenus in a button list. # - updated g2-dvd-recipe.php to work with titles, and changed # operation to work with titles containing combinations of # movies and slideshows. # - updated dir-dvd-recipe to work with titles containing # _A_ slideshow. Combinations need still need to be included. # - corrected problem in dir-dvd-recipe which produced empty # slideshows for leaf directories that weren't empty, but # didn't contain images. # - added echo function to recipe syntax for the purpose of # warning the user about prerequisites for the recipe, # or long execution times of commands within the recipe. # - added a get_only option to put the recipe file in the # output directory without parsing or baking it. # - added a test_only option to skip generation of slideshows # and menus. Commands in the recipe are still executed. # - corrected possible problems with trailing colons and place- # holding spaces in slideshow definitions. # - changed default nice value for child processes and # made it a command line option # - allowed for gzipped or zipped recipe input file # - added forcequit function to kill ALL child processes # eg. when user presses BREAK (^C) # - added ability to build from (included) sample recipes # - changed default input from recipe.txt to stdin # - changed method of adding lines to the slideshow definition # - allowed for debug comments in recipe # - added default and global settings in recipe syntax # (in preparation for dvd-chef) # - beautified debug output and made debug level a command option # - beautified progress status indicator (and disabled for debug>0) # - changed recipe syntax to define (dvd)titles so that (multiple) # slideshows and/or movies can be combined into a single unit. # - added audio to recipe syntax # - added ability to specify txt files as images # - added commenting to recipe syntax # - added ability to execute arbitrary commands to recipe syntax # (despite some security concerns) # - added ability to specify IFS (Internal Field Separator) for # both effect and command arguments from the default ":" # so that colons (:) could be used in, say, titles. # IFS is # global: in titles, menus, or settings blocks # local : in title, menu, slideshow or command blocks # - disabled source/base path checking (for the moment) # - improved help-text # - made command-line options case-insensitive # - improved recipe handling # - miscellaneous cleanups # # Changelog 0.7.30 # - disabled version mismatch failure between recipe and dvd-baker. # This may be re-enabled in future if the format changes. # - added command line option to specify the recipe file # - added ability to use local items (for dir-dvd-recipe) # # Changleog 0.7.29 # - corrected quoted image filename for dvd-slideshow 0.7.3 # - corrected title post logic so that autoplay wasn't # switched off at the end of the first run. # - added basic progress meter # - switched dvd-menu output to null to cleanup dvd-baker logfile. # # Changelog 0.7.28 # - removed exclude option (-x) # - made random autoplay optional (as it relies on the alpha # version of dvd-author 0.6.12) # - made dvd-author execution upon completion optional # - corrected autoplay switching logic # - corrected distributed jumping logic (for autoplay) # - corrected problem with spaces in path # - slightly changed order of conditional logic in distributed # jumping in an effort to reduce long instruction paths for # each jump. # - removed version check and 'no-cache' option for wget. # Most recent version is "--no-cache" rather than "-C off". # Will revisit this issue later if caching becomes a problem. # - changed item mask for fetch command to improve compatability # between bash v2 and v3 (string substitution difference). # - removed quality settings other than "low" from the dvd-menu # command line (jumped the gun a bit there;) # - miscellaneous cleanups # # Changleog 0.7.27 # - added useralbum functionality so that the user album # of an authenticated user is used as the root of the DVD, # unless the user is a member of the admin group, in which # case the site root album is used. # # Changelog 0.7.26 # - improved compatability with dvd-slideshow 0.7.3 # - improved error handling (more to come) # # Changelog 0.7.25 # - minor corrections and bugfixes # # Changelog 0.7.24 # - added dvd-author.xml output functionality # - changed logic so all registers=0 at start of dvd play # + changed root menu jumps so that they use a specific number # = suspect some players reset registers when certain jumps are # made # - started testing compliance with dvd-slideshow-0.7.3pre5 # # Changelog 0.7.23 # - removed session cookie functionality --- not appropriate method. # - cookie operation so that script authenticates during recipe # retrieval and saves cookie for image/movie retrievals. Added # username/password options to suit. # # Changelog 0.7.22 # - added session cookie functionality # # Changelog 0.7.20 # - added menu functionality # # Changelog 0.7.19 # - another name change # - made dvd-baker "non-g2-specific" # # Changelog 0.7.18 # - complete rewrite and rename # = gallery2-dvdbaker now relies on a php script in the base # directory of the website for a 'recipe' to build the # slideshows and menus. # - images for the next slideshow are retrieved while the current # slideshow is being built. # - makeMenus has not been written yet # # Known Bugs 0.6.5 # - weird things still happening when resuming from options menu to # Leader. # # Changelog 0.6.5 # - changed logic so that calling the options menu from the Leader mpeg # (last title +1) should result in a proper resume. # - made REPEAT=off default # - enabled turning subtitles on in fpc # - jumping to the options menu from the leader mpg has strange effects, # changed so that DVD-MENU button jumps to root menu # - removed back button (hack) from sub-menus # - patched dvd-menu so that an upAction could be added to non-root menus # to return to the parent menu # - changed back-button logic to use new upAction # - removed options button from root menu # - changed options menu system to be called from root menu. # The options menu can now be invoked by pressing MENU or SUBTITLE. # Improves compatibility with players that insist on using an # internal method for switching subtitles, rather than the one # provided on the DVD. # - reorganised general purpose registers and fiddled with logic # - removed audio settings from dvdauthor file for additional # compatabilty # ie. originally had something wrong (probably channel setting) # - make autoplay=off after playing the last title if: # autoplay=sequential and repeat=off # so that timeout on the root menu doesn't restart autoplay. # # Known Bugs 0.6.4 # - subtitles not using item title when description is blank # I still admit confusion between Summary and Title. # - when resuming from the options menu, a changed option does not # come into effect until the next title is played. # - can not seem to use entry=subtitle and jump using subtitle button # for brain-dead players like the PS2 (works in gxine). # Option button included in root menu to compensate. # FIXED # - chapter markers are inserted in each slideshow generated by # dvd-slideshow, however they are unused by gallery2-to-dvd. # # Changelog 0.6.4 # - added options menu system to change settings during playback # # Known Bugs 0.6.3 # - images that aren't in leaf albums (albums without subalbums) are not # included (feature? :) ) # - images in a leaf album that contain mpeg video(s) are not included. # - recycling needs more refinement ... strange errors grow without # occasional flushing. This option is really only suitable for short # rebuild runs with minor fixes, at this stage, so problem is not yet # considered urgent. Probably cleaning/restoring g2s-old if break/ # bust detected would help. # - mpeg videos are assumed to be dvd ready for the video format used. # # Changelog 0.6.3 # - fixed problematic custom thumbnail race condition # - improved selection of derivative images for highlight # - improved SQL error output # - added randomness to autoplay and changed title-jumping method # (due to limit of 128 instructions per pgc) # - made duration of panoramic scrolling = aspectRatio * duration # - fixed logic for embedded highlight # - improved handling of mpeg videos # - fixed subtitle settings and added logic # - miscellaneous cleanups (inc. functions returning variables) # # Known Bugs 0.6.2 # - possible race condition when problem assigning custom thumbnail. # = FIXED # - need to take into account 2nd (and further) derivative images .. # for size calculations. = FIXED (I think) # - albums cannot contain only video clips, as a slideshow for the album # is never produced because the video's are put in the menu of the # parent album. = FIXED # # Changelog 0.6.2 # - made 'Embed Highlight' optional # - added recylcing of previous vobs and configs # Should mean that if an indiviual album remains unchanged on the # g2 site, that a new corresonding slideshow will not be generated. # BUT if (say) a menu needs (re)creation, it will still happen. # (Perhaps a better summary should appear here? :) ) # Either way, as long as *.g2s and *.gen files are retained, only # the necessary vobs are rebuilt. # - miscellaneous cleanups # # Changelog 0.6.1 # - added support for embedding highlighted image in a menu # (patched dvd-menu-0.7.1) # - miscellaneous cleanups # - added exclude album(s) option # # Known Bugs 0.6.0 # - some occasional misses with album highlights when the -its good # enough to be a highlight because you haven't set one- technique # used by the g2-core code chooses a non-jpeg (eg. a movie clip), # OR the album is set to RANDOM HIGHLIGHT and a non-jpeg image has # been returned. # Avoid this issue by setting a highlight! :) (Laziness to be # corrected) # # Changelog 0.6.0 # - jumping back fixed by setting menu register to parent menu before # jump # - added code for choosing highlighted item in an album # - added pal/ntsc switching # - corrected (inoperable) command line parsing # - miscellaneous cleanups (inc. replacing sed calls) # # Known Bugs 0.5.9 # - Jumping back a menu still not working = FIXED # # Changelog 0.5.9 # - changed duration settings for menus # - set default button for each menu # - changed quoting technique in item descriptions # - added more specific DVD entries in attempt to fix ps2 playback # - changed the register used during DVD playback for storing menu # choices # - fixed quoting in descriptions # - Menu mask problem was in dvd-menu. Resolution is set before the PAL # option is parsed!!! Fixed by moving the PAL test. # # Known bugs 0.5.8 # PS2 Playback: # Menu mask is out of place (problem in dvd-menu?) = FIXED # Menu button default is incorrect (unset?) = FIXED # Menus timeout too quickly = FIXED # Quoting in a description is done with " by g2 = FIXED # Video clip descriptions incorrectly use title instead of description # = FIXED # Blank descriptions give 2 x double quotes = FIXED # 'Back' not working as expected = FIXED # # ##################################################