What's new in Xion Audio Player Portable 1.5 Build 160

Feb 10, 2016
  • Added support for a new option to disable the screensaver while playing audio
  • Allow font size changes on the Playlist window text
  • Set the net buffer amount to 10000

New in Xion Audio Player Portable 1.5 Build 155 (Jan 11, 2014)

  • Modified web streams so that they show the Stream name in the playlist instead of the current song title
  • Fixed remembering song position when changing output device
  • Added support for nofade, nofadein and nofadeout for Indicator objects
  • Added command line arguments to set window positions and main player scale (/SetMainPlayerPos=x,y), (/SetPlaylistPos=x,y), (/SetEqualizerPos=x,y), (/SetLibraryPos=x,y), (/SetVisualisationPos=x,y), (/SetMainPlayerScale=percentage)
  • Added support for animation binding keywords, similar to indicators (anim_pause, anim_stop, anim_play, anim_random, anim_repeat, anim_repeattrack, anim_repeatoff, anim_crossfade, anim_stereo, anim_mono, anim_active, anim_inactive, anim_mute, anim_web, anim_local, anim_cd, anim_equalizer, anim_eqcompressor, anim_albumart)
  • Added AnimTypes for PlaybackFrequency, NetBuffer and all the EQ settings
  • Fixed bug where trans_* objects were still being rendered and calculated after being hidden by layer keywords
  • Fixed the mouse cursor being invisible when refreshing a skin while tweaking a knob, or while switching focus while tweaking
  • Made it so that when dragging knobs and you reach the extents, that further adjustments are ignored. This results in knobs immediately responding when you go back the other way, no matter how far you dragged out of range
  • Optimized the colorize function which was over compensating the size of the area when combined with a tiled object
  • Modified Slider and Button objects to correctly Colorize SliderBits and Over and Down states
  • Added Tooltips for Volume and Balance knobs
  • Enabled Reset to default support for Knobs. (Right click as well as double click)
  • Fixed cursor for border controls changing when other objects are blocking in the UI
  • Fixed the Main player hotkey not working
  • Added support for mass ignoring layers if a layer group has 'ignore' keyword added to it
  • Switched default virtual font mapping from MS Font Dlg to MS Shell Dlg 2
  • Fixed Italic right aligned font being clipped
  • Added additional information to the Message box that occurs when you manually play the next song
  • Changed Visualisation click behaviour from down to up so that moveable can be used in conjunction with the visualisation layer
  • Added Anim types for Spec bands and Spec band Peaks
  • Added support for scrolling the wheelmouse within a slider on a window that has focus, and adjusting the slider, instead of just adjusting the volume
  • Tidied up the GUISlider code to be cleaner
  • Merged the LastFm scrobble plugin into the core
  • Codesigned installer and executables

New in Xion Audio Player Portable 1.5 Build 154 (May 18, 2013)

  • Added Device information to the Output tab
  • Fixed the Pitch control by moving it to the bass_fx plugin
  • Fixed save_state using transparency as well as visiblity for the visible state, instead of just visibility
  • Added hiding of the cursor while dragging the knob
  • Modified the cursor stay in the same position so that after dragging the knob, your cursor is back to where it started
  • Modified the cursor so that it's not limited to the size of the screen
  • Revised the shutdown and save procedure
  • Fixed message argument type being wrong for XT_GETALBUMARTHBITMAP

New in Xion Audio Player Portable 1.5 Build 150 (Apr 8, 2013)

  • Added new filetype icons for several formats, including a common format
  • Added support for mono/center vumeter, anim type and trans object, based on max left/right value
  • Improved the way that the vumeters and other level meters cache data so its only done once per update
  • Added support for the 28 spectrum bands, including peaks to the skin system
  • Improved the resizing operation performed on Album art so that the final result is of better quality
  • Added indicator for album art
  • Added support for a skinnable Equalizer window
  • Added support for an EQ Reset button 'eqreset'
  • Added Default program registration for Vista/7
  • Enabled Vista/7 file default registration when associating file types
  • Updated the File association behaviour to work on Windows 7 and Windows 8
  • Added a playback frequency slider 'playbackfrequency'
  • Added support for tint slider
  • Merged all Default plugins into the main executable
  • Enabled support for Remote image and Remote url open
  • Many Fixes and Optimizations
  • Added 'default' keyword to tint slider to allow setting of start value
  • Added save_state support to tint slider to remember last setting
  • Added new valuefrom/valfrom keyword for sliders to copy their values from another slider. Use is valuefrom(x) where x is the id of the slider to copy from
  • Made the xfer keyword work with all sliders
  • Added full support for playback frequency range of 0.0x - 2.0x
  • Made the Playback frequency save between loads
  • Fixed rare button _over and _down states activating after a button has already been hidden
  • Made Space pause/play when a skinned window is focused
  • Added the ability to move all snapped windows together, instead of just those attached to the main window
  • Fixed Library writing duplicate entries
  • Added 'Reset to Default' menu item to EQ, Playback speed and Balance sliders
  • Added support for Opus file format
  • Added double click to reset sliders
  • Added support for assigning an id to a group and then having that group assign that id to any direct child layers who don't already have an id themselves
  • Fixed vumeters and specbands from cancelling during mute
  • Fixed crossfading overriding muting when using next/play/prev
  • Added support for grouped save state assignment
  • Made aclaswch save state when flagged with save_state
  • Added new GUIKnob with support for volume and balance

New in Xion Audio Player Portable 1.0 Build 127 (Nov 15, 2010)

  • Added support for skinned equalizer sliders, eq indicators and eq toggles
  • Fixed plugin installation on Windows 7/Vista with UAC enabled. Will now prompt to elevate if you don't have rights to install

New in Xion Audio Player Portable 1.0 Build 126 (Nov 2, 2010)

  • Applied static analysis to the code base and fixed some issues
  • Added extra checks to web metadata in order to correctly parse as utf8 or standard ascii depending on the stream
  • Fixed Album art not refreshing correctly when used on Playlists
  • Fixed Album art not loading correctly after playing a net stream and then a file on disk
  • Fixed Pause and scrub bug which resulted in pausing resetting to the last scrubbed position
  • Fixed bug with save states that would cause them to incorrectly reload
  • Fixed the animation frames on a playlist not correctly moving and then animating
  • Incremented Interface state and Component version numbers

New in Xion Audio Player Portable 1.0 Build 125 (Nov 20, 2009)

  • Fix Uninstallation of Plugins so that it correctly deletes the .dll
  • Add the ability to scale the Shimmer Interface from 10% up to 500%
  • Ensure that the snapping rectangle and tooltips are updated with scaling
  • Modify Xion Config window Icons
  • Draw Icons with a transparent background to fix rendering issues
  • Fix the View All Skins button being enabled when you're on the All Skins tab
  • Ensure that GUIObjects are updated once prior to first frame render in order to remove flick of old/new values
  • Update Bass to 2.4.1
  • Fix pressing the play button so that it restarts the stream properly
  • Fix crash when generating previews
  • Major internal refactoring of the Skin classes to better generalize it and place it within a library (This took ages!)
  • Make it so that if you launch Xion with command line options and there is a previous instance, it doesn't take focus - Thanks zeroone!
  • Fix compilation of SDK Examples
  • Don't force the output volume to max for the device
  • Update Bass to 2.4.1.1
  • Add options for Integration into Windows Explorer, AutoPlay Menu and Native Media Players into the File Types tab
  • More work towards a skinnable playlist. Large chunk of work now complete and functions 100%. Now just needs extra buttons/features to support it back up to the original Playlist level.
  • Several changes to internal string handling
  • Cleaned up some Stare Viz code
  • Fixed some compile errors in VS2005 while preparing for migration
  • Used a new version of the Menu system for the playlist on right click
  • Fixed up some more String/XionName/XionPath references
  • Modified Playlist to allow loading from an archive as well as file on disk
  • Updated BASS to 2.4.2
  • Cleaned up the Shimmer/Playlist Window architecture. More to come
  • Updated BassVis to 2.4.1.2
  • Remove obsolte BassVis
  • Added drag and drop support for loading the Playlist Interfaces
  • Fixed Bug when you save the Tag info for the currently playing song, it doesn't remember the position it was playing up to - Thanks pickle!
  • Modified State Saving so that it also saves the direction of the animation as well as if it was playing or not. Increased the version number from 2 to 3
  • Fixed bug where tags weren't being properly updated when a new file was loaded that had no tags
  • Modified the Shimmer Window to display the track name for its caption
  • Added a text dialog for displaying the Track Title Format, instead of using a Message Box
  • Fixed CD Audio tracks not properly progressing. (Any track that was unable to be pre-cached was causing it to get stuck)
  • Fixed the track names inheriting the name of the action text that was currently active when adding them. I.e. Volume 56%
  • Updated the way that the playlist adds files, now that its skinnable. Will now display progress in a text 'pl_info' box
  • Will now display an error if Xion was unable to play a specified file, instead of sitting there apparently stuck
  • All VU meters used for skinning are now scaled by the current volume
  • Modified Playlist window's minimum size to be limited to the size of the source playlist skin
  • Allowed the playlist font to be customized using normal font tags from the skin
  • Modified XionWindowSkinned to block Cancel and Ok defaults commands which were causing the skin windows to disapear if you pressed escape
  • Added the ability for the playlist search box to use a custom font
  • Made the playlist or the search box hide if they haven't been specified in the skin
  • Added support for pl_menu button
  • Fixed GUIAnimation objects not moving correctly when within the playlist
  • Fixed Interfaces not loading correctly when run from the installer Fixed loadinterface calls from skins not working correctly
  • Fixed the flicker on Windows Vista when resizing the Playlist window by removing the WS_EX_COMPOSITED flag and using an alternate method
  • Modified the way that the Playlist window resizes so that it uses a rectangle to show the resize area
  • Fixed a crash when you attempted to install a skin
  • Added the ability to remember which playlist skins were loaded
  • Modified the Skin Browser to automatically load playlist skins into the playlist window
  • Converted Xion from VS.NET 2003 to VS 2005
  • Fixed playlist loading the main skin when you clicked on a button that switched interfaces on the main skin
  • Disabled Left/Right VU values when muted
  • Fixed the Track Title Format Help so that it no longer selects the text by default
  • Fixed the GUISlider not repositioning correctly when using the achors
  • Added new types edget, edgeb, edgel, edger in order to assist with borders where you'd like to tile but have it resize. Modified the Default skin to now use this so that resize borders are smaller
  • Fixed the pinned left/right/top/bottom layers so that they correctly center align (i.e. those with 2 anchors)
  • Fixed the File type Explorer, Native Media Player and AutoPlay menu integration. Toggling now instantly activates/deactives these
  • Moved the file type Play/Enqueue Explorer command registration for AudioFiles and Playlists into the Explorer Integration Registration so that you can disable in the FileTypes dialog
  • Renamed Windows Explorer "Play in Xion" to "Play now in Xion"
  • Renamed Windows Explorer "Enqueue in Xion" to "Add to Xion Playlist"
  • Fixed bug where the Save states and other things weren't being properly saved when you launched Xion by double clicking an audio file. Now internally forces the Working Directory to be the same as the Xion.exe
  • Added support for snapping windows to each other as you move them around
  • Removed the Playlist task bar item Fixed the Snapping of windows snapping to themselves at their old location
  • Fixed playlist from using skins when installed when double clicking a file in explorer
  • Fixed the playlist always asking you to save changes on a list you've never saved in the first place
  • Modified the window to window snapping so that it properly uses the snap rectangle if one exists, otherwise it uses the window rectangle
  • Fixed crash when a folder is right clicked and 'Play in Xion' is chosen
  • Enabled Plugins by default when installing them
  • Allowed the ability to combine indi_active or indi_inactive with any of the other indicators
  • Fixed custom track layers not properly trimming whitespace from tags
  • Fixed the filename of a song from being displayed when blank tags were used.
  • Updated the manifest to support Vista security requirements
  • Added the ability to sort by Title, by Filename or by Folder and Filename
  • Added the ability to sort by Song Length
  • Modified the margin where the playlist times are drawn to pull it in by 3 pixels
  • Added extra error reporting when Xion is unable to create/change a File extension Added the ability for Xion to check for new builds on the internet, both normal and Beta. You can change the options in the settings tab
  • Added Content Type registry entries for the skin files so that they properly download under Vista Internet Explorer
  • Fixed the Update now button so that it can still check even when the updates are disabled
  • Fixed short songs recieving 2 near end events due to a Play then a Pause call allowing the callback to trigger - thanks logokas!
  • Modified where the resume last file time is called to work better
  • Added support for Text Cast Transform tct(upper, lower, normal)
  • Added support for Crossfading. Crossfading options can be found in Configure Xion -> Settings
  • Added Mime type to uninstall Fixed crossfading volume when you weren't using 100% volume - Thanks Jhirst!
  • Added support for automatic proxy settings through Control Panel -> Internet Options. If you setup a proxy here, Xion will use it when performing an Update check Added the ability to toggle Xion showing in the Taskbar. Option can be found in Configure Xion -> Settings -> Taskbar
  • Converted Xion internals to Unicode. Xion now supports all language filenames (I.e. Russian Characters, Asian Characters, etc all now work)
  • Added support for .M3U8, the Unicode version of .M3U in order to support saving of Unicode pathnames/Titles
  • Fixed the Play/pause indicator button bug where it would flicker or not show correctly on some skins
  • Fixed windows that weren't top-level windows from registering a snap rectangle
  • Fixed Install Skin window crashing due to Unicode issues
  • Fixed crossfading when switching to a netstream - Thanks pickle!
  • Fixed slash (/) issue in Unicode file saving of .dats
  • Fixed Playlist resizing when it was overlapping the pl_list psd item
  • Added the ability to Refresh the Playlist by pressing F5
  • Fixed the Title of the Playlist not updating when a new skin was loaded
  • Added more intelligent loading when a .zip/.xsf is dragged onto the shimmer window, or the playlist window. Instead of loading the first .psd it finds, it will now search the .zip/.xsf for a skin that it knows it can support. If it fails, it will load the first one it finds
  • Fixed the list of Drivers in the Output tab so that they are correctly mapped to the internal values. If you have 2-3 sound cards listed this will now function correctly.
  • Added extra output options in the Output Tab. You can now Output as 32Bit/16Bit, Enable Software Mixing (instead of Hardware), and Output as Mono
  • Fixed adding of filenames that weren't the same case as the registered file extension. I.e. MP3 instead of mp3
  • Added initial Album Art support into the File Info Dialog. Loads .jpgs
  • Fixed left and right borders not drawing correctly when offset from the edge of the skin - Thanks WinstonGFX!
  • Modified the Playlist so that it loads Playlist.psd from Default.zip if a skin can't be found, instead of Default.psd from Default.zip
  • Updated the Album Art loader and avoided OLELoadPicture which causes crashes on random jpgs.
  • Added support for album art in layers. The new keyword is albumart. The current album art will be scaled and displayed on the layer if its available, otherwise the layer will hide itself
  • Fixed ip resolving for auto update
  • Added support for flipy for flipping the albumart layer image. Allows you to make vertical reflections
  • Added support for reading the alpha channel for Album art layer, allowing you to fade the edges, one side, etc
  • Fixed the Add URL window not accepting Cancel and OK keyboard shortcuts
  • Made Shimmer use accelerators instead of a keydown
  • Added display text when no album art is found in File Info Dialog
  • Updated the Skin Chooser window so that when opening a skin pack, it will automatically load the playlist and main window. If you want to browse the skin pack before opening, hold shift down, or right click and choose View skin pack
  • Modified the Install Skin process to automatically remove Read only flags from installed files and to delete the original file if it was in the Temporary directory
  • Fixed Skin Browser confusing archives with single psds due to changes with auto loading
  • Fixed loading of Single Interfaces from archives due to auto loading Fixed Album art not being properly refreshed when you reloaded the skin, or changed skins in between a song change
  • Fixed the loading process of Interfaces to allow better resolving now that there are two types, playlist and normal
  • Modified XionTagslib to better use File open for read, instead of attempting to gain full access immediately. This helps fix issues on Vista and Windows 7
  • Fixed loading of M3u files that contained mixed tag information. Some existing, some not - Thanks Luke!
  • Upgraded the minimum Win32 Compile flag to 0x0600 (vista/2008) as per the latest SDK. Open Dialogs now have proper Vista feel on Vista
  • Modified Xion to use the Documents and Settings folder if not a Portable build
  • Fixed potential crash due to XionWindow's not correctly deregistering when unloading components
  • Fixed the Taskbar Button menu. Disabled and removed commands that made no sense for the Xion windows
  • Improved support on Vista/Windows 7. Shouldn't have to run as Administrator any more.
  • Fixed the Crash Reporter so that it works correctly with Unicode. Also performed a couple of other minor changes and fixes.
  • Fixed loading of interfaces not in the Interfaces folder
  • Added a prompt for the user to copy existing files from the Interfaces folder, the first time they run under a new profile, if there are more than the default skin.
  • Added a 'Locate in Explorer' to the right click menu in the Skin Browser, allowing you to open Explorer to locate the skin
  • Fixed the Album Art in the playlist so that it correctly shows
  • Fixed the TriggerOn_SongChange for the playlist so that they correctly trigger
  • Added UAC Integration support. If you're not an Administrator and you attempt to perform a command that requires Admin, UAC will be invoked and the settings saved correctly.
  • Added UAC icons when not an Admin on Vista, Windows 7 and future systems.
  • Improved the File Types Config Tab Layout
  • Modified the List box drawing to allow for more items to be displayed in the config windows
  • Renamed GUI names for default plugins as well as internal plugin names
  • Added Associate All button to the File Types Tab
  • Modified the Hot Keys Disable All button to toggle between Disabling and Enabling all
  • Added hint text to the Global Hotkeys tab
  • Modified the Album Art layer so that its controlled by the skin and not whether the album art is valid or not. This fixes the usage of aclaswch, etc to control the album art visibilty
  • Renamed Default Plugin dlls to match the new internal names
  • Added auto cleanup of old plugins if they exist on install
  • Added relative path saving for the Portable version for current playlist, current filename, and current interfaces
  • Modified the way that File Types and other registry information is stored so thats its now all CurrentUser instead of Local machine.
  • Modified the MSN Playing text and removed Xion: and changed the format to be the same as other Media Players
  • Modified File Extensions to add an entry for OpenWithProgIds
  • Optimized the Shell notification process for Associate/Disassociate All
  • Added the ability to scroll a scrolling text layer with the mouse by dragging it
  • Fixed Cancel button on Shimmer Config Window
  • Modified default progress bar behaviour to make squabble sound when dragging. If you use the shift key it won't play till you release.
  • Fixed the Description for Hotkeys. Now when you enter Ctrl + Alt + Left, it will show that, instead of Ctrl + Alt + Num 4
  • Added support for new time layers. You can add the following new keywords (elapsed, remaining or total). These allow the skin author to control the time layer. If you don't specify any extra keywords other than time, it will default to user controlled.
  • Fixed the display of errors when a file is not found in a playlist
  • Added support for aclafadeto/action_layer_fadeto so that you can fade the alpha of a layer from one value to another
  • Fixed the Track times not being retrieved in the playlist (due to unicode changes) - Thanks djinn2!
  • Modified the Xion Update checker to use WinInet instead of custom Winsock. Should fix any issues with proxies
  • Fixed File associations not getting uninstalled - Thanks djinn2!
  • Minor tweak to the way that the old registry entries are cleaned up on install
  • Added reset for windows left/top that become invalid
  • Fixed the Icy stream info not being properly parsed due to unicode changes - Thanks logokas!
  • Added a Readme for the old Interfaces folder to warn about the moving of the skins folder
  • Modified the Playlist List window to transform Mouse Message in such a way as to remove smooth scroll and therefore remove the laggy feel as you scroll through the list with the mouse wheel
  • Fixed potential minor memory leak when opening a malformed .m3u
  • Modified parsing of M3u and Pls playlists so that they are read in as binary, and split accordingly instead of as text. This fixed potential problems with reading lists with binary characters. Some malformed playlists would only read up to a certain point, now they read in their entirety
  • Fixed buttons from showing their _over and _down and then fading out at the start of a skin load
  • Fixed Indicators from showing intially and then fading out if they aren't active. They'll all now start in their correct state
  • Added initial Lyrics reading support from embedded ID3v2 Tags, Ape Tags and Ogg Vorbis Tags. Add Lyrics text viewer into File Info Window
  • Added support for loading Album Art from ID3v2 tags. These will be now be loaded if found, otherwise the current folder will be searched and loaded.
  • Modified the get album art function for plugins so that any loaded tags are checked first, followed by the file system.
  • Updated the Tray Pause and Play state icons
  • Minor changes to XionWindow to allow for shutdown and initialize defaults. Also some minor changes to Playlist header
  • Modified the colour and text for the Plugin Window when rendering an Invalid Plugin
  • Updated the BookMarker and Last.FM Scrobble components with Unicode support as well as the new Xion SDK support
  • Updated the Glare project to better support Winamp and Sonique
  • Updated the Window snapping to allow the Main Interface to move other docked windows around when they are docked to it. Extra docked windows won't currently dock to other windows or edges, only the Main window will while dragging multiple windows around
  • Fixed the 'Play All' link in windows explorer so that Xion uses all files instead of just one - Thanks D Jones!
  • Made the resizeable Playlist 100 percent Alpha and Transparent compatible. Playlist window can now have soft edges, shadows and transparency!
  • Fixed an issue with the Playlist background piece not properly positioning itself
  • Fixed the Playlist and Search box colours so that they are properly alpha multiplied according to the layer opacity
  • Modified the way that mouse overs work so that if you have multiple layers below the current, they will also react to the mouse over. Helps fix an issue for ALAS
  • Fixed some alignment issues when certain playlist skin elements were missing
  • Fixed a redraw issue when the playlist was resized smaller, leaving uncleared pixels
  • Fixed the Resize rectangle on the playlist so that it draws over the top properly
  • Fixed the resize rectangle not drawing over the top of the playlist box or the search box
  • Fixed a potential crash in XionTags when reading AlbumArt
  • Added support for a skinnable playlist scrollbar. No more windows scrollbar on the Playlist!
  • Fixed the VUmeters not functioning correctly due to recent changes with the slider objects
  • Added support for drawing layers over the top of the playlist. Now you can add highlights, shines, etc over the top of the playlist text/entries
  • Added support for using an animation set as a Sliderbit. Just add sliderbit into the LayerSet name along with animation i.e. 'sliderbit animation ...etc...'
  • Fixed the search text box caret not rendering correctly due to recent canvas changes
  • Changed trans_* keywords so that they are properties instead of objects. You can now combine them with objects. I.e. track trans_volumel
  • Added new time layer to display local clock time. Keyword is clock. Use it in conjuction with time. E.g. 'time clock'. Includes blinking colons.
  • Fixed the snaprectangle for the playlist window so that it correctly sizes when you resize the playlist. snaprectangle should be using something like 'snaprectangle anchortl anchortr anchorbl anchorbr tile' in order to resize with the playlist
  • Modified the Global HotKey control to not allow bindings to single keys. Instead it enforces using combinations. It will also ensure users don't use Alt+key.
  • Added support for linking several text layers together when dragging the text around. Use the link(x) keyword. Any other layers with link(x) in them will also drag/scroll in time. x can be any single word
  • Modified the install switch to automatically copy the Default.zip to the user's directory
  • Fixed the Window snapping so that it works better
  • Added Multimonitor support to the screen edge snapping
  • Fixed the Skinnable Playlist Scrollbar so that it correctly updates when you load a playlist
  • Fixed the Skinnable Playlist Titlebar so that it correctly updates when items are added
  • Added initial support for snapping windows that are snapped to the current, to snap to other things. Disabled for now till I can stabilize it
  • Enabled Indicator updates for the Playlist Fixed layers not showing when organised within Layersets that weren't Animation sets Fixed indexing bug with layer switch command due to recent changes to make animations as layer sliderbits - Thanks xonenine!
  • Fixed crash due to invalid trimming of a single space for the Artist - Thanks BoXXi!
  • Changed the behaviour of the GlobalHotkeys so that there is simply a warning when you attempt to bind to a single key instead of forcing a modifier.
  • Fixed the sliderbit being incorrectly aligned when you interact with the slider its bound to
  • Fixed a Device Context Release call that wasn't being called due to a logic error.
  • Fixed a crash due to empty canvas data - Thanks djinn2
  • Fixed the Window focused state so that layers that use the Active and Inactive indicators now work better during successive skin loads
  • Fixed a bug where layers marked with Inactive indicators would still attempt to redraw when they didn't need to Fixed the crash when resizing the playlist for extended periods of time - Thanks Jikaru!
  • Fixed pressing play while the current song is playing so that it now correctly restarts the song
  • Fixed the issue with the pl_list layer not aligning correctly
  • Modified the loading of the playlist size so that it automatically increases its size if the playlist skin that is loading has a larger minimum size
  • Fixed the playlist startup process so that the playlist is correctly rendered once before it is visible on startup
  • Fixed the playlist scrollbar so that it correctly displays the count of items, taking into account the current items visible on screen
  • Modified the snaprectangle layer so you no longer need to specify the default values
  • Updated the Playlist Skin load process to fix a minor redraw issue when first refreshed
  • Updated Playlist scrollbar refresh locations
  • Fixed a problem when snapping windows to the bottom and right edges of a skin that had a smaller snap rectangle
  • Ensured that the playlist is refreshed when its shown after being invisible
  • Fixed the indicator animations not properly fading out when they are inactive - Thanks Dilinger!
  • Fixed the highlighting of the previous skin in the Skin Chooser window so that the selected item is moved properly into view
  • Fixed the "Show Item Numbers" menu item not being checked when the option was enabled - Thanks OfficerMike07!
  • Made 'New Playlist' clear the currently playing song if its stopped, but leave it alone if its paused or playing
  • Made 'Load Playlist' play the first song in the new playlist that you load, instead of playing a song from the old playlist
  • Fixed a bug where Clearing a modified playlist and cancelling the request to save would mean that the playlist was no longer marked as modified
  • Tweaked some threading code in the playlist in order to avoid some potential thread locks
  • Added support for the playlist menu buttons for each of the existing menus, File, Edit, View, Add, Remove and Control. Updated the Default Playlist to use these.
  • Fixed alignment of layers that used anchortl/anchortr in order to center. Now centers properly with an offset so that everything isn't stuck exactly in the middle
  • Fixed the positioning of the Search box canvas object so that it uses the current position instead of the original position Fixed Xion executing as an Admin level application on the Finish page of the installer. Fixes access problems on Vista and Windows 7 where Xion would be running as an Admin application and be unable to have skins and audio files dropped onto it.
  • Updated the validation checks for playlist only layers to include the new menu buttons
  • Fixed a crash when loading skin packs
  • Cleaned up the playlist resize rectangle drawing some more
  • Updated BASS to 2.4.2.3 and updated existing plugins
  • Added new plugin for playing .adx files
  • Added sorting of the File Types list in the Add File dialog
  • Modified the Component class to hold strings instead of character arrays and performed some cleanup work
  • Modified the way that the Bass/Mid/Treble algorithm works so that it uses logarithmic, accumulate and average bins instead of just FFT peaks
  • Tweaked the Bass/Mid/Treble algorithm to use averages instead of peaks in order to smooth out the responses
  • Fixed a crash when the Playlist Window was hidden and you loaded a new playlist skin (Sizes weren't being updated as the window was hidden and therefore the update was ignored)
  • Added a new Spectrum Analyser as part of the Default Visualisation Plugin
  • Added Peaks for the Spectrum Analyser
  • Added the ability to toggle between Visualisation modes by left clicking the Visualisation
  • Added some accessor functions for plugins. More to come later
  • Incremented the plugin interface to version 6
  • Added a new QuickConfig class for helping with passing Configs around plugins
  • Ensure that the Visualisation type is updated correctly when using mouse click
  • Fixed some areas where the working directory wasn't set for the skin plugin
  • Fixed the deleting of the source .xsf from the temp directory when you install a .xsf
  • Modified the Configure dialog to include the Tabs as part of the TabStop cycle
  • Modified the Tab order and setup for some dialogs
  • Tweaked the saving of the visuals in order to fix an issue where the settings may not have been saved
  • Fixed the Recent Playlist menu item so that it works once again due to the changes with the new buttons
  • Added an error message when Xion in unable to Open an archive
  • Modified the behaviour of the Tray icon so that single click will pause/play after the double click time has expired and double click will occur instantly, showing/hiding the interface. This removes the pausing/playing of a song when you used to double click to show/hide the interface
  • Added fix to read PSD files that don't have proper string padding on their luni section names - Thanks OfficerMike07!
  • Fixed the 'Play now in Xion' on a Directory so that it properly plays the first file and no longer displays an error about playing a directory
  • Fixed SnapRectangles causing skins to get cropped on the top and left side when the snap rectangle was over valid pixels - Thanks Rutabaga!
  • Added red/green colouring back to Xion Tray icons
  • Added better bounding rectangle update for the Playlist and removed the reliance on the snap rectangle Added more error messages when skins couldn't be read due to non applied masks as well as incorrect colour modes
  • Modified loading to reload last skin if new skin couldn't be loaded
  • Fixed a crash when right clicking on plugins
  • Fixed an Indicator 'NOT' logic bug that was causing indicator layers marked with 'NOT' to not show themselves correctly - Thanks Alexandra!
  • Updated the ConfigWindow with some more commands for receiving Text from EditControls
  • Disabled the About plugin menu item if the plugin is disabled
  • Fixed the Spectrum analyser not rendering correctly on small visualisation layers - Thanks xonenine!
  • Fixed the Equalizer not working for Radio Streams - Thanks dolnagad!
  • Fixed the click and drag of unselected items in the Playlist so that it now correctly selects them - Thanks djinn2!
  • Changed the visibility of the visualisation layer so that it can be controlled by the skin author
  • Fixed the Library so that it can be cleanly shutdown when an uninstall is executed. This fixes the freeze in the Uninstaller - Thanks leledumbo and Garrett!
  • Fixed an issue where clicking on a button, dragging the mouse outside of the window and then back onto the button caused a flickering effect
  • Fixed the mouse over for a button not hiding when you moved over a transparent part of the skin
  • Modified the Skin Thumbnail generator so that it uses some default states such as Playing and some default Text, in order to generate skin thumbnails that look better
  • Added slow blending of colours when changing colours in the DefaultVisualisation plugin
  • Added support for APPCOMMAND_MEDIA_PLAY and APPCOMMAND_MEDIA_PAUSE instead of just APPCOMMAND_MEDIA_PLAY_PAUSE. This should allow other keyboards to work as well.
  • Added support for APPCOMMAND_MEDIA_FAST_FORWARD and APPCOMMAND_MEDIA_REWIND so that keyboards with Fast Forward and Rewind should work
  • Added fix in case default playlist couldn't be found
  • Added a Compressor to the Equalizer in order to reduce distortion at the extents of the Equalizer. Equalizer now has a much better sound.
  • Tweaked the Equalizer center frequencies to remove any overlaps
  • Added support to ap() and pp() to allow you to escape characters such as ( and ). Now you can do things such as " track pp(() ap()) " which will surround the track in ( and )
  • Modified the Uninstall process to also remove the User settings directory
  • Added a prompt to the Uninstall process, before removing all Skins, Plugins, Preferences, etc Added fix for pulsing buttons when you use the menus in the playlist
  • Fixed the playlist resizing to use the snap rectangle instead of just the bounding rectangle
  • Added filename information when generating an error during an invalid skin load
  • Add Redraw after choosing an Equalizer option
  • Tweaked the Equalizer Compressor slightly so that its slightly louder (by about +6dB)
  • Modified the DefaultVisualisation Colour changer to only change when audio is playing, instead of all the time - Thanks djinn2!
  • Tripled the speed of the falling peaks for the Spectrum Analyser - Thanks Lance!
  • Fixed the Search box background color not being properly redrawn when you first load the playlist - Thanks Lance!
  • Fixed the Display of Genre in the File Info Dialog
  • Fixed the Albumart not properly updating when you allow Xion to change songs automatically (It was reverting to folder art instead of using the artwork embedded in the file) - Thanks xonenine!
  • Fixed the initial display of Album art in the DefaultInterface, if you had 'AutoPlay' disabled
  • Fixed the detection of Control when double clicking the tray icon so that Xion successfully moves onto the next track
  • Renamed the menu item names for the default plugins
  • Added a new Global hotkey to Restore/Minimize all Windows
  • Modified the tray double click to use the new Restore/Minimize all Windows
  • Modified the hide/minimize button on the Default Interface/Main window to use the new Restore/Minimize all Windows
  • Modified the Tray Single Click as follows: SingleClick = Play/Pause, SingleClick+Ctrl = Next Song, SingleClick+Shift = Previous Song, SingleClick+Ctrl+Shift = Next Random Song
  • Added a new Mute menu item to the Core Popup menu
  • Modified the behaviour of the Close button when its on Playlists. It will now just hide/minimize the Playlist window instead of Closing Xion like it does on the Main Window
  • Fixed Playlist not loading correctly when sized to its minimum - Thanks dragoon!
  • Modified the Window snapping so that you can't move snapped windows if they are overlapping each other, only side by side
  • Added the ability to toggle the Compressor for the Equalizer on and off
  • Tweaked the Equalizer Compressor some more to improve the default values
  • Updated the default Xion tray icon - Thanks Deathy!
  • Fixed the Playlist so that it doesn't shrink when you resize in one direction
  • Changed default Visualisation to Spectrum and turned peaks on
  • Updated the User copy process so that we only copy folders if files don't match time/length
  • Added a new StringHash class for allow fast string compares (instead of strings we use hash's as ints)
  • Modified a bunch of internal code to use the new StringHash, especially a large chunk of the Message sending code
  • Added support for StringHash's to the XionMessage Params Fixed the .xsk files not rendering previews correctly in the Skin Browser - Thanks Ilko!
  • Fixed the Bitrate not rendering correctly - Thanks Ilko!
  • Fixed the Playlist resizing incorrectly when it didn't have a snaprectangle defined
  • Fixed the Visualisation color appearing brighter when you several vis windows open - Thanks Jikaru!
  • Fixed the Skin Install dialog popping up when you browsed for a new skin in the plugin options screen and then cancelled - Thanks AphexMonkey!
  • Added an upgrade path for Hotkeys that now use the StringHash. This fixes losing Hotkeys when upgrading from a previous version
  • Fixed the default Toggle All Windows bind
  • Fixed the Library not loading previously added items correctly - Thanks Lance!
  • Added missing tooltip for Visualisation button - Thanks Rutabaga!
  • Allowed the user to bind to Alt+Key, however a Warning will be displayed that this may conflict with Menu systems
  • Added the ability to set an animation frame based on a slider. The new slider keywords are animframetb, animframebt, animframelr, animframerl. You will also need to use link(x) in order to link the slider to the animation that you want to control. Using a slider on an animation will also automatically pause it when you change the slider the first time. You may want to use the paused keyword on the animation layer.
  • Added a new readonly keyword for sliders. Use most useful for the animframe slider if you want to show a visual progress of the animation, but don't want the user to change the frame
  • Added double click support to the Default Visualation plugin. Double clicking the window will remove the frame and just leave a resizeable area. There is also an option in the Config window
  • Added support for a transparency slider using the following keywords: transtb, transbt, translr, transrl. The slider controls the transparency of a layer that it is linked to, using the link(x) keyword.
  • Modified the State Information structure to now save transparency information so that when Transparent sliders modify transparency of a layer, this can be saved out. This will cause any existing interfaces to rebuild their state. I.e. you'll lose any existing settings from skins that used save_state or svst such as color customization
  • Fixed the Crossfader not properly releasing the last track, meaning you couldn't move it physically on disk as it was still being used by Xion
  • Fixed the titlebar of the playlist from refreshing incorrectly when you are mass-adding files to the playlist
  • Modified the way that the Minimize function works slightly so that an internal visibility state is kept along side the state that windows uses, so that we can better sync the user's choice. Fixes issues with hotkeys and minimizing after a restart - Thanks Lance!
  • Modified the Default Visualisation to immediately use the base color if its available, otherwise it will fade (i.e. between random colors)
  • Fixed a crash in the Default Visualisation when you switched to the oscilliscope, then Disabled and Enabled the plugin
  • Fixed the playlist resize when skins were made with blank space around them - Thanks Lance!
  • Fixed when loading a skin at its minimum size that it would sometimes display the corner pieces and not properly tile in between
  • Fixed the resize rectangle from sometimes detecting two mouseups and causing some overdraw
  • Added the keyword snapvalue to the frame slider so that you can choose between snapping the values, or smoothly selecting the values. Smooth slider allows you to drag around and only snaps when you release
  • Added extra clock keywords so that you can control the appearance of the clock. Keywords are nominsec, nosec, nomarker and force24. These are for the system clock display only.
  • Added support for startframe keyword. Add this to a frame in order to mark it as the start frame for an animation
  • Moved Xion Skins, Playlists and Stations to the My Documents folder. Left existing settings back in Application Data. Allows for much easier user managing of these files
  • Renamed Random and Repeat to 'Random track order' and 'Repeat Playlist'
  • Fixed crash when using invalid Track Title formats - Thanks Rutabaga!
  • Fixed the trans slider setting the transparency to 0 and causing the layer to be marked as hidden. Now uses a very small trans value of 0.001 instead, causing the layer to be invisible, but not hidden - Thanks xonenine!
  • Fixed a bug with the resize rectangle drawing of the playlist causing it to sometimes draw at a different location than where the mouse was
  • Renamed the Font Strikethrough from fs to fst
  • Added Quick Search text to the search box when it is blank
  • Added 'ignore' keyword. Any layer containing this keyword won't be loaded by Xion and will be completely ignored
  • Fixed the range of the Playlist scrollbar
  • Added smooth scrolling to the Playlist scrollbar
  • Added new Repeat mode, 'Track'. Repeat button now toggles between 'Repeat Playlist', 'Repeat Track', 'Repeat Off'.
  • Added a new indicator layer called 'indi_repeattrack' or 'indi_repeattrk' to represent the track repeat mode
  • Added a right click menu to the repeat button for changing repeat modes
  • Added support for 'flipy' to all Text layers
  • Fixed rendering issues caused by layers overlapping a snaprectangle, when a snaprectangle was smaller than the overlapping layers - Thanks Rutabaga!
  • Modified Repeat Track mode to allow you to use Next/Prev to select new songs. The track is only repeated if you let it get to the end of the track
  • Added Reset Window Position and Size to the Playlist window options Fixed a crash with the Library manager due to a race condition on Uninstall
  • Fixed an issue when Uninstalling without running at least once, which caused some settings to be installed, even though we were uninstalling
  • Fixed the creation of the States and Previews folder
  • Optimized TimeFormat function to improve performance
  • Fixed another issue with the track format parser - Thanks Rutabaga!
  • Fixed the time display in the playlist of selected and all tracks
  • Fixed bug when Album names were too long and were created ready to pass to MSN - Thanks SLoB!
  • Optimized the rendering of Text objects so that original pixels are only copied when they are not invisible.
  • Reduced the memory consumption of Text objects by 75%
  • Optimized the use of vectors by using the iterators instead of the index accessors
  • Optimized the way that Indicator states are updated
  • Optimized various XionMessage functions
  • Optimized StringHash class for faster compares
  • Optimized ComponentManager iteration
  • Optimized the VUMeters to use cached values per frame in order to reduce the calculations to 1, no matter how many VUMeters you use
  • Added an error dialog if Xion is unable to create its main Skin and other folders Modified the Plugin tab to auto refresh whenever it is switched to
  • Modified the Plugin uninstall process to remove dead items from the plugin list
  • Added new 'Open Containing Folder' Context menu item in the Playlist
  • Modified the .exe to .dll boundaries so that only strings constructed on the stack are passed over.
  • Updated Xion project from 2005 to 2008
  • Added a FixedString class
  • Made Xion use Static runtimes instead of Dynamic
  • Updated the Text Scroll speed algorithm to allow smaller increments than 1 pixel, allowing for the text to go slower than 40 pixels per second
  • Updated the display of the Tray Text with better formatting using newlines
  • Added [stopped] and [paused] text to the front of the Window Title text
  • Added the ability to change the Track title Scroll speed
  • Added Tooltips to the Volume, Balance and Scroll speed Sliders in the Config Window
  • Modified the Choose Skin dialog so that it centers to the screen and remembers its width/height
  • Forced the playlist to update the current track more frequently, including at startup
  • Fixed bug so that you can once again quick jump in the playlist by typing the starting letters of an item - Thanks Venom!
  • Fixed the Playlist title showing 0 files when you hadn't saved the playlist before - Thanks Alexandra and dragoon! Added support for a crossfade button
  • Added support for a crossfade indicator
  • Fixed the display of the Window Title in the main Container when using a Taskbar button
  • Fixed the Default interface loading when you cancel the Default Interface Config window - Thanks djinn2!
  • Converted HashString messages to pre-calculated Enums
  • Fixed an issue with Formatting a XionFixedString
  • Fixed a bug on new installs that would mean you'd keep getting asked if you wanted to perform an Auto Update - Thanks Alexandra!
  • Reimplemented support for using a Windows hook for multimedia keyboard controls
  • Added support for ComponentJoint which automatically binds to its own RigidBody. Can then be bound to another RigidBody
  • Added a new Editor Property type 'Component' to allow choosing of Components
  • Added a new Component Chooser Window to aid in the selection of Components
  • Updated existing Components to be aware of the EntityManager they should load into
  • Forward Declared Entity and fixed up the linking issues
  • Added better Wheel mouse scroll support (Fixes slow scrolling in Windows 7) and also added page scroll support
  • Added variable increment increase/decrease for volume and mapped it to the wheel mouse so that you can scroll the volume much smoother
  • Changed the behaviour of the hit detection for Text objects so that you are always able to toggle/scroll them, even if you click on a transparent position. Fixes issues with being unable to toggle/scroll them all the time
  • Added code to force ourselves to the foreground when showing the Install Skin and Install Plugin dialogs - Thanks dragoon!
  • Fixed issue when dropping audio files onto the main interface and nothing playing due to recent message changes - Thanks djinn2!
  • Added better error messages if you attempt to load a CMYK color mode PSD, or a 16 Bit Channel PSD
  • Fixed the update of the Volume bar in the Config window so that its immediately updated instead of after the first refresh
  • Modified the behaviour when you are assigning Hotkeys, so that if you click on the Hotkey list, it cancels the assignment for you
  • Modified the Xion Update check so that its threaded and doesn't freeze the GUI if you manually check, or the startup process
  • Renamed 'Pause' to 'Pause/Play' to better reflect that it can toggle between both - Thanks Davyd
  • Modified the Playlist to Close when you press Cancel (Usually Escape)
  • Modified the Track Title Help dialog to be non-modal
  • Fixed the Recent Playlist menu from sometimes gaining duplicate items
  • Renamed the Playlist Control->Pause to Pause/Play
  • Added indi_repeatoff in order to represent when the repeat state is off
  • Modified the way that the _over, _down and _normal states set their transparency so that dragging a slider with a full button doesn't cause issues
  • Modified the About window
  • Updated the Default skin with Lance's new Skin
  • Updated the Xion icon - Thanks Lance!
  • Updated the PSDReader to completely support loading groups of groups. You can now embed animations and groups in groups to your hearts content!
  • Added the new Xion icon into position 1 so that the windows shell will think the icon has changed and build us a new icon, without showing the old one that's in the IconCache.db
  • Force a ShellNotify if the Icon index for the FileType icons changes
  • Added nofadein, nofadeout, and nofade keywords so that you can control the fading when showing/hiding controls using the show/hide functions
  • Fixed crash on new installs when checking if we can refresh icons
  • Fixed a bug with loading/saving state when you loaded a pack, vs loading a single skin from the pack
  • Added complete support for Shared save state data. Shared data is auto saved when the xfer keyword is used in conjunction with the id() and svst
  • Fixed a crash if a borkerbk layer was specified, but not a borderT
  • Improved the meta data parsing from shoutcast and icycast servers
  • Added UTF8 parsing for Ogg stream tags (Fixed characters such as ? showing up in some stream titles)
  • Added the ability to move up and down in the playlist by pressing up/down arrows while in the Search box
  • Forced the Search box to have focus when you show the Playlist window
  • Added the ability to quick search album, artist, title and genre in the Playlist. Consumes some more memory to do so
  • Modified the way that the Multimedia keys work, removing the need for the keys Hook DLL
  • Disabled the response of the Multimedia keys when you are assigning a Global Hotkey Updated the Default skin and swapped the Control buttons from left to right
  • Added support for multiple snaprectangles to be enabled at once. The regions are combined at their maximum extents
  • Fixed the Playlist popup menu from appearing in the wrong location on some Multimonitor setups - Thanks dragoon!
  • Fixed open file handle when reading tags from WMA - Thanks davydm!
  • Fixed Window outline appearing when you show/hide taskbar button when you've minimized all windows - Thanks logokas!
  • Fixed loading of save_state data - Thanks djinn2!
  • Fixed anim_action_reset so that it correctly resets to a frame specified with startframe instead of to the first or the last frame in the set - Thanks Monkeez!
  • Fixed the inability to properly reset an animation of type 0. You can now reset type 0, 1 and 2 correctly
  • Fixed the playlist items from redrawing when they weren't visible in the active region - Thanks logokas!
  • Fixed Album art search so that wildcards work correctly and removed the search for any jpg, gif or png when no others are found. (AlbumArt search looks for folder, cover, front, AlbumArt and AlbumName(taken from tags) and searches for the jpg, gif and png files, including all variations of these names)
  • Improved the playlist search box to allow searching per word instead of as a literal string
  • Fixed the Playlist search box "Quick Search..." not registering correctly the first time it is initialized
  • Removed the fading in when you first load the main window and the playlist window
  • Fixed a bug with the triggering of objects using acobtrig from within an animation - Thanks shadowman and xonenine!
  • Modified the behaviour of the 'Autoplay on Start' to remember the previous playstate and restore that instead. Renamed the check box to 'Restore play mode on Startup'
  • Fixed some dropped files/folders onto the main window that weren't always playing reliably
  • Made LastPlayState default to playing when upgrading from an old version of Xion
  • Updated BASS to 2.4.4
  • Updated BASS plugins - ac3, adx, aix, alac, ape, fx, mpc, ofr, wv, flac, midi and wma
  • Added some code to test the crash handler when required
  • Modified the behaviour of the error dialog when an error is found playing a file. If a plugin handles it (i.e. the playlist) a dialog will no longer display. Insteaf the playlist will mark it in a colour and continue with the next track
  • Added 2 new pixel indexes to the playlist for representing an error background and foreground
  • Removed the auto locating of the playing file when you change the search filter
  • Added the ability to clear the search box when you close the playlist by pressing escape. If you press Escape by itself it just closes the Playlist. If you hold Shift and press Escape it will close and clear the filter
  • Made shift clicking the close button on the Playlist clear the search filter
  • Modified the behaviour of the Random menu item to behave similar to the repeat menu item