Sir Didymus
11th September 2015, 08:51
Well, it is some time that contributions and updates on the matter were pending... Please accept my apologies for that... :o
The good news is that a new version of BatchMux has been released.... After some weeks of developments, the stress testing of the code is also ended... Apparently everything on the new or revised features seems working as expected; nevertheless the presence of some bugs newly introduced is very high, considering that more or less 20% of the code has been affected in the new release...
[edit 02/04/2016]
link to version 1.4.1
http://www27.zippyshare.com/v/aWv8EDJc/file.html
link to version 1.5.1
http://www27.zippyshare.com/v/7Bmc3T9e/file.html
link to version 1.6.1
http://www27.zippyshare.com/v/Ft0NRNKt/file.html
Changelog v1.6.1
// 07-02-2016 - Bugfix. Improper behaviours, under some circumstancies,
// of the GetFileAttributes() call, leading to wrongly
// assume that the destination folder is invalid
// 15-10-2015 - Added the capability of producing: one Title Menu, possibly
// multipage, with up to 99 pages in the VMG; one Chapter Menu,
// one Audio Menu, one Subs Menu, also possibly multipage, in the
// VTSM of the VTS of the DVD; up to 99 Titles, one for each VTS
// - Included in the default navigation (DVD without menus) the same
// controls of the audio and subs menus, based on the usage of
// the GPRM2 and GPRM3 registers, to set up audio and subs tracks
// - Added entry "titles" in the dvd section of the -mcm
// configuration file
// - Added entries "chaptermenupages", "audiomenupages",
// "subsmenupages" in the vtsmxx sections of the -mcm
// configuration file
// - Added entries "titlessseamlessplay", in the vmg section and
// "chaptersseamlessplay" in the vtsmxx sections of the -mcm
// configuration file
// - Added the following arguments to the C/L and .ini options:
// -[SEGi]hlmid[_j]; -[SEGi]hlmpage[_j]; -[SEGi]hlmtype[_j];
// -[SEGi]hlvtsnr[_j]; -[SEGi]hllnktcnr[_j]; -[SEGi]hlpabut[_j]
// - Removed entries "menutype", "titlebut" and "playallbut" from
// the -mcm configuration file: replaced and extended by the
// corresponding above -[SEGi]hl args
// - Removed the following arguments from the C/L and .ini options:
// -[SEGi]hlbutm{l}[_j]; replaced by -[SEGi]hlbutmode{l}[_j]
// -[SEGi]hloffsbutnr[_j]; replaced by -[SEGi]hloffsbut[_j]
// -[SEGi]hlfselbutnr[_j]; replaced by -[SEGi]hlfselbut[_j]
// -[SEGi]hlfactbutnr[_j]; replaced by -[SEGi]hlfactbut[_j]
// - Removed the -norun C/L and .ini option; replaced by -foregndrun
// TRUE|FALSE attributes, for consistency with the other options
// and to correct some odd behaviour of the former -norun option
// - Reworked the "-muxman" C/L and .ini option; it was not always
// pointing to the correct MuxMan.exe file
// - Reworked the "-l" C/L and .ini option; now disabled when MuxMan
// is launched in foreground mode
// - Changed the content settings for "-mcm" files. See the 1..8
// examples, in the test cases validation folders, for further
// details on the meaning and usage of each setting
// - Reworked management and parsing of the "-ini" files and C/L
// arguments; added warnings for unrecognised tokens
// - Improved parsing of "-mcm" files; added warnings for
// unrecognised tokens
// - Changed the content settings for "-ini" files. The updated
// summary is shown into the help screen. See also the 1..8
// examples, in the test cases validation folders, for further
// details on the meaning and usage of each .ini argument
// - "-hcn", configuration of hard coded navigation, replaced by
// "-mcm", menu and VM commands manager
// - "-arglist" (general settings file) replaced by "-ini"
// - Introduced the capability to collocate the segments in
// different domains (titles, VMG, VTSM) of the project. This is
// needed to implement ptt, audio and subs menus
// - Bugfix. Some mistakes fixed in the parsing of the VM commands
// (JumpSS handling was not ok)
// - Added timestamps in the output log to keep trace of the elapsed
// time during the BatchMux operations
// - Added some check among the .bmp assets used to build the jacket
// folder, before feeding them to MuxMan, to ensure they have
// image sizes, A/R and TV standard consistent each other
// - Added check for the 2-char language codes used in the audio and
// subs assets against the ISO 639-1 table entries (184 codes)
// - Totally revised and improved the consistency checks of the .ini
// options; added warnings in the output log in case of oddities
// - Bugfix. The control of some display modes for subpictures and
// menu highligth was implemented nok, causing in some case the
// misinterpretation and the skipping of title and menu assets
// - Bugfix (esternal). Fixed an issue in the menu asset library
// causing menu assets for the PS display mode to lead to wrong
// highlighting and menu freeezing on some players & 4:3 TVs
// - Bugfix (minor). Jacket format was handled properly but reported
// wrongly in the output log, always as "FULLSCREEN"
Summary table of the Test Cases (v 1.6 - examples of application):
# Test case 1 --> Skip the menu at the DVD insertion: play all titles
# --> until the end and then go to the title menu
# --> Function "Skip menu, play all titles"
#
# Test case 2 --> Start with Title x upon DVD insertion (3 in the test case)
# --> then play all titles until the end and go to the
# --> title menu
# --> Function "Skip menu, play all titles starting from X"
#
# Test case 2a --> Compilation without menu.
# --> Start with Title X upon DVD insertion (3 in the test case)
# --> then play all titles until the end and exit
# --> the access to titles 1 and 2 is still possible
# --> (only via remote control buttons)
# --> Function "Play all titles starting from X"
#
# Test case 3 --> Start with Title 1 (the first) upon DVD insertion
# --> then play all titles until the end, then restart
# --> from the beginning (infinite looping); the title
# --> menu is still left available by activating the
# --> related DVD player remote control button
# --> Function "Skip menu, play all titles, looping"
#
# Test case 3a --> Compilation without menu.
# --> Start with Title 1 (the first) upon DVD insertion
# --> then play all titles until the end, then restart
# --> from the beginning (infinite looping).
# --> Function "Play all titles, looping"
#
# Test case 4 --> Start with the usual title menu;
# --> set subtitle track #1 ON before the play of title #2
# --> set subtitle track #1 OFF after the play or upon
# --> interruption of title #2
# --> Function "Autoloading of subtitle X for title Y"
#
# Test case 4a --> Compilation without menu.
# --> Start as usual with Title 1 (the first) upon DVD
# --> insertion; set subpicture track #1 ON before
# --> the play of title #2; set subpicture track #1 OFF
# --> after the play or upon interruption of title #2
# --> Function "Autoloading of subtitle X for title Y"
#
# Test case 5 --> Start with the usual title menu;
# --> then, once a given title is
# --> selected, play it and continue with
# --> all the others, until the compilation
# --> has finished
# --> Function "Play all, starting from title X"
#
# Test case 6 --> Start with the usual menu, then, once a given title is
# --> selected in a given menu page (page 2 in this test case),
# --> play that title and continue with the other titles in the
# --> page. Once the last title in the menu page has finished,
# --> the playback restarts with the menu
# --> Function "Play all in the menu page X"
#
# Test case 6a --> Extension of the function "Play all in the menu page X"
# --> (Test Case 6) to all menu pages in the DVD compilation:
# --> start with the usual menu, then, once a given title is
# --> selected in whatever menu page, play that title and
# --> continue with the other titles in the page. Once the last
# --> title in the menu page has finished, the playback restarts
# --> with the menu
# --> Function "Play all titles in the leading menu page"
#
# Test case 7 --> Simple validation test case, including the creation
# --> of the Jacket Folder for the DVD, composed by
# --> 11 menu pages, leading to 99 titles.
# --> Function "11 menu pages, 99 titles, jacket folder"
#
# Test case 7a --> Bug fix validation test case, including the creation
# --> of the Jacket Folder for the DVD, composed by
# --> 99 titles (no menu, default structure & navigation).
# --> Function "99 titles, jacket folder"
#
# Test Case 8 --> validation test for release 1.6, mimiking OCEAN'S 13:
# --> 1 main title (34 cells, 34 programs, 34 chapters)
# --> 1 extra title (3 cells, 3 programs, 3 chapters)
# --> 1 title menu - 1 page, static, ws+lb+ps, with "Play Movie",
# --> "Scene Selection", "Special Features",
# --> "Languages" and "Subtitles" buttons
# --> 1 chapter menu - static, ws+lb+ps, with 34 chapter
# --> buttons, distributed in 4 menu pages
# --> 1 audio menu - static, ws+lb+ps
# --> 1 subs menu - static, ws+lb+ps
# --> 1 "special features" menu (a dedicated type of chapter menu)
# --> - static, ws+lb+ps
#
Link to test cases release 1.6 (single zip file, including DVDs for all test cases):
[edit 02/04/2016] - link removed (expired); examples, use cases, etc. will be provided on request.
The good news is that a new version of BatchMux has been released.... After some weeks of developments, the stress testing of the code is also ended... Apparently everything on the new or revised features seems working as expected; nevertheless the presence of some bugs newly introduced is very high, considering that more or less 20% of the code has been affected in the new release...
[edit 02/04/2016]
link to version 1.4.1
http://www27.zippyshare.com/v/aWv8EDJc/file.html
link to version 1.5.1
http://www27.zippyshare.com/v/7Bmc3T9e/file.html
link to version 1.6.1
http://www27.zippyshare.com/v/Ft0NRNKt/file.html
Changelog v1.6.1
// 07-02-2016 - Bugfix. Improper behaviours, under some circumstancies,
// of the GetFileAttributes() call, leading to wrongly
// assume that the destination folder is invalid
// 15-10-2015 - Added the capability of producing: one Title Menu, possibly
// multipage, with up to 99 pages in the VMG; one Chapter Menu,
// one Audio Menu, one Subs Menu, also possibly multipage, in the
// VTSM of the VTS of the DVD; up to 99 Titles, one for each VTS
// - Included in the default navigation (DVD without menus) the same
// controls of the audio and subs menus, based on the usage of
// the GPRM2 and GPRM3 registers, to set up audio and subs tracks
// - Added entry "titles" in the dvd section of the -mcm
// configuration file
// - Added entries "chaptermenupages", "audiomenupages",
// "subsmenupages" in the vtsmxx sections of the -mcm
// configuration file
// - Added entries "titlessseamlessplay", in the vmg section and
// "chaptersseamlessplay" in the vtsmxx sections of the -mcm
// configuration file
// - Added the following arguments to the C/L and .ini options:
// -[SEGi]hlmid[_j]; -[SEGi]hlmpage[_j]; -[SEGi]hlmtype[_j];
// -[SEGi]hlvtsnr[_j]; -[SEGi]hllnktcnr[_j]; -[SEGi]hlpabut[_j]
// - Removed entries "menutype", "titlebut" and "playallbut" from
// the -mcm configuration file: replaced and extended by the
// corresponding above -[SEGi]hl args
// - Removed the following arguments from the C/L and .ini options:
// -[SEGi]hlbutm{l}[_j]; replaced by -[SEGi]hlbutmode{l}[_j]
// -[SEGi]hloffsbutnr[_j]; replaced by -[SEGi]hloffsbut[_j]
// -[SEGi]hlfselbutnr[_j]; replaced by -[SEGi]hlfselbut[_j]
// -[SEGi]hlfactbutnr[_j]; replaced by -[SEGi]hlfactbut[_j]
// - Removed the -norun C/L and .ini option; replaced by -foregndrun
// TRUE|FALSE attributes, for consistency with the other options
// and to correct some odd behaviour of the former -norun option
// - Reworked the "-muxman" C/L and .ini option; it was not always
// pointing to the correct MuxMan.exe file
// - Reworked the "-l" C/L and .ini option; now disabled when MuxMan
// is launched in foreground mode
// - Changed the content settings for "-mcm" files. See the 1..8
// examples, in the test cases validation folders, for further
// details on the meaning and usage of each setting
// - Reworked management and parsing of the "-ini" files and C/L
// arguments; added warnings for unrecognised tokens
// - Improved parsing of "-mcm" files; added warnings for
// unrecognised tokens
// - Changed the content settings for "-ini" files. The updated
// summary is shown into the help screen. See also the 1..8
// examples, in the test cases validation folders, for further
// details on the meaning and usage of each .ini argument
// - "-hcn", configuration of hard coded navigation, replaced by
// "-mcm", menu and VM commands manager
// - "-arglist" (general settings file) replaced by "-ini"
// - Introduced the capability to collocate the segments in
// different domains (titles, VMG, VTSM) of the project. This is
// needed to implement ptt, audio and subs menus
// - Bugfix. Some mistakes fixed in the parsing of the VM commands
// (JumpSS handling was not ok)
// - Added timestamps in the output log to keep trace of the elapsed
// time during the BatchMux operations
// - Added some check among the .bmp assets used to build the jacket
// folder, before feeding them to MuxMan, to ensure they have
// image sizes, A/R and TV standard consistent each other
// - Added check for the 2-char language codes used in the audio and
// subs assets against the ISO 639-1 table entries (184 codes)
// - Totally revised and improved the consistency checks of the .ini
// options; added warnings in the output log in case of oddities
// - Bugfix. The control of some display modes for subpictures and
// menu highligth was implemented nok, causing in some case the
// misinterpretation and the skipping of title and menu assets
// - Bugfix (esternal). Fixed an issue in the menu asset library
// causing menu assets for the PS display mode to lead to wrong
// highlighting and menu freeezing on some players & 4:3 TVs
// - Bugfix (minor). Jacket format was handled properly but reported
// wrongly in the output log, always as "FULLSCREEN"
Summary table of the Test Cases (v 1.6 - examples of application):
# Test case 1 --> Skip the menu at the DVD insertion: play all titles
# --> until the end and then go to the title menu
# --> Function "Skip menu, play all titles"
#
# Test case 2 --> Start with Title x upon DVD insertion (3 in the test case)
# --> then play all titles until the end and go to the
# --> title menu
# --> Function "Skip menu, play all titles starting from X"
#
# Test case 2a --> Compilation without menu.
# --> Start with Title X upon DVD insertion (3 in the test case)
# --> then play all titles until the end and exit
# --> the access to titles 1 and 2 is still possible
# --> (only via remote control buttons)
# --> Function "Play all titles starting from X"
#
# Test case 3 --> Start with Title 1 (the first) upon DVD insertion
# --> then play all titles until the end, then restart
# --> from the beginning (infinite looping); the title
# --> menu is still left available by activating the
# --> related DVD player remote control button
# --> Function "Skip menu, play all titles, looping"
#
# Test case 3a --> Compilation without menu.
# --> Start with Title 1 (the first) upon DVD insertion
# --> then play all titles until the end, then restart
# --> from the beginning (infinite looping).
# --> Function "Play all titles, looping"
#
# Test case 4 --> Start with the usual title menu;
# --> set subtitle track #1 ON before the play of title #2
# --> set subtitle track #1 OFF after the play or upon
# --> interruption of title #2
# --> Function "Autoloading of subtitle X for title Y"
#
# Test case 4a --> Compilation without menu.
# --> Start as usual with Title 1 (the first) upon DVD
# --> insertion; set subpicture track #1 ON before
# --> the play of title #2; set subpicture track #1 OFF
# --> after the play or upon interruption of title #2
# --> Function "Autoloading of subtitle X for title Y"
#
# Test case 5 --> Start with the usual title menu;
# --> then, once a given title is
# --> selected, play it and continue with
# --> all the others, until the compilation
# --> has finished
# --> Function "Play all, starting from title X"
#
# Test case 6 --> Start with the usual menu, then, once a given title is
# --> selected in a given menu page (page 2 in this test case),
# --> play that title and continue with the other titles in the
# --> page. Once the last title in the menu page has finished,
# --> the playback restarts with the menu
# --> Function "Play all in the menu page X"
#
# Test case 6a --> Extension of the function "Play all in the menu page X"
# --> (Test Case 6) to all menu pages in the DVD compilation:
# --> start with the usual menu, then, once a given title is
# --> selected in whatever menu page, play that title and
# --> continue with the other titles in the page. Once the last
# --> title in the menu page has finished, the playback restarts
# --> with the menu
# --> Function "Play all titles in the leading menu page"
#
# Test case 7 --> Simple validation test case, including the creation
# --> of the Jacket Folder for the DVD, composed by
# --> 11 menu pages, leading to 99 titles.
# --> Function "11 menu pages, 99 titles, jacket folder"
#
# Test case 7a --> Bug fix validation test case, including the creation
# --> of the Jacket Folder for the DVD, composed by
# --> 99 titles (no menu, default structure & navigation).
# --> Function "99 titles, jacket folder"
#
# Test Case 8 --> validation test for release 1.6, mimiking OCEAN'S 13:
# --> 1 main title (34 cells, 34 programs, 34 chapters)
# --> 1 extra title (3 cells, 3 programs, 3 chapters)
# --> 1 title menu - 1 page, static, ws+lb+ps, with "Play Movie",
# --> "Scene Selection", "Special Features",
# --> "Languages" and "Subtitles" buttons
# --> 1 chapter menu - static, ws+lb+ps, with 34 chapter
# --> buttons, distributed in 4 menu pages
# --> 1 audio menu - static, ws+lb+ps
# --> 1 subs menu - static, ws+lb+ps
# --> 1 "special features" menu (a dedicated type of chapter menu)
# --> - static, ws+lb+ps
#
Link to test cases release 1.6 (single zip file, including DVDs for all test cases):
[edit 02/04/2016] - link removed (expired); examples, use cases, etc. will be provided on request.