dvd-slideshow-0.8.4-2/0000755000175000017500000000000011625105374013514 5ustar scottscottdvd-slideshow-0.8.4-2/gallery1-to-slideshow0000775000175000017500000002705610605760016017612 0ustar scottscott#!/bin/bash # gallery1-to-slideshow # was gallery2slideshow # Copyright 2003 Scott Dylewski # # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation; either version 2 of the License, or # (at your option) any later version. # # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # # You should have received a copy of the GNU General Public License # along with this program; if not, write to the Free Software # Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA # version='0.8.1' changes () { echo 'Changes: 0.8.1 Escape colons in subtitles 0.7.5 No changes 0.7.4 Fixed bug where no pictures were found with new version of gallery 1.5 Fixed bug near line 279 with a missing "fi" statement. 0.7.3 Changed name from gallery2slideshow to gallery1-to-slideshow to avoid confusion... it does not work on gallery v.2.x albums! Add -b background image option Fix for finding all images in album. Thanks Ivan Espinosa! Added a few more quotes around variables to help with spaces in filenames. 0.7.2 Another fix to allow newlines in gallery comments These should correctly get translated into \n characters. Strips out and tags also. 0.7.0 Fix to not show hidden pictures for gallery v1.4.3-pl1 ( thanks Frederic! ) Fixed bug when passing html links in subtitle field dvd-slideshow supports duration in fractional seconds. Allow for "." as the album path 0.5.2 -i switch not required for album path 0.5.0 Added option (-c duration) to do a crossfade between every picture. This script automatically removes ":" and characters from the comment field. 0.4 Added default fade in at beginning and out at end 0.3 Added extra file checking before processing for better stability from Scott Merrill Thanks!!! 0.2 Initial release' } help () { echo "gallery1-to-slideshow $version" echo "gallery1-to-slideshow is part of the dvd-slideshow set of tools." echo 'Copyright 2003 Scott Dylewski ' echo 'http://freshmeat.net/dvdslideshow' echo ' gallery1-to-slideshow description: Generates a text file listing of the pictures visible in a given "Gallery" (http://gallery.sourceforge.net) photo album in order to easily pass the information to dvd_slideshow Usage: gallery1-to-slideshow [-o ] [-t ] [-b ] [-c duration] Options: path_to_album Path to the album that you want to generate a slideshow for. [-o output_directory] Path to the directory where you want to output file written. Default is the current working directory. [-t time_per_picture] Number of seconds that the picture will be visible on the dvd movie. You can edit the output file to make changes to specific lines. Default is 5 seconds. [-b ] Specify background image to use for slideshow. [-c duration] Add a crossfade between every picture for duration seconds. -h or -help Prints this help. ' } if [ $# -lt 1 ]; then help exit 1 fi ## setup initial variables: debug=0 # 1 or 0 crossfade=0 for arg do case "$arg" in -i) shift ; album_path="$1" ; shift ;; -o) shift; output_dir="$1"; shift ;; -t) shift; duration="$1"; shift ;; -c) shift; crossfade=1; crossfade_duration="$1"; shift ;; -h) help ; exit 0 ; shift ;; -?) help ; exit 0 ; shift ;; -help) help ; exit 0 ; shift ;; esac done if [ -z "$album_path" ] ; then album_path="$1" fi if [ -z "$album_path" ] ; then echo "[gallery1-to-slideshow] Error: No album specified" exit 1 fi if [ -z "$output_dir" ] ; then output_dir="`pwd`" fi if [ -z "$duration" ] ; then duration="5" fi ## check_rm checks to see if the file exists before it's deleted: check_rm () { if [ -f $1 ] ; then rm $1 fi } cleanup () { ## clean up temporary files echo "done" } forcequit () ## function gets run when we have some sort of forcequit... { ## clean up temporary files cleanup exit 0 } trap 'forcequit' INT trap 'forcequit' KILL trap 'forcequit' TERM # sanity checking # did the user give us a valid input file to work with? if [ ! -f "$album_path" ]; then # it's not a regular file if [ ! -d "$album_path" ]; then # it's not a directory! echo "[gallery1-to-slideshow] Bad input file (-i $album_path)!" exit 1; else # check for '.' path if [ "$album_path" == '.' ]; then # use current directory album_path="`pwd`" fi # it is a directory, so use album.dat echo "[gallery1-to-slideshow] Using album.dat in $album_path"; album_file="album.dat"; if [ ! -f "$album_path/$album_file" ]; then # there's no album.dat file there! echo "[gallery1-to-slideshow] No such file $album_path/$album_file!"; echo "[gallery1-to-slideshow] Aborting!"; exit 1; fi fi else # it is a regular file! echo "[gallery1-to-slideshow] ERROR: you must specify a directory name!" exit 1 # album=`basename "${album_path}"`; # album_path=`echo $album_path | sed -e "s/$album//"`; fi # make sure $album_path has no trailing slash album_path=`echo "$album_path" | sed -e 's/\/$//'`; album=`basename "${album_path}"`; if [ -z "$output_dir" ]; then # no output directory specified! echo "[gallery1-to-slideshow] Invalid output destination (-o $output_dir)!"; echo "[gallery1-to-slideshow] *** Using $album_path instead."; output_dir=$album_path; fi if [ ! -d "$output_dir" ]; then # I'm sure it was a simple typo. echo "[gallery1-to-slideshow] Invalid output destination (-o $output_dir)!"; echo "[gallery1-to-slideshow] *** Using $album_path instead."; output_dir=$album_path; fi # make sure $output_dir has no trailing slash output_dir=`echo $output_dir | sed -e 's/\/$//'`; ## now let's do some checking to see if the user put in the full path? echo "[gallery1-to-slideshow] path=$album_path" echo "[gallery1-to-slideshow] album=$album" echo "[gallery1-to-slideshow] album_file=$album_file" echo "[gallery1-to-slideshow] output_dir=$output_dir" outfile="$output_dir/$album".txt echo "[gallery1-to-slideshow] output file=$output_dir/$album".txt ## if title is wanted: summary=`awk -F'"title"' '{print $2}' "${album_path}"/album.dat | awk -F'"' '{print $2}'` #gallery_version=`awk -F'"version"' '{print $2}' "${album_path}"/album.dat | awk -F'"' '{print $2}'` pictures=`awk -F'albumitem' '{print NF}' "${album_path}"/photos.dat` echo "#background:1::black" > "$outfile" echo "#background:0::background.jpg" >> "$outfile" echo "fadein:1" >> "$outfile" echo "title:$duration:$album:$summary" >> "$outfile" echo "[gallery1-to-slideshow] title:$duration:$album:$summary" echo "#background:0::black" >> "$outfile" ## else do not make a title. ## fade in after title: echo "fadeout:2" >> "$outfile" echo "background:1" >> "$outfile" # add music? this makes it easier to just un-comment stuff echo '# remember format is:' >> "$outfile" echo '# musicfile.mp3:audio_track:[fadein:fadein_time:fadeout:fadeout_time]' >> "$outfile" echo "#musicfile.mp3:1:fadein:1:fadeout:5" >> "$outfile" echo 'fadein:1' >> "$outfile" ## get the total number of pictures: # anybody know a better way to get rid of potential returns? pictures=`awk -F'albumitem' '{print NF}' "${album_path}"/photos.dat` pictures=`echo $pictures | tr [:space:] ' '` # sometimes the pictures string now has a space in-between # this is from someone entering return (^M) characters in their # comments fields total_pictures=0 total_lines=0 for i in $pictures ; do total_pictures=$(( $total_pictures + $i )) total_lines=$(( $total_lines + 1 )) done total_pictures=$(( $total_pictures - 1 )) pictures2=`awk -F'AlbumItem' '{print NF}' "${album_path}"/photos.dat` pictures2=`echo $pictures2 | tr [:space:] ' '` # sometimes the pictures string now has a space in-between # this is from someone entering return (^M) characters in their # comments fields total_pictures2=0 total_lines=0 for i in $pictures2 ; do total_pictures2=$(( $total_pictures2 + $i )) total_lines=$(( $total_lines + 1 )) done total_pictures2=$(( $total_pictures2 - 1 )) #echo "total_pictures=$total_pictures total_pictures2=$total_pictures2" # pick the greater of the two methods: if [ "$total_pictures2" -gt "$total_pictures" ] ; then ## Newer versions of gallery use "AlbumItem" instead of "albumitem" newgallery=1 # pictures=`awk -F'AlbumItem' '{print NF}' "${album_path}"/photos.dat` total_pictures="$total_pictures2" echo "[gallery1-to-slideshow] new gallery version" else newgallery=0 echo "[gallery1-to-slideshow] old gallery version" fi echo "[gallery1-to-slideshow] total pictures=$total_pictures" #pictures=$(( $pictures + 1 )) ## yeah, this is slow, but not as slow as typing in everything ## from the gallery yourself... j=1 for i in `seq 2 $total_pictures`; do ## get rid of potential newlines in comments sections first: if [ "$newgallery" -eq 1 ] ; then albumitem=`cat "$album_path/photos.dat" | tr '\n' '\a' | awk -F'AlbumItem' '{print $'"$i"'}'` else albumitem=`cat "$album_path/photos.dat" | tr '\n' '\a' | awk -F'albumitem' '{print $'"$i"'}'` fi filename[$j]=`echo "${albumitem}" | awk -F'"name"' '{print $2}' | awk -F'"' '{print $2}'` comment[$j]=`echo "${albumitem}" | awk -F'"caption"' '{print $2}' | awk -F':"' '{print $2}' | awk -F'";' '{print $1}' | tr '\a' ' ' | sed -e 's/\r/\\\\n/' | sed -e 's///' | sed -e 's/<\/a>//' | sed -e 's/\:/\\\:/g'` hidden[$j]=`echo "${albumitem}" | awk -F'"hidden"' '{print $2}' | awk -F';' '{print $2}'` if [ "${hidden[$j]}" == 'N' ] || [ -z "${hidden[$j]}" ] ; then ## only include this picture if it's shown in the gallery new_filename="${album_path}/${filename[$j]}.jpg" echo "[gallery1-to-slideshow] picture $j of $total_pictures" echo "[gallery1-to-slideshow] filename=${new_filename} comment=${comment[$j]}" ## write to file: ## Fix by Ivan Espinosa 1/2006 if [ -r "${new_filename}" ] ; then if [ "$j" -ne 1 ] ; then if [ "$crossfade" -eq 1 ] ; then echo "crossfade:$crossfade_duration:" >> "$outfile" fi fi echo "${new_filename}:$duration:${comment[$j]}" >> "$outfile" fi # if [ "$crossfade" -eq 1 ] && [ "$(($i+1))" -lt "$total_pictures" ] ; then # echo "crossfade:$crossfade_duration:" >> "$outfile" # fi let j=$j+1 else echo "[gallery1-to-slideshow] picture $j of $total_pictures Hidden in Gallery" let j=$j+1 fi done echo ' ' >> "$outfile" echo '# to insert a title slide in the middle of the slideshow, use this:' >> "$outfile" echo '#fadeout:1' >> "$outfile" echo '#background:1' >> "$outfile" echo '#background:1::background.jpg' >> "$outfile" echo '#title:5::Title Text' >> "$outfile" echo '#background:0::black' >> "$outfile" echo '#fadeout:1' >> "$outfile" echo '#fadein:1' >> "$outfile" echo ' ' >> "$outfile" ## fade out at end echo "fadeout:1" >> "$outfile" ## stop the music before the final fadeout to the background: echo "silence:1:" >> "$outfile" echo "background:1" >> "$outfile" echo '#fadein:1' >> "$outfile" echo '#background.jpg:1' >> "$outfile" cleanup dvd-slideshow-0.8.4-2/COPYING.txt0000664000175000017500000004313110467216631015373 0ustar scottscott GNU GENERAL PUBLIC LICENSE Version 2, June 1991 Copyright (C) 1989, 1991 Free Software Foundation, Inc. 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA Everyone is permitted to copy and distribute verbatim copies of this license document, but changing it is not allowed. Preamble The licenses for most software are designed to take away your freedom to share and change it. By contrast, the GNU General Public License is intended to guarantee your freedom to share and change free software--to make sure the software is free for all its users. This General Public License applies to most of the Free Software Foundation's software and to any other program whose authors commit to using it. (Some other Free Software Foundation software is covered by the GNU Library General Public License instead.) You can apply it to your programs, too. When we speak of free software, we are referring to freedom, not price. Our General Public Licenses are designed to make sure that you have the freedom to distribute copies of free software (and charge for this service if you wish), that you receive source code or can get it if you want it, that you can change the software or use pieces of it in new free programs; and that you know you can do these things. To protect your rights, we need to make restrictions that forbid anyone to deny you these rights or to ask you to surrender the rights. These restrictions translate to certain responsibilities for you if you distribute copies of the software, or if you modify it. For example, if you distribute copies of such a program, whether gratis or for a fee, you must give the recipients all the rights that you have. You must make sure that they, too, receive or can get the source code. And you must show them these terms so they know their rights. We protect your rights with two steps: (1) copyright the software, and (2) offer you this license which gives you legal permission to copy, distribute and/or modify the software. Also, for each author's protection and ours, we want to make certain that everyone understands that there is no warranty for this free software. If the software is modified by someone else and passed on, we want its recipients to know that what they have is not the original, so that any problems introduced by others will not reflect on the original authors' reputations. Finally, any free program is threatened constantly by software patents. We wish to avoid the danger that redistributors of a free program will individually obtain patent licenses, in effect making the program proprietary. To prevent this, we have made it clear that any patent must be licensed for everyone's free use or not licensed at all. The precise terms and conditions for copying, distribution and modification follow. GNU GENERAL PUBLIC LICENSE TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION 0. This License applies to any program or other work which contains a notice placed by the copyright holder saying it may be distributed under the terms of this General Public License. The "Program", below, refers to any such program or work, and a "work based on the Program" means either the Program or any derivative work under copyright law: that is to say, a work containing the Program or a portion of it, either verbatim or with modifications and/or translated into another language. (Hereinafter, translation is included without limitation in the term "modification".) Each licensee is addressed as "you". Activities other than copying, distribution and modification are not covered by this License; they are outside its scope. The act of running the Program is not restricted, and the output from the Program is covered only if its contents constitute a work based on the Program (independent of having been made by running the Program). Whether that is true depends on what the Program does. 1. You may copy and distribute verbatim copies of the Program's source code as you receive it, in any medium, provided that you conspicuously and appropriately publish on each copy an appropriate copyright notice and disclaimer of warranty; keep intact all the notices that refer to this License and to the absence of any warranty; and give any other recipients of the Program a copy of this License along with the Program. You may charge a fee for the physical act of transferring a copy, and you may at your option offer warranty protection in exchange for a fee. 2. You may modify your copy or copies of the Program or any portion of it, thus forming a work based on the Program, and copy and distribute such modifications or work under the terms of Section 1 above, provided that you also meet all of these conditions: a) You must cause the modified files to carry prominent notices stating that you changed the files and the date of any change. b) You must cause any work that you distribute or publish, that in whole or in part contains or is derived from the Program or any part thereof, to be licensed as a whole at no charge to all third parties under the terms of this License. c) If the modified program normally reads commands interactively when run, you must cause it, when started running for such interactive use in the most ordinary way, to print or display an announcement including an appropriate copyright notice and a notice that there is no warranty (or else, saying that you provide a warranty) and that users may redistribute the program under these conditions, and telling the user how to view a copy of this License. (Exception: if the Program itself is interactive but does not normally print such an announcement, your work based on the Program is not required to print an announcement.) These requirements apply to the modified work as a whole. If identifiable sections of that work are not derived from the Program, and can be reasonably considered independent and separate works in themselves, then this License, and its terms, do not apply to those sections when you distribute them as separate works. But when you distribute the same sections as part of a whole which is a work based on the Program, the distribution of the whole must be on the terms of this License, whose permissions for other licensees extend to the entire whole, and thus to each and every part regardless of who wrote it. Thus, it is not the intent of this section to claim rights or contest your rights to work written entirely by you; rather, the intent is to exercise the right to control the distribution of derivative or collective works based on the Program. In addition, mere aggregation of another work not based on the Program with the Program (or with a work based on the Program) on a volume of a storage or distribution medium does not bring the other work under the scope of this License. 3. You may copy and distribute the Program (or a work based on it, under Section 2) in object code or executable form under the terms of Sections 1 and 2 above provided that you also do one of the following: a) Accompany it with the complete corresponding machine-readable source code, which must be distributed under the terms of Sections 1 and 2 above on a medium customarily used for software interchange; or, b) Accompany it with a written offer, valid for at least three years, to give any third party, for a charge no more than your cost of physically performing source distribution, a complete machine-readable copy of the corresponding source code, to be distributed under the terms of Sections 1 and 2 above on a medium customarily used for software interchange; or, c) Accompany it with the information you received as to the offer to distribute corresponding source code. (This alternative is allowed only for noncommercial distribution and only if you received the program in object code or executable form with such an offer, in accord with Subsection b above.) The source code for a work means the preferred form of the work for making modifications to it. For an executable work, complete source code means all the source code for all modules it contains, plus any associated interface definition files, plus the scripts used to control compilation and installation of the executable. However, as a special exception, the source code distributed need not include anything that is normally distributed (in either source or binary form) with the major components (compiler, kernel, and so on) of the operating system on which the executable runs, unless that component itself accompanies the executable. If distribution of executable or object code is made by offering access to copy from a designated place, then offering equivalent access to copy the source code from the same place counts as distribution of the source code, even though third parties are not compelled to copy the source along with the object code. 4. You may not copy, modify, sublicense, or distribute the Program except as expressly provided under this License. Any attempt otherwise to copy, modify, sublicense or distribute the Program is void, and will automatically terminate your rights under this License. However, parties who have received copies, or rights, from you under this License will not have their licenses terminated so long as such parties remain in full compliance. 5. You are not required to accept this License, since you have not signed it. However, nothing else grants you permission to modify or distribute the Program or its derivative works. These actions are prohibited by law if you do not accept this License. Therefore, by modifying or distributing the Program (or any work based on the Program), you indicate your acceptance of this License to do so, and all its terms and conditions for copying, distributing or modifying the Program or works based on it. 6. Each time you redistribute the Program (or any work based on the Program), the recipient automatically receives a license from the original licensor to copy, distribute or modify the Program subject to these terms and conditions. You may not impose any further restrictions on the recipients' exercise of the rights granted herein. You are not responsible for enforcing compliance by third parties to this License. 7. If, as a consequence of a court judgment or allegation of patent infringement or for any other reason (not limited to patent issues), conditions are imposed on you (whether by court order, agreement or otherwise) that contradict the conditions of this License, they do not excuse you from the conditions of this License. If you cannot distribute so as to satisfy simultaneously your obligations under this License and any other pertinent obligations, then as a consequence you may not distribute the Program at all. For example, if a patent license would not permit royalty-free redistribution of the Program by all those who receive copies directly or indirectly through you, then the only way you could satisfy both it and this License would be to refrain entirely from distribution of the Program. If any portion of this section is held invalid or unenforceable under any particular circumstance, the balance of the section is intended to apply and the section as a whole is intended to apply in other circumstances. It is not the purpose of this section to induce you to infringe any patents or other property right claims or to contest validity of any such claims; this section has the sole purpose of protecting the integrity of the free software distribution system, which is implemented by public license practices. Many people have made generous contributions to the wide range of software distributed through that system in reliance on consistent application of that system; it is up to the author/donor to decide if he or she is willing to distribute software through any other system and a licensee cannot impose that choice. This section is intended to make thoroughly clear what is believed to be a consequence of the rest of this License. 8. If the distribution and/or use of the Program is restricted in certain countries either by patents or by copyrighted interfaces, the original copyright holder who places the Program under this License may add an explicit geographical distribution limitation excluding those countries, so that distribution is permitted only in or among countries not thus excluded. In such case, this License incorporates the limitation as if written in the body of this License. 9. The Free Software Foundation may publish revised and/or new versions of the General Public License from time to time. Such new versions will be similar in spirit to the present version, but may differ in detail to address new problems or concerns. Each version is given a distinguishing version number. If the Program specifies a version number of this License which applies to it and "any later version", you have the option of following the terms and conditions either of that version or of any later version published by the Free Software Foundation. If the Program does not specify a version number of this License, you may choose any version ever published by the Free Software Foundation. 10. If you wish to incorporate parts of the Program into other free programs whose distribution conditions are different, write to the author to ask for permission. For software which is copyrighted by the Free Software Foundation, write to the Free Software Foundation; we sometimes make exceptions for this. Our decision will be guided by the two goals of preserving the free status of all derivatives of our free software and of promoting the sharing and reuse of software generally. NO WARRANTY 11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING, REPAIR OR CORRECTION. 12. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES. END OF TERMS AND CONDITIONS How to Apply These Terms to Your New Programs If you develop a new program, and you want it to be of the greatest possible use to the public, the best way to achieve this is to make it free software which everyone can redistribute and change under these terms. To do so, attach the following notices to the program. It is safest to attach them to the start of each source file to most effectively convey the exclusion of warranty; and each file should have at least the "copyright" line and a pointer to where the full notice is found. Copyright (C) This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA Also add information on how to contact you by electronic and paper mail. If the program is interactive, make it output a short notice like this when it starts in an interactive mode: Gnomovision version 69, Copyright (C) year name of author Gnomovision comes with ABSOLUTELY NO WARRANTY; for details type `show w'. This is free software, and you are welcome to redistribute it under certain conditions; type `show c' for details. The hypothetical commands `show w' and `show c' should show the appropriate parts of the General Public License. Of course, the commands you use may be called something other than `show w' and `show c'; they could even be mouse-clicks or menu items--whatever suits your program. You should also get your employer (if you work as a programmer) or your school, if any, to sign a "copyright disclaimer" for the program, if necessary. Here is a sample; alter the names: Yoyodyne, Inc., hereby disclaims all copyright interest in the program `Gnomovision' (which makes passes at compilers) written by James Hacker. , 1 April 1989 Ty Coon, President of Vice This General Public License does not permit incorporating your program into proprietary programs. If your program is a subroutine library, you may consider it more useful to permit linking proprietary applications with the library. If this is what you want to do, use the GNU Library General Public License instead of this License. dvd-slideshow-0.8.4-2/dvd-slideshowrc0000664000175000017500000001131611113342222016527 0ustar scottscott## .dvd-slideshowrc default config file. ## save this file in your home directory as .dvd-slideshowrc ## in order for dvd-slideshow to read it all the time. ## uncomment the lines you want. ## This file will get read as "global settings" for dvd-slideshow ## these settings will over-ride the default settings for dvd-slideshow, ## but the arguments passed on the command-line or within the text files ## will superscede this file: ## program defaults --> ~/.dvd-slideshowrc --> theme_file --> command-line --> input file variables ####################################################################### # system-wide settings: debug=0 #debug=1 # 0 (low) to 3 (lots of info) pal=0 # use this for ntsc format #pal=1 # use this for pal format ac3=1 # use ac3 audio by default #ac3=0 # use mpeg2 audio by default #theme=wedding # enable the "wedding" theme #theme=burningman #theme=travel ####################################################################### # dir2slideshow or variables used to create input .txt file: slideshow_background=black #slideshow_background="#882211" # use a hex RGB color if you wish #slideshow_background="mybackground.jpg" # specify a real image if you want crossfade=0 # crossfade duration (use 0 for no crossfade) #crossfade=1 # crossfade duration [seconds] kenburns=0 #kenburns=1 # do random kenburns effect slide_duration=5 # seconds to display each slide title_type=titlebar # use two-line titles, one on top, one on bottom #title_type=title # use single line centered titles title_background=steelblue #title_background="#882211" # use a hex RGB color if you wish #title_background="mybackground.jpg" # specify a real image if you want #slideshow_audio=myaudio1.mp3,myaudio2.mp3,myaudio3.ogg # use these audio files ####################################################################### # dvd-slideshow settings: widescreen=0 # use default 4:3 aspect ratio # widescreen=1 # use 16:9 aspect ratio copy=0 # copy=1 # add copies of original images to the output directory autocrop=0 #autocrop=1 # autocrop images to fill full screen high_quality=0 # high quality enabled by default (not a good idea now) border=0 # add border of N pixels around images (filled by background image or color) sharpen=0 # change to 1 to enable image sharpening subtitle_type=dvd # use dvd subtitle track for subtitles #subtitle_type=render # force subtitles to be rendered in video #subtitle_type=srt # use srt subtitles instead of adding the text mask subtitle_font_size=24 #subtitle_font='/usr/share/fonts/default/Type1/n019004l.pfb' # Helvetical bold URW font subtitle_color="white" subtitle_outline_color="black" subtitle_location="bottom" # or, use "top" ## Title: title_font='/usr/share/fonts/default/Type1/n019004l.pfb' # Helvetical bold URW font title_font_size=48 title_font_color='black' # or use hex "#RRGGBB" ## top title: toptitle_font_size=48 toptitle_font_color='black' # or use hex "#RRGGBB" toptitle_bar_height=125 # 0 for no 50% white behind text toptitle_text_location_x=80 toptitle_text_location_y=50 # bottom title: bottomtitle_font_size=36 bottomtitle_font_color="black" # or use hex "#RRGGBB" bottomtitle_bar_location_y=156 # relative to bottom of image bottomtitle_bar_height=55 # 0 for no 50% white behind text bottomtitle_text_location_x=0 bottomtitle_text_location_y=155 kenburns_acceleration=2 # seconds of slow acceleration for kenburns # use 0 for no acceleration, or, use a percent of the effect time: # kenburns_acceleration=25% # will accelerate for the first 25% of the effect. ####################################################################### # dvd-menu config variables: menu_continuous_play=0 menu_continuous_play=1 # play one file after another without going back up to menu. menu_fadein=0 #menu_fadein=1 # fade in to menu menu_fadeout=0 #menu_fadeout=1 # fade out from menu after a button is pressed. menu_fade_to_black=0 # if fadeout=1, fades out to background menu_background=steelblue # or, use hex #RRGGBB #menu_background="#882211" # use a hex RGB color if you wish #menu_background="mybackground.jpg" # specify a real image if you want ## pick other colors here: http://www.imagemagick.org/script/color.php menu_title_font='/usr/share/fonts/default/Type1/n019004l.pfb' # Helvetical bold URW font menu_title_font_size=40 menu_title_font_color=black menu_title_white_height=125 menu_title_location_x=80 menu_title_location_y=50 menu_panel_height=28 menu_panel_width=288 menu_panel_location_x=360 menu_panel_location_y=175 # distance of the top of the first menu item to the top of the screen menu_button_font='/usr/share/fonts/default/Type1/n019004l.pfb' # Helvetical bold URW font menu_button_font_size=21 menu_button_font_color=black menu_button_hilight_color=red #menu_audio=myaudio1.mp3 dvd-slideshow-0.8.4-2/TODO.txt0000664000175000017500000000227411623555164015035 0ustar scottscottThings to work on: 0.8.4 for release: Update changelog for release of dvd-slideshow. Update themes to use freely distributable fonts? dvd-slideshow: fuzzy edges effect? old-picture effect? sepiatone effect? B&W effect? (or should we have these effects done before?) developer notes summarizing the crop/zoom kenburns effect stuff different background types? (gradient, etc) bi-linear interpolation for kenburns effect. kenburns with rotation (not for a while!) wrap text on titles (has this been done?) allow user to pass mpeg/avi/etc, but then we need to resample them! (use tovid?) chapter selection menus? add text overlay function to overlay text on next image. text: keyword for overlaying text anywhere on the screen this would use the same keywords as the kenburns effect. dvd-menu: ( there will be less emphasis on dvd-menu since there are GUIs that can fill this void) setup menu with subtitle selection and/or credits, audio setup, etc. more text control: font size and color, placement, etc. variable non-button text on the main menu. EXAMPLES!!! Examples using other GUIs? text-file input for menus allow sub-menus. Other: explain pixel aspect ratio resizing. explain acceleration on kenburns dvd-slideshow-0.8.4-2/man/0000775000175000017500000000000011623554725014277 5ustar scottscottdvd-slideshow-0.8.4-2/man/jigl2slideshow.10000664000175000017500000000227310542072051017300 0ustar scottscott.\" .TH "jigl2slideshow" "1" "0.4" "Scott Dylewski" "dvd-slideshow" .SH "NAME" .LP jigl2slideshow \- Creates an input file for dvd\-slideshow from pictures in a jigl online photo album. .SH "SYNOPSIS" .LP jigl2slideshow \fI\-o\fP <\fIoutput directory\fP> [\fI\-t\fP <\fISeconds per picture\fP>] <\fIpath to album\fP> .SH "DESCRIPTION" .LP Generates a text file listing of the pictures visible in a given jigl (http://xome.net/projects/jigl/) photo album in order to easily pass the information to dvd_slideshow. This has not been updated for some time, so if you use this, let the developers know so they know there is interest... .SH "OPTIONS" .LP .TP [\fB\-o\fR <\fIOutput directory\fP>] Directory where the output file will be written. If not specified, the current directory is used. .TP [\fB\-t\fR <\fISeconds per picture\fP>] Number of seconds to display each picture in the movie. Defaults to 5 seconds if not specified. .TP <\fIpath to album\fP> The path to the gallery.dat that you want to generate a slideshow for. .SH "EXAMPLES" .SH "AUTHORS" .LP Scott Dylewski .br http://dvd\-slideshow.sourceforge.net .SH "SEE ALSO" .LP dvd\-menu(1), dvd\-slideshow(1) dvd-slideshow-0.8.4-2/man/dir2slideshow.10000664000175000017500000000615611623550445017146 0ustar scottscott.\" .TH "dir2slideshow" "1" "0.8.4" "Scott Dylewski" "dvd-slideshow" .SH "NAME" .LP dir2slideshow \- Creates an input file for dvd\-slideshow from pictures in a directory. .SH "SYNOPSIS" .LP dir2slideshow [\fI\-o\fP <\fIoutput directory\fP>] [\fI\-t\fP <\fISeconds per picture\fP>] [\fI\-c\fP <\fICrossfade seconds\fP>] \fI\-n\fP <\fISlideshow name\fP> [\fI\-T\fP] [\fI\-M\fP] [\fI\-s subtitle_text\fP] [\fI\-notitle\fP] <\fIImages directory\fP> .SH "DESCRIPTION" .LP Creates a input file for dvd\-slideshow from all the JPEG images in a given directory. Now it reads all .jpg .JPG .jpeg .png and .PNG files in the specified directory. .SH "OPTIONS" .LP .TP <\fIImages directory\fP> The path to the directory containing the images you want to use. .TP \fB\-n\fR <\fISlideshow name\fP> The name of this slideshow. This name is used as the default title text for the first title slide in the slideshow. This name will be used for the output file name. .TP [\fB\-t\fR <\fISeconds per picture\fP>] Number of seconds to display each picture in the movie. Defaults to 5 seconds if not specified. .TP [\fB\-o\fR <\fIOutput directory\fP>] Directory where the output file will be written. If not specified, the current directory is used. .TP [\fB\-c\fR <\fICrossfade seconds\fP>] Number of seconds to crossfade between images. One second is usually fine. Note that this will increase the processing time, but it looks nice. .TP [\fB\-w\fR <\fIWipe seconds\fP>] Number of seconds to wipe between images. One second is usually fine. Pick either crossfade or wipe, but not both. .TP [\fB\-T\fR] Sort images by the JPEG header picture taken time, then by the file modification date, and finally by the filename. Default sort is by name only. Requires the jhead program. .TP [\fB\-M\fR] Sort images by the file modification date, and then by the filename. Default sort if by name only. .TP [\fB\-s subtitle_text\fR] Add default subtitle "subtitle_text" to every slide. Use "\-s filename" to display filename as the subtitle. Use "\-s path" to display the path and filename as the subtitle. .TP [\fB\-s2 subtitle_text\fR] Same as \-s but adds subtitles to subtitle track 2. .TP [\fB\-b background.jpg\fR] Use background.jpg as the background images. Default is black. .TP [\fB\-notitle\fR] Do not create a title slide. .TP [\fB\-r\fR] Recursively search directories for images, creating one output file. .TP [\fB\-k\fR] Apply random kenburns effects to images. (use of this is discouraged because encoding takes so long) .TP [\fB\-p\fR] Use PAL output video format instead of NTSC .TP [\fB\-theme themename\fR] Use themename as a theme file. See theme help files for more info. (TBD) .TP [\fB\-a audiofile1,audiofile2,...\fR] Add audio files to the slideshow. Files will be played sequentially for the duration of the slideshow. Use quotes if you have spaces in filenames. .TP [\fB\-q\fR] Quiet mode: outputs less screen output. .SH "EXAMPLES" .LP http://dvd\-slideshow.sourceforge.net .SH "AUTHORS" .LP Scott Dylewski .br http://dvd\-slideshow.sourceforge.net/ .SH "SEE ALSO" .LP dvd\-menu(1), dvd\-slideshow(1) dvd-slideshow-0.8.4-2/man/dvd-slideshow.10000664000175000017500000004042411623554725017141 0ustar scottscott.\" .TH "dvd-slideshow" "1" "0.8.4" "Scott Dylewski" "dvd-slideshow" .SH "NAME" .LP dvd\-slideshow \- Creates a slideshow movie in DVD video format from a list of pictures and effects. .SH "SYNOPSIS" .LP dvd\-slideshow [\fI\-n\fP <\fIslideshow name\fP>] [\fI\-o\fP <\fIoutput directory\fP>] [\fI\-b\fP <\fIbackground jpeg\fP>] [\fI\-a\fP <\fIaudiofile1\fP> \fI\-a\fP <\fIaudiofile2\fP> \fI\-a\fP <\fIaudiofileN\fP>] [\fI\-p\fP] [\fI\-flv\fP] [\fI\-mp4\fP] [\fI\-s WxH\fP] [\fI\-L\fP] [\fI\-H\fP] [\fI\-mp2\fP] [\fI\-r\fP] [\fI\-nosmp\fP] [\fI\-border \fP] [\fI\-theme \fP] [\fI\-f\fP] <\fIinput text file\fP> .SH "DESCRIPTION" .LP Creates a video from a bunch of images. The default video format is designed to produce DVDs, but other formats can be created for the web also (.flv). You can add music on the command line or in the text input file. Supports several effects like fadein, fadeout, crossfade, crop, and kenburns. dvd\-slideshow is designed to work with dvd\-menu to create a dvd navigation menu that you can then burn onto a dvd. There are also some helper scripts to convert a directory of pictures or your favorite online photo album to a dvd. .SH "OPTIONS" .LP .TP [\fB\-n \fR] The program uses this string as the filename base for the output files so you can distinguish it from other slideshows that you can send to the same output directory. If not specified, the default value is the name of the input file. .TP \fB[\-f] \fR See the INPUT FILE section. .TP [\fB\-o \fR] Directory where the final .vob and dvdauthor .xml files will be written. Defaults to the current working directory. .TP [\fB\-b \fR] Image to use for the background of the slideshow. All of the pictures will be overlaid on top of this background image. If no file is specified, black will be used for the slideshow and a blue gradient for the title slide. .TP [\fB\-a Index Return to Main Contents
 

NAME

gallery1-to-slideshow - Creates an input file for dvd-slideshow from pictures in Gallery online photo album.  

SYNOPSIS

gallery1-to-slideshow [-o <output directory>] [-t <Seconds per picture>] [-b <background image>] [-c <Crossfade seconds>] <path to album>  

DESCRIPTION

Generates a text file listing of the pictures visible in a given "Gallery" (http://gallery.sourceforge.net) photo album in order to easily pass the information to dvd_slideshow. Only works with version 1.X of Gallery, not version 2.X.  

OPTIONS

[-o <Output directory>]
Directory where the output file will be written. If not specified, the current directory is used.

[-t <Seconds per picture>]
Number of seconds to display each picture in the movie. Defaults to 5 seconds if not specified.

[-b <Background image>]
Specify a background image to use for the slideshow.

[-c <Crossfade seconds>]
Number of seconds to crossfade between images. One second is usually fine. Note that this will increase the processing time considerably, but it looks nice.

<path to album>
The path to the Gallery album that you want to generate a slideshow for.
 

EXAMPLES

http://dvd-slideshow.sourceforge.net/examples  

AUTHORS

Scott Dylewski <scott at dylewski dot com>
http://dvd-slideshow.sourceforge.net/  

SEE ALSO

dvd-menu(1), dvd-slideshow(1)


 

Index

NAME
SYNOPSIS
DESCRIPTION
OPTIONS
EXAMPLES
AUTHORS
SEE ALSO

This document was created by man2html, using the manual pages.
Time: 05:24:12 GMT, August 24, 2011 dvd-slideshow-0.8.4-2/doc/dvd-slideshow.wiki0000664000175000017500000004360311625104620017723 0ustar scottscottContent-type: text/html Man page of dvd-slideshow ==dvd-slideshow== Section: dvd-slideshow (1)Updated: 0.8.4[Index] [Return to Main Contents]   ===NAME=== dvd-slideshow - Creates a slideshow movie in DVD video format from a list of pictures and effects.   ===SYNOPSIS=== dvd-slideshow ['''-n''' <'''slideshow name'''>] ['''-o''' <'''output directory'''>] ['''-b''' <'''background jpeg'''>] ['''-a''' <'''audiofile1'''> '''-a''' <'''audiofile2'''> '''-a''' <'''audiofileN'''>] ['''-p'''] ['''-flv'''] ['''-mp4'''] ['''-s WxH'''] ['''-L'''] ['''-H'''] ['''-mp2'''] ['''-r'''] ['''-nosmp'''] ['''-border <bordersize>'''] ['''-theme <themename>'''] ['''-f'''] <'''input text file'''>   ===DESCRIPTION=== Creates a video from a bunch of images. The default video format is designed to produce DVDs, but other formats can be created for the web also (.flv). You can add music on the command line or in the text input file. Supports several effects like fadein, fadeout, crossfade, crop, and kenburns. dvd-slideshow is designed to work with dvd-menu to create a dvd navigation menu that you can then burn onto a dvd. There are also some helper scripts to convert a directory of pictures or your favorite online photo album to a dvd.   ===OPTIONS=== ['''-n <Slideshow name>'''] The program uses this string as the filename base for the output files so you can distinguish it from other slideshows that you can send to the same output directory. If not specified, the default value is the name of the input file. '''[-f] <Input text file>''' See the INPUT FILE section. ['''-o <Output directory>'''] Directory where the final .vob and dvdauthor .xml files will be written. Defaults to the current working directory. ['''-b <Background jpeg>'''] Image to use for the background of the slideshow. All of the pictures will be overlaid on top of this background image. If no file is specified, black will be used for the slideshow and a blue gradient for the title slide. ['''-a <Audio file>'''] Audio file to play in background during the slideshow. It will be faded out at the end. Supports mp3, ogg, or wav formats at this point. Multiple files will be joined. See also the more flexible text file input method. To pass multiple files, use the -a switch again. ['''-p'''] Use PAL output video format instead of NTSC. ['''-mpeg2enc'''] Force use of mpeg2enc with mp2 audio even if ffmpeg is installed. Use this if you have problems with ffmpeg. Usually ffmpeg is much faster at encoding video. ['''-mp2'''] Use mp2 audio by default. AC3 audio seems to be more stable when playing in dvd hardware players, but requires ffmpeg. This will over-ride the AC3 default and use the mp2 audio encoder. ['''-s WidthxHeight'''] Use output size other than the standard DVD output size (720x480 for NTSC). Used when specifying alternate output formats with -flv or -mp4 ['''-flv'''] Render a flash video instead of a mpeg2 .vob. Default output size is 320x240. ['''-mp4'''] Render a mp4 video instead of a mpeg2 .vob. ['''-mpg'''] Render a .mpg video instead of a mpeg2 .vob. Allows for alternate (non DVD compatible) sizing with -s ['''-vcd'''] (alpha) Renders video in vcd-compatible output. ['''-svcd'''] (alpha) Renders video in svcd-compatible output. ['''-L'''] Render a low-quality video suitable for debugging. This sets the resolution to 1/2 of full resolution and decreases the quality of fades/transitions. It should speed up the encoding process by at least a factor of 4. ['''-H'''] (Beta) Render a higher-quality video. This uses the default dvd resolution and keeps all other output parameters the same, but enables some pixel-sampling methods that make the scroll effect look better at very slow velocities. This will make dvd-slideshow take up to 4x longer to process the scroll effect. Only applied when needed; the output will explain if it is being used. ['''-theme <themefile>'''] Use the given theme when setting variables/colors/etc. Themes are installed in /opt/dvd-slideshow/themes or in a local directory ~/.dvd-slideshow/themes ['''-border N'''] Make a border of N pixels around each image. Does not apply to title slides. ['''-sharpen'''] Sharpen images. ['''-r'''] Autocrop images near the DVD output aspect ratio to fill the whole window. ['''-w'''] [alpha] Render widescreen (16:9) output instead of standard (4:3). ['''-nosmp'''] Disable multiple threads in some processes when possible. If you have little memory or a slow machine, this may help if you experience problems with disk memory caching. ['''-nocleanup'''] Leave temporary files in the temporary directory. Useful for debugging. ['''-q'''] Quiet output mode. Reduce amount of information on screen, but keep a progressbar indicator. ['''-V 1|2'''] Increase verbose debug output. 1 adds more than the default, and 2 adds a lot. '''-h''' Prints help file (basically this manpage).   ===INPUT FILE=== Note: The -f is optional if the input filename is the last argument on the comand-line. The input file is a text file that acts like a timeline or storyboard for your slideshow. In the most simple form, it is just a list of images. See EXAMPLES for some simple examples of these text files. The input file also allows for many more special effects that are not available on the command line. Each line contains one image or effect. It uses the : character as a separator for the fields. Here is the syntax: [image.jpg|keyword]:duration:subtitle:effect:effect_params Duration can be specified in integer seconds like 5 or with up to three decimal points of accuracy, like 5.683. When passing a picture, you can optionally use the keyword "audio" instead of the duration in seconds. What this does is force the duration of that image to be the length of the previous audio track. This is useful for making a music video dvd. The subtitle field is optional, but if you are passing effects after the subtitle field, be sure to include all the colons :: in order for the parser to get the correct info. You can escape a colon in subtitles with a backslash. '''NOTE:''' the effect parameters are separated by a semicolon ; instead of a colon :. '''KEYWORDS:''' '''title''':duration:title text Makes a title slide with text centered in the screen. Further control of the font, size, and position of the title text can be achieved by setting variables (see the VARIABLES section). '''titlebar''':duration:Upper title text:Lower title text Makes a title slide using <Upper title text> as a title at the top of the screen, and <Lower title text> as a lower title, in a band at the bottom of the screen. Each title is optional. If one is missing, it will not be displayed. White ands are underlayed behind the text for better contrast. Further control of the font, size, and position of the title text can be achieved by setting variables (see the VARIABLES section). '''musictitle''':duration:subtitle:Title:Artist;Album Makes a black frame with the song info printed in the bottom left corner. Yes, that is a semicolon between Artist and Album. '''background''':duration:subtitle:image.jpg Makes a slide with the current background image (or black if no image is passed). If a new image name is passed, the background will be reset to that picture. Examples: "background:2" will display the current background for 2 seconds. "background:2::image.jpg" will set the background to image.jpg and also display it for 2 seconds. "background:0::image.jpg" will set the background image to image.jpg, but will not use it until the next picture. "black" or "white" can be used instead of an image name to display a black or white background. '''Transitions''': Transitions do not add time to the overall slideshow, they just get overlaid on top of the adjacent images. Because of this, the transition duration can not be greater than half of the adjacent image duration. '''fadein''':duration:subtitle Fades in to the next slide '''fadeout''':duration:subtitle Fades out to the background '''crossfade''':duration:subtitle Fades from one slide to the next. '''wipe''':duration:subtitle:[up|down|left|right] Wipes from one picture to the next. The direction is optional and will default to left. '''chapter''' Force manual chapter marker timing. Chapter markers will only be created where the "chapter" keyword occurs. The default is to add chapter markers at every slide. '''include''':includefile.txt Other input files can be included in the input .txt file. The file includefile.txt will be concatenated in the place where the line occurs.. '''exit''' Stops the slideshow at the current point as if the input.txt file ended at this point. Useful for debugging '''EFFECTS:''' Effects are only used with images, not keywords. In the following effects, x0,y0 represents the top left corner of a defined box, and x1,y1 is the bottom right corner. NOTE: the effect parameters are separated by a semicolon ; instead of a colon : '''crop''' image.jpg:duration:subtitle:crop:x0,y0;x1,y1 Crops the image about the coordinates specified (in the original image coordinate system). '''Crop keyword description:''' Because it is difficult to figure out the exact locations where you want to crop, it is possible to use special keywords for the locations where you want to crop the image. The basic format is:        frame_size%;frame_location where frame_size indicates the relative scale(%) in percent of the final dvd window width/height, and frame_location refers to the location of the center point of the picture relative to the dvd window. Frame_location can be any of the following keywords:        topleft         top                     topright        left                    middle          right        bottomleft      bottom          bottomright or        x%,y% where % is a percentage of the window width,height starting from the top left corner of the dvd window. or        imagewidth | imageheight where the image width or height will be scaled to fill the full width or height of the dvd screen. '''Crop examples:'''        image.jpg:dur:sub:crop:651,390;1134,759        image.jpg:dur:sub:crop:30%;60%,60%        image.jpg:dur:sub:crop:50%;topleft        image.jpg:dur:sub:crop:imageheight;left '''kenburns''' image.jpg:duration:subtitle:kenburns:start_box;end_box Where now we have starting (s) and ending (e) boxes, defined in the same way as in the "crop" function, above. The kenburns effect will crop/zoom from the start to the end for the given duration. Full box description:        xs0,ys0;xs1,ys1;xe0,ye0;xe1,ye1 Specifies the top-left(0) and [bottom-right](1) points. '''Keyword description:'''        start_frame_size%;start_location;end_frame_size%;end_location '''Kenburns examples:'''         image.jpg:5::kenburns:651,390;1134,759;372,330;1365,1089         image.jpg:5:sub:kenburns:30%;60%,60%;75%;40%,50%         image.jpg:5:sub:kenburns:50%;topleft;50%;bottomright         image.jpg:5:sub:kenburns:100%;left;0,0;720,480         image.jpg:5:sub:kenburns:100%;left;imageheight;left '''scroll''' image.jpg:duration:subtitle:scroll:left image.jpg:duration:subtitle:scroll:right image.jpg:duration:subtitle:scroll:up image.jpg:duration:subtitle:scroll:down This is most useful for displaying panorama-style pictures that are much wider than they are tall. For example, "scroll:right" will automatically resize the picture so that the image height is equal to the video display height (480) before scrolling right. Note that in high quality mode (-H), some calculations will be made to see how slow the scroll is, and if it is slow enough, sub-pixel sampling will be used to make the scroll effect look much smoother. Sounds good, right? Well, it will take a LOT longer to process the frames also! '''AUDIO:''' Audio tracks can be inter-mixed with the video. If an audio track is placed between two different images/effects, that audio track will begin playing at the start of the second image/effect. When placing audio, use the syntax: audiofile:track:effect1:effect1_params:effect2:effect2_params The audiofile can be a .ogg, .mp3, or .wav file. Track is the resulting dvd audio track. '''Audio Effects''' are audio effects where you can specify things like fadein and fadeout for the audio. Example: audiofile:1:fadein:3:fadeout:2 If you want to concatenate two audio files, just place them one right after another in the .txt file.   ===CONFIGURATION=== You can specify lots of variables and options throughout the dvd-slideshow script. Settings can be passed on the command line, in a default ~/.dvd-slideshow/dvd-slideshowrc file, or within the input text file. The order in which the script reads the settings is as follows: Default script settings --> ~/.dvd-slideshow/dvd-slideshowrc --> command line --> input text file so each successive setting will over-ride the previous settings if they are already set. '''~/.dvd-slideshow/dvd-slideshowrc:''' With the syntax shown below, the following variables can be specified in the ~/.dvd-slideshowrc file. All lines are optional, and everything after the # character is not read. debug=1         # 0 (low) to 3 (lots of info) pal=0          # 0=ntsc 1=pal ac3=1          # 0=mp2 1=ac3 audio copy=0         # add copies of original images to the output directory high_quality=0 # use high-quality mode (set to 1) autocrop=1     # autocrop images to fill full screen border=0       # add border of N pixels between image and dvd edge sharpen=0      # Enable image sharpening for all images widescreen=0   # use widescreen mode (16:9) instead of 4:3 ## Default font: font=/usr/share/fonts/default/Type1/n019004l.pfb # Helvetical bold URW font ## Subtitle: subtitle_type="dvd" # use "render" to force rendering of text. subtitle_font_size=24 subtitle_font='/usr/share/fonts/default/Type1/n019004l.pfb' # Helvetical bold URW font subtitle_color="white" subtitle_outline_color="black" subtitle_location="bottom" subtitle_location_x=0 subtitle_location_y=105 ## Title: title_font_size=48 title_font_color="black" # or use hex "#RRGGBB" title_font='/usr/share/fonts/default/Type1/n019004l.pfb' # Helvetical bold URW font ## top title: toptitle_font_size=48 toptitle_font_color="black" # or use hex "#RRGGBB" toptitle_bar_height=125 # 0 for no 50% white behind text toptitle_text_location_x=80 toptitle_text_location_y=50 # bottom title: bottomtitle_font_size=36 bottomtitle_font_color="black" # or use hex "#RRGGBB" bottomtitle_bar_location_y=156 # relative to bottom of image bottomtitle_bar_height=55 # 0 for no 50% white behind text bottomtitle_text_location_x=0 bottomtitle_text_location_y=155 # kenburns: kenburns_acceleration=1 # seconds of slow acceleration for kenburns # use 0 for no acceleration, or, use a percent of the effect time: # kenburns_acceleration=25% # will accelerate for the first 25% of the effect. # logo: logo=path/to/logofile.png # will be overlaid on top of all frames. Must be pre-sized manually. logo_gravity=SouthEast # Position of logo overlay. North | South | East | West | NorthEast | NorthWest | SouthEast | SouthWest '''Input text file:''' The same syntax used in ~/.dvd-slideshow/dvd-slideshowrc can be used in the input text file. This way, you could specify settings specifit to the slideshow you are working on without changing your default settings.   ===THEMES=== A theme is just a file containing a list of configuration variables, and possibly also background images, fonts, or audio in the same directory. Any of the configuration variables can be placed in a dvd-slideshow theme file to control dvd-slideshow also..br This will be explained more later...   ===FILES=== '''dvd-slideshow''' '''dvd-menu''' '''dir2slideshow''' '''gallery1-to-slideshow''' '''jigl2slideshow'''   ===EXAMPLES=== There are a few heavily-commented examples available in the examples section of the dvd-slideshow webpage, which you can find at [http://dvd-slideshow.sourceforge.net]   ===AUTHORS=== Scott Dylewski <scott at dylewski dot com> [http://dvd-slideshow.sourceforge.net/]   ===SEE ALSO=== [dvd-menu](1)  ===Index=== [NAME] [SYNOPSIS] [DESCRIPTION] [OPTIONS] [INPUT FILE] [CONFIGURATION] [THEMES] [FILES] [EXAMPLES] [AUTHORS] [SEE ALSO] This document was created by [man2html], using the manual pages. Time: 05:18:05 GMT, August 24, 2011 dvd-slideshow-0.8.4-2/doc/dvd-menu.html0000664000175000017500000002045311625105374016674 0ustar scottscottContent-type: text/html Man page of dvd-menu

dvd-menu

Section: dvd-slideshow (1)
Updated: 0.8.4
Index Return to Main Contents
 

NAME

dvd-menu - Creates a DVD navigation menu with buttons.  

SYNOPSIS

dvd-menu -t <ButtonText1> ... -t <ButtonTextN> -f <XML_file1 | MPEG_file1> ... -f <XML_fileN | MPEG_fileN> [-o <output directory>] [-n <DVD Title>] [-b <background jpeg>] [-e <embed image>] [-a <audiofile>] [-p] [-c] [-D] [-W] [-mp2] [-iso] [-nomenu] [-L]  

DESCRIPTION

Creates a simple top-level DVD menu with buttons that link to movies. Accepts the output XML files from dvd-slideshow or your own self-defined MPEG movies.  

OPTIONS

-t <Button text>
The button text visible on the menu which will link to each corresponding (in order passed) -f option. Use this option multiple times with -f to define multiple titles/buttons.

-f <Input file>
Can be an XML file output from dvd-slidshow or a full-scale mpeg2 video in the proper format (.vob). No error checking is done if you pass a MPEG2 .vob input file, so you are on your own. Use this option multiple times with -t to define multiple titles/buttons.

[-o <Output directory>]
Directory where the final DVD filesystem files VIDEO_TS/ will be written.

[-n <DVD Title>]
This will be printed at the top of the DVD menu page.

[-b <Background jpeg>]
Image to use for the background DVD menu. If no file is specified, a blue gradient will be used for the menu background.

[-e <embed image>]
Embed an image in the menu screen. This image will show up to the left of the menu buttons.

[-a <Audio file>]
Audio file to play while the menu is active. Supports mp3, ogg, or wav formats at this point.

[-mp2]
Use mp2 audio by default (requires ffmpeg with ac3 encoding). The default audio format is now AC3 instead of mpeg2 sinceI have found that many DVD players do not play the audio when it is in mp2 format, so this may be a better, more compatible option for most people.

[-p]
Use PAL output video format instead of NTSC.

[-c]
Use continuous <post> commands within dvdauthor. This will make each video play one after another without going back up to the main menu until the last video is finished. If this option is not used, the dvd will return to the top menu after playing each track.

[-D]
Do not call dvdauthor. This will tell dvd-menu to create the menu and output xml files to pass to dvdauthor, but will not actually run dvdauthor. Useful for people who want to modify their xml file before running dvdauthor.

[-W]
Do not generate 50% transparent white background overlays under the title and menu buttons.

[-iso]
Create iso image with mkisofs when finished.

[-nomenu]
Do not create a menu. Useful for just finishing the dvdauthor xml file from one video that you want to just start playing when the user puts it into a dvd player.

[-L]
Create a low quality, half-slize menu. This works with dvd-slideshow so you can render your whole project in low-quality mode and still test everything quickly.

[-theme <themefile>]
Use the given theme when setting variables/colors/etc. Themes are installed in /opt/dvd-slideshow/themes or in a local directory ~/.dvd-slideshow/themes

[-fadein]
Fade in from background before menu

[-fadeout]
Fade to background after menu buttons are pressed.

[-vcd]
(alpha) Create vcd .cue and .bin files (requires vcdimager)
[-svcd]
(alpha) Create svcd .cue and .bin files (requires vcdimager)

-h
Prints help file (basically this manpage).
 

CONFIGURATION

Settings can be passed on the command line, in a default ~/.dvd-slideshow/dvd-slideshowrc file, or in a theme file. The order in which the script reads the settings is as follows:
Default script settings --> ~/.dvd-slideshow/dvd-slideshowrc --> theme --> command line
so each successive setting will over-ride the previous settings if they are already set.

~/.dvd-slideshow/dvd-slideshowrc:

With the syntax shown below, the following variables can be specified in the ~/.dvd-slideshow/dvd-slideshowrc file. All lines are optional, and everything after the # character is not read.

# general:
menu_continuous_play=0 # set to 1 to play one file after another without going back up to menu.

menu_fadein=0 # set to 1 to fade in to menu
menu_fadeout=0 # set to 1 to fade out from menu after a button is pressed.

menu_background=steelblue # or, use hex #RRGGBB
#menu_background="#882211" # use a hex RGB color if you wish
#menu_background="mybackground.jpg" # specify a real image if you want
## pick other colors here: http://www.imagemagick.org/script/color.php

menu_fade_to_image="black" # image to fade to/from before/after menu
#menu_fade_to_image="#ff3344"
#menu_fade_to_image="myimage.jpg"

#menu_title_font="/usr/share/fonts/default/Type1/n019004l.pfb" # Helvetical bold URW font
menu_title_font_size=40
menu_title_font_color=black
menu_title_white_height=125
menu_title_location_x=80
menu_title_location_y=50
#menu_title_justify=center

menu_panel_height=28
menu_panel_width=288
menu_panel_location_x=360
menu_panel_location_y=175 # distance of the top of the first menu item to the top of the screen

#menu_button_font="/usr/share/fonts/default/Type1/n019004l.pfb" # Helvetical bold URW font
menu_button_font_size=21
menu_button_font_color=black
menu_button_hilight_color=red

#menu_audio=myaudio1.mp3

 

THEMES

A theme is just a file containing a list of configuration variables, and possibly also background images, fonts, or audio in the same directory.

Any of the configuration variables can be placed in a dvd-slideshow theme file to control dvd-menu also.

This will be explained more later...
 

FILES

dvd-slideshow
dvd-menu
gallery1-to-slideshow
dir2slideshow
jigl2slideshow  

EXAMPLES

There are a few heavily-commented examples available in the examples section of the dvd-slideshow webpage, which you can find at http://dvd-slideshow.sourceforge.net  

AUTHORS

Scott Dylewski <scott at dylewski dot com>
http://dvd-slideshow.sourceforge.net  

SEE ALSO

dvd-slideshow(1)


 

Index

NAME
SYNOPSIS
DESCRIPTION
OPTIONS
CONFIGURATION
THEMES
FILES
EXAMPLES
AUTHORS
SEE ALSO

This document was created by man2html, using the manual pages.
Time: 05:24:12 GMT, August 24, 2011 dvd-slideshow-0.8.4-2/doc/changelog.txt0000664000175000017500000005761511623642233016767 0ustar scottscottDVD Slideshow package changelog: 0.8.4 dvd-slideshow New Features: Improved encoding speed significantly. (thanks Gary Hunt!) Use qscale VBR option in ffmpeg for flv and mp4 output instead of fixed bitrate. Logo (-logo) works as general overlay (beta). Added -threads $cores to ffmepg calls for speed improvement? Added .ogg mode ( use -ogv ) (not working yet) Added ipod output ( use -ipod ) (not working yet) Add quiet output mode -q to reduce output Bug Fixes: Use soxi to determine length of .wav audio instead of sox (better compatibility?) Fixed chroma subsampling bug when using -mpeg2enc option (cat terminated by signal 13) New dvdauthor/spumux > 0.7.0 require explicit NTSC/PAL declaration No audio added to .flv files when none is passed by default. Changed default dvd audio bitrate from 192kbps to 256kbps Enable subtitle_location_x (was not being passed before) Fix audio duration for .avi files (untested) (thanks Guy Albertelli) Fix hms2seconds to allow 0:08:05:345 (seconds and minutes like "08") (thanks Guy Albertelli) Redirect wait errors to log file to reduce errors in long slideshows Improved kenburns jitter. Added unset CDPATH to full_path function call (thanks Bob!) Fixed bug with old version of findutils < 4.2.5 Use du -b so it is independend of env variables (thanks kikoun) Change sleep 1s to sleep 0.01s for faster machines Add better help for missing applications and graphicsmagick Allow escaped # in musictitle slides (use \# to print #) Added fixes for .avi files (thanks Guy Albertelli) dvd-menu Changes: Fix sox arguments to work with both old and new versions of sox. Added "unset CDPATH to full_path function. (Thanks Bob!) Add explicit PAL or NTSC in .xml files for dvdauthor 0.7.0 Add totem and VLC playback examples dir2slideshow Changes: Fixes for file counts and uppercase extensions (thanks Eric Baplue) Allow reading of dvd-slideshowrc file to set variables (thanks Johan Kunnen) Reads .avi files for dvd-slideshow (thanks Guy Albertelli) Add -q (quiet mode) for less output on screen when calling from another script 0.8.2 dvd-slideshow New Features: Error check code BEFORE running full script. Added -logo option to add a logo to each slide. (does not work with transitions yet) Added -mpg output for creating alternate-sized mpeg output that does not conform to dvd standards (very alpha) Better control over subtitles with new variables subtitle_location_x and subtitle_location_y. Default x location is 0. Better handling of very long subtitles. (up to 3 lines and reduced font size) No subtitles are rendered during fades. Log file now uses the slideshow name instead of dvd-slideshow.log Bug Fixes: Allow spaces in output files (spaces used to be forced to underscores). Removed old "smoothing=0" option in kenburns Change imagemagick calls with -type TrueColor to -type TrueColorMatte for latest version Sox v. > 13 changes -w to -2 and -e to -n (thanks Ludovic) Allow "widescreen=1" in input file. Changed "sleep 0.1s" to "sleep 1s" for better compatibility. Fixed hms2seconds with leading zeros (thanks Arnd Baecker) Better (larger) resizing for kenburns in high-quality mode. Smoother scroll effect in normal mode (fixed rounding error) Font search follows links. Thanks Jim Potter! Change LANG=C to LANG=POSIX to try to fix radix problems with printf Added some code to only process one crossfade in the background at a time. Fixed problem with subtitles- last one was not being displayed. Added "k" to audio bitrate arguments to ffmpeg (thanks Tony!) Fixed bug where subtitles would not show in crop and kenburns effects. Fixed bug with audio timing when using scroll & kenburns. removed -size option from crop function because large images were improperly cropped. added -M option to mplex calls (for some reason it was removed) Fix audio when passing an .avi file. Fixed chapter keyword timing. Increased mplex bitrate to 9500 from 9000 to fix some possible encoding bugs. Fix bug with hms handling times longer than 1 hour. Thanks Michael Crider dvd-menu Changes: Change imagemagick calls with -type TrueColor to -type TrueColorMatte for latest version Sox v. > 13 changes -w to -2 and -e to -n (thanks Ludovic) Font path follows links. Thanks Jim Potter! AC3 audio created with ffmpeg needs k added to bitrate Changed -depth 16 to -depth 8 in background gradient creation. Fix embedded image help text. Default layout will switch to two columns of buttons (no embedded image) if the button list is long. Change LANG=C to LANG=POSIX to try to fix radix problems with printf Add menu fix so "dvd menu" button works on dvd players (thanks will guaraldi) dir2slideshow Changes: Write out pal option to output file if selected in dir2slideshow Recursive finds follow symbolic links and ignores hidden directories. Bug fix for spaces in filenames (thanks Ken Zutter) Fixed bug where .mp3 files were being treated as images (crossfade error) Fixed bug where other file formats would be included in the listing (thanks Mridul) Fixed bug where audio files were not included in output. Allow spaces in output files if spaces is used as filename 0.8.0 dvd-slideshow New Features: ***NOTE: The slideshow timings of fades will change with this version! *Fadein/Fadeout/Crossfade to/from kenburns/scroll effects works now: ( fades happen during movement of effect )Default ffmpeg to no b frames. *Now using ffmpeg to encode video. Seems over 2x faster than mpeg2enc. Add title and button information to .xml file automatically for dvd-menu use. Allow multiple \n in titles (up to 4) Added variables subtitle_color, subtitle_outline_color, and subtitle_location Use variable subtitle_type=render to force subtitles to be rendered in frames. Remove option for srt subtitles since we can force render them now. Updated audio timing to be more accurate for long slideshows Added kenburns syntax for crop,kb,crop duration Kenburns has smooth start and end now. Add option to sharpen images (-sharpen) with ImageMagicks unsharp mask. .flv output [alpha] use -flv for now, but his might change Specify output size other than default with -s 320x240 (alpha) *Added -border option to add space between image and edge of screen. *Added "wipe" transition between frames: wipe:duration:subtitle:[right|left] (soon up|down also) mp4/aac audio is possible with faad *Fadein/Fadeout/Crossfade to/from kenburns/scroll effects works now: ( fades happen during movement of effect ) *Adding .avi video inline is possible. See docs. [alpha] *Initial theme support [beta] Widescreen (16:9) support using -w [alpha] Not tested yet. Improved font variables. kenburns effect is much smoother for slow effects in high-quality mode. (slower) Added -vcd and -svcd output options [beta] (lightly tested) Inline audio processed as background job when specifiying -smp Audio fadein and fadeout times can be specified in decimals like 0.250 Automatically sets smp option if the current kernel has "smp" in the name. Bug Fixes: Fixed kenburns coordinates when passing numbered coordinates. Escape brackets in [:blank:] (thanks Christian Molière) Fixed mismatch in kenburns coordinates due to non-square pixels. (thanks Tony Sauri) Manual chapter markers fixed. Fixed reading of $HOME/.dvd-slideshow/dvd-slideshowrc settings. Single or double quotes allowed in variable settings. Got rid of lsof debugging lines. No longer needed. Fixed bug in seconds2ms that mishandled durations of 0.080 ms (thanks Eric) Remove wc --chars calls for compatibility with FreeBSD Remove seq calls for compatibility with FreeBSD Add FreeBSD font path so fonts are found. dvd-menu Changes: Added 6image layout option. It can also read the title and icon from the .xml file output from dvd-slideshow. more testing is needed. Added many more variables to control the layout of the menu also. Added -vcd and -svcd modes. Works! tested -vcd a little. Audio automatically fades in/out for 2 seconds Reads variables correctly from ~/.dvd-slideshow/dvd-slideshowrc Updated variables. See dvd-slideshowrc example file Better control of fonts and variables. Deletes temp directory when finished. -nocleanup works Reads -theme files Added -fadein and -fadeout for menus. Remove seq calls for compatibility with FreeBSD (Thanks David Mulcahy) Remove wc --chars calls for compatibility with FreeBSD dir2slideshow Changes: Add audiobook option- looks for audio files and images & adds titles Allow wipe effect as default between images -w duration Allow decimals in crossfade duration. Allow two different subtitles -s or -s2 Add random kenburns effect (-k) Output file is copied to screen while running Full paths are specified to images in output .txt file. Start of themes being implemented. See theme documentation. Add subtitle options to add path and/or filename. (Thanks Kenneth Weinert) Add recursive directory search. -R and -r (Thanks Kenneth Weinert) Removed seq calls for compatibility with FreeBSD 0.7.5 dvd-slideshow New Features: Use "\n" to force line breaks up to two lines in title text (not titlebar yet). Fixed code to rotate images. (not that public yet) Use image.jpg:duration:subtitle:[effect1:effect1_params:]rotate:angle Configuration variables will be read in sequence now. So you can configure fontcolors and sizes throughout the input file. Allow comments in all lines. Everything after # will be ignored. Scroll effect is MUCH smoother for slow scrolls in high-quality mode! (takes 3x longer) Slideshow name -n is optional now. Defaults to the base name of the input file. * Changed old "title" keyword to "titlebar:duration:toptitle:bottomtitle" * Added "title:duration:title_text" function where a single title is rendered in the middle of the screen. Add check for missing subtitle syntax in crop/scroll/kenburns. Longer progress bar. Reads ~/.dvd-slideshowrc in a loop for better debugging and security. Bug fixes: Added "+repage" in convert lines after cropping when using internal .mpc image format. ( Fixes Kenburns and crop errors with ImageMagick > 6.2.2 ) Fixed kenburns problems with black backgrounds. Fixed "geometry does not contain image" problem with kenburns effect. Works for slide or transition duration > 35 seconds now. Add quotes around yuv fifo to allow for spaces in output directory. Fixed "squishing" when fading out or crossfading to a scroll effect. Fixed problem where audio "fadein" was being rendered as a subtitle. Traps bad duration=0 for images and effects. dvd-menu Allow embedded .png to keep transparency Fix error message quotes when looking for XML file existing. dir2slideshow Allow spaces in filenames 0.7.4 dvd-slideshow Bug fixes: Changed mpeg2enc process file descriptor from 55 to 3 for compatibility with bash >= 3.1 (fixes hang at wait for mpeg2enc to finish) Echos details to logfile about mpeg2enc process for future debugging. Output directory gets created if it does not exist. Fixed bug in kenburns positioning with black background. Better error messages when no oggdec or lame found. Fixed error where kenburns intermediate files were not being deleted. gallery1-to-slideshow Fixed bug where no pictures were found with new version of gallery 1.5 Fixed bug near line 279 with a missing "fi" statement. 0.7.3 dvd-slideshow New features: Fixed Kenburns zoom in adjusted to a "constant" velocity! You can include other .txt files by using a line include:filename.txt in your input .txt file. Thanks Thomas Weber! User can manually add chapter markers by using the "chapter" keyword alone on one line of the input .txt file. Added variable "mpeg2enc_params" so advanced users can easily change the parameters. All timing accurate to 0.001 (1 ms) now. Added -smp option to process faster on high-end machines. Added -writechaps option to write out chapter markers to .chap Bug fixes: Fixed bugs causing errors when spaces were in paths. Fixed bugs in the audio processing: error on last audio file. Changed mpeg2enc -M 3 (use multiprocessors) to -M 0 because 1.8.0 was crashing on athlon 64 X2 machines. Added "-compose src-over" option to composite calls for compatibility with Debian Etch. Fixed bug when passing a single audio file longer than the slideshow. Removed rpm check for supporting applications. Checks for crossfade duration = 0 and handles it correctly. Checks that audio and image files exist while parsing .txt file. Fixed minor bug where an extra (non-existant) subtitle was rendered. Fixed bug when fading in to a first slide that is a scroll effect. Subtitle timing bug fixed! Small fix in displaying total number of pictures processed Better logging to logfile. Fixed ignored line if last line does not contain a line break. dvd-menu ** Changed output directory option to be the same as dvd-slideshow Spaces in filenames should work now. Checks that xml files exist before proceeding. Added option to pass an embedded image (-e image.jpg). Thanks Marcus Brown Added "upAction" option for use with dvd-bakery. Thanks Marcus Brown! Fixed bug in pal mode variable passing. (thanks Marcus Brown) Changed head 4 to head -n 4 Added variable "mpeg2enc_params" for easier changing of mpeg2enc parameters. Get rid of rpm checks. Added low quality mode -L for use with dvd-slideshow. Added -nocleanup option to save files in temp directory for debugging. Added "-compose src-over" to all composite lines for compatibility with Debian Etch. Added -H high-quality option as a placeholder for future use Added -smp option as a dummy option for compatibility with dvd-slideshow dir2slideshow Passing -c 0 does not create crossfades. Added option -notitle Added option to specify background color or image -b image.jpg Fix output of "backgound:0:black" on first line. It should read "background:0::black" gallery1-to-slideshow Changed name from gallery2slideshow to gallery1-to-slideshow to avoid confusion... it does not work on gallery v.2.x albums! Add -b background image option Fix for finding all images in album. Thanks Ivan Espinosa! Added a few more quotes around variables to help with spaces in filenames. 0.7.2 dvd-slideshow Faster Kenburns effect rendering when using black background. Allow multiple sequential audio files in input .txt file. Changed "head -1" to "head -n 1" Allow .png and .jpeg extensions. Allow \n in subtitles to designate end-of line breakpoints Checks for required program version better now. Fixed ppmtoy4m compatibility error for compatibility with mjpegtools >= 1.6.3-0.1 Allow "exit" keyword in .txt file (for easier debugging). Fixed pixel aspect ratio problem. (hopefully) Add option to render subtitles with spumux and .srt files (beta) Cleans up old temporary files if they exist. Better logfile output. Hopefully catches program call errors. Title2 text and bar locations referenced to bottom of frame for better PAL/NTSC compatibility. Subtitle stays constant between slides if they both have the same subtitle (thanks Andre Weilert) All temporary files are created in a temporary directory now. Fixed bug when fading in to a scroll effect. (remove tab at EOL). Changed progress display slightly ( counts pictures ). dvd-menu Better checking for correct versions of required programs. Logfile output to dvd-menu.log Reads default variables from ~/.dvd-slideshowrc Obeys "autocrop" option Pixel aspect ratio should be correct now. gallery2slideshow Another fix to allow newlines in gallery comments. These should correctly get translated into \n characters. Strips out and tags also. 0.7.1 dvd-slideshow Added log file output to dvd-slideshow.log Updated documentation and examples Background color can now take a #RRGGBB value Nicer progress indicator AC3 audio is now the default. Pass -mp2 to force MP2 audio. Autocrop works on background images now also. Added code to check for all temporary fade_xxxx.ppm images before proceeding to encode mpeg video. Fadein or crossfade to a scroll effect works correctly now. dvd-menu Automatically creates output directory if it does not exist. Added option -nomenu if you do not want to create a menu dir2slideshow Now reads the following file extensions in the specified directory: .jpg .JPG .jpeg .png .PNG 0.7.0 dvd-slideshow Default variables can be set in a ${HOME}/.dvd-slideshowrc file Default variables can be set in the input .txt file Crossfade and fadein to kenburns effect correctly fades to the first frame geometry instead of the whole image. New keywords for the start and end points in kenburns effect: topleft/middle/middleright etc. See docs for details. New keywords for the crop function also. 9999 audio files possible now. Used to be a limit of 9 Fixed bug when fading in to a cropped image. Removed -R 2 and -c options in mpeg2enc because some people had problems. Fixed subtitle timing bug, so now the subtitles appear and disappear closer to the correct time. Changed encoded audio bitrate from 224kb/s to 128kb/s Works with toolame 0.2m beta and 0.2L now Got rid of calls to NetPBM functions, so it is no longer required... Changed "wc -m" call to "wc --chars" for better compatibility. Fixed syntax so spaces should be allowed in input files now. Changed "seq 2 1" to "seq 2 -1 1" for better compatibility Added option to "autocrop" images (-c) that are close to the output aspect ratio, but not quite. Title syntax changed... (see documentation) Fadein/crossfade to a title or background slide works now. Fadein/fadeout/crossfade works when previous/next slide is not actually an image/title/background. The next real slide will be used instead. Fixed bug in Low quality mode (-L) (extracopies bug) dvd-menu Added option -iso option to create the iso image gallery2slideshow Fix to not show hidden pictures for gallery v1.4.3-pl1 ( thanks Frederic! ) Fixed bug when passing html links in subtitle field dvd-slideshow supports duration in fractional seconds. Allow for "." as the album path 0.6.0 dvd-slideshow Fixed major bug/error when generating long slideshows. Now all video gets piped in YUV fomat through mpeg2enc in one single block. (fix by Mike Beller. Thanks!) Added option to generate AC3 audio files (requires ffmpeg > 0.4.8) Fixed title slide when using -L (low quality mode) Allow for slide durations to be specified in hundreths of a second: 5.23 Reports total audio and video lengths at the beginning of the code. Fixed bug when using subtitles. (no subtitles were generated) Changed output files to be .vob extension instead of .mpg Better font searching (thanks Jim Crumley) Use backslash to escape a colon in subtitles (thanks Jim Crumley) Allow avi input files. pre-alpha support. (thanks Jim Crumley) dvd-menu Added AC3 audio option (requires ffmpeg > 0.4.8). Mplexed files are now correctly labeled with the .vob extension. Better font searching (thanks Jim Crumley) 0.5.4 dvd-slideshow Added option to re-define background image from text file input. Code cleanup (slightly) Added support for two audio tracks. Added audio effects: fadein/fadeout Default command-line audio fadein/fadeout time is 3 seconds. dir2slideshow New! Creates an dvd-slideshow input file from a directory of pictures. Updated man pages for dir2slideshow, gallery2slideshow, and jigl2slideshow. 0.5.2 dvd-slideshow Fixed bug in musictitle Title info parsing. Checks to make sure a slidshow name is passed. Added low-quality mode (-L) for testing. Speeds things up about 4x. Reduced verbosity. Checks for required fonts. Subtitles look much better now. Word-wraps long subtitle lines into two lines. dvd-menu Fixed audio bug when no audio was used. (re-mplex error) Added -c continuous play option ( jumps to next title). Added -D do not run dvdauthor option. Added -W do not create a 50% white background under menu text. dvdauthor xml structure changed slightly DVD Title (-n) is now optional. Added man page. Checks for nice fonts and uses them if available. Added install.sh script to install man pages along with dvd-slideshow and dvd-menu. 0.5.0 dvd-slideshow Added KenBurns effect! See docs for usage. Added scroll effect! See docs for usage. Added crop effect. See docs for usage. Audio can be started and stoped for multiple files within the text file. See docs for usage. Added "musictitle" option for displaying audio info. You can now comment out lines in the textfile by using the # character. Also ignores blank lines in textfile. Fades can now have up to 9999 frames. Total slides can now be 9999. You guys are crazy. fixed small bug when no chapters are specified. Chapter markers are now rounded up to the next full second due to a bug in some versions of dvdauthor. Only checks for oggdec or lame if you pass an ogg or mp3 file. Changed syntax of command line input for files and audio. Passing images on the command line is no longer public. Use the text file in put instead. Fixed audio problem with some mp3 files getting pops in them. dvd-menu Changed name to dvd-menu from dvd-mainmenu Only requires lame or oggdec if you're passing a mp3 or ogg file. Fixed some audio bugs (sampling) so it should work better. Will automatically delete AUDIO_TS and VIDEO_TS directories in your output directory if they already exist. gallery2slideshow Added option (-c duration) to put a crossfade for duration seconds between every picture. Added default fadeout after title slide. 0.4.8 dvd-slideshow 0.4.8 Changed audio to process raw (headerless) audio files before joining them. Fixed bug when passing multiple audio files (again). Fixed audio fadein/fadeout time to 1 second Fixed bug in audio where it plays to fast when burned on dvd. Checks to make sure audio files exist before processing. 0.4.6 dvd-slideshow 0.4.6 Fixed bug when passing multiple audio files. (thanks Scott Merrill) Removed -t option from toolame command for better support for old versions. dvd-mainmenu 0.4.6 Fixed bug when checking for toolame (thanks Scott Merrill) Removed -t option from toolame for better compatibility with old versions. 0.4.4 dvd-slideshow 0.4.4 Only writes chapter markers when there is a picture or title First chapter marker is now fixed at time 0 Max number of chapter markers is now 99 (thanks Jens Gecius) Fixed bug when checking for toolame (thanks Jens Gecius) Added "crossfade" option! Will use mpeg3cat from libmpeg3 to join mpegs if available. Small fix to allow semicolons in subtitles (thanks Jim Crumley) Added -s option to mpeg2enc calls for (maybe?) better compatibility. gallery2slideshow 0.4 Added fadein before first picture and fadeout at the end jigl2slideshow 0.3 Added default fade in at beginning and out at end 0.4.2 dvd-slideshow 0.4.2 Current working directory will be used if -o not specified. Allow "background" keyword in text file to insert background. Make sure all ImageMagick calls have -depth 8 to make ppmtoy4m happy. No font is specified in ImageMagick calls, so it should use the default. Changed default menu to a steelblue gradient when no image is passed. dvd-mainmenu 0.4.2 Changed location of main title slightly lower. Fixed one hardcoded 720x480 image so PAL option should work better. Added -depth 8 to ImageMagick calls to fix ppmtoy4m errors. Upgraded main menu background when no background is passed. 0.4 dvd-slideshow 0.4 Fixed bug when no background specified (again). Added error checking to make sure image files exist. Ogg audio format supported (you must have oggdec). Uses toolame for mp2 audio encoding when available. Audio timing improved. Fixed bug when double-quotes were in subtitle. Added black, fadein, and fadeout options in txtfile! -p (PAL format option) added. Not tested, but should work. dvd-mainmenu 0.4 Added support for ogg and wav audio tracks Fixed bug when no background specified. -p (PAL format option) added. Not tested, but should work. White background behind buttons is now 50% transparency so it looks better. 0.3 dvd-slideshow 0.3 Fixed error when no background specified. Now default is black Added checking for required programs before running. dvd-mainmenu 0.3 Added section to check for required programs If no background passed, a black one will be used. gallery2slideshow 0.3 Added extra file checking before processing for better stability from Scott Merrill Thanks!!! jigl2slideshow 0.2 Fixed minor bug when checking for output directory 0.1 Initial release (contributed by Scott Merrill ) 0.2 dvd-slideshow 0.2 Initial release dvd-mainmenu 0.2 Initial release gallery2slideshow 0.2 Initial release dvd-slideshow-0.8.4-2/doc/gallery1-to-slideshow.wiki0000664000175000017500000000362311625104620021304 0ustar scottscottContent-type: text/html Man page of gallery1-to-slideshow ==gallery1-to-slideshow== Section: dvd-slideshow (1)Updated: 0.8.1[Index] [Return to Main Contents]   ===NAME=== gallery1-to-slideshow - Creates an input file for dvd-slideshow from pictures in Gallery online photo album.   ===SYNOPSIS=== gallery1-to-slideshow ['''-o''' <'''output directory'''>] ['''-t''' <'''Seconds per picture'''>] ['''-b''' <'''background image'''>] ['''-c''' <'''Crossfade seconds'''>] <'''path to album'''>   ===DESCRIPTION=== Generates a text file listing of the pictures visible in a given "Gallery" ([http://gallery.sourceforge.net)] photo album in order to easily pass the information to dvd_slideshow. Only works with version 1.X of Gallery, not version 2.X.   ===OPTIONS=== ['''-o''' <'''Output directory'''>] Directory where the output file will be written. If not specified, the current directory is used. ['''-t''' <'''Seconds per picture'''>] Number of seconds to display each picture in the movie. Defaults to 5 seconds if not specified. ['''-b''' <'''Background image'''>] Specify a background image to use for the slideshow. ['''-c''' <'''Crossfade seconds'''>] Number of seconds to crossfade between images. One second is usually fine. Note that this will increase the processing time considerably, but it looks nice. <'''path to album'''> The path to the Gallery album that you want to generate a slideshow for.   ===EXAMPLES=== [http://dvd-slideshow.sourceforge.net/examples]   ===AUTHORS=== Scott Dylewski <scott at dylewski dot com> [http://dvd-slideshow.sourceforge.net/]   ===SEE ALSO=== [dvd-slideshow](1)  ===Index=== [NAME] [SYNOPSIS] [DESCRIPTION] [OPTIONS] [EXAMPLES] [AUTHORS] [SEE ALSO] This document was created by [man2html], using the manual pages. Time: 05:18:05 GMT, August 24, 2011 dvd-slideshow-0.8.4-2/doc/dir2slideshow.wiki0000664000175000017500000000656511625104620017737 0ustar scottscottContent-type: text/html Man page of dir2slideshow ==dir2slideshow== Section: dvd-slideshow (1)Updated: 0.8.4[Index] [Return to Main Contents]   ===NAME=== dir2slideshow - Creates an input file for dvd-slideshow from pictures in a directory.   ===SYNOPSIS=== dir2slideshow ['''-o''' <'''output directory'''>] ['''-t''' <'''Seconds per picture'''>] ['''-c''' <'''Crossfade seconds'''>] '''-n''' <'''Slideshow name'''> ['''-T'''] ['''-M'''] ['''-s subtitle_text'''] ['''-notitle'''] <'''Images directory'''>   ===DESCRIPTION=== Creates a input file for dvd-slideshow from all the JPEG images in a given directory. Now it reads all .jpg .JPG .jpeg .png and .PNG files in the specified directory.   ===OPTIONS=== <'''Images directory'''> The path to the directory containing the images you want to use. '''-n''' <'''Slideshow name'''> The name of this slideshow. This name is used as the default title text for the first title slide in the slideshow. This name will be used for the output file name. ['''-t''' <'''Seconds per picture'''>] Number of seconds to display each picture in the movie. Defaults to 5 seconds if not specified. ['''-o''' <'''Output directory'''>] Directory where the output file will be written. If not specified, the current directory is used. ['''-c''' <'''Crossfade seconds'''>] Number of seconds to crossfade between images. One second is usually fine. Note that this will increase the processing time, but it looks nice. ['''-w''' <'''Wipe seconds'''>] Number of seconds to wipe between images. One second is usually fine. Pick either crossfade or wipe, but not both. ['''-T'''] Sort images by the JPEG header picture taken time, then by the file modification date, and finally by the filename. Default sort is by name only. Requires the jhead program. ['''-M'''] Sort images by the file modification date, and then by the filename. Default sort if by name only. ['''-s subtitle_text'''] Add default subtitle "subtitle_text" to every slide. Use "-s filename" to display filename as the subtitle. Use "-s path" to display the path and filename as the subtitle. ['''-s2 subtitle_text'''] Same as -s but adds subtitles to subtitle track 2. ['''-b background.jpg'''] Use background.jpg as the background images. Default is black. ['''-notitle'''] Do not create a title slide. ['''-r'''] Recursively search directories for images, creating one output file. ['''-k'''] Apply random kenburns effects to images. (use of this is discouraged because encoding takes so long) ['''-p'''] Use PAL output video format instead of NTSC ['''-theme themename'''] Use themename as a theme file. See theme help files for more info. (TBD) ['''-a audiofile1,audiofile2,...'''] Add audio files to the slideshow. Files will be played sequentially for the duration of the slideshow. Use quotes if you have spaces in filenames. ['''-q'''] Quiet mode: outputs less screen output.   ===EXAMPLES=== [http://dvd-slideshow.sourceforge.net]   ===AUTHORS=== Scott Dylewski <scott at dylewski dot com> [http://dvd-slideshow.sourceforge.net/]   ===SEE ALSO=== [dvd-slideshow](1)  ===Index=== [NAME] [SYNOPSIS] [DESCRIPTION] [OPTIONS] [EXAMPLES] [AUTHORS] [SEE ALSO] This document was created by [man2html], using the manual pages. Time: 05:18:05 GMT, August 24, 2011 dvd-slideshow-0.8.4-2/doc/dvd-slideshow.html0000664000175000017500000005064611625105374017740 0ustar scottscottContent-type: text/html Man page of dvd-slideshow

dvd-slideshow

Section: dvd-slideshow (1)
Updated: 0.8.4
Index Return to Main Contents
 

NAME

dvd-slideshow - Creates a slideshow movie in DVD video format from a list of pictures and effects.  

SYNOPSIS

dvd-slideshow [-n <slideshow name>] [-o <output directory>] [-b <background jpeg>] [-a <audiofile1> -a <audiofile2> -a <audiofileN>] [-p] [-flv] [-mp4] [-s WxH] [-L] [-H] [-mp2] [-r] [-nosmp] [-border <bordersize>] [-theme <themename>] [-f] <input text file>  

DESCRIPTION

Creates a video from a bunch of images. The default video format is designed to produce DVDs, but other formats can be created for the web also (.flv). You can add music on the command line or in the text input file. Supports several effects like fadein, fadeout, crossfade, crop, and kenburns. dvd-slideshow is designed to work with dvd-menu to create a dvd navigation menu that you can then burn onto a dvd. There are also some helper scripts to convert a directory of pictures or your favorite online photo album to a dvd.  

OPTIONS

[-n <Slideshow name>]
The program uses this string as the filename base for the output files so you can distinguish it from other slideshows that you can send to the same output directory. If not specified, the default value is the name of the input file.

[-f] <Input text file>
See the INPUT FILE section.

[-o <Output directory>]
Directory where the final .vob and dvdauthor .xml files will be written. Defaults to the current working directory.

[-b <Background jpeg>]
Image to use for the background of the slideshow. All of the pictures will be overlaid on top of this background image. If no file is specified, black will be used for the slideshow and a blue gradient for the title slide.

[-a <Audio file>]
Audio file to play in background during the slideshow. It will be faded out at the end. Supports mp3, ogg, or wav formats at this point. Multiple files will be joined. See also the more flexible text file input method. To pass multiple files, use the -a switch again.

[-p]
Use PAL output video format instead of NTSC.

[-mpeg2enc]
Force use of mpeg2enc with mp2 audio even if ffmpeg is installed. Use this if you have problems with ffmpeg. Usually ffmpeg is much faster at encoding video.

[-mp2]
Use mp2 audio by default. AC3 audio seems to be more stable when playing in dvd hardware players, but requires ffmpeg. This will over-ride the AC3 default and use the mp2 audio encoder.

[-s WidthxHeight]
Use output size other than the standard DVD output size (720x480 for NTSC). Used when specifying alternate output formats with -flv or -mp4

[-flv]
Render a flash video instead of a mpeg2 .vob. Default output size is 320x240.

[-mp4]
Render a mp4 video instead of a mpeg2 .vob.

[-mpg]
Render a .mpg video instead of a mpeg2 .vob. Allows for alternate (non DVD compatible) sizing with -s

[-vcd]
(alpha) Renders video in vcd-compatible output.

[-svcd]
(alpha) Renders video in svcd-compatible output.

[-L]
Render a low-quality video suitable for debugging. This sets the resolution to 1/2 of full resolution and decreases the quality of fades/transitions. It should speed up the encoding process by at least a factor of 4.

[-H]
(Beta) Render a higher-quality video. This uses the default dvd resolution and keeps all other output parameters the same, but enables some pixel-sampling methods that make the scroll effect look better at very slow velocities. This will make dvd-slideshow take up to 4x longer to process the scroll effect. Only applied when needed; the output will explain if it is being used.

[-theme <themefile>]
Use the given theme when setting variables/colors/etc. Themes are installed in /opt/dvd-slideshow/themes or in a local directory ~/.dvd-slideshow/themes

[-border N]
Make a border of N pixels around each image. Does not apply to title slides.

[-sharpen]
Sharpen images.

[-r]
Autocrop images near the DVD output aspect ratio to fill the whole window.

[-w]
[alpha] Render widescreen (16:9) output instead of standard (4:3).

[-nosmp]
Disable multiple threads in some processes when possible. If you have little memory or a slow machine, this may help if you experience problems with disk memory caching.

[-nocleanup]
Leave temporary files in the temporary directory. Useful for debugging.

[-q]
Quiet output mode. Reduce amount of information on screen, but keep a progressbar indicator.

[-V 1|2]
Increase verbose debug output. 1 adds more than the default, and 2 adds a lot.

-h
Prints help file (basically this manpage).
 

INPUT FILE

Note: The -f is optional if the input filename is the last argument on the comand-line.

The input file is a text file that acts like a timeline or storyboard for your slideshow. In the most simple form, it is just a list of images. See EXAMPLES for some simple examples of these text files. The input file also allows for many more special effects that are not available on the command line. Each line contains one image or effect. It uses the : character as a separator for the fields. Here is the syntax:

[image.jpg|keyword]:duration:subtitle:effect:effect_params

Duration can be specified in integer seconds like 5 or with up to three decimal points of accuracy, like 5.683.

When passing a picture, you can optionally use the keyword "audio" instead of the duration in seconds. What this does is force the duration of that image to be the length of the previous audio track. This is useful for making a music video dvd.

The subtitle field is optional, but if you are passing effects after the subtitle field, be sure to include all the colons :: in order for the parser to get the correct info. You can escape a colon in subtitles with a backslash.

NOTE: the effect parameters are separated by a semicolon ; instead of a colon :.

KEYWORDS:
title:duration:title text
Makes a title slide with text centered in the screen. Further control of the font, size, and position of the title text can be achieved by setting variables (see the VARIABLES section).

titlebar:duration:Upper title text:Lower title text
Makes a title slide using <Upper title text> as a title at the top of the screen, and <Lower title text> as a lower title, in a band at the bottom of the screen. Each title is optional. If one is missing, it will not be displayed. White ands are underlayed behind the text for better contrast. Further control of the font, size, and position of the title text can be achieved by setting variables (see the VARIABLES section).

musictitle:duration:subtitle:Title:Artist;Album
Makes a black frame with the song info printed in the bottom left corner. Yes, that is a semicolon between Artist and Album.

background:duration:subtitle:image.jpg
Makes a slide with the current background image (or black if no image is passed). If a new image name is passed, the background will be reset to that picture. Examples:
"background:2" will display the current background for 2 seconds.
"background:2::image.jpg" will set the background to image.jpg and also display it for 2 seconds.
"background:0::image.jpg" will set the background image to image.jpg, but will not use it until the next picture.
"black" or "white" can be used instead of an image name to display a black or white background.

Transitions:
Transitions do not add time to the overall slideshow, they just get overlaid on top of the adjacent images. Because of this, the transition duration can not be greater than half of the adjacent image duration.

fadein:duration:subtitle
Fades in to the next slide

fadeout:duration:subtitle
Fades out to the background

crossfade:duration:subtitle
Fades from one slide to the next.

wipe:duration:subtitle:[up|down|left|right]
Wipes from one picture to the next. The direction is optional and will default to left.

chapter
Force manual chapter marker timing. Chapter markers will only be created where the "chapter" keyword occurs. The default is to add chapter markers at every slide.

include:includefile.txt
Other input files can be included in the input .txt file. The file includefile.txt will be concatenated in the place where the line occurs..

exit
Stops the slideshow at the current point as if the input.txt file ended at this point. Useful for debugging

EFFECTS:
Effects are only used with images, not keywords. In the following effects, x0,y0 represents the top left corner of a defined box, and x1,y1 is the bottom right corner.
NOTE: the effect parameters are separated by a semicolon ; instead of a colon :

crop
image.jpg:duration:subtitle:crop:x0,y0;x1,y1
Crops the image about the coordinates specified (in the original image coordinate system).
Crop keyword description:
Because it is difficult to figure out the exact locations where you want to crop, it is possible to use special keywords for the locations where you want to crop the image. The basic format is:
       frame_size%;frame_location

where frame_size indicates the relative scale(%) in percent of the final dvd window width/height, and frame_location refers to the location of the center point of the picture relative to the dvd window.
Frame_location can be any of the following keywords:
       topleft         top                     topright

       left                    middle          right

       bottomleft      bottom          bottomright

or
       x%,y%

where % is a percentage of the window width,height starting from the top left corner of the dvd window.
or
       imagewidth | imageheight

where the image width or height will be scaled to fill the full width or height of the dvd screen.
Crop examples:
       image.jpg:dur:sub:crop:651,390;1134,759

       image.jpg:dur:sub:crop:30%;60%,60%

       image.jpg:dur:sub:crop:50%;topleft

       image.jpg:dur:sub:crop:imageheight;left

kenburns
image.jpg:duration:subtitle:kenburns:start_box;end_box
Where now we have starting (s) and ending (e) boxes, defined in the same way as in the "crop" function, above. The kenburns effect will crop/zoom from the start to the end for the given duration.
Full box description:
       xs0,ys0;xs1,ys1;xe0,ye0;xe1,ye1

Specifies the top-left(0) and bottom-right(1) points.
Keyword description:
       start_frame_size%;start_location;end_frame_size%;end_location
Kenburns examples:

        image.jpg:5::kenburns:651,390;1134,759;372,330;1365,1089
        image.jpg:5:sub:kenburns:30%;60%,60%;75%;40%,50%
        image.jpg:5:sub:kenburns:50%;topleft;50%;bottomright
        image.jpg:5:sub:kenburns:100%;left;0,0;720,480
        image.jpg:5:sub:kenburns:100%;left;imageheight;left

scroll
image.jpg:duration:subtitle:scroll:left
image.jpg:duration:subtitle:scroll:right
image.jpg:duration:subtitle:scroll:up
image.jpg:duration:subtitle:scroll:down
This is most useful for displaying panorama-style pictures that are much wider than they are tall. For example, "scroll:right" will automatically resize the picture so that the image height is equal to the video display height (480) before scrolling right.

Note that in high quality mode (-H), some calculations will be made to see how slow the scroll is, and if it is slow enough, sub-pixel sampling will be used to make the scroll effect look much smoother. Sounds good, right? Well, it will take a LOT longer to process the frames also!

AUDIO:

Audio tracks can be inter-mixed with the video. If an audio track is placed between two different images/effects, that audio track will begin playing at the start of the second image/effect. When placing audio, use the syntax:

audiofile:track:effect1:effect1_params:effect2:effect2_params

The audiofile can be a .ogg, .mp3, or .wav file.
Track is the resulting dvd audio track.

Audio Effects are audio effects where you can specify things like fadein and fadeout for the audio. Example:

audiofile:1:fadein:3:fadeout:2

If you want to concatenate two audio files, just place them one right after another in the .txt file.

 

CONFIGURATION

You can specify lots of variables and options throughout the dvd-slideshow script. Settings can be passed on the command line, in a default ~/.dvd-slideshow/dvd-slideshowrc file, or within the input text file. The order in which the script reads the settings is as follows:
Default script settings --> ~/.dvd-slideshow/dvd-slideshowrc --> command line --> input text file
so each successive setting will over-ride the previous settings if they are already set.

~/.dvd-slideshow/dvd-slideshowrc:

With the syntax shown below, the following variables can be specified in the ~/.dvd-slideshowrc file. All lines are optional, and everything after the # character is not read.

debug=1         # 0 (low) to 3 (lots of info)

pal=0          # 0=ntsc 1=pal

ac3=1          # 0=mp2 1=ac3 audio

copy=0         # add copies of original images to the output directory

high_quality=0 # use high-quality mode (set to 1)

autocrop=1     # autocrop images to fill full screen

border=0       # add border of N pixels between image and dvd edge

sharpen=0      # Enable image sharpening for all images

widescreen=0   # use widescreen mode (16:9) instead of 4:3

## Default font:
font=/usr/share/fonts/default/Type1/n019004l.pfb # Helvetical bold URW font

## Subtitle: subtitle_type="dvd" # use "render" to force rendering of text.
subtitle_font_size=24
subtitle_font='/usr/share/fonts/default/Type1/n019004l.pfb' # Helvetical bold URW font
subtitle_color="white"
subtitle_outline_color="black"
subtitle_location="bottom"
subtitle_location_x=0
subtitle_location_y=105

## Title:
title_font_size=48
title_font_color="black" # or use hex "#RRGGBB"
title_font='/usr/share/fonts/default/Type1/n019004l.pfb' # Helvetical bold URW font

## top title:
toptitle_font_size=48
toptitle_font_color="black" # or use hex "#RRGGBB"
toptitle_bar_height=125 # 0 for no 50% white behind text
toptitle_text_location_x=80
toptitle_text_location_y=50

# bottom title:
bottomtitle_font_size=36
bottomtitle_font_color="black" # or use hex "#RRGGBB"
bottomtitle_bar_location_y=156 # relative to bottom of image
bottomtitle_bar_height=55 # 0 for no 50% white behind text
bottomtitle_text_location_x=0
bottomtitle_text_location_y=155

# kenburns:
kenburns_acceleration=1 # seconds of slow acceleration for kenburns
# use 0 for no acceleration, or, use a percent of the effect time:
# kenburns_acceleration=25% # will accelerate for the first 25% of the effect.

# logo:
logo=path/to/logofile.png # will be overlaid on top of all frames. Must be pre-sized manually.
logo_gravity=SouthEast # Position of logo overlay. North | South | East | West | NorthEast | NorthWest | SouthEast | SouthWest

Input text file:

The same syntax used in ~/.dvd-slideshow/dvd-slideshowrc can be used in the input text file. This way, you could specify settings specifit to the slideshow you are working on without changing your default settings.
 

THEMES

A theme is just a file containing a list of configuration variables, and possibly also background images, fonts, or audio in the same directory.

Any of the configuration variables can be placed in a dvd-slideshow theme file to control dvd-slideshow also..br

This will be explained more later...
 

FILES

dvd-slideshow
dvd-menu
dir2slideshow
gallery1-to-slideshow
jigl2slideshow  

EXAMPLES

There are a few heavily-commented examples available in the examples section of the dvd-slideshow webpage, which you can find at http://dvd-slideshow.sourceforge.net  

AUTHORS

Scott Dylewski <scott at dylewski dot com>
http://dvd-slideshow.sourceforge.net/  

SEE ALSO

dvd-menu(1)


 

Index

NAME
SYNOPSIS
DESCRIPTION
OPTIONS
INPUT FILE
CONFIGURATION
THEMES
FILES
EXAMPLES
AUTHORS
SEE ALSO

This document was created by man2html, using the manual pages.
Time: 05:24:12 GMT, August 24, 2011 dvd-slideshow-0.8.4-2/doc/jigl2slideshow.wiki0000664000175000017500000000276011625104620020077 0ustar scottscottContent-type: text/html Man page of jigl2slideshow ==jigl2slideshow== Section: dvd-slideshow (1)Updated: 0.4[Index] [Return to Main Contents]   ===NAME=== jigl2slideshow - Creates an input file for dvd-slideshow from pictures in a jigl online photo album.   ===SYNOPSIS=== jigl2slideshow '''-o''' <'''output directory'''> ['''-t''' <'''Seconds per picture'''>] <'''path to album'''>   ===DESCRIPTION=== Generates a text file listing of the pictures visible in a given jigl ([http://xome.net/projects/jigl/)] photo album in order to easily pass the information to dvd_slideshow. This has not been updated for some time, so if you use this, let the developers know so they know there is interest...   ===OPTIONS=== ['''-o''' <'''Output directory'''>] Directory where the output file will be written. If not specified, the current directory is used. ['''-t''' <'''Seconds per picture'''>] Number of seconds to display each picture in the movie. Defaults to 5 seconds if not specified. <'''path to album'''> The path to the gallery.dat that you want to generate a slideshow for.   ===EXAMPLES===   ===AUTHORS=== Scott Dylewski <scott at dylewski dot com> [http://dvd-slideshow.sourceforge.net]   ===SEE ALSO=== [dvd-slideshow](1)  ===Index=== [NAME] [SYNOPSIS] [DESCRIPTION] [OPTIONS] [EXAMPLES] [AUTHORS] [SEE ALSO] This document was created by [man2html], using the manual pages. Time: 05:18:05 GMT, August 24, 2011 dvd-slideshow-0.8.4-2/doc/dir2slideshow.html0000664000175000017500000001071011625105374017732 0ustar scottscottContent-type: text/html Man page of dir2slideshow

dir2slideshow

Section: dvd-slideshow (1)
Updated: 0.8.4
Index Return to Main Contents
 

NAME

dir2slideshow - Creates an input file for dvd-slideshow from pictures in a directory.  

SYNOPSIS

dir2slideshow [-o <output directory>] [-t <Seconds per picture>] [-c <Crossfade seconds>] -n <Slideshow name> [-T] [-M] [-s subtitle_text] [-notitle] <Images directory>  

DESCRIPTION

Creates a input file for dvd-slideshow from all the JPEG images in a given directory. Now it reads all .jpg .JPG .jpeg .png and .PNG files in the specified directory.  

OPTIONS

<Images directory>
The path to the directory containing the images you want to use.

-n <Slideshow name>
The name of this slideshow. This name is used as the default title text for the first title slide in the slideshow. This name will be used for the output file name.

[-t <Seconds per picture>]
Number of seconds to display each picture in the movie. Defaults to 5 seconds if not specified.

[-o <Output directory>]
Directory where the output file will be written. If not specified, the current directory is used.

[-c <Crossfade seconds>]
Number of seconds to crossfade between images. One second is usually fine. Note that this will increase the processing time, but it looks nice.

[-w <Wipe seconds>]
Number of seconds to wipe between images. One second is usually fine. Pick either crossfade or wipe, but not both.

[-T]
Sort images by the JPEG header picture taken time, then by the file modification date, and finally by the filename. Default sort is by name only. Requires the jhead program.

[-M]
Sort images by the file modification date, and then by the filename. Default sort if by name only.

[-s subtitle_text]
Add default subtitle "subtitle_text" to every slide. Use "-s filename" to display filename as the subtitle. Use "-s path" to display the path and filename as the subtitle.

[-s2 subtitle_text]
Same as -s but adds subtitles to subtitle track 2.

[-b background.jpg]
Use background.jpg as the background images. Default is black.

[-notitle]
Do not create a title slide.

[-r]
Recursively search directories for images, creating one output file.

[-k]
Apply random kenburns effects to images. (use of this is discouraged because encoding takes so long)

[-p]
Use PAL output video format instead of NTSC

[-theme themename]
Use themename as a theme file. See theme help files for more info. (TBD)

[-a audiofile1,audiofile2,...]
Add audio files to the slideshow. Files will be played sequentially for the duration of the slideshow. Use quotes if you have spaces in filenames.

[-q]
Quiet mode: outputs less screen output.

 

EXAMPLES

http://dvd-slideshow.sourceforge.net  

AUTHORS

Scott Dylewski <scott at dylewski dot com>
http://dvd-slideshow.sourceforge.net/  

SEE ALSO

dvd-menu(1), dvd-slideshow(1)


 

Index

NAME
SYNOPSIS
DESCRIPTION
OPTIONS
EXAMPLES
AUTHORS
SEE ALSO

This document was created by man2html, using the manual pages.
Time: 05:24:12 GMT, August 24, 2011 dvd-slideshow-0.8.4-2/doc/jigl2slideshow.html0000664000175000017500000000457511625105374020115 0ustar scottscottContent-type: text/html Man page of jigl2slideshow

jigl2slideshow

Section: dvd-slideshow (1)
Updated: 0.4
Index Return to Main Contents
 

NAME

jigl2slideshow - Creates an input file for dvd-slideshow from pictures in a jigl online photo album.  

SYNOPSIS

jigl2slideshow -o <output directory> [-t <Seconds per picture>] <path to album>  

DESCRIPTION

Generates a text file listing of the pictures visible in a given jigl (http://xome.net/projects/jigl/) photo album in order to easily pass the information to dvd_slideshow.

This has not been updated for some time, so if you use this, let the developers know so they know there is interest...  

OPTIONS

[-o <Output directory>]
Directory where the output file will be written. If not specified, the current directory is used.

[-t <Seconds per picture>]
Number of seconds to display each picture in the movie. Defaults to 5 seconds if not specified.

<path to album>
The path to the gallery.dat that you want to generate a slideshow for.
 

EXAMPLES

 

AUTHORS

Scott Dylewski <scott at dylewski dot com>
http://dvd-slideshow.sourceforge.net  

SEE ALSO

dvd-menu(1), dvd-slideshow(1)


 

Index

NAME
SYNOPSIS
DESCRIPTION
OPTIONS
EXAMPLES
AUTHORS
SEE ALSO

This document was created by man2html, using the manual pages.
Time: 05:24:12 GMT, August 24, 2011 dvd-slideshow-0.8.4-2/doc/changelog.wiki0000644000175000017500000006252111625104620017074 0ustar scottscott DVD Slideshow package changelog: 0.8.4 dvd-slideshow ''''''New Features:'''''' Improved encoding speed significantly. (thanks Gary Hunt!) Use qscale VBR option in ffmpeg for flv and mp4 output instead of fixed bitrate. Logo (-logo) works as general overlay (beta). Added -threads $cores to ffmepg calls for speed improvement? Added .ogg mode ( use -ogv ) (not working yet) Added ipod output ( use -ipod ) (not working yet) Add quiet output mode -q to reduce output ''''''Bug Fixes:'''''' Use soxi to determine length of .wav audio instead of sox (better compatibility?) Fixed chroma subsampling bug when using -mpeg2enc option (cat terminated by signal 13) New dvdauthor/spumux > 0.7.0 require explicit NTSC/PAL declaration No audio added to .flv files when none is passed by default. Changed default dvd audio bitrate from 192kbps to 256kbps Enable subtitle_location_x (was not being passed before) Fix audio duration for .avi files (untested) (thanks Guy Albertelli) Fix hms2seconds to allow 0:08:05:345 (seconds and minutes like "08") (thanks Guy Albertelli) Redirect wait errors to log file to reduce errors in long slideshows Improved kenburns jitter. Added unset CDPATH to full_path function call (thanks Bob!) Fixed bug with old version of findutils < 4.2.5 Use du -b so it is independend of env variables (thanks kikoun) Change sleep 1s to sleep 0.01s for faster machines Add better help for missing applications and graphicsmagick Allow escaped # in musictitle slides (use \# to print #) Added fixes for .avi files (thanks Guy Albertelli) dvd-menu ''''''Changes:'''''' Fix sox arguments to work with both old and new versions of sox. Added "unset CDPATH to full_path function. (Thanks Bob!) Add explicit PAL or NTSC in .xml files for dvdauthor 0.7.0 Add totem and VLC playback examples dir2slideshow ''''''Changes:'''''' Fixes for file counts and uppercase extensions (thanks Eric Baplue) Allow reading of dvd-slideshowrc file to set variables (thanks Johan Kunnen) Reads .avi files for dvd-slideshow (thanks Guy Albertelli) Add -q (quiet mode) for less output on screen when calling from another script 0.8.2 dvd-slideshow ''''''New Features:'''''' Error check code BEFORE running full script. Added -logo <logofile> option to add a logo to each slide. (does not work with transitions yet) Added -mpg output for creating alternate-sized mpeg output that does not conform to dvd standards (very alpha) Better control over subtitles with new variables subtitle_location_x and subtitle_location_y. Default x location is 0. Better handling of very long subtitles. (up to 3 lines and reduced font size) No subtitles are rendered during fades. Log file now uses the slideshow name instead of dvd-slideshow.log ''''''Bug Fixes:'''''' Allow spaces in output files (spaces used to be forced to underscores). Removed old "smoothing=0" option in kenburns Change imagemagick calls with -type TrueColor to -type TrueColorMatte for latest version Sox v. > 13 changes -w to -2 and -e to -n (thanks Ludovic) Allow "widescreen=1" in input file. Changed "sleep 0.1s" to "sleep 1s" for better compatibility. Fixed hms2seconds with leading zeros (thanks Arnd Baecker) Better (larger) resizing for kenburns in high-quality mode. Smoother scroll effect in normal mode (fixed rounding error) Font search follows links. Thanks Jim Potter! Change LANG=C to LANG=POSIX to try to fix radix problems with printf Added some code to only process one crossfade in the background at a time. Fixed problem with subtitles- last one was not being displayed. Added "k" to audio bitrate arguments to ffmpeg (thanks Tony!) Fixed bug where subtitles would not show in crop and kenburns effects. Fixed bug with audio timing when using scroll & kenburns. removed -size option from crop function because large images were improperly cropped. added -M option to mplex calls (for some reason it was removed) Fix audio when passing an .avi file. Fixed chapter keyword timing. Increased mplex bitrate to 9500 from 9000 to fix some possible encoding bugs. Fix bug with hms handling times longer than 1 hour. Thanks Michael Crider dvd-menu ''''''Changes:'''''' Change imagemagick calls with -type TrueColor to -type TrueColorMatte for latest version Sox v. > 13 changes -w to -2 and -e to -n (thanks Ludovic) Font path follows links. Thanks Jim Potter! AC3 audio created with ffmpeg needs k added to bitrate Changed -depth 16 to -depth 8 in background gradient creation. Fix embedded image help text. Default layout will switch to two columns of buttons (no embedded image) if the button list is long. Change LANG=C to LANG=POSIX to try to fix radix problems with printf Add menu fix so "dvd menu" button works on dvd players (thanks will guaraldi) dir2slideshow ''''''Changes:'''''' Write out pal option to output file if selected in dir2slideshow Recursive finds follow symbolic links and ignores hidden directories. Bug fix for spaces in filenames (thanks Ken Zutter) Fixed bug where .mp3 files were being treated as images (crossfade error) Fixed bug where other file formats would be included in the listing (thanks Mridul) Fixed bug where audio files were not included in output. Allow spaces in output files if spaces is used as filename 0.8.0 dvd-slideshow ''''''New Features:'''''' ***NOTE: The slideshow timings of fades will change with this version! *Fadein/Fadeout/Crossfade to/from kenburns/scroll effects works now: ( fades happen during movement of effect )Default ffmpeg to no b frames. *Now using ffmpeg to encode video. Seems over 2x faster than mpeg2enc. Add title and button information to .xml file automatically for dvd-menu use. Allow multiple \n in titles (up to 4) Added variables subtitle_color, subtitle_outline_color, and subtitle_location Use variable subtitle_type=render to force subtitles to be rendered in frames. Remove option for srt subtitles since we can force render them now. Updated audio timing to be more accurate for long slideshows Added kenburns syntax for crop,kb,crop duration Kenburns has smooth start and end now. Add option to sharpen images (-sharpen) with ImageMagicks unsharp mask. .flv output [alpha] use -flv for now, but his might change Specify output size other than default with -s 320x240 (alpha) *Added -border option to add space between image and edge of screen. *Added "wipe" transition between frames: wipe:duration:subtitle:[right|left] (soon up|down also) mp4/aac audio is possible with faad *Fadein/Fadeout/Crossfade to/from kenburns/scroll effects works now: ( fades happen during movement of effect ) *Adding .avi video inline is possible. See docs. [alpha] *Initial theme support [beta] Widescreen (16:9) support using -w [alpha] Not tested yet. Improved font variables. kenburns effect is much smoother for slow effects in high-quality mode. (slower) Added -vcd and -svcd output options [beta] (lightly tested) Inline audio processed as background job when specifiying -smp Audio fadein and fadeout times can be specified in decimals like 0.250 Automatically sets smp option if the current kernel has "smp" in the name. ''''''Bug Fixes:'''''' Fixed kenburns coordinates when passing numbered coordinates. Escape brackets in [:blank:] (thanks Christian Molière) Fixed mismatch in kenburns coordinates due to non-square pixels. (thanks Tony Sauri) Manual chapter markers fixed. Fixed reading of $HOME/.dvd-slideshow/dvd-slideshowrc settings. Single or double quotes allowed in variable settings. Got rid of lsof debugging lines. No longer needed. Fixed bug in seconds2ms that mishandled durations of 0.080 ms (thanks Eric) Remove wc --chars calls for compatibility with FreeBSD Remove seq calls for compatibility with FreeBSD Add FreeBSD font path so fonts are found. dvd-menu ''''''Changes:'''''' Added 6image layout option. It can also read the title and icon from the .xml file output from dvd-slideshow. more testing is needed. Added many more variables to control the layout of the menu also. Added -vcd and -svcd modes. Works! tested -vcd a little. Audio automatically fades in/out for 2 seconds Reads variables correctly from ~/.dvd-slideshow/dvd-slideshowrc Updated variables. See dvd-slideshowrc example file Better control of fonts and variables. Deletes temp directory when finished. -nocleanup works Reads -theme files Added -fadein and -fadeout for menus. Remove seq calls for compatibility with FreeBSD (Thanks David Mulcahy) Remove wc --chars calls for compatibility with FreeBSD dir2slideshow ''''''Changes:'''''' Add audiobook option- looks for audio files and images & adds titles Allow wipe effect as default between images -w duration Allow decimals in crossfade duration. Allow two different subtitles -s or -s2 Add random kenburns effect (-k) Output file is copied to screen while running Full paths are specified to images in output .txt file. Start of themes being implemented. See theme documentation. Add subtitle options to add path and/or filename. (Thanks Kenneth Weinert) Add recursive directory search. -R and -r (Thanks Kenneth Weinert) Removed seq calls for compatibility with FreeBSD 0.7.5 dvd-slideshow ''''''New Features:'''''' Use "\n" to force line breaks up to two lines in title text (not titlebar yet). Fixed code to rotate images. (not that public yet) Use image.jpg:duration:subtitle:[effect1:effect1_params:]rotate:angle Configuration variables will be read in sequence now. So you can configure fontcolors and sizes throughout the input file. Allow comments in all lines. Everything after <space># will be ignored. Scroll effect is MUCH smoother for slow scrolls in high-quality mode! (takes 3x longer) Slideshow name -n is optional now. Defaults to the base name of the input file. * Changed old "title" keyword to "titlebar:duration:toptitle:bottomtitle" * Added "title:duration:title_text" function where a single title is rendered in the middle of the screen. Add check for missing subtitle syntax in crop/scroll/kenburns. Longer progress bar. Reads ~/.dvd-slideshowrc in a loop for better debugging and security. ''''''Bug fixes:'''''' Added "+repage" in convert lines after cropping when using internal .mpc image format. ( Fixes Kenburns and crop errors with ImageMagick > 6.2.2 ) Fixed kenburns problems with black backgrounds. Fixed "geometry does not contain image" problem with kenburns effect. Works for slide or transition duration > 35 seconds now. Add quotes around yuv fifo to allow for spaces in output directory. Fixed "squishing" when fading out or crossfading to a scroll effect. Fixed problem where audio "fadein" was being rendered as a subtitle. Traps bad duration=0 for images and effects. dvd-menu Allow embedded .png to keep transparency Fix error message quotes when looking for XML file existing. dir2slideshow Allow spaces in filenames 0.7.4 dvd-slideshow ''''''Bug fixes:'''''' Changed mpeg2enc process file descriptor from 55 to 3 for compatibility with bash >= 3.1 (fixes hang at wait for mpeg2enc to finish) Echos details to logfile about mpeg2enc process for future debugging. Output directory gets created if it does not exist. Fixed bug in kenburns positioning with black background. Better error messages when no oggdec or lame found. Fixed error where kenburns intermediate files were not being deleted. gallery1-to-slideshow Fixed bug where no pictures were found with new version of gallery 1.5 Fixed bug near line 279 with a missing "fi" statement. 0.7.3 dvd-slideshow ''''''New features:'''''' Fixed Kenburns zoom in adjusted to a "constant" velocity! You can include other .txt files by using a line include:filename.txt in your input .txt file. Thanks Thomas Weber! User can manually add chapter markers by using the "chapter" keyword alone on one line of the input .txt file. Added variable "mpeg2enc_params" so advanced users can easily change the parameters. All timing accurate to 0.001 (1 ms) now. Added -smp option to process faster on high-end machines. Added -writechaps option to write out chapter markers to <slideshow_name>.chap ''''''Bug fixes:'''''' Fixed bugs causing errors when spaces were in paths. Fixed bugs in the audio processing: error on last audio file. Changed mpeg2enc -M 3 (use multiprocessors) to -M 0 because 1.8.0 was crashing on athlon 64 X2 machines. Added "-compose src-over" option to composite calls for compatibility with Debian Etch. Fixed bug when passing a single audio file longer than the slideshow. Removed rpm check for supporting applications. Checks for crossfade duration = 0 and handles it correctly. Checks that audio and image files exist while parsing .txt file. Fixed minor bug where an extra (non-existant) subtitle was rendered. Fixed bug when fading in to a first slide that is a scroll effect. Subtitle timing bug fixed! Small fix in displaying total number of pictures processed Better logging to logfile. Fixed ignored line if last line does not contain a line break. dvd-menu ** Changed output directory option to be the same as dvd-slideshow Spaces in filenames should work now. Checks that xml files exist before proceeding. Added option to pass an embedded image (-e image.jpg). Thanks Marcus Brown Added "upAction" option for use with dvd-bakery. Thanks Marcus Brown! Fixed bug in pal mode variable passing. (thanks Marcus Brown) Changed head 4 to head -n 4 Added variable "mpeg2enc_params" for easier changing of mpeg2enc parameters. Get rid of rpm checks. Added low quality mode -L for use with dvd-slideshow. Added -nocleanup option to save files in temp directory for debugging. Added "-compose src-over" to all composite lines for compatibility with Debian Etch. Added -H high-quality option as a placeholder for future use Added -smp option as a dummy option for compatibility with dvd-slideshow dir2slideshow Passing -c 0 does not create crossfades. Added option -notitle Added option to specify background color or image -b image.jpg Fix output of "backgound:0:black" on first line. It should read "background:0::black" gallery1-to-slideshow Changed name from gallery2slideshow to gallery1-to-slideshow to avoid confusion... it does not work on gallery v.2.x albums! Add -b background image option Fix for finding all images in album. Thanks Ivan Espinosa! Added a few more quotes around variables to help with spaces in filenames. 0.7.2 dvd-slideshow Faster Kenburns effect rendering when using black background. Allow multiple sequential audio files in input .txt file. Changed "head -1" to "head -n 1" Allow .png and .jpeg extensions. Allow \n in subtitles to designate end-of line breakpoints Checks for required program version better now. Fixed ppmtoy4m compatibility error for compatibility with mjpegtools >= 1.6.3-0.1 Allow "exit" keyword in .txt file (for easier debugging). Fixed pixel aspect ratio problem. (hopefully) Add option to render subtitles with spumux and .srt files (beta) Cleans up old temporary files if they exist. Better logfile output. Hopefully catches program call errors. Title2 text and bar locations referenced to bottom of frame for better PAL/NTSC compatibility. Subtitle stays constant between slides if they both have the same subtitle (thanks Andre Weilert) All temporary files are created in a temporary directory now. Fixed bug when fading in to a scroll effect. (remove tab at EOL). Changed progress display slightly ( counts pictures ). dvd-menu Better checking for correct versions of required programs. Logfile output to dvd-menu.log Reads default variables from ~/.dvd-slideshowrc Obeys "autocrop" option Pixel aspect ratio should be correct now. gallery2slideshow Another fix to allow newlines in gallery comments. These should correctly get translated into \n characters. Strips out <a href=””> and </a> tags also. 0.7.1 dvd-slideshow Added log file output to dvd-slideshow.log Updated documentation and examples Background color can now take a #RRGGBB value Nicer progress indicator AC3 audio is now the default. Pass -mp2 to force MP2 audio. Autocrop works on background images now also. Added code to check for all temporary fade_xxxx.ppm images before proceeding to encode mpeg video. Fadein or crossfade to a scroll effect works correctly now. dvd-menu Automatically creates output directory if it does not exist. Added option -nomenu if you do not want to create a menu dir2slideshow Now reads the following file extensions in the specified directory: .jpg .JPG .jpeg .png .PNG 0.7.0 dvd-slideshow Default variables can be set in a ${HOME}/.dvd-slideshowrc file Default variables can be set in the input .txt file Crossfade and fadein to kenburns effect correctly fades to the first frame geometry instead of the whole image. New keywords for the start and end points in kenburns effect: topleft/middle/middleright etc. See docs for details. New keywords for the crop function also. 9999 audio files possible now. Used to be a limit of 9 Fixed bug when fading in to a cropped image. Removed -R 2 and -c options in mpeg2enc because some people had problems. Fixed subtitle timing bug, so now the subtitles appear and disappear closer to the correct time. Changed encoded audio bitrate from 224kb/s to 128kb/s Works with toolame 0.2m beta and 0.2L now Got rid of calls to NetPBM functions, so it is no longer required... Changed "wc -m" call to "wc --chars" for better compatibility. Fixed syntax so spaces should be allowed in input files now. Changed "seq 2 1" to "seq 2 -1 1" for better compatibility Added option to "autocrop" images (-c) that are close to the output aspect ratio, but not quite. Title syntax changed... (see documentation) Fadein/crossfade to a title or background slide works now. Fadein/fadeout/crossfade works when previous/next slide is not actually an image/title/background. The next real slide will be used instead. Fixed bug in Low quality mode (-L) (extracopies bug) dvd-menu Added option -iso option to create the iso image gallery2slideshow Fix to not show hidden pictures for gallery v1.4.3-pl1 ( thanks Frederic! ) Fixed bug when passing html links in subtitle field dvd-slideshow supports duration in fractional seconds. Allow for "." as the album path 0.6.0 dvd-slideshow Fixed major bug/error when generating long slideshows. Now all video gets piped in YUV fomat through mpeg2enc in one single block. (fix by Mike Beller. Thanks!) Added option to generate AC3 audio files (requires ffmpeg > 0.4.8) Fixed title slide when using -L (low quality mode) Allow for slide durations to be specified in hundreths of a second: 5.23 Reports total audio and video lengths at the beginning of the code. Fixed bug when using subtitles. (no subtitles were generated) Changed output files to be .vob extension instead of .mpg Better font searching (thanks Jim Crumley) Use backslash to escape a colon in subtitles (thanks Jim Crumley) Allow avi input files. pre-alpha support. (thanks Jim Crumley) dvd-menu Added AC3 audio option (requires ffmpeg > 0.4.8). Mplexed files are now correctly labeled with the .vob extension. Better font searching (thanks Jim Crumley) 0.5.4 dvd-slideshow Added option to re-define background image from text file input. Code cleanup (slightly) Added support for two audio tracks. Added audio effects: fadein/fadeout Default command-line audio fadein/fadeout time is 3 seconds. dir2slideshow New! Creates an dvd-slideshow input file from a directory of pictures. Updated man pages for dir2slideshow, gallery2slideshow, and jigl2slideshow. 0.5.2 dvd-slideshow Fixed bug in musictitle Title info parsing. Checks to make sure a slidshow name is passed. Added low-quality mode (-L) for testing. Speeds things up about 4x. Reduced verbosity. Checks for required fonts. Subtitles look much better now. Word-wraps long subtitle lines into two lines. dvd-menu Fixed audio bug when no audio was used. (re-mplex error) Added -c continuous play option (<post> jumps to next title). Added -D do not run dvdauthor option. Added -W do not create a 50% white background under menu text. dvdauthor xml structure changed slightly DVD Title (-n) is now optional. Added man page. Checks for nice fonts and uses them if available. Added install.sh script to install man pages along with dvd-slideshow and dvd-menu. 0.5.0 dvd-slideshow Added KenBurns effect! See docs for usage. Added scroll effect! See docs for usage. Added crop effect. See docs for usage. Audio can be started and stoped for multiple files within the text file. See docs for usage. Added "musictitle" option for displaying audio info. You can now comment out lines in the textfile by using the # character. Also ignores blank lines in textfile. Fades can now have up to 9999 frames. Total slides can now be 9999. You guys are crazy. fixed small bug when no chapters are specified. Chapter markers are now rounded up to the next full second due to a bug in some versions of dvdauthor. Only checks for oggdec or lame if you pass an ogg or mp3 file. Changed syntax of command line input for files and audio. Passing images on the command line is no longer public. Use the text file in put instead. Fixed audio problem with some mp3 files getting pops in them. '''dvd-menu''' Changed name to dvd-menu from dvd-mainmenu Only requires lame or oggdec if you're passing a mp3 or ogg file. Fixed some audio bugs (sampling) so it should work better. Will automatically delete AUDIO_TS and VIDEO_TS directories in your output directory if they already exist. gallery2slideshow Added option (-c duration) to put a crossfade for duration seconds between every picture. Added default fadeout after title slide. 0.4.8 dvd-slideshow 0.4.8 Changed audio to process raw (headerless) audio files before joining them. Fixed bug when passing multiple audio files (again). Fixed audio fadein/fadeout time to 1 second Fixed bug in audio where it plays to fast when burned on dvd. Checks to make sure audio files exist before processing. 0.4.6 '''dvd-slideshow''' 0.4.6 Fixed bug when passing multiple audio files. (thanks Scott Merrill) Removed -t option from toolame command for better support for old versions. dvd-mainmenu 0.4.6 Fixed bug when checking for toolame (thanks Scott Merrill) Removed -t option from toolame for better compatibility with old versions. 0.4.4 '''dvd-slideshow''' 0.4.4 Only writes chapter markers when there is a picture or title First chapter marker is now fixed at time 0 Max number of chapter markers is now 99 (thanks Jens Gecius) Fixed bug when checking for toolame (thanks Jens Gecius) Added "crossfade" option! Will use mpeg3cat from libmpeg3 to join mpegs if available. Small fix to allow semicolons in subtitles (thanks Jim Crumley) Added -s option to mpeg2enc calls for (maybe?) better compatibility. gallery2slideshow 0.4 Added fadein before first picture and fadeout at the end '''jigl2slideshow''' 0.3 Added default fade in at beginning and out at end 0.4.2 dvd-slideshow 0.4.2 Current working directory will be used if -o not specified. Allow "background" keyword in text file to insert background. Make sure all ImageMagick calls have -depth 8 to make ppmtoy4m happy. No font is specified in ImageMagick calls, so it should use the default. Changed default menu to a steelblue gradient when no image is passed. dvd-mainmenu 0.4.2 Changed location of main title slightly lower. Fixed one hardcoded 720x480 image so PAL option should work better. Added -depth 8 to ImageMagick calls to fix ppmtoy4m errors. Upgraded main menu background when no background is passed. 0.4 dvd-slideshow 0.4 Fixed bug when no background specified (again). Added error checking to make sure image files exist. Ogg audio format supported (you must have oggdec). Uses toolame for mp2 audio encoding when available. Audio timing improved. Fixed bug when double-quotes were in subtitle. Added black, fadein, and fadeout options in txtfile! -p (PAL format option) added. Not tested, but should work. dvd-mainmenu 0.4 Added support for ogg and wav audio tracks Fixed bug when no background specified. -p (PAL format option) added. Not tested, but should work. White background behind buttons is now 50% transparency so it looks better. 0.3 dvd-slideshow 0.3 Fixed error when no background specified. Now default is blackAdded checking for required programs before running. dvd-mainmenu 0.3 Added section to check for required programs If no background passed, a black one will be used. gallery2slideshow 0.3 Added extra file checking before processing for better stability from Scott Merrill <skippy at skippy.net> Thanks!!! jigl2slideshow 0.2 Fixed minor bug when checking for output directory 0.1 Initial release (contributed by Scott Merrill <skippy at skippy.net> ) 0.2 '''dvd-slideshow''' 0.2 Initial release dvd-mainmenu 0.2 Initial release gallery2slideshow 0.2 Initial release dvd-slideshow-0.8.4-2/doc/changelog.html0000664000175000017500000016055711623642214017113 0ustar scottscott

DVD Slideshow package changelog:

0.8.4

dvd-slideshow

New Features:

Improved encoding speed significantly. (thanks Gary Hunt!)

Use qscale VBR option in ffmpeg for flv and mp4 output instead of fixed bitrate.

Logo (-logo) works as general overlay (beta).

Added -threads $cores to ffmepg calls for speed improvement?

Added .ogg mode ( use -ogv ) (not working yet)

Added ipod output ( use -ipod ) (not working yet)

Add quiet output mode -q to reduce output

Bug Fixes:

Use soxi to determine length of .wav audio instead of sox (better compatibility?)

Fixed chroma subsampling bug when using -mpeg2enc option (cat terminated by signal 13)

New dvdauthor/spumux > 0.7.0 require explicit NTSC/PAL declaration

No audio added to .flv files when none is passed by default.

Changed default dvd audio bitrate from 192kbps to 256kbps

Enable subtitle_location_x (was not being passed before)

Fix audio duration for .avi files (untested) (thanks Guy Albertelli)

Fix hms2seconds to allow 0:08:05:345 (seconds and minutes like "08") (thanks Guy Albertelli)

Redirect wait errors to log file to reduce errors in long slideshows

Improved kenburns jitter.

Added unset CDPATH to full_path function call (thanks Bob!)

Fixed bug with old version of findutils < 4.2.5

Use du -b so it is independend of env variables (thanks kikoun)

Change sleep 1s to sleep 0.01s for faster machines

Add better help for missing applications and graphicsmagick

Allow escaped # in musictitle slides (use \# to print #)

Added fixes for .avi files (thanks Guy Albertelli)



dvd-menu

Changes:

Fix sox arguments to work with both old and new versions of sox.

Added "unset CDPATH to full_path function. (Thanks Bob!)

Add explicit PAL or NTSC in .xml files for dvdauthor 0.7.0

Add totem and VLC playback examples



dir2slideshow

Changes:

Fixes for file counts and uppercase extensions (thanks Eric Baplue)

Allow reading of dvd-slideshowrc file to set variables (thanks Johan Kunnen)

Reads .avi files for dvd-slideshow (thanks Guy Albertelli)

Add -q (quiet mode) for less output on screen when calling from another script



0.8.2

dvd-slideshow

New Features:

Error check code BEFORE running full script.

Added -logo <logofile> option to add a logo to each slide. (does not work with transitions yet)

Added -mpg output for creating alternate-sized mpeg output that does not conform to dvd standards (very alpha)

Better control over subtitles with new variables subtitle_location_x and subtitle_location_y. Default x location is 0.

Better handling of very long subtitles. (up to 3 lines and reduced font size)

No subtitles are rendered during fades.

Log file now uses the slideshow name instead of dvd-slideshow.log

Bug Fixes:

Allow spaces in output files (spaces used to be forced to underscores).

Removed old "smoothing=0" option in kenburns

Change imagemagick calls with -type TrueColor to -type TrueColorMatte for latest version

Sox v. > 13 changes -w to -2 and -e to -n (thanks Ludovic)

Allow "widescreen=1" in input file.

Changed "sleep 0.1s" to "sleep 1s" for better compatibility.

Fixed hms2seconds with leading zeros (thanks Arnd Baecker)

Better (larger) resizing for kenburns in high-quality mode.

Smoother scroll effect in normal mode (fixed rounding error)

Font search follows links. Thanks Jim Potter!

Change LANG=C to LANG=POSIX to try to fix radix problems with printf

Added some code to only process one crossfade in the background at a time.

Fixed problem with subtitles- last one was not being displayed.

Added "k" to audio bitrate arguments to ffmpeg (thanks Tony!)

Fixed bug where subtitles would not show in crop and kenburns effects.

Fixed bug with audio timing when using scroll & kenburns.

removed -size option from crop function because large images were improperly cropped.

added -M option to mplex calls (for some reason it was removed)

Fix audio when passing an .avi file.

Fixed chapter keyword timing.

Increased mplex bitrate to 9500 from 9000 to fix some possible encoding bugs.

Fix bug with hms handling times longer than 1 hour. Thanks Michael Crider



dvd-menu

Changes:

Change imagemagick calls with -type TrueColor to -type TrueColorMatte for latest version

Sox v. > 13 changes -w to -2 and -e to -n (thanks Ludovic)

Font path follows links. Thanks Jim Potter!

AC3 audio created with ffmpeg needs k added to bitrate

Changed -depth 16 to -depth 8 in background gradient creation.

Fix embedded image help text.

Default layout will switch to two columns of buttons (no embedded image) if the button

list is long.

Change LANG=C to LANG=POSIX to try to fix radix problems with printf

Add menu fix so "dvd menu" button works on dvd players (thanks will guaraldi)



dir2slideshow

Changes:

Write out pal option to output file if selected in dir2slideshow

Recursive finds follow symbolic links and ignores hidden directories.

Bug fix for spaces in filenames (thanks Ken Zutter)

Fixed bug where .mp3 files were being treated as images (crossfade error)

Fixed bug where other file formats would be included in the listing (thanks Mridul)

Fixed bug where audio files were not included in output.

Allow spaces in output files if spaces is used as filename



0.8.0

dvd-slideshow

New Features:

***NOTE: The slideshow timings of fades will change with this version!

*Fadein/Fadeout/Crossfade to/from kenburns/scroll effects works now:

( fades happen during movement of effect )Default ffmpeg to no b frames.

*Now using ffmpeg to encode video. Seems over 2x faster than mpeg2enc.

Add title and button information to .xml file automatically for dvd-menu use.

Allow multiple \n in titles (up to 4)

Added variables subtitle_color, subtitle_outline_color, and subtitle_location

Use variable subtitle_type=render to force subtitles to be rendered in frames.

Remove option for srt subtitles since we can force render them now.

Updated audio timing to be more accurate for long slideshows

Added kenburns syntax for crop,kb,crop duration

Kenburns has smooth start and end now.

Add option to sharpen images (-sharpen) with ImageMagicks unsharp mask.

.flv output [alpha] use -flv for now, but his might change

Specify output size other than default with -s 320x240 (alpha)

*Added -border option to add space between image and edge of screen.

*Added "wipe" transition between frames:

wipe:duration:subtitle:[right|left] (soon up|down also)

mp4/aac audio is possible with faad

*Fadein/Fadeout/Crossfade to/from kenburns/scroll effects works now:

( fades happen during movement of effect )

*Adding .avi video inline is possible. See docs. [alpha]

*Initial theme support [beta]

Widescreen (16:9) support using -w [alpha] Not tested yet.

Improved font variables.

kenburns effect is much smoother for slow effects in high-quality mode. (slower)

Added -vcd and -svcd output options [beta] (lightly tested)

Inline audio processed as background job when specifiying -smp

Audio fadein and fadeout times can be specified in decimals like 0.250

Automatically sets smp option if the current kernel has "smp" in the name.

Bug Fixes:

Fixed kenburns coordinates when passing numbered coordinates.

Escape brackets in [:blank:] (thanks Christian Molière)

Fixed mismatch in kenburns coordinates due to non-square pixels. (thanks Tony Sauri)

Manual chapter markers fixed.

Fixed reading of $HOME/.dvd-slideshow/dvd-slideshowrc settings.

Single or double quotes allowed in variable settings.

Got rid of lsof debugging lines. No longer needed.

Fixed bug in seconds2ms that mishandled durations of 0.080 ms (thanks Eric)

Remove wc --chars calls for compatibility with FreeBSD

Remove seq calls for compatibility with FreeBSD

Add FreeBSD font path so fonts are found.

dvd-menu

Changes:

Added 6image layout option. It can also read the title and icon from

the .xml file output from dvd-slideshow. more testing is needed.

Added many more variables to control the layout of the menu also.

Added -vcd and -svcd modes. Works! tested -vcd a little.

Audio automatically fades in/out for 2 seconds

Reads variables correctly from ~/.dvd-slideshow/dvd-slideshowrc

Updated variables. See dvd-slideshowrc example file

Better control of fonts and variables.

Deletes temp directory when finished.

-nocleanup works

Reads -theme files

Added -fadein and -fadeout for menus.

Remove seq calls for compatibility with FreeBSD (Thanks David Mulcahy)

Remove wc --chars calls for compatibility with FreeBSD

dir2slideshow

Changes:

Add audiobook option- looks for audio files and images & adds titles

Allow wipe effect as default between images -w duration

Allow decimals in crossfade duration.

Allow two different subtitles -s or -s2

Add random kenburns effect (-k)

Output file is copied to screen while running

Full paths are specified to images in output .txt file.

Start of themes being implemented. See theme documentation.

Add subtitle options to add path and/or filename. (Thanks Kenneth Weinert)

Add recursive directory search. -R and -r (Thanks Kenneth Weinert)

Removed seq calls for compatibility with FreeBSD

0.7.5

dvd-slideshow

New Features:

Use "\n" to force line breaks up to two lines in title text (not titlebar yet).

Fixed code to rotate images. (not that public yet)

Use image.jpg:duration:subtitle:[effect1:effect1_params:]rotate:angle

Configuration variables will be read in sequence now. So you can configure fontcolors and sizes throughout the input file.

Allow comments in all lines. Everything after <space># will be ignored.

Scroll effect is MUCH smoother for slow scrolls in high-quality mode! (takes 3x longer)

Slideshow name -n is optional now. Defaults to the base name of the input file.

* Changed old "title" keyword to "titlebar:duration:toptitle:bottomtitle"

* Added "title:duration:title_text" function where a single title is rendered in the middle of the screen.

Add check for missing subtitle syntax in crop/scroll/kenburns.

Longer progress bar.

Reads ~/.dvd-slideshowrc in a loop for better debugging and security.

Bug fixes:

Added "+repage" in convert lines after cropping when using internal .mpc image format.

( Fixes Kenburns and crop errors with ImageMagick > 6.2.2 )

Fixed kenburns problems with black backgrounds.

Fixed "geometry does not contain image" problem with kenburns effect.

Works for slide or transition duration > 35 seconds now.

Add quotes around yuv fifo to allow for spaces in output directory.

Fixed "squishing" when fading out or crossfading to a scroll effect.

Fixed problem where audio "fadein" was being rendered as a subtitle.

Traps bad duration=0 for images and effects.

dvd-menu

Allow embedded .png to keep transparency

Fix error message quotes when looking for XML file existing.

dir2slideshow

Allow spaces in filenames

0.7.4

dvd-slideshow

Bug fixes:

Changed mpeg2enc process file descriptor from 55 to 3 for compatibility with bash >= 3.1 (fixes hang at wait for mpeg2enc to finish)

Echos details to logfile about mpeg2enc process for future debugging.

Output directory gets created if it does not exist.

Fixed bug in kenburns positioning with black background.

Better error messages when no oggdec or lame found.

Fixed error where kenburns intermediate files were not being deleted.

gallery1-to-slideshow

Fixed bug where no pictures were found with new version of gallery 1.5

Fixed bug near line 279 with a missing "fi" statement.



0.7.3

dvd-slideshow

New features:

Fixed Kenburns zoom in adjusted to a "constant" velocity!

You can include other .txt files by using a line include:filename.txt in

your input .txt file. Thanks Thomas Weber!

User can manually add chapter markers by using the "chapter" keyword

alone on one line of the input .txt file.

Added variable "mpeg2enc_params" so advanced users can easily change the parameters.

All timing accurate to 0.001 (1 ms) now.

Added -smp option to process faster on high-end machines.

Added -writechaps option to write out chapter markers to <slideshow_name>.chap

Bug fixes:

Fixed bugs causing errors when spaces were in paths.

Fixed bugs in the audio processing: error on last audio file.

Changed mpeg2enc -M 3 (use multiprocessors) to -M 0 because 1.8.0

was crashing on athlon 64 X2 machines.

Added "-compose src-over" option to composite calls for compatibility with Debian Etch.

Fixed bug when passing a single audio file longer than the slideshow.

Removed rpm check for supporting applications.

Checks for crossfade duration = 0 and handles it correctly.

Checks that audio and image files exist while parsing .txt file.

Fixed minor bug where an extra (non-existant) subtitle was rendered.

Fixed bug when fading in to a first slide that is a scroll effect.

Subtitle timing bug fixed!

Small fix in displaying total number of pictures processed

Better logging to logfile.

Fixed ignored line if last line does not contain a line break.

dvd-menu

** Changed output directory option to be the same as dvd-slideshow

Spaces in filenames should work now.

Checks that xml files exist before proceeding.

Added option to pass an embedded image (-e image.jpg). Thanks Marcus Brown

Added "upAction" option for use with dvd-bakery. Thanks Marcus Brown!

Fixed bug in pal mode variable passing. (thanks Marcus Brown)

Changed head 4 to head -n 4

Added variable "mpeg2enc_params" for easier changing of mpeg2enc parameters.

Get rid of rpm checks.

Added low quality mode -L for use with dvd-slideshow.

Added -nocleanup option to save files in temp directory for debugging.

Added "-compose src-over" to all composite lines for compatibility with Debian Etch.

Added -H high-quality option as a placeholder for future use

Added -smp option as a dummy option for compatibility with dvd-slideshow

dir2slideshow

Passing -c 0 does not create crossfades.

Added option -notitle

Added option to specify background color or image -b image.jpg

Fix output of "backgound:0:black" on first line.

It should read "background:0::black"

gallery1-to-slideshow

Changed name from gallery2slideshow to gallery1-to-slideshow to avoid

confusion... it does not work on gallery v.2.x albums!

Add -b background image option

Fix for finding all images in album. Thanks Ivan Espinosa!

Added a few more quotes around variables to help with spaces in filenames.



0.7.2

dvd-slideshow

Faster Kenburns effect rendering when using black background.

Allow multiple sequential audio files in input .txt file.

Changed "head -1" to "head -n 1"

Allow .png and .jpeg extensions.

Allow \n in subtitles to designate end-of line breakpoints

Checks for required program version better now.

Fixed ppmtoy4m compatibility error for compatibility with mjpegtools >= 1.6.3-0.1

Allow "exit" keyword in .txt file (for easier debugging).

Fixed pixel aspect ratio problem. (hopefully)

Add option to render subtitles with spumux and .srt files (beta)

Cleans up old temporary files if they exist.

Better logfile output. Hopefully catches program call errors.

Title2 text and bar locations referenced to bottom of frame for better PAL/NTSC compatibility.

Subtitle stays constant between slides if they both have the same subtitle (thanks Andre Weilert)

All temporary files are created in a temporary directory now.

Fixed bug when fading in to a scroll effect. (remove tab at EOL).

Changed progress display slightly ( counts pictures ).

dvd-menu

Better checking for correct versions of required programs.

Logfile output to dvd-menu.log

Reads default variables from ~/.dvd-slideshowrc

Obeys "autocrop" option

Pixel aspect ratio should be correct now.

gallery2slideshow

Another fix to allow newlines in gallery comments. These should correctly get translated into \n characters.

Strips out <a href=””> and </a> tags also.



0.7.1

dvd-slideshow

Added log file output to dvd-slideshow.log

Updated documentation and examples

Background color can now take a #RRGGBB value

Nicer progress indicator

AC3 audio is now the default. Pass -mp2 to force MP2 audio.

Autocrop works on background images now also.

Added code to check for all temporary fade_xxxx.ppm images before proceeding to encode mpeg video.

Fadein or crossfade to a scroll effect works correctly now.

dvd-menu

Automatically creates output directory if it does not exist.

Added option -nomenu if you do not want to create a menu

dir2slideshow

Now reads the following file extensions in the specified directory:

.jpg .JPG .jpeg .png .PNG



0.7.0

dvd-slideshow

Default variables can be set in a ${HOME}/.dvd-slideshowrc file

Default variables can be set in the input .txt file

Crossfade and fadein to kenburns effect correctly fades to the first frame geometry instead of the whole image.

New keywords for the start and end points in kenburns effect:

topleft/middle/middleright etc. See docs for details.

New keywords for the crop function also.

9999 audio files possible now. Used to be a limit of 9

Fixed bug when fading in to a cropped image.

Removed -R 2 and -c options in mpeg2enc because some people had problems.

Fixed subtitle timing bug, so now the subtitles appear and disappear closer to the correct time.

Changed encoded audio bitrate from 224kb/s to 128kb/s

Works with toolame 0.2m beta and 0.2L now

Got rid of calls to NetPBM functions, so it is no longer required...

Changed "wc -m" call to "wc --chars" for better compatibility.

Fixed syntax so spaces should be allowed in input files now.

Changed "seq 2 1" to "seq 2 -1 1" for better compatibility

Added option to "autocrop" images (-c) that are close to the output aspect ratio, but not quite.

Title syntax changed... (see documentation)

Fadein/crossfade to a title or background slide works now.

Fadein/fadeout/crossfade works when previous/next slide is not actually an image/title/background. The next real slide will be used instead.

Fixed bug in Low quality mode (-L) (extracopies bug)

dvd-menu

Added option -iso option to create the iso image

gallery2slideshow

Fix to not show hidden pictures for gallery v1.4.3-pl1

( thanks Frederic! )

Fixed bug when passing html links in subtitle field

dvd-slideshow supports duration in fractional seconds.

Allow for "." as the album path



0.6.0

dvd-slideshow

Fixed major bug/error when generating long slideshows.

Now all video gets piped in YUV fomat through mpeg2enc

in one single block. (fix by Mike Beller. Thanks!)

Added option to generate AC3 audio files (requires ffmpeg > 0.4.8)

Fixed title slide when using -L (low quality mode)

Allow for slide durations to be specified in hundreths of a second: 5.23

Reports total audio and video lengths at the beginning of the code.

Fixed bug when using subtitles. (no subtitles were generated)

Changed output files to be .vob extension instead of .mpg

Better font searching (thanks Jim Crumley)

Use backslash to escape a colon in subtitles (thanks Jim Crumley)

Allow avi input files. pre-alpha support. (thanks Jim Crumley)

dvd-menu

Added AC3 audio option (requires ffmpeg > 0.4.8).

Mplexed files are now correctly labeled with the .vob extension.

Better font searching (thanks Jim Crumley)



0.5.4

dvd-slideshow

Added option to re-define background image from text file input.

Code cleanup (slightly)

Added support for two audio tracks.

Added audio effects: fadein/fadeout

Default command-line audio fadein/fadeout time is 3 seconds.

dir2slideshow

New! Creates an dvd-slideshow input file from a directory of pictures.



Updated man pages for dir2slideshow, gallery2slideshow, and jigl2slideshow.



0.5.2

dvd-slideshow

Fixed bug in musictitle Title info parsing.

Checks to make sure a slidshow name is passed.

Added low-quality mode (-L) for testing. Speeds things up about 4x.

Reduced verbosity.

Checks for required fonts. Subtitles look much better now.

Word-wraps long subtitle lines into two lines.

dvd-menu

Fixed audio bug when no audio was used. (re-mplex error)

Added -c continuous play option (<post> jumps to next title).

Added -D do not run dvdauthor option.

Added -W do not create a 50% white background under menu text.

dvdauthor xml structure changed slightly

DVD Title (-n) is now optional.

Added man page.

Checks for nice fonts and uses them if available.



Added install.sh script to install man pages along with dvd-slideshow and dvd-menu.



0.5.0

dvd-slideshow

Added KenBurns effect! See docs for usage.

Added scroll effect! See docs for usage.

Added crop effect. See docs for usage.

Audio can be started and stoped for multiple files within the text file. See docs for usage.

Added "musictitle" option for displaying audio info.

You can now comment out lines in the textfile by using the # character.

Also ignores blank lines in textfile.

Fades can now have up to 9999 frames.

Total slides can now be 9999. You guys are crazy.

fixed small bug when no chapters are specified.

Chapter markers are now rounded up to the next full second due to a bug in some versions of dvdauthor.

Only checks for oggdec or lame if you pass an ogg or mp3 file.

Changed syntax of command line input for files and audio.

Passing images on the command line is no longer public. Use the text file in put instead.

Fixed audio problem with some mp3 files getting pops in them.

dvd-menu

Changed name to dvd-menu from dvd-mainmenu

Only requires lame or oggdec if you're passing a mp3 or ogg file.

Fixed some audio bugs (sampling) so it should work better.

Will automatically delete AUDIO_TS and VIDEO_TS directories in your output directory if they already exist.

gallery2slideshow

Added option (-c duration) to put a crossfade for duration seconds between every picture.

Added default fadeout after title slide.



0.4.8

dvd-slideshow

0.4.8 Changed audio to process raw (headerless) audio files before joining them.

Fixed bug when passing multiple audio files (again).

Fixed audio fadein/fadeout time to 1 second

Fixed bug in audio where it plays to fast when burned on dvd.

Checks to make sure audio files exist before processing.



0.4.6

dvd-slideshow

0.4.6 Fixed bug when passing multiple audio files. (thanks Scott Merrill)

Removed -t option from toolame command for better support for old versions.



dvd-mainmenu

0.4.6 Fixed bug when checking for toolame (thanks Scott Merrill)

Removed -t option from toolame for better compatibility with old versions.



0.4.4

dvd-slideshow

0.4.4 Only writes chapter markers when there is a picture or title

First chapter marker is now fixed at time 0

Max number of chapter markers is now 99 (thanks Jens Gecius)

Fixed bug when checking for toolame (thanks Jens Gecius)

Added "crossfade" option!

Will use mpeg3cat from libmpeg3 to join mpegs if available.

Small fix to allow semicolons in subtitles (thanks Jim Crumley)

Added -s option to mpeg2enc calls for (maybe?) better compatibility.



gallery2slideshow

0.4 Added fadein before first picture and fadeout at the end



jigl2slideshow

0.3 Added default fade in at beginning and out at end

0.4.2

dvd-slideshow

0.4.2 Current working directory will be used if -o not specified.

Allow "background" keyword in text file to insert background.

Make sure all ImageMagick calls have -depth 8 to make ppmtoy4m happy.

No font is specified in ImageMagick calls, so it should use the default.

Changed default menu to a steelblue gradient when no image is passed.



dvd-mainmenu

0.4.2 Changed location of main title slightly lower.

Fixed one hardcoded 720x480 image so PAL option should work better.

Added -depth 8 to ImageMagick calls to fix ppmtoy4m errors.

Upgraded main menu background when no background is passed.

0.4

dvd-slideshow

0.4 Fixed bug when no background specified (again).

Added error checking to make sure image files exist.

Ogg audio format supported (you must have oggdec).

Uses toolame for mp2 audio encoding when available.

Audio timing improved.

Fixed bug when double-quotes were in subtitle.

Added black, fadein, and fadeout options in txtfile!

-p (PAL format option) added. Not tested, but should work.



dvd-mainmenu

0.4 Added support for ogg and wav audio tracks

Fixed bug when no background specified.

-p (PAL format option) added. Not tested, but should work.

White background behind buttons is now 50% transparency so it looks better.

0.3

dvd-slideshow

0.3 Fixed error when no background specified. Now default is black
Added checking for required programs before running.



dvd-mainmenu

0.3 Added section to check for required programs

If no background passed, a black one will be used.

gallery2slideshow

0.3 Added extra file checking before processing for better stability from Scott Merrill <skippy at skippy.net> Thanks!!!

jigl2slideshow

0.2 Fixed minor bug when checking for output directory

0.1 Initial release (contributed by Scott Merrill <skippy at skippy.net> )

0.2

dvd-slideshow

0.2 Initial release

dvd-mainmenu

0.2 Initial release

gallery2slideshow

0.2 Initial release

dvd-slideshow-0.8.4-2/dir2slideshow0000775000175000017500000011431411624627047016237 0ustar scottscott#!/usr/bin/env bash # dir2slideshow # Copyright 2004-2008 Scott Dylewski # # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation; either version 2 of the License, or # (at your option) any later version. # # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # # You should have received a copy of the GNU General Public License # along with this program; if not, write to the Free Software # Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA # version='0.8.4-2' # TODO: use exiftool instead of jhead! changes () { echo 'Changes: 0.8.4-2 There was a problem finding images... Should be fixed now. 0.8.4 Fixes for file counts and uppercase extensions (thanks Eric Baplue) Allow reading of dvd-slideshowrc file to set variables (thanks Johan Kunnen) Reads .avi files for dvd-slideshow (thanks Guy Albertelli) Add -q (quiet mode) for less output on screen when calling from another script 0.8.2 Write out pal option to output file if selected in dir2slideshow Recursive finds follow symbolic links and ignores hidden directories. Bug fix for spaces in filenames (thanks Ken Zutter) Fixed bug where .mp3 files were being treated as images (crossfade error) Fixed bug where other file formats would be included in the listing (thanks Mridul) Fixed bug where audio files were not included in output. Allow spaces in output files if spaces is used as filename 0.8.0 Add audiobook option- looks for audio files and images & adds titles Allow wipe effect as default between images -w duration Allow decimals in crossfade duration. Allow two different subtitles -s or -s2 Add random kenburns effect (-k) Output file is copied to screen while running Full paths are specified to images in output .txt file. Start of themes being implemented. See theme documentation. Add subtitle options to add path and/or filename. (Thanks Kenneth Weinert) Add recursive directory search. -R and -r (Thanks Kenneth Weinert) Removed seq calls for compatibility with FreeBSD 0.7.5 Allow spaces in filenames. 0.7.4 No changes 0.7.3 Passing -c 0 does not create crossfades. Added option -notitle Added option to specify background color or image -b image.jpg Fix output of "backgound:0:black" on first line. It should read "background:0::black" 0.7.2 Added option to have all subtitles the same -s 0.7.1 Reads .jpg .JPG .jpeg .png .PNG files in the specified directory 0.1.0 Change version number 0.0.1 Initial release' } help () { echo "dir2slideshow $version" echo "dir2slideshow is part of the dvd-slideshow set of tools." echo 'Copyright 2004-2005 Scott Dylewski ' echo 'http://freshmeat.net/dvdslideshow' echo ' dir2slideshow description: Generates a listing of the pictures in a given directory for easy input to dvd-slideshow. Usage: dir2slideshow [-o ] [-t time_per_picture] [-c duration] -n slideshow_name [-T] [-M] [-s subtitle_text] [-notitle] [-k] [-theme ] [-a ,,...] Options: Input directory of pictures. -n slideshow_name Name of the slideshow. This will be used in the title slide as well as for the output file name. [-o output_directory] Path to the directory where you want to output file written. No output directory chooses current directory. [-t time_per_picture] Integer number of seconds that the picture will be visible on the dvd movie. You can edit the output file to make changes to specific lines. Default is 5 seconds. [-c duration] Add a crossfade between every picture for duration seconds. [-w duration] Add a wipe effect between every picture for duration seconds. [-T] Sort by the JPEG header picture taken date, then the file modified date, and then the filename. Default sorts by name only [-M] Sort by the the file modified date, and then the filename. Default sorts by name only. [-s "subtitle text"] Add default subtitle "subtitle_text" to every slide Use "-s filename" to display filename as the subtitle. Use "-s path" to display filename&path as the subtitle. [-s2 "subtitle text"] Same as -s option, but adds subtitles to subtitle track 2 [-b background.jpg] Use background.jpg as background image. Default is black. [-notitle] Do not create a title slide. [-nofades] Do not create fades at start and end of slideshow. [-r] Recursively search directories for images, creating one output file. [-R] (not working yet) Recursively search directories for images, creating one output file for each directory. [-k] Apply random kenburns effects to each slide [-p] Use PAL output video format instead of NTSC [-theme themefile.theme] BETA Use theme themefile.theme for consistent look & feel [-a ,,...] Use the following audio files in the slideshow. Files will be played sequentially for the duration of the slideshow. Use quotes if you have spaces in filenames. [-B] Use audiobook format. This will look for individual audio files along with images, and also add titles. You wil probably have to modify the output to your liking, but this should give you a start. (alpha!) do not use yet. [-q] Quiet mode. Less on-scren output. -h or -help Prints this help. ' } if [ $# -lt 1 ]; then help exit 1 fi myecho () ## create new echo to bounce things to files, etc. { if [ "$quiet" == 0 ]; then echo "$1" ; fi } set_variables () { ## check for config variables: config1=`echo "$1" | cut -d= -f1 | tr -d [:blank:]` config2=`echo "$1" | tr '\t' ' ' | cut -d= -f2 | tr -d '\047' | tr -d '\042' | awk -F' #' '{print $1}' | tr -d [:blank:]` [ -n "$2" -a "$2" == 1 ] && noecho=1 || noecho=0 ## check for global configuration variables: case "$config1" in # title debug) debug="$config2" ; [ "$noecho" -eq 0 ] && echo "debug=$debug" ;; # title_font) title_font="$config2" ; [ "$noecho" -eq 0 ] && echo "title_font=$title_font" ;; # subtitle_font) subtitle_font="$config2" ; [ "$noecho" -eq 0 ] && echo "subtitle_font=$subtitle_font" ;; title_font_size) title_font_size="$config2" ; [ "$noecho" -eq 0 ] && echo "title_font_size=$title_font_size" ;; title_font_color) title_font_color="$config2" ; [ "$noecho" -eq 0 ] && echo "title_font_color=$title_font_color" ;; # top title toptitle_font_size) toptitle_font_size="$config2" ; [ "$noecho" -eq 0 ] && echo "toptitle_font_size=$toptitle_font_size" ;; toptitle_font_color) toptitle_font_color="$config2" ; [ "$noecho" -eq 0 ] && echo "toptitle_font_color=$toptitle_font_color" ;; toptitle_bar_height) toptitle_bar_height="$config2" ; [ "$noecho" -eq 0 ] && echo "toptitle_bar_height=$toptitle_bar_height" ;; toptitle_text_location_x) toptitle_text_location_x="$config2" ; [ "$noecho" -eq 0 ] && echo "toptitle_text_location_x=$toptitle_text_location_x" ;; toptitle_text_location_y) toptitle_text_location_y="$config2" ; [ "$noecho" -eq 0 ] && echo "toptitle_text_location_y=$toptitle_text_location_y" ;; # bottom title bottomtitle_font_size) bottomtitle_font_size="$config2" ; [ "$noecho" -eq 0 ] && echo "bottomtitle_font_size=$bottomtitle_font_size" ;; bottomtitle_font_color) bottomtitle_font_color="$config2" ; [ "$noecho" -eq 0 ] && echo "bottomtitle_font_color=$bottomtitle_font_color" ;; bottomtitle_bar_location_y) bottomtitle_bar_location_y="$config2" ; [ "$noecho" -eq 0 ] && echo "bottomtitle_bar_location_y=$bottomtitle_bar_location_y" ;; bottomtitle_bar_height) bottomtitle_bar_height="$config2" ; [ "$noecho" -eq 0 ] && echo "bottomtitle_bar_height=$bottomtitle_bar_height" ;; bottomtitle_text_location_x) bottomtitle_text_location_x="$config2" ; [ "$noecho" -eq 0 ] && echo "bottomtitle_text_location_x=$bottomtitle_text_location_x" ;; bottomtitle_text_location_y) bottomtitle_text_location_y="$config2" ; [ "$noecho" -eq 0 ] && echo "bottomtitle_text_location_y=$bottomtitle_text_location_y" ;; ## dir2slideshow options: slideshow_background) background="$config2" ; [ "$noecho" -eq 0 ] && echo "background=$background" ;; title_background) title_background="$config2" ; [ "$noecho" -eq 0 ] && echo "title_background=$title_background" ;; crossfade) crossfade="$config2" ; [ "$noecho" -eq 0 ] && echo "crossfade=$crossfade" ;; wipe) wipe="$config2" ; [ "$noecho" -eq 0 ] && echo "wipe=$wipe" ;; kenburns) kenburns="$config2" ; [ "$noecho" -eq 0 ] && echo "kenburns=$kenburns" ;; pal) pal="$config2" ; [ "$noecho" -eq 0 ] && echo "pal=$pal" ;; slide_duration) slide_duration="$config2" ; [ "$noecho" -eq 0 ] && echo "slide_duration=$slide_duration" ;; title_type) title_type="$config2" ; [ "$noecho" -eq 0 ] && echo "title_type=$title_type" ;; slideshow_audio) audio_list="$config2" ; [ "$noecho" -eq 0 ] && echo "audio_list=$audio_list" ;; subtitle) subtitle="$config2" ; [ "$noecho" -eq 0 ] && echo "subtitle=$subtitle" ;; subtitle2) subtitle2="$config2" ; [ "$noecho" -eq 0 ] && echo "subtitle2=$subtitle2" ;; slideshow_end) slideshow_end[$end]="$config2" ; [ "$noecho" -eq 0 ] && echo "slideshow_end[$end]=${slideshow_end[$end]}"; end=$(($end+1)) ;; audiobook) audiobook="$config2" ; [ "$noecho" -eq 0 ] && echo "audiobook=$audiobook" ;; picture_files) picture_files="$config2" ; [ "$noecho" -eq 0 ] && echo "picture_files=$picture_files" ;; audio_files) audio_files="$config2" ; [ "$noecho" -eq 0 ] && echo "audio_files=$audio_files" ;; video_files) video_files="$config2" ; [ "$noecho" -eq 0 ] && echo "video_files=$video_files" ;; text_files) text_files="$config2" ; [ "$noecho" -eq 0 ] && echo "text_files=$text_files" ;; esac } full_path () # from Shea Martin with fix by Ken Zutter for spaces in filenames { if [ -f "$1" ]; then DIR="$(dirname "$1")" DIR=$(cd "$DIR" && pwd) FILE="$(basename "$1")" RSLT=$? echo "$DIR/$FILE" return $RSLT elif [ -d "$1" ]; then cd "$DIR" && pwd && cd $OLDPWD return $? else echo "unknown file: $1" return 1 fi } ## setup initial variables: #picture_files="-name *.JPG -o -name *.jpg -o -name *.png -o -name *.PNG -o -name *.jpeg -o -name *.JPEG" #audio_files="-name *.mp3 -o -name *.MP3 -o -name *.ogg -o -name *.OGG" #video_files="-name *.avi -o -name *.AVI" #text_files="-name *.txt -o -name *.TXT" LANG=POSIX debug=0 # 1 or 0 quiet=0 crossfade=0 wipe=0 slide_duration=5 output_dir="." input_dir="" name='' sortmethod='' title=1 fades=1 background='' title_background='' audiobook=0 kenburns=0 vcd=0; svcd=0 theme='' themedir='/opt/dvd-slideshow/themes' # LSB/FHS compliant. see http://www.pathname.com/fhs/pub/fhs-2.3.html#OPTADDONAPPLICATIONSOFTWAREPACKAGES local_themedir=~/.dvd-slideshow/themes # location of local themes directory (do not use quotes) title_type='title' audio_list='' recursive_single=0 recursive_multiple=0 end=1 pal=0 # default to ntsc sortmethod="name" # sort by filename as default sort method ######################################################### ## read in command-line args: for arg do case "$arg" in -i) shift; commandline_input_dir="$1" ; shift ;; -n) shift; commandline_name="$1" ; shift ;; -s) shift; commandline_subtitle="$1" ; shift ;; -s2) shift; commandline_subtitle2="$1" ; shift ;; -b) shift; commandline_background="$1" ; shift ;; -tb) shift; commandline_title_background="$1" ; shift ;; -notitle) commandline_title=0 ; shift ;; -nofades) commandline_fades=0 ; shift ;; -B) commandline_audiobook=1 ; shift ;; -k) commandline_kenburns=1 ; shift ;; -r) commandline_recursive_single=1 ; shift ;; -R) commandline_recursive_multiple=1 ; shift ;; -vcd) commandline_vcd=1 ; shift ;; -svcd) commandline_svcd=1 ; shift ;; -p) commandline_pal=1 ; shift ;; # required if -k specified. -n) commandline_pal=0 ; shift ;; # required if -k specified. -q) quiet=1; shift ;; # enable quiet mode -o) shift; output_dir="$1"; shift ;; -t) shift; commandline_duration="$1"; shift ;; -T) commandline_sortmethod="taken_date"; shift ;; -M) commandline_sortmethod="modified_date"; shift ;; -S) commandline_sortmethod="normal"; shift ;; -c) shift; commandline_crossfade="$1"; shift ;; -w) shift; commandline_wipe="$1"; shift ;; -theme) shift; theme="$1"; shift ;; -a) shift; commandline_audio_list="$1"; shift ;; -h) help ; exit 0 ; shift ;; -?) help ; exit 0 ; shift ;; -help) help ; exit 0 ; shift ;; esac done myecho "[dir2slideshow] dir2slideshow version $version" ############################################################# ## Now, read in the ~/.dvd-slideshow/dvd-slideshowrc file if it exists: if [ -f "${HOME}/.dvd-slideshow/dvd-slideshowrc" ] ; then myecho "[dir2slideshow] Reading default variables in ${HOME}/.dvd-slideshow/dvd-slideshowrc" while read thisline do it=`set_variables "${thisline}" 0` if [ -n "$it" ] ; then myecho "[dir2slideshow] Set variable $it" continue fi done < "$HOME/.dvd-slideshow/dvd-slideshowrc" fi ########################################################### ## read in theme file: if [ -n "$theme" ] && [ "$theme" != 'default' ] ; then # check if directory if [ -d "$theme" ] ; then themedir="$theme" themefile="`ls -1 "$theme"/*.theme 2> /dev/null | tail -n 1`" if [ -z "$themefile" ] ; then myecho "[dir2slideshow] Found theme directory: $themedir" echo "[dir2slideshow] ERROR: theme directory does not contain a .theme file!" exit 1 else myecho "[dir2slideshow] setting theme file to $theme" fi elif [ -f "$theme" ] ; then themefile="`full_path "$theme"`" themedir="`dirname "$theme"`" myecho "[dir2slideshow] using theme file $theme" else # check in default theme directory: if [ -d "$themedir"/"$theme" ] ; then themedir="$themedir"/"$theme" themefile="`ls -1 "$themedir"/*.theme 2> /dev/null | tail -n 1`" if [ -z "$themefile" ] ; then myecho "[dir2slideshow] Found theme directory: $themedir" echo "[dir2slideshow] ERROR: theme directory does not contain a .theme file!" exit 1 else myecho "[dir2slideshow] setting theme file to $themefile" fi # check in local theme directory elif [ -d "$local_themedir"/"$theme" ] ; then themedir="$local_themedir"/"$theme" themefile="`ls -1 "$themedir"/*.theme 2> /dev/null | tail -n 1`" if [ -z "$themefile" ] ; then myecho "[dir2slideshow] Found theme directory: $themedir" echo "[dir2slideshow] ERROR: theme directory does not contain a .theme file!" exit 1 else myecho "[dir2slideshow] setting theme file to $themefile" fi else echo "[dir2slideshow] ERROR! Bad theme name (not found)" exit 1 fi fi myecho "[dir2slideshow] Reading theme file..." while read thisline do set_variables "${thisline}" 1 it=`set_variables "${thisline}" 0` if [ -n "$it" ] ; then myecho "[dir2slideshow] Set variable $it" fi done < "$themefile" fi ## over-ride theme file with command-line options: [ -n "$commandline_input_dir" ] && input_dir="$commandline_input_dir" [ -n "$commandline_name" ] && name="$commandline_name" [ -n "$commandline_subtitle" ] && subtitle="$commandline_subtitle" [ -n "$commandline_subtitle2" ] && subtitle2="$commandline_subtitle2" [ -n "$commandline_background" ] && background="$commandline_background" [ -n "$commandline_title_background" ] && title_background="$commandline_title_background" [ -n "$commandline_title" ] && title="$commandline_title" [ -n "$commandline_fades" ] && fades="$commandline_fades" [ -n "$commandline_kenburns" ] && kenburns="$commandline_kenburns" [ -n "$commandline_pal" ] && pal="$commandline_pal" [ -n "$commandline_duration" ] && slide_duration="$commandline_duration" [ -n "$commandline_crossfade" ] && crossfade="$commandline_crossfade" [ -n "$commandline_wipe" ] && wipe="$commandline_wipe" [ -n "$commandline_audio_list" ] && audio_list="$commandline_audio_list" [ -n "$commandline_recursive_single" ] && recursive_single="$commandline_recursive_single" [ -n "$commandline_recursive_multiple" ] && recursive_multiple="$commandline_recursive_multiple" [ -n "$commandline_vcd" ] && vcd="$commandline_vcd" [ -n "$commandline_svcd" ] && svcd="$commandline_svcd" [ -n "$commandline_audiobook" ] && audiobook="$commandline_audiobook" [ -n "$commandline_sortmethod" ] && sortmethod="$commandline_sortmethod" if [ -z "$input_dir" ] ; then input_dir="$1" fi if [ -z "$input_dir" ] ; then echo '[dir2slideshow] Error: No input directory specified' elif [ ! -d "$input_dir" ] ; then echo "[dir2slideshow] Error: Input directory is not a real directory: $input_dir" fi ## check_rm checks to see if the file exists before it's deleted: check_rm () { if [ -f "$1" ] ; then rm "$1" fi } ## check for the necessary programs: checkforprog () { it=`which "$1"` if [ -z "$it" ] ; then echo "[dir2slideshow] ERROR: $1 not found! " echo "[dir2slideshow] Check the dependencies and make sure everything is installed." exit 1 fi } cleanup () { ## clean up temporary files check_rm "$output_dir/imagelist.txt" check_rm "$output_dir/filelist_sorted.txt" check_rm "$output_dir/txtlist.txt" check_rm "$output_dir/audiolist.txt" check_rm "$output_dir/videolist.txt" check_rm "$output_dir/directory_list.txt" myecho "[dir2slideshow] Done!" } forcequit () ## function gets run when we have some sort of forcequit... { ## clean up temporary files cleanup exit 1 } imagewidth () { it="`identify -format %w "$1"`" it="$(( $it * $sq_pixel_multiplier / 1000 ))" echo "$it" } imagewidth_sq () { it="`identify -format %w "$1"`" echo "$it" } imageheight () { it="`identify -format %h "$1"`" echo "$it" } fileecho () { echo "$*" >> "$outfile" if [ "$quiet" == 0 ] ; then echo "$*" fi } autocrop_percent () { # figure out whether to autocrop the image or not image_width=`imagewidth "$1"` image_height=`imageheight "$1"` ratio="$(( 1000* $image_width / $image_height ))" out_ratio="$(( 1000* $dvd_width / $dvd_height ))" if [ "$ratio" -lt "$out_ratio" ] ; then # image too tall, crop top/bottom # calculate new height based on existing width: new_image_height=$(( $image_width * $dvd_height / $dvd_width )) # echo "new_image_height=$new_image_height" percent=$(( 100 * $new_image_height / $image_height )) elif [ "$ratio" -gt "$out_ratio" ] ; then # image too wide, crop sides # calculate new width based on existing height: new_image_width=$(( $image_height * $dvd_width / $dvd_height )) # echo "new_image_width=$new_image_width" percent=$(( 100 * $new_image_width / $image_width )) else # no cropping of image needed! percent=100 fi # echo "image_width=$image_width image_height=$image_height ratio=$ratio out_ratio=$out_ratio percent=$percent" echo "$percent" } trap 'forcequit' INT trap 'forcequit' KILL trap 'forcequit' TERM if [ "$kenburns" != "0" ] ; then kenburns=1 if [ -z "$pal" ] ; then echo "[dir2slideshow] WARNING: you must specify pal or ntsc" echo "[dir2slideshow] with the -p 1/0 option when using -k" echo "[dir2slideshow] assuming NTSC." pal=0 fi fi if [ "$pal" == 1 ] ; then framerate='25' frames_per_sec=25000 # in ms if [ "$vcd" -eq 1 ] ; then dvd_width='352' ; dvd_height='288' resolution='352x288' elif [ "$svcd" -eq 1 ] ; then dvd_width='480' ; dvd_height='576' resolution='480x576' else dvd_width='720' ; dvd_height='576' resolution='720x576' fi else ## NTSC framerate='29.97' frames_per_sec=29970 # in ms if [ "$vcd" -eq 1 ] ; then dvd_width='352' ; dvd_height='240' resolution='352x240' elif [ "$svcd" -eq 1 ] ; then dvd_width='480' ; dvd_height='480' resolution='480x480' else dvd_width='720' ; dvd_height='480' resolution='720x480' fi fi aspect_ratio="4:3" resize_factor=`awk -vw=$dvd_width -vh=$dvd_height -var=$aspect_ratio 'BEGIN{if (ar=="4:3"){ar=4/3} else {ar=16/9};printf "%0.2f", (100/((h/w)*(ar)));exit;}'` sq_to_dvd_pixels="${resize_factor}x100%" sq_pixel_multiplier=$( printf %5.0f $( echo "scale=0; 10 * $resize_factor" | bc ) ) # sanity checking # did the user give us a valid input file to work with? if [ ! -d "$input_dir" ]; then # it's not a directory! echo "[dir2slideshow] ERROR: Bogus input directory (-i $input_dir)!" exit 1; fi if [ -z "$name" ]; then myecho "[dir2slideshow] WARNING: No slideshow name specified using -n " name="$( dirname "$input_dir"/. )" name="$( echo $name | awk -F/ '{print $NF}')" myecho "[dir2slideshow] Using slideshow name= $name" fi # make sure $input_dir has no trailing slash input_dir=`echo "$input_dir" | sed -e 's/\/$//'`; ## check to make sure the "album" name is ok? if [ -z "$output_dir" ]; then # no output directory specified! echo "[dir2slideshow] WARNING: Invalid output destination (-o $output_dir)!"; echo "[dir2slideshow] Using `pwd` instead."; output_dir="`pwd`"; fi if [ ! -d "$output_dir" ]; then # I'm sure it was a simple typo. echo "[dir2slideshow] WARNING: Invalid output destination (-o $output_dir)!"; echo "[dir2slideshow] Using $input_dir instead."; output_dir="$input_dir"; fi # make sure $output_dir has no trailing slash output_dir=`echo "$output_dir" | sed -e 's/\/$//'`; #outfile="$output_dir"/"`echo "$name" | sed -e 's/ /_/g'`.txt" outfile="$output_dir"/"$name".txt myecho "[dir2slideshow] Input directory = $input_dir" myecho "[dir2slideshow] Slideshow name = $name" myecho "[dir2slideshow] Output file = $outfile" ## now, summarize settings: if [ "$quiet" == 0 ] ; then echo [dir2slideshow] subtitle="$subtitle" echo [dir2slideshow] subtitle2="$subtitle2" echo [dir2slideshow] background="$background" echo [dir2slideshow] title_background="$title_background" echo [dir2slideshow] title="$title" echo [dir2slideshow] kenburns="$kenburns" echo [dir2slideshow] pal="$pal" echo [dir2slideshow] output_dir="$output_dir" echo [dir2slideshow] slide_duration="$slide_duration" echo [dir2slideshow] sortmethod="$sortmethod" echo [dir2slideshow] crossfade="$crossfade" echo [dir2slideshow] wipe="$wipe" echo [dir2slideshow] title_type="$title_type" echo [dir2slideshow] themefile="$themefile" echo [dir2slideshow] audio_list="$audio_list" fi ## cleanup the workfiles check_rm "$output_dir"/imagelist.txt check_rm "$output_dir"/audiolist.txt check_rm "$output_dir"/videolist.txt # check_rm "$output_dir"/txtlist.txt ## find all files: if [ "$recursive_single" == 1 ] ; then # need to list all images under this directory. # put them all in one slideshow # do not display images under .thumbs or .thumbnails directories # first, get list of directories: find "$input_dir" -type d | grep --invert-match -e '\.' | grep --invert-match -e '\/tn$' | sort > "$output_dir"/directory_list.txt while read directory do # find "$directory" -maxdepth 1 -type f -prune \( $picture_files \) | sort >> "$output_dir"/imagelist.txt # find "$directory" -maxdepth 1 -type f -prune \( $audio_files \) | sort >> "$output_dir"/audiolist.txt # find "$directory" -maxdepth 1 -type f -prune \( $video_files \) | sort >> "$output_dir"/videolist.txt # find "$directory" -maxdepth 1 -type f \( $text_files \) -exec ls -1 {} \; | sort >> "$output_dir"/txtlist.txt find "$directory" -maxdepth 1 -type f -prune \( -name \*.JPG -o -name \*.jpg -o -name \*.png -o -name \*.PNG -o -name \*.jpeg -o -name \*.JPEG \) | sort >> "$output_dir"/imagelist.txt find "$directory" -maxdepth 1 -type f -prune \( -name \*.mp3 -o -name \*.MP3 -o -name \*.ogg -o -name \*.OGG \) | sort >> "$output_dir"/audiolist.txt find "$directory" -maxdepth 1 -type f -prune \( -name \*.avi -o -name \*.AVI \) | sort >> "$output_dir"/videolist.txt done < "$output_dir"/directory_list.txt elif [ "$recursive_multiple" == 1 ] ; then echo "[dir2slideshow] -R not supported yet"; exit 1 # do find, then check each file if it is a directory: else # default case # ok, we need to follow links, but don't do recursive directory searching # find "$input_dir" -maxdepth 1 \( -type f -o -type l \) \( $picture_files \) | sort > "$output_dir"/imagelist.txt # find "$input_dir" -maxdepth 1 \( -type f -o -type l \) \( $audio_files \) | sort > "$output_dir"/audiolist.txt # find "$input_dir" -maxdepth 1 -type f -prune \( $video_files \) | sort > "$output_dir"/videolist.txt # find "$input_dir" -maxdepth 1 -type f \( $text_files \) -exec ls -1 {} \; | sort > "$output_dir"/txtlist.txt find "$input_dir" -maxdepth 1 \( -type f -o -type l \) \( -name \*.JPG -o -name \*.jpg -o -name \*.png -o -name \*.PNG -o -name \*.jpeg -o -name \*.JPEG \) | sort > "$output_dir"/imagelist.txt find "$input_dir" -maxdepth 1 \( -type f -o -type l \) \( -name \*.mp3 -o -name \*.MP3 -o -name \*.ogg -o -name \*.OGG \) | sort > "$output_dir"/audiolist.txt find "$input_dir" -maxdepth 1 -type f -prune \( -name \*.avi -o -name \*.AVI \) | sort > "$output_dir"/videolist.txt fi # count the different media picture_count=`wc -l "$output_dir"/imagelist.txt | awk '{print $1}'` audio_count=`wc -l "$output_dir"/audiolist.txt | awk '{print $1}'` video_count=`wc -l "$output_dir"/videolist.txt | awk '{print $1}'` # text_count=`wc -l "$output_dir"/txtlist.txt | awk '{print $1}'` image_count=$( echo "$picture_count + $video_count" | bc ) echo "[dir2slideshow] Total pictures found = $picture_count" echo "[dir2slideshow] Total audio files found = $audio_count" echo "[dir2slideshow] Total video files found = $video_count" # echo "[dir2slideshow] Total text files found = $text_count" ## now, join the audio files and images: if [ "$audiobook" == 1 ] ; then cat "$output_dir"/imagelist.txt "$output_dir"/audiolist.txt | sort > "$output_dir"/filelist.txt mv "$output_dir"/filelist.txt "$output_dir"/imagelist.txt sortmethod='' fi # make sure we found some images: if [ "$image_count" -eq 0 ] ; then echo "[dir2slideshow] ERROR: No pictures or videos found. Check your settings and try again." exit 1 fi ## sort the pictures: myecho "[dir2slideshow] Sorting pictures..." if [ "$sortmethod" == 'taken_date' ] ; then ## sort by taken date: checkforprog jhead check_rm "$output_dir"/filelist_date.txt for (( i=1 ; i<=picture_count ; i++ )) ; do file=`sed -n "$i"p "$output_dir"/imagelist.txt` taken=`jhead "$file" | grep 'Date/Time' | awk -F': ' '{print $2}'` modified=`jhead "$file" | grep 'File date' | awk -F': ' '{print $2}'` if [ -n "$taken" ] ; then echo "$file: $taken" >> "$output_dir"/filelist_date.txt else myecho "[dir2slideshow] No picture taken date in $file." # echo "[dir2slideshow] Using modification date!" echo "$file: $modified" >> "$output_dir"/filelist_date.txt fi done for (( i=1 ; i<=video_count ; i++ )) ; do file=`sed -n "$i"p "$output_dir"/videolist.txt` modified=`basename $file|awk -F_ '{printf "%s %s", $1, $2}'|sed s/-/:/g` echo "$file: $modified" >> "$output_dir"/filelist_date.txt done ## sort: sort -k 2,3 -d "$output_dir"/filelist_date.txt > "$output_dir"/filelist_sorted.txt elif [ "$sortmethod" == 'modified_date' ] ; then ## sort by modified date check_rm "$output_dir"/filelist_date.txt for (( i=1 ; i<=picture_count ; i++ )) ; do file=`sed -n "$i"p "$output_dir"/imagelist.txt` modified_day=`ls -l --full-time "$file" | awk '{print $6}'` modified_time=`ls -l --full-time "$file" | awk '{print $7}'` # echo "modified_day=$modified_day" # echo "modified_time=$modified_time" echo "$file: $modified_day $modified_time" >> "$output_dir"/filelist_date.txt done for (( i=1 ; i<=video_count ; i++ )) ; do file=`sed -n "$i"p "$output_dir"/videolist.txt` modified=`basename $file|awk -F_ '{printf "%s %s", $1, $2}'|sed s/-/:/g` echo "$file: $modified" >> "$output_dir"/filelist_date.txt done ## sort: sort -k 2,3 -d "$output_dir"/filelist_date.txt > "$output_dir"/filelist_sorted.txt else ## sort by name (should be done by ls -l) cat "$output_dir"/imagelist.txt "$output_dir"/videolist.txt > "$output_dir"/filelist_date.txt sort -k 1 -d "$output_dir"/filelist_date.txt > "$output_dir"/filelist_sorted.txt fi check_rm "$output_dir"/filelist_date.txt ## main loop: # kenburns constants: # now, it seems the kenburns effect isn't very smooth if we zoom # and pan at the same time. So, we'll have two different versions: # 1. zoom only (random center and amount) # 2. pan only (random locations and amount) # 3. scroll? up/down for panoramas? (not yet) min_kb_size_percent=80 myecho "#########################################" if [ -n "$background" ] && [ -f "$background" ] ; then background="`full_path "$background"`" elif [ -n "$background" ] ; then # either color local file if [ -f "$themedir/$background" ] ; then background="$themedir/$background" fi elif [ -z "$background" ] ; then background=black fi if [ -n "$title_background" ] && [ -f "$title_background" ] ; then title_background="`full_path "$title_background"`" elif [ -n "$title_background" ] ; then # either color local file if [ -f "$themedir/$title_background" ] ; then title_background="$themedir/$title_background" fi fi check_rm "$outfile" if [ "$pal" == "1" ] ; then fileecho "pal=1" fi if [ -n "$themefile" ] ; then fileecho "theme=$themefile" fi if [ "$kenburns" == "1" ] ; then fileecho "high_quality=1" # force high-quality mode for slow kenburns effects? fi ## set system variables if [ -n "$title_background" ] ; then # set title background separate from slideshow background: fileecho "background:0::$title_background" else fileecho "background:0::$background" fi #[ -n "$title_font" ] && fileecho "title_font=$title_font" #[ -n "$subtitle_font" ] && fileecho "subtitle_font=$subtitle_font" name_converted="$( echo $name | sed -e 's/_/ /g' )" #name_converted="$name" ## if title is wanted: if [ "$title" -eq 1 ] ; then [ -n "$title_font_color" ] && fileecho "title_font_color=$title_font_color" [ -n "$title_font_size" ] && fileecho "title_font_size=$title_font_size" if [ "$fades" -eq 1 ] ; then fileecho "background:1" fileecho "fadein:1" fi if [ "$title_type" == 'titlebar' ] ; then fileecho "bottomtitle_bar_height=0" # no bottom title for now fileecho "titlebar:$slide_duration:$name_converted" else fileecho "title:$slide_duration:$name_converted" fi fileecho "background:0::$background" # set the background back to the non-title background fi if [ "$fades" -eq 1 ] && [ "$title" -eq 1 ] ; then fileecho "fadeout:1" fileecho "background:2" fi ## write audio list to file: # audio_list is passed via the command-line or input file # audiolist.txt is created from the directory searching if [ -n "$audio_list" ] ; then echo "$audio_list" | sed -e 's/,/\n/g' | while read file do if [ -f "$file" ] ; then audio_file="$( full_path "$file" )" else # assume it's in the theme direcotry: audio_file="$themedir"/"$file" if [ ! -f "$audio_file" ] ; then echo "[dir2slideshow] ERROR! Audio file not found:" echo "[dir2slideshow] $file" fi fi fileecho "$audio_file"':1:fadein:2:fadeout:2' done elif [ -f "$output_dir/audiolist.txt" ] ; then # command-line audio supercedes audio in directory at this point! while read file do if [ -f "$file" ] ; then audio_file="$( full_path "$file" )" else # assume it's in the theme direcotry: audio_file="$themedir"/"$file" if [ ! -f "$audio_file" ] ; then echo "[dir2slideshow] ERROR! Audio file not found:" echo "[dir2slideshow] $file" fi fi fileecho "$audio_file"':1:fadein:2:fadeout:2' done < "$output_dir/audiolist.txt" fi if [ "$fades" -eq 1 ] ; then fileecho "fadein:1" fi total_lines=`wc -l "$output_dir"/filelist_sorted.txt | awk '{print $1}'` j=0 chapter=1 for (( i=1 ; i<=total_lines ; i++ )) ; do file="`sed -n "$i"p "$output_dir"/filelist_sorted.txt | awk -F: '{print $1}'`" file="`full_path "$file"`" filetype=$( echo "$file" | awk -F. '{print $NF}') ## write to file: if [ "$filetype" == 'mp3' ] ; then if [ "$audiobook" == 1 ] ; then fileecho "$file:1" book_title="$name_converted" fileecho "titlebar:audio:$book_title:Chapter $chapter" chapter=$(( $chapter + 1 )) # else # fileecho "$file:1" fi elif [ "$filetype" == 'avi' ] ; then if [ -n "$subtitle" ] ; then if [ "$subtitle" == 'filename' ] ; then # use name as the subtitle subtitle_text="$( basename "$file" )" elif [ "$subtitle" == 'path' ] ; then # use full filename and path as subtitle (truncate?) subtitle_text="$file" else subtitle_text="$subtitle" fi else subtitle_text='' fi if [ -n "$subtitle2" ] ; then if [ "$subtitle2" == 'filename' ] ; then # use name as the subtitle2 subtitle2_text="$( basename "$file" )" elif [ "$subtitle2" == 'path' ] ; then # use full filename and path as subtitle2 (truncate?) subtitle2_text="$file" else subtitle2_text="$subtitle2" fi else subtitle2_text='' fi if [ -n "$subtitle_text" ] && [ -n "$subtitle2_text" ] ; then fileecho "$file:$slide_duration:$subtitle_text"';'"$subtitle2_text" elif [ -n "$subtitle_text" ] && [ -z "$subtitle2_text" ] ; then fileecho "$file:$slide_duration:$subtitle_text" else fileecho "$file:$slide_duration" fi elif [ "$filetype" == 'txt' ] ; then echo "found text file" else if [ "$kenburns" == "1" ] ; then autocrop_size_percent=`autocrop_percent "$file"` if [ "$autocrop_size_percent" -lt "$min_kb_size_percent" ] ; then # probably a portrait image, don't do auto kenburns? kenburns_args="" # echo "autocrop_size_percent=$autocrop_size_percent" else # use autocrop as largest crop possible large_kb_size_percent="$autocrop_size_percent" if [ "$large_kb_size_percent" -gt "$min_kb_size_percent" ] ; then delta_kb_size_percent=$(( $large_kb_size_percent - $min_kb_size_percent )) small_kb_size_percent=$min_kb_size_percent else delta_kb_size_percent=1 small_kb_size_percent=$min_kb_size_percent fi # generate random start and end between these two limits: myrand="$RANDOM" # echo "$(( $myrand % $delta_kb_size_percent ))" # note $(( $RANDOM % number )) gives a random number (reminder) # between 0 and number kb_start=$(( $myrand % $delta_kb_size_percent + $small_kb_size_percent )) # zoom doesn't look that smooth, so don't use it! # randomly choose between zoom and pan: # zoom_or_pan=$(( $RANDOM % 2 )) # echo "zoom_or_pan=$zoom_or_pan" zoom_or_pan=0 if [ $zoom_or_pan -eq 1 ] ; then # do zoom kb_end=$(( $RANDOM % $delta_kb_size_percent + $small_kb_size_percent )) kenburns_args="kenburns:$kb_start%;50%,50%;$kb_end%;50%,50%" else # do pan # now get horizontal and vertical movement for START: if [ "$autocrop_size_percent" -gt "$kb_start" ] ; then range=$(( $autocrop_size_percent - $kb_start )) else range=$(( $kb_start - $autocrop_size_percent )) fi # echo "autocrop=$autocrop_size_percent range=$range" small_kb_percent=$(( 50 - $range/2 )) kb_x_start=$(( $RANDOM % $range + $small_kb_percent )) kb_x_end=$(( $RANDOM % $range + $small_kb_percent )) kb_y_start=$(( $RANDOM % $range + $small_kb_percent )) kb_y_end=$(( $RANDOM % $range + $small_kb_percent )) xrange=$(( $kb_x_start - $kb_x_end )) [ "$xrange" -lt 0 ] && xrange=$(( -1 * $xrange )) yrange=$(( $kb_y_start - $kb_y_end )) [ "$yrange" -lt 0 ] && yrange=$(( -1 * $yrange )) # make sure values are not the same? #echo "trying: kenburns:$kb_start%;$kb_x_start%,$kb_y_start%;$kb_start%;$kb_x_end%,$kb_y_end%" if [ $kb_x_start -eq $kb_x_end ] && [ $kb_y_start -eq $kb_y_end ] ; then kenburns_args='' elif [ $(( $kb_x_start - $kb_x_end )) -le 1 ] && [ $(( $kb_y_start - $kb_y_end )) -le 1 ] ; then kenburns_args='' else kenburns_args="kenburns:$kb_start%;$kb_x_start%,$kb_y_start%;$kb_start%;$kb_x_end%,$kb_y_end%" fi fi fi else kenburns_args="" fi if [ -n "$subtitle" ] ; then if [ "$subtitle" == 'filename' ] ; then # use name as the subtitle subtitle_text="$( basename "$file" )" elif [ "$subtitle" == 'path' ] ; then # use full filename and path as subtitle (truncate?) subtitle_text="$file" else subtitle_text="$subtitle" fi else subtitle_text='' fi if [ -n "$subtitle2" ] ; then if [ "$subtitle2" == 'filename' ] ; then # use name as the subtitle2 subtitle2_text="$( basename "$file" )" elif [ "$subtitle2" == 'path' ] ; then # use full filename and path as subtitle2 (truncate?) subtitle2_text="$file" else subtitle2_text="$subtitle2" fi else subtitle2_text='' fi if [ -n "$subtitle2_text" ] && [ -n "$kenburns_args" ] ; then fileecho "$file:$slide_duration:$subtitle_text"';'"$subtitle2_text:$kenburns_args" elif [ -z "$subtitle2_text" ] && [ -n "$kenburns_args" ] ; then fileecho "$file:$slide_duration:$subtitle_text:$kenburns_args" elif [ -n "$subtitle_text" ] && [ -z "$subtitle2_text" ] && [ -z "$kenburns_args" ] ; then fileecho "$file:$slide_duration:$subtitle_text" elif [ -n "$subtitle2_text" ] && [ -z "$kenburns_args" ] ; then fileecho "$file:$slide_duration:$subtitle_text"';'"$subtitle2_text" else fileecho "$file:$slide_duration" fi if [ "$crossfade" != "0" ] && [ "$i" -lt "$image_count" ] ; then fileecho "crossfade:$crossfade" elif [ "$wipe" != "0" ] && [ "$i" -lt "$image_count" ] ; then fileecho "wipe:$wipe" fi let j=$j+1 fi # end of if statement for different file types done if [ "$fades" -eq 1 ] ; then ## fade out at end fileecho "fadeout:1" fileecho "background:2" fi #if [ "$title" -eq 1 ] && [ -n "$title_background" ] ; then # # if we use a title, then fade back in to title_background? # fileecho "fadein:1" # fileecho "$title_background":3 #fi myecho "#########################################" cleanup myecho "[dir2slideshow] Output file is $outfile" myecho dvd-slideshow-0.8.4-2/dvd-menu0000775000175000017500000024661611623642171015201 0ustar scottscott#!/bin/bash # dvd-menu # Copyright 2003-2008 Scott Dylewski # # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation; either version 2 of the License, or # (at your option) any later version. # # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # # You should have received a copy of the GNU General Public License # along with this program; if not, write to the Free Software # Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA # name='dvd-menu' version='0.8.4-1' echo "[dvd-menu] dvd-menu $version" echo "[dvd-menu] Licensed under the GNU GPL" echo "[dvd-menu] Copyright 2003-2011 by Scott Dylewski" echo "[dvd-menu] " ## TODO: # read in variables from ~/.dvd-menurc and local .dvd-menurc # relative paths in xine output suggestion ## Known bugs: ## set up bash variables LANG="POSIX" changes () { echo 'Changes: 0.8.4 Fix sox arguments to work with both old and new versions of sox. Added "unset CDPATH to full_path function. (Thanks Bob!) Add explicit PAL or NTSC in .xml files for dvdauthor 0.7.0 Add totem and VLC playback examples 0.8.2 Change imagemagick calls with -type TrueColor to -type TrueColorMatte for latest version Sox v. > 13 changes -w to -2 and -e to -n (thanks Ludovic) Font path follows links. Thanks Jim Potter! AC3 audio created with ffmpeg needs k added to bitrate Changed -depth 16 to -depth 8 in background gradient creation. Fix embedded image help text. Default layout will switch to two columns of buttons (no embedded image) if the button list is long. Change LANG=C to LANG=POSIX to try to fix radix problems with printf Add menu fix so "dvd menu" button works on dvd players (thanks will guaraldi) 0.8.0 pre9: Added 6image layout option. It can also read the title and icon from the .xml file output from dvd-slideshow. more testing is needed. Added many more variables to control the layout of the menu also. pre8: Added -vcd and -svcd modes. Works! tested -vcd a little. Audio automatically fades in/out for 2 seconds Reads variables correctly from ~/.dvd-slideshow/dvd-slideshowrc Updated variables. See dvd-slideshowrc example file Better control of fonts and variables. Deletes temp directory when finished. -nocleanup works Reads -theme files Added -fadein and -fadeout for menus. Remove seq calls for compatibility with FreeBSD (Thanks David Mulcahy) Remove wc --chars calls for compatibility with FreeBSD 0.2 Initial release' } help () { echo "dvd-menu is part of dvd-slideshow $version" echo "`basename $0`" echo "http://freshmeat.net/dvdslideshow/" echo 'Copyright 2003 Scott Dylewski Usage: dvd-menu -t ... -t -f ... -f [-o output_directory] [-n "menu title"] [-e ] [-L] [-b ] [ -a ] [-p] [-c] [-D] [-W] [-mp2] [-iso] [-w] [-theme ] [-nomenu] Description: Creates a simple vmgm menu with buttons that link to the mpeg files in the specified dvdauthor-compatible xml files. Options: -t -t ... -t Name of each title. Each string will be used for the button menu corresponding to each xmlfile. This sets the order of the menu buttons! -f ... Name of each titleset xml file. You can use dvd_slideshow to generate one for each slideshow or you can create your own for a simple mpeg2 file. [-o ] Directory where the output dvd file system resides [-n "dvd_title"] This string will be placed on the top of the menu page. [-b ] Image to put in the background of the menu. [-e ] Embed a jpeg image in the middle of the screen. The image shows up as a thumnail to the left of the menu buttons. Only one image is allowed. [-a ] Audio file to use in the background of the menu. The full audio file will keep looping. Supports mp3, ogg, or wav. [-mp2] Use MP2 audio by default. AC3 seems to be more stable in hardware players, but requires ffmpeg. [-p] Use PAL format instead of NTSC (untested initial support) [-c] Use continuous method. Each video plays one after another. [-W] Do not generate 50% white background behind menu text. [-w] Use widescreen mode (16:9) instead of default 4:3 aspect ratio. [-L] Use low quality mode for compatibility with the same option in dvd-slideshow. This renders half-resolution menus. [-D] Do not call dvdauthor at the end. Useful when you want to edit your own xml file and pass it to dvdauthor by hand. [-theme themename] Use the given theme when setting variables/colors/etc. Themes are installed in /opt/dvd-slideshow/themes or in a local directory ~/.dvd-slideshow/themes [-vcd]|[-svcd] [ALPHA!] Create vcd .cue and .bin files (requires vcdimager) [-iso] Create iso image with mkisofs when finished. [-nomenu] Do not create a menu. Useful for just finishing the dvdauthor xml file from one video that you want to just start playing when the user puts it into a dvd player. [-nocleanup] Save files in temp directory for debugging. -h or -help Prints this help. -v or -version Prints this help. Requires: dvdauthor 0.6.11 sox >= 14.0.0 mjpegtools (mp2enc, mpeg2enc, ppmtoy4m) ImageMagick (convert) ffmpeg Variables: dvd-menu will read the following variables out of your ~/.dvd-slideshow/dvd-slideshowrc file. The default values are shown menu_bg_color='steelblue' # imagemagick colors or a hex #rrggbb value. menu_title_font_size=40 menu_title_white_height=125 menu_title_location_x=80 menu_title_location_y=50 menu_panel_height=28 # height of each button. Default is slightly bigger than font size menu_panel_width=400 # goes all the way to the right of the screen menu_panel_location_x=420 menu_panel_location_y=175 # distance of the top of the first menu item to the top of the screen menu_button_font_size=21 menu_title_justify=left mpeg_encodr='ffmpeg' # or mpeg2enc ' } if [ $# -lt 1 ]; then help exit 1 fi # [-button