- Change - MKVBatch would only process files with LOWER CASE extensions. Any other mixture of case would be ignored. This has now been fixed. (DOH! facepalm. I can't beleive I missed that! Good catch 'xxAno...xx'.)
- Change - The process log will now only display 5000 lines of text. Any more lines simply takes too long to read in.
- Fix - Handling attachments from subfolders was not handled correctly. Attachments are now handled correctly.
- Fix - Sometimes a video's (video/audio/subtitle) language would return as "???", which is not recognized as a valid language and would cause MKVBatch to fail with a log message of "'???' is neither a valid ISO639-2 nor a valid ISO639-1 code". If MKVBatch sees a language as "???", the language id forced to "und" ("undefined").
- Fix - Some MP4 files were faulting out due to improper information parsing. This has been fixed (hopefully).
- Fix - When adding subtitles, sometimes the subtitle track name would miss the necessary separator. This has been corrected.
- Fix - Some logic flaws were corrected.
- Change - The title line will now show unicode filenames.
- Change - User Defined Functions - They are now saved in the INI file, but are not enabled when MKVBatch is run. You must explictly set the checkbox for "Use User Defined Functions" before they are active. NOTE: the single setting will apply to *all* processed video files.
- Addition - MKVBatch will now pass ".m2v" video files to mkvmerge.
- Addition - MKVBatch will now pass ".webm" video files to mkvmerge.
- Fail - Videos with unicode characters in their names are not handled properly yet.
- Fail - Videos which have video/audio/subtitle titles with embedded quotes are not handled properly. If these are encountered then MKVBatch simply bails without an error log (mkvmerge fails to properly recognize the information and just stops).
- Fix - Custom Audio and Subtitle Filters would not keep some settings in the '.ini' file. This has been corrected.
- Addition - Added "Strip Existing Audio Title" to audio options and "Strip Existing Subtitles Title" to Subtitles options. I needed this because Handbrake was setting the Audio title to "Stereo" when original titles were non-existant.
- Change - Re: "View Video File Info" control. Cleaned the control logic and display styles. Mkvmerge version 8.9.0 or later is required, otherwise an error is shown.
- Change - Video File Information - The line lengths in the "Video File Information" window were truncated. The lines are now shown in their entirety (although some useless information has been stripped).
- Change - Video File Information - Now you can drag and drop an accepted video file on to the lower window and it's information will be displayed. When a video file is dropped here, the window will be bordered in red, to indicate that the displayed information was manually dropped and not selected from the choices presented in the "Acceptable Video Files" window. When you make a selection in the "Acceptable Video Files" window, the red border around the lower window will be removed.
- Change - Video File Information - The "Video File Information" form can be resized from an enforced minimum width/height to the maximum screen width/height and anywhere in between.
- Fix - ffprobe.exe path handling was faulty, i.e. the set path was ignored and only the default path - the program install path - was recognized. This has been corrected.
- Fix - Some incorrect messages were being displayed to the user. These have been removed.
- Fix - In the Attachments window, Attachments Path was not being handled properly. This has been fixed.
- Fix - Some attachments were being reported as video tracks (jpeg and png images). This caused mkvmerge.exe to ignore processing the video file without revealing the reason. Attached images are now are properly considered as attachments.
- Fix - Occasionally MKVBatch would produce a faulty 'mkvmerge command' sequence. This would result in mkvmerge rejecting processing the current video file. This has been fixed.
- Change - Log Verbosity level 5 - The Process Log will now show the video stream content (i.e. video, audio, subtitle, attachments, chapters and tags and the number of each) for each video file processed. This can help in tracing the cause of processing failures.
- Change - Added a new control on the main window: "View Video File Info". Use this control to view the contents of your video files. Consult the Help file for more detailed explanations.
- Fix - Corrected a bug in options sticky handling.
- Change (and a possible fix?) - Some track extraction programs may extract a video track and name it with "_Track" and a number. When MKVBatch searches for audio/subtitle/chapters to add, it considers the whole video track name. This would cause it to ignore audio/subtitle/chapters which do not include the video track's "_Track" and number as a base file name. Now, if the video track file name ends with "_Track" and number, the "_Track" and number is removed from consideration.
- Change - jpg, jpeg and png image files can now be saved as attachments. (See the Help file.)
- Add - Added a method for attaching multiple different font and image files (in sub-folders) to individual video files. (See the Help file for deatails.)
- Change - Changed some tooltips for greater clarity.
- Fix - The ".ini" handling logic was broken, causing the program to ignore any entry for the ffprobe.exe path and mkvmerge.exe path. This has been fixed.
- Change - Removed the "Language Sort" buttons in the Custom Audio Filter window and Custom Subtitle Filter window. Added a "Language Search Key" box in each of those windows. Enter a language code or language name into the "Language Search Key" box and the first match in the Available language list will be highlighted. No match (or blank) will bring you back to the first language entry.
- Change - MKVBatch no longer scans the registry for the location of mkvmerge.exe. The path to mkvmerge.exe must be entered into the appropriate line of the "Set Executable Paths" form.
- Change - The Video Format Options and "Use Video Format Options" checkbox settings are saved in the INI file, and restored when MKVBatch is run again.
- Change - The Video Frame Rate and "Set Video Frame Rate" checkbox settings are saved in the INI file, and restored when MKVBatch is run again.
- Fix - I used an integer, when I should have used a long. When a video file had a frame rate <= 30fps, there was no problem. If the frame rate was >30 (i.e. 59.950fps) I generated a value to large for an integer to hold (all my test files were <30fps so the problem never appeared). My bad.
- Change - (possible fix as well) MKVBatch would not handle some video files. The primary cause of this was that some video file types did not have a track index, or a track I.D. Also, some video files had a mixed stream order (i.e. subtitle was the first stream, audio the second, video the third, another audio the fourth ...) which meant proper track handling was problematic. The *one* thing MediaInfo did not reveal was the original file's stream order. I had to switch to a different program to find the stream order. MKVBatch has been rewritten to use "ffprobe", a tool in the ffmpeg group of tools. ffprobe is *not* supplied with MKVBatch, you will have to download it separately. Consult the help file for details on setting MKVBatch to use ffprobe.
- Fix - In the Options form, when applying options to a single options file, the file list would refresh but the options boxes would be all cleared. This no longer happens.
- Fix - In the Options form when selecting a single file to create options for, a blank options file could be created. This no longer happens.
- Fix - When halting a batch process, sometimes MKVBatch would simply close all its windows (particularly under Windows 10). This has been fixed (hopefully for the final time).
- Fix - Proper form sizing and control sizing was lost due to recovering MKVBatch from a previously archived version. Sizing should now be correct for all windows and controls (previously some controls could not be read because of text wrapping).
- Fix - Rewriting some routines in the previous version of MKVBatch broke proper track ordering. This has been fixed.
- Change - Process logging has been cleaned up some more.
- Change - Resizing handles have been placed on the Process Log window and the Options Files windows. Minimum sizes are enforced for these windows.
- Fix - The "Set Video Frame Rate" function was difficult to set. It functions properly now.
- Change - MKVBatch no longer uses a "Template.txt" file or "VideoInfo.nfo" file or an mkvmerge "Options" file. The functions these three files provided are now contained internally.
- Change - Process logging has been cleaned up. The record should be easier to follow now. A sixth verbosity level (Log Verbosity Level 5) has been added; Level 5 shows *all* the reports generated by each invocation of mkvmerge. Also, Level 0 now shows only the minimum information for each processed video file. All other verbosity levels operate as before.
- Fix - I rewrote the routines that create the commands for mkvmerge.exe and broke how existing video tracks, audio tracks and subtitle tracks were described in the commands. This has been fixed.
- Fix - Sometimes, when attaching a font which has an extension in upper case, the font would actually be ignored. This has been fixed.
- Fix - Processing a bare video track would cause MKVBatch to crash. This has been fixed.
- Fix - Corrected program flaw where sometimes all audio tracks were set to default=no.
- Fix - I have expanded the 'Other Options' frame and now the 'Set File Title' and 'Set Video Title' checkbox labels are dynamically sized within the frame's limits. Hopefully this corrects any deficiencies.
- Fix - The controls on the 'Audio' frame, the 'Subtitles' frame and the 'Chapters' frame are now set dynamically (within limits). They should now show properly in any resolution.
- Fix - The controls on the Audio form and the Subtitle Options form are now set dynamically (within limits). They should now show properly in any resolution.
- Change - (Fix?) The Video Frame Rate is no longer always set by MediaInfo data. Instead, a new setting and checkbox [Set Video Frame Rate] has been inserted into "Other Options". Apparently, I had interpreted this command incorrectly; I thought this value was required so that mkvmerge would know what the given file's frame rate was. Instead it forced the frame rate to the given value. This caused a delay in the audio track(s) synchronisation in my merged files (This was a recent occurance, traced back for just a couple of months. Since I had upgraded my codecs a couple of months ago I suspect the new codecs [and maybe their settings as well] contributed to this problem). From the MKVToolNix-8.9.0 docs: "--default-duration TID:x - Forces the default duration of a given track to the specified value. Also modifies the track's timecodes to match the default duration." Consequently I have decided to remove this default automatic setting from the program. The user may set a frame rate or set MKVBatch to use MediaInfo's calculated frame rate. Read the HELP file for important information about this control and settings.
- Change - Updated and corrected the ToolTips. The proper tip should now be displayed for each control.
- Change - Removed the 'Files Found' and 'Files to do' readouts from the top of the main window. The number of found video files is now shown in the title of the "Video Files Path" box. Also, the number of processed files is shown in the title of the "Target Path" box.
- Change - An 'Audio Delay Adjustment' control has been added in the audio controls. Right clicking the mouse on this control will bring up a popup menu. Clicking this menu will bring up a new form where a positive or negative audio delay can be set. The allowed range is -99999 to 99999, which amounts to a little more than +- 1.5 minutes. The Help file has detailed description and use.
- Change - MKVBatch now uses mkvmerge's options files. This produces a smaller and simpler file than the previous used batch files.
- Change - Only one audio track may be processed as the default track. If an audio track is being added and the accompanying audio options file has set the default as 'yes', then the added audio file will be processed immediately after the video track(s), and all remaining audio tracks will be processed next. The first added audio file(track) found with the default set to 'yes', will become the default, regardless of the default setting of any subsequent added audio file(track).
- Fix - Previously, adding a "*.dts" audio file would simply not work. ".dts" audio files are added properly now.
- Fix - If any Video Format Options had been selected/entered, then they would be applied regardless of the checkbox state. Now the checkbox must be checked on for any settings to be applied. Any Video Format Options that are set are only affective for the current session of MKVBatch; they are not saved in the initialization file. When MKVBatch is started again, any desired Video Format Options must be re-entered.
- Fix - If any User Defined Options had been entered, then they would be applied regardless of the checkbox state. Now the checkbox must be checked on for any settings to be applied. Any User Defined Options that are set are only affective for the current session of MKVBatch; they are not saved in the initialization file. When MKVBatch is started again, any desired User Defined Options must be re-entered.
- Fix - When the "Video Format Options" window was initially opened, the Aspect Ratio drop down selection box was not enabled. This is now enabled by default.
- Fix - The "About" screen was sometimes hidden behind the MKVBatch program window. Also it showed an incorrect title. These have been corrected.
- Change - "Set File Title" checkbox added to "Other Options". It has options settings, "If Empty" and "Always". When checked on; if "If Empty" is selected and the file has an empty title tag, the file name will be placed into the file title tag; if "Always" is selected then the file name will always be placed into the file title tag, regardless of any previous file title.
- Change - "Set Video Title" checkbox added to "Other Options". It has options settings, "If Empty" and "Always". When checked on; if "If Empty" is selected and the video track has no title, the file name will be placed into the video track title; if "Always" is selected then the file name will always be placed into the video track title, regardless of any previous video track title.
- Change - Previously, when "Strip Existing Subtitles" was checked, only "Apply custom Subtitle Filter" and "Filter out NON-English Subtitles" were disabled. Now "Set All Subtitles defaults to 'no'" and "Set All Subtitles forces to 'no'" are also disabled.
- Change - Tidy'd the process log file.
- Change - Added verbosity levels to the process log. SEE the updated Help for details. (It should be easy to figure out how to set it).
*** NOTE ***
- Fix - Now only a single instance is allowed.
- Fix - MKVBatch would crash if a frame rate was not derived from the original video. (Possibly due to a variable frame rate [VFR] in the original encode.) Without a proper frame rate, any raw chapter info that uses frames can end up slightly out of position in the new merge. Chapter info using the "HH:MM:SS.hh(h)" [Hour:Minute:Second.milliseconds] format will still merge correctly positioned. NOTE: Without a proper frame rate specified, mkvmerge will internally process the number of frames and the duration and derive a useful frame rate. The Process Log File will log this occurance.
- Fix - If the "Template.txt" file is manually edited and saved, some text editors may alter the "Template.txt" file, which MediaInfo uses, into an unsupported format. (MediaInfo expects an ANSI text format. Unicode is unrecognised and UTF may or may not have a unicode signature.) MKVBatch does some simple checking and if the "Template.txt" file is not correct it will be rewritten. The Process Log File will log this occurance.
- Recognised problem processing filenames with unicode characters. No simple fix has been created for this problem at this time. The workaround is for the operator to manually change all filenames to acceptable characters for the current code page used. Further work is being contemplated to correct this deficiency.
- Corrected - Certain created ".bat" and ".nfo" files are deleted and the names re-used. Occasionally an error 70 or 75 occurred, where trying to open a file with the same name as a just-deleted file, failed due to a file permissions fault. This was caused by Windows. When the command to delete a file was given, the file was not deleted as quickly as usual; it was locked from opening and it could be several minutes before the filename was actually removed. I suspect the problem could have been caused by memory leaks in VB functions. I toyed with the idea of waiting for the file to be deleted, but the delay time was not constant, and a delay of an extra several minutes per processed video file was unacceptable. Instead I set a range of numbered files which will be used. Each pass through the batch of video files will use filenames with a different number suffix. Now multiple files will be created, and when they are deleted they can take their time to vanish without causing conflicts. And also, a simple reboot clears all problems. (This problem occurred after several dozen crashes of VB while I was editing and testing. I consider these cases to be exceptions to ordinary use. It is well known that hooking and sub-classing in VB can cause great problems when the the program breaks in the IDE.)
- Fixed - Added audio was ignored/caused a fault if the "Default" setting in an Options File was other than "yes" or "no".
- Corrected - The 'Forced' option in the Options File(s) is no longer allowed a blank entry. A "yes" or "no" setting is enforced.
- Changed - "Create and Edit Audio Options Files" window and "Create and Edit Subtitle Options Files" window are now resizable to show a larger options files list. (Note: Only the options files list enlarges, the other controls on the window retain their sizes and relative positions.)
- Added - "Create and Edit Audio Options Files" window and "Create and Edit Subtitle Options Files" window sizes are saved in the ".ini" file.
- Fixed - Problem with the main window not showing if MKVBatch was closed while minimized.
- Added - Key combination of <CONTROL><NumLock> forces the main window to center of the screen.
- Fixed - Problem with bad batch command formatting (in VideoInfo.bat) that caused the VideoInfo.nfo file to be blank.
- Fixed - Audio options utility refused to process when a single file was selected.
- Fixed - Audio and Subtitle language options were incorrectly applied to the mkvmerge batch file.
- Fixed - If MKVBatch main window is set to topmost, child forms are no longer hidden behind it.
- Added - "Set All Subtitles forces to 'no'" option on the main window.
- Change - MKVBatch main window topmost setting removed from ".ini" file. Topmost setting must now be commanded each time MKVBatch is run.
- Change - MediaInfo CLI included in the install. See help file for copyright details.
- Change - Automatically sets MediaInfo CLI path. No more searching (unless you want to).
- Change - Automatically sets mkvmerge.exe path from the registry settings. No more searching (unless you want to).
- New - Extensive custom language filters for embedded audio tracks.
- New - Set custom audio language filters, accessable through the settings menu or a right click popup menu.
- New - Comprehensive utility for creating and editing audio options files, accessable through the settings menu or a right click popup menu.
- Can operate on a single options file, or all found options files, at once.
- Ability to save multi-line comments if desired.
- New - Extensive custom language filters for embedded subtitle tracks.
- New - Set custom subtitle language filters, accessable through the settings menu or a right click popup menu.
- New - Comprehensive utility for creating and editing subtitle options files, accessable through the settings menu or a right click popup menu.
- Can operate on a single options file, or all found options files, at once.
- Ability to save multi-line comments if desired.
- New - User settable video format options, accessable through the settings menu or a right click popup menu.
- New - Set user defined options, accessable through the settings menu or a right click popup menu.
- New - Add common attachments folder (only fonts supported), accessable through the settings menu or a right click popup menu.
- New - Browse for folder popup menues for all settable paths (as well as drag'n'drop).
- Use MediaInfo Command Line Interface version. Set through the MKVBatch menu.
- Use MKVToolnix. Location set through the MKVBatch menu.
- List the number of video files found and the number left to process.
- Choice to keep this program window topmost if desired (located in the menu, under "File".)
- Strip audio out of the video file.
- Filter non-English audio out of the video file.
- Add audio files to the video file.
- Select to use "options" files for added audio files.
- Select and set the audio files path, if different from the video files path.
- Strip out existing subtitles from the video file.
- Filter non-English subtitles out of the video file.
- Add subtitles files to the video file.
- Force all subtitle default settings to "no".
- Select to use "options" files for added subtitles files.
- Select and set the subtitles files path, if different from the video files path.
- Strip out existing chapters from the video file.
- Merge chapters into the video file (replacing the existing chapters).
- Accepts chapter format in mkvmerge's XML style.
- Convert chapter format from text to XML for mkvmerge (selectable source type; HH:MM:SS.hh [milliseconds] or HH:MM:SS.ff [frame])
- Select and set the chapters files path, if different from the video files path.
- Set the original Video file(s) path (drag and drop system).
- Set the original Audio file(s) path (drag and drop system) if different from the video file(s) path.
- Set the original Subtitle file(s) path (drag and drop system) if different from the video file(s) path.
- Set the original Chapters file(s) path (drag and drop system) if different from the video file(s) path.
- Set the original Target file path (drag and drop system) [MUST be different than the video file(s) path].
- Set to keep all original tags, or remove them.
- Set to keep all original attachements, or remove them.
- Set to fix bitstream timing information, or ignore it.
- The target path bar does dual duty as the progress bar. The progress bar (with percentage readout) indicates the progress through ALL the video files being processed.
- The running program can be halted with the "Halt" button. If halted, the target path bar / progress bar will show "Interrupted".
- Title Line shows the title of the current video file being processed.
- Saves a Log of all video files processed, including any faults generated. The log size is limited only by what Visual Basic 6 can handle (approx 32k).
- Tooltips available for all main screen controls (can be turned off).
- Extensive help file (CHM format) included in install.
- All settings remembered in an ".ini" file, in the install path.
- Installation path can be changed by the user.