1.0rc2 - 1.0 final - added: made "Collected" its own library with its own playlists - added: improved selection box "type ahead" filtering - added: selection boxes during search and viewing modified tags - added: global hotkey customization - added: ability to set file assocations in the Preferences window - added: wma and mpc playback plugins - added: added updated Winamp Emulator plugin - added: customizable global hotkeys - added: ability to set file assocations in the preferences window - added: tango icons - added: better volume control - added: Yann Le Moigne's windows media key patch - added: view -> selection boxes - added: updated installer with associations seperate from plugin installs, thanks insomnia - added: theme editor dialog. File -> Theme Editor - added: ability to title a NetRadio when you add it - added: light playback icon theme - changed: rearranged main menu bar to be more coherent - changed: make source devices view hidden by default - changed: better theme support when drawing the currently playing song. - changed: playlist 'drag and drop reorder' color - changed: standardized appearance and workflow of all dialogs - changed: "musik" in sources panel renamed "browse" - changed: root items in the sources panel are now capitalized - changed: sources scrollbar draw location - changed: sources items now end with an ellipsis if text is not long enough to fit within the draw region (example: long playlist names) - changed: moved sources window toggles to the main "View" menu - changed: rearranged the file menu - changed: disallow 100% transparency - fixed: next artist/next album hotkeys - fixed: bug where tray icon would not be displayed properly - fixed: tag dialog prompts for changes if selected item changes - fixed: detaching device while playing from it - fixed: browsing playlists as libraries - fixed: certain sources drag and drop errors - fixed: font loading issues - fixed: nasty crash with extremely long comments (or other fields) - fixed: BringWindowToTop on file drop - fixed: font glitch during drag and drop in playlist - fixed: selection boxes now update properly after a playlist is deleted - fixed: scrollbar not appearing/disappearing in the sources window - fixed: miniPlayer's window is musikCube, not the desktop. - fixed: miniPlayer window not being initialized completely if no song playing - fixed: bugs regarding removing songs from the library via selection boxes - fixed: sorting by time added and last played works correctly now - fixed: OnDragLeave() not being properly handled & leaving DND artifacts around - fixed: NetRadio works once again - fixed: NetRadio playlist not refreshing after adding a new station - fixed: 'not playing' text shifted slightly on first launch. - fixed: make sure to 'unhighlight' last played song when playback stops - fixed: last of the theming related color issues - fixed: no longer have to restart musikCube if you change your system's theme - fixed: FLAC bug introduced in 1.0rc2 - fixed: rare crash on exit when running debug build - fixed: minor auto capitalize bug - fixed: "Show in Explorer" actually selects the song now - fixed: disallow drag and drop from Now Playing to Now Playing - fixed: disallow drag and drop from Playlist to Same Playlist - fixed: cleaned up more drag and drop code - removed: focus follows cursor option - removed: unnecessary dialogs from the resource file - removed: "Save Playlist" from the File menu. This is now done automatically. - removed: dead and unused accelerators - fixed: core_net: added BASS_STREAM_META to request that servers send metadata - added: core_net: added BASS_STREAM_AUTOFREE (can't hurt...) - fixed: musikCore: last character of metadata from netradio streams was being dumped due to incorrect string pointer math - fixed: musikCore: don't call MetaDataChanged() unless the metadata actually changed in some way, preventing balloon popup and tunage from getting a hit every 2-5 seconds on some netradio streams ---------------------------------------------------------------------------- 1.0rc1 - 1.0rc2 - added: installer now downloads additional format plugins from the internet when selected - added: users can now physically copy songs to devices by means of drag and drop: simply grab a group of songs and drop them on the device. - added: drop feedback when dragging items over items in the sources control - added: drop feedback when rearranging playlist items - added: "at" to default auto-capitalize list. - changed: separated core_Internal.dll into core_mp3.dll, core_ogg.dll, core_flac.dll, core_net.dll, core_cdda - changed: default song highlight color - changed: layout of batch retag dialog - fixed: mini player to always display correct song - fixed: some glitches when mixing songs with different libraries in Now Playing. - fixed: the infamous 'tunage hanging' problem - fixed: bug where playlist highlighting was ignored - fixed: search results are now ordered properly - fixed: database would not load if there were certain characters in the username - fixed: devices are now listed in the same order they appear in explorer - fixed: songs would not play if a device's letter changed - fixed: device synchronization would fail if device's drive letter changed. - fixed: songs would no longer play on a device if it's drive letter changed. - fixed: multiple bugs related to cd playback - fixed: sources drag/drop handling completely rewritten - fixed: miniPlayer's slider color matches musikCube's. - fixed: glitchy sources behavior when showing/hiding nodes - fixed: drag and drop registration for playlist view instead of list - fixed: redraw issue with slider controls - fixed: small playlist drop/arrange bug where songs would be reordered off by 1 - fixed: potential color drawing problems - removed: apply button from the preferences ---------------------------------------------------------------------------- 0.92.5 - 1.0rc1 - added: new installer. props to insomnia. - added: thumbs to the slider controls - added: File -> Online Help to take user to musikCube's Wiki - added: "File not found" now displayed in tag edit dialog if the current file is missing or offline. - changed: BatchChgCaseTask.h/.cpp: 50% less stupid - changed: Always on Top shortcut key changed from Alt+T to Alt+Shift+T - changed: 'Play Next' changed to 'Queue as Next' in context menus - changed: revamped about box - changed: sqlite upgraded from 3.2.2 to 3.2.6 - changed: taglib upgraded from 1.3.1 to 1.4 - fixed: random icon - fixed: path synchronization conflict resolution routine - fixed: --nographics mode for new now playing layout - fixed: balloon corruption up on very long song titles - fixed: item selection behavior while searching or renaming an item. - fixed: auto capitalize for words starting with (,{,[ characters - fixed: Alt+T for "Tags" menu not working properly - fixed: Repeat Single - fixed: made the time slider much smoother (no longer jumps around) - fixed: weird "click to set time twice without moving mouse" bug - fixed: Tag From Filename no longer obliterates other tags in the database - fixed: slider control overdraw - fixed: WallaTu's Tag From Filename bug - fixed: a bug in the TaskQueue - fixed: synchronization bug - fixed: a memory leak in RemoveOldTask - fixed: bug where net radio filename couldn't be edited. - fixed: 'first track in playlist skipped' bug - fixed: long run random bug - fixed: threading glitch where progress would start at 99%, then drop to 0% and proceed normally. - removed: mcAmp from distribution. will be available separately. ---------------------------------------------------------------------------- 0.92.4 - 0.92.5 - fixed support for mapped network drives. - fixed filename case in the Tag Properties window - fixed some "play next" crashes - fixed the crash when moving playlists down (thanks DiGiTaLFX) - fixed some potential bugs with musikCore::Library creating crossfaders, equalizers, and playlists. - fixed bug where equalizer settings were not being saved on a per song basis when "Same Equalizer for all Songs" was not checked. - fixed bug where all selection boxes could disappear. if they are all closed, they will be reset to default upon next launch - fixed a bug where plugging in a removable device when hidden would cause the sources panel to draw scrambled - fixed the bug where hiding devices wouldn't take effect until musikCube was restarted - fixed bug where press next or prev track would start playback if stopped. - fixed a bug where synchronization would fail if the collectes sources item was selected. - fixed filesize display in playlist: "MB" instead of "mb" - fixed equalizer drawing corruption when switching between 6 and 18 band mode. - pressing DELETE in the collected window actually deletes them from the collected library. - major overhaul of the now playing control - fixed a lot of bugs relating to mcAmp, including those that made the sound suddenly cut out. - volume in the main UI now updates when the mini player updates volume. - added Fine Fine's random icon - core_APE added to the musikCore CVS tree - cube_mcAmp added to the musikCube CVS tree - cube_miniPlayer added to the musikCube CVS tree ---------------------------------------------------------------------------- 0.92.3 - 0.92.4 - added right click -> play next, play now, enqueue, replace now playing, and replace now playing and play in both the playlist and selection box views. - fixes the bug where the tray icon would disappear if explorer crashed - fixes some bugs where the database would be queried twice instead of once. - fixes a nasty bug where deleting files from multiple libraries could work incorrectly. - fixes bug where rating a song in the playlist may not work correctly - fixes bug where incorrect tag properties could be displayed - fixes some random crashes people were experiencing with the option "double clicking an item queues it in now playing" option selected. - pressing F5 requires the selected dynamic playlist - dropping files on a device drives no longer crashes - times played is now incremented when the song starts, instead of when it ends. - clicking on the time elapsed in the playing area now toggles display between time elapsed and time remaining - added code to put list of currently used genres from the database at the top of the genre pulldown in the tag properties dialog box - wrapped OpenURL in a try...catch block -- Tunage should no longer throw a message box if it fails due to lack of internet connection. ---------------------------------------------------------------------------- 0.92.2.1 - 0.92.3 - playlist ordering is remembered - tunage vars $RATING and $GENRE added - reload tags no longer hangs - TagLib moved to core_Internal.dll and outside musikCore - added sources type "Collected" to show a history of songs played, including those that aren't in your main library. you can also use this sources item to modify songs that do not exist in the main library. - "Show All %" changed to "Show All Songs" - selection box "Show All %" bug(s) fixed - fixes typo "existant" should be "existent" - fixes the bug where dynamic playlists would switch around if they were selected and a new song was started. - fixes buggy searching while sources panel is scrolled - enabled marquee selection in playlist. - fixes a crash when upgrading from musikCube 0.91.x - double clicking fields in selection boxes now queues them in now playing if "Double Clicking a Song Queues it in Now Playing" is selected in the preferences. - currently playing songs are ALWAYS highlighted now. - fixes strange bug where two identical items in the now playing would be drawn with a slightly different font. - fix for sources plugin integration. OnSources() is only sent if user left click the sources item. also added WM_SOURCESUNSEL message so plugins can defocus items in the sources panel. - fixes a long running problem where new users couldn't add files to their database. this only occured when non ASCII letters were in the user's username. - fixes tray icon crash - removed balloon tip "pop" sound - selections are now updated when holding ctrl and deselecting items in the selection boxes. ---------------------------------------------------------------------------- ToDo - mouse cursor change when dnd - now playing order not saved on exist. need to remove the temp song table and store it as a playlist. - rob reported that after a rip, there is playback noise until the rip window is closed. - blank artist/album/etc customization - mask editor: needs to insert wherever the cursor is <-- IMPOSSIBLE WITH MFC??? UGH - cd ripper settings on a per song basis times played never incremented until 2 plays?? http://musikcube.com/phpbb/viewtopic.php?t=251 <-- DocTriv ---------------------------------------------------------------------------- 0.92.2 - 0.92.2.1 Bug Fixes - fixes the bug that would crash musikCube if there was an old plugin loaded and the user seeked ---------------------------------------------------------------------------- 0.92.1 - 0.92.2 Bug Fixes - equalizer now uses Shibatch (shibatch.sf.net) technology (thanks Wraith) - mcAmp uses [ artist - title ] instead of [ title - artist ] - cd ripper re-designed to work at 800x600 - fixes potentially dangerous bug where Copy To.. or Move To.. overwrites files without conformation. - adds "notes" field to dynamic playlist dialog - fixes some bloat in the playlist popup menu - right click -> play selected in playlist view - right click -> play selected in selection boxes work again - double click to queue song adds them to the bottom of the list, instead of after the currently playing song. - "by artist" and "from the album" are no longer displayed in the task tray, balloon tips, or now playing bar if no artist or album information exists. - fixes a bug where creating a playlist, going to a device, then back to the library wouldn't show updated playlists. - fixes bug where deleting last dynamic or stanard playlist in "device" mode would focus the main library, instead of the active device. - use derek's new main icon! - about box re-designed - moved version from the help menu to the about box - changed appearance of time and volume sliders - adds the ability to specify a freedb server in the preferences. - capitalizes the first letter of every word in buttons of dialogs - fixes bug where sources scrollbar wouldn't get shown or disappear until window was resized. - added missing OnSeek() plugin event. - fixes the bug where songs from multiple libraries could not be queued and played at the same time. - bug fixes relating to unplugging and adding devices while musikCube is running. - removes some stupid options relating to transparency. - ctrl + f starts the "Search" sources entry - bug where pause button wouldn't refresh properly - bug where expanding and hiding items in the sources could cause a crash. - upgraded sqlite to 3.2.1 - upgraded BASS to 2.1.0.5 - ordering of dynamic and standard playlists are now remembered - added versions of embedded components in about box - netstream tags are now displayed and updated - equalizer presets work again - File -> Database -> Import Database changed to File -> Database -> Change Database ---------------------------------------------------------------------------- Plugin Ideas - alarm clock - shutdown after playlist ends - delltouch keyboards? - play files not in library - configurable global hotkeys - album art - ranomdly populate now playing when playlist ends ToDo: - filename / full path display - search across multiple library - automatically autocapitalize and remove whitespace with tag from filename - hotkey minimize and maximize - focus tracks cursor problems, specifically when the musikCube is not the foreground window or when the search box is active. - highlight the now playing song always - composer field - option to automatically write tags to file - taglib: writing year and track of 0 to a null field instead of "0" - gapless playback (possible?) - playlist stream information - preference for how to display blank fields - ctrl+c / ctrl+v in edit in place control - cd/dvd libraries - "album (artist)" view as requested in forums - delete from playlist from selbox - some default rename strings, with the ability to copy the renamed files to a common directory - internet proxy support ---------------------------------------------------------------------------- 0.92 - 0.92.1 Additions and Changes (+) huge plugin api / framework updates, as discussed by developers (+) double clicking items in the selection box starts them playing (+) last known played song is remembered when you shutdown, and automatically displayed on startup. (+) fixed playing read-only files over the network (+) modified behavior and appearance of "Create..." buttons (+) songs rated with -1 have no information displayed in the "rating" column of the playlist (+) removed confusing "selection scheme" option (+) right click on artist/album/etc boxes -> play selected (+) right click on artist/album/etc boxes -> queue selected (+) right click songs in playlist -> queue selected (+) changed the playlist icon in the sources panel (+) playing a song from a dynamic playlist automatically focuses the now playing list. (+) "Move Files To..." right click sources option (+) scrollbar in the sources control doesn't draw so crowded anymore (+) winamp command emulation removed from the main program and moved to a plugin called "mcAmp" (+) the first time musikCube is run on a computer it will inform the user about adding files, and automatically launch the directory synchronization dialog (+) right click on Library -> Show All Songs (+) right click on Device -> Synchronize Device (+) Right click on files -> (Re)write Tags to File (+) "Select all Artists" changed to "Show all Artists" (+) Much improved keyboard shortcuts (+) A preference that adds the ability to not show all songs in the playlist view when "Select all Artists/Albums/etc" is clicked in a selection box. This can drastically speed up the UI if deselected. See File -> Preferences -> Interface -> Workflow (+) Sound buffer length can be set in File -> Preferences -> Sound -> Driver Bug Fixes - crossfader settings are remembered on exit - tag from filename works again - fixed loading and saving tag-to-filename and filename-to-tag masks - drag and drop from explorer fixed - fixes a bug where deleting the last std or dynamic playlist in the sources, without files playing, could cause the library view to go blank until you clicked out and back into it. - equalizer presets can be created and stored again - sorting playlist by comments column actually works - minimize bug where UI would simply disappear - toggling equalizer off in the menu now updates the button in the now playing control properly. - fixed crash with cddb - rewrote the playlist sort query.. it shouldn't crash anymore when sorting in the main window (?? please report if there are still problems) - fixes a really rare crash caused by an invalid Relative Volume Adjustment id3v2 tag. - fixes some bugs related to minimize and close to system tray - removed unnecessary code for some minor speedups - "rate current" in tray menu now correctly updates after a song's rating has changed. ---------------------------------------------------------------------------- 0.91.11 - 0.92 Additions and Changes (+) A basic plugin API (+) added tooltips to the now playing control (+) adds quick toggles for random, repeat, crossfader, and equalizer in the main window. (+) tags are now scanned for a "comments" field, which can be toggled on in the playlist. you will need to reload existing tags from file to use this field. (+) cd drives can be hidden (+) renamed a number of menu items as recommended by David Rehm (+) right click now playing -> Clear to clear the now playing playlist. (+) remove whitespace only option for retagging files (+) new default icon (thanks Duncan Lock) (+) ability to rearrange dynamic and static playlists. (+) view menus are sorted alphabetically Bug Fixes - fixes a bit more equalizer strangeness, especially dealing with setting the preamp when the equalizer is disabled. - fixes seeking bug when playback is paused and crossfader is disabled - "reload tags from file" should work properly for all filenames now - fixes the "format" selection box - correct sorting when only filename is present in regular playlists (eric) - fixes song title overlapping with playback button ---------------------------------------------------------------------------- 0.91.10 - 0.91.11 Additions and Changes: (+) moving the mouse over the playlist, selection boxes, and sources controls makes them scrollable with the mousewheel. This can be enabled in the preferences, just select "Focus tracks cursor." (+) clearning the library does not remove stock dynamic playlists (+) right click on dynamic playlists root menu -> create stock dynamic playlists (+) ability to reload original tag information from file. right click files in playlist -> Reload Tags from File Bug Fixes - fixed cd ripper strangeness when only ripping selected tracks - incorrect thread percentage bug - fixed bug where dragging files out of playlist and sources would moved the files instead of copying them. - fixed bug where duplicate files could appear in the database - holding right mouse button while dropping on sources will switch to the item the files were dropped on. - fixes another sources drag and drop bug where holding the left mouse button down before entering the sources would be detected as a drag event ---------------------------------------------------------------------------- 0.91.9 - 0.91.10 Bug Fixes - mp3 encoder bitrate works again - cd ripper supports unicode tags - scrollbar is no longer reset after creating a new playlist. - dragging from windows explorer and dropping on sources items now works better - fixes a cd ripper bug where certain discs would just refuse to rip and show the message "process completed successfully" - file -> cd ripper added - problem when switching between two or more audio cds - device to device / device to library dragging - ctrl + o, ctrl + d work again - users can now rearrange dynamic playlists in the playlist view - fixes bug where the selection boxes would be reset if a playlist was visible and the user rearranged files - added missing main menu accelerators - now playing information (song count, runtime, size) is now updated if now playing is active and user plays or queues a random artist, album, genre, or year. - sources drag and drop bugs, including dragging from libraries and devices have been fixed. invalid items, such as cd audio discs, can no longer be dragged. - sources window is automatically scrolled to the top item when the program is launched. - fixes inaccurate popup location of renaming files and creating playlists when the sources window has a scrollbar. - dropping files on "Create..." works properly again, instead of setting the edit box up at the very top of the sources list. - rearranged queue random and play random menus to match one another. - right click sources -> copy to works again (thanks to Michael Dunn for the SHFileOperations wrapper that made my life easier) ---------------------------------------------------------------------------- 0.91.8 - 0.91.9 Additions and Changes: (+) *working* unicode support for tags and filenames (+) new option: close to system tray. (+) tray icon mouseover now displays artist name too (+) rating popup menus now display the current song rating (+) ability to drag playlists onto now playing (or from dynamic to regular playlists) (+) now playing is preserved on exit if the songs are from the main library. Bug Fixes - fixed bug where selecting all artists of a playlist would display incorrect playlist length and filesize - tray icon: use middle mouse button to bring musikCube window to the top - writing tags to file works properly again - fixed bug where selecting an album/artist/genre/etc with an apostrophe in it would return nothing in the playlist view. - fixes delete from playlist bug. - playlist context menu item "Clean" is no longer enabled if no songs are selected. - playing and retagging files with non-standard characters - files not tagged successfully are no longer marked as unmodified. - removed all ogg vorbis sdk and id3lib references in musikCore - standard playlists are now stored by songid ---------------------------------------------------------------------------- 0.91.7 - 0.91.8 Additions and Changes: (+) sub libraries have been removed. all playlists and dynamic playlists are treated like sub library -- that is, they link up with the selection boxes. (+) new "Net Radio" sources entry. (+) completely redesigned sources menu. it is now much more intuitive. (+) expanded removable device support to support any disk attached to the system. a new sources type called "Devices" has been added. If enabled, all cdrom drives will be listed here as well. If disabled, cdrom devices will be listed under "musik" (+) ability to select which drives to display in the "Devices" section of the sources panel. File -> Preferences -> Interface -> Devices (+) "unplug device" changed to "unload device" in sources menu (+) dynamic playlists are automatically updated when the currently playing song finishes. (+) stock dynamic playlists added: * 50 last played * 50 newest * 10 most played * favorite artist * favorite album (+) more sources drawing enhancements (+) cd playback and ripping now display track durations (+) changed the disk drive icon (+) fixed size of playlist icon (+) changed default application icon Bug Fixes: - fixed two drag and drop bugs as reported in the forums by citrus538 - fixed the annoying viewing modified tags bug - fixes a thread race issue where the wrong cd track would be played - potential hang on exit when playing cdrom or netstream - some bugs regarding loading and playing netstreams have been ironed out. there may be more (please report) - unloading a device that is playing no longer crashes - crossfader durations only displayed to two decimal places - previous button grace time set to 5 seconds, instead of 2. - bug with german symbols - fixed bug where freedb would look up the wrong amount of tracks, then give the user an error to rescan cd before ripping. this was reported in a review at www.betanews.com - freedb information is now carried over from cd player to cd ripper - clicking "now playing" when an audio cd is playing now displays the cdrom playlist. - double click to now playing fixed. in addition, holding ctrl while double clicking will push it to the queue and play it. - cleaned up some redundant and obselete checks in musikPlayer.cpp - a potentially nasty bug that could cause musikCube to stop functioning correctly if a song that doesn't exist was attempted to be played. - tunage append line works ---------------------------------------------------------------------------- 0.91.6 - 0.91.7 Additions and Changes: (+) cd ripping: added "rip selected" and "rip entire disc" buttons to prevent confusion. Bug Fixes: - cd ripping: fixed status display when ripping selected tracks. - cd ripping: pressing cancel now long displays "the process has completed successfully." - a couple small bug fixes ---------------------------------------------------------------------------- 0.91.5 - 0.91.6 Notes: if you downloaded a cvs build between the 0.91.5 and 0.91.6 release cycle, and used the removable storage feature, you MUST delete the .musikproject folder on the removable storage. if you don't understand what i'm talking about, this doesn't pertain to you. ;) Additions and Changes: (+) removable storage support. you can now use musikCube with thumb drives and removable storage-type mp3 players (usb/firewire). You can also easily create playlists in your main library and right click -> "copy to" the drive. (+) title, artist, album information is now centered in the playback area, instead of being aligned left. (+) search has moved from its own item in the tree, to a subitem of the "musik" sources item. (+) big sources drawing enhancments and speedups. single click to collapse root items. (+) cd ripping pops up a message letting the user know when the process has completed. (+) cd ripping percent and current track number are now displayed within the cd ripping window. (+) modified cd icon in sources panel (+) added a border to the left of the scrollbar in the sources control (+) added $DURATION keyword to tunage Bug Fixes: - loud burst of audio when certain songs start - fixes a strange and rare crash that would occur when switching between sources items too fast. - sub libraries display icons - Faulty track time is now detected when the song is played, and written back to the database. - Thread race condition that could cause a song to advance next while seeking. - Fixed (rare) crash when hovering mouse over sources item - When "Playlist Info Vis" is disabled, the correct information is drawn, instead of a huge ugly black box. ---------------------------------------------------------------------------- 0.91 - 0.91.5 Additions and Changes: (+) Playback buttons now have icons. (+) CD Playback works properly again. (+) sources panel displays icons (+) fixed and redesigned the way tag-to-filename and filename-to-tag controls in the playlist right-click menu work (sven's bug) (+) rearranged the playlist right-click menu to be more intuitive (+) buttons in the now playing control are drawn to match the items in the sources panel. Bug Fixes: - Tag now properly updates if no track number or year was entered. ---------------------------------------------------------------------------- 0.90 - 0.91 Additions and Changes: (+) evillyrics support (forum request) (+) (fairly untested) unicode support (+) filtered searching in the selection boxes, just start typing! (forum request) (+) REAL random playback, instead of just the ability to shuffle the "Now Playing" playlist. (+) added "refresh cd" to the right click menu in the sources panel. (+) fixes the possibility of the CD Ripper scrambling track information. (+) sources "CD Ripper" entry removed. right click the drive and select "Rip CD" (+) when adding file a percentage is now shown in the title bar. Bug Fixes: - balloon tip no longer pops up after pressing "stop" - 'Shuffle' is enabled for now playing in right click menu on sources panel. - tag dialog now properly updates when visible and the selected item in the playlist changes. - various cd ripping bugs - fixes corrupted drawing of last two pixels in the playlist. - crash while adding equalizer presets when equalizer is disabled. - cd ripper no longer crashes when pressing buttons with no disc inserted - various small bug fixes ---------------------------------------------------------------------------- 0.86 - 0.90 Additions and Changes: (+) improved startup layout (+) batch tag editing when selecting multiple songs in the playlist, right clicking, and going to properties. (+) command to clean all or selected tags in the library. (+) much improved playlist creation (+) mouse rollover effect in sources (+) netstream support (+) cd ripping support (+) cd playback support (+) equalizer preamp (+) ability to switch between libraries (+) re-designed "now playing" panel (+) "copy to" in right click menu of playlists. this allows an entire playlist to be copied to a specified location. (+) re-designed the "file" menu to be much more intuitive (+) title now contains "(background processing)" while threads are active. (+) equalizer control displays frequencies (+) tray icon's caption now contains the active song title Big Fixes: - fixes a really annoying bug where the next song wouldn't advance when the current song finished - fixed the seek bug - fixes maximize to tray problem - rare 0:00 duration bug fixed (thanks for reporting Al) - drag and drop to playlist works again - equalizer bands are now more accurate, and don't jump around after updating them (chris) - fixed random spikes in playlist vis when not playing. - changed wording in dynamic playlist editor - playlist drag and drop (jared) - action button moved next to the play button, with next on the far right. - fixed a nasty renaming bug. in windows filenames are not supposed to contain more than one period in a row, but it can be done through the windows api. if the files contain more than one consecutive period, the file can no longer be read. - greatly improved column re-arranging in the playlist window. its much faster, better looking, and more stable. - fixed a column sorting bug, which i think was the source of all the "random" crashes reported. - fixed drag and drop files from sources ---------------------------------------------------------------------------- 0.85 - 0.86 - *** added flac support *** - pause resume bug fixed - mfc70.dll is no longer distributed with musikCube, meaning users MUST download and install the microsoft .NET framework before installing. this can be easily done through windows update or microsoft's homepage. - volume up/down hotkeys now modify volume by roughly 5% rather than 10%. - rating selection box should work right now. - fixed equalizer, which had numerous problems in both the front end and back end. - used musikCore::Player backend to support BASS and now using it in place of fmod. its smaller and sounds better. - removed winamp vis support. this will be replaced by an integrated version of projectm soon. ---------------------------------------------------------------------------- 0.82 - 0.85 - obselete features removed, including prompting to save a modified std playlist. - HUGE ui cleanups, fully supporting the threading capabilities of the musikCore backend. behavior is the same, its just a lot smoother running now with less bugs. - migration to taglib. means more speed and stability ---------------------------------------------------------------------------- 0.8 - 0.82 - should fix strange crashes while threads are active. this includes during adding/removing songs, retagging, and renaming files. this was caused by update events being called from a thread without a mutex. - ctrl + alt + shift + page up = previous album from current artist - ctrl + alt + shift + page down = next album from current artist - ctrl + alt + page up = previous artist - ctrl + alt + page down = next artist - balloon tips now shown when volume hotkeys are used - new tray icon behavior. if tray icon is enabled, it will always be visible. a single click to the tray icon restores the window if it is hidden, or hides the window if it is visible. - new global hotkeys: * ctrl + alt + up arrow : play/resume * ctrl + alt + down arrow : pause * ctrl + alt + left arrow : previous track * ctrl + alt + right arrow : next track * windows key + up arrow : volume up * windows key + down arrow : volume down - libxine support for linux and musikBox. - balloon tips when using system tray. can be toggled off in the preferences - page fault ratio drastically reduced - huge cleanup of musikCore::Player. the strange crossfade bug should now be gone now. (jared?) ** posted cvs: musikCube_10092004.exe - the font for rating songs should install properly now - various small bug fixes - multimedia keyboard support - rewrote musikCore::Player to act as a virtual class. This means a developer can now easily plug in his own sound system by overriding a few virtual functions. ---------------------------------------------------------------------------- 0.7 - 0.75 - musikCore and musikBox will now share a common directory and library (preferences will be stored in separate files). This means settings will now be stored in c:\docs and settings\user\.musikproject instead of c:\docs and settings\user\.musikCube or .musikBox - fixed possible segfault on exit - default equalizer is no longer reset every time musikCore::Library is initialized (i.e., at the start of the program) - if a song was paused and "prev" was pressed, it would remain paused but the now playing control's button would change to "pause" ... fixed this strange behavior. ** posted cvs: musikCube_08202004.exe - the currently playing song can be rated from the tray popup menu - songs can be rated -1 now (will be useful for the upcoming autodj) - can now right click a group of selected songs in the playlist - times stored in the database are now julian dates, so they can be used extremely easily in dynamic playlist queries. example dynamic playlist "lastplayed > julianday('now','-2 days')" to show all songs played within the last two days. - selection boxes and playlist now correctly update when playback stops - 'actions' button in the now playing panel (next to play/pause/next) that allows the user to generate random playlists very quickly. - 'always on top' option works again - if the window was maximized, then minimized, it would restore un-maximized. fixed. - removed a double call to CmusikCubeFrame::HideTrayIcon() - utc time fix and preference to enable/disable it. - single click to create playlists (not double) - fixed column sorting bug ** posted cvs: musikCube_08022004.exe - library version is stored in the database, so it can automatically patch itself in future releases. - made the search more like a filter - fixed date and time formatting - fixed "date by a month" bug - fixed the times played bugs described on message board ---------------------------------------------------------------------------- 0.6.x - 0.7 - alarm stuff disabled (until its completely working) - new "sloppy" selection scheme. - now playing / library switch bug - code cleanups - preliminary dynamic playlist support - bug fix for HUGE column bug - fixed "Now Playing" drag and drop crash - fixed bug with - Preliminary alarm settings - "Start musikCube with windows" works again. oops. - "Unsynchronized Tags" sub menu option renamed to "Modified Tags" and moved to the main menu - Fixed selection box double click CRASH bug - Change case functions added for tagging... you can now convert tags to uppercase, lowercase, or have them auto capitalized. These functions can be accessed by selecting files in the playlist, right clicking, and selecting the "Tag" menu. Check the preferences for setting up auto capitalization keywords. - musikCore::TaskQueue added to handle tasks independant from the front end. ---------------------------------------------------------------------------- a6/6.1/6.1.1/0.6.1.2: - netstream metainfo is now put into the currently-playing song fields for artist and title, so UI and tunage can now show what is playing in the stream - went back to id3lib / ogg vorbis for windows (more stable). linux still uses taglib. - fixed rare equalizer vis crash - fixed double click to open file and all related multiple instance bugs - preliminary net stream support - much better namespacing - mouseover tips for equalizer frequencies added - First attempt at visual studio 6 compatibility (in progress) - musikCore::Playlist::GetAllSongs() now orders by artist, album, trackname. - removed "Selecting library displays all songs" preference. Default behavior is as if it were enabled. - library selections are now cached if playlists, sub libraries, or quick search is clicked. when you click back to library the previous selection and playlist are restored (request from Colby) - MainFrmFunctor.h / MainFrmFunctor.cpp are now musikCubeFunctor.h and musikCubeFunctor.cpp - MainFrm.h / MainFrm.cpp are now musikCubeFrame.h and musikCubeFrame.cpp - CMainFrm is now CmusikCubeFrame - CMainFrameWorker is now CmusikCubeUpdater - CmusikCubeFader is now CmusikCubeFader - CmusikApp is now CmusikCubeApp - musik.sln / musik.vproj are now musikCube.sln and musikCube.vcproj - finished the initial draft of musikCore documentation using doxygen. - fixed a potentially large slowdown on startup bug that i introduced in 0.6.1.1 - bug where selection boxes would be reset on first click after a new song started. thanks Colby. - much improved speed and stability on synchronization - patched a potentially large memory leak in the core. oops. - currently playing song is now part of the main window's caption text. i removed it and forgot to put it back. - currently playing items are highlighted in the selection boxes (request from Colby) - fixed some tag to filename problems with invalid characters, such as ":", "|", etc - threading issue where caption would not get reset to "musikCube" - misc fixes and optimizations - filename mask dialog added - completed code reading tags from filename, and renaming files based on tag. - percentage of worker threads now shown in caption bar ---------------------------------------------------------------------------- a5.1: - musik.exe is now musikCube.exe - fixes a bug that could corrupt playback and stop musik from exiting if a crossfade duration is 0. - fixes an assertion in debug mode. ---------------------------------------------------------------------------- a5: This is a major update, please test it hard. - batch tagging through right click playlist -> batch - very basic winamp vis plugin support. this feature is experimental and unsupported (use at your own risk) - song is no longer bolded unless it is it in the now playing playlist. - updated default icon - changed preference dialogs - tag editing dialog (right click in playlist -> properties) - fixed a nasty mutex deadlock in the backend - ditched ACE for OpenThreads - much improved selection box updating while threading. - updated about box - fixed a strange threading bug that would cause selection box contents to be doubled (?? if you EVER experience this again please let me know). CmusikSelectionCtrl::Refresh() functions are protected by a mutex now, so multiple threads can't update them at the same time. ---------------------------------------------------------------------------- a4: - fixed two sources panel crashes. not sure why no one ever noticed them before. - pressing ESC while creating a new playlist now cancels the operations. - "Create..." playlists or sub libraries must be double clicked now. people kept clicking it by accident - sqlite is now compiled in - added tunage. The following tags can be used: $ARTIST, $ALBUM, $TITLE, $NAME, $FILENAME, $FILESIZE, $BITRATE, $TIMESPLAYED, $TRACKNUM - right click sources playlist -> delete -> from computer now prompts - optimized threading routines. - the caption bar now tells the user how many worker threads are active. - window start maximized bug came back, so its fixed again - fixed stupid selection bar defuault - added full screen mode (tested with multiple monitors)... file -> view -> fullscreen or F11 - added always on top mode. file -> view -> always on top - added playlist info bar - fixed a bug where not all changes to playlists were detected. - shuffle right from right click menus is disabled unless the visible playlist is "now playing" - sources types can be toggled on and off. right click in sources -> show - transparency options. check file -> prefs -> interface -> transparency ---------------------------------------------------------------------------- a3: *********************************************************************** **** READ THIS * READ THIS * READ THIS * READ THIS * READ THIS **** *********************************************************************** **** **** **** IF YOU HAD A PREVIOUS ALPHA OR TESTING BUILD OF MUSIKCUBE, **** **** YOUR MUSIKCUBE LIBRARY, LOCATED: **** **** **** **** c:\documents and settings\[username]\.musikCube\musiklib.db **** **** **** **** IF YOU DO NOT DELETE THIS FILE, MUSIKCUBE WILL NOT FUNCTION **** **** PROPERLY **** **** **** *********************************************************************** - Fixed a weird bug that may have allowed playlists to get saved incorrectly. - Prefs -> Interface -> General is now Prefs -> Interface -> Workflow - Currently playing item in "Now Playing" is no longer bold. The little playback icon is enough. - A preference for old-style double clicking song behavior. - "Sub Libraries" (name subject to change) now available. they are stored as standard playlists, but displayed differently. each "Sub Library" is a pseudo library created dynamically, based on playlist content. - fixed the EXTREMELY annoying pause / resume bug thats been plaguing me for ages. - optimized memory management of CmusikPlaylists in the UI - fixed a couple instances of the playlist and/or selection boxes being updated twice. the ui should be faster now. - fixed some unnecessary and potentially dangerous pointer dereferencing in musikCore::Player - fixed a memory leak and potential crash relating to clearing the library. - fixed a bug where adding synchronized paths with spaces could cause a "conflicting path" error. - fixed a bug where dropping from sources without a playlist would not start playback ---------------------------------------------------------------------------- a2: - much improved navigation. double clicking a song adds it to the now playing queue. it is played in the background until either another song is clicked or it expires. also dropping files onto now playing not only queues the songs but starts playback if not playing. - fixed a bug where clearing the now playing and clicking a column to sort would crash - the playlist now has an icon to indicate if a song is playing or not. - bug where hiding selection boxes and reshowing would scramble sizes - crossfader presets and settings are now available to the user. see file -> preferences -> sound -> crossfader - duplicate equalizer and crossfader preset names are no longer allowed. this keeps stuff a lot easier to maintain in the backend. - lots of internal cleaning for musikCore's musikCore::Playlist - redid the equalizer presets dialog. - fixed tab ordering in all dialogs - added "Shuffle Now Playing" to playlist context menu - "Shuffle Now Playing" menu option disabled if now playing playlist is empty. - changed "Standard Playlists" to "Playlists" in the sources panel - fixes a bug where parenting a box, selecting nothing, then selecting an item from another box would not reparent - playlists are now stored as filenames, not ids. - memory leak when prompting to save playlist. - fixed sources drag and drop from standard playlists - disallow any undesirable drag and drop activity - playlist drag and dropping crash when not playing - from selection boxes -> playlist drag and drop bug fix - CTRL + A / CTRL + D in playlist to select and deslect all the items - much better theme support - changed rollover button behavior for playback buttons - fixed the problem with the rating selection boxes - dustin's bug with shuffling then drag and dropping ---------------------------------------------------------------------------- a1: January 25, 2004, 2:15 AM don't expect another build for a few weeks. please stress test this build if at all possible. see if you can confuse it into crashing. ---------------------------------------------------------------------------- what we've been up to since wxMusik 0.2.1 CVS: a quick ramble musik, up to version 0.2.1, was not ment or developed to be an extremely usable, stable product. it was a concept to test various aspects of creating an extremely easy and powerful audio library and player. we came to one conclusion after almost a year of development and two, maybe three of planning: the backend and the frontend must exist separate. the backend would be completely independant of any gui. why? - no cross platform gui toolkit offered quite the flexability we wanted. - because the core contains no gui, it could be nearly complete ANSI C++, as long as we chose the right libraries to use for helpers (threads, sql access, etc). - to limit overhead - not only could we easily use the core to make our own mp3 player, but so could others platforms we support: - supported: windows nt 4.0, windows 2000 windows xp linux with oss and alsa - unsupported: windows 95 windows 98 windows me. from our personal experience dustin and i believe the preceding versions of windows to be inherently unstable. musik will probably run on these platforms, but is not officially supported, meaning we may help you, we may not. sorry. :( whats new with the windows gui? - completely redesigned interface. moved from wxWindows to mfc, using limited overhead while still sporting a lot of features. oh yeah -- and its fast. really fast. - minimal cpu and memory usage making it very lightweight. - dockable panels (everyone should be excited) - automatic saving and loading of equalizer presets on a per song basis or through the preset manager. - crossfader is more accurate than ever before, and now has its own preset manager (dialog not implemented yet). - gui workflow has been extremely optimized with the new "Now Playing" sources entry. and whats new with the linux gui? - musikBox, written with Gtkmm. See http://www.musikcube.com ----------------------------------------------------------------------------