2005-08-21 Aaron Bockover <aaron@aaronbock.net>

	* banshee: 0.8.7.1
	* configure.ac: Export ASM_VERSION instead of VERSION, an assembly-friendly
	version number string; require ipod-sharp 0.5.11 or better
	* src/IpodPropertiesWindow.cs: Display labels instead of entries if
	iPod is mounted read-only
	* src/PlayerInterface.cs: Only call Device.Save() if iPod is mounted RW
	* src/ImageAnimation.cs: Fix animation sync bug

2005-08-20 Aaron Bockover <aaron@aaronbock.net>

	* banshee: Version 0.8.7
	* configure.ac: Version 0.8.7
	* src/PlayerInterface.cs: Better default window size
	* src/PlayerInterface.cs: Fixed UI bug that wouldn't show source view
	if library at startup was empty
	* banshee: Version 0.8.6
	* src/PlayerInterface.cs: Search works on the iPod, ejection fixes
	* src/PlayerInterface.cs: Don't show the source view until the database
	has been loaded into cache
	* src/TrackInfoHeader.cs: Don't show Banshee Version
	* src/PlayerInterface.cs: Nice iPod properties box, properties context
	menu, generic StopPlaying method
	* src/IpodPropertiesWindow.cs: Full iPod properties dialog/editor
	* configure.ac: Added more potential HELIX_LIBS paths to detector

2005-08-18 Aaron Bockover <aaron@aaronbock.net>
	
	* plugincore/TrackInfo.cs: Abstract TrackInfo class
	* src/LibraryTrackInfo.cs: Library TrackInfo, extends TrackInfo
	* src/IpodTrackInfo.cs: Ipod TrackInfo, extends TrackInfo
	* src/PlayerInterface.cs: Ipod stuff, play from iPod, iPod properties
	* src/AboutBox.cs: About box patch from Evan... scrolls credits? Woo?
	* src/DBusIPC.cs: Dbus object, registration, session stuff
	* src/Main.cs: Instance detection through dbus
	* banshee: Probably more stuff I missed, because I suck at updating
	my own ChangeLogs

2005-08-14 Aaron Bockover <aaron@aaronbock.net>

	* banshee: Version 0.8.5
	* src/PlaylistModel.cs: NullReferenceException bug fixes
	* src/BurnCore.cs: GConf bug fix
	* banshee: Various other bug fixes
	
2005-08-11 Aaron Bockover <aaron@aaronbock.net>

	* src/BurnCore.cs: Fixed 313256 (exception thrown if burner was never
	configured in preferences... default is now selected)

	* banshee: Version 0.8.4
	* mediaengines/helix: Helix (hxclientkit) bindings working,
	HelixPlayer implementation of IPlayerEngine
	* plugincore/IPlayerEngine.cs: Interface updates
	* mediaengines/gst/GstPlayerEngine.cs: Updated to implement IPlayerEngine
	interface updates
	* src/Preferences.cs: Notify that restart needed after changing Player
	Engines
	* src/PlayerInterface.cs: Update song length if it was previously 0 
	with stream length from player engine if available
	* configure.ac: Detect HELIX_LIBS automatically or set based on configure
	--with-helix-libs option

2005-08-08 Aaron Bockover <aaron@aaronbock.net>

	* libsonance/Makefile.am: SONANCE_* -> BANSHEE_*
	* configure.ac: Cleaned up lots of stuff
	* src/PlayerInterface.cs: Minor bug fixes
	* mediaengines/gst/GstPlayerEngine.cs: Fixed some error handling bugs,
	other minor bugs
	* mediaengines/gst/gst-player-engine.c: Fixed some error handling bugs
	* banshee.{mds,mdp}: Added entagged, plugincore, mediaengines/gst, and
	mediaengines/helix Mono Develop projects
	* Makefile.am: Removed banshee.{mds,mdp} from EXTRA_DIST. Not distributing
	Mono Develop projects with tarball releases

2005-08-07 Aaron Bockover <aaron@aaronbock.net>

	* banshee: Version 0.8.3
	* banshee: gst-sharp player engine removed
	* src/PlayerInterface.cs: Implemented seeking in the UI
	* mediaengines/gst/GstPlayerEngine.cs: Bindings implementing IPlayerEngine
	for new GStreamer C player engine core
	* mediaengines/gst/gst-player-engine.c: New GStreamer C player engine core
	* mediaengines/gst/gst-player-engine.h: New GStreamer C player engine core

2005-08-04 Aaron Bockover <aaron@aaronbock.net>

	* banshee: Version 0.8.2
	* configure.ac: --enable-helix option, HME disabled by default
	* mediaengines/helix/Makefile.am: if ENABLE_HELIX.. build only if requested
	* banshee: More Sonance->Banshee string changes
	* banshee: Namespace renamed from Sonance to Banshee
	* banshee: Files/Graphics updated to read Banshee in public/user places
	* sonance: Renamed to Banshee
	* src/Preferences.cs: Player Engine Chooser, Advanced Tab
	* src/PlayerEngineLoader.cs: Uses gconf to select preferred engine
	* plugincore/IPlayerEngine.cs: New fields for name, description, author,
	etc. for engine implementations. Initializer code moved to Initialize()
	function. Added TestInitialize() to interface.
	* src/mediaengines/HelixPlayer.cs: More minor fixes, still not working

2005-08-03 Aaron Bockover <aaron@aaronbock.net>

	* sonance: Version 0.8.1
	* src/PlayerInterface.cs: Rating Menu, Increment Play Count/Date
	* src/PlaylistView.cs: Column Sorting, new Last Played Column
	* src/PlaylistColumns.cs: CellRenderer argument
	* src/TrackInfo.cs: Save count, date, rating
	* src/RatingRenderer.cs: CellRenderer for stars as rating

2005-08-01 Aaron Bockover <aaron@aaronbock.net>

	* mediaengines/gst/Makefile.am: Fixed rule that removed bundled
	gst-sharp.dll on distclean
	* src/TrackInfoHeader.cs: Why I had a hard-coded version number is beyond me
	* src/PlayerInterface.cs: Fixed Menu->Quit bug not saving settings
	* data/images: Two new icons
	* src/PlaylistView.cs: Added column for showing arrow of current 
	playing song
	* src/PlaylistColumns.cs: Fixed column saving bug

	* sonance: Lots and lots of updates, I'm sure I missed lots of things
	in the ChangeLog

	* mediaengines/helix: Unworking Helix Core (very close to working,
	one major bug to figure out)

	* plugincore: New library currently containing IPlayerEngine and 
	ITrackInfo for developing player engine plugins
	* src/BurnCore.cs: Core CD Burning Engine
	* src/FileEncodeTransaction: LTM Transaction for the FileEncoder
	* src/BurnTransaction: LTM Transaction for the CD Burner (not in use ATM)
	* src/PlayerEngineLoader.cs: Searches for assemblies that have classes
	implementing IPlayerEngine - loads engines at runtime (no more linking)
	* src/Core.cs: Use PlayerEngineLoader

2005-07-28 Aaron Bockover <aaron@aaronbock.net>

	* sonance: Version 0.8.0
	* src/FileEncoder.cs: Abstract engine class for encoding files
	* src/GstFileEncoder.cs: GStreamer implementation of FileEncoder class
	using mediaengines/gst/gst-encode
	* src/NautilusBurnUtil.cs: Utilities for libnautilus-burn-sharp

2005-07-27 Aaron Bockover <aaron@aaronbock.net>

	* burn-sharp/: Added libnautilus-burn-sharp source tree
	* mediaengines/gst/: Added gst media engine root
	* mediaengines/gst/gst-encode.c: GStreamer file encoder engine
	* src/Preferences.cs: CD Burning Preferences

2005-07-20 Aaron Bockover <aaron@aaronbock.net>

	* src/Makefile.am: Updated install-data-hook and uninstall-data rules to
	play nice with make distcheck

2005-07-19 Aaron Bockover <aaron@aaronbock.net>

	* hal-sharp/: Added hal-sharp source tree
	* src/Makefile.am: Added hal-sharp, added uninstall-hook rule for ipod-sharp

2005-07-18 Aaron Bockover <aaron@aaronbock.net>

	* configure.ac: Now requires ipod-sharp
	* src/Makefile.am: Cleaned out some of the unused resources, uses ipod-sharp
	* src/IpodCore.cs: IpodCore for managing all iPod services

2005-07-12 Aaron Bockover <aaron@aaronbock.net>

	* configure.ac: Got rid of AC_PROG_CC

2005-07-09 Aaron Bockover <aaron@aaronbock.net>

	* Library.cs: New Playlist.Count property
	* SourceView.cs: Updated source cell renderer to show child count
	* PlaylistModel.cs: Updated ChangeDirection algorithm, added O(1) 
	regression history for random playback
	* project: Version 0.7.3
	* PlayerInterface.cs: Added dynamic playlist context menu item and submenu
	to add selection to existing or new playlist

2005-07-08 Aaron Bockover <aaron@aaronbock.net>

	* project: removed mm-keys support
	* LibraryTransactionManager.cs: small bug fix
	* PlayerInterface.cs: Edit menu enhanced with new items, tooltips on 
	toolbar buttons at the bottom
	* PlaylistView.cs: the beginning of column sorting

2005-07-07 Aaron Bockover <aaron@aaronbock.net>

	* SqlGenerator.cs: Added Statement.Empty and ParenGroup classes
	* LibraryTransactions.cs: Made TrackRemoveTransaction an abstract class
	and added LibraryTrackRemoveTransaction and PlaylistTrackRemoveTransaction
	that extends TrackRemoveTransaction
	* PlayerInterface.cs: Proper removal of music from Playlists
	* PlayerInterface.cs: Prompt a confirm dialog to user to ask if they are
	sure they want to remove music from their *library*
	* Core.cs: Find user's real name
	* PlayerInterface.cs: Name of Playlist or User's Library showed at
	top of tree view depending on source
	* SourceView.cs: Single click/arrow up/down now selects source instead
	of double click/row activate
	* PlayerInterface.cs: Total Play Duration format updated to include
	days of music playback as well as hours, minutes, seconds
	* PlayerInterface.cs: Track Count / Total Play Duration updated on
	item remove

2005-07-06 Aaron Bockover <aaron@aaronbock.net>
	
	* SqlGenerator.cs: More SQL classes (generic OR and AND, updated WHERE)
	* PlaylistModel.cs, PlayerInterface.cs: Fixed logic for removing 
	selected tracks (bug 309608, mtgordon)
	* LibraryTransactions.cs: New TrackRemoveTransaction to remove a set 
	of tracks from the library

2005-07-06 Aaron Bockover <aaron@aaronbock.net>

	* Project: 0.7.2 Release, and I updated the ChangeLog...
	* PlaylistModel.cs: Added random/shuffle with history
	* PlayerInterface.cs: Rename playlist dialog, tool buttons work
	
2005-06-29 Aaron Bockover <aaron@aaronbock.net>

	* Project: dropped Muine Metadata support, using Entagged
	* Project: lots of other stuff since last entry, I need to get
	better about writing the ChangeLog again :)

2005-06-21 Aaron Bockover <aaron@aaronbock.net>

	* PlayerEngine.cs: New abstract class for building modular playback
	engines. Updated GstPlayer to extend PlayerEngine.

	* PlayerInterface.cs: Various bug fixes, cleanup

	* DBusIPC.cs: Added D-Bus dependency for IPC

	* Project: Updated build system, depends on dbus-sharp, fixed
	Makefile.am to include id3-vfs

2005-06-20 Aaron Bockover <aaron@aaronbock.net>

	* Project: First import to GNOME CVS as a Novell-owned project. Heavy
	development ahead, starting to manage ChangeLog again.


2005-05-04 Aaron Bockover <aaron@aaronbock.net>

  * PlayerInterface.cs: Playlist renaming/delete/append

  * Library.cs: Playlist renaming/delete/append

  * SourceView.cs: Fixed cell editor for sources

2005-05-03 Aaron Bockover <aaron@aaronbock.net>

  * PlaylistView.cs: Reorder via DnD

2005-05-02 Aaron Bockover <aaron@aaronbock.net>

  * PlayerInterface.cs: New playlist creation support

  * PlaylistView.cs: Multiple row selections supported.

2005-04-28 Aaron Bockover <aaron@aaronbock.net>

  * SimpleNotebook.cs: Very simple Notebook widget (without tabs) for the
    status header widgets in the top of the main UI.

  * SearchEntry.cs: Custom search entry widget with drop down menu for
    simple searching

2005-04-24 Aaron Bockover <aaron@aaronbock.net>

  * SqlBuilder.cs: SQL Builder UI for searching/smart playlists.

2005-04-15 Aaron Bockover <aaron@aaronbock.net>

  * PlaylistView.cs: Column states saved, dialog to toggle column visibility
  
  * TrackInfo.cs: Support for album information now
  
  * Library.cs: Cache of all Library Tracks
  
  * PlayerInterface.cs: New Interface!

2005-04-11 Aaron Bockover <aaron@aaronbock.net>

  * TrackInfo.cs: Fixed playlist loading bug
  
  * Database.cs: SQLite connection managing for threads

2005-04-07 Aaron Bockover <aaron@aaronbock.net>

  * LibraryTransactions.cs: Playlist saving

2005-04-03 Aaron Bockover <aaron@aaronbock.net>

  * PlayerInterface.cs: Added connecting code to the LibraryTransactionStatus

  * LibraryTransactionStatus.cs: Wrote UI for showing statistics in the 
    LibraryTransactionManager. 

  * ImageAnimation.cs: Wrote nice Animated Image widget

  * LibraryTransactions.cs: Replaced FileLoader with LibraryTransactions

  * FileLoader.cs: Removed FileLoader

  * LibraryTransactionManager.cs: Wrote LibraryTransactionManager to 
    manage all Library IO in a safe way

2005-04-01 Aaron Bockover <aaron@aaronbock.net>

  * Preferences.cs: Wrote beginning of UI for Mimetype/Decoder handling

2005-03-31 Aaron Bockover <aaron@aaronbock.net>

  * Core.cs: Added support for global DecoderRegistry instance.

  * GstMetadata.cs: Updated to use core global DecoderRegistry for supported
    mimetype checking instead of old Core DB.

  * DecoderRegistry.cs: Wrote DecoderRegistry class. This handles the parsing
    of the GStreamer plugins registry to build a local decoders registry
    for mimetype checking. The decoder registry is saved to XML for quick 
    loading on next run. Also will allow a UI for users to add/remove
    mimetypes.

  * Database.cs, Core.cs: Removed Core database. All SQL queries are specific 
    to the Library database.

  * Finally, a break from work to really do some hacking on Sonance again :-/

2005-03-10 Aaron Bockover <aaron@aaronbock.net>

  * PlayerInterface.cs: Progress bar for track loading/importing

  * Preferences.cs: You can save/edit preferences

  * Preferences.cs: New preferences dialog.

2005-03-09 Aaron Bockover <aaron@aaronbock.net>

  * FileLoader.cs: Support for SQL queries, sends IDataReader to TrackInfo.
    Reduces library load times (4000 songs) to 5 seconds! Major optimization!

  * TrackInfo.cs: New constructor that handles a raw IDataReader to reduce
    the number of SQL queries. 

  * PlayerInterface.cs: Using new FileChooserDialog instead of old FileSelector

  * PlaylistView.cs: Now all playlist additions are done based on a queue
    and an interface timeout. This reduces load time by over 250% (vs. a 
    1:1 loader/UI sync). Uses FileLoader/FileLoaderManager.

  * FileLoader.cs: Wrote a managed file/SQL loader. Manages a queue of
    load requests, allows the cancellation of all requests. FileLoader
    objects recurse directories and load TrackInfo objects, or load
    them from the database.

2005-03-01 Aaron Bockover <aaron@aaronbock.net>

  * PlaylistRowRenderer.cs: Removed extern constructors... not allowed in 
    latest mcs.

  * SourceView.cs: Removed extern constructors... not allowed in latest mcs.

  * Library.cs: Removed extern constructors... not allowed in  latest mcs.

  * All: Changed namespaces to avoid conflicts with mcs 1.1.4. Project
    now depends on gtk-sharp-2.0 (1.9.2), and the latest gst-sharp (0.2.4)
    from SVN.

2005-02-28 Aaron Bockover <aaron@aaronbock.net>

  * Library.cs: Set of Source classes to define how to read data from
    a given source.

  * SourceDialog.cs: A window that embeds a SourceView widget, used by
    the main interface to show a list of sources.

  * SourceView.cs: A new TreeView widget for showing data sources (Library
    and a list of Playlists)

  * PlayerInterface.cs: Supports MmKeys.

  * MmKeys.cs: Wraps mm-keys support in libsonance, adds MM-Keys support
    to Sonance. Adapted from Muine.
    
  * SignalUtils.cs: Wraps signal utilities in gobject-2.0. Needed for
    MM-Keys. Adapted from Muine.

  * NoticationAreaIcon.cs: Calls native egg-tray from libsonance

  * Build System: Builds libsonance (C shared library) which includes
    egg-tray support and mm-keys support. Dropped egg-sharp.dll.

  * libsonance/mm-keys.c: Added to project

  * libsonance/eggtrayicon.c: Added to project

  * Dialogs.cs: Save playlist dialog

  * PlayerInterface.cs: Can save playlist

  * PlaylistView.cs: Now saves playlist to DB

  * Library.cs: Playlist class saves to Library DB
  
  * Database.cs: More DB utilities

2005-02-26 Aaron Bockover <aaron@aaronbock.net>

  * PlaylistView.cs: Fixed bug when removing item from playlist

  * TrackInfo.cs: Writes metadata to Library database

  * Database.cs: Supports new SQL generator objects as queries

  * SqlGenerator.cs: New SQL query generator to easily generate complex and
    safe SQL queries

  * PlayerInterface.cs: Lots of code cleanp, and support for interfacing
    with NotificationAreaIcon.

  * NotificationAreaIcon.cs: Added tray icon support in GNOME through libegg.
    Uses the egg-sharp.dll assembly, a wraper for libegg.so.
  
  * Source/Makefile.am: Added libegg.so rule to use gcc to build eggtrayicon.c
    for the egg-sharp.dll assembly.

2005-02-24 Aaron Bockover <aaron@aaronbock.net>

  * Database.cs: Supports multiple databases (we now have a core and a library
    database that are independent of eachother).

  * Data/Makefile.am: Included Tables.sql

  * Tables.sql: Defined all SQL Table construction in a SQL file, included
    as resource.

  * TrackProperties.cs: Updated to reflect new supported metadata. Also only
    shows fields that we have data for (instead of showing "Unknown Field").

  * TrackInfo.cs: Updated to reflect updated GstMetadata.

  * GstMetadata.cs: Updated GStreamer metadata backend. Using a Hashtable to
    store tag data. 
    
  * CommonTags.cs: Simple class containing GStreamer tag names as constant
    members.

  * AboutBox.cs: Updated about box with new graphic, a tabbed information
    layout, project information, and assembly information. New graphic does
    not reference version, and version information is written based on the
    main assembly, so no updates need to be made to this code anymore.

2005-02-21 Aaron Bockover <aaron@aaronbock.net>

  * Database.cs: Added dynamic mime type support checking based on
    a GstDecoders and MimeSynonyms table in the SQL database.
    If GstDecoders is empty or non-existant, it is constructed
    based on the GStreamer registry.xml file. No hard-coded supported
    mime types exist now.

  * Database.cs: Added SQLite support. SQLite is now a dependency.

2005-02-18 Aaron Bockover <aaron@aaronbock.net>

  * PlayerInterface.cs: Fixed volume loading bug.

2005-02-18 Aaron Bockover <aaron@aaronbock.net>

  * Sonance-0.2.1: Minor release for updates below

  * PlaylistView.cs: Fixed minor bug in playlist. PlayIter now ScrollToCell
    to always keep the active item in view unless user manually scrolls out
    of view
  
  * PlayerInterface.cs: Statusbar now shows total number of items and duration
    of entire playlist

  * PlaylistView.cs: Added Update event. Fired whenever the playlist changes

  * PlaylistView.cs: Added TotalDuration support to hold the length (time)
    of entire playlist

2005-02-18 Aaron Bockover <aaron@aaronbock.net>

  * Sonance-0.2 - That was fast!?

2005-02-17 Aaron Bockover <aaron@aaronbock.net>

  * PlayerInterface.cs: Added a GConf client (/apps/Sonance). Now all interface
    states are saved and loaded (Window size/position, volume, shuffle/repeat,
    and search bar).

  * PlayerInterface.cs: Added a search box, with back/forward features, and
    it can be toggled via J or F3 (Similar to Firefox, live searching)

  * PlaylistView.cs: Added searching support

  * PlayerInterface.cs: Added support for "Add" files through Gtk.FileSelection
    dialog. I hate that dialog. I can't wait for gtk-sharp2 to become stable
    to use the new Gtk.FileChooser dialog. Mugh.

  * PlaylistView.cs: Added directory reading and recursion for additions
  
  * PlaylistView.cs: Added support for shuffle and repeat modes
  
  * PlayerInterface.cs: Many UI enchancements. Interface is now
    resizeable and there are shuffle/repeat toggle buttons
  
  * TrackInfo.cs: Implemented a window for viewing selected track properties
    (Shows metadata for track)

2005-02-17 Aaron Bockover <aaron@aaronbock.net>

  * Sonance-0.1 - First Public Release
