Picture Viewer Pro - Release History ------------------------------------ Latest Version: Picture Viewer Pro v2.0 (Build 227) - Public Release #4, 11th January, 2008 ------------------------------------------------------------------------------------------- Note: Over time, all programs evolve and grow. There have now been three name changes! Picture Viewer Pro was built from the RawSync Viewer Pro (Build 125) Codebase. RAWSync Viewer Pro was built from the RAWSync Viewer 1.4 (Build 42) Codebase. -------------------------------------------------------------------------------------------------------------------------- Currently Known Bugs: --------------------- All programs have bugs but extensive testing helps eliminate them. This program has been tested extensively by beta testers on many different systems for well over a year and as a result, is very well behaved and stable! Open Bugs: ---------- None known at present. Since Build 195, a new crash reporting routine has been built in to automatically email any crash logs back for analysis! -------------------------------------------------------------------------------------------------------------------------- [Build 227] * Rewrote program to use a BitArray to hold selected status of files. Program now takes 1/8th of memory to store selected file status info internally. Kept limit at 4000 files for now. [Build 226] * Decreased the time delay that the nag screen is shown - less annoying now for unregistered users! * Totally rewrote the Check For Updates routine - it now has the ability to automatically download future updates direct to the users desktop, without having to manually visit the website first. This makes getting updates even easier now. [Build 225] * Bug-fix - Fixed the nasty crash that occured if a second copy of Picture Viewer Pro was attempted to be started up with no file passed! Bug present since Build 221, when the new instance event was altered! [Build 224] * Fixed a major bug that could occur on Vista systems when drag and dropping a file, attempting to open a new instance of the program or just opening a new file/folder up. Internally, sometimes the current folder was not being set correctly, leading to crashes in the show folder report and process selected file(s) routines. * Updated the main error handler. Now handles a missing image file more gracefully! [Build 223] + Added a new feature to the help menu - Check For Updates. Picture Viewer Pro will now check with the website to see if any new versions are available of the program. If there are, it will give you the option of visiting the download page. + Intercepted the main form resize event to handle the maximise button and automatically switch to fullscreen mode, when an image is open. [Build 222] * Whilst known about for over a year, finally fixed the major bug with release Build 215 - this is where certain buttons and menu items can become active and accessable when they should not be able to! eg. Start up Build 215 but do not open any file - Press Y for the calendar. Press Esc to take it away. Suddenly all buttons are able to be pressed eg. next image, menu items for processing files etc. This resulted in a lot of nasty crash reports! It was caused by the unlock routine not checking the correct status of if an image was open or not. [Build 221] * Fixed a major bug that was appearing with some people running Windows Vista. Many file are opening up with this error message: Arithmetic operation resulted in an overflow. The file trying to be opened is probably corrupt. This was caused by a division by zero error in the progress bar calculation code. The division by zero is because the proper maxfile value is not being set due to the program looking in the wrong folder, due to the getcurrentdirectory() call in the original code! This was only happening if you opened a file from within the program itself. As a result of this fix, files are opening normally again. + Added support for the standard windows Control+A keypress for selecting all files (windowed and fullscreen modes). Slideshow support added also. This is in addition to the standard '[' key that Picture Viewer Pro uses. + New feature - the most annoying thing about Picture Viewer Pro so far has been when you attempted to start another instance of the program up by double clicking on a new graphic in windows explorer, you were met with the message: "Picture Viewer Pro is already running - Try Dragging and Dropping the file to it!" The program will now capture the new instance event and handle it as you would expect, opening the new file, as long as it is not too busy eg. processing files, showing a slide show etc. [Build 220] - As a result of the recent review, decided to regress the changes made in Build 217 to trial mode. It now behaves exactly as release Build 215 did. * Also as a result of the recent review, changed the 'Copy & Edit' button on main form to an 'Edit' button. Added a message that this feature is under development. MS Paint only for now. * Moved the Edit button 2 pixels to the right in the internal 1024x768 form layout. [Build 219] * Internal review completed of changes made to the the code from Build 216 and onwards. * Source code dates and comments updated. * Recompiled License Manager in Visual Studio 2008 but no changes made to code or version. * Escrow Build. [Build 218] * Ported whole development environment over to Visual Studio 2008. Internal version. * Changed target CPU to x86 for testing. Updated setup path to the new x86 exe. Kept framework at .NET v2.0 for now. * Altered copyright dates in about box and splash screen. [Build 217] * Ported whole development environment over to Vista Ultimate RTM with Office 12/Outlook 12 Object libraries. * Changed Mouse Wheel code. Now fully works on Vista RTM with Microsoft Intellipoint v6.1 for Vista installed! * In Progress - Made changes to features available in trial mode. Enabled everything except LCD test and Calendar! [Build 216] * Changed 'Exit' button on main form to a 'Copy & Edit' button. * Altered position and size of "Copy & Edit" button, for different screen resolutions. * Bug-fix - Fixed width of 'Explore' button so it is in line with the others. * Made the 'Close Image' button a shared 'Close Image/Exit Program' button. [Build 215] + Added 'Year At A Glance' calendar to system tray menu. + Added 'LCD Dead Pixel Test' to system tray menu. + Added new view menu item - Hide Picture Viewer Pro. * Cosmetic changes to options on system tray menu. * Fixed bug - ShowCameraModel() now locks the program when displaying camera info. + Added Show Camera Model to main menu. + Added new Info menu and moved Show Camera Model, Show Exif Info and Show Folder Report into it! + Added new Info menu item - Show Shot Taken Info. + Added new feature - Show Shot Taken Info now on the question mark key (Windowed and Fullscreen modes). + Added new feature in options menu - Regional Date Format (UK or US). Code altered to be regional compatible whenever a date is shown. Default is UK. * Made changes to the text in the trial nag screen - pricing information now removed from the program. * Changed mouse behaviour one last time! If you click the extended "Back" button and you are in windowed mode, with a file open, then the shot taken info for the current image is displayed. + Improved the Wallpaper class. It now creates a subfolder called "Wallpaper" inside "Picture Viewer Pro" to hold the wallpaper selections. It converts the original file to BMP format and saves it in there (with "original filename.bmp"). Lastly, it then creates a second copy called "Current Wallpaper.bmp" and sets that to the one being used by Windows. Also deals with the special case - if a 'rogue' filetype is in the Wallpaper folder (ie. not a .BMP file), then it can now handle it! Also now allows the "Current Wallpaper.bmp" file itself to be reset as the wallpaper (in certain circumstances, eg. if greyscale mode is off). * Optimised all code throughout program (boolean testing logic etc.) Ripped out debug/unused code. currently just over 8,800 lines of code in total! + Added Final Help Manual. ! First Official Web Release Version. Gold code! [Build 214] * Last minute improvements to licensing system and validation code. Release Candidate 4 ! Last internal beta release. [Build 213] * Design changes to Nag screen. + Added a new Help menu option to allow users to send us an email, question or comment... * Bug-fix - Nag screen now locks the program. * Bug-fix - Tray menu - all options now take account of the global lock state of the program! Release Candidate 3 [Build 212] + Added in production Licenses. License logic improved. License Manager updated to retail code. Release Candidate 2 [Build 211] + Restructured exit code for when Nag screen is cancelled. Fixes a nasty shutdown bug, introduced in Build 210, where a file is double clicked to start up the program via file association and Exit is clicked. [Build 210] + Added new Nag Dialog with Nag Delay Progress Bar! * Fixed the cursor so it now shows as busy during windowed mode file processing! * Fixed a few cursor problems throughout program. * ShowFolderReport() now only allowed for registered users. [Build 209] * Changed order of filetypes listed in the Folder Report. Now in line with file processing dialog. New order is JPG, BMP, PNG and TIF. + Added new Quit ("Q") and Escape key detection in ProcessSelectedFiles() routine. Escape key shuts down program as usual. Quit just exits processing routine. Windowed And Fullscreen versions. * Optimised greyscale conversion throughout program - the color shear matrix is defined once, not every time a greyscale picture is viewed! Windowed and Fullscreen modes. Should also speed up greyscale file conversion processing. * Code is now stable enough now to remove integer overflow checks from the compiler - this generally results in a speed up of integer operations by 30 to 40 percent. [Build 208] + Added new Folder Report Dialog to program. Version 2.0 is now feature complete. Release Candidate 1 [Build 207] + Added current "RAW File Format" in use to Title Bar. Reported in Windowed mode when no file is open. [Build 206] + Added code to store the current "RAW File Format" in the registry. Read at program startup so it can now remember the last file format used. If no registry entries are found, then the default - "Canon SLR (CR2)" is used. [Build 205] + Added code to store the current colour scheme in the registry. Read at program startup so it can now remember the last colour scheme used. If no registry entries are found, then the default Deep Sky Blue is used. [Build 204] + Added a tenth colour scheme - Chocolate Brown. + Added new Registry Class and updated license checking code. [Build 203] ! Researched the three file locking bugs - First introduced in Build 155. 154 was ok! The cause was PropertyItems using a filename instead of a local copy. Related to Greyscale and Exif code. * Bugs fixed in the following routines: ToggleGreyScaleMode(), RenderCurrentImageWithUpdate(), ShowStatus(), ShowExifInfo(), ShowCameraModel(), RenderCurrentImage(), DisplaySplashScreen(), ProcessSelectedFiles(), FullsizeZoomForm_Load, clsWallpaper. Mainly to do with greyscale conversion code that has been updated now. Delete files bugs are now fixed. + The new Greyscale conversion code now copies any Property Items over to the new file (Preserves EXIF data etc.). JPG, TIF and PNG retain as much property items as possible. BMP files do not use it. * Bug introduced in Build 202 fixed. ProcessSelectedFiles now carries out a change of working directory, if the newly generated files are to be opened. * Full source code sweep - small changes to source code throughout project. + Lots of routines in the Fullscreen code were carrying out a needless second Me.Update() call, after a rendering update. This fix has speeded up the Fullscreen code quite a bit! ! Test release - All four open bugs identified in Build 202 are now thaught to be fixed/closed. [Build 202] * Cosmetic text changes to TestLCDDialog + Added debug compilation reporting to About form and to comment field of main .exe file. + Wrote new Fullscreen ProcessSelectedFiles() routine in conjunction with updated mainform.FullScreenMode code. * Identified four new serious bugs (3 have been in for a while but just discovered, the other is new to this build). Researching cause of bugs - hopefully fixed in next release. [Build 201] + Added code to display a "Test Ended" message after the LCD Dead Pixel Test routine is exited (Windowed and Fullscreen versions). + Added a new dialog box for the 'LCD Dead Pixel Test' routine. + Added a ninth interface colour scheme - 'Pastel Green'. * MainForm.ProcessSelectedFiles() code readied to be ported to Fullscreen routine. Stable test release. [Build 200] * Layout and design changes to ProcessingReportDialog. [Build 199] + Added a new ProcessingReportDialog that gets shown at the end of processing. Finalised code for Windowed mode ProcessSelectedFiles(). [Build 198] * Made changes to ProcessingMode ("Copy", "Greyscale" or "Converted"). "Greyscale" or "Converted" now get chosen extension added onto the end of the folder name - with first character put into uppercase. + Added initial testing code to put up a processing report at the end of file processing. It also features test code to open up the new folder in Picture Viewer Pro directly for viewing (at the start). This will be optional in the next release, featuring a new dialog box for this report. [Build 197] + ShowFolderReport() updated to show total size of selected file(s). + Added Escape key detection in the following dialog boxes: About Box, RAWSync Button and Processing Dialog. * Finally finished off quick key help ("K" key). [Build 196] + Added code to calculate the total filesize of selected file(s) and display in on the file processing dialog. [Build 195] * Removed crash test button, now that error handling routines are finalised. [Build 194] * Change to email sending routine in error handler - crash report now shows Outlook onscreen before report is sent. Cosmetic changes to error handler text. New support email address used. Added OS detection into crash report. * After much testing on different systems, it was decided to remove code that saves the crash report to the root of drive C. Vista does not let the program perform this action anyway. Code finalised on error handling routines. Well behaved now! [Build 193] * Redesigned internal error handling routine to be even more robust and comprehensive. Now allows the crash report to be emailed back to tech support for analysis. Temp 'Crash Program' button added to main form to allow testing on many different system configurations/setups. Will be removed in later builds after much more testing! [Build 192] + Problem with "M" for emailing current picture when Office 2007 Beta 2 Technical Refresh is installed. Email fails to be passed to Outlook - complains about "invalid switches" being used. Tested ok on Beta 2 - just the technical refresh. It's looking like this might be in the final release of Office 2007 so it was decided to totally recode the email routine. Now uses the MS Outlook Object Library to send the email attachment to Outlook. If this fails (possibly because the user does not have Outlook installed on their machine), a suitable message and guidance is displayed for the user to resolve the situation. + Implemented a comprehensive Exception/Error Handler for Picture Viewer Pro. Should it ever crash, suitable guidance screens are displayed and the error is saved to "C:\PVP Error Log.txt", along with a gracefull shutdown. [Build 191] * After a lot of thaught, decided to remove 'Deselect All Files' from end of ProcessSelectedFiles() routine. + Implemented new ProcessSelectedFiles() routine, now that the ProcessingDialog is returning values. + Many small interface bugs fixed. Calendar now locks the program, as does the LCD test. System tray menu now looks at program lock state before carrying out its actions! + The calendar is now also available in Fullscreen mode (on the "Y" Key). Added a new Close button to it. Pressing any key also now closes it. + Major interface change - enabled the full .Net v2.0 framework. This meant redesigning many font sizes and textbox layouts throughout the program. Discarded old Mutex code - now handled by new Framework v2.0 routine. * Made small adjustements to the different form resizing routines to make them compatible with Framework changes. [Build 190] + Finalised design of ProcessingDialog and coded up routine to return choices made to main ProcessSelectedFiles() routine. [Build 189] + Designed a new dialog box for when the RAWSync button is pressed. Updated SyncImages() to tie in the new box. + Bug-Fix - rewrote program exit code - now always closes correctly without corrupting desktop image on exit. Even if the "X" is pressed at the top right to close the main form and transparency has been used! [Build 188] + Started work on new dialog design for ProcessSelectedFiles() and internal option selection logic. + Changed Version Info ("V" key) to show new style About box instead. Gives more information on program. [Build 187] * Renamed CopySelectedFiles() to ProcessSelectedFiles() * Changed Edit Menu - 'Copy Selected File(s)' to 'Process Selected File(s)'. + Made changes to ProcessSelectedFiles() - files are now saved in a subfolder named "Picture Viewer Pro", inside "My Pictures ("Pictures" in Vista). The folder name takes the original folder name but adds a processing descriptor after it eg. [Copy], [Greyscale]. Disabled Fullscreen version of this routine until development is complete. * Modified Wallpaper Class to save wallpaper file inside a subfolder named "Picture Viewer Pro". + Fixed long-standing but just discovered bug in Drag and Drop handling routine - Now detects when program is 'locked' and displays a message that it is too busy to open the file. It used to just open it - causing a bad crash! [Build 186] + Added a progress percentage display to CopySelectedFiles(). [Build 185] * Optimised source code to keep compiler happy - down from 44 Warnings to 0! [Build 184] + Rewrote CopySelectedFiles() to handle Greyscale conversion of file(s) (Windowed and Fullscreen modes). * Small changes to source code to comply with warnings in compiler. [Build 183] * Fixed bug introduced in Build 181 - SyncImages() now always locks the routine as soon as the RAWSync button is pressed. * Made small cosmetic design changes to About Box. [Build 182] * Changed colour of Info Bar when "V" key is pressed for reporting Version Info - Blue in Windowed mode, Red in Fullscreen. Looks better! * Made last minute mastering changes to parts of sound effects. [Build 181] + Recorded, edited and added final camera sounds to program. Two sounds embedded in total from a Canon EOS20D! + Added code to play a single shutter sound when RAWSync button is pressed. [Build 180] + Added code to play a startup sound when program is opened up without any files passed to it. + Added a new form based About Box - much more professional looking and added startup sound to it also. + Added placeholder startup sound for testing purposes only. This sound needs to be replaced! * If you are running in 1280x1024 resolution, then large info bars are now used as default in this mode! [Build 179] * Fixed transparency bug introduced in Build 178 and also decided to finally set default transparency level to 70%. * After discussions with beta testers, decided to go back to splash screen used on build 177 and earlier. + Added code to monitor useage of Transparency mode. If it was ever used, then form minimizes on program exit, otherwise it is ok to exit normally as before (on Builds 174 and earlier) [Build 178] * Moved back to default 80% transparency level again!!! * Changed splash screen yet again!!! * Cosmetic changes to text on "about" and "registration nag" screens. [Build 177] * Changed default transparency level to 70% (from 80%). Creates a nicer default "blending" mode! * Changed default info bar font size to "Medium", unless video mode is 800x600 whereby "Small" is used instead. This change frees up more room on the info bars for handling larger filenames by default. [Build 176] * Removed mainform. references form mainform. (Optimisation). + Bug-Fix: - Fullsize zoom mode (when called from the windowed mode) now sets the correct transparency level. Calendar routine is now level aware as well! + Transparency range is now 0% to 100% in 10% increments (added 0% to options menu). * Changed the opacity variable from double to integer. Updated code in all forms for this change. + Implemented code for fading in the Windowed and Fullscreen modes when the "4" and "6" keys are used. "4" = decrease transparency and "6" = increase transparency. It locks at either end of the scale. Info bars are displayed as required. + Added code to enable "4" and "6" keys during a slideshow. [Build 175] + Bug-Fix: Made one exit routine for the whole program and added code to exit gracefully without corrupting wallpaper. + Added initial support for varying the degree of transparency. New Options menu items added and coded for transparency level. * Changed order of items in the options menu. [Build 174] * Moved "Folder Report" from "T" key over to "P" key (rePort). "T" is going to be used for transparency! + Added full program support for transparency mode (on the "T" key and Options Menu). Windowed and Fullscreen Modes. Added support for changing Transparency mode during a slideshow. Also enabled transparency in the Fullsize zoom mode, change wallpaper routine and in the year at a glance calendar. [Build 173] * Changed size and layout slightly of the 1024x768 master form - made it longer and exanded the size of the progress bar. [Build 172] * Changed progress bar colours to green on white background to make it easier to see (especially in Vista). * Changed Windowed mode version info code so that it now locks the form for the delay. * Changed the selection keys again. Select all files is on "[" and deselect all files is now on "]". This makes it easier on laptop keyboards to select files. * Split up long text that appears when RAWSync! button is pressed. Now split over two lines. Looks better on Vista. * Changed to a smaller delay for message displayed when "L" key is pressed (Auto expand small images toggle). + Added a short delay when selecting a new font size for the info bars (and they are disabled) in Fullscreen mode. [Build 171] + Fixed long-standing problem in 1024x768 and 800x600 form resizing code - "Filter Mode" text was being cut off. Resized to fit. + Added and fitted in a progress bar for every form size. Wrote code to update it dynamically. + Optimised percentage calculating code. * In Fullscreen mode, program now always reports the percentage on the info bars, regardless of screen size. + Changed form resizing code - 800x600 form size now selects the "Small" info bar text size. + Changed form resizing code - 1024x768 (true native only) now selects "Medium" info bar text size. [Build 170] + Updated Options Menu - Auto Expand Small Images so it updates status properly at all times ("L" key). + Updated Options Menu - Aspect Ratio Mode so it updates status properly at all times ("A" key). * Removed some old redundant code from the rendering engine. * Stable build to be given to testers. Rendering engine is now feature complete. [Build 169] + Added a new feature to show the percentage of the files looked at in a folder. When in windowed mode, this shows up next to the file sequence number, or along the top of the window (if smaller than maximum form size is being used. ie. not 1280x1024). In Fullscreen mode, the percentage is only shown on the info bars, if the display is on the maxmum form size ie. 1280x1024 or if a widescreen monitor is detected. [Build 168] * Audited Windowed mode code. All routines that show messages, now lock the form first, then unlock it afterwards! This stops a lockup bug from occuring, if you are in a delay and you click a menu item. + Added a new Slideshow Speed: Maximum (Usefull for images taken in a sequence and needing fast playback for example). This is now on the "0" key. Moved the "0" key to the "2" key (Select Wallpaper mode). * Changed wording of Options menu item "Show Fullscreen File Info" to "Show Fullscreen Info Bars". Same with "I" key text. + Added new Options menu items for selecting the Fullscreen Info Bars Font Size. + Added Info Bars Font Size Selection on the "5" key (cycles through the sizes) - Windowed Mode. * Removed "I" key from Windowed Slideshow Mode. + Added "5" key to Fullscreen and Fullscreen Slideshow Modes. * Disabled Edit menu during a slideshow. Various other small cosmetic changes. [Build 167] * Changed the code on entry to Fullscreen form. Old image is now safely disposed. Stops runtime faults when user with a middle mouse button configured for next window presses it on initial image double clicked on. [Build 166] + Fixed bug introduced in Build 165 in the FormImageClose() routine - wasn't restoring to 3:2 aspect ratio! + Right mouse clicking in Fullscreen mode now toggles auto expand small images instead of Fullsize Zoom! [Build 165] + Disabled old aspect ratio code and reconfigured Options menu (final design). Added aspect ratio and image expansion options. + Fixed long-standing problem in options menu (internal) code. [Build 164] * Changed Auto AR mode to Locked AR mode. + Modified Wallpaper class again. Idendified a problem on Windows Vista whereby the wallpaper set was not being accessed after a logoff/logon or reboot. This is due to restrictions on programs rights where virtual paths are used for security. This interferes with the real location of the file where the registry looks. The solution is to now save the wallpaper file in the users "My Pictures" folder. Changed the default name to "Desktop Wallpaper" so it makes more sense when users notice it. * Minor modifications to ChangeWallpaper() routine in mainform - now locks the task during the delay. + Added "A" and "L" keys to slideshow (Windowed and Fullscreen modes). [Build 163] + Wrote new code for displaying on top info bar to show current processing mode applied to current image. [Build 162] * Cosmetic Fullscreen code changes (subroutine renames). * Changed Fullscreen slideshow wording - removed the word "mode" to free up room for future use! * Changed program default so that images smaller than screen size are not expanded any more! * Removed "B" key - info bars now solely on the "I" key (Reserved it for future use as internal background key). + Prepared new code structure for showing current processing mode used on the info bar display. * Fixed bug in icon file that was showing up in Windows Vista. Now compatible! + Now detects (and acts on) mouse clicks outside the actual picture box in Fullscreen and Fullsize Zoom modes. [Build 161] * Swapped the "E" and "L" keys back again. "L" for make small photos (L)arger (as a way to remember). * Changed wording of OS detection in Help - About screen. [Build 160] + Rewrote and optimised Fullscreen rendering code. Now supports the AutoExpandSmall flag. + Rewrote and optimised Windowed rendering code. Now supports the AutoExpandSmall flag. * Made changes for final rendering engine design. + Implemented new "Aspect Ratio: Automatic" and "Aspect Ratio: Force To Fit" (on the "A" key). Default: Automatic. + Modified Options Menu Structure (More work needed). * Disabled access to "3", "4" and "5" keys in windowed and fullscreen modes (Manual AR Selection - Obsolete now!) * Moved the Explore Folder key from "E" over to the "L" key (expLorer). + Wrote initial code for toggling AutoExpandSmall flag (Now on the "E" key). Windowed and Fullscreen modes. [Build 159] * Removed build number showing at startup. + Rewrote "V" or version routine. Now flashes up build number, instead of just showing the standard about box. Removed "V" key from Fullsize Zoom mode. + The Help - About box now shows the current operating system. (Vista supported!) + Rewrote new centering code so that it references default picture box location when in windowed mode - this fixes the probllem with the picture box not displaying in the right place in all supported resolutions. + Added new key - "Y" for year at a glance calendar (Windowed mode only). * Reviewed source code and tidied structure / comments etc. [Build 158] + Fully enabled new windowed mode rendering code and removed debugging code. + Enabled double buffering on all forms for smoother transitions between images. * Doubled length of delay when showing new Wallpaper. [Build 157] + Updated Wallpaper class to always save out a new BMP format of the input file and to support Greyscale mode. + Put new code into Wallpaper changing code to make form transparent for a while so you can see new background properly. [Build 156] * Removed hard locked greyscale mode. Default mode is now colour. + Implemented new menu options - Display Mode: Colour and Display Mode: Greyscale + Implemented "G" key for toggling Colour/Greyscale mode, during Windowed, Fullscreen and Slideshow modes. Registered users only. Works if an image is currently open or not. + Fullsize Zoom Mode will display an image in Greyscale if needed, but doesn't directly allow a change in colour mode. * Fixed unregistered mode cursor bug where cursor was disabled during a windowed slideshow when select (all), unselect (all) or "G" was pressed! + Realtime onscreen debugging messages put around new windowed rendering code. + Now shows build number when program starts up. [Build 155] * Fixed long-standing bug in Picture Viewer Pro Setup file (was looking into an older folder for source file!). * Moved MainForm back into main Picture Viewer Pro project (it had been moved into obj folder by mistake). + Added new greyscale feature to all the viewing modes. + Updated Show Exif Info routine for all modes to make it compatible with new greyscale code. + Updated info bars renderer to make it compatible with greyscale code. + Updated Show Camera Model to make it compatible with greyscale code. + Added new menu items to Options Menu: Display Mode: Colour (Default) and Display Mode: Greyscale + New experimental windowed mode image display code. (Under test) The Minimum Picturebox size in windowed mode has been set to 1,1 = to handle 1 pixel images correctly! * Expermental test release - hard locked into greyscale mode. [Build 154] + Rewrote info bar routines to fix long standing issue. Implemented as a Label instead of a textbox. Now totally compatible with Windows Vista! * Had to remove color cycling feature ("." key) from the Fullscreen code, as a side effect of above. + Updated Help File. [Build 153] + Added "+", "-", "/" and "*" keys to slideshow mode (Fullscreen and Windowed modes). + Added "Spacebar" key (toggle selection) to Fullscreen Slideshow. + Added "." (period) key to Slideshow Mode for cycling colour scheme (Both Fullscreen and Windowed modes). + Changed text of View menu item "Fullsize [1:1]" to "Fullsize Zoom [1:1]". + Added onscreen confirmation message in Windowed Mode when entering and leaving Fullsize Zoom Mode. Due to all these messages, it is easier to know the current mode or when one is switched. * Optimised slideshow code (Fullscreen and Windowed modes). + Updated Help and Readme Files. [Build 152] + Added new Edit menu (Select File, Deselect File, Select All Files, Deselect All Files, Copy Selected File(s)) * Final stress testing - this is a stable release! [Build 151] + Full screen toggle routine fixed (indexing bug). * Set file selection limit at 4000 files. * Updated Help File to cover new file selection features. [Build 150] * Rewrote "About" routine to read build numbers from main assembly information. Different message for unregistered copies now. + Added nag screens to "+", "-", "/", "*" and "'"/"Insert" routines (Fullscreen and windowed modes). + Implemented error handling into the file selection and reporting functions. Many possible crashes to do with out of bound array elements fixed throughout the code eg. Folder Report, Deletion Routine, Info Bars (Fullscreen and Windowed Mode). After much testing, this code is now stable. If you now open a folder with greater capacity than the selection routines can handle, the selection routines will now safely be turned off (temporarily). This now has no effects on program stability. * Changed file limit to 3 to allow full testing of safety routines. A fixed file limit for the selection routines will be set in the next version, to allow time for final testing of this code. [Build 149] + Turned complier option "Explicit On" for all files. Made code compatible (Variables need to be declared first). + Turned complier option "Strict On" for all files. Made code compatible (No auto conversion of data types). + Added "+", "-", "/" and "*" keys for select file, deselect file, deselect all files and select all files (in windowed mode). + Added "Insert" and "'" keys for copy selected files (in windowed mode). [Build 148] + Added file selected tickbox to windowed mode (after where it says [File x Out Of x]. [Build 147] + Rewrote windowed mode deletion routine and enabled it again. It now updates the file selection array. * Removed all unneeded 'mainform.' references from the mainform code. [Build 146] + Rewrote fullscreen delete routine to take into account the updating of the selected files array. + Added an alternative key for copying selected files - tilde "'". * Temporary disabled windowed mode delete routine until it is rewritten. [Build 145] + Added code for Insert key for copying selected files to Desktop. (Fullscreen mode only at this time). After files are copied, files are automatically deselected again. * Change of key function: Spacebar in fullscreen mode now toggles file as selected/deselected. [Build 144] * Updated Wallpaper Class file to avoid any 'Null' value returned errors. Now well behaved! * Updated format of this Release History file - newest version on top - oldest build at bottom! + Added new keys (Fullscreen mode only at this time): + = Select File (shows as a tick on top info bar or a message appears, if info bars are switched off!) - = Deselect File (shows as a tick on top info bar or a message appears, if info bars are switched off!) Numeric Pad / = Select No Files (With Message) Numeric Pad * = Select All Files (With Message) * Report on the T key now shows the amount of files currently selected. [Build 143] + You can now double click on the system tray icon to restore Picture Viewer Pro [Build 142] + Due to oversight, added "B" key to slideshow mode (as per description in user manual). Same as "I" key. * Updated shipped Readme text file - now up to date as per user manual. [Build 141] + The "," key for showing camera model used for current image, now works during a slideshow. + Added new “V” key to show program version information etc. (All Modes) * Updated Help File. [Build 140] * Totally removed support for GIF files, as these are not photographic quality and are best viewed in a web browser! + Finalised layout of help / user manual. [Build 139] * Finalised layout of bottom info bar! Now changes text for "Focal Length", if screen width is smaller than 1280. + Added code to allow Esc key to be used to break out of a slideshow (exits program as normal use of that key does). + Added F1 key to Windowed Mode (for showing the help file). + Totally rewrote (and compiled) a new help file and added it to the program. * Changed text to be more friendly (when K key is pressed). + Added support for 7,8 and 9 keys during a slideshow (for selecting speed: slow, medium, fast). [Build 138] * Changed format of bottom info bar (Back to that used in build 135!) [Build 137] * Swapped left and right mouse function again: * Made final changes to mouse operation: When In Windowed Mode: Left mouse button enters Fullscreen Mode, if an image is open, else it brings up the open file dialog box. Right mouse button closes current image, if one is open, else it closes down the program. "Back" extended button will cycle colour scheme, if no images are open. Otherwise, will show Exif info. "Forward" extended mouse button exits program. When In Fullscreen Mode: Left mouse button returns to windowed mode. Right mouse button enters fullsize zoom mode (with new onscreen confirmation of mode change). "Back" extended mouse button flips info bar status. "Forward" extended mouse button exits program. When In Fullsize Mode: (Cursor is shown for dragging) Left Or Right mouse click button exits fullsize zoom mode. "Back" extended mouse button displays Exif info. "Forward" extended mouse button exits program. + A folder report (On the "T" key) is now available in all viewing modes. + Added a camera model report on the comma key (windowed and fullscreen modes). [Build 136] * Increased reported lens size accuracy (on bottom info bar) + Added code to neatly shutdown program when Esc key pressed. The old code could throw exceptions when debugging. * Changed format of bottom info bar (once again!) to display more like the popluar "pbase.com" photo info [Build 135] * Made further changes to mouse operation: When In Windowed Mode: Left mouse button enters Fullscreen Mode, if an image is open, else it brings up the open file dialog box. Right mouse button closes current image, if one is open, else it closes down the program. "Back" extended button will cycle colour scheme, if no images are open. Otherwise, will show Exif info. "Forward" extended mouse button exits program. When In Fullscreen Mode: Right mouse button returns to windowed mode. Left mouse button enters fullsize zoom mode (with new onscreen confirmation of mode change). "Back" extended mouse button flips info bar status. "Forward" extended mouse button exits program. When In Fullsize Mode: (Cursor is shown for dragging) Left Or Right mouse click button exits fullsize zoom mode. "Back" extended mouse button displays Exif info. "Forward" extended mouse button exits program. * Changed text and delay when entering fullsize zoom mode from fullscreen mode. [Build 134] + Added new more accurate code for decoding apperture size in info bars and Exif info. * Changed text for program mode - "Sports" in Exif info. [Build 133] * Altered format and layout of info bars again. * Changed behaviour of mouse buttons again: When In Fullscreen Mode: Left mouse click returns to windowed mode. Right click enters fullsize zoom mode (with new onscreen confirmation of mode change). "Back" Extended mouse button flips info bar status. "Forward" Extended mouse button exits program. When In Fullsize Mode: (Cursor is shown for dragging) Left Or Right click button exits fullsize zoom mode. "Back" Extended mouse buttondisplays Exif info. * changed the way metering mode is reported in the Exif routine ("X" Key) [Build 132] * Bugfixed 131! Added Code to handle no Exif data when displaying Info bar stats. Removed RAWSync reference found in toolbar code! [Build 131] * Made changes to the way Exif program modes are reported. + Added shooting information to the info bars. Changed layout of the text reported as well. [Build 130] + Rewrote Shutter speed decoding routine (for EXIF Data). Now shows in fractions instead of incomprehensible decimals! Cleaned up its output formatting for other values as well. [Build 129] * Changed wording of registration text slightly. + Added new code to slideshow routines: Now displays a message when the end of a slideshow has been reached (Or if "Q" is pressed). Now enables use of the "I" key (Info bars) during a Fullscreen slideshow. Fullscreen slideshow menu option now returns to windowed mode afterwards! * Fixed longstanding issue with showing and hiding the cursor (pinvokrstackimbalance showcursor) - now using the .Net 2005 way of doing it! Stack more stable now! * Increased length of wallpaper changing preview delay (Fullscreen mode). [Build 128] * Added new splash screen (Final design!). [Build 127] + Changed last references to "RAWSync Viewer Pro" in the code to "Picture Viewer Pro". Changed registry key locations. [Build 126] + First internal alpha build of "Picture Viewer Pro" - The new and final name for this program! * Made changes to bottom info bar to make it more readable! [Build 125] + Finished new feature from Build 124 so that data is also displayed like that in fullsize zoom mode as well. ! Fixed layout space bug in top info bar. + Added file date and time info into bottom info bar (taken from file's Exif data). [Build 124] + Added new code to restore date into UK format and change time into AM/PM format for EXIF data. [Build 123] + Finalised full screen colour scheme handling. There are now 3 schemes - Black, White and Grey. The current scheme is now remembered! [Build 122] + Added provisional support for cycling background colour scheme in full screen mode from black to white and white to black! [Build 121] + Added new "Year At A Glance" Calendar Utility to Tools Menu. [Build 120] * Changed code to use Option Explicit and Option Strict. Updated code to be compatible. More efficient! [Build 119] Ported all code over to Visual Studio 2006 and .NET Framework v2.0 - Test Build! Altered code to make it compatible. [Build 118] * Currently rewriting fullscreen display code. Experimental! Test Build. [Build 117] + Limited internal test release. Updated splash logo. [Build 116] + Once again, changed the behaviour of mouse button support: Windowed Mode: Left mouse click on image area opens a new image. If an image is already open, it switches to fullscreen mode. Right mouse click closes image, if open, or else quits program, if image already closed! Fullscreen Mode: Left mouse click returns to windowed mode. Right mouse click, displays Exif info. Extended mouse button support: The Top "Forward" mouse button now acts as an Escape key (in all modes), exiting the program. The Bottom "Back" mouse button now enters new fullsize zoom mode [1:1] (Press again to exit!) - except when in windowed mode, when it shows Exif info. (The Bottom "Back" button will also cycle colour schemes if used in windowed mode and no images are open.) [Build 115] + Changed Exif Info routine ("X" Key and Back Mouse Button) to temporary switch on Info Bars ("I"), if they are not already enabled - in order to show extra image information. [Build 114] + Added new scheme to main menu and added it to cycling button "." The second colour in the sequence is the old default Grey colour! [Build 113] + Changed default background colour to a new custom colour - Deep Sky Blue. [Build 112] + Changed cursor to Hand style when hovering over image in windowed mode. [Build 111] + Changed all dates in project to 2006! [Build 110] + I did a full review of this project and have decided to redo the main rendering engine from scratch. I have used Build 109 as source of this new version and ripped it apart and put in new code. Large sections of the code are currently commented out as work continues on this... [Build 109] + Rewrote the image aspect ratio detection code to make it more accurate ! Currently bug where fullscreen code isn't displaying 11:9 format except when on initial autoadjust routine. ! End of the line of this source code version. New branch started. [Build 108] + Added in support for 11:9 (352x288) video aspect ratio [Build 107] + Added in support for the Motion Picture/HD Aspect Ratio (2.35:1) [Build 106] * Bugfixed - background colour on Current Folder and Current Image Textboxes set to white. [Build 105] + Added in code to recognize, report and display 16:10 format images in fullscreen mode (Auto). [Build 104] + Added in code to recognize, report and display 16:10 format images in windowed mode (Auto). [Build 103] + Enabled new Sleep routine and did a total code overhaul to handle "events coming to life" during slideshows etc. Mouse and keyboard handlers updated. [Build 102] * Changed Current Folder and Current Image Textboxes so that they are read-only now. [Build 101] * Fixed tab order on main form. [Build 100] * Fixed bug whereby "Tools - Show Folder Report" wasn't being disabled when images were closed. [Build 99] + Added in new replacement code for "Sleep" routine. This has a large impact on making the program more responsive, especially to system events. {Currently disabled until some issues are addressed} [Build 98] + Added in new Mutex code to stop more than one instance of RawSync Viewer Pro running at a time. [Build 97] + Added code to detect Widescreen displays and report on current Aspect Ratio in Help - About Supported Aspect Ratios are 5:4, 4:3 and 16:10 [Build 96] + Installed development environment and ported sourcecode over to new widescreen laptop for further development work. [Build 95] + Redesigned main program logo (final!) [Build 94] + Added new 'LCD Dead Pixel Test' on "D" key (windowed and fullscreen modes and on Tools menu). [Build 93] + Added code to make sure main program is always centred on screen, no matter what video mode is used. [Build 92] + More speed optimisations. [Build 91] + Altered layout of information shown on bottom bar (final!) [Build 90] + Added new key "0" in windowed and fullscreen modes to cycle and report on wallpaper style. [Build 89] + Various status messages now appear in fullscreen mode to reflect keys pressed. [Build 88] + Now reports onscreen in windowed and fullscreen mode when aspect ratio is changed and when slideshow speed is altered. [Build 87] + Changed to a better layout of info bar information - less confusing now! [Build 86] + Change of behaviour - closing an image down or switching off Auto Aspect Ratio mode, always reverts to the default 3:2 aspect ratio. [Build 85] + Added full support for detecting and viewing 16:9 format images properly (in auto mode). [Build 84] + Development version tested on many different display sizes and Operating Systems. Many small bugs fixed. [Build 83] + Doubled speed of EXIF info routine. [Build 82] + Fixed bug in fullsize routine, where it was sometimes locking the current file. [Build 81] + Added extended mouse button support: The Top "Forward" mouse button now acts as an Escape key (in all modes), exiting the program The Bottom "Back" mouse button now shows the current file Exif info (in all modes). (The Bottom "Back" button will also cycle colour schemes if used in windowed mode and no images are open.) [Build 80] + Designed new splash screen for when no image is open. [Build 79] + Added support for 14 other raw file formats. Canon SLR (CR2) is selected as the default. [Build 78] + Added new "." key in windowed mode to cycle through the available colour schemes. [Build 77] + Added new "Interface Colour Scheme" onto Options Menu, along with selected chosen colours. [Build 76] + Redesigned all icons - now transparent and with description underneath the graphic depicting filetype. [Build 75] + Registration system added to show annoying nag screens and effectively cripple unregistered versions. The unregistered version does not allow files to be dropped onto the program and nags at startup. It also disables the following features: View - Fullsize [1:1] ("Z") Tools - Email Current Image ("M") Tools - Set Image As Wallpaper ("W") Tools - Show File Exif Info ("X") [Build 74] + Implemented new function - to set current image as wallpaper (on Tools Menu and "W" Key) - in windowed and fullscreen mode. Menu Options added for selecting Centred, Tiled and Stretched modes. [Build 73] + Changed operation of "C" key - Closes an image as before, but if an image is already closed, shuts program down - in line with the new right mouse button operation in windowed mode. [Build 72] + Added new "K" key in all modes - to show quick keyboard control help. [Build 71] + Fixed bug where sometimes program would keep a closed file locked in windows. [Build 70] + Added Explore Folder and RAWSync! Folder options to Tools menu. [Build 69] + Added Exif Support - Now on the "X" key in all modes. Entry also added to Tools menu. (The "C" key still closes an image and acts as it did before). [Build 68] + Updated links to point to new RAWSync Pro Support website. [Build 67] + Rewrote current image mouse click handler - Windowed Mode: Left mouse click switches to fullscreen mode, if image is open, else it opens one! Right mouse click closes image, if open, or else quits program, if image already closed! Fullscreen Mode: Left mouse click returns to windowed mode Right mouse click, enters new fullsize zoom mode [1:1] [Build 66] + Implemented new fullsize zoom mode [1:1] on the "Z" key or right click from fullscreen mode to enter. Right clicking exits fullsize zoom mode and ESC exits program. [Build 65] + New main loop viewing logic, optimised for speed. [Build 64] + When RAWSync button is pressed, it now reports on processing being done to files. [Build 63] + Added support for viewing rotated 4:3 (3:4) and rotated 3:2 (2:3) format images. [Build 62] + Added new "7", "8" and "9" keys to select Slideshow speed (Slow, Medium, Fast). [Build 61] + Added new "Email Current Image" function on new Tools Menu and on "M" key. [Build 60] + New logic used in fullscreen viewing code for speed optimisation. [Build 59] + GUI Modifications - finalised layout in different modes. [Build 58] + Added new proper compiled .chm help file to the program! [Build 57] + Added new "Auto Change Aspect Ratio" function - Options menu and on "A" key. Enabled by default, program now selects proper aspect ratio automatically for each image. [Build 56] + Implemented new system tray menu to work with above key! [Build 55] + Implemented new "H" key to hide program in windowed and fullscreen mode. It still runs in system tray. [Build 54] + Now accepts "I" and "B" keys, allowing menu mode change (only) in windowed mode. Enter key now quits from fullscreen mode back to windowed mode. [Build 53] + Escape now directly quits program from both windowed and fullscreen mode. [Build 52] + added full drag and drop compatibility, including startup parameters passed from explorer! Double clicking on an associated file type now runs RAWSync viewer in full screen mode, with info bar turned off and repeat turned on. [Build 51] + Added support for 5 file types - now supports JPG,TIF,PNG,BMP,GIF Images, along with an association and a separate icon for each. [Build 50] There are 4 officially supported screen resolutions in windowed mode. 1280x1024 (Default), 1024x768, 1152x864 and 800x600 All others are unsupported and default to the 1024x768 form size, which has been tested to fit ok! [Build 49] + Added Custom Support for 1024x768 Video Mode. [Build 48] + Added "3", "4" and "5" key support for changing Aspect Ratio by keyboard in windowed mode. [Build 47] + Added proper Aspect Ratio support to windowed mode. Changed text of options to reflect this. [Build 46] + "Help - About" now reports current video mode (and if the current mode is supported). [Build 45] + Rewrote Fullscreen file info code to include above function and split over a top and bottom bar now. [Build 44] + Added new code to display current file dimensions and computed aspect ratio (5:4, 4:3 or 3:2) [Build 43] * Cosmetic changes to source code to reflect new project name - "RawSync Viewer Pro". RawSync Viewer v1.4 (Build 42) - Released 11th September, 2005. --------------------------------------------------------------- + Redesigned sync button. + Added new function - double clicking main image when no file is open, now brings up the open file box. + Changed two key assignments. "Q" is now used to quit the slideshow mode and "E" now explores the current folder. + Updated Internal EXE version number and contact/support information for add/remove programs. RawSync Viewer v1.3 (Build 38) - Released 10th September, 2005. --------------------------------------------------------------- + Fixed bug in "Explore Folder" code - it now correctly handles folders with commas in the name. + Changed RAW Subfolder detection code to handle the case of an EMPTY RAW Subfolder properly. + A few cosmetic changes. RawSync Viewer v1.2 (Build 35) - Released 8th September, 2005. -------------------------------------------------------------- + Added "Help - Visit Support Website Link" to tie in with new website just launched. RawSync Viewer v1.1 (Build 34) - Released 8th September, 2005. -------------------------------------------------------------- + Added fullscreen aspect ratio selection to options Menu + A few cosmetic changes. RawSync Viewer v1.0 (Initial Release, Build 32) - Released 8th September, 2005. ------------------------------------------------------------------------------- + New Aspect Ratio Code added at last minute. RawSync Viewer Pre v1.0 (Alpha, Beta Versions, Builds 1-31) - Internal, Not Released August, September, 2005. ------------------------------------------------------------------------------------------------------------- + Initial Development Versions - New features added and tested until stable.