Variations Changelog ******************** Base - 0.05 02/03/2002 Newest changes first. 0.41d 05 February 2008 ---------------------- Made user-specified crop aspect ratios work. Fixed problem that prevented JPEGs loading in RISC OS 6 Other minor changes. 0.41c 01 August 2005 -------------------- Three very small bugfixes. I can't seem to find the motivation to work on Variations much at the moment. The rotate button in the thumbnailer toolbar was rotating the thumbnails for the selected images but not the images themselves. (the rotate menu items worked correctly). Roger Darlington. Shift-dragging all of the thumbnails to another directory produced a spurious but harmless 'Dynamic area 0 is invalid!' error. Roger Darlington. When using click-to-rename the program was still not advancing to the next name correctly if the full view window was open and was over the thumbnails window. Roger Darlington. 0.41b 07 July 2005 ------------------ Highlights: Improved search (search for words, search state saved with choices). Slideshow (quick cut, faster, caption text better placed). Multi-rename by date format can now be defined. Bugfixes (orientation data recognised again, search handles files with simple comments, redraw/sort related issues) Export thumbnails as draw tidied up a little. Now works correctly in 'metadata' view mode and writes full info text correctly. Obeys thumbnail sort order too. Multi-rename: files are renamed in the order in which they are displayed (ie. multi-rename now obeys the chosen sort order instead of always using 'native' sort) Multi-rename: This is a bit geeky but someone asked for it... The format for rename by file date and rename by exif date can now be set. An example is given as you alter these format strings. The full list of available tokens is a bit esoteric (see SWI OS_ConvertDateTime in the StrongHelp OS manual). In addition to these tokens a hash character inserts the increasing number which may be set at the top of the dialogue. Eg %24%mi%w3%dy%m3%ce%yr_# gives filenames like 1932Thu07Jly2005_001 Where: 19 = %24 (24 hour) 32 = %mi (minute in hour) Thu= %w3 (Short form of week day) 07 = %dy (day number in month) Jly= %m3 (Short form of month) 20 = %ce (century) 05 = %yr (year in century) _ = _ (characters other than % prefixed tokens are passed directly) 001= # Examples: %w3%dy%m3%ce%yr_# = Thu07Jly2005_001...Thu07Jly2005_002...Fri08Jly2005_003... #_%12%mi%am%mo%dy%ce%yr = 001_0932amJune062004, 002_0933amJune062004 Notes: The use of a hash (and possibly a separator) is a good idea. It makes certain the filenames produced will all be different. Characters other than tokens and # are passed to the renamed output so you can insert fixed sequences of letters. You have to respect the filing systems limitations on 'special' characters to prevent errors when renaming. Generally, avoid " . # * $ % etc. You can use a hard space (Alt plus space key) in place of a normal space which is illegal in filenames. Eg. %w3 %dy %m3 %ce%yr gives 'Thu 07 Jly 2005'. Note that some filing systems may not like hard spaces either. If you enter an invalid time token '-invalid-' will be shown in the example icon and the multi-rename won't work until you fix it. Multi rename by Exif date is now classed as potentially 'dodgy'. :-/ The exif DateTimeOriginal field is stored as a string. I convert this to five byte time format and then pass it through OS_ConvertDateTime. My code may fail if a camera stores the DateTimeOriginal field differently (though they shouldn't, it's a part of the exif standard). This code may also fail to work with images from cameras without an internal clock. Slideshow: Caption text was being printed one line higher than it needed to be. Slideshow: When 'wait until a key or mouse button are pressed' is selected in the slideshow control window pressing the left arrow key now has the same effect as pressing the ADJUST mouse button. The slideshow goes back to the previous image. (pressing any other key advances to the next image). Changed method of scanning the keyboard to prevent images being skipped. Slideshow: Made the program faster and more efficient. Previously it did a lot of memory copying that it didn't really need to do and this increased the minimum time needed to get from one image to the next. Slideshow: New in transition 'Quick cut'. Tries to do an instantaneous transfer between the old image and new. Needs to be able to allocate twice as much memory to the screen as normal to work correctly. Untested on anything other than an Iyonix. I'm hopeful that it will just display the image normally on computers that can't manage it fully. If it crashes your box turn it off and save choices. Slideshow: 'No effect' made an out transition that you can now turn off. You can now choose a single in transition and a single out transition and always have it used (formerly 'no effect' would be chosen randomly as an out transition and spoil the pattern. Eg. Try ticking just In -> Dotfade and Out -> Fade Slideshow: Images appear in the slideshow in the same order in which they are displayed in the thumbnail window. This lets you sort by size and see the biggest images appear first in the slideshow or sort by category and see the images in the slideshow grouped by their categories. Bugfix: Mark with tick or cross now works correctly when the sort type is not set to 'Native' or 'By Name'. Window redraw speed/efficiency improved too. Bugfix: exif orientation data is being read when thumbnailing once again (broken between 0.40 and 0.41). Bugfix: Slideshow font size saved with choices (missed in earlier versions) Search dialogue state saved with program choices. If you habitually search by location or category (or a combination) you can have the search dialogue coming up with these ticked (and even a default string to search for if you want). The caret is automatically given to the first active writable icon in the search dialogue when it is opened. Three new search types added, reworded existing ones. 'Contains the text' (formerly 'Contains') Substring search. What you enter must appear exactly within the comment being searched to register a hit. 'Contains all of the words' (NEW) Word search. All of the words you type must appear in the comment to register a hit. They can appear in any order. 'Contains some of the words' (NEW) As contains all of the words but as long as at least one of the words you enter is found the search is considered a 'hit'. 'Doesn't contain the text' (formerly 'Does not contain') Substring search. What you enter must not appear exactly in the comment. 'Doesn't contain the words' (NEW) None of the words you enter must appear in the comment for it to be a 'hit' 'Is exactly the text' 'Begins with the text' Bugfix: JPEG files with simple comments in them caused errors when searching if a variations cache file was being used to search against. 0.41 30/6/2005 -------------- Highlights: Sorting. Searching. ITPC dialogue enhancements. ITPC data for all object types. Enhanced slideshow (new effects, can display caption or location). Thumpinfo file import. Bugfixes. New features ------------ * Sorting. Thumbnails may now be sorted by name, size, date and category. ('Native' is also available at the moment for debugging purposes, being the order in which the filing system gives the objects to Variations). In 'Category' sort mode you have three sub-sort options to define how items with the same category are sorted. (Filename, Date, and Size). NB. Files with no category information always appear first in the thumbnail window. This is handy when categorising a directory of images. Simply categorise the first images displayed until the first objects are in categories and you've done the lot. Using categories and the sub-sorting modes it becomes very easy to find (for example) the largest Train picture in a directory, or the oldest Holiday photo. * ITPC format metadata can now be entered for all object types. JPEG files have this data written into them immediately when you click on 'Write data' in the ITPC dialogue box. For other filetypes you must save a cache file to record the information you've entered for later use. If non-jpeg objects have had metadata assigned you will get a warning dialogue on closing the thumbnail window or starting to thumbnail another window which allows you to save or discard the data that you have entered. Notes: This lets you categorise, caption and add keywords to other file types. Even directories or applications. Limitations: Files that aren't jpeg don't have the extra data stored inside them. So if you make copies or modify the files this information will be lost. * Searching. Simple searching of itpc data is now supported. Menu over the thumbnailer, 'Search...' to open the search dialogue. By default the search starts at the directory already thumbnailed (drag another to the window to start looking there instead). By default any sub-directories are also searched. Searching can be by keyword (default), category, caption or location in any combination. When searching more than one field you can specify whether all of the enabled search criteria have to be met (logical AND) for the image to be deemed a 'hit' or any of the enabled criteria (logical OR). 'Match any' (a logical OR) is the default. For example, 'Match any' Categories...Contains...Signs Location...Contains...London This will return any pictures where the category contains the word 'signs' OR where the location fields contain 'London'. Changing the search to 'Match all' returns only the pictures of signs in London. You can also invert the sense of individual search criteria. 'Location'...'Contains'...'London' can be made into 'Location'...'Does not contain'...'London' by clicking in the appropriate place within the window. Another example: 'Match all' Categories... Does not contain...'Statues' Location... Contains...'Scotland' This would return only those photos taken in Scotland that are not of statues. Search results are returned as a collection of thumbnails. You can slideshow these, edit them, copy to a directory, save as a collection etc. using the normal thumbnailer functions. If you would like the results of multiple searches to acrue change the 'With results' button from 'Make a collection' to 'Add to collection'. Clicking on [Search] with Adjust keeps the dialogue box open so you can search the same directory structure another time. Handy if the search did not turn up with what you were looking for. Searching is speeded up dramatically if there is a variations cache file in the directory being searched. Searching jpeg files with no cache file the program manages 20-30 files per second on an Iyonix. If a cache file is present this speed jumps to ~300 files a second. Save cache files in directories containing lots of images. You can make this automatic with an option in the choices window. * ITPC dialogue enhancements. There are now a number of default text files for the various ITPC sections. Clicking on the small text icon beside a section/writable inserts the contents of the relevant text file into the writable icons. Adjust clicking on the small text icon lets you edit the default file. These are all stored in !Variation.ITPC. There are also popup menus of defaults for two sections (Keywords and Categories). Clicking on a menu entry without holding shift adds that menu entry to the associated writable. Shift-clicking on the menu entry will remove it from the associated writable. Adjust clicking on the menu popup icon will let you edit the defaults. The defaults I provide are unlikely to suit you. I suggest you modify them. * Slideshow enhancements When 'Wait for keypress or mouse click' is chosen ADJUST may be used to return to the image previously displayed and MENU will exit to the desktop. New options to display title & caption, date or location on each image as well as the filename. New transitions. These should all 'work' on all computers. Some of them will not work well on standard RiscPCs. A brief rundown of the available effects follows. If there is one you don't like you can 'turn it off' by clicking on the menu button beside 'Use transitions' in the slideshow control window and unticking the appropriate menu entry. Alternatively if there is one you particularly like turn the others off to use just it. Active transitions are chosen from randomly. You can't choose which ones get applied to which images. Yet. It can be particularly useful to turn off all 'out' transitions so that each new image appears over the old. All of the settings in the slideshow control dialogue are saved with the programs choices so opening the choices window and saving choices after making changes preserves these settings the next time the program is loaded. REMINDER: To get the slideshow control window Shift-Click on the Slideshow button in the thumbnail toolbar or select thumbnails, Menu, Selection->Slideshow... In transitions -------------- - Fade. Fade from/to Black. Should work on everything though I've had a report from an Omega user that it doesn't work on his computer. - Dotfade. Fade using random blocks ranging in size from single pixels to 16x16 blocks (size chosen randomly). Should work on all computers. May be slow in high resolution modes on RiscPCs. - Dottrans. Two stage dotfade. First stage is 50% opacity. Turn off all 'Out' transitions to fade an image over the previous one. - Dotplink. Multistage dotfade. The idea was to simulate 'raindrops'. Sort of. - Tblinds slow. Slow on anything other than an Iyonix (and even then you're probably best to drop the desktop resolution a bit). - Blinds. Simple 'horizontal blinds' effect. - Tblinds fast. A better transparent fading blinds effect. Turn off Out transitions for best effect. Tolerable speed at 1920x1440x16M on an Iyonix. - Scroll up/Scroll up fast/Scroll down/Scroll down fast. Suitable only for computers with accelerated rectangle copy (Iyonix, possibly VRPC, possibly A9, possibly RiscPC+Viewfinder). It'll 'work' on a RiscPC but it will be horrible. Trust me. Out transitions --------------- - Fade. As in transitions. - Scroll up/Scroll down. As in transitions. Iyonix or computers with accelerated rectangle copy only. - BlackB left. Big black blocks from the left. - Curtain out. What it says on the tin. - Curtain in. Ditto. - Red fade. Naff. To be replaced. - Dotfade. Quite nice. There is also another 'out transition' that doesn't appear in the menu and as a consequence you can't turn it off. It is simply 'nothing'. :-) * New thumbnail display mode 'Meta'. Modes available are now: 'Large' (large thumbnails). 'Small' (small thumbs). 'Camera' (formerly 'More info' - basic exif info) 'Meta' (new - ITPC metadata only) 'Full' (more extensive camera info, all comment and metadata) * Thump info import. A 'Thump to ITPC' menu item will appear when you thumbnail a directory with a !thumpinfo file in it. Choosing this menu item scans the thumpinfo file and writes comment and keywords into itpc block in the associated jpegs. NB. I have not tested this extensively. Reports welcomed. Keep backups! Click-to-Rename now redraws the window when necessary (when width of renamed item is greater than the old 'widest item'). NB. Currently when renaming in this way the thumbnails are NOT automatically re-sorted. This is because when using Click-to-rename the rename writable icon wouldn't be able to advance to the next object sensibly if things are shifted around after every rename. So if you start with Alpha,Beta,Gamma, and rename Beta as Omega the writable will advance to Gamma (thumbnail order at this point A,O,G). Choosing sort by name from the menu again would re-order things correctly (A,G,O). * Multi-rename window expanded to provide the add & remove /jpg (DOS) extension functions (and these menu items have been removed). The multi-rename dialogue will also now let you add an arbitary extension to or remove one from the selected objects. * GIF thumbnails are now made (more rapidly) using Intergif. * When dragging a selection from the thumbnailer the program now attempts to make a 'drag sprite' from (up to five of) the selected thumbnails and it only uses the default 'package' icon if this fails due to a lack of free memory. * Many minor changes made to to redraw and display code designed to speed things up a bit. Bugfixes -------- Bugfix: When dragging a selection from the thumbnailer window to the iconbar the iconbar did not automatically pop to front even when configured to do so. This was due to me turning on auto-scrolling of the thumbnailer window (to allow you to copy a selection into a directory that was also thumbnailed by dropping it over it). To get around this problem autoscrolling of the thumbnail window is now only turned on now if you Alt-drag a selection. Bugfix: Writing ITPC data, rotating a jpeg and rebuilding a thumbnail the program no longer changes the date of the file to todays date. Bugfix Selection -> Thumbnail -> Rebuild This could corrupt certain files if they wern't truly exif. If you have any that have suffered from this they are recoverable using !Jack from David Barrow or via the new (0.41) menu item 'Clean & repair'. Files that suffered were those that had exif data but no thumbnail. Bugfix: Renaming a thumbnail could corrupt cached exif data resulting in a 'Broken TIF header in file' error. Bugfix: When using click-to-rename the program could sometimes skip an item if you renamed a very short name as a long name or vica-versa. Bugfix: When using click-to-rename the thumbnail spacing didn't get recalculated to cope with very wide names. Vari will now space out the thumbnails if you rename one with a very long name. It won't automatically shrink the spacing when you rename the longest name shorter. Click on the display radio (Large, small, info, full info) to do this. Bugfix: The program should cope with loading 180dpi sprites. Bugfix: Loading an image from the thumbnailer and using the Fade, Shape or Border variations effects could sometimes get the aspect ratio of the variations thumbnails wrong. (I refuse to call this a bugfix!). Icons in some of the toolbars were unfilled RISC OS Select draws these icons very differently to any other version of RISC OS (you get white text on pale grey instead of the correct black text on grey). Icons changed to filled ones to avoid this. 0.40b 30/5/2005 --------------- ITPC data dialogue box redesigned to work with RISC OS 4. In addition: If a single thumbnail is selected this is displayed in the pane on the right of the ITPC dialogue to remind you of the image you're writing comments into. URL field now present in ITPC dialogue (in Location section) 'object name' itpc field renamed 'Title' and given more priority. Windows 'title' exif fields map to itpc 'title' (object name) field. Software tag read/written in itpc block. Subtle change to the priority system in comment handling to ensure that ITPC fields (if present) display ahead of EXIF and COM blocks. Two new keyboard shortcuts for thumbnailer (when thumb window has keyboard) Ctrl-A = Select all Ctrl-Z = Clear selection 'predisplay' time (the time to calculate the width of every thumbnail and every piece of text that will be drawn in the window to work out how many rows and columns can be displayed in it) has been approximately halved for more info and full info modes. Bugfix: 0.40 could write 8BIM segments to the ITPC metadata not a multiple of four bytes in size. This caused Photoshop to complain that the image was broken (though it still successfully loaded it and extracted the metadata). Redraw of selected thumbnails made more efficient. Solid blue plinth in 'more info' and 'full info' is now optional. New option in thumbnail section of choices 'Solid plinth'. Info headings for full info mode may be turned off. New option in thumbnail section of choices. 0.40 27/5/2005 -------------- Highlights: * Image editing. * ITPC metadata read/write. * Multi-file thumbnail rename. * Save/load 'Collections' of thumbnails. * Thumbnailer in 'collection' mode lets you have files that are in different locations all in the one thumbnail window. * Automatic rotation of thumbnails/selection of images for cameras with orientation sensors. * Compare two images side by side * Bugfixes and miscellaneous options/features requested by users. Bugfix: Occasionally dragging from the thumbnailer to an application failed to work (drag ignored). Bugfix: Using Variations 0.39 as a PCA Tool caused an error. Bugfix: Histogram redraw was going wrong. Bugfix: Entering values into writable fields in colour picker dialogues caused Variations to freeze. [Colin Carnegie] Bugfix: The compare original and thumbnail, save for web and compare two images window had redraw problems at <100% scale. [Originally reported by Chris Terran ages ago] Bufix: 'EXIF Hack' option for RO<4 users: When turned on, could return a jpeg size 4 bytes smaller than is correct. Symptoms: garbage at extreme bottom right of thumbnails, 'Unexpected end to jpeg stream' error when rotating images or thumbnails. Bugfix: JPEGs saved with Adobe Photoshop < version 3.0 could cause errors as Variations tried to parse an APP13 data block that was in a different format. Vari now ignores such blocks. Bugfix: JPEGs with an aborted exif header (no thumbnail) and an exif header size that wasn't a multiple of four bytes caused all sorts of problems. Stuart Hallidays texture jpegs which include the comment 'NOCTUA Graphics Seamless Texture, Optimised by Pegasus Imaging Corp' were examples of these. Vari now handles such images. Yet another broken exif variant handled. Files with a 20 byte JFIF header followed by a 'dummy' FF E1 (exif) marker before the real exif marker now thumbnail without error. large interlaced jpegs with no thumbnail in the file now thumbnail about four times as fast. Interactive help for: Choices, Full view window and Edit image toolbar. Scale view options for preview area in Image -> Enhance... dialogue. Done: Tidied up all deletes to use filer_action delete & update thumbnails. View and thumbnailer pane redesigned to use configured desktop font for all buttons. Changed templates: 'Step size' becomes 'Variance' in vari. thumbnails window. Rearranged choices section buttons. ['brian'] Redesigned program info window to use a jpeg file. Saved with choices: Internal steps for effects, auto-rotate thumbs option. Edit !Boot.Choices.Variations.Choices to alter these. ['brian'] Fixed some bump arrows that acted too quickly. New Special effect 'blur' (Choose Specials in the variations thumbnails window, then choose blur from the popup. Large area blur effect, obeys mask. Not all of its modes are implemented yet. Compare two images button in main image view pane. Drag a jpeg or sprite here to compare the two images side-by-side. NB. Window redraw goes wrong if the dimensions of the images don't match. [someone on csa.apps gave me the idea for this] Scale view up and down buttons in main image view pane. 'Shy' toolbars option in thumbnailer section of choices. When on, the thumbnailer and full view toolbars shrink whenever the pointer is moved off them to save screen space. Try it. You'll either like it or loathe it. Optional small version of full view toolbar. Right beside 'Shy' in the thumbnailer section of choices. [both inspired by Roger Darlington - my ideas aimed at stopping the programs toolbars hiding his iconbar] Rename selection. When more than one thumbnail is selected then Selection -> Rename -> leads to a different dialogue that allows you to rename the selection in several different ways. The default, 'Start no.' renames the selection as Image001, Image002 etc. You can change the leaf name and start number. alter the number of leading zeros in it by clicking and typing more at the start of the number writable field. By default the number is inserted after the leafname (default of 'Image'). Inserting a a hash character into the leafname will allow you to place the number elsewhere within it. Eg. '#Image' will give renames of the form '001Image', '002Image'... 'IM_#_backup' will give you the likes of 'IM_001_backup', 'IM_002_backup'... 'File date' will rename the selection with the date of each file. An example of the format used is provided in the dialogue. 'EXIF date' will rename the selection with the exif date. If a file isn't an exif jpeg or the 'Look for and cache exif information' option in choices is turned off then no renaming will occur. [Roger Darlington] Drag selection to the iconbar with ALT held down starts the thumbnailer in collection mode. Images and files can then be dragged in from disparate sources into the thumbnailer to create a 'collection'. In Collection mode the program doesn't allow you to create a directory or save from other programs into the thumbnailer window because it doesn't point to any one 'place' as such. Other operations on the objects within the collection should work as normal. Double clicking on a directory inside a collection thumbnails that directory. Collections can even contain other collections. ['brian' & me] Thumbnailer menu. File -> Save collection -> Collection filetype. Double clicking on one loads Vari if necessary and displays the collection/directory that was thumbnailed. Collections have a representative thumbnail and when thumbnailing a directory /containing/ collections this is used to give an indication of its contents. [me] ITPC comment writing for thumbnailer. Selection -> Edit metadata... [Stefan Bellon] Dialogue modelled on IrfanView. Much more work to be done here, particularly easy ways to add keywords to a selection, searching ITPC info etc. You can keep the dialogue open and change the selection in the thumbnailer to edit data for different images. If more than one image is selected then all of the fields in the dialogue are initially blank. Entering something into one and choosing 'Write' will write that field in all of the files in the selection - leaving those fields that are blank in the dialogue unaltered in the selection of files. This allows you to (eg) write the Author field to all of the files without messing up their individual descriptions. I suggest you copy a selection of images into a temporary directory and play with this feature to understand how it works. Don't forget to tell Vari. to search for comments and set the thumbnailer to display 'full view' first. Modified behaviour of click-to-rename in thumbnailer. Clicking on a thumbnail image now nukes the writable icon. Further modification, resizing the window also deletes any writable instead of trying to keep it in place (something odd about Wimp_SetCaretPosition - the caret wasn't following the moved icon correctly). [Roger Darlington] New choices allow you to specify the dimensions for 'new' thumbnails. Vari creates thumbnails in these circumstances: Save as JPEG with 'exif info' option on, Selection->Thumbnail->Rebuild. Warn when deleting files now optional. In thumbnail section of choices. (warning is on by default). [Roger Darlington] Keyboard shortcuts for thumbnailer. Delete = delete selection. < = rotate selection left. > = rotate selection right. *PLEASE* be careful with these, particularly if you turn off the delete warning as a single keystroke when the thumbnailer has the keyboard will delete the selected files. [Roger Darlington, who never makes a mistake I presume...] New thumbnailer menu item: Selection -> Auto rotate Requires a camera with orientation sensor and exif files. Only 90 left and 90 right of 'normal' handled at present. NB. When 'Auto-rotate thumbs' is on there isn't much visible effect from using this option (the orientation arrows disappear, that's all). [Peter Noble] New thumbnailer menu items: Selection -> Thumbnail -> Rebuild Selection -> Thumbnail -> Rotate left Selection -> Thumbnail -> Rotate right NB. The rotation options only rotate the thumbnail image in the exif file. The main image data is not rotated by these. Use when the thumbnail is out of step with the main image. NB. Selection->Thumbnail->Rebuild uses the main image buffer, loads each image in the selection, creates a new thumbnail for it and then inserts this back into the jpeg file. So the last image in the selection. will be loaded at the end of this process. NB. This adds a thumbnail to jpeg files that don't have one, adding a dummy exif header as it goes. [Roger Darlington] Auto-rotate exif thumbs when thumbnailing a directory. Optional (thumbnailer section of choices). Saved with choices file. On by default. Requires a camera with an orientation sensor and valid exif files. NB. Still possible for the thumbnail to be out of sync if you used something that rotates the main image and not the thumbnail or rotates the thumbnail and doesn't re-write the exif orientation tag with 'upright'. Use Thumbnail-> rotate or rebuild options to fix if you encounter such. [I forget who asked for this, sorry!] Visible indication of image orientation overlayed at bottom left of thumbnails. (only 90 left and 90 right of 'normal' handled at present) Edit button in main image view pane. Turns on image editing mode. Editing functions currently available: * Paint - Ctrl click for colour sampler. Paint modes include: * Normal * Add * Subtract * Lighter * Darker * ColDodge * ColBurn * Hue * Saturation * Lightness Many brush behaviour options to play with too. * Auto-redeye - bit simplistic but works ok with example files I have. * Clone stamp - Ctrl click to set sample position. Can clone from another image (sprite or JPEG, drag it to the clone options window) and options for the clone to obey mask at the position being read and at the position being written. Rudimentary 'Heal' option. Tutorials and more work on this to follow. * Paintable single step(for now) undo on Adjust and undo/redo in editing toolbar. To return normal behaviour of the full view window click on the tick button in the editing toolbar (or close the editing toolbar). 0.39 05/01/2005 --------------- Done: Local contrast enhancement via large area USM. 'Image -> Enhance...' Lots of options. Play with them. Run !Help if you don't know what to do. ADJUST drag sliders to update preview on the fly. The default (radius 50, Amount 20%) gives a gentle contrast boost. Dialogue obeys any mask defined so you can use this to direct usm to a particular region of the image. Done: Added Select->Saturated and Select->Unsaturated to the mask editor to allow you to quickly select pixels by their saturation. Done: Dramatically speeded up (factor of 40 or even more!) common cases for 'Feather' in the mask editor. Selecting the root menu item ('Feather ->') now applies a feathering with the dialogues current settings. Done: The settings of 'With EXIF data and thumbnail' 'With ITPC comments and photoshop data' and 'Write comment' in the save jpeg dialogue are now saved when you save choices. Done: 'Defer jpeg to sprite' option in the jpeg section of choices. When on Variations tries to defer the process of converting a jpeg into a sprite until it really needs to. This makes jpegs appear in the full view window faster (though redraw of the window will actually be slower). Useful if you've configured Variations as an image viewer. Done: Improved thumbnailer selection display with an aim to making it more obvious which objects are selected. This includes a blue dithered checkerboard that is thrown over the selected thumbnails. Also, the name of the object is now inverted (becomes yellow on blue) when it is selected. Done: Thumbnailer. When in 'Single click' mode holding Ctrl and dragging (both over a selection of thumbnails to save them to another application/directory and off thumbnails to drag a box around a selection) now works. Done: Free rotate now allows floating point values for fine control and angles less than one degree. Clicks on the bump arrows change the value by 0.1 degrees. Use Shift-Click for one degree steps, Ctrl-Click for five degree steps. Done: Hue variations effect speeded up dramatically (by a factor of about three). Hue now obeys any mask that may have been created. Done: Warp has a 'preview' option. Defaults to on. Turn off to disable rendering of the warp after every drag. Done: The 'Variations' button in the thumbnailer pane now works. It loads the last image in the selection (if more than one) and displays variations of it. Misc thumbnailer stuff: * Thumbnailer full info mode now displays image dimensions and focal length * Filesize of small files ( <1KB ) is correctly displayed instead of 'few KB' * Exposures longer than one second are correctly displayed. * Very short exposures (faster than about 1/2000th of a second) are now decoded correctly in 'full info' mode. In 'more info' the time given may still be slightly inaccurate (because of a fixed point storage rounding error). * : 'F0 at ISO 0' doesn't get displayed now in more info and full info modes if there is no exif data. * In more info mode a jpeg that isn't exif or an exif with all fields missing now has ' - no exif data found -' as was already the case in full info mode. * 'Full info' mode doesn't waste screen space for images that aren't exif jpegs with a long comment '[DEBUG] Not an exif jpeg or exif cache turned off."' when that comment wasn't getting displayed anyway ('cos the file wasn't a jpeg...) * Some cameras (eg. Nikon 775) write weird stuff to the exif description (control characters outside the normal ASCII range) and comment tags (120 space characters). This messes up 'full info' display as Variations decides the column width needs to be much larger than it really does need to be. So I've added code to sanitise these fields. Removing double spaces, trailing right spaces and replacing unprintable control characters with spaces. * If the thumbnail window width was less than one full column, the scrollbar was set to display the very last image in the directory and the image was selected and then deleted or 'hidden' an Abort on data transfer error occurred on the next window redraw. The number of 'ifs' involved in provoking this one means it took me most of a day to find and fix... * 'Convert jpeg thumbs to sprites' behaviour modified slightly to not scale up thumbnails that are less than 160x120. This improves thumbnail appearance slightly at the cost of a larger black border around such (though 'strip borders' will remove this of course). Bugfix: Saving as a sprite doesn't now create sprites names which include uppercase characters. This allows Paint to function properly when editing these sprites and may stop other programs becoming confused over them too. Bugfix: On RISC OS 5 loading a Select Alpha channel sprite and then applying an effect to it acted as if there was no mask (ie the effect wasn't applied!) Bugfix: Thumbnailer. If an exif jpeg image was missing its thumbnail various odd things would happen including data aborts, missing thumbnails and 'number too big' errors. Strictly speaking all exif jpegs should include a thumbnail but it's better not to crash unless we have to. ;-) Bugfix: Thumbnailer, dragging a box around a selection failed (did nothing) after saving thumbnails as draw. Bugfix: Rotating sprite thumbnails that weren't a multiple of two pixels wide would go wrong - the edges would get lopped off. Bugfix: Rotating a selection in the thumbnailer no longer makes its window jump to the front of the stack (adjust click on 'Selection -> rotate left' keeps the menu in front of the window now). Bugfix: Warp lets you enter the number of divisions with the keyboard - window updates on a RETURN. Bugfix: SWI Wimp_AutoScroll,0 caused an error running the softloaded wimp (RO 3.7) in circumstances where it didn't on RISC OS 5. Modified behaviour to (hopefully) avoid the problem. Bugfix: Previous/Next in the full view toolbar skip files in the directory that aren't images and also copes when an expected image has been deleted (moving on to the next image that does exist). Bugfix: Delete from full view toolbar now updates the thumbnails window (via a nasy hack as I haven't gotten around to finishing off the directory watcher in PCASupport). 0.38 07/11/2004 --------------- Highlights: Warp image Save thumbnails as a (potentially series of) drawfile(s). Save as jpeg optionally preserves exif and comment data and writes new thumbnail. Save as jpeg can write a simple comment too. Full info mode that displays any comments embedded in the jpegs. Save thumbnail window layout and position with program choices. Keyboard shortcuts for full view. Lots of misc. bugfixes/changes. Added 'full info' display mode. Large thumbnail + even more information (jpeg comments). Comments displayed include: Windows added exif tags. EXIF defined comment, author, software, description tags. General JPEG comment blocks (written by The GIMP), ITPC metadata (Author, copyright, description, (non-functional) URL etc as written by Photoshop, Irfanview and others. Done: Added new option (ON by default) to look for and load all exif, APP13 and comment data found inside jpeg files. NB.This considerably slows down thumbnailing of a directory (about halves the speed) so if you aren't interested in comments that may be in jpegs turn this option off and save program choices. You must have this option ON for 'full info' thumbnail display mode to be of much use. Bugfix: Rotating a thumb doesn't corrupt cached comment and App13 blocks. Bugfix: Reuse/rebuild thumbnail cache was corrupting cached exif & comment data. Added to the Display -> submenu: Full info Refresh Save cache file Delete cache file Strip borders Saving the cache file will preserve any 'marks' you've applied to images in the directory. The next time you thumbnail it the same images will again be marked with ticks or crosses. Done: Save thumbnails (or selection) as a (possibly series of) drawfiles in any layout. Save obeys the thumbnail view mode (so more info and full info modes will include the extra information in the drawfile). Get to this by MENU over directory thumbnail window and choosing 'Create drawfile...' NB. I've more ideas for this feature - some greyed out icons in the dialogue and an empty section entitled 'preview' will give you a clue. Bugfix: Saving contacts as draw got the bbox wrong for jpeg thumbs extracted from Photoshop sourced jpeg files - due to these defined as being 72dpi instead of 90. New feature: Image -> Warp... Play with it. I'm not sure how useful it will be. The warp is previewed after every drag on the image. Fast enough to be tolerable with screen size images on an Iyonix. May be a bit slow on a RiscPC so reduce the images size or use less subdivisions. The amount of warping applied as you drag depends on the distance from the mouse pointer. Slider in the attached pane controls the size of the circle of influence. HQ render mode and bezier warps to follow. Done: Made 'convert jpeg thumbnails to sprites' work (didn't do anything before) Done: Added new option to strip black borders from thumbnails. The above option should also be turned on if you want Variations to strip borders from EXIF camera thumbnails. Both options now saved with choices. Stripping is 'fuzzy' in that it will remove rows and columns that are not quite black (no pixels more than 10% lit in a column/row is the rule). In anycase it will never strip more than 20% of the width or height of the thumbnail away so your shots of a black cat at midnight are safe. :-) Done: Option to convert to sprite and remove black borders is applied to new images found during a directory refresh/reuse. Bugfix: Rotating a jpeg that has had its thumbnail turned into a sprite and black stripped re-creates a jpeg thumbnail and writes it back to the file. Bugfix: Convert to sprite, remove black border, copy file into same dir - refresh abort on data transfers during redraw. Traced to more general bug that copes with to or more identical files with different names - wasn't always moving data to the right place. If you had identical copies of the same file under different names in a directory then you may have encountered this bug in previous versions of Variations. Done: Option to save jpeg with exif data and new thumbnail. Note that if the original jpeg file isn't available to transfer the exif data from (if the file you loaded wasn't an exif jpeg or you've since deleted it) then turning this option on will save a file with a dummy exif header and a thumbnail. Done: Option to preserve comment and App13 (Photoshop info, ITPC comments) blocks when resaving as jpeg. Done: Option to add a new simple comment when saving as jpeg. Leave all three of the above options off to save 'simple' jpegs compatible with all RISC OS software (though most things really should cope with loading exif and commented jpegs these days...) Done: Option in choices to set the thumbnail view scaling factor. This allows larger or smaller than normal thumbnails. 'Small thumbs' and 'more info' modes still halve the set scaling factor. Saved with choices. Suggest you stick to doublings (50%,100%,200%,400%...) to avoid lumpy looking thumbnails. Done: The size of the thumbnail window is now kept (if possible) when you delete or rotate images. When you copy files into the thumbnail window it is still resized. Comments? Done: Variations handles longer pathnames for rotate, delete, rename, copy, slideshow etc. Done: Slideshow: No escape, view till end reported harmless 'BBC Basic version...' error The four above were reported/requested by Roger Darlington. Done: New options added to choices for default thumbnail window rows and columns. This will be enforced when the thumbnail window is next opened or refreshed if its current size is less than these defaults (and there are enough thumbnails in the directory to allow it). Done: Thumbnail window size and position now saved with program choices. When combined with the above options this should let you set up the thumbnailer in any default arrangement you want. Done: Full view window doesn't pop to the front of the window stack when it shouldn't. Done: New option in choices, when double clicking on a thumbnail is set to load and display full view you can now also choose to have the full view window open behind the thumbnail window instead of at the front of the stack. This lets you arrange things thus: ________________________ [ Full view ] [------------------------] [ ] [ ] [ ] [ ] [ ] [ thumbnails ] [ ** ** ** ** ** ** ** ** ** ] [ ** ** ** ** ** ** ** ** ** ] [------------------------] Done: Fixed single click mode in thumbnailer - now obeys configuration options introduced in 0.37 for what happens. Holding CTRL when single clicking prevents activation of the selected object. Ctrl-Select selects the single thumbnail under the pointer. Ctrl-Adjust clicking toggles thumbnails into or out of the selection. [Gary Locock] Done: More info properly calculates maximum width and height of all objects, taking the font size into account. Font sizes in choices are now allowed to go to 96pt - which should be enough for anyone. ;-). Done: More info was getting the bounding box wrong when selecting thumbnails. Done: Key shortcuts for full view. To use these the full view window must have input focus (cream titlebar). Give it focus either by clicking in it (though note that if variations are open this will make the thumbnails all 100% views of the pixels where you click) or by clicking on an icon in the full view toolbar attached to the bottom of the window. Shortcuts are: 'Left arrow' or 'P' - previous image. 'Right arrow' or 'N' - next image. 'Delete' or 'D' - delete image. 'V' - See variations on the image. 'S' - slideshow the directory containing the image. 'C' - crop image [opens crop window]. '<' - rotate image left. '>' - rotate image right. 'Up arrow' or '+' - zoom in 'Down arrow' or '-' - zoom out Misc bugfixes/changes: Done: Calls to swi Wimp_SlotSize now always preserve 'next'. Done: Delete a thumbnail selection now uses the filer delete (so the wastebin in RO Select should work). [Michael Gerbracht] Bugfix: 5x5 variations thumbs wrong on portrait aspect file. (first nine thumbs not rendered?) ---> offsets! ----> when click in main set offset same for *all* thumbs even those not being rendered right now. Done: Variations thumb offsets/scales are now reset when an image is loaded. Done: Loading old/no choices caused U/K var. Done: Fullview popped to the front when it shouldn't (hiding thumbnails) Done: Choices pane went off the top of screen in <1024 pix. high mode when resizing down bounced it up off the bottom of the screen. Bugfix: Fixed. Changing view modes redraws the window twice - why? Done: When resizing the thumbnail window vertically unnecessary window redraw removed. Done: Modified 'odd jpeg' detector to let files produced by Photoshops 'save for web' through the net if 'OS can load exif' turned on as it appears RO5 at least can load and display these files. 'Ducky' (!) appears near the start of these files. This speeds thumbnailing of these files dramatically. Done: Hourglass for predisplay (made it faster too?) Done: Now writes Orientation exif field when losslessly rotating jpegs. This prevents programs that read this field from images taken with cameras with an orientation sensor from rotating the image again when you load it into them [Photoshop]. Done: When thumbnailing anything other than exif jpegs the aspect ratio of the original object is now taken into account when deciding the aspect of the thumb to create. ie. if the original image is taller than it is wide then the thumbnail will be too. This slightly improves the definition of these thumbs (rather than squeezing them all into 120 pixels high portrait aspect images will instead have 160 vertical to play with). Done: Speeded up loading of jpeg and other file types slightly. Knocks 0.6 seconds off the time for a 3.2MB JPEG file. 0.37 5/9/2004 ------------- Bugfix: When 'Instant effect buttons' in the Windows section of !Boot was turned off ADJUST clicking the close icon of the thumbnail window failed to thumbnail the parent directory (because the mouse button was released before the close window event was delivered to Variations). Using SWI Wimp_GetPointerInfo instead of OS_Mouse fixes this. (Gary Locock) Bugfix: Image -> HFlip was not working. Bugfix: In 'Original & Variation' mode, moving a shape or fade didn't shift the original image when the effect was applied to it. Bugfix: When multitasking thumbnailing was turned on ArtWorks, Draw and a few other 'odd' object types were swallowing all polls (with wimp messages) so multitasking didn't take place. Done: There is now a warning given when loading a new image if the current one has been modifed. Done: 'pane' windows now stick to the edge of the screen until their parent window goes off it. Done: Some more RMEnsures in !Run that might help Variations run on RISC OS < 4 Done: PhotoCD support for thumbnailer and Variations proper. Loading a photocd file opens a dialogue to let you choose the size you want to extract. If you hold shift down while double clicking on or dragging a PCD file to Variations the last size extracted will be used without opening the dialogue. Current choice of PhotoCD resolution is saved with choices. Requested by Gary Locock Done: More sensible default thumbnail jpegs for 'can't render' and 'error rendering'. If you still don't like mine replace !Variation.ethumb and !Variation.dumthumb with your own 160x120 pixel jpegs. Done: Rearranged choices window, added a floating pane at the top with 'section' buttons to let you go directly to a group of choices. Done: Added new thumbnailer choices allowing you to change fonts and fontsizes used. Added option to overlay filetype icon on thumbnails. Added option to allow you change what happens when a thumbnail is double clicked on ('load and show variations', 'load and show full view', 'filer_run'). Done: Current slideshow window settings are now saved with program choices. (Michael Gerbracht) Done: free rotate. Image -> Free rotate... All options functional and most should be self-explanatory. Experiment with the different quality settings. Gaussian medium, Bilinear and Rectilinear (ok) are probably best at the moment. I'll add bicubic when I find a reference/example program I can understand! Will also think about ways to automate the process of leveling horizons. Till then guess an angle, click Rotate with ADJUST and if it turns out to be wrong choose Image -> Reload from the main menu. (or just the toplevel item 'Image ->' Done: Renamed 'Image -> Rotate +90' and 'Image -> Rotate -90' menu items to 'Rotate left' and 'Rotate right'. Rotating is now also about twice as fast thanks to a little bit of ARM. Done: New 'Full view' stuff. Now defaults to automatically scaling the image so that all of it is visible. The attached toolbar is working (except for tick and cross mark) and the function of the buttons on this should mostly be obvious - I hope. :-) Rotation buttons will rotate both the image in memory and (if it is a jpeg) the original file on disc losslessly. As well as the 'Previous' and 'Next' buttons moving you through the images in the directory you can also roll the scrollwheel on the mouse *while it is over the toolpane* to go forwards (scrollwheel towards you) or backwards through the images. NB. Only tested this on an Iyonix with a cheap optical mouse and WimpScroll. May work on other scrollwheel systems as I'm intercepting window scroll request events. Started work: Histogram. Image -> Histogram is for information only at present (will gain PhotoSh*p style 'levels' controls in time). Smaller histo is for the 'change' thumbnail. Useful to see Gamma/Brightness etc. shifting the image data around. Greylevel histogram or any combination of R,G,B. Done: Pointillist - [Escape] now aborts a render. If you press this key when processing the large image it'll be left partly modifed. Use Image -> Reload (or just click on the toplevel menu item 'Image -> 'to fix it. If updating the pointillist thumbnails takes more than one second further update is disabled until you move the pointer off the 'pane' containing the pointillist controls. 0.36 11/08/2004 --------------- Dragging an object from the thumbnail window to variations itself now works (and you can shift-drag a directory from the thumbnail window to the iconbar icon to slideshow its contents). A potential source of a data abort error when refreshing the thumbnail window after an item has changed has been fixed. (iyonix only) Occurred when saving from Vari back to the thumbnail window when the name of the object being saved put it at start of the thumbnails (eg. 'aaa' would always provoke the error, 'zzz' never would). It was possible to get the thumbnailer to start scanning a directory whilst it was already scanning one. This confused the program very badly. Saving back into the thumbnail window when the file being saved already existed caused the thumbnails to be rebuilt before the save actually took place (while the overwrite warning dialogue was being displayed). Tick and cross marks no longer cause an error under RO 4. Using F3 to save when the file already exists caused an infinate loop. Variations uses a new version of the 'jpegtran' utility. This one uses dynamic areas for memory allocation which hopefully alleviates problems RiscPC users and Iyonix users running Aemulor have encountered rotating large jpegs. Note that you will still need a lot of memory free to rotate images in a reasonable length of time. If there isn't enough jpegtran will complete the job using temporary files but it is very, *very* slow in this mode. A 4MB jpeg takes almost a minute to transform on an Iyonix (cf. a couple of seconds for the same file on the same computer when enough memory is free). 'Enough' for this file with this version of jpegtran appears to be about 48MB. My thanks to Roger Noble for providing me with the sources in a form that even a novice like myself could compile. Rearranged slideshow button functions as per mailing list discussion. SELECT to slideshow the selection, Shift-SELECT for slideshow options. ADJUST to slideshow everything in the directory. ToDo: keep resize/scroll offsets after a refresh of the thumbnail window. (tricky - find objects at the bottom of the visible area and scroll to them after the update?) ToDo: watch directory so that saves that don't involve wimp messages get noticed and cause a refresh. ToDo: JPEG save options to preserve EXIF info and rewrite the thumbnail. ToDo: Thumbnail selection-> Re-create thumbs ToDo: Make Variations button work ToDo: Slideshow tidyups - more effects, configurable effects. ToDo: Full view stuff when an image has been loaded. (prev/next +keyshorts) ToDo: Save thumbnails/print thumbnails formatted to fit 2xA5/A4? 0.35 22/07/2004 --------------- More info and the display format thumbnail submenu now work. exif jpegs are now scanned for basic camera information and this is displayed when in 'more info' mode. Information looked for includes: Camera model, Date/Time original (camera clock when the photograph was taken), Exposure time, F-number and ISO used. Memory is also allocated for a comment field for every object. A future version might display this and allow you to edit it. NB: I'm interested in any camera jpegs that don't include this information - or cause an error when thumbnailing them. If you're serious about exif data I'd still recommend the use of EXIFInfo instead. My code is probably wibbly. :-) When dragging a selection of files from a filer window to the thumbnail window and when dragging a selection of thumbnails the other way (from the thumbnailer to to a filer window) holding Shift down now does 'move' rather than 'copy'. When dragging a selection from the thumbnail window hovering near the top or bottom of the window during the drag will make it start to autoscroll. This allows you to scroll the thumbnail window to reveal [the thumbnail representing] a directory. Finishing the drag with the pointer over this directory will open a dialogue box asking if you want to copy (or move) the selection into it. Dragging an icon from the save dialogue of Variations (or any other program) to the thumbnail window will now save the file into the thumbnailed directory and refresh it to show the new file(s). You can now use the thumbnailer like a filer window in every way I think. If you spot anything 'wrong' or 'different' please let me know. Shift-dragging a directory to the iconbar icon will slideshow its contents immediately. Requested by David Wisnia. Rotating the selection left and right now work better. The thumbnail is kept in sync with the main file. Memory related errors when processing large jpegs fixed. EXIF jpeg files now have the rotated thumbnail written back into them. NB: Only jpegs are rotated (you can rotate the thumbnails for other objects to your hearts content but the files themselves aren't yet modified). This jpeg rotation is 'lossless' - the data isn't subjected to a jpeg decode-encode cycle. NB. Jpegs rotated in this way may not load into Photodesk. I'm absolutely delighted to tell you that this is a Photodesk problem. :-] Click-rename (over a thumbnail name) implemented. Keyboard navigation of the rename icon around the thumbnail window is via Shift-left arrow and Shift-Right arrow. Typing a new name and pressing return renames the object and advances the rename icon (moving left-right, top to bottom). Escape will cancel the rename icon if you accidentally activate it or don't want to rename the rest of the files in the directory. The window will autoscroll when necessary. If users find this annoying I'll make it Alt-click on the name instead but thumbnails are larger than filer icons and its natural to click on the thumbnail itself rather than on its name to select it I think. Menu rename and copy items done (only made available if a single item is selected though). Thumbnailer now thumbnails draw, artworks and and png files too. Create directory menu item done. Faster thumbnail rebuilds (copies existing cache & reuses where possible) As a consequence of the above cacheed thumbnail file use is now more intelligent - reuses existing thumbnails where possible (ie. when objects haven't changed!). Also smarter at spotting a modified file or directory. NB: Another change means that existing cache files will be ignored the first time around (they'll be rebuilt). Sorry, but the internal storage format needed to change to fit extracted exif info and comments in. New buttons added to the thumbnailers toolbar. (Variations...' doesn't work yet, the others all do). Run !Help to find out what they do if it isn't obvious. Done: Add and Remove /jpg extension items added to the selection menu. Currently it only modifies the names of jpeg and png files (I should probably use mimemap so it is useful for all filetypes with a valid DOS extension?) Case of the extension added depends on the case of the last character of the objects name. ie: 'MYFILE' becomes 'MYFILE/JPG' whereas 'MyFile' becomes 'MyFile/jpg'. Ctrl-clicking on a *jpeg* in the thumbnails window gives you a 1/4 scale preview of it. Move the pointer off this or click Adjust on it to close it. Clicking Select on it loads the full size image into variations. Would be useful if it were a bit faster than it is. :-/ Slideshow has a new option. 'Show controls'. Sensible only to turn this on for 'Wait until a key or mouse...' or 'Mark using...' pause types. Adds a simple control panel to the bottom of each slide. This allows you to step backwards through the slides, apply tick/cross and exit by clicking on a button. Slideshow knows more effects too but currently you have to modify the basic program to see them (and they're iyonix only). So that'll be 0.36 I suppose... (main program change) Full file path of the original file is now put into all save dialogue boxes by default. NB: A side effect of this change is that if you modify an image in Variations and then save it Image -> Reload will then reload the saved file and not the original. Re-written behaviour if a file already exists when saving: Displays a warning box requiring you to move the pointer a few dozen pixels and click on 'Save' again to overwrite ***provided the 'Allow files to be overwritten' option in choices is OFF***. If this option is ON then Vari will behave like other standard RISC OS apps and silently overwrite existing files. (main program change) Double clicking on the central effect thumbnail to apply it now opens the full view window behind the variations thumbnails window instead of in front of it (if it was closed, if it is already open its depth does not change). NB. Adjust-double clicking on the central thumbnail applies the effect without opening the full view window at all. General bugfix: Variations now behaves nicely when an attempt to claim more memory fails. This will happen if Aemulor is running (and Variations wants more than 28MB of memory) or if an Iyonix has 1GB of memory and Variations tries to claim more than 512MB. The first case will probably be more common than the second! Thumbnail window is now less inclined to jump to the front of the window stack when it shouldn't. 0.34 29/06/2004 --------------- Thumbnail window now autoscrolls when dragging out a box to mark a selection (requires RISC OS 4 or later). SpecialFX (if running) is disabled for Variations when it might corrupt redraw (graduated fill tool and path tool in mask editing) Bugfix: Dragging a selection from the thumbnailer to some programs didn't work. Slideshow: * typo: 'sideshow' fixed. * Slideshow can now show sprites as well as jpegs * Slideshow works on RISC OS 4 (I'd used SWI OS_LeaveOS which is RO5 only) * Slideshow reports any errors when it finishes, rather than just quitting * Slideshow ignores selected objects it can't display. * Slideshow tells you if none of the selected objects can be displayed. * As the thumbnail selection changes the Slideshow window is updated if open * If nothing selected slideshow window 'view' and 'save' buttons are greyed. Unstable/unfinished: Lossless rotation of selected jpegs via jpegtran Available via menu items Selection -> rotate left and rotate right. (the main image file is rotated, but the thumbnail isn't yet - leads to confusion. I'd advise you not to use it yet for this reason). 0.33 23/06/2004 --------------- 0.33 summary of changes A great deal of work on the thumbnail viewer: In most circumstances it now acts just like a filer window as regards selection, dragging objects to copy them or load them into other programs etc. This has the disadvantage that to thumbnail a directory you now have to drag it to the variations program icon or to the 'pane' attached to the bottom of the thumbnail window. Dragging a directory into the thumbnail window now copies it and its contents into the directory being displayed! The thumbnailer also now has a menu structure modeled on the filer with some useful additions. In particular there is a built in slideshow program and slideshows can optionally be saved as a self contained 'application' that may be run later. There exists a method whereby the slideshow feature can be used to grade images depending on the mouse button you click when an image is displayed. Many bugfixes and improvements to the thumbnailer. It should now also work on RISC OS 4.0x (possibly back as far as 3.6) provided you turn on the 'EXIF hack' option in choices. New thumbnailer related choices, including the option to generate cache files for directories that take a long time to thumbnail. On the next visit there this cache file is loaded resulting in a dramatic speedup. For example, a directory containing 342 five megapixel mostly exif images took 19 seconds to thumbnail normally on Iyonix. With caching on redisplaying it later is virtually instant (less than one sec). The cost is a 2.5MB file called ~VCache~ that is saved in the directory. If you turn this option on (and it is off by default) *please* be careful with it, otherwise your hard disc will quickly become littered with these cache files. Make sure the trigger time for it is suitably high so that it only creates cache files for your largest and slowest directories. I suggest setting it to at least 20 seconds if you do opt to turn it on. 0.33 changelog: Sections: [General] [Thumbnail display/window improvements] [Thumbnailing process] [Thumbnail menu] [Slideshow] [New choices, caching] [ToDo] [General] General bugfix: If the pcasupport module got a 'high' dynamic area Variations would fall over in some circumstances. Bugfix: 'email' and 'web' buttons in program info work - although they now require AcornURI from http://sudden.recoil.org/others/ Bugfix: Typo in !Run related to pca_appletstarted error fixed. A little more help for the mask editor window (run !Help and move the pointer over the icons in the toolbar and the mask editor window). [Thumbnail display/window improvements] Done: Auto-resizing of thumbnail window when it opens (tries to open such that 4 x 4 thumbnails are displayed). Done: The last directory thumbnailed is underlined if you move 'up' the filing system. This makes it very easy to work your way through a number of directories of images - you can see the last one you looked at when you return to its parent. One of the few things I like about...Windows XP. NB. ADJUST clicking on the close icon of the thumbnail window opens its parent directory - just like the filer does. To move the thumbnailer around the filing system use it like the filer: Double click on directories to go 'down' the directory tree. To go back up the directory tree ADJUST click on the close window icon /or/ choose 'Open parent' from the thumbnail window menu /or/ choose 'Up' in the thumbnail pane. Done: Thumbnail selection behaviour mimics the filer (menu over an item when none are selected selects it. SELECT and ADJUST dragging marquee selections...) Done: Double clicking on an application runs it, Shift-Double click to thumbnail the contents of the application directory. Done: Copy selection by dragging it to a normal filer window (uses Filer_Action) ---> to do, move files when shift is held down. Use Filer_Action for delete files too? Done: Drag files/directories into the thumbnail window copies the objects into it. To thumbnail a directory you must now drag it to the iconbar icon or the control pane attached to the bottom of the thumbnail window. Dragging it in to the window copies it into the directory being displayed as thumbnails. ---> currently does a complete thumb rebuild after a copy. Would be faster to use the existing thumbnails where possible. [Thumbnailing process] Done: Thumbnailing something that causes an error no longer messes things up. You should get a default error thumbnail instead. Done: Now handles truncated JPEGs with no EOI (tag value &D9) marker. Strictly speaking these files are broken but most programs seem to handle them and they're surprisingly common. Done: Now handles interlaced jpegs (slowly) by feeding them through djpeg. If you turn on the '...and interlaced too' option in jpeg choices the program will instead assume the operating system can plot them quickly. To the best of my knowledge only RISC OS Select can do this. RO5.06 certainly can't. Done: 'EXIF hack' (in options) now applied to jpeg thumbnails too. This allows the thumbnailer to work on <=RISC OS 4.02 properly. Thanks to Peter Noble for reporting this problem. Done: Applications are now filer_booted when they are encountered during thumbnailing. Done: icons for other objects (applications, text files etc.) are now rendered properly. Done: Tests for no thumbnails at all in thumbnail related routines to stop crashes, aborts etc. [Thumbnail menu] Done: MENU for thumbnail viewer. Few items still greyed. Those that aren't should all now be working. Done: Hide selected thumbnails, Delete selection Selection -> Hide hides (removes) the thumbnails selected from the display. The files on disc are unaffected and may be brought back by clicking on the refresh button in the pane attached to the bottom of the thumbnail window. Selection -> Delete deletes the thumbnails *and the associated files*. There is a warning dialogue for this. If you carry on and delete and don't have a backup there is a very good chance that the images will be gone for good. BE CAREFUL! ---> Currently Delete causes a complete thumb rebuild of the directory which is less than ideal speed-wise... Done: Selection -> Mark with tick, mark with cross, unmarked Done Mark -> Select ticks, Select Crosses, Select unmarked, Clear all marks. A quick way of marking selections of images so that you can reselect (and copy or delete) them later. Done: Open parent and Show Filer. Should be obvious what they do. [Slideshow] Done: slideshow. Select the thumbnails you want to slideshow (or MENU, Select all). Then MENU, Selection -> Slideshow... ---> ToDo, Only displays JPEGs at the moment. Options in the dialogue that opens should mostly be obvious in use: With transitions. When off images are just displayed. When on they are faded between. More transitions will follow. NB. The fade transition is untested on anything other than an Iyonix. Loop until Escape pressed When on the slideshow will repeat until you press escape. When off it ends when all of the selected images have been displayed. Pause between images: For [4] seconds. Meaning obvious, although very large files may take more than the specified pause time to decode. Wait until a key or mouse button are pressed. Meaning obvious. Mark using the mouse. Similar to the above but a record of the mouse button clicked is kept for each image. On return to the desktop the images are marked with a tick (select) or cross (adjust) or no mark (menu). Facilities to select all of the ticked thumbnails (for example) exist in the menu. The selection can then be dragged to a filer window to copy it there. A quick and relaxing way of sorting through and ranking images is to thumbnail a directory, select all and then slideshow them using this option. Scale images to fit: Always. Images are always scaled to just fit within the screen. Scaling is 'simple', missing or doubling rows or columns as necessary. Use an action file (or batchfsi/fsi_batch) to resize images to suit your intended slideshow display resolution for higher image quality. If larger than the screen. Images smaller than the screen are centred, unscaled. Images larger are scaled to just fit. [DEFAULT] Never. Images are centred around the screen. If larger than it you'll only see the central portion. Caption with filename: Option and meaning of sub-options obvious. I'll get round to letting you choose the font colour one day too maybe. ;-) Preferred resolution: Try to select 800x600x16m colours Use whatever the desktop uses. Meaning obvious. I'll let you choose different 'try to select' resolutions in a future version of the program. Click 'View' to see the slideshow or type a name and drag the icon to save it. When you save a slideshow an 'application' is created and all of the selected files are copied into it - to make it portable. If you've selected a lot of images and have a slow hard disc interface this may take a while... Done: The slideshow program automatically tries to do the 'exif hack' to allow exif jpegs be plotted quickly even on RISC OS <= 4.03 [New choices, new choices saved] Done: Create cache if it takes more than ... seconds to display a directory. If you don't mind variations cache files being created on your hard disc and want thumbnail directories to open quickly the next time you visit them turn this option ON. This option is OFF BY DEFAULT. If you do turn it on I suggest a reasonably large trigger time - 20 seconds? Done: Try hard to make thumbnails. When on, ChangeFSI is called to try and make thumbnails for more unusual or time consuming image formats. When this option is off it'll use a generic 'this is an image, but I don't know what it is' thumb for anything it thinks is an image. I'll do more work on this - eg. draw and AW files and faster thumbnailing of png and bmp. Done: Multi-task while generating thumbnails option. Does what it says on the tin. How successful it is depends on how fast your computer is and what sort of files are being thumbnailed. On an Iyonix doing exif jpegs the desktop remains quite responsive. NB. generating a directory of thumbnails is actually slightly slower when this option is on (because other programs are given a chance to use the CPU). Done: ADJUST on iconbar opens a default thumbnail dir (set this via a new choice, drag the directory to the appropriate place in the choices window and then save choices). Requested by Gary Locock. [ToDo] Known issues/ideas left for the future ToDo: Rename, copy (within dir) thumbnails ToDo: Create directory ToDo: Better behaviour where an object changes - don't rebuild the whole dir. ToDo: Save contact sheets (html, Drawfile?), rotate selection (via jpegtran?) ToDo: Multiple thumbnail windows (possibly?) ToDo: 'Full info' display mode. ToDo: Selection info. (use exifinfo?) ToDo: Apply action file to selection. ToDo: Improve variations image 'full view' window - fit to screen, previous, next etc. ? ToDo: Make the slideshow ignore files in the file list that it can't render (instead of repeating the last one that it could!) ToDo: Way of going back through the images in the the slideshow - k/b control. ToDo: Slideshow handle sprites, pngs, draw, artworks etc. files ToDo: Variations saves jpegs with exif info - including a rebuilt thumbnail? 0.32 10/06/2004 --------------- Mainly a bugfix of yesterdays release Bugfix - save as JPEG didn't work on Iyonix. Also calculation of JPEG size and 'Save for web' failed. Bugfix - loading interlaced jpegs via djpeg was going wrong - sometimes. Removed stray debugging code when the thumbnailer encountered an interlaced or 'very odd' jpeg. Added code to thumbnail these files via djpeg->ppm->sprite. Made thumbnailing slightly faster (now claims memory in 64KB chunks rather than for every single thumbnail). Gives any spare back at the end. Added hourglass %age to thumbnailing. Rearranged jpeg related choices to give them their own section. 'Fast JPEG load' becomes 'OS can handle EXIF' and added a new choice "...and interlaced too". Turn both of these options on if you have RISC OS Select (which I gather can handle all sorts of JPEG files). If you have RISC OS 5 turn the first option on and leave the second one off to avoid errors when thumbnailing and loading interlaced jpeg files. Currently (RO 5.05) can't display these using the OS plotting routines. If you have RO4.0x or earlier turn 'OS can load EXIF' ON and also turn on 'EXIF hack (RISC OS <=4.0x)'. Leave '...and interlaced too' OFF. ARGH! :-/ 0.31 09/06/2004 --------------- Thumbnailing pseudo filer. Drag a directory to the programs iconbar icon to thumbnail it. Extracts thumbnails from EXIF jpegs and is therefore very fast with these. Currently does not try creating thumbnails from BMP, Draw or PNG files - to do. Should create thumbnails from sprite files and jpegs that lack an inbuilt thumbnail. Default mode of operation is 'single click' - clicking on a thumbnail loads the image into Variations. Clicking on a directory thumbnails that directory. Clicking on another file Filer_Runs it. Alternative (partly written) is pseudo filer which allows multiple selections, double click loads/runs and (to do) drag to load to another program/copy etc. Filer like menu also still to do. Redraw and update of thumbnail window is not yet optimal - will be faster and there are a few GUI quirks still to exercise. Giving it a test directory of 117 images (largest 5MB, smallest 185KB, average around 2.8MB in size): Thump 1.48 308 seconds Thumbcat 3.4D 167 seconds Variations 3 seconds To be fair Thump and Thumbcat do other things that Variations is unlikely to ever attempt. But still, you can see what I like about it... 0.30 28/04/2004 --------------- Thanks to Jess Hampshire, Brian Howlett and everyone else who offered for their help and suggestions for this version (Select testing). Border, Fade, Shape can now write to the mask (via a new radio button) Choose 'Edit mask' from the main menu first to see what they put in there. This mask can then be used to attenuate another variations effect or simply saved with the image (see below or http://www.compo.iconbar.com/variss2.htm/) Border gains a few options (colours, background texture). Clicking in the main image view sets all of the thumbnails to display pixels and centres them around the point you click - this lets you see the effect on original pixels and is a faster and more memory frugal alternative to 'try at full size'. Mask editing. New submenu items: 'Select -> Shadows', 'Select -> Midtones' and 'Select -> Highlights' provide a quick way of selecting regions of similar luminance. This lets you fiddle the gamma of shadows or highlights to improve visible detail. (The aim is a clone of the Photoshop CS 'Shadows/Highlights' tool but I've a long way to go yet). Also may be useful to (eg) soften shadow areas slightly as this is where digital noise is usually most evident. Select -> Shadows Pixels with zero luminance are set solid in the mask. Pixels with >50% luminance are transparent. Those inbetween are inbetween. Select -> Midtones Pixels with 50% luminance are set solid. Pixels with > 75% or < 25% luminance are transparent in the mask. Select -> Highlights 100% luminance = solid in the mask. <50% luminance transparent. (luminance is a fancy term for 'brightness' by-the-by) PNG save/load Save as png requires Darren Salts Spr2PNG to have been seen by the filer - it does all the hard work. http://www.youmustbejoking.demon.co.uk/ Loads PNG files courtesy of David Jacksons delightfully named 'Thingi'. Save as sprite can now include the mask. Options being Save sprite with no mask, Acorn on/off mask, Select Alpha mask, Compo Alpha mask. The Acorn 1 bit mask version is particularly lame code (no attempt to dither). Now loads RISC OS Select Alpha sprites and uses the attached transparency mask. NB. Currently only loads *16 million colour* Select Alpha mask sprites. Began work on raw file importer [thumbnail preview on load] Dragging foo/RAW looks for foo/THM and treats it as a JPEG thumbnail. Broken. Do not use this. bugfix - when set to animation menu clicks could select thumbs that don't exist bugfix - fade/shape/border where intensity > 100% could go crazy (bitfield size problem in assembler) bugfix - create mask, load different size image - mask could become corrupt. Fiddled with Crop window UI slightly. 0.29 14/12/2003 --------------- ***Highlights*** - Compare effect with original at full size. - Semi automated batch mode. - Fully automated batch mode. - Actions on the fullsize image are recorded in a list, can be saved as a file and then be re-applied to another image or a whole directory of images later. - Watermark enhanced with EXIF JPEG information handling. Drawfile exif info templates/overlays. - optional double click to load images/claiming 'run type' for sprites/jpegs. - simple resize feature. - bugfixes. ***WARNING*** If you value your images never, *ever* edit the only copy of the original files. Make a backup, preferably on write-once media (a CDR). Variations now includes batch processing that can quickly and automatically overwrite files with modified (posssibly low resolution) images. There are warnings, options that must be turned on and checks to help reduce the risk of you making a mistake but it is still possible. Modifying an image almost always throws something away. Even if it looks better than the original you should keep copies of it somewhere safe. Did you read that warning above? :-) New features The program now has a simple concept of a 'selected thumbnail'. Clicking menu over a thumbnail gives it a blue border and the menu items in the Thumbnail-> submenu apply to it. These are 'Try at fullsize', 'Reset offsets', 'Reset scale', 'Show pixels (100%)', 'Scale to 200%', 'Scale to 400%' and 'Scale to 800%' Try at fullsize creates a copy of the fullsize image (you may need lots of free memory), processes it with the effect depicted by the selected thumbnail and then displays it side by side with the same section of the original image in a pannable, resizeable window. You then have options to keep or abandon the change, tweak the effect slightly and view at other than 100%. Panning (for this and save for web) now uses rectangle copy and is lots faster on Iyonix and also (hopefully) Viewfinder. Try the other submenu items and see the effect they have on the selected thumbnail. What they do should be obvious if you've remembered that Shift-select dragging a thumbnail moves the image around 'behind it' and Shift- Adjust drag scales the image. (Erk - that sentence doesn't make much sense read cold. Just try it!) Semi-auto batch mode Turn on 'Interactive batch mode' in choices and drag a directory to the program icon. The number of images in the directory will be calculated and a small batch process window added to the bottom right of the thumbnail window. In this the arrows move through the images in the directory and the Next button loads the next image that hasn't been loaded into variations in this session (there is a subtle difference to clicking the right arrow). Click on the thumbnails window to give it input focus and then use the Keyboard controls: Left arrow/Right arrow - move thumbnails through current effect. Up arrow/Down arrow - change current effect. Return - apply central thumbnail (change full size image). F3 - Save (format determined by settings in batch mode section of choices) If 'After saving' in batch choices is set to 'Go to next image' the next image in the directory will automatically be loaded when you save. In this way it is possible to process an entire directory of images making basic changes and applying effects without touching the mouse. Fully auto batch mode / Actions Variations now records each change you make to the fullsize image. Not only the effects applied but things such as resizing, trimming and rotating too. This list of recorded actions can be shown by clicking menu and choosing 'Actions...'. Sets of actions may be saved to a file by following File->Actions-> and these actions files can be reloaded later by dragging them to the programs iconbar icon or windows. The Actions... menu item opens a dialogue entitled 'Apply actions'. This displays a list of the actions recorded. You can select one and choose 'Delete' to remove it from the list. [Process] applies the actions to the image. This is most useful after reloading an actions file you've previously saved. Drag a directory of images to the load target arrow beside 'Batch' in this window to close it and open then Batch actions window instead. This allows you to apply the actions list to an entire directory of images, saving the modified images either in the same place or in a different directory. Example: Load a digital camera image into Variations, drag the actions file 'WebFrame' (from the supplied directory 'v_actions') to the program icon and choose [Process] in the apply actions window that opens. Try out some of the other actions supplied too. EXIF/watermark The Watermark function added in 0.25 (under 'Specials') has been improved. For starters, you can now choose the font you want. :-) Support is provided for EXIF file information overlay. To use this you must have unmodified digital camera jpegs - the popular RISC OS utility 'JClean' removes this and the jpeg files written by variations (and by most if not all other RISC OS software) don't include this information. Secondly, you need Chris Terrans excellent program EXIFInfo available from: http://www.photodesk.iconbar.com/ This must have been seen by the filer in the current session. Problems with the exif watermarking feature should be reported to me. Ropey/slow/buggy bits are almost certainly going to be mine. Please don't pester Chris. :-) Support is provided for overlaying the contents of an EXIF field from the original jpeg - most useful is perhaps 'DateTimeDigitized' which will be the exact time a photo was taken provided you've set the clock in the camera correctly. Open the submenu and choose a different one if you want. Alternatively, a template drawfile can be processed with exif tags in text objects and text areas substituted for the appropriate exif tags contents and this drawfile will then be overlayed. The default template drawfile is called 'WaterEXIF' inside !Variations. Feel free to modify this, or simply drag a drawfile to the load target at the bottom left of the special effect pane window to use that instead. Several examples are supplied in vari_exif. The default built into Variations is for a Canon 10D (should work for 300D, 1D and 1Ds too). This camera provides several tags which are not in the baseline exif spec. (see the image exifdraw/jpg for an example of the sort of thing you get from one). Other digicam users might like to replace the default !Variation.WaterEXIF with one of the drawfiles in vari_exif instead (copy in, delete the original WaterEXIF and rename the one you've copied as WaterEXIF). There is lots of scope to mess around with borders, logos etc. in the drawfiles and this exif watermarking feature is very useful as part of an action that reduces the size of an image, sharpens it up, boosts contrast and adds camera details. (SnapWebEXIF is an example action file). The EXIFInfo modefile Variations uses is !Variation.exifgrab (see the extensive exifinfo documentation Chris provides for a description of what can be done with this). I should read some of it myself one day. :-) Double click load image This is optional and disabled by default. To enable turn on 'Claim double click loads' in choices and remove the comment character (the vertical bar) from the following lines in both !Variation.!run and !Variation.!boot: | Set Alias$@RunType_C85 RUN .!Run %%*0 | Set Alias$@RunType_FF9 RUN .!Run %%*0 Next time you reset the computer and open a directory containing variations from then on double clicking on a sprite or JPEG will load variations if necessary and then load the image into it. - added so someone using PicIndex can edit an image in Variations easily. 0.25 10/7/2003 -------------- ***Highlights*** - Save for Web. - Magic wand mask creation - Feathering dialogue and function for mask editor - New special effects - (experimental) Different colour spaces New features Save for web option and dialogue box. Displays the image and a JPEG version at your selected quality side by side in a window that can be panned, zoomed and resized. Makes it easy to push the JPEG quality (hence file size) down as far as possible without unpleasant compression artifacts appearing before saving. Very useful when designing graphics for websites. Idea common in (and borrowed from) several well known PC image editors. Rearranged save menu so you don't have to go three levels deep to save image as sprite or jpeg. Added Size... to Image submenu, designed dialogue box but got distracted so theres no code to go with it yet. :-) *** Mask editing *** Added magic wand. Proper 'fuzzy' flood fill with lots of options. Currently much better than the one in my commercial bitmap package. Adding (a SELECT click in the mask editing window) tolerance is how 'far' a pixel can be from the one you clicked on for it to still be added to the mask. Removing (an ADJUST click in mask editor) tolerance is how far a pixel can be from the one you clicked on for it to still be removed from the mask. Type: Grey Colour Weighted or (NYI) HSV This is the type of calculation that is carried out to decide on adding or removing a pixel. [Grey] compares the grey scale level of the test pixel with the one you clicked on. If the difference is greater than the tolerance then the pixel is not added/removed. Occasionally useful for selecting well lit multi-coloured subjects with a out of focus dark background (portrait shots). Use low tolerance values. [Colour] Colour difference test. If the difference between red, green or blue of test pixel and pixel clicked on is greater than the set tolerance then it is not added to or removed from the mask. This is the default. [Weighted] Weighted colour difference test. Blues can be (tolerance) distance away. Reds (tolerance*0.50936) and Green (tolerance*0.1942). These values are derived from the standard colour-> grey conversion and are designed to weight things in a similar way to our eyes. We can see more green shades than red or blue. Humans just can't handle the blues, y'know? ;-) [HSV] - Not done yet. Sample: Options are Pixel and Average. Pixel uses the pixel under the pointer when you click to test the fill against. Average takes a 2x2 average of the pixels around the one you clicked on and uses that instead. Anti-aliased attempts to produce an antialiased mask from the wand. It is 'interesting' and when it works well, it works very well. NB: A general hint about masking: Its often easier to select what you *don't* want and then invert the mask. NB2: Turn off 'Auto update thumbnails' if the process of re-rendering the variation thumbnails at each change spoils the interactiveness of the magic wand tool. Remember to turn this on again or close the mask editing window when you're finished though! Mask brush tool: Holding ALT down will give you a visual indication of the brush size and what pixels it'll alter when you paint. Feathering: Click menu over the mask and goto Feather -> Fully functional. Lots of options. Put something in the mask and then try them. - Still slower than it needs to be and I think I'm half a pixel out in my calculations somewhere - the feathering isn't even on all sides. Typical use is to mask an object out with the magic wand or path tool and then feather the edges by a few pixels. New fill option: 'Global scaled' When ticked the behaviour of the graduated fills changes. The fill does not flood from the position you drag from instead the whole mask is processed (your drag still sets the size and angle of fill). The fill is filtered through the existing contents of the mask. Try a doodle with the brush tool then an angled fill with this option on. This option can be very useful when used in conjuntion with the magic wand to select objects. Mask bugfixes: Flood fills had a nasty memory leak (memory required for the mask for each fill) Path editor - sometimes the path would not be displayed when editing. Crop window/dialogue: Bugfix for redraw problems. Bugfix for crazy aspect ratios overwriting end of writable icon and into dialogue workspace (caused corrupt windows/crashes). Pointillist Workspace for shape and mask brush are no longer shared (pointillist won't corrupt the mask brush). Rotatable shapes. 'Swirl' option to rotate as the effect proceeds (slow). Random or ordered stepping. Bugfix for sampling code. More bells and many extra whistles! Special effects Choosing 'Specials' in the main set of radio icons opens another set of effects. I'm expermenting with these and their associated options mostly don't work (apart from watermark which is almost entirely functional). Special effects currently available are: Flour bomb, Painted outlines (slow!), Watermark and 'Experiment1' I'll be adding more and giving the good ones their own set of options (the furniture for which is already there for most of these). Watermark is entirely functional apart from the font menu and text colour. In the meantime I hope you like Trinity.Bold! ;-) (watermarking will become more useful when I get around to adding the batch processing option I've always had planned...) Colour spaces ...Yet another experimental feature I'm afraid! To the left of the R G and B option buttons that in the past let you restrict the effect to a subset of the red, green or blue components of the image you will see a button with 'RGB' on it. Clicking on this will cycle through CMY, YUV and HSV before returning to RGB. The option buttons to the right will also change as you do this. This lets you process the image in different ways. For example, switching to YUV mode and then turning off U and V will modify only the Y (luminance) of the image. There will currently be some loss of colour quality in YUV mode because the data is being packed back into the same space (I'll need to move to higher precision and do special versions of all the processing routines) and HSV Just Isn't Done. Misc bugfixes: Mask and main view windows jumping onto the screen when you update the full image/load another one. Mask is now preserved across an update of the full image. Masks transferrable from one image to another (keep the mask edit window open then load another image of exactly the same size - that doesn't have mask info inbuilt). Useful for doing exatly the same graduated effect on more than one image. PCA bugfixes related to view scale. 0.21 24/5/2003 -------------- Bugfix: Save JPEG using the wimpslot memory manager (an Iyonix with 'Auto' MM) caused a data abort. Bugfix: Dynamic area wasn't used for the image store on RO<5 (or when dynamic area was forced as the memory manager on Iyonix). It is now. Default maximum image size in this event is therefore now 128MB. Modify the last value of Variations$AddressSpaces in !Variation.!Run if you want to change this. NEW: JPEG size calculation. When you open the save JPEG dialogue the program attempts to work out the size of the JPEG file that would be saved in and (when finished) will display this in the dialogue box. Changing the JPEG quality causes it to repeat this exercise. If you're short of memory or don't like this feature (...or it causes problems) turn the new option off in Choices (Calculate JPEG size) NEW: Simple drawing path tool in mask edit window. Choose drawing tool in attached pane then trace round the edges of a well defined object in the image by dragging out lines. Deform the lines into bezier curves by Adjust dragging control points (zoom in for fine control). When happy MENU and choose 'Draw' or follow submenu arrow for dialogue box. 'Clear' in the menu works. Save does not (yet). (...one evenings work so handle this bit with care.) 0.20 20/5/2003 -------------- --- a slightly messy version, you may want to keep a backup of 0.18 somewhere safe out of the way until you're familiar with the warts this version has... :-) Window size & position saved with choices (Handy for Iyonix or Viewfinder users, for whom the hardwired default is a bit small...) Shift-Adjust dragging a thumbnail now rescales the image within it. (useful for seeing fine detail of the changes effects like filter will have) Reminder: Shift-Select dragging moved the image behind the thumbnail in 0.18 Change: Previously, clicking on a thumbnail to make it the central one also transferred its offsets to the central one too. Now this doesn't occur so if you want to move a thumbnail to make the image position nicely behind a fade or shape move the *central* thumbnail (one surrounded in red) NB. Unfixed BUG: Scaling thumbnails makes things go wrong with fades/shapes/borders (switch to another effect and hit 'Reset' to get things back to normal if you accidentally do this.) Use the border size control in choices instead to scale the border/fades. Weightings for colourise/tint effect. Requested by someone (I forget who). This allows you to modify the amounts of red, green and blue (or their 'weights') in converting to greyscale/contone. Simple image transformations. Rotate +/-90°, Flip horizontally, vertically, Crop. Requested by yet another person (sorry, I'm terrible with names!) The last opens an interesting window (mostly functional). Drag a corner/side to change the size of the cropped area. Drag over the image to move the region to be kept around. Size/aspect are controlled depending on setting of the radio buttons in the attached pane. Few small oddities here still, and still to do: Adjust drag to drag out a new region, arrow key fine control. *Lots* of work on Pointillise (and a spelling fix!). Have a play with the new options in the attached pane (and don't forget the variations are cross blends back to the original so you may want to click a bit there). Pointillise objects are now drawfiles (directory 'Pointill' inside the program. New ones will be picked up...I'm trying a new scheme for finding these so they can have *any* name unlike fades/shapes). Probably build a menu of them too at some stage rather than making you click on the button to move through. Mode controls the rendering effect used (only makes sense to use anything other than normal if 'Clear first' is *off*). Negative gaps can be used to produce some nice effects (particularly with 'darker' mode but they can make things very slow. (Up to several minutes to process a large fullsize image on Iyonix where -gaps=sizes). Several new choices and associated features: High quality interactive scale and move When on, the effect is rendered when you're moving/scaling a thumbnail. When off (default) it is only rendered when you stop dragging. Iyonix users can have this option on -most of the time-. Everyone else will probably want to leave it off as it'll make moving/scaling slow. :-) Choices Misc section: Fast JPEG loading When off, if Variations thinks there is anything 'odd' about a jpeg being loaded it pipes it through a program called 'djpeg' which can handle virtually anything. It is very slow with big files though. When this option is on Variations assumes the OS plotting routines can handle the JPEG file being loaded. You may however then get an error loading EXIF (digital camera) JPEGs on RISC OS < Select or 5.02 with this option turned on...if you do, try turning on 'EXIF hack' as well. If *that* fails turn both options off and try again...if it is valid the JPEG should load.... ...oh heavens! *I* can't understand that! :-) Maybe this'll help: OS: * Fast JPEG loading * EXIF hack * * * * Select / RO5.03 * ON * OFF * * * * RISC OS =5.02 * ON * ON * * * * RISC OS <=4.02 * ON * ON * * * * Problems? * OFF * OFF * * * * ****************************************************** Its worth playing about with these. On a large test JPEG the difference is considerable - 3 seconds to load with these options on and 14 with them both off... Keyboard controls When on, keyboard controls as added in 0.18 (see below) work. When off (default) they don't - instead you get a reminder dialogue if you press a key. Bouncy crop edges This influences the way the crop area behaves (in the crop window) when you drag it to the edge of the image - when on, the other side moves away. New memory management. By default 'Auto' chooses Application slot on Iyonix, Dynamic areas on older hardware. This may be forced either way and the size of dynamic areas created by modifying system variables in !Variations.!Run ...if this bit is all greek to you just ignore it! I've added some other stuff too but its all way toooo buggy and is turned off or hidden for this release. :-p 0.18 21/1/2003 -------------- Bugfixes, lots! including... * Iyonix specific problems in the masking code introduced to 0.17 * Broken code to load & convert sprites other than 16M * Stray hourglass offs * reduced usage of dynamic areas still further. * problems with mask editing gui (sliders misbehaving) fixed. Fixed Artworks code so that these shapes/fades should now render on Iyonix Split filters up into three groups (small, medium, large) and added quite a few more. Added experimental code for noise removal - removed it from release because its not as good as it could be. :-) GIF animation output could sometimes save as a sprite when it shouldn't Added new "pixelise/pontillist" effect - very simple currently, but fun! Added limited keyboard control/input ------------------------------------ When the variations window has input focus (titlebar is cream): "<-" = move central thumbnail one place "backwards" in the effect "->" = move central thumbnail one place "forwards" in the effect RETURN = "Process image" f3 = "save image under original name as a sprite" Shift-f3 = "save image under original name as JPEG" NB. Treat these functions with care, and please ensure that a backup of the original unmodified image exists elsewhere! (I may make these functions optional and disabled by default in a future version as I feel they are potentially dangerous and could lead to lost original images, but they were requested by someone...) 0.17 26/12/2002 --------------- Loading a 32bpp sprite will search for alpha (mask) information embedded and if its found, use it. Masking - see below for details. Bugfix: Original and Variation could be one step out from where they were supposed to be in certain circumstances. Bugfix: Creating a GIF animation now recognises the state of the "loop" option, and makes a looping gif if its on. "Original and Variation" and "Animation" modes now update the thumbnails a bit faster than they did in 0.16. "Filter" is slightly faster in 0.17 than it was in 0.16 Removed non-functional "compare" and "undo" from the menu (until they do something). Reorganised filters. These are now stored in the text file !Variations.Filters0 The format of this file should be easy enough to work out and with care you can now modify the inbuilt set of filters yourself. If you know what the numbers mean. :-) Two more filters added - 9x9 and 11x11 box filters for fuzzier smudged effects. Major new function: Masking *************************** The following effects take notice of a mask if one is present and use it to attenuate and control the effect on a pixel by pixel basis: Saturation, Brightness, Gamma, Contrast, Sepia/Tint and Filter (Currently Hue, Border, Fade and Shape ignore any mask ...probably will be fixed, but I'm not sure what use masking would be for Border etc. Hue is too slow and horrible to be usable and internals of this will be re-written from scratch) Masks allow you to alter user defined regions of the image and leave the rest of it untouched. To edit an existing mask (or create one if it doesn't exist) click menu over the variations window and choose "Edit mask..." MENU over the mask window that opens gives you a simple menu. The function of items in this should be pretty obvious (but save mask doesn't work yet). Invert can be particularly useful once you've created a masked region. Click and drag in the window to paint using the chosen tool (available tools are in the toolbar to the left of this window. Clicking on a tool in this toolbar will also usually also open a settings window for it). Tools are [from left-right, top-bottom] : Mask options ------------ Just opens mask options window. "Mix image and mask", when on displays a combination of the mask and the image. This uses more memory and is slightly slower to redraw but lets you see what pixels in the image will be altered by the mask. Associated options let you set the colour used to represent the mask, and an intensity slider so you can see partly through it if you wish. When the "Mix image and mask" option is off the mask is represented by grey pixels. Black=transparent, white = solid (you don't see the image). "Auto update thumbnails", when on, updates the variations thumbnails after each change made to the mask (the effect applied to these is filtered through the mask). When off, thumbnails are only updated when the mask window is closed. Magic wand ---------- Magic wand region selector. *NOT YET IMPLIMENTED* Brush (Default) --------------- Select click in the mask to paint "solid", Adjust click to paint "transparent". Amount of each applied is controlled by the Brush option "Opacity" The brush options window is opened by clicking on the brush icon (highlighted initially) in the pane attached to the left of the mask editor. Brush size, softness, opacity and step options are available via sliders/bump arrows (writables are not fully working yet - don't type numbers in and expect them to be recognised...I hardly ever use writables...can you tell? ;-). Experiment with these sliders. Try dragging one to one extreme, painting in the mask, then going to the other and see if you can work out what they do. Then try playing with combinations of different settings [size and softness]. Turning on Coordinate "Smoothing" lets you draw smooth curves in the mask at the cost of the painting stroke lagging behind the mouse a little. Alter the number of smoothing steps to get a setting you feel comfortable with. Drawing ------- Select regions by drawing around them. *NOT YET IMPLEMENTED* Filter ------ (no user interface for options, does something but may be buggy) *NOT YET IMPLEMENTED* Fill ---- Fill tool giving options of flat, graduated [default] or circular fills. Contents of the options window that opens should be self-explanatory. Click and drag out in the mask editing window to do a grad. fill. Current view scale ------------------ This is the view scale onto the mask (1:1 is 100% view). Click on this to return the view scale to 1:1 Bump arrows for view scale -------------------------- Let you adjust the scale of the view onto the mask and zoom in for pixel-by-pixel control. In addition to the above tools the mask is also offered up to the PCA system. If you have available other PCA compliant tools that can edit 256 level greyscale sprites they will appear in a dialogue box attached to the bottom of the mask edit window and clicking on one will activate it. Via this route some users will already have available useful drawing, stamper (cutout), painting and multi line text object tools which may be used to alter and create masks. [I am working to try and make these tools available for all] 0.16 17/12/2002 --------------- Bugfix: Antialiased thumbnails were not rendered correctly (thats geek-speak for "not at all" ;-) on some machines. Thanks to Rosemary Miskin and Sendu Bala for their help in fixing this long standing and annoying bug. Now only checks for ArtWorksRenderer before complaining that artworks modules can't be found. - druck. Error reporting code tweaked. - druck. Will now will find JCompMod in System. !Run file now looks for PCASupport 0.33 (pcares modified too) Now copes more neatly if ChangeFSI can't be found. Image filtering code modified to improve behaviour near the edges of the image. Bugs and requests from Stuart Halliday: --------------------------------------- Ctrl-Clicking on a bump arrow no longer causes an error. Effect scale doesn't cause unnecessary redraw when the main window is closed (faster bump arrow behaviour). Ability to go >100% in Effect scale. New features ============ New menu item and related window "Statistics..." gives details of image size and rendering times. Useful for speed testing, perhaps? New choice "No border" - when on, the blue border that surrounds thumbnails to correct for the aspect ratio of the window isn't used - thumbs have the same aspect ratio as the fullsize image. New thumbnail choice: "Original and variation" ---------------------------------------------- This displays a thumbnail of the original image on the left and a single variation on the right. In this mode clicking on the right thumbnail auto-repeats (hold down select to move in one direction, adjust to move in the other). When the variation looks "better" than the original simply release the mouse button. Drag the scale slider to alter the step size if the autorepeat is too fast, or too slow. This mode is particularly useful for the "filter" variation and allows you to check sharpness against the original. Click on Update Image to make the change (nb. double clicking doesn't work in this display mode). Adjust-dragging the Intensity slider for Fade and Shape now interactively regenerates thumbnails as you go. RiscPC users will probably only find this useable in "Original and variation" thumbnail mode. Iyonix Users may be able to tolerate it regenerating 3x3 or even 5x5 thumbnails interactively as the slider is dragged? New thumbnail choice & mode: "Animation" ---------------------------------------- Broadly similar to original and variation except now its "start frame" and "end frame" and the animation between these playing in the middle. A range of options and effects are available. I suggest you experiment. MPEG generation is not yet supported. Sprite and GIF are working. For best quality the image should be scaled using something like ChangeFSI and then the animation produced at "original" size rather than relying on Variations thumbnailing to scale it down as that doesn't do as good a job. NB. *Very* large animation files (much larger than available memory) can be produced quite easily. Use with care. Intergif is required to produce gif animations (variations produces a temporary spritefile and then passes this to intergif to create the gif). 0.15 05/12/2002 --------------- Modified ARM code to (hopefully) be 32bit clean so that the program will work on an Iyonix...maybe. ;-) *** PCARes This contains modules PCA 0.33 and CompoSupport 0.79 - Iyonix ALPHAs. If you're reading this a significant period of time after December 2002 then please see if you can find a later version of PCARes and/or variations. There may be new bugs introduced into this version. At the time of writing I don't have an Iyonix so changes are speculative. The program and modules appear to still work okay on RISC OS 4.02. **** Tidied up Border a bit and made it work for fullsize as well as thumbnail. ...though currently it uses lots of memory when rendering fullsize. Planning to improve this and make it strip render if there isn't enough. Made Shift-drag move the image around within the thumbnail. This is particularly useful for fade, shape and border. Try it, you'll soon see why. Made reload original in the menu work. Added options to restrict the effect of Saturation, Brightness, Gamma and Contrast to any combination of the red, green, or blue image channels. Added the menu to the thumbnails window too. Added menu items for saving the thumbnails as a drawfile or spritefile and the code to make these features work. Added new choice for fade/shape/border scaling. This is the scale at which the relevant vector image will be plotted (centred) over the image. Reduce this and then drag a thumbnail around with shift-drag to produce interesting effects. X and Y scale are initially linked but may be 'broken' to allow independant control. 0.12 06/04/2002 --------------- Maintenance release - I'm shortly off on a bit of a holiday so if I don't reply to an email within 24 hours please allow up to six weeks for it to arrive. :-) Bugfix for machines with lots of memory/Select If you couldn't load a sprite or JPEG and got a "Redirection to invalid sprite" error try it now. JPEGs with extra data (Exif and interlaced jpegs) are now converted using djpeg in the background and can be loaded. It'll be a little slower to load these than using OS JPEG plotting routines though. "This software is based in part on the work of the Independent JPEG Group". Files other than Sprites or JPEGs dragged to the iconbar icon or into the window are now thrown at ChangeFSI in the background in the hope that it'll understand them and return a 16M sprite. The upshot is that Variations will now load GIFs, BMPs, TIFs (well, some) and other "odd" graphics files. Fixed save with a leafname >10 characters long being truncated to <10 Tidied up one or two minor things. NB. "Border" is currently unfinished and "Emboss" isn't there at all (in fact, it'll change to another process as embossing can be achieved via the filter/sharpness feature). 0.11 28/3/2002 -------------- 3x1 thumbnail grid redraw titlebar when new image loaded interactive help popup help popup help option in choices save choices (and load, obviously!) default choices Artworks files may be used as fades or shapes NB. You'll need the latest AWViewer from http://www.mw-software.com/ (and lots of free memory) Added a few more fades and shapes Changed a couple of draw fades for artworks ones Now works as a PCA tool Started work on Borders Now copes with spritefiles of any number of colours and converts them automatically to 16M if necessary. Closing the window now no longer removes the file, a select click will reopen the variations window. Added (very simple and hence, fallible) 'web' and 'email' buttons to the program info window. May only work with MessengerPro and Oregano, because thats what I've tested it on. Designed a pretty(?) logo graphic. 0.10 13/03/2002 --------------- Added Sharpness/filter feature, range of filters and the option to limit the filter to any combination of the red, green and blue channels. NB. Experiment with different levels in the variations dialogue before writing some of these filters off (they work differently depending "where" you are). Added different tint/colourise types. Added "auto fix cast" to tint dialogue box. Selects detint and "guesses" a colour cast for the image. Fixed a few small bugs. Added more fades and shapes. Added option to invert fades/shapes (small button - I couldn't fit a larger one and didn't want to redesign the dialogue box). 0.08 07/03/2002 --------------- Modified fade rendering code to be faster when calculating thumbnails, particularly when using a texture. Added tint/sepia effect and user interface. Updated "ReadMe" file. 0.07 - 06/03/2002 ----------------- Fixed fade and shape sliders that were broken in 0.06. Made work in step sliders writable. Fixed inter-thumbnail offset code. Made choices for inter-thumbnail offsets work in choices window. Added medium quality antialiasing option. (and made it the default as it is faster and uses less than half the memory of HQ and most people won't notice the difference anyway). Made antialias quality settings a Choice in the choices window. Added option of having the "hot" thumbnail at the top left rather than the centre. Made double clicking on the "hot" thumbnail do an [Update image] and a [View full]. Adjust-double clicking won't open the full view window. Made Step size slider interactive if you ADJUST drag - though its too slow to be properly usable IMO. Added Stuart Hallidays drawfiles to Shapes and Fades. 0.06 - 05/03/2002 ----------------- Made step size slider work, added writable icon and bump arrows. Rearranged window templates to suit new fade pane strategy. Added Sepia/Tint radio (non-functional). Redesigned fade pane to fit within variations pane. Added scale slider (long one!) and made it work. Added shape pane, similar to fade pane. Added choices window, choices item to iconbar menu Choices made available are Thumbnail layout and antialiasing. No way to save them yet though. ;-) Tweaked thumbnail redraw/layout code a little. (but still not right - space between thumbnails should ideally always be even)