______________________________________________________________________________ ** Hplex 0.1.2 test ** ______________________________________________________________________________ Hplex aims to build hybrid DVDs with high-definition audio in both audio zone and video zone. ==Features=================================================================== ENVIRONMENT -- default settings can be entered by user interactively. Erasing defaults.txt triggers automatic launch of config.bat config.bat creates both new files defaults.txt and Lplex.ini Settings entered at this stage can be overridden by using "wrap-up" switches (see below -L: and -B:) on command line. Processing applications (DVD-A author, Lplex and SSRC, mainly) can be left where they are located initially in the computer's filesystem. Their absolute paths can be entered on configuring Hplex. They are kept in file Hplex.ini, which cannot be overridden on command line. -- automated installation for French and English Windows systems (only tested on French Windows XP and Windows 2000 pro). Quick install procedure. -- drag-and drop support: configuration parameters can be selected by dropping folders onto command line window. See below "Frills". Audio folders can be dropped to icon Hplex launcher, which triggers the appropriate mode of hybrid-building. -- automatic detection of burner (added string "DVDW" to burn_hybrid.bat) -- audio group/titleset management -- Light GUI based on right-click context handlers. GROUP MANAGEMENT Audio groups/Video titlesets are represented by g1, g2, ..., g9 in the input folders of Hplex. CONVERSION Input audio can be automatically converted using either switch -c yes or automated defaults settings. The following formats are supported: .flac .8svx .aiff .alsa .au .avr .cdr .cvs .dat .gsm .hcom .maud .mp3 .ogg .sf .sph .smp .snd .sndt .txw .vms .voc .vox .wav .wve .raw .ub .sb .uw .sw .ul .al .lu .la .sl CDs can be automatically ripped by using switch -cd: followed by the name of the CD reader (given in windows explorer). Hplex uses flac, SoX and cdda2wav to perform conversion. SoX options can be introduced using -sox: options SoX options can be introduced using -flac: options cdda2wav are currently hard-code fixed as -no-infofile -alltracks PROCESSING FUNCTIONS AND SWITCHES -- default launch procedure, used when input folderpaths are not entered explicitly. Icon Hplex launches this default procedure. -- hybrid-building and resampling modes: * Hplex sorts audio files according to four alternative strategies: > Efficiency rule dvd-video compliant files are not resampled. They are burned to VIDEO_TS with Lplex directly. non dvd-video compliant files are burned to AUDIO_TS, after resampling if necessary. > Preference rule dvd-video compliant files are not resampled. They are burned to VIDEO_TS with Lplex directly. All files are burned to AUDIO_TS, after resampling if necessary. > Mirror strategy audio files are burned to AUDIO_TS. Copies are burned to VIDEO_TS; resampling is automatically triggered for files that are not dvd-video compliant (and, more occasionally, not dvd-audio compliant) > Last resort Files from -a (resp. -v) folder are burned to AUDIO_TS (resp. VIDEO_TS) and resampling is triggered only when necessary. * When -e is typed on command line, Efficiency rule applies. When -i is typed, Preference rule applies. When -m is typed instead, Mirror strategy applies. * there is a hierarchy of strategies. If no -eimav switch is entered on command line, then the following rule applies: (1) INPUT HIERARCHY efficiency rule > mirror strategy > last resort Hplex checks first the -e default folder, then goes on to check the -m one, and if these checks fail, then checks -a and -v, which must both be filled. An error message is issued if all folders are empty, or if one of -a/-v is empty when all others are empty too. * switches -a and -v are tested to be in complementary distribution with switches -e, -i and -m on command line, among others. They trigger Last Resort strategy, which comes in when the user wants to specify the list of files to be burned to each of the two zones. In this case, resampling is triggered when files are not compliant with each zone's audio requirements. -- Resampling subroutine: Resampling modes are the following: * automatic Hplex computes the best sampling or bit rate, based on analysis of the input audio. * This default behaviour can be overridden by feature same, which guarantees the rates remain unaltered in output of resample.bat Option same should be used with extra care. If applied to input which is not DVD-Video compliant, it will block resampling to video zone. As a consequence Lplex will filter out the offending audio track, which will not be there in video zone. This filtering-out stage should have no impact on the processing of other files, however. * If neither automatic nor same are typed as arguments of -ba/-bv/-sa/-sv, then numerical values typed on command line are used. Accepted values are: -sa 44, 88, 176, 48, 96, 192 which stand for (respectively): 44.1, 88.2, 176.4, 48, 96, 192 kHz -ba 16, 20, 24 (bits per sample) For the time being, 20 is not supported (until Lplex does). -sv 48, 96 -bv 16, 20, 24 (same conventions) * DVD-Video and DVD-Audio compliance is tested for all files see Limitations -- automatic test of audio characteristics for dvd-v compliance and dvd-a compliance -- recovery switch -x -x E: extracts DVD-hybrid audio in E: to folders specified by switches -ra (for audio zone) and -rv (for video zone), or defaults values. -x E: -ra no blocks extraction of audio zone and only extracts video zone -x E: -rv no blocks extraction of video zone and only extracts audio zone WRAP-UP SWITCHES AND ZONE-PROCESSING SWITCHES -- new direct launching of Lplex (switch -L) and DVD-A author (switch -D) from Hplex. Others could be added easily. -- Introduction of the class of -aDiLmvx switch combinations (Linux-style), which will be called "zone-processing" switches. These should not be more than just one (with -a/-v considered as one feature; unicity is tested): -D launches DVD-A author -L launches Lplex only (no other processing). Syntax: 1) Via Lplex syntax (priority) Hplex -L --options "folders or files" ts "folders or files" ...ts... 2) Via Hplex folder system (default, if no files or folders listed as above) Hplex -L --options An automatic default rule applies Lplex to Hplex audio input folders: all non-empty default input folders are submitted as arguments to Lplex -x is the recovery feature. -L can also be used with VIDEO_TS folders for recovery. -m is the mirror switch. Used to specify mirror audio folder. -a, -v, -i come in complementary distribution (see above) -- introduction of the class of "wrap-up" switches denoted -char: (with colon) (current list is -D: -L: -M: -S: ) Followed by double hyphen ==preceded by a blank== (e.g. -L: --pause=false) Using a wrap-up switch makes it possible to pass whole strings of options to processing applications. All options of processing applications can be mentioned, except for the folder options directly managed by Hplex. Here is the new list of wrap-ups: -B: cdrecord switches, activated if cdrecord is selected as burning application. Do not use hyphens when none is used in cdrecord readme: e.g. -B: blank=all otherwise use double hyphens (not single hyphens) e.g. -B: --eject -D: switch is used in the same way as -L: to pass DVD-A author options to make_hybrid subprocesses. Only useful switch to date is -D: --pp XX (see DVD-A author readme) -L: Lplex wrap-up switch Indicates how Hplex uses Lplex options to build video zone. Option --infoFiles=false is forced in the code so should ==not== be used or contravened. Folders should ==not== be passed to Lplex using this wrap-up. Use -tv for Lplex resampled input and -imv switches for non-resampled input. Otherwise use -L options folders as indicated above for direct Lplex launching. e.g. -L: --pause true --verbose -M: mkisofs switches, e.g. -M: --quiet -S: resampling application Shibatch (ssrc-1.30) options e.g. -S: --twopass SOME FRILLS -- Hplex shortcut with icon. Launches Hplex by clicking on desktop. Target= C:\Program Files\Hplex\Hplex.bat This target is the default automated install path. It can be changed by selecting the icon's properties. The icon triggers default processing: Hplex converts input according to default settings and in accordance with input hierarchy (1). Bitmap image to be placed in %userprofile%\my documents\my images\Hplex.ico -- Hplex launcher shortcut to open a cmd window titled C:\Program Files\Hplex\bat Target= C:\Program Files\Hplex\Hplex_launch.bat Facilitates command-line access: opens a cmd window to installed Hplex folder The same icon alternatively serves for drag-and-drop: -- drag-and-drop: Drag audio folder to Hplex launcher icon. The folder must not be empty. By default, Preference rule is enforced [see above (1) ]. This default behaviour is overridden in the following cases: Name of folder Behaviour mirror Mirror strategy AV Last resort DVDA Switch -D for building DVD-Audio discs DVDV Switch -L for buiding DVD-Video audio discs DVDH General switch for hybrid building, see note on Light GUI -- console output is copied and logged to Hplex\data\log.txt (except for the very beginning). -- distributed as self-extracting, self-launching standalone binary. Cabinet technology is used for compressing and extracting folder Hplex. ==Limitations==================================================================== -- To date, numerical values of -bv and -sv switches must be both entered on command line (same with -ba, -sa) See Lplex readme, "Arcane" and "Limitations", some reservations in SSRC readme and the webpage of the DVD-Audio project (http://dvd-audio.sourceforge.net) -- Lplex has a dvdDriveTo option that currently is not supported on command line. Values entered manually in Lplex.ini cannot be overridden by wrap-up switch -L: ==Arcane========================================================================= -- Combination of features -L switch and corresponding options should be straigtforwardly combined without using wrap-up switch -L: For instance command line: >Hplex -L --options launches just Lplex with --options Hence it is not necessary to write: >Hplex -L --options -L: --options which is redundant (yet accepted by the interpreter). Caution: default -L options may be contradictory to wrap-up options. In case of non-null default L options, the user should enter -L:--options that are not contradictory with default -L options. Direct launching of all processing apps remains possible as %path% is extended accordingly. In this case, use: Lplex options folders dvda-author options folders with own syntax. Examples: >Hplex -L --pause=true launches Lplex with exit pause and Hplex default folders as audio input (if filled). Default pauseless behaviour of Lplex is deactivated. >Hplex -L --pause=true "%userprofile%\desktop\mirror" launches the same process with input from a "mirror" folder on desktop. At Lplex stage, default pauseless behaviour of Lplex is deactivated. Quotes necessary (Lplex syntax) >Hplex -L: --pause=true launches mirror building (resampling for video zone, Lplex, DVD-A author, iso creation, burning with input) with exit pause. Default pauseless behaviour of Lplex is deactivated. >Hplex -L: --pause=true -m %userprofile%\desktop\mirror launches mirror building from a "mirror" folder on desktop. At Lplex stage, default pauseless behaviour of Lplex is deactivated. Quotes unnecessary (Hplex syntax) >Hplex -m %userprofile%\desktop\mirror launches full hybrid building and activates the default pauseless behaviour of Lplex. -- For the only option of DVD-A author, the combination syntax is Hplex [-D: --pp XXX] -D [folder] if folder is empty, defaults Hplex folders are used (if filled). if folder is not empty, DVD-A author just processes files in this folder. -- Note on cdrecord: with some DVD +RW discs, though not all of them, option -B: blank=fast/all,etc.triggers an inappropriate error message; cdrecord crashes, and does not burn the iso. This is due to the fact that some DVD +RW discs should not be blanked before burning, even if already burned. cdrecord readme does not mention the issue. (ImgBurn does). Removing (useless) option "blank=..." solves this cdrecord issue. _____________________________________________________________________________ ** Identified bugs ** _____________________________________________________________________________ - SSRC has a bug not mentioned in its readme: headers of wav files resampled when conversion takes place from 16/48 to 24/44 are not compliant with wav specs, and cause DVD-Author to crash (fixable with Hex editor or other apps). This scenario is unlikely to occur, however. - A severe and hard-to-guess bug may arise with ambiguous paths to .bat files I was confronted with one case of launch.bat being in competition with a launch file in oracle filepaths (Windows 2000) and this caused a crash in analyse.bat The bug is left without cure as it should naturally disappear with compiling of batch files. Renaming other applications' offending files is a straightforward though temporary way out. - First reaction to bugs should be to check Hplex.ini and defaults.txt to erase offending end-of-line blanks. - Hard code is abundantly commented with debugging remarks. Search code for [DEBUG] tags. - Following characters should not be entered as paths to default folders in the installation procedures, or as paths to audio input folders: ( ) - $ _____________________________________________________________________________ ** Changelog from v_0.1.1_test ** _____________________________________________________________________________ - corrected bugs - added group/titleset management - added Light GUI for Windows - extended the range of automated treatment of named folders by drag-and-drop, introducing DVDA, DVDV, DVDH _____________________________________________________________________________ ** Changelog from v.0.1_trial ** _____________________________________________________________________________ ==Fixed bugs============================================================== Among numerous others: -- input/output folder paths containing blanks and double quotes are now OK. -- switch -m redefined and now working. -- bare "Hplex" command line now works. -- pauseless version of recover.bat implemented (-x switch) -- corrected a config bug in resample.bat: the %5 output folder was not tested as existing. -- self-extracting, self-launching standalone combining cabinet and iexpress technology. ==Simplifications========================================================= -- Lplex setup subroutine was eliminated as redundant and replaced by a few lines in config.bat -- compressed matrix size: defaults values are now set in defaults.txt. -- new part III launcher, devised for more generality and flexibility. Launching sequences are easier to access and modify. -- XTRA files not generated thanks to --infoFiles false in make-hybrid.bat. House cleaning of XTRA now unnecessary and removed. ==Other newly added features ============================================== -- added switch -e and Efficiency rule -- pauseless option -- version option -- verbose was extended, primarily for debugging -- quiet option redirects Hplex output info to data\log.txt and silences much of the processing (except for other applications' own output) ________________________________________________________________________________ ** Project features ** ________________________________________________________________________________ TO DO: - better documentation on matrix technique - refine errorlevel specifications for enhanced exception messages - getting rid of A1,A2, ..., A24 variables. These were useful in prior versions yet now appear as dummies. It could be considered to eliminate them using the switches' labels as variables, thereby reducing matrix to switch labels, process labels plus digit columns. - add ImgBurn as an alternative to cdrecord - add other resamplers - add flac support Work in process: - currently analysing Video linking systems to better navigate between Audio and Video zone. ACKNOWLEDGMENTS Thanks to Bahman Negahban for advice and help. References to processing apps and webpages.