16 May 2008

New, faster JPEG 2000 plugin

A JPEG 2000 plugin based on J2K-Codec is now available.

The new plugin improves on the old JP2Raw plugin's JPEG 2000 handling in several ways:

  • Much faster at viewing files.
  • Much, much faster at generating thumbnails.
  • Support for x64 (64-bit Windows).
  • Support for alpha channels (transparency).
  • Support for less common .J2C & .J2K code-stream data files.
  • Support for Unicode filepaths.
  • Support for Opus's USB-Mode.
  • Doesn't call abort() on decode errors. (An aspect of JasPer which I dislike even more than its speed.)
The new plugin continues support for:
  • 8bpp images.
  • 16bpp images.
  • Color (RGB) images.
  • Greyscale images.
  • .JP2 format files.
The older JP2Raw plugin is still needed for other image formats so don't delete it yet. In time the entire JP2Raw plugin will be replaced by several better standalone plugins; this new JPEG 2000 plugin is the first such replacement.

For download links and more information, go to the plugin's web page:
http://www.pretentiousname.com/j2k/index.html

15 May 2008

Updated Plugin source-code

Updated C++ source code for my GIFAnim, NFO and TextThumb plugins is now available from my web page:

http://www.pretentiousname.com/pnop_source/index.html

Source for the JP2Raw and Ogg plugins is also there (but is not new).

On the page you will see that I've written a little bit about each plugin from a programmer's perspective. Hopefully this makes the examples more useful as you can get an idea of the different kinds of plugins that can be written and see which plugins would serve as good examples for your particular project. (This certainly isn't an exhaustive list, though. There are no VFS (virtual file-system) plugins at all yet, for example.)

11 May 2008

NFO plugin 1.1.0.15

A minor update of the NFO plugin has just been released.

For more details see here: http://www.pretentiousname.com/nfo/#history

3 May 2008

Directory Opus version 9.1.0.6

A free update for all Opus 9 users - Directory Opus 9.1.0.6 is now available from http://www.gpsoft.com.au.

Version 9.1.0.6 – May 2nd 2008

Bugs fixed / minor changes:

  • Fixed a problem that prevented the copying of folders to an FTP site from working
  • Fixed a problem with file change detection through folder junctions
  • Fixed a crash when the Find Results were directed to a locked Folder Tab
  • Fixed layout of Rename dialog on 800 x 600 displays
  • Delete EMPTYRECYCLE command no longer blocks subsequent commands in the function when the recycle bin is empty

29 April 2008

Directory Opus version 9.1.0.5

A free update for all Opus 9 users - Directory Opus 9.1.0.5 is now available from http://www.gpsoft.com.au.

Version 9.1.0.5 – April 29th 2008

Bugs fixed / minor changes:

  • The new grp:XXX syntax in wildcard pattern matching did not properly resolve the name of the Filetype group (with the result that only the default groups Images/Documents/etc would work.)
  • Right-click / Rename on the Folder Tree incorrectly displayed the full Rename dialog (with an incorrect filename) rather than entering inline rename mode as intended
  • The ADD argument can now be used with the Clipboard SET command to add text to the existing clipboard contents.
  • There is a new ext2 modifier for file command codes (e.g. {file|ext2}). This is basically the same as the existing ext modifier except the period is omitted (so, for example, {file|ext2} might return txt whereas {file|ext} would return .txt)
  • Fixed a problem where Copy UPDATEALL and UPDATEEXISTING would incorrectly delete pre-existing empty folders in the target directory.
  • Swapped the key shortcuts for Delete and Edit in the Folder Aliases Preferences dialog to be more logical.

26 April 2008

Directory Opus version 9.1.0.4

A free update for all Opus 9 users - Directory Opus 9.1.0.4 is now available from http://www.gpsoft.com.au.

Version 9.1.0.4 - April 24th 2008

New Features:

  • Inline rename (renaming a file in the Lister by pressing F2 rather than through the Rename dialog) now supports the case-altering functionality of the full Rename dialog. When editing a name you can press:

    Ctrl + L lower-case all
    Ctrl + U upper-case all
    Ctrl + W capitalize all words
    Ctrl + P capitalize first word

  • Added a new SHOWPREVIEW argument to the Rename command. This lets you control the state of the preview display when opening the Advanced Rename dialog.

  • It is now possible to auto-generate a list of Rename Presets in a toolbar or button. To do this, use the command Rename PRESET=!list

  • It is now possible to refer to File Type groups in most places where filename wildcard pattern matching takes place. The syntax for this is grp:xxxx where xxxx is the group name. For example,

    Select grp:Images
    - automatically select all files matching the Images group

    Set SHOWFILTERFILENAME grp:documents
    - hide all files not in the Documents group

  • The FTP Address Book has a new Connect button in its toolbar. This lets you connect to a site directly from the address book.

  • FTP sites displayed in the FTP drop-down menu now have context menu actions - right-clicking on these gives you the option to Connect, Edit or Delete the site.

  • The FTP Auto-Upload functionality has been extended to support external programs that return immediately upon invocation, or do not return at all. Previously, Opus would wait until the program it launched had returned before prompting to re-upload the file, however this methodology fails if the program launched returns immediately.

    There are several new options in Preferences / File Operations / Options that let you configure the auto-upload monitoring. The default is Check for modifications when launched process exits - this is the old behaviour. The new Monitor options let you refine the detection of file changes.

    Monitor file until it changes means Opus will monitor the downloaded file indefinitely until it either changes or is deleted. Note that only the first change to the file will be detected using this option - if the file subsequently changes again Opus will not detect this.

    Monitor file for X minutes makes Opus monitor the downloaded file for the specified time. Any changes to the file within this time period will be noticed.

    Monitor indefinitely (until Opus exits) means that Opus will monitor the downloaded file indefinitely until either Opus exits or the file is deleted. Any changes to the file will be detected.

  • There is a new escwild modifier for file command codes (e.g. {file|escwild}) that makes Opus automatically escape any wildcard characters in the filename. This is useful if the filename is to be passed to an internal command that supports wildcards. For example,

    Select {file|noext|escwild}.*

  • The Full-row selection options in both Preferences / Lister Display Modes / Details Mode and Power Mode now have a new modifying option called Display only. If the Display only option is enabled as well, items will visually appear to be selected across the full row but selection of the item will only take place from a click on the item name (the same as when Full-row is disabled altogether).

  • There is a new Set FULLROWSELECT command that lets you control the full-row selection option from a button or hotkey. The parameters are:

    on       Turn full-row selection on
    off Turn full-row selection off
    toggle Toggle full-row selection
    display Command affects the state of the Display Only option
    select Command affects the state of the Full-row selection option
    power Affects Power mode
    details Affects Details mode

    If neither power nor details is specified the command will affect the current display mode.

  • The Copy ZIP command has a new keepfolder argument. Normally, if you run Copy ZIP on a single folder, the contents of that folder are added directly to the zip file, ignoring the actual folder you selected. If Copy ZIP=keepfolder is specified, the sub-folder itself (including its contents) is added to the zip file.

  • The Filetype NEW command now adds the name of the newly created file to a function variable called newfile. For example, to create a new text file and then automatically open it in Notepad:

    Filetype NEW = .txt
    notepad "{sourcepath}\{$newfile}"

  • There is now partial support for the Vista localized folder name system; in the Folder Tree and in the Breadcrumbs path field. This is the system where on a non-English computer, the underlying name of the folder does not change ( "Users" is still "Users") but a localized translation is shown in the user interface.

  • New, re-written ActiveX plugin. Supports x64, Vista Preview Handlers, improved MS Office compatibility, and several new web file types including MHT and URL files.

  • The Delete EMPTYRECYCLE command now lets you specify a single drive to empty the recycle bin for. For example, Delete EMPTYRECYCLE=c: would only empty the bin on drive C. The EMPTYRECYCLE command now also supports the FORCE argument, to prevent the confirmation dialog from appearing, and the QUIET argument to prevent the progress bar and audio feedback.

  • The Rename INLINE command can now take a single argument. If this is specified (e.g. Rename INLINE=single) then inline rename will only be activated if a single item is selected; if two or more items are selected then the Rename dialog will be shown instead.


Bugs fixed / minor changes:
  • Files renamed recursively (using the Rename files in selected sub-folders option of the Advanced Rename dialog) are now added to the Undo list and the recursive rename operation can be undone.

  • The BPM (beats-per-minute) column is now populated for WMA files as well as MP3.

  • The TextThumbs plugin no longer includes hidden files when generating folder thumbnails.

  • The advanced function editor now recognizes Ctrl + Insert, Shift + Delete and Shift + Insert for Copy, Cut and Paste.

  • Opus now supports "flat" menus (both popup and drop-down) when the option is enabled in Windows.

  • Adding the desktop folder to the virtual folder list in Preferences / Folders / Virtual Folders is now supported and means Opus will always display the real desktop folder instead of the virtual desktop.

  • The Shutdown Directory Opus when the last Lister closes option did not always work reliably.

  • In Flat View, renaming both a folder and a file in that folder at the same time (via wildcards) would cause the size of the file to be displayed incorrectly.

  • Fixed a problem where renaming multiple files inline (F2 in the Lister) could sometimes result in them not being re-sorted correctly once inline rename mode was exited.

  • Files created using the New menu (e.g. New -> Text Document) are now selected automatically once the inline rename of the new file is complete.

  • When renaming using Find & Replace, if a selected filename matches the replace string exactly, Opus would only rename as far as that matching file and would then prompt again for a pattern to rename the rest.

  • Recursively renaming files in sub-folders could cause an incorrect "prefix" to be added to the files in the sub-folders.

  • Creating a shortcut to a file collection now works if the collection name contains spaces.

  • The Copy MAKELINK=auto command now correctly names the link when it ends up creating a shortcut.

  • The Prefs STYLELIST SHOWICONS command now correctly shows icons when added to a menu.

  • The Join command now checks before it begins that the destination device has sufficient space to hold the joined file.

  • If there were three or more toolbars on one line in a Lister, the second toolbar did not display a separator line between it and the first toolbar.

  • In Customize mode, using cut on a menu item and pasting it to another toolbar now correctly removes the item from the first toolbar.

  • Opus can now show .WMF files (and display thumbnails) when they are inside ZIP files.

  • Sounds and Images defined in Preferences no longer get lost when they are located in sub-folders of the program folder.

  • It is now possible to undo a folder copy or move that results in a merged folder. Eg, if you move C:\Test to E:\ and E:\ already includes a folder called Test, the contents of the two folders will be merged. You can then Undo this to recover the original C:\Test folder, leaving the original contents of E:\Test intact (except where files were overwritten!).

  • Renaming files using the {mp3songlength} field now works correctly when the song length is less than 1 hour.

  • Opus can now work with ZIP files when they are stored below a directory with Unicode characters in the filename. Also, ZIP files themselves can now have Unicode characters in the filename. (Note though that the files within the ZIP file still do not support Unicode filenames.)

  • The Rename INLINE command's all, ext and end arguments did not work correctly.

  • Improved compatibility for MP3 ID3v2 tags with incorrect Unicode BOM.

  • The JPEG Quality field in the Image Conversion dialog now remembers its previous setting correctly rather than resetting to 0.

  • If any folders were filtered out of the display and you entered Flat View Mixed-No-Folders mode, those folders would incorrectly be revealed.

  • The {dlgopen} and {dlgsave} command sequences now let you specify the initial filename/path successfully.

  • Decreased the threshold at which Opus considers an image to be greyscale (affects the scaling routine used when generating thumbnails) to prevent misidentification of images with very little color in them.

  • Opus will now correctly detect file changes on junctions to drives without drive letters.

  • The Play dialog now supports the standard Opus "top-level" functionality.

  • Exporting and importing three-button buttons would lose the three-button state. (An exported three-button button would turn into a drop-down menu on import.)

  • Fixed sorting in the Folder Tree of ZIP files and the Vista Profile directory.

  • No longer shows incorrect {GUID}-style tooltips for folders in the Vista Profile directory.

  • Fixed a problem where docked glass/taskbar-style toolbars would disappear when the computer came out of hibernation.

  • Undoing a Clipboard PASTE command which created a text or image file (pasting text or image data from the clipboard to a file) now works correctly.

  • The Undo LISTMENU command now correctly respects the icon settings of the button.

  • The Viewer status bar now correctly updates when the currently viewed image is deleted.

  • If Viewer preferences set the left mouse button to toggle full-screen mode then you couldn't reveal the full-screen viewer's menu or toolbar by clicking the top and bottom edges of the screen. This now works.

  • The Select previous folder when going Up option is no longer overridden by the Automatically select first file in folder option.

  • Changes to the Animated GIF plugin:
    • Added support for Crop and Undo-Crop.
    • Added support for controlling GIF animations via keyboard media buttons (play, pause, etc.).
    • Interlaced (sub-)images shorter than 4 pixels were not decoded properly.
    • More robust handling of corrupt images.
    • Selection preserved when rotating.
    • Scrollbars no longer appear/flicker when scrolling large images with the scrollbars hidden.
    • Memory leak when rotating GIF images 90 degrees clockwise.
    • If the Viewer was configured to resize only for the first image then new GIF viewers always opened at the minimum window size. If the Viewer was configured to resize for all images then a similar problem cause slight flickering when changing from another image type to a GIF.
    • Fixed several bugs in Flatten layout code which sometimes resulted in unnecessary scrollbars and poor tile arrangement and window resizing.
    • Fixed rotating images, when zoom set to Fit-to-Page, resulting in scaled down images despite there being screen space for them to be larger.
    • The animation toolbar was impossible to use if the left button was configured to close the viewer or toggle full-screen mode.
    • You can now shift-click to select the image when the left button is configured to close, advance or toggle full-screen. (As well as Scroll, which worked previously.)

  • The {fileshort$} and similar "short" filename command sequences would incorrectly return the name of the parent folder if the filename in question was already a "short" (8.3) name.

  • If a ZIP file was open in Explorer and files from it were dragged to an Opus Lister, a temporary folder would be created (in the %TEMP% directory) that would be locked and could not be deleted until after a reboot.

  • Dragging files from Explorer ZIP to an Opus Lister would display a progress bar with incorrect file counts.

  • It was possible for the DESCRIPT.ION file to become corrupted if doing multiple simultaneous copy or move operations to the same destination folder.

  • The font selection control would incorrectly select a different font size if the currently selected size wasn't listed. (e.g. If point size 7 was set but 7 was not in the list then 72 would have been selected instead.)

  • The Filter field will no longer clear or affect unrelated filters. For example, modifying a File filter will leave any current folder filters untouched.

  • Drag and drops can now be consistently cancelled by pressing the alternate mouse button. (e.g. When dragging with the left button, press the right button to cancel.)

  • It is now possible for Lister Styles to trigger a folder size calculation if the Get Sizes option is enabled in the style's format.

  • Context menus added to toolbars using the FileType CONTEXTMENU command are now updated & refreshed whenever the current file selection changes.

  • Fixed a problem where Path fields (e.g. Path (Favorites List)) would not display the icon for the current folder correctly on Vista.

  • A drop-down Path (Favorites List) field now displays the entire contents of your Favorites list including any sub-folders.

  • Fixed a problem where the mouse could get in the way of keyboard operation of sub-menus. (If the mouse happened to be positioned over the parent menu, it would not be possible to open any sub-menus using the keyboard.)

  • Alt-clicking to edit buttons (when the option is on in Preferences) now works when the button is in the >> menu due to lack of space on the toolbar.

  • Improved support for MP3 album art (now handles the MIME type image/jpg as well as image/jpeg).

  • WMA thumbnail support was broken - now fixed.

  • The Zip Check Out command would cause an unnecessary folder to be created in the %TEMP% directory.

  • The Breadcrumbs Path field no longer uses the Office 2003 toolbar colors if the Office option is actually turned off in Preferences (in this case, it uses the system highlight colors instead).

  • If a Lister-local toolbar was turned off while in Customize mode, any hotkeys added by that toolbar were not correctly removed from the Keys tab in the Customize dialog.

  • The Remove from Collection command now works when both files and sub-collections are selected at the same time (the files are removed from the collection and the sub-collections are deleted).

  • The Viewer now displays more meaningful error messages when an error occurs opening the image file.

  • Fixed a problem in Vista where dragging a file out and back in to an Opus Lister could result in two "drag cursors".

  • The Viewer "Fit-to-page" option should no longer resize the window larger than necessary

  • The Viewer "Fit-to-page" option is now reapplied correctly when the image is rotated

  • Configuration backup and restore should now work correctly if any Styles or Layouts have Unicode characters in their names. Note that unfortunately this will not fix any existing backed-up configurations, but any new configuration backups should not have this problem.

  • Fixed a number of problems adding and extracting empty folders (or folders with empty sub-folders) to and from ZIP files.

  • Temporary files created by the filem command sequence modifier are now correctly cleaned up (deleted).

  • If a Lister opens when Opus starts up it should now correctly become the foreground window.

  • Fixed a problem with the Delete EMPTYRECYCLE command that would cause it to run one for each currently selected file.

  • Fixed a problem with multiple Select commands in the one function, when one of them uses {file} external command modifiers. For example,

    Select PATTERN="~(*.jpg)" DESELECTNOMATCH
    Select PATTERN="{file|noext}.*"
    Select PATTERN="~(*.jpg)" DESELECT

  • The CREATEFOLDER argument to the Copy command would cause an incorrect Undo entry to be added.

  • The Zip Extract To ‘xxxx' context menu command now strips any trailing periods from the name of the zip file before creating the destination folder (as trailing periods are not allowed in folder names).

  • When pasting clipboard text into the Create Folder dialog, any tabs are now translated to spaces instead of being stripped altogether.

  • The Size on Disk column now works correctly in the Print Folder command.

  • File permissions were not being copied correctly if the original files had no inherited permissions.

  • Folder permissions are now copied (if the option is enabled in Preferences).

  • Adding a Spacer field to a text-only toolbar no longer increases the height of the toolbar.

  • The Recycle Bin will no longer show as full if Opus restores a deleted file leaving the bin empty.

  • The Go DRIVEBUTTONS command with labels or lettersbeforelabels specified now works correctly with optical drives under Vista.

  • If the Folder Tree and Viewer Pane are both visible, it is no longer possible to resize the Viewer Pane so far to the left that it eats into its own splitter control's space.

  • 48-bpp PSD files are now displayed correctly in the Opus viewer.

  • Fixed incorrect transparency when dragging album thumbnails.

  • Fixed incorrect alpha-channel combining when dragging 32-bit icons.

  • The Exposure Bias column is now measured in "stops" rather than "steps".

  • Fixed incorrect rendering of Amiga icons in thumbnails mode.

  • Fixed rendering problem with the utility pane (Find/Sync/Duplicates) when it is placed vertically. (The tabs and buttons in the top-right corner can no longer overlap, and the buttons no longer move when the pane is scrolled horizontally.)

  • Adding or removing an extension to/from a File Type Group, where that group has a color assigned to it, now correctly updates the display of those files in any open Listers.

  • Taskbar toolbars now highlight correctly on mouse-over even if Windows-style highlighting in menus is enabled.

  • The width of a Spacer control after turning off Full-width is now set correctly.

  • Fixed refresh problems on 2000/XP when a docked toolbar is hidden/shown and rounded corners are enabled.

  • Fixed a problem where the Lister column headers could stay scrolled to the right (if you had, in fact, scrolled them to the right) when F5 was pressed to refresh the Lister.

  • FTP SSL - fixed an issue where server Date Channel Protection refused Private and only encrypts the control channel but leaves the date channel in Clear.

10 March 2008

ActiveX plugin v3.1.0.0

Version 3.1.0.0 has been posted.

(Edit: Plugin installer links removed. The plugin now comes with the latest version of Opus so you should install that instead.)

Changes in v3.1.0.0 (10/Mar/2008):

  • Fixed USB export.
  • The 64-bit plugin can now use 32-bit ActiveX controls. This means 64-bit users can view PDF and Flash files and use 32-bit Windows Media Player codecs.
  • The 64-bit plugin's configuration dialog allows you assign extensions to 32-bit and 64-bit versions of Internet Explorer and Generic ActiveX controls. The default configuration assigns everything to 32-bit as many controls do not yet have 64-bit versions and this is what the OS itself does with IE and WMP.
  • 64-bit Users Please Note: You should disable or delete the separate PDF-ActiveX plugin (pdfactivex.dll), otherwise it will handle PDF files before the ActiveX plugin gets a chance, resulting in Adobe Reader opening in a separate window. I'll suggest to GPSoftware that PDF-ActiveX be dropped from 64-bit releases.
  • The plugin now runs all of its viewers in separate processes in order to isolate Opus itself from crashes.
  • Windows Media Player crashes after full-screen mode seem to be fixed as a result of the process isolation.
  • Moved text into StringTable resource to allow for localisation.
  • Configuration dialog uses system Message Box font. (e.g. Segoe UI 9 on Vista.)
  • Default configuration changes:
    • Added .zip to default Internet Explorer extensions. Shows you the contents of the selected zip file.
    • Disabled Microsoft XPS Rich preview handler by default as the Internet Explorer plugin is better overall.
    • Disabled Windows Media Player preview handler by default as the Generic ActiveX control is generally better.
    • Disabled Windows Mail HTML preview handler by default as using Internet Explorer gives fuller results (e.g. images).
Feedback: There's a forum thread for feedback on the new plugin. (You can also leave moderated comments here without needing to sign up.)