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

	* src/Banshee.Plugins/Makefile.am: Remove Banshee.Plugins dir on uninstall

	* configure.ac: Do not generate src/ipod-sharp.dll.config

	* en/*: Updated docs

	* configure.ac: Version 0.10.2

	* NEWS: Updated with 0.10.2 release notes

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

	* src/Banshee.Plugins/Audioscrobbler/AudioscrobblerPlugin.cs: Plugin class
	for Chris Toshok's Audioscrobbler support

	* src/Banshee.Plugins/Audioscrobbler/Engine.cs: toshok's Audioscrobbler
	protocol implementation/engine class

	* src/Banshee.Plugins/Audioscrobbler/audioscrobbler.schemas.in: GConf
	schemas for the Audioscrobbler plugin

	* src/Banshee.Plugins/Audioscrobbler/Audioscrobbler.dll.config.in: DLL
	maps for the Audioscrobbler.dll plugin

	* src/Banshee.Plugins/Makefile.am: Added Audioscrobbler to SUBDIRS

	* src/Banshee.Base/Plugins/Plugin.cs: Simple generic plugin base class

	* src/Banshee.Base/Plugins/PluginCore.cs: Core to load/unload plugins
	at runtime from types in assemblies that implement Banshee.Plugins.Plugin

	* banshee.mdp: Updated MonoDevelop project

	* configure.ac: Generate necessary files for Audioscrobbler plugin

	* src/AboutBox.cs: Added Chris Toshok and Jeff Tickle

	* src/Makefile.am: Added Banshee.Plugins to SUBDIRS

	* src/Banshee.Base/Globals.cs: Initialize/Dispose PluginCore

	* src/Banshee.Base/Paths.cs: Added SystemPluginDirectory 
	and UserPluginDirectory paths

2005-12-21  Jeff Tickle <jeff@jefftickle.com>

	* src/PlayerInterface.cs: Resurrected the Repeat Toggle Button
	down in the bottom-left; it now works properly with Gtk.ToggleAction

	* src/Banshee.Widgets/MultiStateToggleButton.cs:
	* src/Banshee.Widgets/ToggleState.cs: Removed all the menu action
	crap and replaced it with Gtk.ToggleAction support

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

	* src/Core.cs: Remove all IPlayerEngine code as it is now in Banshee.Base

	* src/DBusIPC.cs:
	* src/PlayerInterface.cs:
	* src/PlaylistModel.cs:
	* src/Preferences.cs: Fix references from Core.Instance.Player to
	Banshee.Base.PlayerEngineCore.ActivePlayer

	* src/Banshee.Base/Makefile.am: Added PlayerEngineCore.cs

	* src/Banshee.Base/PlayerEngineCore.cs: Moved all IPlayerEngine code to
	new static class accessible to plugins

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

	* banshee.mdp: Updated MonoDevelop project

	* data/banshee.desktop.in.in: Updated Exec pattern

	* src/Library.cs: Added new source for the "Frobinator", LocalQueueSource

	* src/Main.cs: Support --enqueue

	* src/Makefile.am: Added FileTrackInfo.cs

	* src/FileTrackInfo.cs: New TrackInfo class that works only with local
	files; does not touch the Library

	* src/PlayerInterface.cs: Select the Frobinator if it is filled as the
	default source; Support the Frobinator when changing sources

	* src/PlaylistModel.cs (LoadFromLocalQueue): Support loading from the
	the Frobinator

	* src/SourceView.cs: Support adding the Frobinator as a source

	* src/Banshee.Base/ArgumentQueue.cs: Added "File" support with the 
	--enqueue option... it is very special

	* src/Banshee.Base/Dap/Dap.cs: Fixed minor bug with GetIcon

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

	* src/Main.cs: Refactored, organized, and cleaned up the entry
	code, command line parsing, and instance detection; added three new
	command line arguments: --set-position, --hide-field, and --dap

	* src/DBusIPC.cs: Added a SelectDap method akin to SelectAudioCd, works
	with --dap %h (for Gnome Volume Manager); for any D-Bus methods that
	return string, ensure null is not returned to avoid dbus-sharp bug (return
	String.Empty instead)

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

	* src/Main.cs: if D-Bus support is disabled, fall back on process 
	checking to do instance detection

	* src/Banshee.Base/NetworkDetect.cs: Do not try to Dispose a null
	NetworkManager.Manager object

	* src/DBusIPC.cs: Do not die when D-Bus can't be found; log a warning and
	continue to load the player, but some features will probably be disabled:

	   IPC commands and queries / instance detection (Session Bus)
	   HAL (System Bus)
	     - Audio CD detection
	     - DAP detection
	   NetworkManager (System Bus)

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

	* banshee.mdp: Updated MonoDevelop project

	* src/PlayerInterface.cs: Added UI support for Audio CD status reporting
	using the HighlightMessageArea widget

	* src/Banshee.Base/ImportManager.cs: Fall back on the Stock.Find icon

	* src/Banshee.Base/NetworkDetect.cs: Expose NetworkManager.Manager

	* src/Banshee.Base/Dap/DapCore.cs: Play nice when the Banshee.Dap 
	directory does not exist, fixes BGO #

	* src/Banshee.Widgets/Makefile.am: Renamed HighlightStatusBar.cs to
	HighlightMessageArea.cs

	* src/Banshee.Widgets/HighlightMessageArea.cs: Renamed file from
	HighlightStatusBar.cs; finished initial working version of the widget
	with proper drawing and actions

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

	* src/Banshee.Widgets/NotificationAreaIcon.cs: Cleaned up code, and Miguel
	committed his string marshalling fix regarding 77026 in Ximian Bugzilla;
	removed Banshee.Widgets namespace to keep maintainence easier for other
	apps.

	* src/NotificationAreaIcon.cs: class renamed to 
	NotificationAreaIconContainer; adjust instantiation of NotificationAreaIcon
	to reflect removal of Banshee.Widgets namespace

	* data/banshee.glade: renamed the main/view container 'Main Container'

	* banshee.mdp: Updated MonoDevelop project

	* src/Banshee.Widgets/HighlightStatusBar.cs: skeleton for new widget
	to show 'important' status messages

	* src/Banshee.Widgets/Makefile.am: added HighlightStatusBar.cs

	* src/Banshee.Dap/Ipod/IpodDap.cs: removed manual path lookup for icon
	fallback; rely only on base.GetIcon if icon is not in the theme

	* src/Banshee.Base/NetworkDetect.cs: Added Dispose method to chain into
	manager.Dispose

	* src/Banshee.Base/NetworkManager/Manager.cs: Added a Dispose method
	to suppress the GC finalizing the D-Bus proxy object to work around
	the bad IL in finalizer bug

	* src/Banshee.Base/Globals.cs: Call Dispose on NetworkDetect

	* src/Banshee.Base/IconThemeUtils.cs: Added a new LoadIcon overload
	to accept a params array of icon names for fallbacks: 
		LoadIcon("multimedia-player-ipod", "multimedia-player", 
		"gnome-dev-ipod")

	* src/Main.cs: Suppress finalizing the dbusCore D-Bus proxy object

	* src/PlayerInterface.cs: Do not show the rating/playcount/last played 
	columns in the audio CD view; remove references to the SyncColumn; don't
	steal space when source view is in edit mode; show the song title in
	the title bar; unregister the dbus server object when we shut down banshee;
	NotificationAreaIcon->NotificationAreaIconContainer; add skeleton support
	for the new HighlightStatusBar for Audio CD status messages

	* src/PlaylistView.cs: expose the rating/playcount/last played columns
	so the main UI can show/hide as needed for different views; remove the
	sync column; show DRM/protected status in the play indicator column

	* src/RatingRenderer.cs: minor fixes

	* src/SourceView.cs: pull in the audio cd source icon from the theme;
	add an EditingRow property to tell the UI that the source view is 
	in edit mode

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

	* banshee.mdp: Updated MonoDevelop project

	* src/Library.cs: Updated to allow proper device renaming

	* src/DapPropertiesDialog.cs: Dialog box to show properties of a DAP;
	allows changing of the Name and Owner properties

	* src/Makefile.am: Added DapPropertiesDialog.cs

	* src/PlayerInterface.cs: Enable showing of the properties dialog for
	DAPs; properly update DAP devices when name/owner is changed

	* src/Banshee.Base/Utilities.cs: Added a ReflectionUtil class - contains
	IsVirtualMethodImplemented which determines if a subclass implements
	a virtual method in its base class; used by Banshee.Dap.DapDevice to 
	see if a DAP supports setting the name and/or owner on the device

	* src/Banshee.Base/Dap/Dap.cs: Allow detecting whether or not the DAP
	supports setting name/owner; move setting to SetName/SetOwner as a virtual
	method for DAP implementations to override

	* src/Banshee.Dap/Ipod/IpodDap.cs: Implement SetName/SetOwner

	* src/Banshee.Dap/Njb/NjbDap.cs: Implement SetOwner

2005-12-18  Gabriel Burt  <gabriel.burt@gmail.com>

	* data/banshee.desktop.in.in: Change Comment to 'Play and organize
	your music', following suggestions of the HIG.

	* data/banshee.glade: Change CheckButton labels to sentence case.

	* src/PlayerInterface.cs: Change tooltips to sentence case.

	* src/Banshee.Base/PipelineProfile.cs: Add comment for translators.

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

	* src/PlayerInterface.cs: Show a warning dialog when trying to play
	an "unplayable" track; set the window icon and title for log dialogs

	* src/Banshee.Dap/Njb/Makefile.am: Added NjbDapTrackInfo.cs
	
	* src/Banshee.Dap/Njb/NjbDapTrackInfo.cs: DapTrackInfo implementation for
	NJB devices

	* src/Banshee.Dap/Njb/NjbDap.cs: Added support to list tracks; install
	device properties from the device

	* src/Banshee.Base/Dap/Dap.cs: Added UID support through the public
	Uid property

	* src/Banshee.Base/Dap/DapTrackInfo.cs: All implementations now have
	CanSaveToDatabase = false

	* src/Banshee.Base/IPlayerEngine.cs:
	* src/Banshee.MediaEngine/Gstreamer/GstPlayerEngine.cs:
	* src/Banshee.MediaEngine/Helix/HelixPlayer.cs:
	* src/Banshee.MediaEngine/Vlc/VlcPlayerEngine.cs: Changed Open method
	to accept a System.Uri as a second parameter - use it instead of 
	TrackInfo.Uri 

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

	* src/PlayerInterface.cs: Updated DAP synchronize dialog to have wording
	generic for all DAPs (was very iPod specific), use HighlightedSource
	instead of SelectedSource for getting the DapSource

	* src/Banshee.Dap/Njb/NjbDap.cs: Added a GenericName override, added
	SupportedCodec attributes

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

	* vacuum.sh: Removed

	* Makefile.am: Added MAINTAINERCLEANFILES 

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

	* configure.ac: Do not copy the provided njb-sharp.dll.config from
	njb-sharp; we provide our own for the sake of libnjbglue.

	* src/Banshee.Dap/Njb/njb-sharp.dll.config.in: Added njb-sharp.dll DLL
	map for libnjb/libusb/libnjbglue

	* src/Banshee.Dap/Njb/Makefile.am: Install njb-sharp.dll.config

	* src/Banshee.Dap/Njb/NjbDap.cs: Initialize the NJB Discoverer inside
	the NjbDap type constructor and catch any exceptions it may throw; 
	rely on Njb.DeviceId table to pre-verify a USB device as an NJB device
	using usb.vendor_id and usb.product_id properties from HAL (removes
	requirement of updated FDI files in HAL to expose a 
	portable_audio_player.type=njb property; Have the discoverer rescan for
	NJB devices after a new USB device passes the vendor_id/product_id test

	* src/Banshee.Dap/Njb/NjbDap.cs:
	* src/Banshee.Dap/Ipod/IpodDap.cs: Do not try to fall back on loading
	custom icon from a path. Only try custom icon from the theme and fall
	back on base.GetIcon()

	* src/Banshee.Base/Dap/DapCore.cs: Added a timeout+re-probe to handle
	a device throwing WaitForTimeoutException during probe initialization

	* src/Banshee.Base/Dap/DapMisc.cs: Added WaitForTimeoutException that is
	similar to WaitForPropertyChangeException only the re-probe mechanism
	is a timeout instead of a property change signal from HAL; not actually
	in use, but could be useful for other DAP detection in the future

	* src/Core.cs: Removed UserRealName/UserFirstName fields;

	* src/Library.cs: Removed old IpodSource; show the user's name for
	the name of the library (i.e. Aaron's Music Library)

	* src/PlayerInterface.cs: All custom source name setting is done in 
	the proper source (LibrarySource was changed for this); minor syntax
	cleaning

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

	* configure.ac:
	* data/images/Makefile.am:
	* data/images/ipod/*: Removed ipod/DAP images as they will be a part of
	an extended version of the Tango icon theme (http://tango-project.org).
	A separate package for installing these icons into Tango is available
	for the time being: 

	http://banshee-project.org/files/misc/tango-extra-devices-0.6.2.tar.gz

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

	* configure.ac: Version 0.10.1 release; only check for spider GStreamer
	element against GStreamer 0.8

	* src/PlayerInterface.cs: Re-enable tooltips, perform source actions
	on the highlighted source instead of selected source

	* docs/en/*: Updated monodoc documentation

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

	* configure.ac: Version 0.10.1
	
	* banshee.mdp: Updated MonoDevelop project
	
	* data/Makefile.am: Added banshee.glade and UIManagerLayout.xml

	* data/banshee.glade: Consolidated multiple glade files from data/glade/*

	* data/UIManagerLayout.xml: XML defining menus for new UIManager/Action
	layout; actions defined in src/Banshee.Base/ActionManager.cs

	* data/glade/*: Removed; glade is now in data/banshee.glade

	* data/images/ipod/Makefile.am: Install icons to devices/ instead of
	extras/devices

	* src/BurnCore.cs:
	* src/RipTransaction.cs:
	* src/Banshee.Base/FileEncodeAction.cs: Set the Header property on
	ActiveUserEvent to show more detail when performing actions

	* src/TrackProperties.cs: Load UI from banshee.glade, do not show
	advanced properties option if tracks are on an audio CD

	* src/Preferences.cs: Load UI from banshee.glade

	* src/DBusIPC.cs: Added more functionality to D-Bus API thanks in part
	to Thijs Vermeir: set volume/set position

	* src/BansheeDbusClient.cs: Added abstract signatures to BansheeCore 
	remote D-Bus class

	* src/Library.cs: Moved BytesToString to Banshee.Dap.Utilities; replaced
	local calls with Utilities.BytesToString

	* src/LibraryTrackInfo.cs: Read ASIN from the database to enable cover
	art from local tracks where this is set (by the banshee ripper)

	* src/Makefile.am: Removed data/glade/* references; replaced with
	references to data/banshee.glade

	* src/VersionInformationDialog.cs: Increased default width of dialog

	* src/SourceView.cs: Moved ColorBlend to Banshee.Base.Utilities; added
	a ResetHighlight method to highlight the selected/active source (this is
	used by the source popup menu in PlayerInterface.cs)

	* src/Banshee.Widgets/CoverArtThumbnail.cs: Added a new cover art
	widget class: CoverArtView that simply draws a cover and scales 
	with the correct ratio; used to display cover art underneath the
	source view in the main interface

	* src/StockIcons.cs: Load all theme icons that Banshee will need as
	stock icons, fall back on resource icons if not available as stock
	or in the theme

	* src/TrackInfoHeader.cs: Redesigned header for displaying track
	information

	* src/NotificationAreaIcon.cs: Use Globals.ActionManager to load the
	tray icon menu

	* src/PlayerInterface.cs: Moved all menu and major buttons to the new
	UIManager/Action setup; cleaned up, refactored, and reorganized a lot
	of code; added some methods to allow the D-Bus object to set the volume
	and perform seek operations; Added/fixed --audio-cd, --dap, and --play
	command line option support; lots of general UI clean up and polish

	* src/Banshee.Widgets/Makefile.am: Added ActionButton.cs

	* src/Banshee.Widgets/ActionButton.cs: Two classes that work with
	Gtk.Action objects: ActionButton and ActionToggleButton

	* src/Banshee.Base/ActionManager.cs: Define all actions and some
	helper methods for dealing with Gtk.Action and widgets

	* src/Banshee.Base/Dap/Dap.cs: GetIcon falls back first on the
	generic multimedia-player icon from the icon theme and then on
	gnome-dev-ipod; provide GenericName and HalUdi properties

	* src/Banshee.Dap/Ipod/IpodDap.cs: Load ipod icon from the theme
	and fall back on loading from a file; implement GenericName, return
	as "iPod"

	* src/Banshee.Base/ArgumentQueue.cs: Dequeue returns the object just
	removed from the queue

	* src/Banshee.Base/IconThemeUtils.cs: Added HasIcon() method to
	determine if an icon is available in the defaul theme

	* src/Banshee.Base/Utilities.cs: Fixed BytesToString implementation
	to properly round and display fractional GB sizes; added ColorBlend
	method

	* src/Banshee.Base/Makefile.am: Added UIManagerLayout.xml as a resource

	* src/Banshee.Base/Globals.cs: Added ActionManager property to return
	global ActionManager instance

	* src/Banshee.Base/GConfKeys.cs: Added ShowCoverArt key
	
2005-12-13  Aaron Bockover  <aaron@aaronbock.net>

	* src/BansheeDbusClient.cs: Sample program using the the Banshee D-Bus
	API to do basic playback control and display the current song
	
	* src/BansheeDbusClient.Makefile: A simple Makefile to build the 
	Banshee Dbus Client sample program
	
	* src/Makefile.am: Added BansheeDbusClient.{Makefile,cs} to EXTRA_DIST;
	added a 'dbus-client-sample' rule to build the sample client

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

	* src/Banshee.Base/Utilities.cs: Added UnmountVolume and ExecProcess
	utility methods

	* src/Banshee.Base/AudioCd/AudioCdDisk.cs: Call Utilities.UnmountVolume
	if audio CD happens to be mounted (multi-session disk) before calling
	the eject ioctl

	* src/Banshee.Base/HalCore.cs: Added license header to file

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

	* src/Bashee.Base/AudioCd/AudioCdCore.cs: Fixed minor detection bug;
	multi-session discs were only being detected - regular audio CDs were not

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

	* src/Banshee.Base/NetworkDetect.cs: whoops, missing closing parenthesis

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

	* src/Banshee.Base/NetworkDetect.cs: Only fire StateChanged event
	if the state change is State.Connected or State.Disconnected
	* src/Banshee.Base/NetworkManager/Manager.cs: Changed header to 
	show proper file name

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

	* banshee.mdp: Updated MonoDevelop project
	* src/Banshee.Base/NetworkManager/*.c: C# implementation of the 
	NetworkManager DBus API using dbus-sharp
	* src/Banshee.Base/NetworkDetect.cs: front-end class to basic network
	detection and notification through NetworkManager; if NetworkManager
	is not available, NetworkDetect always assumes a connection is available
	* src/Banshee.Base/AudioCdDisk.cs: Become 'Network Aware': will not
	attempt to fetch track information from MusicBrainz if there is
	not a network connection; will fetch information once a connection
	becomes available
	* src/Banshee.Base/Makefile.am: Added NetworkManager C# sources
	* src/Banshee.Base/Globals.cs: Added a Network property and 
	placeholder Dispose method
	* src/Core.cs (Shutdown): Call Globals.Dispose()

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

	* src/PlaylistModel.cs: Minor fix

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

	* configure.ac: Fixed weird VERSION/ASM_VERSION definitions; Version 0.10

	* NEWS: Updated 

2005-12-06  Aaron Bockover  <aaron@aaronbock.net>
	
	* configure.ac: Require ipod-sharp 0.5.12

	* docs/*: Updated API Documentation

	* banshee.mdp: updated MonoDevelop project

	* src/Banshee.Widgets/ActiveUserEvent.cs: Fixed bug regarding multiple
	timeouts

	* src/Banshee.Dap/Njb/Makefile.am: Link against Banshee.Widgets.dll
	
	* src/Banshee.Dap/Njb/NjbDap.cs: Placeholder implementation of 
	Synchronize method

	* src/Banshee.Dap/Ipod/Makefile.am: link against Banshee.Widgets.dll
	and Mono.Posix

	* src/Banshee.Dap/Ipod/IpodDapTrackInfo.cs: Updated with minor fixes

	* src/Banshee.Dap/Ipod/IpodDap.cs: Full syncing implementation of new 
	syncing support in generic DAP base class

	* src/Banshee.Base/Dap/DapMisc.cs: Misc/Utility generic DAP supporting 
	types

	* src/Banshee.Base/Dap/Dap.cs: Now supports manual and automatic generic
	syncing and transcoding

	* src/Banshee.Base/Utilities.cs: Disabled Event class, added 
	PathUtil.MakeFileNameKey

	* src/Banshee.Base/Makefile.am: add PipelineProfile.cs, FileEncoder.cs,
	GstFileEncoder.cs, FileEncodeAction.cs, DapMisc.cs

	* src/Banshee.Base/IconThemeUtils.cs: Use Entry Assembly instead of 
	Calling Assembly as all the resources are in the Entry Assembly

	* src/Banshee.Base/HalCore.cs: Don't use Event.Invoke for now, it has
	some issues

	* src/Banshee.Base/GstMisc.cs: Add filter to mime-type fetching in case
	mime type is returned with attributes (gvfs)

	* src/SourceView.cs: Re-enabled DAP updating through DnD

	* src/PlaylistView.cs: Safe-guard against potential nullrefs in the
	renderer data functions

	* src/PlayerInterface.cs: Connected DAP GUI elements back to DAP
	syncing events, simplified DAP syncing entry point, re-enabled DAP syncing;
	show ripped tracks in library view when they become available and if
	they match any active search (fixes BGO #316132)

	* src/Makefile.am: Moved FileEncoder.cs, GstFileEncoder.cs, 
	FileEncodeTransaction.cs, and PipelineProfile.cs to Banshee.Base

	* src/Library.cs: Connected DapSource.IsSyncing to DAP device; moved
	Library.MakeFileNameKey to Banshee.Base.PathUtils

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

	* src/Banshee.MediaEngine/Gstreamer/Makefile.am: Define whether the C
	engine is 0.8 or 0.10 

	* src/Banshee.MediaEngine/Gstreamer/GstPlayerEngine.cs: Added an 
	IPlayerEngine implementation for the 0.10 backend

	* libbanshee/gst-playback-0.10.c: Merged the GStreamer 0.10 playback 
	backend

	* libbanshee/gst-misc-0.10.c: Disabled typefind again, as 0.10 seems to
	report everything as application/x-id3

	* entagged-sharp/*: Updated entagged-sharp checkout

2005-12-05  Mike Kestner  <mkestner@novell.com>

	* src/Banshee.Dap/*/Makefile.am: only make the _SCRIPTS optional.

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

	* libbanshee/gst-misc-0.10.c: gstreamer_initialize and 
	gstreamer_detect_mimetype ported to GStreamer 0.10

	* src/PlayerInterface.cs: disabled specialkeys for now, there are problems

	* src/Banshee.Widgets/ActiveUserEvent.cs: Added a Header property to
	show a bold header on top of the regular text message

	* src/Banshee.Base/ImportManager.cs: Set user_event.Header to the
	count progress and user_event.Message to the returned message (filename)

	* banshee.mdp: Updated MonoDevelop project

	* configure.ac: renamed --with-gstreamer-dev to --with-gstreamer-0-10,
	fixed some minor GStreamer 0.10 detection issues

	* data/glade/player.glade: Hide the 'new playlist' button, will probably
	be removed in the future

	* src/ToggleStates.cs: Updated state strings to 'Shuffle' and 'Continuous'

	* src/Banshee.Widgets/ActiveUserEvent.cs: minor thread fix
	
	* src/Banshee.Widgets/MultiStateToggleButton.cs: minor display fix

	* libbanshee/Makefile.am: Reorganized the way the GStreamer sources are
	handled so the -0.8 ones are used if GStreamer 0.8 is enabled and the
	0.10 ones if --with-gstreamer-0-10 was passed to configure
	
	* libbanshee/: Renamed gstreamer to have a gst- prefix and a version 
	number suffix (-0.8 or -0.10). 0.10 versions have the API skeletons so
	they will build against GStreamer 0.10 and can be ported one at a time;
	tabs->spaces on everything too

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

	* src/AboutBox.cs: Added Stephane Raimbault to translators

	* src/Makefile.am: Make distcheck happy

	* src/PlayerInterface.cs: Report when a song cannot be imported
	
	* src/Banshee.Base/ImportManager.cs: Increase progress reporting resolution

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

	* configure.ac: Bump to 0.10, added fr translation to ALL_LINGUAS

	* banshee.mdp: Updated MonoDevelop project

	* docs/*: Updated API docs

	* entagged-sharp/Tag.cs: minor fix
	
	* libbanshee/gst-misc.c: Added gstreamer_initialize from gst-init.c; 
	added new gstreamer_detect_mimetype function
	
	* libbanshee/gst-misc.h: Added gstreamer_initialize, 
	gstreamer_detect_mimetype
	
	* libbanshee/Makefile.am: Removed gst-init.c/gst-init.h
	
	* libbanshee/gst-init.[ch]: Removed, gstreamer_initialize moved 
	to gst-misc.c
	
	* libbanshee/gst-player-engine.c:
	* libbanshee/gst-encode.c: 
	* libbanshee/cd-rip.c: Include gst-misc.h instead of gst-init.h

	* src/Makefile.am: update icon resources; build Banshee.Widgets before
	Banshee.Base; removed ThemeIcons.cs, GstMisc.cs (now in Banshee.Base),
	use $(top_builddir) instead of $(srcdir)../ for resources

	* src/PlaylistModel.cs: removed ImportCanUpdate; now handled by PlayerUI;
	removed LibraryLoadTransaction/FileLoadTransaction

	* src/PlayerInterface.cs: Removed old FileLoadTransaction method of
	importing to library; using new ImportManager - fixed BGO #314965, #318330;
	only show newly imported songs in the view if in library view; only add 
	newly imported songs to library view if no search is active or the 
	new song matches the current search; minor fixes to OnSimpleSearch; 
	moved search matching to separate method: DoesTrackMatchSearch - 
	fixed BGO #316102; use new IconThemeUtils for loading icons from the 
	icon theme where applicable; fixed BGO #323202

	* src/LibraryTrackInfo.cs: Use Gstreamer.DetectMimeType to parse mime-type;
	set the mimetype field to Entagged.AudioFile.MimeType property; mime-type
	is now saved to the database

	* src/StockIcons.cs: Renamed applicable icons to the proper icon theme name

	* src/Core.cs (Shutdown): Call Banshee.Dap.DapCore.Dispose()
	
	* src/AboutBox.cs:
	* src/BurnCore.cs:
	* src/Dialogs.cs:
	* src/LogCoreViewer.cs:
	* src/Preferences.cs:
	* src/VersionInformationDialog.cs: Use IconThemeUtils to set window
	icon and any applicable icon theme icons
	
	* src/NotificationAreaIcon.cs:
	* src/ToggleStates.cs: Use IconThemeUtils
	
	* src/TrackProperties.cs: IconThemUtils to set window icon, use
	Gstreamer.DetectMimeType to load mime type

	* src/Banshee.Widgets/ActiveUserEvent.cs: Fixed up CancelRequest event
	invokation; added a get accessor for Fraction property
	
	* src/Banshee.Widgets/SearchEntry.cs: cleaned up a bit; added 
	IsQueryAvailable property; return a Trim()med string for Query property
	
	* src/Banshee.Widgets/VolumeButton.cs: Use proper icon theme icon names

	* src/Banshee.Dap/Ipod/IpodDap.cs (Eject): Call base.Eject() after
	iPod specific eject finishes

	* src/Banshee.Dap/Ipod/Makefile.am: Cleand up a bit;
	
	* src/Banshee.Dap/Njb/Makefile.am: cleaned up a bit; install all NJB
	assemblies and shared libraries to Njb banshee DAP directory
	
	* src/Banshee.Dap/Njb/NjbDap.cs: More skeleton work on NJB support;
	devices now will show up, so detection is working; add/remove HAL events
	are a little out of sync, need to fix that

	* src/Banshee.Base/ImportManager.cs: New import backend for managing
	import requests and proxying final URIs to be imported; uses new 
	ActiveUserEvent progress reporting interface

	* src/Banshee.Base/UriList.cs: Class for properly dealing with many
	forms of path/URI input (string, string with \r\n delimiters, 
	SelectionData, and string [])

	* src/Banshee.Base/GstMisc.cs: moved from src/; added a DetectMimeType
	method to find the mime type of a file: uses GStreamer typefind element,
	falls back on Gnome.Vfs.MimeType, falls back on entagged/<extension>

	* src/Banshee.Base/IconThemeUtils.cs: utility class for loading pixbufs
	from the icon theme and falling back on pixbuf resources in the calling
	assembly

	* src/Banshee.Base/Dap/DapCore.cs: Added a Dispose to properly
	iterate through connected devices and call their Dispose methods; Connect
	to the Ejected event on all Daps to remove them from the DAP table
	when they are ejected

	* src/Banshee.Base/Dap/Dap.cs: Added an Ejected event, implement 
	IDisposable, fixed up invoke for TracksCleared; invoke new Ejected event
	
	* src/Banshee.Base/Makefile.am: Added IconThemeUtils.cs, GstMisc.cs,
	ImportManager.cs and UriList.cs; link against Gtk#

2005-12-04  Christian Schaller  <uraeus@gnome.org>

	* configure.ac: change testing to check for GStreamer 0.10

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

	* src/Banshee.Widgets/SimpleNotebook.cs:
	* src/Banshee.Widgets/SearchEntry.cs: Changed namespace to Banshee.Widgets
	* src/Banshee.Base/GConfKeys.cs:
	* src/Banshee.Base/ConfigureDefines.cs.in: Changed namespace to 
	Banshee.Base
	* src/PipelineProfile.cs:
	* src/PlaylistColumns.cs: Add using Banshee.Base;
	* Makefile.am: Added docs to SUBDIRS

	* docs/: Added monodoc generated API documentation for Banshee.Base,
	Banshee.Dap, Banshee.MediaEngine, Banshee.Widgets, and Hal
	* configure.ac: Added --disable-docs support

	* configure.ac: Use AM_GST_ELEMENT_CHECK to check for GStreamer pipeline
	elements that are needed at runtime

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

	* src/Banshee.Dap/Ipod/IpodDapTrackInfo.cs: DapTrackInfo implementation
	for the iPod

	* configure.ac: Version 0.9.13; Added Danish translation (da) to 
	ALL_LINGUAS; ipod-sharp is now optional; detect njb-sharp, also optional;
	Added --(enable|disable)-(ipod|njb)
	* banshee.mdp: Updated MonoDevelop project
	* data/glade/player.glade: Generalized all iPod references to "DAP" 
	* hal-sharp/*: Updated to latest hal-sharp
	* libbanshee/hal-context.[ch]: Allow setting callback for property watching
	* src/AboutBox.cs: Added Lasse Bang Mikkelsen to translator credits
	* src/Core.cs: Removed IpodCore
	* src/Library.cs: Added DapSource, removed IpodSource
	* src/Makefile.am: Removed Ipod*.cs/ipod-sharp references
	* src/PlayerInterface.cs: All iPod code generalized to DAP code using
	new Banshee.Dap classes and DapSource. Syncing is disabled for this build
	as the iPod sync code needs to be migrated to the new DAP sync model; 
	same thing with iPod properties dialog
	* src/PlaylistModel.cs:
	* src/PlaylistView.cs: iPod code generalized to DAP code
	* src/SourceView.cs: Removed IpodCore code; read and listen to DapCore;
	generalized iPod code to DAP code
	* src/Banshee.Base/HalCore.cs: Add property watching support
	* src/Banshee.Base/Dap/Dap.cs: Added more base functionality to 
	generic abstract DapDevice class
	* src/Banshee.Base/Dap/DapCore.cs: Support queueing potential DAP devices
	in a wait table; this allows mass storage DAPs to wait for 
	volume.is_mounted to change to true, and ask to be tested again as a DAP;
	added events to notify consumer when DAPs are added/removed; added a
	Devices[] property that lists all connected and initialized DAPs
	* src/Banshee.Base/Dap/DapTrackInfo.cs: tiny hack added to reduce
	changes needed in player interface; will fix later
	* src/Banshee.Dap/Ipod/IpodDap.cs: iPod implementation of DapDevice; 
	currently read-only; syncing code needs to be migrated to new DAP sync
	model
	* src/Banshee.Dap/Ipod/Makefile.am: Link against gtk-sharp-2.0, only
	build if ipod-sharp is enabled by configure
	* src/Banshee.MediaEngine/Vlc/Makefile.am: fixed minor build issue

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

	* src/Banshee.Base/SpecialKeys.cs: Added a Delay property; only raise
	events if duration since last raise has been longer than a set delay;
	fixes problems with remotes that fire on a very small delay when holding
	a button down
	* src/PlayerInterface.cs: Use a 350MS delay for SpecialKeys; catch
	any exception CoverArtThumbnail may throw; only enable SpecialKeys support
	if turned on through GConf
	* src/CoverArtThumbnail.cs: Throw an exception if file can't be found
	* src/GConfKeys.cs: Added new key: EnableSpecialKeys
	* data/banshee.schemas.in: Added new schema for key: EnableSpecialKeys

	* src/IPlaybackModel.cs:
	* src/IpodCore.cs:
	* src/IpodTrackInfo.cs:
	* src/LibraryTrackInfo.cs:
	* src/PlayerInterface.cs:
	* src/PlaylistModel.cs:
	* src/PlaylistView.cs:
	* src/RipTransaction.cs:
	* src/TrackProperties.cs:
	* src/Banshee.Base/TrackInfo.cs:
	* src/Banshee.Base/AudioCd/AudioCdDisk.cs:
	typeof(Banshee.Base.TrackInfo.Duration) is now System.TimeSpan,
	changed from long; all references to TrackInfo.Duration updated to reflect
	change of type

	* entagged-sharp/*: synced with SVN; (long)Length->(TimeSpan)Duration

2005-11-29  Aaron Bockover  <aaron@aaronbock.net>
	
	* src/PlaylistView.cs:
	* src/TrackProperties.cs:
	* src/IpodTrackInfo.cs:
	* src/LibraryTrackInfo.cs:
	* src/Banshee.Base/AudioCd/AudioCdTrackInfo.cs: Updated to reflect API
	changes in Banshee.Base.TrackInfo
	* src/Banshee.Base/TrackInfo.cs: Minor API changes, more conforming to
	.NET Framework Guidelines, and adjusted access levels to some properties
	and fields; added new BansheeTodo attributes to some unfinished properties
	* src/Banshee.Base/BansheeTodo.cs: Attribute class to mark types and
	members as "unfinished", two static methods to print TODO reports
	* src/Banshee.Base/Makefile.am: Added BansheeTodo.cs
	* src/Main.cs: Added command line option --print-todo to generate a TODO
	report based on the BansheeTodo attribute

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

	* src/mcs.exe: Removed internal 1.1.9.2 support
	* configure.ac: Require Mono 1.1.10; removed internal 1.1.9.2. mcs support

	* src/TrackProperties.cs: 
	* data/glade/trackinfo.glade: Added advanced view support for MimeType and
	Encoding Type properties
	* entagged-sharp/Asf/AsfFileReader.cs: Added video/x-ms-asf as supported
	mimetype because gnome-vfs is dumb
	* entagged-sharp/*: Updated entagged-sharp checkout to latest Mono SVN;
	fixes BGO #320038; minor API changes and optimizations
	* data/banshee.desktop.in.in: Updated MimeType field with supported 
	MimeTypes from entagged-sharp

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

	* banshee.mdp: Updated MonoDevelop project
	* libbanshee/cd-rip.c:
	* libbanshee/gst-encode.c: re-phrased keywords in error messages to 
	be more friendly (sink->plugin, element->plugin) (BGO #321534)
	* libbanshee/hal-context.c: _() around error strings, fixed minor bug where
	dbus error message was freed before being strduped, so it allways rendered
	as (null); error messages make more sense; removed g_warning() calls as
	messages will be printed in managed land; Added MIT license header
	* libbanshee/hal-context.h: Added MIT license header
	* src/Core.cs: Catch anything Banshee.Base.HalCore.Initialize() may throw
	and push a warning
	* src/Banshee.Base/HalCore.cs: Added an Initialized property; safely handle
	cases where HAL initialization may fail; throw proper exception with
	verbose warnings from hal-context.c
	* src/Banshee.Base/AudioCd/AudioCdCore.cs: Throw exception if HalCore is
	not initialized; disables Audio CD support if that happens
	* src/Banshee.Base/Dap/DapCore.cs: Same thing as AudioCdCore; do not
	load DAP assemblies if HalCore is not initialized; effectively disables
	DAP support in this case
	* src/Banshee.Widgets/NotificationAreaIcon.cs: Better NotificationAreaIcon
	class (fixes BGO #321684); recovers from panel crashing; moved from
	src/NotificationAreaIcon.cs (TrayIcon->NotificationAreaIcon)
	* src/Banshee.Widgets/Makefile.am: Added NotificationAreaIcon.cs
	* src/NotificationAreaIcon.cs: Use new NotificationAreaIcon in 
	src/Banshee.Widgets/NotificationAreaIcon.cs

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

	* data/glade/trackinfo.glade: Added advanced info expander and table
	* src/TrackProperties.cs: cleaned/reformatted code, added advanced 
	properties to dialog (file name, bitrate, channels, samplerate vbr)
	* data/banshee.schemas.in: 
	* src/Banshee.Base/GConfKeys.cs: Added TrackPropertiesExpanded key to
	save state of advanced expander in the track properties dialog

	* banshee.mdp: Added data files to MonoDevelop project
	* data/banshee.schemas.in: Added schema for /apps/Banshee/WindowMaximized
	* src/Banshee.Base/GConfKeys.cs: Added new key: WindowMaximized
	* src/PlayerInterface.cs: Remember window maximization state, ignore
	saving maximization state when hiding the window (fixes BGO #316784)

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

	* src/Banshee.Base/SpecialKeys.cs: minor cleanup/trim-down

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

	* src/PlayerInterface.cs: Consume Banshee.Base.SpecialKeys and support
	Play/Pause, Next, and Previous MMKeys
	* src/Banshee.Base/SpecialKeys.cs: new fully managed SpecialKeys class
	that provides MMKeys support by p/invoking X11 and GDK functions; resolves
	BGO #319545
	* src/Banshee.Base/Makefile.am: Add SpecialKeys.cs, DapTrackInfo.cs
	* src/Banshee.Base/Dap/DapTrackInfo.cs: Currently empty DapTrackInfo class
	* src/Banshee.Base/Dap/DapCore.cs: Added license header, debug printing
	for new DAP arbitrary property support
	* src/Banshee.Base/Dap/Dap.cs: Added more base functionality to the new
	abstract DAP class (Dap), provides an arbitrary property system
	* src/Banshee.Dap/Njb/Njb.cs: Do not extend Banshee.Dap.Dap for now,
	empty placeholder class
	* src/Banshee.Dap/Ipod/Ipod.cs: Provide iPod implementation of current
	state of Banshee.Dap.Dap abstract class
	* src/Banshee.Dap/Ipod/Makefile.am: Install ipod-sharp into Banshee.Dap
	* src/Banshee.Dap/Ipod/ipod-sharp.dll.config.in: DLL map for ipod-sharp
	* configure.ac: output src/Banshee.Dap/Ipod/ipod-sharp.dll.config;
	new variable, IPODSHARP_ASSEMBLIES for use in 
	src/Banshee.Dap/Ipod/Makefile.am
	* hal-sharp/HalDevice.cs: Updated hal-sharp snapshot, adds 
	Hal.Device.Parent, needed by Banshee.Dap.Ipod.IpodDap
	* libbanshee/hal-context.c: disable debug output
	* banshee.mdp: Updated MonoDevelop project

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

	* src/Banshee.Base/Utilities.cs: new Event class for smart handling of
	invoking event delegates

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

	* src/PlayerInterface.cs: Fixed bug/exception in tray icon setup

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

	* banshee.mdp: Updated MonoDevelop project

	* src/Banshee.Base/Dap/DapCore.cs: Load DAP implementation assemblies
	at runtime to build type support table
	* src/Banshee.Dap/Njb/NjbDap.cs: Fixed namespace/class name typos

	* configure.ac: Output src/Banshee.Dap/{Ipod,Njb}/Makefile
	* src/Banshee.Base/Dap/DapCore.cs: Static class for all DAP event 
	management and device detection
	* src/Banshee.Base/Dap/Dap.cs: Base DAP class and related types
	* src/Banshee.Dap/Ipod: Ipod implementation of Banshee.Dap.Dap (incomplete)
	* src/Banshee.Dap/Njb: NJB implementation of Banshee.Dap.Dap (incomplete)
	* src/Banshee.MediaEngine/Makefile.am:
	* src/Banshee.MediaEngine/Gstreamer/Makefile.am:
	* src/Banshee.MediaEngine/Helix/Makefile.am:
	* src/Banshee.MediaEngine/Vlc/Makefile.am: Install to 
	@libdir@/banshee/Banshee.MediaEngine
	* src/Banshee.MediaEngine/Helix/helix-sharp.dll.config.in:
	* src/Banshee.MediaEngine/Vlc/vlc-player.dll.config.in: Updated map
	path to @libdir@/banshee/Banshee.MediaEngine
	* src/Banshee.Dap/Makefile.am: Previous Banshee.Dap code is now in the
	Banshee.Base assembly; assemblies built in here will be runtime-loadable
	actual DAP implementations
	* src/Banshee.Base/PlayerEngineLoader.cs: engines now load from 
	Banshee.MediaEngine instead of mediaengines  
	* src/Core.cs: Banshee.Dap.DeviceEventListener is now Banshee.Dap.DapCore

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

	* libbanshee/hal-context.[ch]: new glue for HAL
	* Makefile.am: removed plugincore and mediaengines

	* data/banshee.desktop.in.in: Removed TryExec
	* data/Makefile.am: Moved some CLEANFILES items to DISTCLEANFILES

	* libbanshee/Makefile.am:
	* libbanshee/cd-detect.[ch]: Removed HAL Audio CD detection code; this
	support is now in Banshee.Base.AudioCdCore using new managed HAL

	* configure.ac: Added new namespace directories for Makefile/config
	output generation, removed old directories/Makefiles, etc.
	* banshee.mdp:
	* banshee.mds: Updated MonoDevelop project

	* src/Banshee.MediaEngine: Moved/renamed from mediaengines/

	* src/Banshee.Widgets/Makefile.am: Updated to reflect new files
	* src/Banshee.Widgets/ActiveUserEvent.cs:
	* src/Banshee.Widgets/ActiveUserEventsManager.cs:
	* src/Banshee.Widgets/HigMessageDialog.cs: Widgets moved from src/

	* src/Makefile.am: Reflect changes to moved/deleted/added files and
	link to proper new assemblies
	* src/BurnCore.cs: Use Banshee.Base.ThreadAssist.ProxyToMain
	* src/LibraryTransactionStatus.cs: use new namespaces
	* src/AboutBox.cs: Updated with new namespaces; added pragma to ignore
	Gnome.About deprecation warning

	* src/Core.cs: Moved ArgumentQueue classes, threading helper methods 
	to Banshee.Base; added DAP/HAL stuff
	* src/Dialogs.cs: HigMessageDialog moved to Banshee.Widgets
	* src/Database.cs: Updated namespaces; updated call to LogCore
	
	* src/PlayerInterface.cs: use ThreadAssist.ProxyToMain in place of
	Core.ProxyToMainThread, updated to use new namespaces
	* src/PlaylistModel.cs: Updated to reflect new namespaces; use 
	ThreadAssist instead of Core.MainThread	
	* src/LibraryTrackInfo.cs: use Entagged.AudioFile instead of
	Entagged.AudioFileWrapper; updated to reflect new namespaces
	* src/SourceView.cs: Updated with Banshee.Base namespace; iPod support
	temp. disabled
	* src/RatingRenderer.cs: Added license to header, updated namespaces
	
	* src/DragDrop.cs:
	* src/FileEncodeTransaction.cs:
	* src/IpodTrackInfo.cs:
	* src/Library.cs:
	* src/LibraryTransactions.cs:
	* src/Main.cs: 
	* src/LogCoreViewer.cs:
	* src/PlaylistView.cs: 
	* src/Preferences.cs: 
	* src/RipTransactions.cs
	* src/TrackProperties.cs:
	* src/FileSystemMonitor/InotifyWatch.cs:
	* src/FileSystemMonitor/FileSystemWatcherWatch.cs: updated namespaces

	* src/Banshee.Dap: New namespace/assembly for DAP support; incomplete
	
	* src/Banshee.Base/Globals.cs: static global variables
	* src/Banshee.Base/AudioCd/AudioCdCore.cs: Rewritten Audio CD Core using
	fully managed HAL
	* src/Banshee/Base/AudioCd: Rewritten/refactored/moved 
	from src/AudioCdCore.cs
	* src/Banshee.Base/HalCore.cs: New core for HAL support off of a single
	global context
	* src/Banshee.Base: New namespaces and assembly, contains many classes
	moved from src/ that can now be reused for plugins
	
	* hal-sharp/*: synced with latest hal-sharp in Mono SVN
	
	* entagged-sharp/*: synced with latest entagged-sharp in Mono SVN; adds
	WMA support and ID3 2.4 support
	
	* plugincore/*: Moved to src/Banshee.MediaEngine
	* mediaengines/*.cs: Moved to src/Banshee.Base

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

	* data/images/ipod/22x22/*:
	* data/images/ipod/16x16/*: Optimized raster iPod icons from Jakub Steiner
	* data/images/ipod/Makefile.am: Install rules for new raster sizes
	* data/images/ipod/scalable/*video*: Placeholder SVG video iPod icons
	* src/IpodCore.cs: Map 24 to 22 for now, map the video iPod icon

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

	* configure.ac: Remove references to Banshee.Base/Banshee.Dap, as they
	are not committed yet
	
2005-11-21  Aaron Bockover  <aaron@aaronbock.net>

	* configure.ac: Require only GTK 2.6, mainly for FC4
	* src/AboutBox.cs: Fall back on the Gnome.About about dialog if the
	GTK 2.8 version does not exist; fixed Ulas' name; made common text
	fields static variables

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

	* src/PlaylistModel.cs: (AddTrack) sets TrackInfo.TreeIter to tree iter
	in model, (RemoveTrack) unsets TrackInfo.TreeIter
	* plugincore/TrackInfo.cs: Added a TreeIter field
	* configure.ac: Whoops, just require Gtk# 2.3.92

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

	* NEWS: Updated with 0.9.12 release notes
	* src/BurnCore.cs: Removed a Console.WriteLine debug statement
	* src/NotificationAreaIcon.cs: Disabled shuffle/repeat items in tray menu
	for now; not sure how to allow these from here, if all, given the new
	options in the UI for these modes
	* src/Paths.cs: DefaultLibraryPath is now ~/Music... thought this was done
	a month ago...
	* src/RipTransaction.cs: Fixed another Path/URI bug, using 
	PathUtil.PathToFileUri
	* src/LibraryTrackInfo.cs: Do not use PathUtils.PathToFileUri() on
	the Uri field in the database, as it's already a Uri... fixes a bug 
	introduced between releases
	* configure.ac: Version 0.9.12, require Gtk# 2.4.0, GTK+-2.8, and
	ipod-sharp 0.5.11
	* banshee.mdp: Updated MonoDevelop project
	* data/glade/player.glade: Added menu items for repeat none, repeat single,
	repeat all, and shuffle; removed repeat/shuffle toggle buttons as they
	have been replaced with the custom MultiStateToggleButton widget
	* src/ToggleStates.cs: Implemented ToggleState subclasses for repeat and
	shuffle toggle states
	* src/LibraryTransactionStatus.cs:
	* src/QueryBuilderModel.cs:
	* src/TrackInfoHeader.cs:
	* src/VersionInformationDialog.cs:
	* src/ActiveUserEvent.cs: using Banshee.Widgets;
	* src/StockIcons.cs: Removed media-repeat, media-shuffle; added
	media-repeat-all, media-repeat-none, media-repeat-single, 
	media-shuffle-enabled, media-shuffle-disabled
	* src/IPlaybackModel.cs: Changed Repeat/repeat from bool to RepeatMode
	* src/PlaylistModel.cs: Changed Repeat/repeat from bool to RepeatMode, 
	added RepeatMode enum, changed logic to support RepeatMode.None, 
	RepeatMode.All, RepeatMode.Single
	* src/PlayerInterface.cs: Implemented Repeat None, Repeat All, 
	Repeat Single modes using new MultiStateToggleButton widget and menu items,
	re-implemented Shuffle mode in same way
	* src/Makefile.am: Link against src/Banshee.Widgets/Banshee.Widgets.dll,
	updated resources 
	* src/Banshee.Widgets/Resources/*: resources needed by custom widgets
	* src/Banshee.Widgets/MultiStateToggleButton.cs: New custom widget that
	allows cycling between N states, can link CheckMenuItem and RadioMenuItem
	widgets to states
	* src/Banshee.Widgets/ToggleState.cs: Abstract base class for defining a
	toggle state for the MultiStateToggleButton widget
	* src/Banshee.Widgets/*: New assembly containing moved/new custom 
	standalone widgets that can possibly be used by other applications. 
	No ties to Banshee namespaces
	* src/AltProgressBar.cs:
	* src/CoverArtThumbnail.cs:
	* src/DateButton.cs:
	* src/EllipsizeLabel.cs:
	* src/ImageAnimation.cs:
	* src/SearchEntry.cs:
	* src/SimpleNotebook.cs:
	* src/VolumeButton.cs: Moved to src/Banshee.Widgets, namespace changed to
	Banshee.Widgets

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

	* src/GtkSharpBackports/FileChooserButton.cs: Fixed a minor compilation
	issue against Gtk# 2.7.1
	* data/banshee.desktop.in.in: Added MimeType field based on entagged-sharp
	mime-type support attributes; Add %U to exec

2005-11-15  Brad Taylor  <brad@getcoded.net>

	* src/PlayerInterface.cs: Fix typo in tray icon.

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

	* src/NotificationAreaIcon.cs (PositionMenu): Properly position the menu
	based on panel size and location (Fixes #315227)
	* src/LibraryTrackInfo.cs: Always use PathUtil.PathToFileUri()
	* data/glade/player.glade: Emit OnScaleTimeMoveSlider for MotionNotifyEvent
	* src/PlayerInterface.cs: Update the position label when the slider is 
	dragged, enables better seeking (Ruben Vermeersch)
	* src/TrackInfoHeader.cs: Don't escape entities twice
	* data/banshee.schemas.in: Added /apps/banshee/EnableFileSystemMonitoring;
	fixed typo
	* src/AudioCdCore.cs: Fixed typo
	* src/PlayerInterface.cs: Respect --play on new instance after the library
	has loaded 
	* src/PlayerInterface.cs:
	* src/PlaylistView.cs: call playlistModel.Advance() if nothing is loaded
	in the engine and playlistView.PlaySelected() fails (pressing "play" on 
	first start will play work) (Ruben Vermeersch)
	* src/LibraryTrackInfo.cs:
	* src/LibraryTransactions.cs:
	* src/FileSystemMonitor/FileSystemWatcherWatch.cs:
	* src/FileSystemMonitor/InotifyWatch.cs: change to use 
	PathUtil.FileUriStringToPath
	* src/Utilities.cs: Added Timer class from F-Spot; added 
	PathUtil.FileUriStringToPath to replace StringUtil path methods 

2005-11-14  James Willcox  <snorp@snorp.net>

	* src/PlaylistView.cs: only scroll to the playing song if it is
	outside the current viewable area.

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

	* src/AboutBox.cs: Added Doğacan Güney
	* src/GConfKeys.cs: Added key EnableFileSystemMonitoring; reformatted code
	* src/LibraryTransactions.cs (FileLoadTransaction): Load multiple paths
	at once without making them raw (Doğacan Güney)
	* src/Library.cs (Library.Remove): Overloaded to allow removal based on
	a System.Uri (Doğacan Güney)
	* src/Core.cs: Instantiate and dispose of FileSystemMonitor.Watcher only
	if enabled in GConf
	* libbanshee/Makefile.am: Added inotify glue
	* libbanshee/inotify-glue.c:
	* libbanshee/inotify.h:
	* libbanshee/inotify-syscalls.h: inotify system-level glue
	* src/FileSystemMonitor/*.cs: Added File System monitoring patch by 
	Doğacan Güney, uses Inotify. If Inotify is unavailable, it falls back
	on FileSystemWatcher. 
	* src/Makefile.am: Added FileSystemMonitor files
	
	* configure.ac: Added support for using GStreamer 0.9 packages through
	--enable-gstreamer-dev; currently will break things, do not use yet
	* src/PlayerInterface.cs: Don't use space as a hotkey if the search box
	has focus
	* src/AboutBox.cs: Added Christian Rose to translator credits
	* src/PlaylistModel.cs: Merged Pat Rondon's (pat@thepatsite.com) advance
	to random track when playing first track in shuffle mode (#54688)

2005-11-13  Christian Rose  <menthos@menthos.com>

	* configure.ac: Added "sv" to ALL_LINGUAS.

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

	* data/images/source-cd-audio.png: Updated with tango icon
	* src/IpodCore.cs (IpodMisc.GetIcon): Accept either an Ipod.Device or
	an Ipod.DeviceModel
	* src/Dialogs.cs: Accept a Gdk.Pixbuf instead of a string for the icon
	* src/IpodNewDialog.cs: 
	* src/PlayerInterface.cs:
	* src/SourceView.cs: Use IpodMisc.GetIcon()
	* src/PlayerInterface.cs: Show a large version of the iPod icon in the
	sync view when syncing iPod
	* configure.ac: Expand $datadir into $expanded_datadir 
	* src/ConfigureDefines.cs.in: Added ICON_THEME_DIR constant
	* src/IpodCore.cs (IpodMisc.GetIcon): return a Gdk.Pixbuf of an iPod in
	a given size, points to the new installed tango icons into the hicolor
	icon theme
	* src/Makefile.am: Removed old ipod icon references
	* data/images/ipod/*: New tango iPod icons from Ryan Collier
	* data/images/Makefile.am: Added ipod to SUBDIRS, removed old ipod icons
	* src/PlayerInterface.cs: Pressing enter on the playlist view will
	play the first song in a selection
	* src/PlayerInterface.cs: Implement some more key bindings, and changed
	the default behavior of the previous button to reset the position of
	the current playing song to 0 seconds if the song has played for more
	than ~2 seconds (the resolution on this isn't very precise); Shift+Previous
	Click goes to the previous song no matter what, and pressing space now
	toggles playback (play/pause)

2005-11-12  James Willcox  <snorp@snorp.net>

	* src/IpodCore.cs: be a little more careful, and update to the
	changed API for progress reporting.
	* src/IpodTrackInfo.cs: use PathUtil.PathToFileUri
	* src/LibraryTrackInfo.cs: ditto, and store Uris in the db
	in escaped form.
	* src/SqlGenerator.cs: don't unnecessarily remove quotes when
	escaping them.

2005-11-11  Aaron Bockover  <aaron@aaronbock.net>
	
	* configure.ac: Version 0.9.11.1
	* NEWS: Updated release notes
	* data/glade/player.glade: Added another container for switching out
	widgets during the ipod sync state
	* src/IpodCore.cs (EmitSyncStarted), (EmitSyncCompleted): Emit through
	Core.ProxyToMainThread
	* src/PlayerInterface.cs: Fixed ipod syncing, was a threading issue,
	of course; fixed up syncing UI, made things more consistent and feel
	better, tooltips, labels, etc
	* data/images/source-ipod-regular.png, data/images/source-ipod-color.png,
	data/images/source-ipod-shuffle.png: renamed to ipod-regular-24.png,
	ipod-color-24.png, and ipod-shuffle.png
	* src/Makefile.am: 
	* data/images/Makefile.am: Updated to reflect renaming of ipod icons
	* src/PlayerInterface.cs:
	* src/SourceView.cs: Use IpodMisc.GetIconString() to get icon file name
	* src/IpodCore.cs: Show the actual iPod icon for the progress widget; 
	added IpodMisc.GetIconString(device) to return the proper string for
	building an ipod file name to show icon matching actual iPod
	* src/IpodCore.cs: Hopefully fixed URI translation problem; canceling the
	ipod encode now cancels the ipod sync, as it should
	* src/BurnCore.cs: Use Queue instead of ArrayList
	* src/FileEncodeTransaction.cs: Do not use a Hashtable, it can scramble
	the order of the queued items; was the culprit for out of position
	tracks on burned CDs
	* src/Utilities.cs: New PathUtil class: PathUtil.PathToFileUri and
	PathUtil.FileUriToPath; removed old unused cruft; reformatted
	* src/IpodCore.cs: Removed unused reference to IPod.ProgressDialog
	* banshee.mdp: Updated MonoDevelop project file

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

	* configure.ac: Version 0.9.11

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

	* src/ActiveUserEvent.cs: Added a CanCancel property that maps to the
	sensitivity of the cancel button
	* src/PlayerInterface.cs:
	* src/StockIcons.cs:
	* src/RipTransaction.cs: 
	* data/glade/player.glade: Ensure all nomenclature is in sync regarding
	import/write CD. Changed "Rip" to "Import" and "Burn" to "Write"
	* src/BurnCore.cs: Major overhaul; use ActiveUserEvent for progress 
	reporting; handle threading and events much better; massive clean up
	* libbanshee/gst-encode.c: handle gnomevfssink allow-overwrite signal
	for encoding over possible left over temporary files
	* src/LogCore.cs: 
	* src/LogCoreViewer.cs: Added "Information" LogEntry type
	* mediaengines/gst/GstPlayerEngine.cs: fixed typo in engine description
	* configure.ac: Add pt_BR to ALL_LINGUAS
	* src/LogCoreViewer.cs: Show both short message and details in viewer
	text entry
	* src/Core.cs: Handle exception from AudioCdCore exception in the case
	where HAL was not able to become initialized; disable AudioCdCore and
	allow Banshee to continue with disabled CD support
	* src/AudioCdCore.cs: marshal native error messages to propagate to 
	exception if HAL could not be initialized
	* src/SourceView.cs: 
	* src/PlayerInterface.cs:
	* src/Core.cs: Only interact with the AudioCdCore if it is available
	* libbanshee/cd-detect.[ch] (cd_detect_new): expects a gchar ** which 
	may be filled with an allocated error message if function returns NULL,
	must be freed if non-null
	* libbanshee/cd-detect.c: Added g_warning calls for potential HAL 
	initialization problems
	* vacuum.sh: Runs make maintainer-clean and then cleans extra junk that
	is left behind, returning to essentially a clean cvs checkout
	* Makefile.am: Made DISTCLEAN a little more standard/correct and moved
	my extra crazy house cleaning to a script, vacuum.sh
	* src/AboutBox.cs: Added Ulas Sahin to authors credits, Marco Carvalho to
	translators credits
	* src/LogCore.cs: LogCore implements IEnumerable; added more helper methods
	for pushing different entry types; subclass LogEntry as WarningLogEntry,
	DebugLogEntry, ErrorLogEntry
	* src/LibraryTransactionManager.cs:
	* src/LibraryTransactions.cs:
	* src/AudioCdCore.cs:
	* src/PipelineProfile.cs:
	* src/Database.cs:
	* src/Core.cs:
	* src/RipTransaction.cs: Use the LogCore for debug logging instead 
	of DebugLog
	* src/DebugLog.cs: Removed 
	* src/Makefile.am: Added LogCoreViewer.cs, Removed DebugLog.cs
	* data/glade/player.glade:
	* src/PlayerInterface.cs: Add menu item for showing the LogCore Viewer
	* src/LogCoreViewer.cs: A dialog for viewing the LogCore entries
	* src/LibraryTransactions.cs (PlaylistLoadTransaction.Run): only
	raise track info if not null :)
	* src/PlayerInterface.cs (OnPlaylistUpdated): Got rid of custom time
	calculations in favour of TimeSpan; cleaned up a little
	* src/PlayerInterface.cs (OnLogCoreUpdated): Show a dialog for LogEntry
	entries that have ShowUser set; LogCore is now the preferred
	method of logging events and presenting errors/warnings to the user
	* src/LogCore.cs: Added more helper methods for making logging as easy
	as possible
	* src/LibraryTransactions.cs:
	* src/BurnCore.cs: Updated to reflect changes in LogCore
	* src/Core.cs: LogCore handles its own instance
	* src/AudioCdCore.cs: Use LogCore

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

	* src/Preferences.cs:
	* src/AboutBox.cs: Explicitly use GtkSharpBackports

2005-11-08  James Willcox  <snorp@snorp.net>

	* src/IpodCore.cs:
	* src/IpodTrackInfo.cs:

	Updated to use new ipod-sharp API.

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

	* src/AudioCdCore.cs (CreateDisk): Use anonymous method, but work 
	around mcs bug #76642

	* src/GtkSharpBackports/AboutDialogActivateLinkFunc.cs:
	* src/GtkSharpBackports/GtkSharp.AboutDialogActivateLinkFuncNative.cs:
	* src/GtkSharpBackports/AboutDialog.cs:
	* src/GtkSharpBackports/FileChooserButton.cs:
	* src/GtkSharpBackports/GtkSharpBackports.dll.config.in:
	* src/GtkSharpBackports/Makefile.am: Imported from gtk-sharp-2.6, 
	namespaces changed to GtkSharpBackports
	
	* src/AboutBox.cs: Remove manual wrapped Gtk.AboutBox, 
	use GtkSharpBackports.AboutBox
	* src/Preferences.cs: Use GtkSharpBackports.FileChooserButton
	* src/FileChooserButton.cs: moved to src/GtkSharpBackports
	* src/Makefile.am: Removed FileChooserButton.cs, added GtkSharpBackports
	to SUBDIRS, link against GtkSharpBackports.dll

	* configure.ac: generate src/GtkSharpBackports/Makefile and
	src/GtkSharpBackports/GtkSharpBackports.dll.config

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

	* src/MusicBrainz/SimpleDisc.cs: Changed 'Invalid track count from TOC'
	error string to be easier to read and more meaningful
	* src/Dialogs.cs: Updated formatting, make ErrorDialog class use
	HigMessageDialog, add support for header argument, do not use Run/Destroy
	to prevent UI hangs
	* src/AudioCdCore.cs: Show an error dialog if CD reading failed,
	merged some similar code into a private helper method

	* configure.ac: Only require mono 1.1.9 instead of 1.1.9.2 for the sake
	of building with mcs HEAD

	* libbanshee/Makefile.am: Removed cd-test test
	* libbanshee/cd-test.c: Removed test, functionality handled mainly by
	MusicBrainz in managed land now

	* src/MusicBrainz/Utilities.cs (StringToDateTime): Convert a MusicBrainz
	date into a DateTime object
	* src/MusicBrainz/SimpleArtist.cs: Simple wrapper class for a MusicBrainz 
	Artist RDF
	* src/MusicBrainz/SimpleAlbum.cs: Simple wrapper class for a MusicBrainz
	Album RDF
	* src/MusicBrainz/SimpleLookupTest.cs: Test program for using new 
	RDF wrapper classes
	* src/MusicBrainz/Makefile.am: Added SimpleArtist.cs, SimpleAlbum.cs,
	SimpleLookupTest.cs, Utilities.cs; created 'make test' rules to 
	build MusicBrainz tests
	* src/MusicBrainz/Client.cs: Added support for querying with arguments;
	added support for marshalling string arrays to UTF8 pointer arrays; Added
	GetIDFromUrl and GetID methods for transforming a MusicBrainz URL ID into
	a regular MusicBrainz ID
	* src/SimpleTrack.cs (ToString): Return a formatted version of the object

	* src/Utilities.cs (StringUtil.UriToFileName): Do a proper conversion
	using the Uri class; fixes bugs with non-ASCII characters in the path

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

	* burn-sharp/burn-sharp.dll.config.in: Map to proper so version with
	LNB_SOVERSION
	* configure.ac: Detect whether libnautilus-burn 2.12 or 2.13+, and set
	LNB_SOVERSION to 2 or 3 accordingly
	* data/glade/preferences.glade: Removed the text view/button for selecting
	library location, added container for FileChooserButton
	* src/Preferences.cs: Use the FileChooserButton for selecting the library
	location instead of a Button+FileChooserDialog+TextView; more Gnomey and
	less iTunesy
	* src/Makefile.am: Added src/FileChooserButton.cs
	* src/FileChooserButton.cs: Adapted Gtk.FileChooserButton from 
	gtk-sharp-2.6 as Banshee.FileChooserButton

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

	* src/configure.ac: Version 0.9.10
	* src/AboutBox.cs: Added Øivind Hoel to translator credits
	* src/FileEncodeTransaction.cs: Adapt to use ActiveUserEvent
	* src/IpodCore.cs:
	* src/BurnCore.cs: Updated for changes in FileEncodeTransaction
	* data/glade/player.glade: Reorder edit menu, add import/burn CD items to
	music menu
	* src/PlayerInterface.cs: Set menu items sensitive/insensitive contextually
	* src/Main.cs: Add --version option
	* configure.ac: Generate src/banshee from src/banshee.in
	* src/Makefile.am: Install the Bash wrapper script
	* src/banshee.in: Bash wrapper script
	* src/banshee.c: Removed alternative wrapper script, switched back to Bash
	* src/PlayerInterface.cs: Display current position/total time in NAI 
	tooltip (patch from Doğacan Güney)
	* data/images/encode-action-24.png:
	* data/images/Makefile.am:
	* src/Makefile.am: Add icon for encoder progress action
	* src/PlayerInterface.cs: Fix minor bug concerning meta key detection (Ulas)

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

	* src/NotificationAreaIcon.cs: Add mouse scroll event support (Ulas SAHIN);
	tab->space formatting
	* src/PlayerInterface.cs: Adjust volume when SHIFT+Scroll on notification
	area icon (NAI) (Ulas SAHIN), Next/Previous track on normal scroll on NAI,
	seek in current song when CTRL+Scroll on NAI; more tab->space formatting

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

	* banshee.mdp:
	* banshee.mds:
	* mediaengines/gst/gst-mediaengine.mdp:
	* mediaengines/helix/helix-mediaengine.mdp:
	* plugincore/plugincore.mdp:
	* plugincore/plugincore.mds: Committed Ulas SAHIN's patch to update the
	MonoDevelop project files

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

	* data/banshee.schemas.in: Added schema for ShowNotificationAreaIcon key
	* src/PlayerInterface.cs: Only install notification area icon if 
	ShowNotificationAreaIcon gconf key is true
	* src/GConfKeys.cs: Added key for ShowNotificationAreaIcon
	* src/RipTransaction.cs: Removed +1 because MusicBrainz is 1-based and
	not 0-based in reporting the track index
	* HACKING: Updated it with revised style guidelines
	* entagged-sharp/: Updated entagged-sharp snapshot

2005-10-31  Miguel de Icaza  <miguel@novell.com>

	* src/LibraryTrackInfo.cs: Null or empty strings will default to
	the filename guessed values.

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

	* configure.ac: Added nb to ALL_LINGUAS 

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

	* configure.ac: Version 0.9.9, require ipod-sharp 0.5.9, mono 1.1.9.2,
	GStreamer 0.8.11, libnautilus-burn 2.12
	* data/glade/trackinfo.glade: Switch order of Save/Cancel buttons
	* data/glade/player.glade: Add text labels to rip/burn icons
	* src/Library.cs: Handle exception when thrown when unable to create
	library directory
	* src/NotificationAreaIcon.cs: Switch order of Next/Previous menu items

2005-10-28  David Sedeño <david@alderia.com>

	* src/SearchEntry.cs: Added CanFocus field
	* src/PlayerInterface.cs: Check if the search entry has already the
	focus so we can search with anything with 'j' letter.

2005-10-27  Aaron Bockover  <aaron@aaronbock.net>
	
	* libbanshee/cd-test.c: Removed #include "cd-info.h"
	* src/AudioCdCore.cs: Use Utilities OpenFlags flags
	* src/LibraryTrackInfo.cs: Use DateTimeUtil class for D/T conversion
	* src/Utilities.cs: Copied Date/Time utils from 
	Mono.Unix.Native.NativeConvert to DateTimeUtil class, and OpenFlags
	* src/Main.cs: Arg is audio-cd for now instead of play-cd
	* src/Makefile.am: Added mcs.exe to EXTRA_DIST
	* src/PlayerInterface.cs (PromptForImport): Fix initial import 
	dialog freeze
	* src/MusicBrainz/Makefile.am: Added $(srcdir)/ prefixes to sources
	to make distcheck happy
	* src/mcs.exe: Added precompiled bare assembly of mono mcs 1.1.9.2 
	for packagers to use who can't upgrade from mono 1.1.8. Assemblies
	produced by this 1.1.9.2 compiler will run on the 1.1.8 mono stack
	* configure.ac: Added option to use an internal mcs 1.1.9.2 compiler,
	--with-internal-mcs. Use only if you can't upgrade your distrobution's
	mono

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

	* src/Library.cs: Use new/permanent library DB path: 
	~/.gnome2/banshee/banshee.db, use and move the old one if it exists
	* plugincore/Paths.cs: Moved ApplicationData from ~/.config/banshee to
	~/.gnome2/banshee, create the cover art directory if it doesn't exist
	when it's requested
	* data/glade/player.glade: Added a container for the 
	ActiveUserEventsManager widget
	* src/banshee.exe.config.in: Map for GTK+
	* src/Core.cs (ProxyToMainThread): Wrap Application.Invoke to run handler
	in current thread if already in main thread
	* src/PlayerInterface.cs: Integrate ActiveUserEventsManager into UI
	* src/Makefile.am: Add ActiveUserEvent.cs, ActiveUserEventsManager.cs and
	update for new burn icons
	* src/StockIcons.cs:
	* src/Preferences.cs:
	* src/BurnCore.cs: Use new burn icons
	* src/RipTransaction.cs:
	* src/IpodCore.cs: Use the new user events manager
	* src/ActiveUserEventsManager.cs: user events manager for progress 
	reporting
	* src/ActiveUserEvent.cs: Class for user events to use to report progress
	and messages to a managed user interface
	* src/AboutBox.cs: Bindings for the GTK About Box (don't exist in 
	gtk-sharp yet), use it instead of the GNOME About Box.

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

	* src/SearchEntry: Reformatted code, added Focus() method
	* src/PlayerInterface.cs (OnKeyPressEvent): use GLib.ConnectBefore to
	handle key press events; J/j/F3 focus the search widget, and 
	CTRL+Left rewinds by 10 seconds, CTRL+Right fast-forwards 10 seconds
	* src/CoverArtThumbnail.cs: Fixed segfault when trying to thumbnail
	a null pixbuf

2005-10-24  Miguel de Icaza  <miguel@novell.com>

	* src/PlayerInterface.cs (OnIpodDeviceChanged): Put all the code
	in this method inside an Application.Invoke instead of using one
	Application.Invoke per ListStore.  

	Also surrounds the code that was hanging Banshee after triggering
	an iPodSync: the second part of the routine was not protected
	inside an Application.Invoke.

	* src/PlaylistView.cs (RipCellInd): Avoid try/catch and instead
	use "as" to explicitly state what is going on.  Also helps
	reduce the exceptions being thrown while tracking issues.

	* src/LibraryTrackInfo.cs (LoadFromDatabaseReader): the values
	stored were strings, not longs.  Parse them accordingly.

	Use mono --trace=N:nothing banshee.exe to find abuses of exception
	handling. 
	
2005-10-23  Aaron Bockover  <aaron@aaronbock.net>

	* data/glade/player.glade: Added delete from drive menu items
	* src/PlayerInterface.cs: Added ability to remove songs permanently from 
	drive, not just from being referenced in library

	* data/glade/player.glade: Added Full Screen menu item to View menu
	* src/PlayerInterface.cs: Added Full Screen mode

	* src/AudioCdCore.cs: Removed reference to CddbSlaveClient
	* src/Makefile.am: removed CddbSlaveClient.cs from build
	* src/CddbSlaveClient.cs: removed Gnome Media CDDB Slave2 client bindings

	* data/glade/player.glade: Added a container for the CoverArtThumbnail 
	widget
	* src/Makefile.am: Added CoverArtThumbnail.cs, AmazonCoverFetcher.cs
	* src/AudioCdCore.cs: Fetch cover art from Amazon.com after MusicBrainz 
	returns an ASIN
	* src/PlayerInterface.cs: Show a CoverArtThumbnail widget in header
	* src/LibraryTrackInfo.cs: Copy ASIN from AudioCdTrackInfo to 
	LibraryTrackInfo
	* src/AmazonCoverFetcher.cs: Fetch cover art from Amazon.com based on ASIN
	* src/CoverArtThumbnail.cs: Widget to scale and display a thumbnail of
	cover art and display full-resolution cover art in popup window when
	cursor hovers over thumbnail
	* plugincore/Makefile.am: Added Paths.cs
	* plugincore/TrackInfo.cs: Added Asin property, added CoverArtFileName
	property that returns cover art path based on Asin
	* plugincore/Paths.cs: Paths class available to plugins, added property
	CoverArtDirectory and GetCoverArtPath() method
	* src/Utilities.cs: Moved Paths class to plugincore/Paths.cs

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

	* src/PlayerInterface.cs: Show/Hide the rip column for the respective view,
	only queue items for ripping that have been checked, nice pretty rip icon
	* src/PlaylistView.cs: Added a toggle column used for selecting tracks 
	for ripping
	* src/AudioCdCore.cs: Added CanRip property that is toggled on/off to 
	designate whether to rip a track or not
	* src/StockIcons.cs: Added a hashtable map to icon names, added the nice
	rip icon (media-rip maps to cd-action-rip-24)

	* configure.ac: Remove all IDL/CORBA junk previously needed for CDDB Slave2
	* libbanshee/GNOME_Media_CDDBSlave2.idl:
	* libbanshee/cd-info.[ch]:
	* libbanshee/cddb-slave-client.[ch]:
	* libbanshee/cddb-test.c: Removed, yay for less bloat
	* libbanshee/Makefile.am: Remove references to removed files, do not
	worry about IDL cruft... yay!

	* src/MusicBrainz/SimpleDisc.cs: Add an indexer for looking up tracks
	* src/AudioCdCore.cs: Removed CDDB implementation, implemented MusicBrainz
	CD TOC reading and Metadata Lookup, refactored and cleaned up a lot in here

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

	* configure.ac: Generate src/MusicBrainz/MusicBrainz.dll.config, and 
	src/MusicBrainz/Makefile
	* src/Makefile.am: Add MusicBrainz to SUBDIRS, link against MusicBrainz.dll
	* src/MusicBrainz/Makefile.am: Build/install MusicBrainz.dll
	* src/MusicBrainz/MusicBrainz.dll.config.in: DLL Mappings to libmusicbrainz
	* src/MusicBrainz/Client.cs: MusicBrainz C# bindings to the MusicBrainz 
	client
	* src/MusicBrainz/ClientVersion.cs: Class representing MusicBrainz client
	version information
	* src/MusicBrainz/Rdf.cs: RDF Strings for the MusicBrainz client
	* src/MusicBrainz/SimpleDisc.cs: Basic class to handle reading CD 
	and querying MB
	* src/MusicBrainz/SimpleTrack.cs: A class representing a track on a CD
	* src/MusicBrainz/SimpleDiscTest.cs: A simple console test program 
	to read a CD

	* mediaengines/vlc/Makefile.am: fixed whitespace after trailing \
	* data/banshee.desktop.in.in: Make the desktop file show up in 
	Ximian/Novell/RedHat menus
	* configure.ac: Output hal-sharp/hal-sharp.dll.config
	* src/StockIcons.cs: use StockItem to initalize stock icons with i18n 
	descriptions, add items to Gtk.StockManager

2005-10-21  Rodney Dawes  <dobey@novell.com>

	* data/images/Makefile.am: Install the 16px and 22px versions into the
	16x16 and 22x22 hicolor directories, not the 24px icon

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

	* configure.ac: require mono 1.1.9
	* hal-sharp/Makefile.am: Install hal-sharp.dll.config, 
	not hal-sharp.dll.config.in

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

	* configure.ac: Require gtk-sharp 2.3.91 and ipod-sharp 0.5.8

	* Makefile.am: Updated DISTCLEANFILES/CLEANFILES
	* configure.ac: Removed data/banshee.desktop.in

	* mediaengines/vlc/Makefile.am: Added package rule for creating separate
	binary VLC mediaengine tarball

	* data/images/Makefile.am: Updated icon installation rules
	* data/images/Makefile.am.build: Removed, managing manually

	* data/glade/about.glade: removed, using gnome about dialog
	* data/glade/player.glade: Add help menu item for version information

	* data/banshee.desktop.in.in: Updated desktop file to exec banshee and
	use new icon 
	* data/org.gnome.Banshee.service.in: Exec banshee
	* data/Makefile.am: Updated desktop file and schema install rules

	* src/PlaylistColumns.cs: Fix bug regarding default column sizing (the one 
	Nat has been complaining about)
	* src/AboutBox.cs: Use Gnome About Dialog
	* src/VersionInformationDialog.cs: Version Information Dialog, move from old
	About Box, invoke from Help menu
	
	* src/BurnCore.cs: 
	* src/Preferences.cs:
	* src/SourceView.cs:
	* src/PlayerInterface.cs: Lots of cleaning, Use new window icon, 
	get rid of Gdk Thead junk

	* src/PlaylistModel.cs: Use Application.Invoke smartly, fixed performance 
	bug regarding loading a large list of tracks


	* src/Core.cs:
	* src/Library.cs: Clean up, get rid of Gdk Thread junk

	* src/ThemeIcons.cs: Provide a WindowManager icon pixbuf; will expand to 
	new Icon Theme code (vs. stock icon code)
	* src/DBusIPC.cs: Add more DBus methods (show/hide/play/pause/query*)
	* src/Main.cs: Command line options for new DBus methods for remote-mode

	* src/PlaylistView.cs:
	* src/Core.cs:
	* src/BurnTransaction.cs:
	* src/StockIcons.cs: general syntax/formatting cleanup

	* src/PipelineProfile.cs:
	* src/LibraryTrackInfo.cs: 
	* src/IpodCore.cs:
	* src/AudioCdCore.cs:
	* src/TrackProperties.cs: Use Mono.Unix, instead of deprecated Mono.Posix

	* src/Makefile.am: Added new sources, modified graphic resources
	
2005-10-20  Rodney Dawes  <dobey@novell.com>

	* data/images/about-header.png: Replace with new logo image

2005-10-20  Rodney Dawes  <dobey@novell.com>

	* data/images/album-cover-container.png:
	* data/images/banshee-icon*.png:
	Removed these old app icons, replaced by music-player-banshee
	
2005-10-20  Rodney Dawes  <dobey@novell.com>

	* data/images/music-player-banshee*: Add new banshee icons to CVS

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

	* src/SourceView.cs: SelectSource() method to select any source
	* src/PlayerInterface.cs: Remove obsolete gtk-sharp-2.0 stuff

	* mediaengines/helix/libhxclient.so.1.0: Updated with COM wrappings
	* mediaengines/helix/HxUnmanaged.cs, mediaengines/helix/HxPlayer.cs,
	mediaengines/helix/HxPlayerTest.cs: Bindings and tests for Helix COM
	* README: Updated it
	* libbanshee/cd-info.[ch]: Make CD stuff simpler, probably broken ATM
	* src/AudioCdCore.cs: Making CD stuff simpler, probably broken ATM
	* src/DBusIPC.cs: SelectAudioCd() method for D-Bus
	* src/Database.cs: Turn synchronous = OFF for the SQLite DB
	* src/IpodCore.cs: Tweak some broken iPod sync stuff
	* src/IpodTrackInfo.cs: Fix URI bug
	* src/LibraryTransactionStatus.cs: Fix some HIG problems
	* src/PlayerInterface.cs: Use argument queue to check for g-v-m commands
	* src/Main.cs: Use argument queue for command line options, options for
	g-v-m
	* src/Core.cs: Argument queue
	* src/PlaylistModel.cs: Fix small null ref

	* mediaengines/vlc/VlcPlayerEngine.cs: Fixed pausing, removed debug writes

	* mediaengines/vlc/VLC.cs: Minor fixes in bindings
	* mediaengines/vlc/VlcPlayerEngine.cs: Minor fixes
	* mediaengines/vlc/libvlc.so: Removed, not needed
	
2005-10-13  Jordi Mas <jordi@ximian.com>

	* configure.ac: Added catalan language

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

	* mediaengines/vlc/libvlc.so: Dummy text file user must replace with
	real libvlc.so (source tree too large for inclusion)
	* mediaengines/vlc/VLC.cs: Partial libvlc C# bindings
	* mediaengines/vlc/VlcPlayerEngine.cs: libvlc IPlayerEngine implementation
	* mediaengines/vlc/vlc-player.dll.config.in: vlc-player.dll assembly
	DLL mappings
	* mediaengines/vlc/Makefile.am: Build rules for the VLC media engine
	* configure.ac: Add option for --enable-vlc to build VLC engine

2005-10-12  Chris Lahey  <clahey@localhost.localdomain>

	* data/banshee.schemas.in: Add GConf key for move on save.

	* data/glade/trackinfo.glade: Add accelerators.

	* src/GConfKeys.cs: Add GConf key for move on save.

	* src/LibraryTrackInfo.cs: Add move on save behavior.  Fix GetId
	function to use uri.ToString instead of uri.AbsoluteUri to match
	other uses of uri.  Use information parsed from filename to set
	track number.  Use directory structure to guess metadata.  Move
	copy on import behavior to here.

	* src/LibraryTransactions.cs: Typo in field name.  Let
	LibraryTrackInfo handle importing files instead of importing them
	here.

2005-10-08  Ben Maurer  <bmaurer@ximian.com>

	* src/PlaylistView.cs (AlbumTreeIterCompareFunc): Sort by track#
	after album

2005-10-04  Larry Ewing  <lewing@novell.com>

	* src/PlayerInterface.cs: Import from the selected uri not the
	folder uri.

2005-10-04  Christopher James Lahey  <clahey@ximian.com>

	* src/SourceView.cs: Fixed bug that was ellipsing escaped data
	instead of escaping ellipsed data.

2005-10-03  Christopher James Lahey  <clahey@ximian.com>

	* data/glade/trackinfo.glade, src/TrackProperties.cs: Added
	automatic track setting button.

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

	* src/Preferences.cs, src/PlayerInterface.cs: Enabled burning!
	* src/AudioCdCore.cs: Bind changes to cd-info.[ch], ignore lead out and
	data tracks
	* libbanshee/cd-info.[ch]: If the Linux CDROM ioctl support is available,
	use it to detect CD track info/CDDB disc ID instead of GStreamer. Fall back
	on GStreamer (buggy, slower).
	* configure.ac: Cleaned up a little bit, added headers to check, especially
	linux/cdrom.h

2005-09-26  Alexander Shopov  <ash@contact.bg>

	* configure.ac: Added "bg" (Bulgarian) to ALL_LINGUAS

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

	* configure.ac: Require latest ipod-sharp (0.5.6)

	* src/IpodCore.cs: ipod-sharp uses default context by default, removed
	Ipod.Initializer.UseDefaultContext

	* Makefile.am: added compile to DISTCLEANFILES

	* src/banshee.c: use fork() to run the mono process as a child process of
	the wrapper, as just exec doesn't work with killall. Handle SIGINT/SIGKILL
	in the parent process and propagate to the child, and clean up the parent

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

	* src/Makefile.am: Removed banshee.in/$(WRAPPER) instances and added
	bin_PROGRAMS/banshee_SOURCE for banshee.c binary 'wrapper'
	* src/banshee.c: replaced bash wrapper script with a C program that uses
	execvp to replace the process image with mono. Makes banshee show up as
	"banshee" in ps instead of "mono" and makes `killall banshee' work. Also
	only pass --debug to mono if running from build directory, should speed
	up installed instances
	* configure.ac: Added AC_DEFINE_UNQUOTED calls to create defines for 
	banshee.c that were AC_SUBST in old banshee.in
	* src/banshee.in: removed bash wrapper script

2005-09-21  Takeshi AIHANA <aihana@gnome.gr.jp>

	* configure.ac: Added 'ja' (Japanese) to ALL_LINGUAS.

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

	* src/Main.cs: wrap everything in try/catch and pass the exception to
	the new ExceptionDialog... any unhandled exception will now be shown
	in a GUI instead of on the console (which may not be visible)

	* src/ExceptionDialog.cs: Added a nice exception dialog to show 
	unhandled exceptions (hopefully this never gets seen!), and harvest
	system info to help bug reports

2005-09-19  Žygimantas Beručka  <zygis@gnome.org>

	* configure.ac: Added "lt" to ALL_LINGUAS.

2005-09-19  Aaron Bockover  <aaron@aaronbock.net>
	
	* src/LogCore.cs: Use a ThreadNotify for events
	* src/IpodTrackInfo.cs: Prepend explicit file:// to thrwart
	parsing problems, as Ipod.Song.Filename is always a local path
	* src/FileEncodeTransaction.cs: Accept TrackInfo or Uri inputs
	* src/PlayerInterface.cs:
	* src/Library.cs: Update to use new iPod sync method
	* src/IpodCore.cs: Rewrote iPod Syncing, now using ipod-sharp-ui
	* src/Makefile.am: Add ipod-sharp-ui
	* configure.ac: Added ipod-sharp-ui, moved unstable assembly 
	copy script from src/Makefile.am 

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

	* data/glade/player.glade: Added _M to Music top level menu item and
	fixed the misspelling "selelected" (awesome word) to "selected".
	* src/LibraryTransactions.cs: Made two strings make more sense, easier
	to translate

2005-09-18  Adam Weinberger  <adamw@gnome.org>

	* configure.ac: Added en_CA to ALL_LINGUAS.

2005-09-18  Funda Wang  <fundawang@linux.net.cn>

	* configure.ac: Added Simplified Chinese translation.

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

	* src/Preferences.cs: Fixed crash on save if no iPod transcoders were
	available

	* libbanshee/gst-encode.c: Use gnomevfssink, replaced stat() call with
	gnome_vfs_get_file_info() call

	* src/LibraryTransactions.cs: Explicitly prepend a file:// to the filename
	passed to new Uri() as ':' in the local file name can cause improper
	parsing

	* src/PlayerInterface.cs:
	* src/SearchEntry.cs:
	* src/NotificationAreaIcon.cs: Fixed gtk-sharp deprecation warnings

	* src/LibraryTrackInfo:
	* src/Library.cs:
	* src/LibraryTransactions.cs:
	* src/BurnCore.cs:
	* src/AudioCdCore.cs:
	* src/IpodCore.cs:
	* src/TrackProperties.cs:
	* src/GstFileEncoder.cs:
	* src/FileEncoder.cs:
	* src/RipTransaction.cs:
	* mediaengines/gst/GstPlayerEngine.cs:
	* mediaengines/helix/HelixPlayer.cs: All now use System.Uri instead of
	strings for filename/URI usage as scheme stuff was getting out of hand
	without it. All file components should play nicer now

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

	* src/Database.cs: 
	* src/LibraryTrackInfo.cs: 
	* src/LibraryTransactions.cs:
	* data/Tables.sql: Date/Time optimizations, loads *much* faster from SQL.
	Had to create two new table columns: LastPlayedStamp, DateAddedStamp

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

	* configure.ac: Version 0.9.7.1
	* hal-sharp/hal-sharp.dll.config.in: DLL mappings for hal-sharp
	* hal-sharp/Makefile.am: Install hal-sharp.dll.config
	* src/PipelineProfile.cs: guard against empty/null profile array and protect
	empty combo box from ever getting its Active index set (segfaults, bug in
	gtk-sharp)
	* src/Library.cs: Fixed path creation bug to library DB
	* src/PlayerInterface.cs: Fixed gstreamer double-skip bug
	* mediaengines/gst/GstPlayerEngine.cs: fixed iterate cancel bug
	* data/banshee.schemas.in: Added default column widths per Nat's request
	* src/RipTransactions.cs: Fixed song-already-in-library exception when
	ripping (BNC 115945)
	* src/NotificationAreaIcon.cs: Fix bug on 64 bit

2005-09-08  Dan Winship  <danw@novell.com>

	* src/DragDrop.cs: reorganize the dnd target types into "Source",
	"PlaylistRows", "LibraryTrackIds", and "UriList". Use
	MIME-type-style target atoms.

	* src/PlayerInterface.cs: update for DragDrop changes. Use
	TreeView.EnableModelDragSource and EnableModelDragDest rather than
	Gtk.Drag.SourceSet and DestSet on the treeviews, so that
	GtkTreeView will do things like scrolling automatically. Remove
	code that got moved into PlaylistView.cs and SourceView.cs.

	* src/SourceView.cs (OnDragMotion, OnDragLeave,
	OnDragDataReceived): Move these here from PlayerInterface and fix
	up the drag feedback so you can't drop tracks onto sources that
	won't really accept them. Dynamically add a "New Playlist" line
	when dragging, so that it's always possible to create a new
	playlist via dnd, even when there isn't any blank space at the
	bottom of the source list.

	* src/PlaylistView.cs (OnDragBegin, OnDragMotion): override the
	default GtkTreeView dnd behavior.

	* src/PlayerInterface.cs (OnItemRemoveActivate,
	OnItemSelectAllActivate): Don't steal "Del" and "Ctrl+A" keys from
	the search entry.

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

	* configure.in: Version 0.9.7
	* configure.in: Require ipod-sharp 0.5.4
	* src/IpodCore.cs: Disabled status, some kind of LTM bug... looking into it
	* src/IpodPropertiesWindow.cs: Fixed NullRef bug
	* src/Library.cs: Remove tracks from both track caches/maps
	* src/LibraryTransactions.cs: Remove tracks using new Library remove method
	in TrackRemoveTransaction
	* src/TrackInfoHeader.cs: Hide logo/album cover container 
	* libbanshee/gst-encode.c: Fixed double free, and a pipeline element
	* src/GstFileEncoder.cs: Fixed minor bug
	* src/Library.cs: Keep track of songs queued for manual removal
	* src/IpodCore.cs: Fixed manual song remove bug
	* src/SourceView.cs: AddPlaylist() for adding playlist sources
	* src/PlayerInterface.cs: Update disk usage bar when device emits Changed
	signal. Add/Remove playlist specifically from the source view instead of
	rebuilding the source list. Updated Ipod UI parts.

2005-09-07  Hans Petter Jansson  <hpj@novell.com>

	* libbanshee/xing/emdct.c
	* libbanshee/xing/hwin.c
	* libbanshee/xing/l3init.c
	* libbanshee/xing/mp3enc.cpp
	* libbanshee/xing/mp3low.h
	* libbanshee/xing/sbt.c
	* libbanshee/xing/setup.c
	* libbanshee/xing/xhwin.c: Make static or add xingenc_ namespace to
	the most obnoxious exported functions. This fixes a clash with a
	symbol in GStreamer's oggdec plugin, and makes future clashes less
	likely. The Xing code still needs a more thorough cleanup.

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

	* data/glade/player.glade: Moved the iPod box to under the playlist view,
	will add more iPod crack there later
	* data/glade/trackinfo.glade: Add an event box behind the title label for
	setting its tooltip
	* src/TrackProperties.cs: Show the "editing track" title for single edits
	and set its tooltip to the URI of the current track
	* src/PlayerInterface.cs: Only update last played/play count when 
	at least half the song has been played (bug 315168)
	* data/banshee.schemas.in: schema for CopyOnImport, default to false
	* src/Preferences.cs: Default to false for CopyOnImport
	* data/Tables.sql: Removed incomplete and unused Smart Playlist tables
	* src/Database.cs: WriteCycleFinished event for notifying objects that
	the current query is finished and it is save to make pending queries
	* src/LibraryTrackInfo.cs: Catch exception on Save() query for potential
	database locking and put in a request with the Database core for 
	notification when it is safe to re-try the query
	* src/IpodTrackInfo.cs:
	* src/AudioCdCore.cs (AudioCdTrackInfo):
	* src/LibraryTrackInfo.cs: remove manual UID setting
	* plugincore/TrackInfo.cs: base class sets UID

2005-09-06  Dan Winship  <danw@novell.com>

	* burn-sharp/Makefile.am: 
	* entagged-sharp/Makefile.am: 
	* hal-sharp/Makefile.am: 
	* mediaengines/gst/Makefile.am: 
	* mediaengines/helix/Makefile.am: 
	* plugincore/Makefile.am: 
	* src/Makefile.am: Install .mdb files along with assemblies.

	* libbanshee/.cvsignore: add CORBA CDDB gunk

	* libbanshee/gst-player-engine.c (gpe_pipeline_setup): Drop
	"error" param since it's not used. Return success/failure.
	(gpe_new): if gpe_pipeline_setup() fails, return NULL rather than
	crashing.
	(gpe_free): fix leak
	* mediaengines/gst/GstPlayerEngine.cs (TestInitialize): fill this
	in.
	* src/Core.cs: Exit without crashing if the AudioCdPlayer can't be
	loaded

	* src/EllipsizeLabel.cs: Gtk.Label subclass that checks if an
	"ellipsize" property exists on the underlying C object and sets it
	if so (so we get ellipsization on gtk 2.6+ platforms without
	depending on gtk# 2.6).
	* src/TrackInfoHeader.cs: 
	* src/LibraryTransactionStatus.cs: Use it

	* src/PlayerInterface.cs (OnPlaylistViewButtonPressEvent): ignore
	double-clicks in the header area

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

	* src/AudioCdCore.cs: Set the URI for CD tracks to cdda://<track>#<device>
	* libbanshee/gst-player-engine.c: Added notify::source support for
	getting the source from the playbin element to set the CD device for 
	cdda:// URIs. Handles cdda:// URIs in the form of cdda://<track>#<device>
	* src/LibraryTransactions.cs: call Save() on track info after setting 
	new filename when performing copy on import
	* src/Library.cs: Applied patch to fix death on renaming new iPod (315307)

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

	* banshee: Version 0.9.6

	* src/LibraryTransactions.cs: Added copy-on-import to FileLoadTransaction;
	obeys GConf setting for the feature
	* src/Library.cs: IpodSource handles its own syncing and updating of
	tracks on iPod
	* src/IpodCore.cs: Fixed to allow manual update and automatic syncing
	* src/PlaylistView.cs: Show warning icon next to DRMed songs, show
	sync icon next to pending iPod songs
	* src/SourceView.cs: Show iPod sources that have been modified (queued
	for sync) in blue
	* src/PlayerInterface.cs: Restrict DnD on iPod view, disable view if
	if active view is a syncing iPod
	* src/AudioCdCore.cs: Parse proper artist and song title from the track 
	name CDDB field if artist is "Various" and the track name field contains
	a " / " token (per the CDDB Database Specification)
	* src/banshee.exe.config.in: Added libbonobo-2 mapping
	* libbanshee/gst-encode-test.c: Adapted to use pipeline for gst-encode
	* plugincore/TrackInfo.cs: Added set accessor on Year and Genre
	* src/CddbClient.cs: Old CDDB HTTP client removed
	* src/AudioCdCore.cs: Adapted to use CddbSlaveClient
	* src/CddbSlaveClient.cs: Bindings for CDDB Slave2 CORBA Client
	* configure.ac: Build rules cor cddb slave code
	* libbanshee/Makefile.am: Build cddb slave code
	* libbanshee/cddb-slave-client.[ch]: GObject wrapper around GNOME Media
	CDDB Slave2 CORBA client
	* libbanshee/GNOME_Media_CDDBSlave2.idl: IDL Definition for GNOME Media
	CDDB Slave2 CORBA client
	* libbanshee/cd-info.[ch]: Added offsets property string with all
	track offsets for CDDB queries

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

	* src/PlayerInterface.cs: Use the LogCore to report errors to the user
	* src/LogCore.cs: New logging system to easily propagate and log warnings
	and errors.
	* src/IpodCore.cs: File transcoding to allow non-iPod formats to be 
	copied to an iPod. Transcoded song duplicates are cached so they need
	only be transcoded once. This allows the computer library to be in various
	formats (Ogg, Flac, Mp3) and the iPod in MP3 or AAC format.
	* libbanshee/gst-encode.c: Pass a full pipeline for encoding instead of a 
	file extension used to conditionally select a hard coded encoder pipeline
	* src/FileEncoder.cs, src/GstFileEncoder.cs, src/FileEncodeTransaction.cs,
	BurnCore.cs: Use PipelineProfile instead of hard coded encoding options
	* src/Preferences.cs: Encoding preference option for iPod transcoding
	* data/glade/preferences.cs: Encoding area for iPod

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

	* banshee: Version 0.9.5
	* data/glade/player.glade: Removed Menu->Playlists, moved Properties to
	View, added Columns item to View menu
	* src/Library.cs: TracksFnKeyed table for file name lookups for tracks 
	instead of ID based lookup
	* src/LibraryTrackInfo.cs: Guard against already imported tracks
	* src/PlayerInterface.cs: Connect to AudioCdCore.Updated to refresh
	the view title if update is for CD in current view
	* src/SourceView.cs: Use Add/Remove events for AudioCdCore to remove
	and insert AudioCdSources instead of rebuilding the source view tree
	* src/SourceView.cs: Fixed right click/highlight bug (dup of danw, cvs
	collision), Draw Markup in Source cell renderer wrapped in 
	GLib.Markup.Escape
	* src/GConfKeys.cs: LastFileSelectorUri: key to store last position in
	the file selectors
	* src/PlayerInterface.cs: Retain last directory in gconf for the file/folder
	selectors. Open the selector at that path.
	* src/LibraryTrackInfo.cs, src/IpodTrackInfo.cs, src/AudioCdCore.cs:
	Set the track UID using UidGenerator.Next
	* src/Core.cs: NextUid removed in favor of UidGenerator.Next
	* src/Dialogs.cs: MessageDialogs class for really simple prompting
	* src/AudioCdCore.cs: Better HAL event and device handling... no longer
	regenerate disk objects on a HAL event.
	* src/PlayerInterface.cs: Do not allow drag operations for Audio CDs,
	Disable search for CDs and Playlists, Cleaned up Menus, Rename on iPod
	now pops up an iPod-specific rename dialog, fixed markup errors, Fixed
	playlist appending, only allow rename on sources that allow it
	* src/Library.cs: CanRename property for Source objects. set accessor
	on Source.Name removed, moved to Rename method that returns false on
	failure. PlaylistSource shows an error dialog if it can't rename (existing
	playlist).

2005-09-02  Dan Winship  <danw@novell.com>

	* src/Dialogs.cs (InputDialog.Execute): make Return == OK.

	* src/PlayerInterface.cs (ImportWithFileSelector,
	OnMenuImportFilesActivate): 
	* src/Preferences.cs (OnButtonLibraryChangeClicked): Remove
	incorrect (but harmless) "gnome-vfs" arg.

	* src/SourceView.cs (HighlightPath): select the row. (Fixes so
	that right-clicking on an unselected row DTRT now.)

2005-09-01  Hans Petter Jansson  <hpj@novell.com>

	* libbanshee/xing/gst-xing-encoder.c (xing_mp3_encoder_chain): Fixed
	a large memory leak.

2005-09-01  Aaron Bockover <aaron@aaronbock.net>
	
	* libbanshee/gst-misc.c: Use gst_bin_parsev for pipeline validating
	* src/PlayerInterface.cs: Only show rip button if in CD view, tooltip for
	rip button
	* src/LibraryTrackInfo.cs: Two new constructors for generating a library
	track object off of pure metadata and an existing URI
	* src/RipTransaction.cs: Better progress handling, no longer load ripped
	track into library using a FileLoadTransaction (causes metadata loss if
	encoder does not support tagging), instead load directly into cache
	* src/Preferences.cs: Preference page for setting ripping encoder profile
	* src/PipelineProfile.cs: GStreamer pipeline profile manager
	* src/GstMisc.cs: Bindings for libbanshee/gst-misc.c
	* libbanshee/gst-misc.[ch]: Misc. gstreamer functions

	* libbanshee/Makefile.am: Build Xing conditionally (--enable-xing)
	* configure.ac: Disable Xing by default, --enable-xing to enable
	* src/FileNamePattern.cs: Full pattern support for naming, creates
	directory structure if not exist
	* src/RipTransaction.cs: Bug fixes
	* libbanshee/cd-rip.c: Fix some bugs
	* mediaengines/gst/GstPlayerEngine.cs: DllImport on libbanshee
	* src/GstFileEncoder.cs: DllImport on libbanshee
	* mediaengines/gst/*.[ch]: moved to libbanshee
	
	* data/glade/player.glade: Ripping button
	* src/PlayerInterface.cs: New button to initiate Ripping, added UI code
	to create and register a RipTransaction
	* src/Library.cs: Library.sdb is now .banshee.db in new DefaultLibraryPath
	* src/Utilities.cs: DefaultLibraryPath now ~/My Music
	* src/FileNamePattern.cs: Base template for a file name pattern class to
	build file names based on an input pattern and create a directory structure
	* src/RipTransaction.cs: Bindings to CD Ripping core, and implementing
	LTM Transaction for Ripping/Encoding. Use xingenc bitrate=192, will
	make UI for future to pass any gst encoder pipeline
	* libbanshee/cd-rip.[ch]: CD Ripping Core
	* src/Library.cs: New default library DB path: ~/My Music/.banshee.db
	* src/Utilities.cs: New default library location: ~/My Music

2005-08-31  James Willcox  <snorp@snorp.net>

	* src/SearchEntry.cs: delay a bit before emitting the 'changed'
	event, so we don't do spurious searches.
	* src/PlayerInterface.cs: guard against a null active track when
	ejecting an iPod.
	* burn-sharp/*: synced up

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

	* data/images/source-ipod-{shuffle,photo}.png: New iPod icons
	* src/SourceView.cs: Show a photo, regular, or shuffle iPod as an icon

2005-08-31  Dan Winship  <danw@novell.com>

	* plugincore/IPlayerEngine.cs: fix a comment

	* mediaengines/helix/HxPlayer.cs (HxPlayer): Use Marshal.SizeOf
	rather than a hardcoded size.
	(Dispose): Call GC.SuppressFinalize so
	HxUnmanaged.ClientPlayerClose() doesn't get called twice if the
	HxPlayer is explicitly disposed.

	* src/AboutBox.cs: Make sure the timer always gets cleaned up
	properly when the window closes.

	* src/Core.cs (FindUserRealName): Use g_get_real_name() from glib

	* src/PlayerInterface.cs (OnPlaylistViewMotionNotifyEvent): fix
	again so column resizing/rearranging works again

	* src/PlaylistView.cs: don't intercept OnColumnClicked. Let the
	TreeView handle sorting itself. Also, Set a ColumnDragFunction to
	prevent dragging the content columns before the "now playing"
	column.

	* src/*.cs: Remove GLib.GType stuff which isn't needed. (Probably
	copied from another old out-of-date gtk# app)

2005-08-31  James Willcox  <snorp@snorp.net>

	* banshee: 0.9.2
	* add an emacs modeline to all the .cs sources
	* src/IpodCore.cs: fix iPod syncing.
	* src/PlayerInterface.cs (OnSimpleSearch): fix a null reference that
	was causing some crashes.

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

	* libbanshee/xing/gst-xing-encoder.[ch]: GStreamer plugin for Xing
	* libbanshee/xing: Moved Xing Encoder from mediaengines/xing-encoder
	* libbanshee/gst-init.[ch]: GStreamer initialization
	
2005-08-30  Hans Petter Jansson  <hpj@novell.com>

	* mediaengines/xing-encoder/xing-mp3-encoder.c
	(xing_mp3_encoder_set_property): Guard against too low bitrate being
	set.

2005-08-30  Hans Petter Jansson  <hpj@novell.com>

	* mediaengines/xing-encoder/xing-mp3-encoder.c
	(xing_mp3_encoder_get_property)
	(xing_mp3_encoder_set_property): Fix bad symbol references.

2005-08-30  Hans Petter Jansson  <hpj@novell.com>

	* mediaengines/xing-encoder/Makefile.am: Add xing-mp3-encoder.[ch],
	add $(GST_CFLAGS).
	* mediaengines/xing-encoder/xing-mp3-encoder.[ch]: Implement Xing MP3
	Encoder GST plugin.

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

	* src/PlayerInterface.cs, src/SourceView.cs: Good support for CD Audio
	Source
	* src/AudioCdCore.cs: Complete Audio CD Backend, with CDDB support
	* src/CddbClient.cs: CDDB Client
	* libbanshee/cd-info.c: DiskID Support
	
2005-08-30  Dan Winship  <danw@novell.com>

	* src/PlayerInterface.cs (OnPlaylistViewButtonPressEvent): never
	eat control/shift clicks, so GtkTreeView will handle control-click
	to unselect rows.
	(OnPlaylistViewMotionNotifyEvent): Ignore drags below the last row
	of the tree

2005-08-30  Dan Winship  <danw@novell.com>

	* Makefile.am (SUBDIRS): add po/

	* mediaengines/gst/GstPlayerEngine.cs: 
	* mediaengines/gst/gst-encode.c: 
	* mediaengines/gst/gst-player-engine.c: 
	* mediaengines/helix/HelixPlayer.cs: 
	* mediaengines/helix/HxPlayer.cs: 
	* plugincore/TrackInfo.cs: 
	* src/*.cs: Use _() / Catalog.GetString()
	
	* plugincore/Makefile.am ($(ASSEMBLY)): 
	* mediaengines/gst/Makefile.am ($(ASSEMBLY)): add -r:Mono.Posix

	* src/Core.cs (UserFirstName): don't add "'s" here, since that has
	to be part of the localization of "{0}'s Music Library". (Ignoring
	for now the larger issue that the first word of the user's full
	name might not be their given name.)

	* src/Library.cs (IpodSource.DiskUsageString): property that
	returns an internationalized "500 MB of 2 GB (1500 MB Remaining)"
	string.

	* src/PlayerInterface.cs (OnSimpleSearch): deal with the fact that
	the field names are now localized rather than being constant
	strings.

	* src/PlaylistColumns.cs: Add another arg to the constructor
	giving the database key name, since that won't be related to the
	column name if LANG != en

	* src/LibraryTrackInfo.cs (IncrementPlayCount): use the invariant
	datetime format for LastPlayed, not the localized one.

2005-08-29  Aaron Bockover  <aaron@aaronbock.net>
	
	* banshee: Version 0.9.1
	* mediaengines/helix/HelixPlayer.cs: Fixed PCM set to 0 bug (314816)
	* libbanshee/cd-info.c: More internals complete/working, cdparanoia
	fix in patched gstreamer
	* src/DBusIPC.cs: Virtual D-Bus methods for TogglePlaying(), Next(), 
	and Previous() 
	* src/Main.cs: Command line option parser, supports --play-pause, 
	--next, and --previous, translated to method calls on running instance
	over D-Bus
	* src/PlayerInterface.cs: Generic Next()/Previous() methods for D-Bus,
	UI Button for Syncing iPod
	* src/IpodCore.cs: IpodSyncTransaction for auto-syncing iPod
	* src/PlayerInterface.cs, src/Preferences.cs: Disable CD Burning UI
	unless BANSHEE_BURN_ENABLE is set (Attn Packagers: DO NOT SET THIS...
	development only)
	* src/TrackProperties.cs: Multi-track metadata editor

2005-08-29  Dan Winship  <danw@novell.com>

	* src/PlayerInterface.cs (OnPlaylistViewMotionNotifyEvent): Oops,
	don't start a song drag if the user is dragging a column. Also,
	the drag action should have been Move|Copy, not just Move.
	(OnPlaylistViewButtonReleaseEvent): if the user clicks on a single
	row of a multi-row selection (without dragging), select just that
	row.

2005-08-28 Aaron Bockover <aaron@aaronbock.net>
	
	* banshee: Version 0.9.0
	* src/AudioCdCore.cs: Implementing cd-info bindings
	* libbanshee/cd-info.c: Disk/Track info objects, GStreamer to detect 
	sectors, offsets, and track numbers/layouts
	* src/Library.cs: New AudioCdSource
	* src/SourceView.cs: Listen to AudioCdCore for events to update the
	SourceView
	* src/AudioCdCore.cs: Bindings to cd-detect.c, AudioCdCore class provides
	a centralized layer for Audio CDs
	* libbanshee/cd-detect.c: HAL Audio CD Detection Library
	* libbanshee: Core Banshee C code
	* src/banshee.exe.config.in: Updated mappings, split up, don't override
	mono mappings
	* burn-sharp/burn-sharp.dll.config.in, burn-sharp/Makefile.am: DLL config
	file for burn-sharp assembly
	* src/ipod-sharp.dll.config.in, src/Makefile.am: DLL config file for
	ipod-sharp assembly

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

	* src/NotificationAreaIcon.cs: Tray icon code no longer depends on 
	eggtrayicon in egg in libsonance
	* libsonance/: Removed
	* src/LibraryTrackInfo.cs: Fix canSaveToDatabase = true, fixes append to
	Playlist bug
	* src/PlayerInterface.cs: Window resize/show patch
	* data/org.gnome.Banshee.service.in: D-Bus Service File
	* data/banshee.schemas.in: GConf Schemas
	* configure.ac: Check for sqlite3
	* src/Database.cs: Use sqlite3

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

	* data/banshee.desktop.in.in: Moved from banshee.desktop.in
	* data/Makefile.am: Translate banshee.desktop.in
	* configure.ac: Better configure checks, fix sqlite problem, hopefully
	* configure.ac, Makefile.am, po/: Set up infrastructure for translations
	* mediaengines/xing-encoder/Makefile.am: Fixed so make distcheck works
	* mediaengines/xing-encoder: Xing MP3 Encoder from RealNetworks
	* mediaengines/gst/Makefile.am, libsonance/Makefile.am, 
	burn-sharp/Makefile.am: -module -no-version
	* mediaengines/gst/gst-player-engine.c: Fixed random return
	* configure.ac: Check /usr/lib, /usr/local for SQLITE
	* src/SearchEntry.cs: Do not call changed event twice 
	* src/IpodPropertiesWindow.cs: More properties
	* src/PlayerInterface.cs, src/PlaylistModel.cs, src/PlaylistView.cs: 
	DnD patch by Dan Winship, fixes most DnD issues 
	* mediaengines/helix/HelixPlayer.cs: ClientPlayerMute to unmute 
	PCM on startup
	* entagged: Dropped from tree
	* entagged-sharp: Added to tree, updated sync script, updated entagged
	* configure.ac, src/Makefile.am: Updated for entagged-sharp
	
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
