DvdDecrypter released, update

An indispensable program for me... :D

What's new:

Added: Support for detection of newer / other forms of (possible) structure protection.
Added: Support for removal of structure protection from IFO/BUP files. So ripped files will import into any processing software (and by that, I mean CloneDVD etc!)
Added: 'Layer Information' to the info panels in ISO Read/Write modes. Displays number of sectors on each layer + percentage of overall disc size.
Added: Destination -> 'Capacity' + 'Free Space' labels now have tooltips that show the value in bytes (rather than KB as shown on the actual form).
Added: 'Application Identifier' to tooltip when you hover over the volume label in the 'Source' box. This also gets put in the log when you perform a read/write operation.
Added: 'Implementation Identifier' to tooltip when you hover over the volume label in the 'Source' box. This also gets put in the log when you perform a read/write operation.
Added: Workaround for drives connected via firewire that don’t support the real time streaming commands ('get performance' and 'set streaming' - these get / set the read / write speed). The 'set streaming' one can hang the entire bus if connected via firewire. Power (of entire machine) must then be cycled.
Added: All burners are now issued a 'SET STREAMING' command when make them read at full speed - even when not specifically told to do so via the option in the settings. Too many cases of PlexTools PI/PIF scanning putting the drive at 2x!
Added: A 'Quick OK' button to the 'Create MDS' file dialog. It wont prompt for a file name, just take that of the first image part and change the extension to .MDS.
Added: Option of selecting SAO or Packet/Incremental for 'Write Type'. Useful for drives that prefer one over the other. Currently the Pioneer 109 doesn’t make good discs using SAO on DVD-R media. XBOX and old standalones cant play them.
Added: Option to enabled / disable the OS wide 'Autorun' property for CDROM drives
Added: For people that like to install the app, copy the exe somewhere and then uninstall, I've made the program check the 'InstallDirectory' registry key and create it if needed each time the app is opened / closed. This key is used by other tools like DVD Shrink to check DVD Decrypter exists etc.
Added: Support for PSL v2.0 (Import + Export)
Added: Aborting the decryption process whilst the drive is doing read retries now displays the error the drive finally comes back with.
Added: Workaround for AOpen drives that wont authenticate sometimes.
Added: Select IFO, BUP, VOB to 'Edit' menu in File mode
Added: 'Recording Management Area Information' to ISO Read / Write info screens. Displays (where supported), which drive burn the DVD-R / DVD-RW media in the drive.
Added: Support for split (i.e. FAT32) NRG files.
Added: '.CDI' type images to the list of supported image types. The '.CDI' format is used by discjuggler.
Added: Option to enabled / disable 'Plextor SpeedRead DVD' via the Tools -> Drive menu (+ right click context menu on drive drop down box).
Added: Support for a 3rd variation of bit setting on LiteOn drives.
Added: 'Ignore Unreferenced VTS Sets' to File mode settings.
Added: 'Uncheck Suspect Cells' to IFO mode settings (on by default).
Added: Ability to hide pack header warnings in 'structure protected' areas.
Added: Option of specifying chapters for IFO mode via '/CHAPTERS' in CLI mode. (forgot it was in!)
Added: Option to cycle the tray once dummy sectors have been inserted due to a protected disc. This should make the drive spin-up to max speed again.
Added: Option within the Installer to create shortcuts for all users, not just the current one.
Added: All the items from the 'Device' context menu to a new 'Drive' submenu in the 'Tools' menu.
Changed: Structure protection detection code works with AnyDVD now and won't report protection that AnyDVD (or other programs) has removed.
Changed: Updated Patin-Couffin code to use latest IOCTLs - faster and cleaner now. Requires Internal Revision 27 (or above) now for NT based OS's.
Changed: Tweaking of Authentication -> GetTitleKey routines.
Changed: Program update code to work better for people who use a proxy to connect to the internet.
Changed: Patin-Couffin interface now displays SrbStatus too in I/O Error dialog.
Changed: The program no longer cares if the GetASF function fails.
Changed: All I/O is now sent in a properly alligned (by the VirtualAlloc API) buffer.
Changed: The Drive Ready -> Not Ready code to force a dismount of the volume when using SPTI as the I/O Interface.
Changed: Tweaked Plextor bitsetting code.
Changed: Program update code now looks for an internet connection before attempting to open a connection to the update servers. This will stop the 'Dial Up' connection boxes from popping up during automatic program update checking.
Changed: Program update code now looks for and attempts to use the IE proxy settings before then attempting a direct connection to the update servers.
Changed: Volume Label changing code has been updated to use additional UDF descriptor values to know how much to scan for File Set Descriptors.
Changed: 'Enable/Disable Regional Code' code for LiteOn drives - now supports more drives.
Changed: Cell 'layer' property (used in 'By Layer' file splitting) is now calculated via the real media layer break instead of the 'seamless playback linked in PCI' flag of the cell in the IFO file. The old method was very inaccurate.
Changed: Max buffer size from 128MB to 256MB
Changed: Now issuing 3 different 'Set write speed' commands, using slightly different values for each. God knows which one (if not all?!) is the right one - hence the reason for 3
Changed: Loading ISO images when an MDS file exists no longer causes the program to tell the user to load the MDS file if the image is < 4,700,000,000 bytes in size.
Changed: Code to work out the best 'Transfer Length' value.
Changed: When 'Software Write Error Retries' is anything other than 0, the initial error is now saved and then displayed in the I/O Error dialog box after retries have been exhausted.
Changed: Full erase (format) on DVD+RW discs now waits for the entire (foreground + background) process to finish before saying it's complete.
Changed: The 'Open File' type dialog boxes are now created with an additional flag to make them check the file exists before letting you click 'Ok' and then them closing.
Changed: Entries in the list box in File mode are now sorted by VTS set, with IFO first within a set, then VOB then BUP. This is instead of them being shown in the order they're in within the file system.
Changed: Installer now checks to see if DVDDecrypter.exe is running before attempting the installation. It'll prompt you if it finds that it is, and ask you to shut it down.
Changed: Default sectors to search for CSS in Brute Force mode is now 500.
Changed: ISO Write mode no longer sends a modified Write Parameters page to the drive when using plus format media. Going by the MMC specs, an application isn’t supposed to (I think!), the drive configures itself automatically.
Changed: All 'Read' modes now put 'Extracting Sectors...' in the log having completed 'Inserting Dummy Sectors (x - y)...'. Too many people thought the program was getting stuck actually inserting the sectors rather than the REAL reason that it couldn’t read the next sector after them.
Changed: The drive locking code will no longer error out if the error code is 'Invalid Function'.
Changed: 'Structure Protection' detection code to hopefully pick up less 'false positives'.
Changed: Handling of bad sector areas as part of the structure protection code.
Changed: Some of the AutoPlay integration code for XP / 2003 etc.
Changed: MDS file association is now on by default.
Changed/Fixed: 'Rename' is now the default button (rather than 'Yes') in the 'This file already exists, do you want to overwrite it?' dialog box.
Fixed: A file could have its 'Handle' left open if doing a DL disc that made use of 'calculate optimal' for the layer break. If the program is also then told to delete the image after burn, it would fail because the file would be in use.
Fixed: ElbyCDIO interface could report incorrect SenseArea info.
Fixed: ElbyCDIO interface errors (non CDB command ones) could have been misreported.
Fixed: Access violation when a chapter in the IFO said it used cells that didn't exist.
Fixed: (workaround for a) problem with authentication on some Asus DVDROM drive with v1.07 firmware when a certain file wasn't encrypted.
Fixed: Access violation if you close the program while the program is searching for devices.
Fixed: Potential access violation due to 'PlaySound' API being limited to 256 characters in the file name.
Fixed: Got 'Minimize to system tray' working on system menus in Windows 95. It wasn't being added to the menus before.
Fixed: Windows 'please reinsert the disc' message once the disc has been ejected and before the 'Operation Successfully Completed!' sound/message. (Hopefully fixed anyway!)
Fixed: Problems with LiteOn DVDROM drives that misbehaved and gave random pack header errors and failed to patch ifo/bup errors (maybe only a USB issue).
Fixed: Problem with using 'cut' on log entries
Fixed: Switching to the LiteOn tab in the booktype setting dialog issued commands that weren't used / needed.
Fixed: Potential problem where some drives would show 'Unknown' for 'Current Profile' due to some error catching code that caught errors that weren't really there.
Fixed: Workaround for Change volume label 'hang' on Nero UDF and UDF/ISO data images that don't have a 'Terminating Descriptor' after the 'File Set Descriptor'.
Fixed: Made sure you can't switch program modes while another switch is taking place - this was possible before (if you had mega quick fingers) and crashed the program!
Fixed: NEC temporary bitsetting wasn't allowed unless another program had already set it for that media type.
Fixed: Devices drop down list staying disabled if user experiences 'Device Wouldn't Open!' error message.
Fixed: Infinite retry loop in the 'GetFileSize' function - only happened when the API command failed.
Fixed: Some of the 'Save' dialog boxes didn't force a file extension to be added to the file name if one wasn't specified.
Fixed: A minor issue where under certain circumstances, selecting 'Rename' in the 'file already exists' dialog box wouldn't create the 'destination file has been renamed to xxxx' entry in the log.
Fixed: A bug (but not really a bug as the code didn't exist before!) with some drives that show blank media as having a status of 'Incomplete' instead of 'Empty' but then had a session status of 'blank' - this IS allowed, but very rare - hence why I'd not seen it / implemented it earlier.
Fixed: Strange 'jumping' when the log window is resized using the top bar.
Fixed: Windows NT 4 ALWAYS saying I should have selected the MDS file rather than the ISO, even when one didn't exist.
Fixed: A problem with 0 byte files and Start LBA addresses of 0 messing things up in ISO Read mode.
Fixed: Bug in the program update code that would mean it still tried (and retried) every link (3 of them), even if you were trying to exit the program - would lead to a 'Waiting for Program Update Thread' message in the status bar for days on end!
Fixed: A bug in the function called by specifying '/chapters' as a CLI option. DVD Decrypter would crash on exit on Windows 95, 98, Me, NT and 2000.
Fixed: Bug in volume label changing code (UDF filesystem) that would mean a longer name would get truncated by windows when displayed in 'My Computer' etc.
Fixed: (I think) a problem where the program could get stuck reading as a result of the 'structure protection' code combined with a real read error in a certain place.

thanks for that roady :)

DVD Decrypter

change log for those who need it

Latest Changes:
Added: Support for setting the read speed on AOpen 1648 DVDROM drives
Changed: Creation of an MDS file is now only 'forced' when ripping to a FAT32 drive (like how it was in, rather than when also ripping a DL disc
Fixed: 'Layer Information' being shown in ISO Read mode when there was an empty DL disc in the drive
Fixed: Hang on usb/firewire enclosures trying to work out the best transfer length to use
Fixed: Error on some 'dummy' images mounted in DAEMON Tools - caused by non standard UDF file system
Fixed: Start button still being enabled in File mode even when no files were found
Fixed: Problem of the burn aborting if 'Lock Volume For Exclusive Access' failed silently with a 'known' error