DVD Swarm v184.108.40.2066
* Added cropping mode 'None'.
* Added processing override 'Pal To NTSC' for really foobar'd PAL videos.
* Fixed bug that caused PAL jobs to be loaded as NTSC.
* Updated demuxed filename templates.
* Fixed formatting of audio sample rate names.
* Consolidated code.
* Updated icon size.
* Removed the MOD 4 restriction of manual crop values. Removed the MOD 16 restriction on height
and width values. The Mod 16 warning dialog will still display, but will now accept any
* Adjusted x264 CRF values for improved crispness of details and more fluid action scenes. Increases
file size and encoding time by approximately ~15%.
* Added menu option to set the processing override for multiple jobs.
DVD Swarm v220.127.116.110
* Changed how DgindexBackgroundWorker waits for the indexing process to exit.
* Changed queue behaviour so that completed jobs keep that status and are skipped during any job runs.
* Added AudioStreamFormats to DVD Enumerations.
* Updated Dvd.Titleset class to manage individual vob part filenames and lengths.
* Updated Form1.ResetJobs method so that completed jobs are also reset.
* Updated Dvd.IfoReader class to ignore menu vobs when tracking vob file parts.
* Added MpegFrameType to DVD enumerations.
* Changed DVD duration display to omit frame numbers from the end of the duration string.
* Changed Dvd.ProgramChain Framerate property to FramerateString. Added Framerate property.
* Added Dvd.ProgramChain FormatAudioOutputFilename and FormatSubtitleOutputFilename methods.
* Added delay value to subpicture output filename. Changed delay from a substitution value 'DELAY %DELAY%ms' to a standard value 'DELAY 0ms'. The demuxer should update the returned filename if necessary.
* Changed main form to be resizeable.
* Added DVD.Demuxer and DemuxerBackgroundWorker classes. Unlike PgcDemux, Demuxer will skip over any unparsable packets instead of ending the demux operation.
* Removed PgcdemuxBackgroundWorker class. Removed Pgcdemux from Tools folder.
* Added Checked property to PGC programs (chapters).
* Added messagebox to show final status of demuxing operation.
* Added image to ShutdownTimerDialog to inform the user which app is attempting the shutdown.
* Modified shutdown so that it will not occur if the user is demuxing a DVD or converting audio.
* Added FileStream buffering to Dvd.Demuxer class, speeding up demuxing by ~300%.
* Optimized Dvd.Demuxer and Dvd.TransportPacket to only scan for video picture headers until the first Temporal Sequence zero frame is found.
* Renamed IncrementJobRun method to NextJob.
* Moved ShutdownWindows code from Utility class to inline in the NextJob method.
* Replaced default Vorbis encoder with multi-threded SSE3 version for noticeably faster encodes.
* Added Simd class and helper C++ DLL to get SIMD features for the processor. SSE3 is now required for the app to run.
* Fixed bug in DemuxerBackgroundWorker that prevented worker status from being sent to the dialog.
* Moved demuxer progress code from dialog to demuxer class.
* Changed demuxer read buffer to 64KB - it seems the speediest.
* Fixed timestamp bug in demuxer that sometimes resulted in large audio delay values and mis-syncing of subpictures (subtitles).
DVD Swarm v18.104.22.1681
* Added missing line ending to video indexing section of log file.
* Updated toolstrip icons.
* Fixed bug in Utility LoadAudioTracks method that caused crashing with some audio filenames.
* Updated to the latest version of Snapzworx. PAL video was being treated as HD instead of SD video when computing the x264 CRF value.
* Added IsIndexed property to DgindexBackgroundWorker.
* Updated log output.
* Updated PgcdemuxBackgroundWorker to always include the angle value even for single angle videos.
* Add code so that an invalid DVD language code is changed to Unspecified.
* Updated AddJobs so that files are added in alphabetical order.
* Updated DVDDemuxDialog to prevent enabling of the Demux button if no DVD is opened or if one was recently closed.
* Enabled Demux DVD and Convert Audio menu options while jobs are running. Since these taks do not affect the jobs themsleves and actual disk usage is minimal for jobs, this gives you the option to multitask while the jobs are running. Note that the 'Converting audio...' portion of jobs is disk intensive and will slow down DVD demuxing and the conversion to wav portion of the Convert Audio task.
* Created a quick and dirty logo for the app. Not my best work but it is acceptable.
* Updated Form1 DeleteWorkFiles method.
* Changed the log output filename to be based on the the video source filename instead of the video output filename.
* Fixed problem with temporary work files not being deleted when the job was deleted from the list.
* Fixed bug with x264 aborting with failure instead of using fixed index files.
DVD Swarm v22.214.171.1245
* Updated Deserialization to ensure that all audio track filenames exist and have a non-zero length in order to be loaded.
* Added try-catch blocks to 'Add Jobs' and JobDialog 'Add Audio Tracks'. If too many files are selected the dialog throws an exception. The catch block displays a help message instead of letting the exception crash the app. The maximum number of files that can be selected is supposedly 200 but it can occur at 100 or less files.
* Added log checking to DgindexBackgroundWorker for videos that can cause the indexing to hang. Updated failure conditions and output file generation checking.
* Updated DvdDemuxProgressDilaog so that the total progress updates more frequently instead of after each selection is demuxed.
* Updated log file info displayed for indexing.
* Updated serialization so that any inappropriate job status is written and read as 'Inactive'.
* Fixed jobs list to show local instead of UTC times.
* Updated ExecuteMkvmerge_Completed event to indicate failure if necessary files are not found.
* Updated FinalizeJobRun method so that the job run continues even if one or more jobs fail.
* Added 'Expand DVD Titles', 'Uncheck Empty PGCs', 'Uncheck Subtitles', and 'Uncheck Non-English Audio Tracks' options to PreferencesDialog and ConfigurationInfo class.
* Updated Dvd.ProgramChain so that zero-length PGCs always return a Checked state of false. Updated DvdDemuxDialog so that zero-length PGCs are not shown.
* Fixed bug that caused crop aspect ratio not be applied the video.
* Fixed bug that caused the 'Open Folder' menu option to crash the app if the folder did not exist. This only occurred if the folder was deleted while the app was running.
* Updated Utility DetermineVideoProcessing method so that NtscVideo with a duration over one hour or with a file size greater than 3 GB is processed with IVTC. Override processing may still be used.
* Added Duration and FileLength properties to JobInfo class.
* Updated to newer releases of Bacicworx and Snapzworx.
* Renamed some methods for clarity of function.
DVD Swarm v126.96.36.1993
* Fixed file renaming bug in Dvd.ProgramChain GetCheckedAudioOutputFilenames method that caused audio files to have an extra period in the filename.
* Fixed bug in DgindexBackgroundWorker that caused the app to hang if the generated log files already existed.
* Added trim output timecodes adjustment to Utility DetermineVideoProcessing method.
* Fixed bug in ExecuteDgindex_Completed event that caused the trim ranges to incorrectly abort the encoding.
Replaced trim timecodes values with trim output timecodes values. Note that actual trimming of the video in previous versions was performed correctly. It was detection of trying to trim past the end of the video that was buggy.
* Added code to JobTrimDialog that zeros out the end timecode when 'Trim To End' is checked.
* Updated Form1 AddJobs and UpdateMenus methods so that menus are disabled while jobs are being added.
* Fixed bug that caused 'Add Jobs' to not update the cropping values properly causing some videos to have zero output height and width.
* Sometimes DgindexBackgroundWorker will return a frame count of zero. Added a ParseD2v method to parse the d2v file and return the frame counts.
* Added BFrameCount, IFrameCount, and PFrameCount proerties to JobInfo. Updated log info to show them.
* Added code to Form1.AddJobs method and JobDialog that prevents adding of zero length video or audio files.
* Updated Utility.LoadAudioTracks methods to not add any files with zero length.
* Updated JobDialog to show an error message when attempting to add a zero-length video or audio track.
* Updated the confirmation message for the DeleteJobs method to not confirm each file if more than one file is selected for deletion.
DVD Swarm v188.8.131.520
* Fixed several bugs in the Form1.AddJobs method that keep the jobs from being added to the ListView, caused the first job to be added multiple times, and did not prevent duplicate output filenames. Method now checks for duplicate source filenames, and renames the output filename if it is already in use by another job.
* Updated JobsDialog code for easier checking of duplicate filenames.
* Fixed the 'Write DVD Chapters' option not updating in the PreferencesDialog.
* Fixed 'Edit Job' not allowing save because the output filename was already in use by itself.
* Updated DeleteWorkFiles method to remove some files left behind when a job was deleted.
* Added HasExited property to DgindexBackgroundWorker class.
* Updated x264 executable in 'Tools' folder to version 1688.
* Moved some external images to internal resources.
DVD Swarm v0.9.10.809
* Fixed bug that caused the 'Shutdown After Run' status label to not update properly.
* Added 'Run From Current' option to menus. It starts the run at the selectied job and continues to the end of
* Disabled JobDialog OK button until source video is added.
* Fixed bug that caused the source audio format not to update properly in the EditAudioDialog.
* Moved the quick indexing and audio stream loading code from the JobDialog to the Utility class. Changed them
to public static methods.
* Added confirmation when deleting a job.
* Added 'Add Jobs' menu option which allows multipl videos to be added to the jobs list.
* Added 'Output DVD Chapters' option to PreferencesDialog. Updated ConfigurationInfo and Form1 serialization.
* Added toolbar for quicker access to common menu functionality.
DVD Swarm v0.9.10.804
* Added Shutdown After Run' to menus. It is already in the PreferencesDialog but cannot be set once a run starts.
This remedies that.
* Added a warning to the JobDialog when adding a job. It warns if the output filename is already used by another job.
Otherwise output files would overwrite each other.
* Updated the log file to include video duration in the indexing data.
* Fixed bug that occurred when converting DVD language codes to a names. The .Net CultureInfo class was not returning
names for some language codes - replaced it with hard-coded values.
* Fixed bugs in DemuxDvdDialog that caused 'Select All', 'Select None', and 'Uncheck Subtitles' to
sometimes crash the program.
* Fixed bug in output of CCE format chapter info.
* Added 'Close DVD' button to DemuxDvdDialog.
* Fixed hex formatting bug when renaming some demuxed DVD streams.
* Added 'Expand Titles' and 'Uncheck Foreign' to DemuxDvdDialog context menu.
* Updated IfoReader to handle invalid progrAm start cell values. Updated some property setters to Internal.
* Updated PgcdumBackgroundWorker file renaming to avoid file sharing conflicts.
* Added fix for single cells having a size greater than 2GB so that the correct size is reported.
* Changed JobInfo property 'BareFilename' to 'BaseFilename'. Serialization updated.
* Updated ConvertAudioDialog progress messages.
DVD Swarm v0.9.10.725 Beta
* Fixed bug in PgcdemuxBackgroundWorker that caused some work files to not be deleted.
* Updated JobTrimDialog UI for easier use.
DVD Swarm v0.9.10.724 Beta
* Fixed JobDialog so that the video resolution is updated when the display aspect ratio is changed.
* Fixed bug that caused the job display aspect ratio from being saved and restored properly.
* Updated button image resources. Added mouse down images.
* Fixed bug in browse for DVD button in DemuxDvdDialog that caused execution to continue even though Cancel was clicked.
* Fixed bug that prevented some subpictures from being found.
* Added Subtitle class to Dvd namespace and as a member of the ProgramChain class. It gathers the necessary information from multiple classes into a ready-to-use format.
* Added AudioStreamCodingModeFileExtensions and SubtitleAspect enumerations to Dvd namespace.
* Fixed bug in PgcdemuxBackgroundWorker that caused the app to crash when a program did not contain any audio or subpicture streams or if no streams were selected.
* Add individual stream demux progress bar and time remaining to the DemuxProgressDialog.
* Adjusted code so there is less confusion between ids (start at one) and indexes (start at zero).
* PgcdemuxBackgroundWorker does not create output files with zero length. Added code to output an empty file.
* Moved DemuxDvdProgressDialog in workflow so that when it exits the user is returned to the DemuxDvdDialog instead of the main form.
* Added Close button to DemuxDvdDialog.
DVD Swarm v0.9.10.721 Beta
* Merged AudioEncoderFormat and AudioDecoderFormat enumerations into AudioFormat enumerations.
* Added restrictions to EditAudioTrackDialog to prevent unsupported format conversions.
* Added support for DTS audio files. They cannot be converted to another format and can only be added to a Matroska container.
* Added check for invalid audio conversion before running a job.
* Added packaging of non-converted AC3 and DTS audio tracks. DTS audio tracks can only be added to a Matroska container.
* Updated AviSynth script generation for audio tracks to add a blank video, this allows trimming of the audio.
* Updated handling of negative audio track delays by MP4boxBackgroundWorker so that tracks with different delays will retain that. Fixed bug that prevented delays for tracks other than the first from being specifed to the packager.
* All required apps are now included with the distribution.
* If AviSynth is not detected as installed, the option is given to install it.
* Fixed bug that caused dynamic range compression to always be applied to AC3 audio.
* Added OutputFrameCount property to JobInfo class.
* Updated PreferencesDialog and added "Defaults" to Video and Audio section names
* Renamed AudioStreamInfo class to AudioTrackInfo.
* Added OutputFormat property to AudoTrackInfo class.
* Added RangeDuration and RangeOffset properties to JobInfo class and serialization.
* Updated JobdDialog to fill audio track info into listview.
* Removed test runs. Replaced with range run settings for each video.
* Added 'None' to OutputContainerFormat enumerations.
* Added Downmix, DynamicRangeCompression, and Normalize properties to AudioStreamInfo class.
* Renamed Configuration AudioDrc, Downmix6ChannelAudio, and NormaizeAudio properties to DefaultAudioDynamicRangeCompression, DefaultDownmixAudio, and DefaultNormalizeAudio.
* Updated ConvertAudioDialog to support new audio formats. Added DynamicRangeCompression and Normaize properties and menu items.
* Fixed bug that caused the audio format selected in the add JobDialog to not be visible when editing the job.
* JobDialog updated so that when a video is selected, only AC3 and DTS audio tracks are scanned for and added to the list.
* Updated LogViewerDialog to check if file exists before trying to load it. Removed filename property and added it as a parameter to the class constructor.
* Added ProgreesSeconds property and OnProgress event to NeroAacEncoderBackgroundWorker.
* Added NeroAAcEncoder progress to main form and ConvertAudioDialog.
* Fixed bug in Mp4boxBackgroundWorker when canceled that caused the errro stream to be cancelled instead of the output stream.
* Updated warning when selecting 'Smallest File Size' in PreferencesDialog.
* Updated ConvertAudioDialog progress messages and placement of them in the UI. Output format selects 'Vorbis' as the default format if it is available, otherwise the first format in the list is chosen.
* Adjusted the AviSynth script for deinterlacing of 100% video - standard and animation. The results are less jaggy and have less artifacting, but as with pure video there is no way to remove all the artifacts.
* Fixed a bug which caused output videos to always be trimed by the range settings. This did not affect any videos that had range offset and duration set to zero.
* Added PgcdemuxBackgroundworker for demuxing streams.
* Fixed bug that caused incorrect audio track info to be displayed when moving audio tracks up/down in JobDialog.
* Updated JobRangeDialog UI and JobDialog Range values formatting.
* Renamed job Range to Trim in dialogs, classes, and log entries.
* Added license info to header of all source files.
* Added DvdPgcChaptersDialog with copy to clipboard. Added 'View Chapters' button to DemuxDvdDialog.
* Removed restriction on unique source video filenames in jobs list. This allows the same video to be added multiple times - for example, splitting the source video into chapter jobs which are encoded as seperate files.
* Changed Dvd.Utility GetLanguageNativeName to GetLAnguageName. It now returns the english name for the language. This is a partial fix for AviSynth not supporting unicode characters. Streams demuxed with DVD Swarm will not have the probelm because only ASCII characters are used for filenames.
* Renamed JobDialog option 'Override' to 'Override Recommended Processing'.
* Added display aspect ratio combobox as part of the format info in JobDialog. This allows forcing of the display aspect ratio for miscoded video such as when it states it is 4:3 or 16:9 but is actually the other.
* Added chapter list export in Scenarist, IfoEdit and CCE formats.
* Fixed bug that caused Select All and Clear Selection to be enabled when no jobs were present.
DVD Swarm v0.9.10.706 Beta
* Fixed bug in the Utilty.DeterminVideoProcessing method that prevented the job.OutputFramrate from being updated when a processing override is enabled. This did not effect the video processing and encoding. Instead it caused the output containers to play the video at the wrong framrate when a processing override was chosen.
DVD Swarm v0.9.10.705 Beta
* Fixed bug in JobDialog that prevented default crop mode from updating the control and prevented it from being saved.
* Fixed bug that caused the JobDialog to crash when searching for audio tracks if the video filename had no spaces.
* Fixed 'Cancel After Current' funtionality in FinalizeJob. Added clearing of checked state for 'Cancel After Current' menu item after the job run is cancelled.
DVD Swarm v0.9.10.704 Beta
* Bug fix to DeleteCompletedJobs method index out of range.
* Updated log output to show processing override and cropping.
* Updated wording of some menus.
* Changed 'Cancel After Current' tool and context menu items so that they can be toggled.
* Fixed 'Cancel After Current' bug that caused the job status Completed to be changed to Cancelled.
* Added default crop mode PreferencesDialog and serialization.
* Removed AudioStreamInfo Checked property from class, JobDialog, and serialization.