With 200+ fixes it is well worth the download! There have been many improvements, fixes and changes to make this release well worth the wait.
I've converted from using the FmodEx engine, over to the BASS engine which opens up a large array of new file formats including AAC, MP4, M4A, MPC and APE to name a few.
This release brings with it many new features for the skin engine which give skinners even more power to create amazing skins.
You can download now from the Downloads page
Changelist:
- Add more registry keys to the uninstall procedure
- Fix crash when id3 tag genre is out of range
- Ensure Tray text is properly updated when changing songs
- Add autoscrolling only if song name doesn't fit on skin text area. Otherwise it stays still and doesn't scroll.
- Made scrolling never ending so that the song name (or parts of it) are always on the screen, no blank space.
- Fix PLS support so that it properly supports v2
- Fix crash when trying to display a preview layer < 0 left
- Add wrapping song name
- Add support for disabling the Xion - text
- Fix crash when preview is too large for Canvas
- Fix crash caused by crazy song name lengths
- Fix loading from archives if file could not be found. Now loads the next available PSD if intended file couldn't be found
- Fix pls loading when there is a newline after the version
- Fix cropping of sliderbit when sliderbit is outside of bar
- Ensure tooltips are added for sliderbits
- Add new layer keyword 'tooltip' for custom tooltips
- Modify tooltips to rely on layertype on string compares (optimization)
- Add OnTop toggle for the shimmer window
- Add Menu for playlist instead of buttons along the bottom
- Add 'Random File' menu item to play a random file, even if not in random mode
- Add support for new animation types that allow volume/balance and progress display
- Fix bug with not being able to click buttons (tested from beta)
- Fix bug where blackness shows up briefly on startup (fixed from beta)
- Fix memory leak when shutting down. Was not being freed if ComponentKill wasn't being called
- Fix memory overwrite when drawing preview layer
- Change -=- to spaces
- Add new smaller keywords for existing large keywords
- Add Play control menu items to Playlist menu
- Add support for layer state saving using 'save_state' keyword
- Add Accelerators for playlist commands
- Add better registration of dialogs so that common kb controls work
- Fix rendering size for very small objects
- Increment to build 61
- Add ability to delete and open skins from a context menu in the Skin browser
- Mod resizing of windows to use the base class rather than overridden values. Playlist is now sizeable to a lot smaller
- Add a bunch of changes to do with visibility states so that loading and saving states works better
- Add fixes so that layersets are only setup as animation sets if they hold the keyword
- Fix loop lock in unzip routine when a corrupt zip is found
- Fix initial transparency of layers in animation layer set. Wrong frame was being set visible for starting frame.
- Fix crash when dur to incorrect detection of id( function
- Added F5 hotkey for reloading current Interface
- Fix crash when using loadinterface with _over
- Fix animation direction(1) flag not working as it should
- Fix detection of user values so that extra ( and ) characters are not detected, only the first ( and the last ). This now fixes fonts with ( and ) in their names
- Fix some issues with focus not getting set correctly. This undoes some changes to do with over images when Xion doesn't have focus, but I would consider that less priority than the focus working
- Add support for Installing Skins that arn't in the Xion Interface Directory. Will copy there and open
- Ensure Xion only asks for skin install if you double click the .xsf file and not when you drag and drop or start
- Fix loading of previews due to working path of helper not being set
- Fix loading of Interfaces when .psd is added into layername
- Add complete Font System rework so that it doesn't create the font each frame
- Add massive optimizations to the dirty rectangle code so that it intelligently creates dirty rectangles that are unique and do not overlap
- Add more optimizations to the dirty rectangle rendering code to ensure each case is rendered correctly
- Fix animation not displaying first frame when direction(1) is used
- Fix Text Scrolling with Centered and Right aligned Text so that it works in the same was as Left aligned Text
- Once a file is 100% buffered, change its title to the filename, while waiting for tag information
- Fix crash when copying and pasting nothing
- Fix message processing order so that windows in focus receive messages first
- Ensure FLAC files can be added to the playlist
- Add support for clearing the list and playing songs when dragging and dropping to the player interface or when launching from Windows Explorer
- Add support for button to show/hide any Library components
- Add support for double clicking on the Track title and showing the File information for that Track
- Fix crash when deleting item and trying to select it again when it no longer exists
- If an error occurs while playing a netstream, change the title text appropriately
- Add support for indi_equalizer so that you can determine if the Equalizer is on or not
- Add 'Disable All' button for the Hotkey list so that you can disable all hotkeys
- Fix Save States not correctly loading
- Fix crash due to old format Save State files. Added extra checking for correct version
- Fix buffer overrun when massive URL is added to Open URL text box
- Limit URL Entry box to Max Path size
- Ensure Year text entry is limited to 4 Numbers only
- Ensure that when you press F5, Xion doesn't ask to install the skin if its in another directory
- Fix Sliderbit alignment problem that would offset the sliderbit causing it to appear off centre
- Fix Play/Pause States when using indicators to hide and show them at the same location. Buttons now correctly show and hide as well as mouse overs
- Add support for netbuffer bar
- Ensure when saving a playlist that it confirms you want to overwrite it
- Add ability for balance bar to snap to the middle for both the shimmer component and the configure window
- Resize the default sizes for the playlist and library to be very similar and smaller
- Fix crash when viewing song information and playlist is empty
- Add support for Left and Right VU Meter slider controls
- Update Tray icons and main icons to remove 16 colour icons
- Ensure each dialog correctly loads the correct number of colours for its icon instead of VGA colours
- Add stretch smoothing for visualisation window
- Fix Dirty rectangles not working correctly and cropping the rectangles in the wrong direction
- Update FMODEx to 4.06.04
- Add support for newer tag formats from streams
- Ensure that Xion continues playing files even if they are extremely short and the pre-caching system is disabled
- Fix Streaming mode thinking its playing when in fact it is connecting
- Ensure Path is blanked out before searching for library files
- Add support for new track properties to allow displaying of just artist or just title, etc
- Fix up refresh problems when rects overlap with no inside points
- Add support for changing the Overall transparency of the Shimmer Window
- Ensure that the Volume and Balance controls in the Settings window are always synced up with player
- Fix Mute not working when a new song is loaded, when the previous song WAS muted
- Add Speaker Output Mode to the Output Tab
- Add Device Selection to the Output Tab
- Add Support to Library for Displaying CD Drives
- Add Support to Playback CD Audio files (.cda files)
- Update FMODEx to 4.06.06
- Fix up Drive parsing, if you load the Root directory up, it should now work from explorer
- Fix Output tab to display default options if existing options are out of range
- Ensure that all speakers are set to full volume so that surround sound systems work correctly
- Add numbering to the playlist. Can be toggled in the View menu.
- Fix Add File Dialog not remembering the path when Multiple files are used.
- Modify Add Directory and Add File to share paths between each other
- Added support to playlist for Recent Playlists
- Playlist functionality has now changed so that if there are no changes to the list, it will always load the last .m3u file on next load.
- Playlist will remember if changes are made and save them to a temporary file until you decide to save the changes. This works even after restarting Xion.
- Playlist will mark changes with a * at the start of the filename
- Add support for controlling the Antialiasing of Text Layers by use of the faa(x) keyword
- Update FMODEx to 4.06.07
- Add support for indi_cd
- Add right click menu to Stop button
- Add support for "Fade out and Stop" by Shift Clicking the Stop button
- Add support for Toggling "Stop after current" by Ctrl Clicking the Stop button
- Reset Stop After current flag as soon as we stop so that visually it looks completed, instead of waiting for the next play or next command
- Don't ask to save a list that has never been saved
- Add .CDA to the file add dialog
- Modify Playlist File adding so that is more thread safe.
- Add Icon Marker for currently playing song
- Fix multi loading of songs due to Playlist Thread changes
- Add file Length display to the playlist window
- Add 'Remove All Dead Files' to the Playlist Remove Menu
- Add support for AutoPlay CD's when they are inserted
- Add Support for the following file formats: mo3,umx,aac,mp4,m4a,ac3,ape,mac,cda,mpc,mp+,mpp,spx,tta,wv,ofr,ofs
- Fix not being able to view file information on the first item in the playlist
- Update FMODEx to 4.06.08
- Ensure that the Fmod system is initialized before making any calls to it (the player may have been in the middle of destroying itself)
- Ensure string copy lengths are more accurate to ensure there are no overruns
- Update FMODEx to 4.06.09
- Fix Playlist so that items are added better, without refreshing the entire list each add
- Abstract the XionPlayer class ready for adding BASS Audio Library Support
- Add "tags" library for helping with Tag Reading from various formats
- Add support for the BASS audio library. Implementation about 80% done
- Force XCCH_TOGGLESHOWHIDE to set the window to the foreground when SW_SHOW is set
- Fix BASS overridden SetVolume call not working
- Small changes to core in order to return a blank osc if one couldn't be drawn
- Ensure the sound buffer has been cleared and reset on construction
- Add BASS_Fx Plugin for BASS Equalizer
- Add support for BASS Equalizer
- Nuke tags in its current form ready for re-add
- Add tags to Xion system
- Add tags framework to project
- Remove the Speaker Output options as BASS has an incredibly insane way of setting it up *sigh*
- Ensure speaker variable is disabled by default
- Fix bug in BASS when you press Play and its already playing whereby the stream doesn't restart
- Updates to improve support for BASS functions
- Fixes to the playlist to use threaded time grabbing
- Fixes to the remembering of last played items due to threaded playlist loading
- Update Tags library to version 9
- Update tags with aac reading support
- Add support for Reading Tags using the tags library
- Modify playlist to accept mpc format
- Add initial support for gathering supported file extensions from current Audio Player
- Add support for the playlist to display Filetypes from XionPlayer which means they are dynamically loaded, instead of being a static list.
- Tweak the playlist a bit for dragging and dropping within in the list
- Fix up the DataParser so the file is read in all at once, instead of in chunks - Thanks James!
- Add better Streaming support to XionPlayerBASS
- Fix CDA support in XionPlayerBASS
- Fix Tag support in XionPlayerBASS
- Ensure Playlist and FileType Registration both read the dynamic FileType list from XionPlayer
- Ensure XionPlayerFMOD4 doesn't report duplicate Fileformats
- Add support for User Formatted Display String for the Track Title/Playlist Titles
- Fix Short filetypes from being recognised by the Playlist Manager
- Add Selected/TotalTime label to the Playlist
- Fixed Playlist double click issue mixed with drag and drop
- Fixed XionPlayerBASS not setting sync points correctly and not moving onto the next song
- Add Registration for inserted media (from such things as usb drives)
- Add Portable Release build option that builds a version that doesn't access the registry or have support for file types
- Save M3U PlayLength in Seconds, not Milliseconds
- Ensure there is no longer a 'no sound' option
- Increase the size of the config window so that all tabs are visible
- Fix drag and drop issue when dropping m4a's and other multiformats loaded by plugins
- Disable saving of File Info Tags
- Add Refresh Track Times Option to the View Menu of the Playlist
- Fix User customized string from not showing up correctly in the Shimmer window
- Fix User customized string not getting set after reload until you opened the Configuration window
- Fix WMAs not playing at all (BASS was detecting as a URL :S)
- Fix NetStreams not playing correctly
- Fix tags not showing up when no tags are found at all (defaults to filename)
- Fix Playback system when it gets confused, it will now still try to play something at the end of a song
- Fix crash when viewing file information on a blank playlist - Thanks SLoB!
- Fix problems with reading Title from id3v2 Tags.
- Fix the Netbuffer not working after the station has loaded.
- Add support to modify() for multiple targets
- Ensure that the file info dialog gets focus when created so that pressing escape allows instant cancel
- Ensure double clicking CD drive in Library loads up the Track listing in the playlist
- Tidy some rendering code a little
- Modify fixed URL playback so that it streams instead of downloading the whole song
- Add CTRL+U to the shortcut list for the playlsit
- Fix freeze when adding many items to the playlist comes to an end
- Remove Context menu from Library
- Fix playback of tiny files such as short .wav files
- Ensure that trans_ layers don't re-show themselves if they've been told to hide via action_layer_hide
- Fix activation state changing when simply showing right click menu on sk
- Remove uninstall command line from portable edition
- Fix uninstall handler when Xion is running while uninstalling
- Fix tag library related crashes
- Fix crashes when playing .cda tracks
- Add 'Get More Skins!' button to the Skin Browser
- Add Comment reading back in
- If the visualization that is drawn on the skin has the 'Random color' disabled, it will use whatever colour the skin author has chosen for the visualization layer
- Don't fade the _Down layer in, only out, so that you get to actually see the _Down if you click quickly
- Add the ability to remember the selection and the top index when applying/removing filters to the playlist
- Fix the skin bounding rectangle calculation so that it correctly creates the bounding rectangle for a skin when a skin changes
- Add new layer type 'snaprectangle' which allows you to specify regions that will get used for screen snapping
- Fix launching of Xion from explorer right click
- Enable Hotkey registration for media keys
- Attempt to fix volume bug when setting the volume near the end of the song
- Fix bug that doesn't update the clipping rectangle correctly for skins due to changes with skinrectangle
- Fix song title/skin updates when scrolling the wheel mouse
- Fix crash when large comments are encountered. Am now using dynamically allocated strings to store tags, instead of pre-defined char arrays
- Add 'adding' icon animation so that you can actively see its still adding, even if you are unaware what the adding progress bar is.
- Fix Library so that duplicate items are filtered out
- Rename Xion Portable to Xion _Portable
- Add Enter as a hotkey for the playlist to play the selected item
- Add filename searching to the playlist search box (instead of just display name)
- Update the Default Tag format to display ' - ' when no title/artist is found, instead of 'No Artist - No Title'
- Use a 'Search' label instead of just an icon to make it easier for new users to spot the playlist search feature
- Fix Mute/Pause/Unpause issue unmuting sound and causing weird stutters
- Update BASS to 2.3.0.2
- Fix crash when reading Tags from CD audio tracks
- Fix Media keys generating multiple messages. We now ignore multiples if they are executed after each other too quickly
- Ensure that you can't execute actions on controls when you mouse up, other than the one you first had the mouse down on. Once you mouse down and move around, you will only get mouse_over and mouse_down changes for that one control, and no others
- Add support to Explorer for Enqueue
- Add support when dragging onto the User Interface for holding down shift to Enqueue dropped files
- Don't render snaprectangles in the previews that are generated
- Fix _over and _down buttons staying visible when their main parent has gone invisible due to active, inactive keywords (fixes default skin open button)
- Fix bug where list scrolls to currently playing song, when you remove an item
Enjoy!
Cliff
![Smile :)](./images/smilies/icon_smile.gif)