Jump to File Extra (JTFE) Development

  |    |    |    |    |    |  

Keep track of latest development changes to the Jump to File Extra (JTFE) plug-in as it continues it's every continuing process to take over and hopefully not crash Winamp (well it shouldn't crash but you never know with pc's ;o) ).

As of v1.1 of the plug-in, Winamp v5.5 and higher is required for it to work. For people needing older versions then these can be obtained from the older changelog entries but no support is offered other than to upgrade to a new Winamp client. This is so the plug-in works without having to compromise on features such as complete unicode support being one of the the main reasons and not having to ship legacy code in the plug-in.


  • Fixes JTF window not being skinned when the mode is enabled
  • Everything else since the last update noted on this page


  • Added IPC_GET_JTFE_QUEUE_UPDATE to notify when there are changes made to the queue contents (details will follow in updated sdk)
  • Added checks on start-up to attempt a refresh of the icon pack (if one is specified) after a Winamp update
  • Added 'shift' handler to up / down queue management buttons to change them into a move to top / button respectively
  • Added view file info (alt+3) option to the main jtf window right-click menu (now matches with the management views)
  • Changed queue management buttons to be disabled when there are no appropriate actions available e.g. empty queue
  • Fixed handling of adding of urls to the queue when using drag and drop from the library
  • Fixed jtf window not selecting the current song if the first search result on opening in some situations
  • Fixed the [<<][>>] buttons on the alt+3 dialog appearing when they should not be in some situations
  • Fixed the skinned jtf and queue manager windows not appearing correctly at times (should resolve jtf window not appearing always)
  • Fixed possible crash when dragging files onto the queue if there was no length obtained from the file
  • Fixed queue position not showing in the playlist editor (v1.2.4 issue)
  • Fixed crash on loading when queue position not showing in the playlist editor (v1.2.4 issue)
  • Fixed 'shift' handler for up / down queue management buttons not working in the queue manager window (v1.2.4 issue)


  • Fixed a crash on close issue (1.2.x related issue)
  • Fixed api_playlist_colouriser to not turn queued items to black on display setting changes (1.2.x related issue)
  • Improved preferences compatibility with Winamp 5.59+


  • Changed default visible state for the Queue Manager window on new installs (request by Nullsoft)


  • Fixed icon pack selection not working correctly with large numbers of installed icon packs
  • Fixed icon pack changes not working in all cases (settings reading issue)


  • Completely overhauled the previous internal colouriser api (used for the queue and missing file highlighting) so it is simpler to use and also blends multiple actions on an item correctly along with some speed improvements on enumeration
  • Exposed the colouriser api (api_playlist_colouriser) interface for external plug-ins to use
  • Improved queue and internal hash lookups to be faster where possible (uses more caching of results)
  • Improved updating of queued items in the jump to file window list to be faster based on timed differences
  • Improved jump to file window search list horizontal scrollbar updates to not lock the UI (improves responsiveness of the search list)
  • Changed queue lists to use double-buffered painting (removes flickering on sizing / update and painting quirks in the Queue Manager window)
  • Changed the existing skinned window code to use my embedded window api example code (fixes some modern skin to classic skin quirks)
  • Fixed the move after current action not working in all circumstances (related to unicode changes in v1.1x)
  • Fixed the move after current action not moving files above the current song in the correct order when the 'move as a list' option is unchecked
  • Fixed issue with Modern skins and the colouriser causing queued items to turn black (Winamp client incompatibility)
  • Fixed the send to menu actions not working in all circumstances
  • Fixed 'Shift+C' when there is no queue causing the jump to file window's horizontal scrollbar to be recalculated when not required
  • Fixed '(null)' appearing in the jump to file playlist editor menus (related to changes in v1.1.4)
  • Fixed flashing of playlist when 'q' is pressed without a selection
  • Removed preference option for remembering the window position - is now on in all cases due to the new skinned window code (also applies to the unskinned jump to file window)
  • Removed some more legacy code and improved some code layout along with other changes saving ~3kb over the previous release


  • Added option (default: off) to highlight missing files in the JTF search list (uses missing file colour settings when skinned or a disabled text state when unskinned)
  • Using the queue button / menu action on the JTF window now honours the option to remove files from the queue if already in it (probable regression from the past)
  • Fixed buttons on the unskinned JTF window not appearing in all situations (1.1x issue)
  • Fixed some issues with the missing files highlighting not being started if off and changing the option in the preferences
  • Fixed a display issue for short titled playlist entries not shown with the correct highlighting colours as per queue / missing file colouring options when changed from the default values
  • Changed internally how the plug-in updates multiple instances of the queue view to remove some duplicated code (may be quicker now with it)
  • Fixed all queue views being refreshed when a new instance was created (most noticeable via the prefs queue manager in older versions)
  • Fixed a very random crash on close issue
  • Fixed an issue where the main Media Library preference item could appear as a child of the JTFE preference node if it had the same name the JTFE media library options preference page (was at least affecting the French language pack)
  • Minor changes to the language file for the highlighting of missing files in the JTF window


  • Fixed crash when using the unified editor [<<] and [>>] buttons with certain files
  • Improved handling of the unified editor buttons to either not show, become disabled or be created as required depending on what is done to the playlist editor if the unified editor is already open


  • Fixed issue where the Queue Manager Window can appear in bold at times (1.1.x related issue)
  • Removed LVS_SINGLESEL style (single item selection in listviews) from all listviews to allow select all to work correctly (there is a language file change due to this)
  • Fixed Ctrl+A not working on the JTF mangage mode list
  • Fixed JTF search list showing random output when there is no search results to display
  • Fixed JTF not showing the correct view on loading (usually if manage mode was the last state when closed)


  • Fixed handling of the bookmark entry on the Shell Folder Context menu (would either crash or do nothing)
  • Changed the example language file included in the installer to be an en-us translation (the plug-in is still en-gb translated)
  • Fixed some issues with the installer not correctly closing Winamp causing data loss when requested to close


  • v1.1 (Build 1050) [Only works on 5.5+ clients (included in 5.58)
  • Cleaned up some more of the project setup for easier building especially with more wasabi integration
  • Made added tooltips on gen frame windows support unicode text as applicable
  • Updated dialog hooking to cope with unicode dialogs (related to Winamp 5.58 unicode improvements)
  • Enabled unified editor [<<] and [>>] buttons on all cases now (was ini only option prior to v1.1 as UnifiedAlt3HookOn=1)
  • Improved handling of the [...] button on the edit playlist entry dialog with language packs
  • Added support of api_explorerfindfile (requires Find File on Disk v3.x or Winamp 5.58+)
  • Updated preference handling to support unicode preference entries on 5.53+ clients
  • Fixed Queue Manager main menu entry not working when accessed via the taskbar system menu
  • Changed plug-in to only work on Winamp 5.5+ (this now removes the legacy version offered with v1.0x)
  • Removed all legacy code related to pre Winamp 5.5 clients
  • Changed the plug-in to be unicode throughout where possible (improves UI and file handling)
  • converted language file support from ini format to lng (5.5+ style allowing full control of dialog)
  • Altered internal hash code to work with lower case paths to resolve issues from http://forums.winamp.com/showthread.php?t=318627
  • Internally defaults to using m3u8 playlist for the copy of the queue between instances
  • Changed gen_jumpex.m3u8 not to be removed once Winamp is loaded so queue will be preserved better if Winamp crashes (user request)
  • Improvements to internal access of the hash list to prevent some rare crash situations
  • Altered how some of the queue changes are reflected in the available queue views to improve speed
  • Changed playlist loading to use Winamp's playlist loader service instead of my custom loaders to save space and improve compatibility
  • Fixed favourite queue lists to now save and work with unicode paths (resolves some user reported issues)
  • Improved send to and drop handling into the ml views added by this plug-in
  • Fixed send to queue duplicating or not adding items to the queue correctly (especially if it is not already in the playlist)
  • Fixed remove duplicates to cope better when playlist items haven't had their title loaded from http://forums.winamp.com/showthread.php?p=2623207#post2623207
  • Reworked large parts of the preferences to hopefully improve the layout but also to remove some parts not really required and to better clarify names of options, etc
  • Reworked most of the skinning ui handling to make it better integrate into the support provided by newer winamp clients (makes things look more consistant i hope)
  • Fixed some views showing a Winamp style skinned menu when they were not meant to
  • Fixed some handling issues with the skinned JTF window when changing its size (especially to it's smallest and then increasing it)
  • The unskinned JTF window is now able to be re-sized just like the skinned
  • Removed some Queue Manager and Media library Queue view issues due to shared code with the positioning of the controls on them (made the Queue Manager look weird at times)
  • Hiding the JTF or Queue Manager windows will now correctly send WINAMP_NEXT to focus another Winamp window when they are closed
  • Changed favourite queue loading to now append addtions instead of replacing the favourite list
  • Added Ctrl+A (select all which isn't implemented on Win2k/XP editboxes for some reason) and Ctrl+Backspace (Clear search) on the JTF search box (user request)
  • Fixed the Shell Options to use Winamp's elevator service (requires 5.58+ to work correctly) so regsitry changes can work on Vista / Win7 installs
  • Added support for Icon Packs (see the Jump to File -> Extras prefs page for more information about this)
  • Fixed the missing files code to cope with foo.rsn\bar.spc entries so it will check just the foo.rsn for validity
  • Changed the guid reported by the plug-in for language packs to ensure it will use complete gen_jumpex.lng files (instead of the interim dialog resource only version initially released a few months back)
  • Lots of code size optimisations due to the removal of legacy code to make the dll around 20% smaller (yay)


  • Corrected missing/wrong localisation entries for the 1.0.7.x series
  • Minor changes to how Add to Media Library works (starting to work on reported crash issue)


  • Fixed Queue Manager and Jump to File skinned frames appearing incorrectly (related to starting minimised support)
  • Fixed api_queue->EnableQueueAdvance(..) and api_queue->IsQueueAdvanceEnabled(..) interfaces being wrongly defined in api_queue.h
  • Fixed api_queue->IsQueueAdvanceEnabled(..) crashing (if above issue was manually worked around)
  • Dynamically load SHOpenFolderAndSelectItems(..) so we can run on Win2k again
  • Localisation updates including 5.57+ wlz handling support & ability to for dialogs to be resized via gen_jumpex.lng (see example 5.57x wlz)
  • Fixed sparodic internal queue allocation crash (rare event)
  • Refactoring of the preferences handling to make it more reliable and less intrusive (old method code sparodically crash)
  • Context menu in the JTF dialog is now clipped to the list if the mouse isn't in it at the time
  • Alt+Q now works correctly in the Queue Manager window and the JTF dialog if both are open
  • Fixed an alignment issue with the bottom groupbox on the 'menu &buttons' preference page
  • Fixed handling of the JTF search box to correctly match with the un-skinned version so it'll keep the selection in the same place
  • Improved handling of accelerators on the JTF dialog to remove some quirks which had crept in over the years including some double-handling of messages
  • Better handling of swapped mouse buttons in relevant places
  • Fixed the up/down queue button handling as it had been swapped around accidentally for some scenarios
  • Fixed crash when queuing files too quickly due to legacy code incorrectly kept enabled
  • Fixed F2/Rename Favourite not working
  • Re-worked large proportion of Favourite views to not be incorrectly sharing code used to update the current queue (most right-click functions were broken) and so the send to menu options will work correctly (this was really broken)
  • Added 'Alt+3' and a 'Ctrl+F' handler to the JTF and Queue Manager lists
  • Fixed "Queue selected and randomise" to be used in place of "Enqueue selected and randomise" as per the language file
  • Fixed 'Jump to file options' option in the playlist editor not working as was trying to open the Queue Manager page/view
  • Added a 'Random queue from current playlist' option along with keyboard shortcut
  • Fixed doing a drag and drop from the queue windows showing as valid when it was was started from the scrollbar
  • Improved bounds checking when using internal randomiser to prevent saving of queue lists with garbage at the end of them
  • Reworked some of the internal playlist loaders to make them more reliable
  • Improved 'Queue album from playlist' so that it'll parse the folder if there's no playlist and no results from the media library
  • Fixed mapping issue of hibernate/standby due to changes in 1.0.5
  • Fixed heap corruption when using the send to action in the queue manager window
  • Improved drag and drop handling onto the JTF and Queue Manager windows
  • Added in IPC_INITIAL_SHOW_STATE handling so (at least with classic skins) none of the plug-in windows will show [this led to v1.0.7.2 being created to fix it]
  • Minor code refactoring and misc tweaks i cannot remember now...


  • Re-worked the 'On end of queue' menu to allow the close and stop options to be used with the power options again (similar to pre 1.0 builds) -> http://stashbox.org/466236/on_end_queue_v4.png
  • Minor improvements in the hooking of the File Types preference page
  • Fixed up/down buttons being inverted only on the JTF dialog
  • Fixed queue not advancing in all cases (related to the 5.53+ compatability fixes in earlier 1.0.x builds)
  • Fixed queue being played when Winamp's 'stop after current' is enabled - should have stopped playback and not continued
  • Fixed skin change crash compatability issue with post 5.55x installs (related to internal Wasabi changes)


  • Added usage of IPC_SET_JTF_COMPARATOR_W api (requires 5.55+) - true unicode searches should work now!


  • Fixed text on the groupbox on the skinned JTF dialog looking out of place (colouring of the groupbox will be fixed in a future build)
  • Fixed buttons on the JTF dialog changing to uppercase (related to the accelerator fix in v1.0.2)
  • Fixed resizing of the skinned JTF dialog not always hiding the buttons correctly in some cases


  • Adjusted wasabi services handling for better handling incase of error/missing service
  • Fixed the local accelerators (relating to the & in the button text) to work again on the skinned jtfe dialog (broken since 5.53)
  • Fixed gen frames missing titles
  • Fixed issue between the Queue Manager window and gen_ff when doing a create/destroy/create cycle of a gen frame
  • Fixed plug-in reporting the wrong version via its internal api IPC_GET_JTFE_VERSION
  • Fixed language file enumeration when there is no underscore in it (locks up loading otherwise)
  • Changed the auto-updater to no longer use a temporary working file (minor speed-up) and only uses the wasabi services (means it'll only work for more recent 5.2x+ installs)
  • Changed the 'On end of queue' menu on the stop button to be less confusing (i hope)
  • Changed the internal cache from converting everything to lower case which means the 'remove duplicates' option now preserves the playlist entries text case
  • Changed how the plug-in is built to now generate two versions - one for the Winamp distribution without legacy client support and a standalone version with legacy client support (gives ~8kb difference, heh)
  • Fixed 'B' not allowing the current queue to advance in 5.53+ installs (new handling is now key independant, yipee)
  • Fixed some playlist loading issues with my m3u loader (oddities in line handling particularly additional newlines at the end of the file)
  • Added support for m3u8 style playlists for loading into the queue either via send to, internal Winamp drag and drop or external off Winamp
  • Updated language file handling to make it switch to the 'auto' mode (unless explicitly set already) to all for it to be localised the same as Winamp's settings
  • Fixed the 'Shell Options' registry handling to work with 5.53+ changes that now provide individual registry blocks per file extension (was still otherwise working for generic cases/old Winamp behaviour)
  • Fixed the registry setting on the 'Shell Options' page to better preserve/re-add additional settings that Winamp sets for the Play and Enqeue options
  • Fixed closing/changing of settings on the 'Shell Options' page causing multiple writing of the settings into the registry
  • Fixed the memory state of the plug-in's child preference pages not being remembered in some of the 5.5x+ installs (should remain collapsed if collapsed)
  • Implemented IPC_PLAYLIST_GET_SELECTED_COUNT for Winamp client versions this was not previously implemented in (still to look at replicating IPC_PLAYLIST_GET_NEXT_SELECTED)
  • Reworked the handling of the skinned 'Jump to File' window on opening to hopefully not appear at all now (due to an extraneous ShowWindow(..) call in the init handlers on the dialog (i now cannot repro any flashing with this on my XP machine seeing as the old Win2k box never had that issue)
  • Implemented a resizeable skinned 'Jump to File' window (the unskinned version is still a fixed sized dialog - need to know if there is a demand for it first) - this should now mean skinners can embed the JTF frame without issue using the frame GUID posted ages ago!
  • Added in no_resize=1 support in the plug-in's ini section in winamp.ini to disable the resizeable skinned frame handling (incase someone doesn't like it, heh)
  • Fixed the handling of the Jump to File search list's horizontal scrollbar not being set to the correct size in all cases (especially with some long/weirder playlist item strings)
  • Reworked the drawing of the search list results to draw when requested rather than editting the search items - this should improve handling of the list display when there is a queue loaded
  • Disabled (for the time being) automatic handling of switching from/between skinned/unskinned versions of the Jump to File dialog (will have to close/reopen it manually) - is related to the sizeable skinned dialog which causes issues when reverting the window styles currently (fun WIN32 stuff!)
  • Fixed some of the flickering when resizing the Media Library Queue view
  • Fixed the Media Library Queue view being partially visible in some cases when it is loaded (incorrectly being set to visible before it had been correctly initialised) - noticeable if you use the keyboard to move up/down the Media Library tree quickly
  • Reworked the layout/handling of some of the preference options to better reflect their grouping and uses. This introduces the 'Extras' preferences page and moves the 'Shell Options' page to be a child of the 'Filetypes' preference page (no options were removed - Will just loves preference options!!)
  • Added an external 'Queue Manager' window (Alt+Q) - is off by default and is enabled via Preferences->Jump to File->Extras
  • Improved the handling of the plug-in's 'Send to:' handlers so it can now deal with playlists and also not to fail in some cases (as previously happened like on the Playlist Editor Send To menu)
  • Fixed a focusing issue with the [...] button added to the 'Playlist Entry' (Ctrl+E) dialog
  • Fixed using the 'Shell Options' not respecting the currently used language pack so the Explorer menu strings will remain German if using the German langauge pack (yay)
  • Added 'Enqueue & Play' directory support on the 'Shell Options' page
  • Added 'Add to Winamp's Media Library' support on the 'Shell Options' page
  • Adjusted the handling of the skinned scrollbars in most areas of the plug-in to follow Winamp's style more closely (not done for the JTF search list currently)
  • Fixed a display issue with font changes causing the font to appear bold for a period of time
  • Improved handling and propogation of colour theme changes within the skinned areas of the plug-in under Modern skins
  • Fixed some edge cases where opening of the JTF dialog could fail via the Global Hotkey to show it
  • Added in alternating row colour support (requires 5.55+) which will follow the option under Preferences->Media Library->Appearance->'Use alternating row colors in list views when available'
  • Added nopage3=1 in the plug-in's section in winamp.ini which will hide the queue list (management) page in the plug-in's main preference page (useful now that we have an external queue manager window)
  • Updated to make use of registerGlobalWindow(..)/unregisterGlobalWindow(..) which allows the skinned windows from the plug-in work with Ctrl+Tab within Winamp again (was broken somewhere in the early 5.5x builds i believe)
  • Updated to make use of app_addAccelerators(..) which allows certain keyboard accelerator functions to work correctly again with 5.53+ installs
  • Optimised the handling of the skinned frame code in the plug-in to use less memory and better handle quirks in the different client versions
  • Fixed the nView fix code to work again at least under Classic skins - Modern skins still need more investigation though nVidia have discontinued the offending part of their drivers which led to this feature in recent Forceware versions i believe (reading driver release notes sends me to sleep, heh)
  • Adjusted the Shift+F10 (app menu key) to better position the menu when the mouse is not in the Media Library Queue view
  • Added new images for the Media Library Queue view and for the Favourite Queue view pages (not too bad i think for the non-graphics person i am)
  • Fixed an incompatability with adding the plug-in's child preference pages with the Media Library preference page (could cause the wrong page to appear in the wrong location)
  • Added support for unicode on Preferences->Jump to File->Display in the formatting example areas
  • Massively improved the handling in the common queue manager views (Media Library view, Queue Manager window, etc) to work with Drag and Drop from various sources and also to allow for doing actions on multiple selections (this feature will make it onto the JTF dialog in a future build)
  • Implemented an api_queue wasabi service to allow for other plug-ins to control/manipulate the plug-in's queue (provided in the 5.55 SDK and to follow on my site once documented with an example, etc) - wa_jtfe.h is also likely to be released but still undecided about this (the older SendMessage style api which calls api_queue now)
  • Added Shift+R shortcut on the common queue manager views for randomising the queue without having to go into the options menu all of the time
  • Tweaked the classic skin common window shade handling to draw a 9x8 instead of a 9x9 block for the buttons which improves support with a number of classic skins without breaking (from my tests) any previously ok handled skins (still eventually need to provide a proper bitmap file for giving a better UI experience than the hacking it does)
  • Added Ctrl+Alt+Q shortcut in the Playlist Editor to activate the 'Queue album from playlist' item in the JTF submenu
  • Added in handling of double-click/enter in the common queue manager views to start playling the first selected item (if there is one)
  • Added configureable option to define what is shown when using the 'manage queue' option on the Extras preference page
  • Made the preferences make better use of the space available and aligned to better match with the 5.5+ styling of the preferences
  • Improved how adding items to the queue works if they are not already present in the the playlist editor (should be more reliable now)
  • The Media Library Queue view will follow the 'Use skinned menus' option under Preferences->Media Library->Appearance>' on 5.55+ installs
  • Miscellaneous code changes to make things better handled/remove duplication/just generally better implementations of things
  • Updated language file to v2.0 - this adds in new/missing translations from previous versions and also changes a number of existing strings (with new versions) that makes the UI more consistant (like inappropriate enqueue usage when it should have always been queue!!)
  • Bonus feature added which is enabled with UnifiedAlt3HookOn=1 in the plug-in's section in winamp.ini is the addition of [<][>] buttons in the top left of the Unified Alt+3 dialog (this may have issues with mixed filetypes in the playlist so be warned!)
  • Bonus feature added which is enabled by checking 'Enable 'File Types' preferences page additions' on the Extras preference page (see text description for what this does - i like it, heh)
  • Other minor little tweaks to menus, etc that i forgot to log down which make it all a bit more consistant/work better and all that fun stuff


  • v0.99.2 (Build 430) (Shipped with Winamp 5.5)
  • Changelog to follow... though mainly refinement/bug fixes/localisation updates to work with the 5.5+ Language Packs


  • Fixed handling of separator:// entries in the playlist so that they won't cause winamp to lock up if queued (dumb bug as was checking the string wrongly)
  • Fixed a quirk with the winshade code that 5.34 created (i love having to do compatibility fixes every build... not)
  • Added in page up and page down forwarding from the JTF edit box to the search list (now mirrors native behaviour)
  • Tweaked the size of the 'load playlist' button on the JTFE media library view (mainly for translations)


  • Fixed the basic shell enqueue and play not working (oops)
  • Fixed a weird issue with the width generation for the scrollbars on some of the preference pages
  • Fixed shift+enter and ctrl+enter handling on the JTF dialog (related to other fixes in 0.99.1)
  • Fixed searching not working for unicode strings on XP (related to the up/down fix of 0.99.1)
  • Updated language file to v1.8 specs (english us, german, polish and russian are updated to this already)


  • Fixed the forwarding of the down and up keys in the edit box to the listbox on the JTF dialog
  • Fixed the skinned frame borders not being drawn in 0.99 (forgot to re-enable this in the 0.99 dev phase)
  • Made some tweaks to the skin change handling on the skinned version of the JTF dialog
  • Altered the handling of the manage mode code to resize better to the container it is (isn't ideal and the underlying code needs a full re-code and not a patch job)
  • Fixed a case where the ml queue view wouldn't correctly update
  • Fixed the folder context menu removal code to work correctly with Winamp's option for folder context menus being disabled
  • Improved the handling of the plug-in between unicode/ansi versions of Winamp especially if the plug-in is run on older Winamp installs
  • Fixed the handling of inserting items to the start of the queue when using the 'send to' options from the media library
  • Reworked the media library preferences page to make it easier to use and is organised in a more logical manner with the available options
  • Reworked the shell preferences page to be handled better and remove the weird mutually exclusive handling of some parts (makes the mode more flexible)
  • Fixed a few issues with the shell handling including bug #12 as referenced in the JTFE dev thread on the Winamp forums
  • Fixed 'Refresh on playlist changes' not being read correctly from the language files was using [rclkmenu]->37 instead of [rclkmenu]->38
  • Upgraded the language file support to v1.77
  • Gone over all of the preferences and fixed capitalisation and punctuation issues/inconsistancies
    (the example language file reflects these changes though most pre 1.77 files at the time of release don't - only entries where text was properly altered/added were added to the new language file otherwise the same strings are used since the punctuation/capitalisation should be applied on older versions if needed - also language files ideally should be setting jump to file, etc to the native language if that is suitable to do so for improved consistancy in translations)
  • Adjusted the positioning/sizing of a few other areas of the dialog preferences due to the above changes and to other reasons as needed
  • Fixed a focus on initialisation issue with the JTF dialog (related to the changes made in 0.99)
  • Reworked the handling of the code to keep the JTF dialog open from button, enter key and double-click actions - should work better and ensure that the JTF dialog is closed correctly (could occasionally cause the skinned frame to remain seen or playback start when moving the mouse over the JTF search list)
  • Fixed a potential silent crash on close condition with the handling of the skinned JTF frame
  • Fixed a crash with the missing files handling code and the removal of items from the playlist when it was enabled (introduced in 0.99 due to other optimisations)
  • Anything else i forgot to log (thankfully no major bugs have come to light from the 0.99 so all that work was worth it)


  • Implemented (after a lot of work!) unicode display support in the queue manage views (seems to even work on win9x), the Jump to File list (win9x is ansi only) - support on Win9x is limited and basially the NT OSes is where i'm targetting my main efforts on supporting
  • New and massively improved internal cache manager and implementation which gives me better memory handling/usage control (is using slightly less memory per item which is good for large playlists!) along with a far far far more stable implementation (the old code was the cause for a number of random crashes with large/fast playlist changes, etc) and overall just a better code design

    ^^^ Much pain and trouble this caused in it's implementation but from internal tests and code reviews this has been really worth the wait i think since it's been too long since the last public build, heh

  • Loads of code refactoring and size improvements which means this new build despite all of the changes and feature additions is only a few kb larger
  • Fixed the missing files colouriser not reseting to it's default values correctly for the spanned colouring option
  • Fixed a typo of 'seperator' to 'separator' in the core and the example language file
  • Updated the language file to v1.71 and added any new or missing translations from the older plug-in versions such as all of the ml view parts (thanks to jph6t, anewuser and mertcankaya with this)
  • Fixed the language file support not handling similar named files correctly such as 'english' and 'english (american)' where the wrong one would be selected though the correct one was used
  • Fixed a few on the fly language file changes not always working correctly - is now consistant in it's behaviour
  • Reworked how the JTF dialog is handled and intercepted so now shouldn't be affected by any versions of HP's thumbreader software or anything else using windowshooks for the JTF dialog (dead sneaky stuff and works a lot nicer, heh)
  • Fixed the load playlist into queue modes (was broken by some shared code from a dev version of in_zip without being fully checked) so should work correctly now
  • Fixed the queue list views not always being updated correctly on queue changes (mainly from the playlist editor keyboard shortcuts)
  • Added better skinning of the manage mode list on the JTF dialog if the media library is installed (not point in duplicating code when it does it all for me) otherwise it'll revert to it's existing semi-skinned behaviour
  • Altered the auto-updater to only check at most once a day (was silly and stupid of it to be checking all of the time)
  • Added a new playlist menu action 'Enqueue Selected and Randomise' which will queue the selection and automatically randomise the queue list (is accessible via the 'shift+r' keyboard shortcut
  • Fixed the move after current mode on the JTF dialog to correctly keep position after doing a move after current on the file that was just after the current selection
  • Added an option to allow for the JTF list to be updated when changes are also made to the playlist editor (right-click on the JTF list to enable/disable this useful feature)
  • Fixed the view state of the JTF dialog not being correctly remembered (would incorrectly flip the view state)
  • Fixed the skinned version of the JTF dialog to not cause OS//GDI corruption after rapid / a lot of drawing / scrolling of the JTF search results
  • Made some changes to fix random issues where the JTF dialog may not appear correctly due to the position/state not being adjusted correctly at times
  • plug-in now works with 5.34+ and it's unicode main window proceedure (to resolve ??? being shown instead of unicode titles on compatible OSes)
  • Reworked some of the internal apis that the plug-in uses to cause less potential conflict with other plug-ins and winamp itself
  • Improved the handling of the plug-in's reading of malformed pledit.txt files for the colouriser
  • Fixed an issue where the colouriser causes a massive slow down when trying to display network located unicode named files in the playlist editor (required api usage changes as the old api used would cause GetShortPathNameW to be called and that api is really really slow)
  • Fixed a potential crash on close when the common winshade code was enabled wheh winamp is closing (was at times trying to clen up after the wrong window)
  • Added the ability for the shell options code to work without having the main option directly enabled in the preferences and the registry (added jtfe_anders=1into the plug-in's section in winamp.ini)
  • Added a 'Leave playback on the currently playing track' option for the standard shell enqueue and play options page
  • Added the ability to control the folder context menus associated with winamp on the shell options page (involved a lot of internal recoding and optimisations to make it more flexible without masses ofcode duplication)
  • Reworked a number of areas of the winshade and skinned frame memory allocation to remove some potential and actual memory leaks (were only a few bytes but that's more than should happen)
  • Reworked a number of areas of the winshade and skinned frame to remove any duplicate and/or unnecessary code between them (was originally based on the same code that was then split some time back)
  • Reworked and massively improved the internal preferences handling implementation along with better handling when it's forced to reopen very early in winamp's loading compared to the old code (like with a plug-in uninstall)
  • Moved the Shell and Media Library preference pages to be child entries like the Missing Files page is instead of being inthe main part of the JTF preference page tabs (looks a lot less cluttered now :) )
  • Implemented a fix for the tooltips in the Winamp main window being hidden behind the playlist editor (uses TTN_SHOW to know whento adjust the z-order of the tooltip windows)
  • Fixed the JTF dialog not following the option to not remember ir's last position when re-opened (may not have been in the last public version but mentioning just incase)
  • Fixed (i hope this time) for the JTF dialog to move back onto screen when reopened if it was closed partly off screen (code wasn't working correctly before so hopefully is ok this time now)
  • Reworked the ML integration so that it will better update on the fly any changes with the Favourites mode being enabled and disabled (would previously completely destroy all of the JTFE ml items and re-add them which isn't ideal) and will now properly revert the ML tree icon to the correct state on compatible versions of the media library (5.3+)
  • Fixed the JTFE ML views to not steal the keyboard focus when their item is selected in the ML tree list (so can now keep navigating through the ML tree with the keyboard)
  • Fixed the close button on the colouriser dialog having a wrong style (noticeable on theme enabled OSes)
  • Added a slightly faster compare function for use with the JTF search (thanks benski for the tip!)
  • Fixed the display position in playlist option to correctly index things - was always out by 1 due to zero based indexes of the items which i hadn't adjusted and no one seemed to notice it either :(
  • Added m3u8 write support of the the current search and current queue only for NT based OSes currently (the ML queue favourites need to be updated to use these as well but i need to do a m3u8 loader first but it's something)
  • Fixed an issue which was causing the plug-in to show 0 items on the JTF dialog and could then cause a crash on close or anyother queue action (happened due to incorrect cleanup when the current queue was cleared out due to the items not being there anymore and the internal queue cache wasn't fully reset)
  • Fixed the JTF dialog showing '0.' when there were no search results and the displaying of the items playlist position was on (does no one see these issues or new features??)
  • Tweaked the handling of the 'space' key in the JTF list to just show the currently selected item - handling would occasionally show and then select an invalid item in the JTF list
  • Reworked the initialisation handling of the JTF dialog so that there is a good chance it should load a lot faster especially with very large playlists (was a conflict between Winamp and JTFE which seemed to cause double processing of things which should never have happened - thanks Egg for that lovely 30k playlist to sort that out with :) )
  • Fixed the modern skin frame handling to now work again (has been broken since 5.3+ or maybe a bit earlier) where the modern skin frame was able to be incorrectly resized - how this one never showed up from all of the modern skin users beats me! (Thanks yet again benski <3 )
  • Fixed the skinning of the JTF list to match the ml listviews for a more consistant display
  • Tweaked the handling of the skinned scrollbars on NT OSes to be a bit easier on the system
  • Changed all of the dialog resources to make use of the 'MS Shell Dlg' font style/substitution so that now the enqueue list preferences page now shows unicode nicely (this seems to help on win9x as well for it's handling of unicode titled files in the queue)
  • Fixed on pre 5.2 installs multiple openings of the JTF dialog not working correctly due to the old search function patcher failing
  • Reworked the Missing Files callback functions to now be one function which also better handles unicode files now
  • Optimised the rest of the Missing Files code to only use the minimum of memory that it really needs to use (saves a few kb off a normal winamp install i think - more noticeable savings for large playlists like 30k+ where at times it could allocate double the memory needed)
  • Fixed at last i hope the flashing of the JTF dialog when it's opened (now shouldn't seem to part ghost the original JTF dialog before it is skinned and/or repositioned)
  • Improved some of the handling of queue list removals to not flash parts of the JTF dialog (may still happen but is less noticeable than before)
  • Tweaked the handling of the JTF manage mode page so that it'll better size itself independantly of the other manage views to fit with the JTF dialog styling
  • Anyother code tweaks, etc that i've forgotten to log - a lot has been done as can be seen but i think it's been worth it, heh


  • Fixed the missing files colouriser options not updating correctly on the fly
  • Fixed the shell option for 'enqueue and play' not working correctly when winamp was paused at the time (would resume playback of the current file and not the enqueued file)
  • Fixed the shell options 'insert after current song' option adding to the end of the playlist (wasn't doing the position transfer correctly)
  • Altered some of the ml handling code to format the titles to be in the same form as the playlist editor's atf format - was using just the title member of the ml item data before which wasn't correct)
  • Fixed the jtf dialog to not display ampersands as an underscore (introduced in the skinning changes in the last build)
  • Fixed the internal cache to not break on playlist modifications - shouldn't lose queued entries after the point of change now like with drag and drop actions
  • Fixed the 'found xxx/total' not displaying correctly on all winamp installs - was a language pack incompatability
  • Fixed the move after current option when done as a list inserting an extra position between items (was adjusting the index position incorrectly for files after the currently playing track)
  • Fixed the 'queue album from playlist' option in the playlist editor menu not working correctly (changes in some common code caused the playlist item generation to fail)
  • The shell options page will now be hidden when winamp is set to not use the registry (like in the U3 installer)
  • Altered the handling of the on end of queue action when stopping to not advance to the next track (unless the restore playback position to after the currently playing track option is enabled where it will then intentionally stop and set winamp to the restore point (otherwise the feature won't work in normal situations)
  • Added global hotkey actions to do the following... 'Add current selection to playback queue', 'Move current selection to after the current track', 'Queue album from current selection into playback queue', 'Add current selection to playback queue and randomise' and 'Clear the current playback queue'
  • Added back in the browse button '[...]' on the 'edit playlist entry' dialog so that the file can be found/changed more easily - was added into the early 0.97R builds but was removed when i changed how i was handling getting the playlist selection)
  • Anything else i forgot/tweaked


  • Fixed a bug with the ansi version of the Missing Files feature where all files were shown as being missing
  • Added a 'shft+q' shortcut in the playlist editor to allow the de-queueing of the current selection (if there are any queued files in it) - a menu option is likely to appear for this in a later build
  • Improved the skinning of the search list on the jump to file window to be correctly skinned (no longer will use the OS's colouring for the selected option (note: due to the way the OS works, if you're using the playlist font for the display and increase it, the JTF dialog will need to be closed and reopened for the contents to display correctly - still trying to see if this can be hacked to work on the fly or not)
  • Added the ability to view the playlist position of the files in the search list (available by right-clicking the search list)
  • Added the ability to return playback to the file after the first queued file once the queue has been played (enabled on the 'enqueue list' page in the preferences)
  • Fixed an issue where the horizontal scrollbar on the JTF window was incorrectly showing when search restore was enabled (i hope)


  • Altered the search override handling to only be activated if the hooking of the JTF dialog is successful (damn you HP and you're crappy thumbreader software though the newest release is meant to not break JTFE :) ) - this should resolve some people having no search working at all
  • Made the search list initialise it's buffers before anything is added which may give a slight speed improvement for larger playlists
  • Adjusted the search override to be enabled/disabled correctly as needed (works fine on pre 5.2 and 5.33++)
  • Tweaked the missing files code to not include entries like c:\hello.cue,1 and C:\1943 Kai.hes::HES,$1F,Game Over,6,,0 as being invalid when they do point to the real files c:\hello.cue and C:\1943 Kai.hes respectively
  • Updated of jtfe_turkish to v1.51 of the language file specs (still needs some work i believe from the author of the translation)


  • v0.97.8 (Build 69) (This is a cumulative changelog since 0.97.7h (Build 57) has been shipped with 5.3, 5.31 and 5.32)
  • Altered the plug-in's installer to work with the /S switch and to make it tell Winamp to save it's current playlist before Winamp is closed
  • Fixed an issue with the common winshade code which caused Winamp to crash when a vis was docked in a modern skin on load/skin change
  • Added a 'General: View listing of missing files in the current playlist' hotkey which will output a list of any missing/invalid file entries in the current playlist
  • Fixed a potential memory exception issue with the missing files code for invalid files
  • Fixed the 'on end of queue' menu not working correctly on the jump to file dialog and also made the standby/hibernate options to be correctly checked (was broken in an earlier build somehow)
  • Made a few changes to the preferences code so it should work better with Winamp core changes

    (This is now changes from 0.97.7h (Build 57)

  • Fixed drawing of queued entries on Win9x systems (just wasn't reverting to ansi output correctly)
  • Improved internal playlist handling code (relative path fixes and internal usage improvements)
  • Added GUID for the skinned jump to file window [ {5F8D8373-EAA7-4390-B5AB-402E86A5F9DD} ] (requires 5.31+)
  • Fixed the tabbing order on a few of the preference pages (wasn't quite right in a few cases)
  • Fixed the close handling of the common winshade code (could cause winamp to silently crash on close in a few cases)
  • Fixed a few issues with the colouriser dialog so that it will now show the default colour in the colour picker as expected (not black as it did) and fixed the enable/disable logic for the 'separate colour for the main text' option which wasn't correct
  • Updated the language file support to v1.51 (adds a few extra options and now supports the colouriser dialog correctly)
  • Added an option to the right-click menu on the jump to file dialog's search/manage button for setting if the current search/manage view is to be remembered or not (if not it'll default to the search view)
  • Added in queue total and queue duration to the media library's manage view and preferences manage page


  • Fixed the jtfe_winshadeapi ini setting to be used correctly - would allow the winshade mode to be enabled at times when it shouldn't have
  • Adjusted when the common winshade handler is applied on plug-in load to fix compatability with various plug-in loading order issues
  • Fixed the Missing Files highlighter to work with unicode filenames (in 5.25+) where possible
  • Fixed all issues with the Remove Duplicates feature from the playlist editor (was incorrectly generating the list, duplicating and then not sorting the gathered list as needed - all resolved now)
  • Removed some incorrectly included and unused dialog resources to save size off the plug-in dll
  • Fixed the colouriser api to work correctly with 5.25+ (so now spanned queue highlighting/missing files highlighter will work again)
  • Reworked a lot of the colouriser api code so it now directly mimicks Winamp's drawing (which means it's also less intensive on Winamp and cpu processing - which was never that much to begin with)
  • The colouriser api can now set just the text colour of the title text _without_ having to have the spanned background highlighting enabled (got that working from the above two changelog entries)
  • Lots of code cleanup/duplication removal/code validation to help cut the plug-in dll size (was upto 8kb removed at some stages against the previous build)
  • Re-enabled (officially this time) language file support (see the v1.50 example file though the translation is not complete still)
  • Optimised the related language file code so it's slightly more reliable and less intensive on the system
  • Removed some api dependancies which otherwise cause the plug-in to not load correctly on NT4 installs (i hope but since i can't directly test i don't know)
  • Fixed a potential lockup issue when trying to load multiple playlist files into the queue if the aqcuisition of playlist names failed
  • Updated the code used for handling the queue on pre 5.04 installs from the in_zip plug-in (just so i know what code i am using)
  • Altered the config option for the plug-in's ml interface to go to the 'jump to file -> media libray page' instead of to the last opened preferences page (seems more consistant that way)
  • Fixed the %st display option for queued entries to be correctly calculated (wasn't indexing things correctly in previous builds)
  • Reworked some of the internal caching code so that it now shouldn't cause some random crashes (internally waits for the cache to stop being worked on before it allows processing) and also fixes some issues with fast queue/unqueue actions for the selection in the playlist editor - so it should generally be more stable
  • Anything else that i forgot or was too low level/nerdy to worry about


  • Updated the colouriser api (which does all the playlist queue highlighting) for compatability with newer builds of Winamp
  • Fixed http://forums.winamp.com/showthread.php?postid=1890323#post1890323 by checking for the current track being removed and adjusting the internal drawing state as needed until a new track is played when Winamp will correctly update it's current playlist entry
  • Fixed http://forums.winamp.com/showthread.php?postid=1881833#post1881833 by fixing the temporary buffer allocation and also made the code add the correct number of entries into the queue (was sometimes missing off one file)
  • Added the ability to add the playlists created by the 'save current search' and 'save current queue' features on the jump to file dialog and enqueue lists into the Media Library playlists (should work as needed for pre and post 5.22 (when things were changed around) (feature reference)
  • Fixed the 'on queue end..' feature to work for all instances of the mode (wasn't working on certain queue list pages)(bug report)
  • Made the 'save current search'/'save current queue' options generate complete m3u/pls files (ie outputs any title/file length data that it can for faster loading with the media library integration noted above)
  • Added the ability to have a full border around the skinned parts on the jump to file dialog when it is in skinned mode (feature request)
    For this to be activated you need to add wadlg_jtfefunky=1 into the [jump to file extra] section of your winamp.ini file


  • Memory optimised the internal language handling code (this is still hard coded to 'english') and saves around 200kb of memory
  • Few other tweaks/adjustments to the internal language support including a mini api to allow for changing of the language file on the fly when support is re-enabled
  • Slight speed optimisation with the jump to file search function when using the 'filter search results' feature (removed processing duplication)
  • Fixed the plug-in to not process and causing Winamp to be closed when a OS suspend/hibernation was initiated (was a bug in the 'on end of queue' feature
  • Made adjustments to the 'on end of queue' code to save/update it's state better so it now shouldn't potentially report the wrong state after certain of it's actions (since the settings hadn't been saved correctly)
  • Fixed the plug-in's menus to work correctly on Windows 95 again (was incorrectly filling the menu item structure which the OS didn't like but newer ones let it through)


  • Fixed (again) the 'missing files' section being expanded all of the time due to changes to the winamp preferences in 5.23 (will now work correctly no matter what for all and new versions)
  • The JTFE ML favourite playlists now display with a playlist icon instead of Winamp's default for 5.2x+ installs
  • Added the correct Delete and F2 keyboard shortcuts (when using 5.2x+) for control of the JTFE ML favourite playlists in the ML tree
  • Improved speed of saving out the current jtfe queuelist on exit (if the option is enabled)/generated m3u files which is most noticeable with large queuelists/playlists
  • Fixed 'Queue album from playlist' to update all queuelist views correctly (wasn't doing it beforehand)
  • Overhauled the internal handling of queuelist updates so that it will generally only update once all files have been added into the queue (helps speed up handling and responsiveness with large queuelists)
  • Altered the default search delay for the Jump to File dialog down to 250ms (from 500ms which was introduced in v0.97.1 (Build 17) for helping improve response times for large playlist searches)
  • Fixed the 'add to queue' and 'add to queue and play' send to menu items to work on playlist roots for all versions of Winamp (was broken by changes made in 5.22)
  • Improved handling for the 'add to queue' send to menu items to work better with mutliple selections and generally improved the implementation of the feature so it should work more reliably and also faster when dealing with large numbers of ML items
  • Finally implemented the 'Add to the start of the current queue' for the 'add to queue' menu entries (was present in the preferences but was never actually implemented, doh)
  • Fixed the plug-in to be able to load correctly on NT4 systems (related to the NviewFix code and it calling CreateToolhelp32Snapshot(..) which isn't available on NT4)
  • Few minor internal api changes to cut down the number of duplicate api calls to Winamp


  • Added in a total count on the jump to file dialog so that it will show 'found(xxx/total number)'
  • Fixed the 'on end of queue' feature to work again
  • Altered the 'on end of queue' menu to only show options that are applicable eg hibernate is not an option when it's not enabled/supported
  • Fixed memory handling issues which arose with 64k+ playlists (so things should be working correctly with such large playlists again)
  • Fixed the 'missing files' section being expanded all of the time due to changes to the winamp preferences in 5.22
  • Fixed a bug causing the modern skin playlist editor docked toolbar state to not be remembered (damn you subclassing and race-conditions)
  • Fixed the common windowshade api causing the media library size/position not being remembered when switching from a classic skin to a modern skin and then back to classic skin (if need be see below..)
  • Added the ability to turn the common winshade mode off (since some people aren't keen on it) and may be of use if the above change has broken anything
  • Fixed an issue which caused IPC_SETDIALOGBOXPARENT to be blocked (which Winamp needed) and correctly fixed the issue it prevented of the skinned jump to file dialog appearing in the main window (not good)
  • Fixed the setting of the font used on the jump to file dialog when no font was obtained/used on 2.x installs
  • Added a 500ms delay when entering you search on the jump to file dialog to improve search responsiveness especially for larger playlists! (add jtfe_search_delay=XXX into the jump to file section of winamp.ini to adjust the search delay from 1ms upto 3seconds maximum)
  • I've probably forgotten something so whatever else...


  • Fixed a obscure crash on close issue (plug-in now runs clean in the debugger all the time for me)
  • Minor tweaks to the preferences (due to time constraints the language file support has been removed - build 17 will remedy that)

  • Fixed cache handling on playlist clears and instant re-adds
  • Fixed plug-in loading on Win95/NT4 systems (altered loading of the multi-monitor apis)
  • Fixed the saving of the jump to file window position when skinned (looks like it's been broken for a while)
  • Fixed the multi-monitor snap back code to work again (winshade code broke it from what i can tell) and also implemented handling for the modern skinned version of the jump to file dialog


  • Updated the colouriser to correctly handle right to left playlist drawing (well i hope so, heh)
  • Fixed an issue with the prefs pages disappearing caused by a change in the last build
  • Improved some internal message handling to better work on Win9x based systems
  • Made sure the playlist state is updated in all cases when ever a file is queued, etc (was a bit ropey before on some setups)
  • Improved the handling of queuing files not already in the playlist editor (such as from the 'add to queue' send to menu option) to now work correctly in all cases (i hope)
  • Spent most of the weekend trying to find obscure issues with the internal playlist cache which was causing random crash issues (benski can't get them now so i say it's safe at last)
  • Anything else that involved cursing and swearing at the project!!


  • Tweaked the favourites view code to only show with an arrow next to it when in favourites mode
  • Fixed some Win98 issues with the winshade code
  • Adjusted some of the cache/missing files cache handling to possibly remove some of the reported crashes (still need to figure out the exact issue of this)
  • Fixed jtf dialog crash on closing on Win98 (and other 9x based OSes) related to the skinned scrollbar code being incorrectly initialised


  • Fixed the queue playing queued track + 1 (damn you missing ! )
  • Removed the built in dev build crash handler (since it was only really needed for the early dev builds)
  • Fixed the 'queue album from playlist' menu action to handle file paths with .\ or ./ in it (would cause some weirdness)
  • Fixed general playlist loading to handle entries beginning with the above parts at the start
  • Fixed the queue manage pages to maintain selection/focus on move up/down actions and prevented the drag and drop action from starting when there are not enough queue entries)
  • Made the manage queue pages have the selection follow the mouse position on drag and drop actions so you can see where it will be going
  • Tweaked the internal handling of the favourites queue media library integration for dialog layout and implementation
  • Fixed the plug-in's handling when any of the text formatting options are cleared (will just use what Winamp would display originally)
  • Fixed the hilighting of queued items to work correctly even if text formatting in the playlist was unchecked (doing this should never have disabled the hilighting!)
  • Improved the playlist updating when changes are made to the playlist/hilighting options and a queue is present
  • Fixed the hilighting default preview colours to correctly update on skin changes again (including modern skin colour themes)
  • Tweaked the advance to next track code to cut out any unnecessary processing
  • Fixed an issue with the jump to file results limiting not enforcing the limit in all cases
  • Fixed handling of the jump to file dialog when search limiting is enabled and there are queued entries (would cause a null entry or completely remove the entry causing a mis-calculation in the search results found)
  • move after current in the playlist editor is now back and working again and it works better than before i think from tests so far
  • Changed the internal queue cache to be memory optimised as needed (will save a bit of memory for larger queues)
  • Removed some same instance code duplication when processing queue entries (basically will give a smidge extra speed)
  • Fixed handling of the preferences auto-hiding unrelated pages to correctly hide the media library page when it isn't installed (would remove the misc page by mistake)


  • Fixed the middle click enqueue option not working (was accidentally left disabled when fixing an issue in 14.6)
  • Fixed the preference pages to use the correct XP style as required (like 0.96ff does)
  • Added a (Found X) to the 'Search for text' box at the top of the jump to file dialog to see better what the plug-in has found
  • Optimised the internal caches memory allocation so it's all dynamic now and not hard coded (on a 21.5k playlist the changes saved me 3Mb of RAM!! - actual saving will vary but there should be a reduction in almost all cases)


  • Made a few more code adjustments to the jtfe search function (though it will be slightly slower than winamp's native version because this is more concise in it's search comparisons and foreign character support)
  • Added in a note to indicate that the close button on the jump to file dialog cannot be removed
  • Fixed the missing file highlighter not correctly being disabled despite being set on the preferences
  • Fixed an issue with an internal timer related to the estimated start time queue option working incorrectly (only works when needed now and if there is a queue)


  • Fixed an issue with the search code not correctly building it's internal list (should get search speeds backup for some)
  • Added in a workaround to correctly size the skinned jump to file window when smooth resizing is not enabled (a 5.x feature for classic skins)
  • Fixed a bug with the jump to file button positions not being read back in correctly (damn you e and r being so close on the keyboard)
  • Fixed an issue where the jump to file dialog buttons would flash up in a random location on the screen when using the playlist/winamp set font (ref feature added in build 14)
  • Disabled some unrelated code in the search compare function which was used for the apostrophe and full stop handling modes


  • Changed the queue list on exit to be saved to gen_jumpex.m3u instead of gen_jumpex.ini for faster loading times especially with larger restored queues on startup (will still handle legacy gen_jumpex.ini files on load cos i'm nice)
  • Adjusted the queue list saving to work slightly better (may be a bit faster)
  • Altered the updater code implementation to work with jnetlib.w5s (experimental testing with benski so this may still be removed before 0.97R final)
  • Improved the skinned mode of the jump to file dialog (the skinned scrollbars only work on 2k/XP+ systems)
  • Altered the use playlist editor font to now be applied to all parts of the jump to file dialog (fixes display issues with extended characters, etc)
  • Added a 'Show first selected in playlist editor' on the ml send to menus (where applicable)
  • Improved the ml integration code's multi-user support handling (should work in all cases now)
  • Fixed the plug-in's tracking of font changes in the player to improve support for the above change
  • Tweaked the display clipping of the search/manage mode button to look more consistant with the dialog's UI
  • Moved a few of the preference options around (part of the start to improve things for a final build)
  • Improved the media library fallback code for the 'queue album from playlist' feature in the jump to file playlist editor right click menu to correctly order the files based on track number irrespective of how the media library pumps out the search results
  • Reworked some of the plug-ins setting read/write actions to improve code efficiency
  • More weird fixes for the windowshade code (now just leaves a random issue which appears to be related to the media library - spent 2 days on this so i'm pretty certain that's the caat fault)
  • Removed the 'colouriser' preferences page and merged it into a smaller common dialog which is jointly used for the queue and missing files highlighting (saves on code duplication) and also improves the layout of the preferences (was Egg's idea and i like it :) )
  • Implemented a semi-colon separated filter list (currently on the misc preferences page) which allows you to block entries from the search results eg separator://;http:// (this replaces the remove separators option from the previous builds)
  • Added an option to the missing files support to allow entries beginning with \\ to be ignored (typically from folder shares)
  • Fixed a potential crash issue with the missing files code when the playlist contents were altered
  • Fixed foreign character searches including multi-byte strings (big thanks to mrym for the testing so far on this)
  • The above fix breaks the options to ignore apostrophe's, full stops and also the * wildcard searches (my custom compare function sucks at multi-byte processing but i intend to fix this asap)
  • The above should also provide some speed up with searches a bit (found my custom function was awfully slow at times)
  • Some minor ui tweaks/consistancy in handling of enabled/disabled options
  • Any other little fixes i've forgetten or can't find a log off


  • (Hopefully) Fixed some windowshade issues with the plug-in's implementation for generic Winamp window frames (winshade at the bottom of the desktop then minimise and restoring Winamp would cause the window to jump up incorrectly and another placement issue where the window appeared to be winshaded when it had only been moved down to look like it)


  • Fixed issues with the common preferences code (removes flicker and doesn't mess-up the Missing Files entry
  • Now works correctly with DEP enabled for all programs, etc (issue was due to a compile optimisation that XP doesn't like)
  • Verified a lot of the code (so could remove some of the obscure crashes)
  • Updated the code for getting Winamp's selected playlist entries so that it'll now use the best method (3 available) based on the version of Winamp in use and the mode that is available
  • Altered the 'about' action on Winamp's preferences to open JTFE's about page instead of the last JTFE prefs page viewed (need to pimp that donation button)
  • #defined out the scheduler code for this build to see if any of it's code is related to some of the reported stability issues of the last few builds (this will return in a slightly different way :) )
  • The prefs option for the checking for JTFE updates now refers to it being a JTFE check and not a general Winamp check (had caused some confusion in the past)
  • Fixed the ML integration handling of the ML_MSG_TREE_ONCREATEVIEW so it won't mess with any other ml views now (as it has improperly done before)
  • Fixed the favourites playlist loading to now work correctly based on Winamp's multi-user support (if available) otherwise it will act the same
  • Tweaked the favourites playlist loading/saving to use metadata from them where possible and improved loading speeds by processing the read data as the playlists are read instead of afterwards
  • Fixed the incorrect handling of the search results when the optimisation options are enabled (would give incorrect results) and also to correctly follow the limit set (wouldn't always work)
  • Fixed right-click enqueue of files in the search list to update the queue indicators (would only work from the enqueue button for some reason)
  • The search/manage mode button text is now clipped to the size of the button (it will trim the text with ... added where needed according to the OS function used).
  • Fixed an optimisation issue which broke some of the registry options (good catch by Egg)


  • Added in a lot of extra ML integration options/editing/general usability for the favourites modes (need to fix the item insertion though ref DL issues)
  • Search speed optimisations related to drawing enabled by default
  • Search speed optimisations related to number of entries to be displayed implemented (will show the first results upto the limit as Winamp processes them) to help with large playlist searching (can save upto a few seconds on really large collections!)
  • Fixed the Colouriser api to update the current playlist entry on changes (picked it up with the no playlist scroll option enabled)
  • Fixed the Colouriser api to not clip playlist entries longer than the playlist editor window's current size (a dumb dumb bug)
  • Switched the 'Q' (and 'M' i think) handling in the playlist to the faster 5.x method (with appropriate fallback to the traditional jtfe method as and when needed)
  • Fixed up Winamp 5.11+ multi-user support (after a few attempts) so all settings should be correctly stored based on what Winamp tells jtfe now
  • Fixed the missing files check to now not flag up an error when removable media is taken out (one for Egg)
  • Altered the plug-in's auto-updater to run in an idle thread (could cause system lockups if Winamp was run in a high/real-time priority)
  • Altered the auto-updater to only attempt to access the internet if Winamp is allowed to use the internet
  • Fixed the 'queue album from playlist' fallback option to work when the main ml integration is disabled (still need to finish the code to sort and then insert the entries based on track number)
  • Moved the 'queue album from playlist' fallback option onto the ML options pageAdded in preliminary code for Classic skins to keep the jtf window on screen when it's opened (Modern skin handling is going to take a bit more work/hassle)
  • Hopefully the playlist tracking update issues are fixed now (found a major commented out line probably from some testing that wasn't re-enabled)
  • Updated my common preferences code to allow for tabbing around the preferences (and removed the slim chance of lockups with the code - Playlist Loader and Playlist File Remover will also be released with this updated code soon...)
  • Common preferences code updates (from recent Playlist File Remover work) now mean that some more of the old on-the-fly language changes should work again, yay
  • Fixed the 'about' button going to the Playlist Loader preferences/another random preferences dialog (was a dumb handling error on my part)


  • Fixed an issue with the winshade mode (from the fix in build 10) so that now the window can be dragged correctly since the internal state is now correctly reset on starting to drag the winshaded window
  • Fixed the fallback code for the list font on pre 5.x Winamp installs
  • Adding an option to disable the use of the playlist font for the jtf lists
  • Added option to ignore apostrophes (') in the search
  • Added the ability to press the space key to show in the playlist the currently selected item in the main jump to file list (to match with the enqueue list modes)
  • Fixed an issue in the Winamp 2.x fallback code of the preferences code where clicking the [About] button wouldn't switch to the About page as intended
  • Tidied up / initialised a few buffers missed before in the old code
  • Added a 'Queue album from playlist' feature for the right click playlist menu which will queue the first playlist (*.m3u or *.pls) that it can find the selected file's directory
  • Expanded the above option to allow as a configurable option to query the media library if there are no playlists present in the file's directory
  • Improved internal code to only copy into the actual size of the buffers to remove any potential buffer overflows (such as with extremely long filenames)
  • Fixed a number of issues with the Shell Options code where certain settings weren't applied correctly based on other options in effect
  • Fixed the handling of the File Types preference page so that it will play better with Winamp now (wasn't 100% before)
  • Added in the ability to control which of Winamp's Explorer menu options are shown (Play, Enqueue, Add to Bookmark List, Enqueue & Play)
  • Added in full clean up on close for the hooking of Winamp's search function (is more just paranoia since the user wouldn't be able to attempt a search on the jtf dialog when Winamp is closing)
  • Re-coded the JTFE search function again to see if Extended characters are now handled correctly again (appeared to be broken in the last 2 builds or so)
  • Implemented wildcard supprt in the search (use an asterisk * to do this though if you enter a single asterisk just as the search then the search will not be a wildcard search)
  • Anything else i forgot to note down


  • When the ML integration mode is now enabled, a little fix is activated which will ensure in all cases that the view pages show up (i've been having issues where they effectively disappear off screen)
  • Fixed the ML 'Add to queue + play' feature to work again (something broke somewhere)
  • Fixed the 'load playlist into queue' feature so it will now handle M3U and PLS files again correctly (be they relative or absolute paths in them) [this will still act funny if the files aren't in the playlist when loading into the queue]
  • Added pressing 'space' on the queue list management pages to show that entry in the playlist
  • Both list controls on the Jump to File dialog will now use the playlist editor font (may add in an option to disable this if there's the demand!)


  • Added in the ability for . (dot) to be ignored when searching on the jump to file window (option is off by default)
  • Fixed a few issues with the Winshade code so that it won't adjust it's size if winshaded and the mouse is released outside of the button
  • Altered the Winshade code to not add the mode to the MilkDrop window in all cases since it messes up if windowshaded (really a MilkDrop issue!)
  • Started work on fixing/improving the load playlist into queue mode (supports relative pls files now but the feature is heavily broken whilst a few more changes need to be finalised)


  • Fixed logic issues with the Missing File feature's updater so it on only when specified now (was a lame bug)
  • Added an option to enable/disable (default is off) the Missing File feature
  • Added in the ability for the Missing File preferences sub entry to remember it's expanded/collapsed state
  • Fixed a bug in the new search function code where it wasn't creating the lower case value correctly and so could cause some incorrect search results


  • Added in non adding of the ML send to: menus if no items can be found in the database (hopefully the 'filename ISNOTEMPTY' query is fine for this)
  • Fixed a bug where the colouriser and missing file features were sharing the same selection colour when they shouldn't have
  • Altered the colouriser api to enum all callbacks now so that mutliple actions will be blended together for that entry (like queued and the show in the playlist option is used)
  • Adjusted the custom search function to hopefully search case-insensitively for extended characters


  • Merged the internal test dll (gen_missing) into JTFE as the 'Missing Files' sub-sub prefs page option which allows the hightlighting of missing entries in the playlist (Egg loves this one!)
  • Added in the ability to browse for a file on the playlist entry dialog (option in the next build will make this optional)
  • Fixed the Colouriser api to not use legacy code which was comparing entries being in the JTFE queue when it should not have been doing so
  • Fixed the Colouriser api to correctly initialise it's default colours when using the default Classic skin and improved detection and handling with other skins


  • Altered all of the listviews to allow for the 'fullrow select' style on supported systems
  • Implemented the basic scheduler (see the config options for what's currently supported, etc)
    small changelog for a big new feature (with a lot more to come in only a few days!!!)
  • Fixed a crash bug when previewing/selecting the playlist menu
  • Fixed the slowness when loading the current search results into the queue (was due to it updating everything after an entry was added which it should not have been doing!)


  • Adjusted how the new JTFE handled search function works to better match the orignal Winamp function but still keeping the new extended character support :)


  • Added in ability for the jtf list to match the current playlist order (configurable option)
  • Added in partial handling of system dpi settings other that 96dpi (so at least the majority of the window/buttons show now)
  • Fixed the DEP crash issue on XP sp2 machines (problem was the language file loader)
  • Fixed a crash bug on the shell options page due to an incorrectly initialised buffer in the registry reading code
  • Improvements to the Colouriser api so it will now use the default skin colours and correctly displays the current item text colour now if it's in the queue
  • Fixed an issue where skin changes / refreshes wouldn't correctly update the colouriser prefs displayed colours if the defaults are in use
  • Added in saving of the queue marking colour options between Winamp instances
  • Checked over the updater code and corrected a comparison bug which could cause invalid new version warnings (reported by arv a long time back! and removed the test settings causing the bug reports for the original build #6)
  • Removed the plug-ins msvcrt.dll dependancy without increasing the plug-ins size (cos i wanted to and can )
  • Added a 'Crop to queue' mode from the right click playlist menu
  • Optimised the reading/saving of the playlist right-click menu code to make it easier in future to add in other possible options
  • Added the ability for the 'Scroll to Item' mode to flash highlight the item (either using the current selection background colour or the inverted state of it)
  • Adjusted the Winshade button placement to one pixel to the left after re-assessing the code and from the test images TazDevil provided
  • Added in foreign character handling in the jtf search (base implementation part derived from the gen_jfix code and help from ol' Benski <3 )
  • Fixed 'QUEUE' entries appearing in the playlist when using the 'Enqueue and Play' mode and Winamp was not started intially
  • Fixed handling of 'Enqueue and Play' when the option to start Winamp if not already playing and using the add to Queue feature is in use (will force Winamp to start playing the first entry in the current queue)
  • Fixed a stack crash when pressing the 'defaults' button in the preferences do to a conflict in the Colouriser api (Build 6a change)
  • Checks to ensure where possible internal variables/buffers are correctly initialised where possible
  • Anthing else i forgot to note down...


  • Added the ability to use the Middle mouse button to add/remove files from the queue in the playlist (acts like the Alt+Click mode)
  • Implemented a crash handler into the plug-in which is useful for slightly more comprehensive crash logs for any crashes in Winamp that it can get (not just JTFE crashes!) -> you need to enable this since it's off by default
  • Merged the code from gen_nviewfix into the JTFE (since it was only 0.5k and Egg pestered me ;) - gen_nviewfix will be used if both are present)
  • Massive overhaul of the internal caching to get the new playlist state a bit faster and also allows... (see below)
  • Fixes to the shell Enqueue and Play and Media Library Send To: features failing to work properly if the files were not in the current playlist before the feature was used
  • Fixed the load playlist into queue on start up to now correctly clear the queue if the option is set to do so
  • Moved around the internal startup order to allow certain aspects to load sooner and others to have more of the core initiaiised before allowing them to load (such as the above bug fix)
  • Minor code cleanup and tweaks...


  • Re-enabled the plug-in's support for versions of Winamp below 5.04 (though there's no guarantee on what will/won't work)
  • Adjusted the ML integration features to only appear now if gen_ml.dll is present in the plug-ins directory


  • Fixed a nasty closing conflict between JTFE and the Media Library
  • Fixed the Media Library integration code to properly initialise now so the viewe will hopefully show in all situations
  • Added in an entry internal handling to detect if the Media Library is installed and to then adjust some functionality as needed (such as all prefs page controls being disabled though the page will be removed from view in a later build!)


  • Added an option on the 'Display' tab to filter out separator:// based entries (manually altering the current earch is needed to make any change to this setting take effect if the JTF window is currently open)
  • Tweaked the playlist caching code to run a little bit faster due to some buffer usage optimisations
  • Added in an entry on the Title Formatting message to refer to the new '%st' option
  • Added an extra shell handling option when using the 'Insert enqueued file after the currently playing file' mode to add the file to the start of the current queue if there is one present


  • Fixed the double showing of the skinned frame bug (quit with the bitchin' now ladies)
  • Implemented the 'Classic Skin Winshade' api into the plug-in (cos it's damn shexy!)
  • Fixed a number of issues with the internal drag & drop support onto the queue list windows
  • Updated the winamp.ini read/write code
  • Added basic ML integration support and send to: menu handling
  • Added shell support for essentially native 'Enqueue and Play' handling in Winamp with use of the JTFE queue plus some...
  • Extended the playlist colouring support to be a lot more configurable (doesn't save settings since the internal api is not finished yet and is still subject to changes) - Implemented in Build #6a and upwards
  • Massive internal overhaul to the preference page handling to make my life easier when managing them all!
  • Implemented a number of exported api's which will be documented on final release and until then are subject to design modification
  • Implemented scroll song into view support and also the ability to prevent the playlist view jumping around on track change
  • Fixed a few issues with the version updater code (will not be used for a while though)
  • Fixed clearing of the playlist with a current queue to correctly clear the queue now (wasn't working 100% previously)
  • Fixed a few keyboard shortcut issues where the test was not 100% correct and allowed a few mis-actions to occur
  • Added in a new %st value for the playlist formatting so you get an idea when a track in the queue should start playing (still alphaish and appears to be out by the current output buffer sizes)
  • Fixed a few potential conflicts on Win9x based systems with the original and also the new code in the plug-in
  • Lots of other misc code tweaks, updates and changes that i've not properly noted down
    (this changelog really doesn't show just how much time and effort has been put in to get back to this state of a reasonably well working JTFE build so go on donate, i need to eat so i can code)

Known Issues / Limitations

  • Anything else i've forgotten (which will be added to or removed as time goes along... or when koopa reminds me about it, heh)