Added better handling for the SoundSpectrum visualisation plug-ins (G-Force, WhiteCap & Aeon) with scaled window support when being used under a classic skin (manually copying the plug-in dlls into WACUP's plug-in folder is required for those interested in trying to use these after first running the SoundSpectrum installers)
Added support to change the skins folder along with offering to move the skin(s) from the prior directory to the new one
Added videologo.(bmp|png) support to allow for either a skin provided image (not something Winamp offered) or an image placed within the root of the WACUP settings folder to be shown within the center of the video window when there's no active video playback
Added handling & an option to the General -> Internet preference page to attempt to fix HTTP & HTTPS streaming urls with the wrong default port being set for them causing playback to not work (e.g. port 80 specified for an HTTPS based url when it should typically be trying to use port 443)
Changed the IPC_GETINFO api to report the syncing status along with returing a method so that plug-ins querying the api can do it without hammering SendMessage calls
Changed the Streaming Url plug-in to report a syncing state when it's first attempting to process the urls given to it so classic skins can give some better feedback
Changed the error saving metadata message on the Alt+3/File Info dialog to now have a 10 second timeout instead of a 3 second timeout so there's more time to read it
Changed the visualisation configuration trigger handling to better deal with such plug-ins failing mid-loading which could otherwise cause a full process crash
Changed the way the local library view selection is maintained on view refreshes to use a slightly faster implementation to save re-copying some of the internal strings
Changed how failures loading the playback history or local library database files are handled to now attempt to automatically use the backup files if they are available
Changed the classic skin skinned font text mapping to support a wider range of characters (this'll never be great & using the non-skinned font option is recommended)
Changed the background title refresher thread to avoid a deadlock seen with some crash reports at the expense of some titles maybe taking longer to be refreshed
Changed some of the podcast feed & download handling in an attempt to resolve the on-going problem of it sometimes ending up in a hung processing state for some
Changed the sorting actions in the library playlist root & also within the playlist views along with bookmarks to now be done on a background thread to avoid ui blocking along with resolving some painting issues
Changed how the local library plug-in will now by default (there's an option to disable this change) to store the folder name as the album for files where it is not available during adding / metadata refresh (this will mask where this metadata is missing but makes us be closer to the expectation of how the local library should be working compared to those using older WACUP builds or migrating from Winamp which did a load of metadata guessing by filepath)
Changed the classic skin song ticker handling to be closer to the prior build when handling streaming so the initial connecting / buffering updates should be less jittery whilst avoiding it jumping back to the start for most other instances (per the request which led to the change which has now incurred this change)
Changed how trying to restore WACUP from a minimised state is done to be more consistent & possibly resolve some issues where it might not appear in the foreground
Changed the patched method used to report playback information to the modern skin engine plug-in to report "syncing" as applicable (per the IPC_GETINFO change above)
Changed the detection on the output plug-in preference page to show a warning message before trying to access other ASIO output plug-ins due to them having issues
Changed how some aspects of the gen_ff / modern skin engine plug-in are queried to determine if a modern skin is loaded as a potential fix for some random crashes
Fixed the syncing status indicator for classic skins not working for the input plug-ins that are coded to report this (e.g. during some buffering actiosn with in_mp3)
Fixed an initialisation timing issue which was able to cause a crash due to some of the input plug-ins attempting playback before the rest of the core has been loaded
Fixed a crash with the taskbar / alt+tab preview implementation due to releasing the background element lock used for the preview drawing too early & related changes
Fixed a crash from a metadata processing issue with the Streaming Source plug-in due to not meeting a runtime requirement which triggered the invalid parameter handler
Fixed some problems with the handling of the installer when running it in silent mode which could prevent some of the intended post install actions being triggered
Fixed a random crash seen when trying to update the currently playing title string
Fixed a dll load timing quirk with the delay loading of libcurl vs multi-threading
Fixed a ui related deadlock with the podcast view if there are podcast downloads already happening (e.g. if set to happen on loading) but the view hasn't yet completed
Fixed a handling issue with the multi-threaded saving of the local library & history db files which is the likely cause for most of the crashes seen against the 189xx builds
Fixed the probable cause of a crash seen when attempting to update the status bar text of the local library view
Fixed the probable cause of a deadlock seen with the history playback plug-in & reduced the scope of some of the locking attempted especially when changes need to be saved
Fixed the main playlist atf string not being regenerated if the local library plug-in is disabled but the playback history is enabled & playcount information is shown
Fixed the probable cause of a crash seen with how libsndfile might try to leverage mpg123 as part of it's use as a fallback for playing MP3 based files
Fixed some more issues with the crash reporter not working as intended when triggered due to a process heap corruption which could prevent some OS apis used working
Fixed a potential hang during closing with the WASAPI output plug-in if other factors including input plug-in weirdness are then causing problems with what's running
Fixed a locking issue within the metadata service which could in some instances cause the main ui thread to deadlock (e.g. when rating is changed & plug-ins try to update themselves to reflect the change)
Fixed doing Alt+Click on the main playlist not behaving as expected especially when classic skin scaling was active along with some other actions not working correctly
Fixed a crash seen with the podcast downloading due to a timing mis-match with how the internal services could be accessed in combination with external feed processing
Fixed some more cases of using the wrong localisation api call in the plug-ins which could cause problems due to multi-threaded access especially a problem for history / local library import actions
Fixed the probable cause of a delay loading related issue with in_mp4 whilst trying to obtain the h264 video decoder
Fixed the probable cause of a crash when using the batch edit metadata dialog from within the local library views
Fixed some changes made to the current library playlist not being saved as expected on view selection changes as well as toggling the side view on/off & on process closing (manual save was always working)
Fixed dragging items in the shown library playlist not updating the currently playing item position as expected
Fixed the skin menu selection handling sometimes not working correctly & it selecting the wrong skin or reverting to the base skin if invalid skins might've been found before it
Fixed the local library import from folder dialog not showing the embedded upper dialog in dark mode if that's what the OS is set to use
Fixed the "no album" item not being shown in the local library albumart filter (if applicable) which was being shown in the non-default album artist based grouping mode along with the text filter mode
Fixed a deadlock which could occur for some of the local library metadata add / refresh actions when trying to re-check the albumart whilst it looping back to determine the album if not present
Fixed some more playback related issues due to Ogg+Vorbis & Opus files being mis-labelled by their file extension (e.g. Opus with the ogg file extension) & some changes from the beta builds which inadvertently regressed the fallback handling to allow these files to still play as expected
Fixed a possible crash when removing media library navigation node items & a painting related optimisation which could prevent the navigation tree updating when nodes were removed (e.g. podcast downloads)
Fixed scrobbling not working as expected when playing items over 8 minutes due to some last minute changes in the prior build causing it to incorrectly scaling a millisecond value into milliseconds (doh)
Fixed the File Info / Alt+3 dialog's handling of non-default genre strings to workaround how the combobox / dropdown control will select the nearest matching string (e.g. "Symphonic" as "Symphonic Rock") which could potentially cause the genre string being incorrectly modified along with patching in_mp3's ID3v2 tag tab which was affected by the same issue as the Basic Info tab on the dialog
Fixed the batch metadata edit dialog not working as expected when accessed via the local library views (e.g. not triggering the metadata to be saved into the file(s) or removing cleared values)
Fixed some more instannces of the local library views not triggering a refresh if there's a related metadata update happening (this is still far from being done in the manner I'd prefer it to do so yes it can cause the view to refresh in a full manner when it might not be needed depending on the current filter states, etc)
Fixed a number of issues with the Playlist File Remover hotkeys preference tab not working as expected along with it incorrectly closing the preference window after a self triggered restart of WACUP
Fixed the background of the base video window being double-drawn when not using the dedicated video window mode with classic skins
Fixed the patched method used to report playback information to the modern skin engine plug-in sometimes generating an incomplete " (null)" response when missing info
Fixed a ui related deadlock when using modern skins which display the now playing albumart in combination with a local library related request to obtain some metadata
Fixed a compatibility issue with the 3rd party lyricsplugin where having its window on a a monitor with a different dpi to the monitor WACUP is started on would incorrectly see it try to adjust it's size to the monitor dpi instead of staying sized to fill the skinned window frame
Updated Monkey's Audio (in_ape.dll) to 10.72 (4 May 2024)
Updated unrar (unrar.dll) to 7.1.1 (25 Apr 2024)
Updated vgmstream (in_vgmstream.dll) to the latest Git commit from 3 May 2024