2006-09-19  Aaron Bockover  <abock@gnome.org>

	* src/Device.cs: Added ShouldAskIfUnknown and DoNotAskIfUnknown 

2006-09-18  Aaron Bockover  <abock@gnome.org>

	* src/Device.cs: Added UnknownIpodUrl property, replaces the entire
	tool from yesterday, going for a web-based solution

	* tools/Makefile.am: 
	* ipod-sharp-ui.pc.in: Reverted

	* tools/IpodDataSubmit.cs: Removed

2006-09-18  Aaron Bockover  <abock@gnome.org>

	* ipod-sharp-ui.pc.in: Add ipod-data-submit.exe

	* tools/Makefile.am: Build/install the data submission tool

	* tools/IpodDataSubmit.cs: A standalone tool to submit data about
	unknown iPods to banshee-project.org

2006-09-18  James Willcox  <snorp@snorp.net>

	* configure.ac: bump to 0.6.2
	* Device.cs: use new libipoddevice artwork format API, and change
	ours to be similar.  Also add new properties ManufacturerId,
	ProductionYear, ProductionWeek, and ProductionIndex.

2006-09-12  James Willcox  <snorp@snorp.net>

	* configure.ac: bump version to 0.6.1
	* src/TrackDatabase.cs: bump supported db version to 19

2006-09-11  James Willcox  <snorp@snorp.net>

	* src/Device.cs: use the 'library' playlist name as the device name
	and remove a bunch of dead code

2006-07-19  James Willcox  <snorp@snorp.net>

	* src/TrackDatabase.cs: bump the max supported database version to 18

2006-07-18  James Willcox  <snorp@snorp.net>

	* src/Photo.cs: add an internal CurrentFullSizeFileName property
	* src/PhotoDatabase.cs: make sure old photos are removed

2006-07-06  Aaron Bockover  <aaron@abock.org>

	* configure.ac: Require libipoddevice 0.4.6+

2006-06-29  James Willcox  <snorp@snorp.net>

	* ui/ArtworkHelpers.cs: preserve aspect ratio when scaling

2006-06-29  James Willcox  <snorp@snorp.net>

	* ui/ArtworkHelpers.cs: remove the SetCoverArt/SetThumbnail methods,
	and just have ToBytes/ToPixbuf.  Also, do a better job of figuring
	out the endianess needed for the RGB565 images and handle rotation.

	* src/TrackDatabase.cs: when opening files for read-only access,
	just use File.OpenRead.

	* src/Device.cs: add the new Size and ImageType properties
	to ArtworkFormat

	* src/Thumbnail.cs: use the new Size property to ensure that the
	correct amount of data is received in SetData.

2006-06-27  James Willcox  <snorp@snorp.net>

	* src/TrackDatabase.cs: remove the length check in TrackRecord when
	saving, as it was really just for debugging.

2006-06-27  James Willcox  <snorp@snorp.net>

	* src/Track.cs: make the Id property useful (it is persisted across
	database saves) and remove the duplicate TrackRecord property

	* src/TrackDatabase.cs: assign TrackRecord.DatabaseId incrementally,
	not randomly.

2006-06-27  James Willcox  <snorp@snorp.net>

	* ui/ArtworkHelpers.cs: make a lame attempt at figuring out whether or
	not a thumbnail should be big endian

2006-06-23  James Willcox  <snorp@snorp.net>

	* src/PhotoDatabase.cs: don't be so clumsy when calculating child
	padding for detail records.

2006-06-23  James Willcox  <snorp@snorp.net>

	* src/PhotoDatabase.cs: ensure that the database directory exists
	before trying to write a file there.

2006-06-23  James Willcox  <snorp@snorp.net>

	* ui/ArtworkHelpers.cs: correctly pack/unpack IYUV data as contained
	in the TV thumbnails.

2006-06-22  James Willcox  <snorp@snorp.net>

	* src/Track.cs: added HasCoverArt
	* src/PhotoDatabase.cs: don't save thumbnails to the db if they
	are empty.

2006-06-22  James Willcox  <snorp@snorp.net>

	* ui/ArtworkHelpers.cs:
	* tools/PhotoAdder.cs:

	Moved the Pixbuf helpers to their own class (ArtworkHelpers) in the
	UI library.  Also added a little tool for adding a directory of
	images to a device.

2006-06-22  James Willcox  <snorp@snorp.net>

	* src/Thumbnail.cs: Dispose the pixbuf if a scaled version was created

2006-06-22  James Willcox  <snorp@snorp.net>

	* src/Track.cs: add stuff for removing cover art
	* src/Device.cs: add a LookupFormat method for getting the
	ArtworkFormat for the given ArtworkType

2006-06-22  James Willcox  <snorp@snorp.net>

	* src/Track.cs: add pixbuf helper methods for cover art

2006-06-22  James Willcox  <snorp@snorp.net>

	* src/Thumbnail.cs: add GetPixbuf()

2006-06-22  James Willcox  <snorp@snorp.net>

	* src/Thumbnail.cs: add SetDataFromPixbuf, which will do all the
	rgb565 packing, etc.

2006-06-21  James Willcox  <snorp@snorp.net>

	* Fix a ton of photo/artwork bugs, flesh out the public API some more

2006-06-16  James Willcox  <snorp@snorp.net>

	* src/PhotoDatabase.cs: more write fixes.  It can now read/write the
	art and photo database without corruption.

2006-06-16  James Willcox  <snorp@snorp.net>

	* fix the test cases

2006-06-16  James Willcox  <snorp@snorp.net>

	* Use IList<T> instead of ReadOnlyCollection<T> in the public API

2006-06-16  James Willcox  <snorp@snorp.net>

	* src/PhotoDatabase.cs: read/write the full size image records

2006-06-16  James Willcox  <snorp@snorp.net>

	* Convert more stuff to use generic collections

2006-06-15  James Willcox  <snorp@snorp.net>

	* Add beginnings of write support for the photo database.  Can read
	back its own database, but the iPod doesn't like it yet.

2006-06-14  James Willcox  <snorp@snorp.net>

	* Add initial photo support.  Currently read-only, and still a bit raw.
	* switch to gmcs (C# 2.0), and start using generic collections
	* configure.ac: bump to 0.6.0

2006-06-10  Aaron Bockover  <aaron@abock.org>

	* ipod-sharp.mdp: Updated MonoDevelop project

	* src/Firmware/DmgImage.cs: 
	* src/Firmware/CpioArchive.cs: Added path-based API wrappers

	* src/Firmware/DmgFirmwareExtract.cs: Extracts all firmware images 
	based on the iPodUpdater DMG image (currently uses mount -t hfsplus)

	* src/Firmware/Makefile.am: Added DmgFirmwareExtract.cs

	* tools/Makefile.am: Added build rules for ipod-firmware-extract

	* tools/ExtractFirmware.cs: New command line tool to extract ipod images

2006-06-10  Aaron Bockover  <aaron@abock.org>

	* src/Dmg*.cs: Moved to src/Firmware

	* src/Firmware/Makefile.am: Added new ipod-sharp-firmware.dll assembly

	* src/Firmware/CpioArchive.cs: New class to read and extract files from
	CPIO archives in the ASCII header format

	* configure.ac: Generate src/Firmware/Makefile

	* src/Makefile.am: Added Firmware to SUBDIRS

	* tools/Makefile.am: Updated build to reflect renamed files

	* ipod-sharp.mdp: Updated MonoDevelop project

2006-06-09  Aaron Bockover  <aaron@abock.org>

	* {Makefile.am,*/Makefile.am}: Added MAINTAINERCLEANFILES to keep 
	clean up so fresh, Mr. Clean himself would wink at you (but Oxyclean's
	Billy Mays would just yell at you)

	* autogen.sh: Fixed it

2006-06-09  Aaron Bockover  <aaron@abock.org>

	* src/DmgImage.cs: Parse DMG partitions from a DMG image file; writes
	HFS+ ISO from DMG image
	
	* src/DmgPartition.cs: Read DMG partition information from plist XML
	node and extract HFS+ ISO image partition 
	
	* tools/DmgIsoExtract.cs: Command line tool to convert DMG images to
	HFS+ ISO images

	* src/Makefile.am: Added DmgImage.cs and DmgPartition.cs to build

	* tools/Makefile.am: Build dmg-iso-extract.exe tool

	* ipod-sharp.mds:
	* ipod-sharp.mdp: Added MonoDevelop project

2006-06-02  James Willcox  <snorp@snorp.net>

	* Track.cs: add Type property
	* TrackDatabase.cs: handle more stuff in TrackRecord, such as
	media type.

	Add stuff for video support

2006-06-01  James Willcox  <snorp@snorp.net>

	* Song.cs -> Track.cs

2006-06-01  James Willcox  <snorp@snorp.net>

	* SongDatabase.cs -> TrackDatabase.cs
	* ShuffleSongDatabase.cs -> ShuffleTrackDatabase.cs

2006-05-03  Aaron Bockover  <aaron@abock.org>

	* src/SongDatabase.cs (LoadPlayCounts): handle an invalid header (less
	than 16 bytes) and catch conversion exceptions
	
2006-04-23  James Willcox  <snorp@snorp.net>

	* src/ShuffleSongDatabase.cs: make internal instead of public
	* src/en/*: updated

2006-04-20  James Willcox  <snorp@snorp.net>

	* configure.ac: bump to 0.5.16

2006-04-19  James Willcox  <snorp@snorp.net>

	* src/EndianBinaryWriter.cs: write out the correct endianness

2006-04-13  James Willcox  <snorp@snorp.net>

	* src/Song.cs: add LatestPlayCount property, which indicates the play
	count since the last sync.
	* src/SongDatabase.cs: read the play count correctly

2006-04-13  James Willcox  <snorp@snorp.net>

	* src/EndianBinaryWriter.cs: added, allows one to control what
	byte order stuff is written as
	* src/SongDatabase.cs: be a lot more careful about byte order,
	and pave the way for the annoying reverse byte order databases
	found on Motorola SLVR.

2006-04-10  James Willcox  <snorp@snorp.net>

	* src/Device.cs: remove Reboot(), as libipoddevice no longer as it

2006-02-13  James Willcox  <snorp@snorp.net>

	* src/Song.cs: only create a new unique path in the Uri setter
	if the song isn't already on the device.
	* src/SongDatabase.cs: s/GetPodPath/GetUniquePodPath/ and
	add a GetPodPath, which just returns the ipodized path
	for a file.

2006-02-13  Aaron Bockover  <aaron@abock.org>

	0.5.15 Released
	
	* src/SongDatabase.cs: Set MaxSupportedVersion back to 17 (whoops); 
	(CheckFreeSpace): do not include file size in 'required' if the
	file is already in the device's Music/F*/* structure, and will not
	be copied; moved that check to 'IsSongOnDevice'

2006-02-12  Aaron Bockover  <aaron@abock.org>

	* configure.ac: Bump to 0.5.15 (snorp is release happy)
	* src/Song.cs: Added % to array of chars that need escaping
	* src/SongDatabase.cs: Do not try to copy a song that is already on
	the iPod

2006-02-12  Aaron Bockover  <aaron@abock.org>

	* src/Device.cs:
	* src/SongDatabase.cs: Allow "loading" an empty song database; useful
	if the real database cannot be loaded (unsupported version), and the
	consuming application wants to scan the iPod to recreate a database

2006-02-12  James Willcox  <snorp@snorp.net>

	* configure.ac: bump to 0.5.14 (sigh)

2006-02-12  James Willcox  <snorp@snorp.net>

	* src/Song.cs: oops, do a value comparison when comparing
	the Uri.

2006-02-12  James Willcox  <snorp@snorp.net>

	* src/Song.cs: when setting the Uri for a song, don't do
	anything if the new value is the same as the old.

2006-02-12  James Willcox  <snorp@snorp.net>

	* src/SongDatabase.cs: don't try to emit SaveProgressChanged
	if nobody is listening.

2006-02-12  James Willcox  <snorp@snorp.net>

	* configure.ac: bump to 0.5.13

2006-02-12  James Willcox  <snorp@snorp.net>

	* src/SongDatabase.cs: fix the SaveProgressArgs.TotalProgress property
	* ui/ProgressDialog.cs: show a 'Finishing' message when
	the sync() is occurring.

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

	* configure.ac: Version 0.5.12
	* src/SongDatabase.cs: Send a null song in a progress event so 
	consumer app will know the sync is passed copy/write and in 
	the 'sync()' phase	

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

	* tests/IPodTests.cs: Device device = new Device() changed to just 
	new Device() since the local var is never used
	* src/SongDatabase.cs: Use Mono.Unix.Native.Syscall, Mono.Unix.Syscall is
	obsolete
	* src/DeviceEventListener.cs
	* src/SongDatabase.cs: Use #pragma warning disable/restore to hide
	warnings we know about

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

	* configure.ac: bump to 0.5.11.1 (0.5.11 had build issues)
	* tests/Makefile.am: link over ipod-sharp.dll if needed

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

	* configure.ac: bump to 0.5.11

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

	* src/SongDatabase.cs: support multiple On-The-Go playlists
	* tests/IPodTests.cs: updated for the above

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

	* src/SongDatabase.cs: rework progress reporting a bit and make
	Save do a sync(2) so Device.Eject doesn't take forever.

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

	* src/SongDatabase.cs: don't write library indices, as they are
	screwing things up for some reason.  Also add some things that
	are in new db versions (podcast playlist flag, etc).

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

	* src/Song.cs: add a Uri property.

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

	* tools/PodTool.cs: Updated to reflect Duration/FileName Song API changes
	* autogen.sh: Updated to reference configure.ac
	* configure.ac: Moved from configure.in; we keep with the times
	* configure.in: Removed, renamed to configure.ac; configure.in convention
	is depcrecated
	* configure.in: bump to 0.5.10, require libipoddevice 0.3.5
	* src/Device.cs (ArtworkFormats): fixed offset problem; there is
	two bytes of padding (0xffff) after each struct entry

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

	* src/Device.cs: add ArtworkFormats field
	* src/Initializer.cs: cleanup unused methods

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

	* src/Song.cs: s/Filename/FileName/ and s/Length/Duration/

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

	* configure.in: bump to 0.5.9

2005-10-28  James Willcox  <snorp@snorp.net>

	* src/SongDatabase.cs: bump the supported db version to 16

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

	* src/DeviceModel.cs: Add enums for VideoWhite, VideoBlack iPods
	* src/DeviceGenerations.cs: Add Fifth Generation Enum
	* configure.ac: Require libipoddevice 0.3.4, bump to 0.5.8

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

	* src/SongDatabase.cs: up the newest known db version to 15, which
	is what iTunes 6 uses.  Adding/removing songs still works without
	further modification.
	* configure.in: bump to 0.5.7

2005-09-24  James Willcox  <snorp@snorp.net>

	* src/SongDatabase.cs: nuke all of the locks.  The consumer
	is responsible for all locking now.
	* src/Device.cs: ditto

2005-09-22  James Willcox  <snorp@snorp.net>

	* tests/IPodTests.cs: fix two of the tests, as they wrongly assumed
	that song ids were persistent.

2005-09-22  James Willcox  <snorp@snorp.net>

	* configure.in: bump version to 0.5.6

2005-09-22  James Willcox  <snorp@snorp.net>

	* src/SongDatabase.cs: if the OTG playlist file is empty, do not
	try to read it.

2005-09-22  James Willcox  <snorp@snorp.net>

	* src/Initializer.cs: remove the UseDefaultContext property
	(it will always use the default context), and make this class
	internal again.

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

	* src/Utility.cs: Use new DateTime(1904, 1, 1) instead of 
	DateTime.Parse("1/1/1904")... reduce parsing overhead and eliminate
	locale conflicts

2005-09-15  James Willcox  <snorp@snorp.net>

	* configure.in: bump to 0.5.5
	* src/SongDatabase.cs: reassign the track ids on every save.
	Apparently if the ids are not sequential without gaps, the iPod
	will not show the songs after the gap.  Also, write out
	library index records.
	* src/Device.cs: enable write support on v14 databases.

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

	* configure.in: Require libipoddevice 0.3.3
	* src/SongDatabase.cs: Throw an unsupported exception if DB version is 
	greater than 14
	* src/Device.cs: support libipoddevice "device-model-string" property,
	bound as Device.ModelString, return false for Device.CanWrite if
	SongDatabase.Version is 14 or greater (we can't write that out yet)

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

	* configure.in: bump to 0.5.4, require libipoddevice 0.3.2
	* src/DeviceEventListener.cs: got rid of compiler warnings about unused
	methods
	* src/SongDatabase.cs: Added ShuffleSongDatabase.Save call to 
	SongDatabase.Save, got rid of compiler warnings about unused vars, 
	update Song.Filename after CopySong
	* src/Device.cs: Added ControlPath property
	* src/Utility.cs: Moved Utility class from SongDatabase.cs to here, added
	new static method: Utility.ReverseByteOrder(short)
	* src/ShuffleSongDatabase.cs: writer for the iTunesSD database unique
	to the iPod Shuffle

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

	* configure.in: bump to 0.5.3

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

	* src/Song.cs: use the UserId property to determine whether or not
	a song is protected.

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

	* configure.in: bump version to 0.5.2

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

	* configure.in: require mdassembler
	* src/Makefile.am: use mdassembler (oops)
	* src/en/*: updated

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

	* src/en/*: update docs
	* src/Makefile.am: don't rely on monodoc for the sources dir, use
	pkg-config.
	* configure.in: don't require monodoc

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

	* src/Playlist.cs: add some events
	* src/SongDatabase.cs: ditto

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

	* src/Playlist.cs: fix the API so it takes indices instead of Songs
	* src/SongDatabase.cs: do stuff for the above
	* src/en/*: updated docs
	* tests/IPodTests.cs: fix a test and remove an invalid one
	* tests/Makefile.am: remove a couple of the tarballs from the test set
	for now, since they are missing some files.

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

	* src/DeviceModel.cs: updated again, added 'Invalid'
	* src/Device.cs: add the Reboot method

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

	* src/DeviceModel.cs: adjusted to match the new libipoddevice enum
	* src/DeviceGeneration.cs: added
	* src/Capacities.cs: moved into libipoddevice, so remove it here
	* src/capacities.txt: ditto

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

	* src/Device.cs: add a VolumeLabel property

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

	* src/Capacities.cs: if the model is null, don't blow chunks

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

	* src/SongDatabase.cs: if the iTunesDB file does not exist, allow
	one to be created.
	* tests/ipod-test-db-blank.tar.gz: add a test for the above

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

	* src/en/*: update docs

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

	* ipod-sharp: Version 0.5.1
	* configure.in: Requires libipoddevice >= 0.2.6, Bumped version to 0.5.1
	* src/Device.cs: Device.CanWrite binding for new can-write property 
	in libipoddeivce

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

	* src/Capacities.cs: we're not including the first letter in the model
	so use the appropriate substring.

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

	* src/SongDatabase.cs: only open stuff in FileAccess.Read where we can

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

	* configure.in: up version to 0.5.0

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

	* src/SongDatabase.cs: oops, avoid a NRE with database versions < 13

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

	* src/SongDatabase.cs: as the podcast playlist doesn't appear
	to be special at all, remove the special API for it.
	* tests/IPodTests.cs: remove tests for the above

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

	* ui/DeviceCombo.cs: make removing devices work again (oops)
	* src/SongDatabase.cs: fix support for 4th gen devices with v13
	databases.  The current 'spec' appears to be wrong about what
	the extra 'mhlp' record is.  It does not appear to be the
	podcast playlist, but rather a duplicate of the 'real' mhlp.
	* en/*: update docs

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

	* src/Initializer.cs: fix indentation
	* ui/DeviceCombo.cs: check the IPOD_DEVICE_IMAGES env var for
	fake devices and add those as well.
	* src/SongDatabase.cs: remove the annoying WriteLine

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

	* src/capacities.txt: Removed letter prefix from list
	* configure.in: bump to 0.4.11
	* src/Initializer.cs: Use either the default GMainContext or a new one,
	managed by ipod-sharp (default)

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

	* configure.in: bump to 0.4.10

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

	* src/Song.cs: add an IsProtected property, which indicates whether
	or not the song uses DRM.
	* src/SongDatabase.cs: reworked some stuff in TrackRecord for the above
	* src/Device.cs: don't assume that the error gets set if eject
	returns false.

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

	* src/en/*: update docs

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

	* src/SongDatabase.cs: add a 'Version' property.

	* src/Device.cs: add a 'Changed' event, which is fired whenever
	a property is changed.

	* ui/DeviceCombo.cs: remove the 'EjectActive' method, as it's not
	needed anymore.  Also, update the device name in response to
	the new Device.Changed event.

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

	* src/SongDatabase.cs: add stuff for reading/writing library index
	type mhod records.  Currently, though, only the old indices are
	removed when the db is saved.

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

	* src/SongDatabase.cs: correctly write out the number of child
	details in playlist records.

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

	* src/SongDatabase.cs: don't pad 'mhit' records

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

	* src/SongDatabase.cs: more work on PlaylistItemRecord, updated
	to match the most recent spec.

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

	* src/SongDatabase.cs: change unknownOne in PlaylistItemRecord to be 0
	instead of 1, as that's what iTunes does.  Make PadLength 8 to see if
	that "fixes" problems with 4th devices.
	* src/Device.cs: add AdvertisedCapacity property
	* src/Capacities.cs: new file, gets advertised capacity info, given
	a model number.
	* src/capacities.txt: a little text db that maps model -> capacity

2005-07-26  James Willcox  <snorp@snorp.net>

	* src/Device.cs: wrap the new device properties in libipoddevice

2005-07-26  James Willcox  <snorp@snorp.net>

	* src/SongDatabase.cs: the type 100 mhod following a mhit is now
	considered a child in database version 13, and the size must
	be calculated appropriately.

2005-07-26  James Willcox  <snorp@snorp.net>

	* src/SongDatabase.cs: write all the extra unknown fields out in
	TrackRecord, if the database version is >= 12.

2005-07-26  James Willcox  <snorp@snorp.net>

	* src/SongDatabase.cs: TrackRecord was reading/writing some things in
	(apparently) the wrong order, so fix that.

2005-07-26  James Willcox  <snorp@snorp.net>

	* src/SongDatabase.cs: when dealing with tracks, don't read/write
	the 'remainder'.

2005-07-20  James Willcox  <snorp@snorp.net>

	* src/Initializer.cs: use g_type_init instead of Gtk.Application.Init.
	We do not require an X connection, etc.

2005-07-20  James Willcox  <snorp@snorp.net>

	* src/Initializer.cs: use a separate thread for hal
	* ui/DeviceCombo.cs: since events come in on a thread, do stuff
	in an idle handler.

2005-07-19  James Willcox  <snorp@snorp.net>

	* src/SongDatabase.cs: s/StatusHandler/SaveProgressHandler/ and add a
	'currentPercent' argument to it, which represents how much of the
	current song has been copied.  Also, made the Save method provide
	that information.

	* ui/ProgressDialog.cs: use the new 'currentPercent' info to provide
	a smoother progress bar.

2005-07-19  James Willcox  <snorp@snorp.net>

	* ui/ProgressDialog.cs: display 'current + 1' instead of 'current' in
	the progress handler, to be accurate.

2005-07-19  James Willcox  <snorp@snorp.net>

	* src/SongDatabase.cs: clean some of the internal bits up a bit,
	and remove RevertSong.
	* src/DatabaseReadException.cs: added
	* src/DatabaseWriteException.cs: ditto
	* src/en/*: update docs

2005-07-19  James Willcox  <snorp@snorp.net>

	* src/SongDatabase.cs: put files in the F00 style directories and
	rename them similar to how iTunes does it.  Patch from
	Aaron Bockover <aaron@aaronbock.net>

2005-07-18  James Willcox  <snorp@snorp.net>

	* src/SongDatabase.cs: remove from the 'library' playlist when removing a song.
	Also, don't force the PodcastUrl2 detail type to PodcastUrl.

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

	* configure.in: Check for ipoddevice >= 0.2.2
	* src/Makefile.am, tests/Makefile.am, ui/Makefile.am, tools/Makefile.am:
	Update compiler flags -o -> -out: and -r -> -debug

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

	* src/Makefile.am, ui/Makefile.am: since ipod-sharp[-ui] is still
	in development, don't install the assemblies to the GAC.
	* ipod-sharp.pc.in, ipod-sharp-ui.pc.in: add a 'Libraries' variable
	that contains the path to the assembly for apps to copy.

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

	* src/DeviceEventListener.cs: new, wraps the respective class in
	libipoddevice.
	* src/Initializer.cs: put all initialization stuff here, and have
	the static constructors call it.
	* ui/DeviceCombo.cs: use the new event listener to add/remove devices
	* src/en/*: update docs for the above

2005-07-09  James Willcox  <snorp@snorp.net>

	* src/en/*: update docs some more

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

	* src/SongDatabase.cs: add PodcastPlaylist property.  This playlist and
	the OnTheGo playlist are not listed in the Playlists property now, they
	are only acccesible through their respective properties.
	* src/Song.cs: add 'Category' and 'Grouping' properties.
	* src/en/*: update docs
	* test/IPodTests.cs: add/update tests for podcast stuff.

2005-07-05  James Willcox  <snorp@snorp.net>

	* src/en/*: updated

2005-07-05  James Willcox  <snorp@snorp.net>

	* src/Song.cs: add a 'PodcastUrl' property.
	* test/IPodTests.cs: add a test for the above

2005-07-05  James Willcox  <snorp@snorp.net>

	* src/SongDatabase.cs: support the newest database version with all the
	podcast stuff.  The special podcast playlist is not exposed yet in the
	public API.

2005-07-05  Ross Burton  <ross@burtonini.com>

	* configure.in:
	* src/Makefile.am:
	Allow the building of API docs to be disabled.

2005-06-28  James Willcox  <snorp@snorp.net>

	* ui/DeviceCombo.cs: oops, make Refresh public again

2005-06-27  James Willcox  <snorp@snorp.net>

	* ui/DeviceCombo.cs: change EjectActive() to be slightly less hacky

2005-06-24  James Willcox  <snorp@snorp.net>

	* ui/ProgressDialog.cs:
	* ui/ipod.gif:

	Add extra-slick iPod animation to the progress dialog.

2005-06-23  James Willcox  <snorp@snorp.net>

	* ui/DeviceCombo.cs: be a little more stetic when no
	devices are available.

2005-06-23  James Willcox  <snorp@snorp.net>

	* ui/ProgressDialog.cs: add evil hack for ellipsizing, and make
	the message when copying songs a bit nicer.

2005-06-22  James Willcox  <snorp@snorp.net>

	* ui/DeviceCombo.cs: added

2005-06-22  James Willcox  <snorp@snorp.net>

	* src/Song.cs: add the DateAdded property.

2005-06-22  James Willcox  <snorp@snorp.net>

	* configure.in: jack up the version arbitrarily
	* src/SongDatabase.cs: expose the compilation flag in songs,
	and also preserve extra data found in track records.
	* src/Song.cs:

2005-06-21  James Willcox  <snorp@snorp.net>

	* src/Device.cs: propagate exceptions when saving the equalizers
	and don't try to save equalizers if they weren't loaded

2005-06-21  James Willcox  <snorp@snorp.net>

	* src/Device.cs: load equalizers on demand

2005-06-21  James Willcox  <snorp@snorp.net>

	* ui/ProgressDialog.cs: don't use Label.Ellipsize, as it's not in
	gtk-sharp 1.9.x 

2005-06-21  James Willcox  <snorp@snorp.net>

	* src/SongDatabase.cs: Remove the 'Load' method, as it doesn't really
	fit well now that we have Device, etc.  Add 'Reload'.  Also, remove
	the default constructor.

2005-06-21  James Willcox  <snorp@snorp.net>

	* src/SongDatabase.cs: add events for save progress, instead of using
	a callback passed into the Save method.
	* ui/*: added a new assembly which contains gtk# widgets that are
	handy for using with ipod-sharp.  Currently it contains a progress
	dialog that shows save progress.
	* ipod-sharp.snk: moved from src/

2005-06-18  James Willcox  <snorp@snorp.net>

	* src/ipod-sharp.dll.config: added

2005-06-18  James Willcox  <snorp@snorp.net>

	* src/en/*: updated

2005-06-18  James Willcox  <snorp@snorp.net>

	* tests/Makefile.am:
	* tests/runtests.sh:

	Fix things so they work when builddir != srcdir.

2005-06-18  James Willcox  <snorp@snorp.net>

	* src/Equalizer.cs: added
	* src/Device.cs: add equalizer bits
	* src/SongDatabase.cs: clean up some
	* tests/IPodTests.cs: add equalizer tests
	* tests/tests/ipod-test-db-v12-a.tar.gz: add a EQ file, since it was missing one

2005-06-17  James Willcox  <snorp@snorp.net>

	* src/Device.cs: update bindings to handle the recently added
	GError arguments.
	* tests/IPodTests.cs: put funky UTF-8 strings in some of the tests

2005-06-17  James Willcox  <snorp@snorp.net>

	* tests/mktest.sh: Fixup a bit, and include more stuff in the tarball
	* tests/runtests.sh: Accept a device to test, which makes a test
	tarball out of it and runs the tests.

2005-06-17  James Willcox  <snorp@snorp.net>

	* src/Song.cs: add TotalTracks
	* tests/IPodTests.cs: add above to tests
	* tests/runtests.sh: added, convenience script
	* tests/Makefile.am: use runtests.sh

2005-06-17  James Willcox  <snorp@snorp.net>

	* src/SongDatabase.cs:
	* src/Song.cs: support setting PlayCount, LastPlayed, and Rating
	* src/IPodTests.cs: update tests for the above and other
	Song properties

2005-06-17  James Willcox  <snorp@snorp.net>
	
	* src/SongDatabase.cs: Add On-The-Go playlist support
	* src/Playlist.cs: ditto
	* tests/IPodTests.cs: add tests for the above

2005-06-17  James Willcox  <snorp@snorp.net>

	* tests/IPodTests.cs: moved from DatabaseTests.cs
	* tests/Makefile.am: s/db-tests.dll/ipod-sharp-tests.dll/

2005-06-17  James Willcox  <snorp@snorp.net>

	* src/SongDatabase.cs: don't write crap to stderr if the play counts
	can't be loaded.
	* tests/DatabaseTests.cs: s/ApplicationException/DeviceException/

	Start keeping a ChangeLog again, now that things are in svn.

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

	* src/SongDatabase.cs: check the free space before copying songs

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

	* src/SongDatabase.cs: fixup playlist creation a little, and add
	RemovePlaylist()

2005-05-10  James Willcox  <snorp@snorp.net>

	* src/SongDatabase.cs: Add API and fix things to enable creation
	of new playlists.

2005-05-10  James Willcox  <snorp@snorp.net>

	* import into baz

2005-05-10  James Willcox  <snorp@snorp.net>

	* src/SongDatabase.cs: get the filename from the record, when copying
	* src/Song.cs: sanitize the filename, since apparently '?' causes
	problems for bizarre reasons.
	* configure.ing: bump to 0.0.3

2005-05-10  James Willcox  <snorp@snorp.net>

	* configure.in: bump to 0.0.2

2005-05-10  James Willcox  <snorp@snorp.net>

	* src/SongDatabase.cs: rollback the db if something goes wrong while
	copying files.
	* src/Song.cs: support AAC files correctly, hopefully.
	* tools/PodTool.cs: add --dump-files option

2005-02-04  James Willcox  <james@ximian.com>

	* tests/DatabaseTests.cs: add an assertion

2005-02-04  James Willcox  <james@ximian.com>

	* Makefile.am: add tests subdir
	* configure.in: add --disable-tests
	* src/Song.cs: fix filename handling
	* src/SongDatabase.cs: fix miscellenous crap
	* tests/DatabaseTests.cs: added
	* tests/Makefile.am: ditto 
	* tests/ipod-test-db.tar.gz: ditto
	* tools/PodTool.cs: add --clear

2005-01-24  James Willcox  <snorp@snorp.net>

	* src/Makefile.am:
	* tools/Makefile.am:

	Fix the dist (sort of)

