2008-10-21  Linus Walleij <triad@df.lth.se>

	* src/device-flags.h: actually the SanDisks cannot handle
	  PTP_OPC_DateModified at ALL, not even as part of the
	  initial update so rename the flag to something sensible.
	* src/music-players.h: consequental changes.
	* src/libmtp.c: disable all use of PTP_OPC_DateModified if
	  flag is set, not just updates.

2008-10-16  Linus Walleij <triad@df.lth.se>

	* src/device-flags.h: new flag for broken updates of
	  PTP_OPC_DateModified.
	* src/music-players.h: tag all SanDisk devices with this
	  flag. Bug appeared in them.
	* libmtp.c: avoid updating PTP_OPC_DateModified on broken
	  devices.

2008-09-28  Alvin <alvinbeach@gmail.com>

	* src/libmtp.c: fix several bugs in Ogg filetype support.

2008-09-26  Richard Low <richard@wentnet.com>

	* src/libmtp.c: check propdesc before setting props in
	  create_new_abstract_list()

2008-09-25  Linus Walleij <triad@df.lth.se>

	* configure.ac: bump to 0.3.3.
	* src/Makefile.am: interface to .so.8.1.0
	* Release as 0.3.3.
	
2008-09-24  Linus Walleij <triad@df.lth.se>

	* src/libmtp.h.in: add new filename setting functions, patch
	  from Florent Mertens <flomertens@gmail.com>.
	* src/libmtp.c: implementation.
	* src/playlist-spl.c: consequental changes.
	* src/libmtp.sym: consequental changes.
	* Fixup patch from Alvin later this day.
	* Note to self: remember to bump soname to .so.8.1.0.

2008-09-23  Richard Low <richard@wentnet.com>

	* src/libmtp.c: check for NULL storage
	* src/libusb-glue.c: return PTP_RC_OK on zero read
	* src/music-players.h: give Samsung YP-10 DEVICE_FLAG_NO_ZERO_READS

2008-09-22  Linus Walleij <triad@df.lth.se>

	* src/libmtp.c: make sure we don't try to fit a new file onto
	  a ROM storage. Add some pretty-print to FourCC codecs so
	  you can actually understand the enumerations.

2008-09-20  Joe Nahmias <joe@nahmias.net>

	* examples/sendtr.c: added option to specify which 
	  storage_id the track should be copied.

2008-09-20  Linus Walleij <triad@df.lth.se>

	* configure.ac: bump to 0.3.2.
	* src/Makefile.am: bump to libmtp.so.8.0.2, compatible
	  interface.
	* Release this as 0.3.2 mainly to get the Creative fixes out.

2008-09-17  Linus Walleij <triad@df.lth.se>

	* src/libmtp.h.in: new helper macros from
	  Alvin <alvinbeach@gmail.com> plus some docs.

2008-09-12  Linus Walleij <triad@df.lth.se>

	* src/music-players.h: drop bug flags off the Creative devices.
	  I am confident that the bugs they were masking have been
	  fixed now.

2008-09-07  Richard Low <richard@wentnet.com>

	* src/music-players.h: added Panasonic P905i

2008-09-05  Marcus Meissner <meissner@suse.de>

	* src/libmtp.sym: update symbol export table.
	* src/Makefile.am: fix up some magic for symbol export.

2008-09-04  Linus Walleij <triad@df.lth.se>

	* src/libmtp.c: look up the filename for playlists if the name is 
	  missing or not properly set. Not doing the same for albums -
	  these must have proper metadata.
	* src/music-players.h: more players as usual.
	* examples/sendtr.c: more warnings.

2008-08-31  Linus Walleij <triad@df.lth.se>

	* src/ptp.h: sync to upstream.
	* src/ptp.c: sync to upstream.

2008-08-30  Chris Bagwell <chris@cnpbagwell.com>

	* src/libusb-glue.c: make it possible to have per-command
	  or otherwise altered timeout values for different PTP
	  request/response sequences.
	* src/libusb-glue.h: dito.
	* src/libmtp.c: increase USB timeout to 30s when getting
	  a complete track listing off the device.
	* src/music-players.h: as a consequence, the Sirus Stiletto
	  no longer needs any brokenness flag.

2008-08-30  Linus Walleij <triad@df.lth.se>

	* src/ptp.c: sync to upstream.

2008-08-28  Linus Walleij <triad@df.lth.se>

	* examples/sendtr.c: fix non-strdup():ed strings to be
	  copied, patch courtesy of Juanan Pereira.

2008-08-25  Linus Walleij <triad@df.lth.se>

	* src/Makefile.am: bump interface a patchlevel. (Fully
	  compatible.)
	* configure.ac: bump version to 0.3.1.
	* Release as libmtp 0.3.1.

2008-08-18  Linus Walleij <triad@df.lth.se>

	* src/libusb-glue.c: some vartype and return flunkies.
	* configure.ac: check for locale.h
	* examples/util.c: set locale to pick up environment.

2008-08-17  Linus Walleij <triad@df.lth.se>

	* src/libusb-glue.c: some handling of ptp_usb_getdata()
	  when passed in data size was 0xffffffffU, data
	  sent in first transaction was ignored, fix by
	  Rob Woolley.
	* src/ptp-pack.c: sync in from upstream libgphoto2.
	* src/README: move relevant stuff to README.
	* README: see above.

2008-08-15  Alistair Boyle <alistair.js.boyle@gmail.com>

	* src/playlist-spl.c: added handling of Samsung's
	  proprietary .spl playlist format.
	* src/playlist-spl.h: dito.
	* src/device-flags.h: new flags for Samsung playlists.
	* src/music-players.h: assign flags.
	* src/libusb-glue.h: convenience macros.
	* src/libmtp.c: integrate Samsung playlists.

2008-08-15  Linus Walleij <triad@df.lth.se>

	* examples/Makefile.am: break out utility functions
	  (currently only checklang()) to a separate file.
	* examples/util.h: dito.
	* examples/util.c: dito.
	* examples/detect.c: dito.
	* examples/sendtr.c: dito.
	* examples/connect.c: dito.

2008-08-14  Linus Walleij <triad@df.lth.se>

	* src/libmtp.c: add some documentation to file and track
	  listing functions to that it's clear that you have to
	  inspect storage_id and parent_id in order to group files
	  into storages and/or folders.

2008-07-31  Linus Walleij <triad@df.lth.se>

	* src/music-players.h: several new devices and flags.

2008-06-24  Linus Walleij <triad@df.lth.se>

	* TODO: updates.
	* src/Makefile.am: bump interface to libmtp.so.8.0.0.
	  It's NOT compatible!
	* RELEASE libmtp 0.3.0 and let the apps developers have
	  their apps fixed!
	
2008-06-22  Linus Walleij <triad@df.lth.se>

	* src/libmtp.h.in: removed the parenthandle argument from
	  LIBMTP_Send_File_From_File(),
	  LIBMTP_Send_File_From_File_Descriptor(),
	  LIBMTP_Send_Track_From_File(),
	  LIBMTP_Send_Track_From_File_Descriptor(),
	  LIBMTP_Create_New_Playlist() and
	  LIBMTP_Create_New_Album()
	  Now you must pass in parent ID from a metadata or
	  filedata set. Use the respective field of the
	  file, track, playlist or album struct to pass in
	  a parent handle when calling these functions from
	  now on. The bonus for changing your code is that you
	  can now also pass in a storage_id with any metadata
	  set! Consequently LIBMTP_Create_Folder() was
	  altered to accept THREE metadata arguments: name,
	  parent_id and storage_id. All calls to any of these
	  functions in any referring code need to be altered to
	  use this scheme. It should be quite self-evident for
	  most code and easy to perform.
	* src/libmtp.c: changed outlined above were implemented.
	* examples/newfolder.c: consequental changes.
	* examples/sendfile.c: consequental changes.
	* examples/sendtr.c: consequental changes.
	* examples/albumart.c: consequental changes.
	* examples/newplaylist.c: consequental changes.
	* examples/files.c: consequental changes.
	* examples/tracks.c: correct misleading strings.

2008-06-15  Linus Walleij <triad@df.lth.se>

	* src/libmtp.c: only look for default folders in the
	  root folder on the primary storage, even.

2008-06-14  Linus Walleij <triad@df.lth.se>

	* src/libmtp.c: only look for default folders in the
	  primary storage, and only try to put files there
	  if they are targetting the primary storage.
	
2008-06-08  Linus Walleij <triad@df.lth.se>

	* configure.ac: check for the langinfo.h header.
	* examples/connect.c: check charset properly.
	* examples/sendtr.c: dito.
	* src/music-players.h: new devices galore.
	
2008-06-03  Linus Walleij <triad@df.lth.se>

	* src/device-flags.h: new device flag for devices that
	  always need to have their device descriptor probed.
	* src/music-players.h: generously add this flag to all
	  SanDisk devices. The e280v2 and Fuze are known to be
	  especially problematic.
	* src/libusb-glue.h: helper macro.
	* src/libusb-glue.c: massage "OS Descriptor" on demand
	  when opening the device.
	* src/music-players.h: detailed info and flags for the
	  SanDisk Sansa players. More to be done, probably.

2008-06-02  Linus Walleij <triad@df.lth.se>

	* src/libusb-glue.c: refactor PTP_USB to use the raw
	  device and its contained deviceinfo to store and
	  retrieve the device flags. (This is starting to look
	  object oriented...)
	* src/libusb-glue.h: accessor functions to simplify
	  switching on the device flags and increase the code
	  readability.
	* src/libmtp.c: use the new accessor functions.
	
2008-06-01  Linus Walleij <triad@df.lth.se>

	* src/libmtp.c: use LIBMTP_Detect_Raw_Devices() and
	  LIBMTP_Open_Raw_Device() inside 
	  LIBMTP_Get_First_Device() refactoring. Move
	  params creation into this file.
	* src/libusb-glue.c: move params creation away
	  from here.

2008-05-30  Linus Walleij <triad@df.lth.se>

	* src/libusb-glue.c: unused variable.
	* examples/detect.c: switch to using raw device
	  interface for opening devices.

2008-05-28  Linus Walleij <triad@df.lth.se>

	* src/libmtp.c: internally using the raw devices to
	  get a list of devices.
	* src/ptp.c: sync to upstream.
	* src/ptp.h: dito.
	* src/ptp-pack.c: dito.
	* src/libmtp.h.in: move raw device detection to use
	  error codes. Add interface to open a raw device!
	* src/libusb-glue.h: make the old device list internal,
	  use raw device in interface for configuring USB.
	* src/libusb-glue.c: fix up error messages. Move the
	  raw device detection interface to use error codes.
	* examples/detect.c: fix up error messages. Use error
	  codes for raw devices.

2008-05-23  Linus Walleij <triad@df.lth.se>

	* src/libmtp.c: after sending a file, look up the
	  resulting file metadata from the cache to make sure
	  that parent_id is identical to that the file actually
	  gets on the device. If root folder (0) is selected, we
	  hardcode thing to 0xffffffffu to be used as parent,
	  but it will probably end up being 0 for example.
	  Also fix an issue with ptp_mtp_getobjectproplist()
	  sometimes returning a NULL pointer while still
	  claiming there are props in the list.
	* src/libusb-glue.h: add a function to get the preferred
	  playlist extension.
	* src/libusb-glue.c: "written" variable in
	  ptp_usb_sendreq() may end up uninitialized if
	  ptp_write_func() fails. Initialize it to 0.
	  Get the prefered playlist extension.

2008-05-18  Richard Low <richard@wentnet.com>

	* src/device-flags.h: added
	  DEVICE_FLAG_BROKEN_SET_SAMPLE_DIMENSIONS device flag
	* src/music-players.h: ditto. Also set Samsung YH-999 to
 	  DEVICE_FLAG_BROKEN_MTPGETOBJPROPLIST_ALL based on users
	  experience.
	* src/libmtp.c: added
          DEVICE_FLAG_BROKEN_SET_SAMPLE_DIMENSIONS device flag

2008-05-05  Linus Walleij <triad@df.lth.se>

	* src/libusb-glue.c: assign device name and flags to
	  detected raw devices, slowly preparing to move to 
	  using the raw device detection internally as well.

2008-05-04  Linus Walleij <triad@df.lth.se>

	* src/libmtp.h.in: move useful filetype macros here so
	  external programs can use them.
	* src/libmtp.c: consequental changes.
	* examples/sendtr.c: use the new macro to detect track
	  content.

2008-05-03  Johannes Huber <johub1180@gmx.at>

	* src/libmtp.h.in: add interface for setting album composer,
	  needed for classical albums, on abstract albums.
	* src/libmtp.c: implement it.
	* examples/albums.c: consequental changes.
	* examples/connect.c: dito.
	* examples/sendtr.c: dito.
	* examples/tracks.c: dito.
	* AUTHORS: new contributor.

2008-04-27  Linus Walleij <triad@df.lth.se>

	* src/libmtp.c: recognize audio files as tracks, since this
	  is what WMP does. (e.g. it sets playlength on movies
	  to enable skip bar) also define macros for audio/video/both
	  types and tidy up a bit.

2008-04-24  Linus Walleij <triad@df.lth.se>
	
	* src/libmtp.h.in: added preliminary interface for getting
	  raw devices.
	* src/libusb-glue.c: the implementation is all here!
	* src/libusb-glue.h: add some bus and device fields to the
	  internal device list.
	* examples/detect.c: exercise the raw device detection code.
	
2008-03-26  Linus Walleij <triad@df.lth.se>

	* examples/pathutils.c: fix a folder identification bug,
	  courtesy of Dr Nicholas Jacobs.

2008-03-12  Linus Walleij <triad@df.lth.se>

	* configure.ac: bad mailing list address. (Marcus) Bump to
	  version 0.3.0.
	* examples/hotplug.c: switch from using "info.bus" to
	  using "info.subsystem" to identify USB events. (Marcus).
	* src/libmtp.c: add parent_id to albums and playlists,
	  based on a patch by Ali Shah.
	* src/libmtp.h.in: dito.
	* examples/playlists.c: consequental changes.
	* examples/albums.c: consequental changes.
	* This will be a new major revision of the API/ABI no
	  matter what.

2008-03-08  Linus Walleij <triad@df.lth.se>

	* src/libusb-glue.c: left debug prints on :-(
	* configure.ac: set to 0.2.6.1
	* Release as 0.2.6.1

2008-03-02  Linus Walleij <triad@df.lth.se>

	* configure.ac: prepare 0.2.6 release.
	* src/Makefile.am: bump to compatible interface, 
	* src/ptp.c: sync in upstream, a Sansa fix!
	* src/ptp.h: sync in upstream.
	* doc/Doxyfile.in: retire obsoleted parameters.
	* Release this as 0.2.6!
	
2008-02-24  Richard Low <richard@wentnet.com>

	* src/music-players.h: add DEVICE_FLAG_BROKEN_MTPGETOBJPROPLIST_ALL
	  for a broken Philips player.

2008-02-18  Linus Walleij <triad@df.lth.se>

	* examples/pathutils.c: fix up item ID typing to uint32_t,
	  handle file names passed in as arguments at suggestion from
	  anonymous mail list user.
	* examples/pathutils.h: move a function static.

2008-02-12  Nicolas Pennequin <nicolas.pennequin@free.fr>

	* examples/sendtr.c: add transferred tracks to albums if possible.

2008-02-10  Scott Snyder <snyder@fnal.gov>

	* src/libusb-glue.c: finally fix up the short header detection
	  to skip over zero packets when encountered.
	* examples/pathutils.c: fix a problem where all files sent has
	  to include a "." (period).

2008-02-06  Linus Walleij <triad@df.lth.se>

	* src/libusb-glue.c: wait for response > 0 instead of > 2.

2008-01-28  Linus Walleij <triad@df.lth.se>

	* src/libmtp.c: LIBMTP_Get_Filemetadata() return metadata for
	  folders (associations) too. There is really no reason why it
	  shouldn't and it's good for use internally. 
	  LIBMTP_Get_Filelisting_With_Callback() will still not return
	  any associations however. We want to use the folder functions
	  for that.

2008-01-28  Linus Walleij <triad@df.lth.se>

	* src/libmtp.h.in: withdraw LIBMTP_Set_Object_Parent() function,
	  no known devices will support this.
	* src/libmtp.c: dito. Fix up some problems with the 
	  LIBMTP_Set_Object_Filename() function.

2008-01-27  Linus Walleij <triad@df.lth.se>

	* src/libmtp.c: fix up some minor things and documentation on
	  the object handling functions.

2008-01-27  Florent Mertens <flomertens@gmail.com>

	* src/libmtp.h.in: new functions to rename object filenames
	  and change object parents. Good when modifying the device
	  as a file system, LIBMTP_Set_Object_Filename(),
	  LIBMTP_Set_Object_Parent().
	* src/libmtp.c: implementation.

2008-01-27  Linus Walleij <triad@df.lth.se>

	* src/libusb-glue.c: re-read response from device until
	  it atleast exceeds two bytes. This fixes a problem with
	  the Samsung YP-U3 when populated with many, many songs.

2008-01-21  Richard Low <richard@wentnet.com>

	* src/music-players.h: add Thomson Lyrca HC308A, remove
	  incorrect ID for Creative Zen 8GB

2008-01-20  Richard Low <richard@wentnet.com>

	* src/libmtp.c: add LIBMTP_Get_Representative_Sample()
	* src/libmtp.h.in: ditto

2008-01-14  Linus Walleij <triad@df.lth.se>
	
	* src/libmtp.c: add LIBMTP_Get_Manufacturername(). Remember
	  to bump soname (compatible) in 0.2.6 (or whatever we name it).
	  0.3.0 perhaps?
	* src/libmtp.h.in: dito.
	* src/libmtp.c: detect default folders named "Datacasts" and
	  "Texts".

2008-01-11  Linus Walleij <triad@df.lth.se>

	* examples/pathutils.c: recognize .bin files as firmware,
	  used by e.g. RockBox developers. Doesn't cost anything to
	  add.
	
2008-01-08  Linus Walleij <triad@df.lth.se>

	* configure.ac: bump to 0.2.5.
	* src/Makefile.am: interface to libmtp.so.7.0.2
	  (compatible).
	* Release as libmtp 0.2.5. Why not?

2007-12-28  Linus Walleij <triad@df.lth.se>

	* src/libmtp.c: make libmtp use PTP_OPC_AlbumArtist on albums,
	  instead of the (seldom present) PTP_OPC_Artist tag. Use both
	  if both are supported. We're not setting AlbumArtist on regular
	  tracks though, what's the point, and what does it mean if this
	  differs from Artist??

2007-11-30  Linus Walleij <triad@df.lth.se>

	* src/music-players.h: new flag for the YP-T10.
	* src/device-flags.h: define the new flag, that is needed
	  to support Ogg files on these devices.
	* src/libmtp.c: recognize and report Ogg support, set type
	  to unknown when transferring.

2007-11-22  Linus Walleij <triad@df.lth.se>

	* configure.ac: bump to 0.2.4.
	* src/Makefile.am: bump age of soversion (compatible).
	* RELEASE 0.2.4 mainly to get some new device support out there.

2007-11-09  Linus Walleij <triad@df.lth.se>

	* src/libusb-glue.c: avoid probing deeper into interfaces
	  that have a string describing them as "MTP" after a
	  suggested patch from Alexander Kanavin <ak@sensi.org>.
	* examples/albumart.c: patch from Chris Waters <xtifr@debian.org>
	  replacing calls to atoi() with calls to strtoul(). Since
	  object ID:s are unsigned long, atoi() would reject too
	  high object IDs. The patch also fix a few memory leaks.
	  THANKS DEBIAN! We love our downstream!
	* examples/newplaylist.c: dito.
	* examples/pathutils.c: dito.
	* examples/thumb.c: dito.

2007-11-05  Linus Walleij <triad@df.lth.se>

	* src/libmtp.c: use OPFF codes instead of DPFF codes,
	  we're dealing with objects, not device props.
	* src/ptp.c: silence some OPFF freeing warnings.

2007-11-02  Linus Walleij <triad@df.lth.se>

	* src/libusb-glue.c: try to repair header here instead of
	  ignoring error in ptp.c.
	* src/music-players.h: flag some more Creative devices as
	  broken getting all files.
	* src/Makefile.am: reference the 2 new .h files.

2007-10-31  Linus Walleij <triad@df.lth.se>

	* src/ptp.c: bring cache handling into this file.
	* src/ptp.h: dito.
	* src/libmtp.c: consequential changes.

2007-10-30  Linus Walleij <triad@df.lth.se>

	* src/music-players.h: split this off as a shared file
	  between us and libgphoto2 so we get out of the syncing
	  nightmare.
	* src/device-flags.h: split out this as well, Marcus
	  might want it.
	* src/libusb-glue.c: consequential movement.
	* src/libmtp.c: reference new flag file.
	* src/ptp.c: sync in upstream.
	* src/ptp.h: dito.

2007-10-25  Linus Walleij <triad@df.lth.se>

	* Release 0.2.3. Nice bunch of cleaned-up code, sad we had
	  too bump soversion but such is life.

2007-10-23  Linus Walleij <triad@df.lth.se>

	* src/libmtp.c: make LIBMTP_Send_File_From_File_Descriptor()
	  survive the case where device->storage is NULL. This happens
	  on the Nokia 3110c.

2007-10-19  Linus Walleij <triad@df.lth.se>

	* src/libmtp.c: bring the cache handling code together at the
	  end of the file, refactor so as to avoid code duplication,
	  do things in one place only and looking good. Get folder
	  list recursively instead, this works better with fast dir
	  retrieveal I think.

2007-10-18  Linus Walleij <triad@df.lth.se>

	* src/libmtp.c: fix the deletion of cached properties when
	  removing objects. This code was seriously broken.

2007-10-16  Jeff Mitchell <kde-dev@emailgoeshere.com>

	* src/libusb-glue.c: remove the previously-concatenated vendor
	  and product string "name" field as it's now redundant
	* src/Makefile.am: interface to libmtp.so.7.0.0 (incompatible,
	  device_entry_struct members changed)
	* examples/hotplug.c: port to use vendor and product instead of
	  name, also some useful commenting in the fdi file

2007-10-15  Linus Walleij <triad@df.lth.se>

	* src/libusb-glue.c: repair headers, don't just ignore them.
	  Add support for broken set object proplist devices. Motorola
	  RAZR2 V8 has this problem.
	* src/libusb-glue.h: flag for broken set object proplist.
	* libmtp.c: avoid broken set object proplist.
	
2007-10-09  Jeff Mitchell <kde-dev@emailgoeshere.com>

	* src/libusb-glue.c: add separate vendor and product strings
	  in device entry structs
	* src/libmtp.h.in: update device entry structs to reflect this

2007-10-04  Linus Walleij <triad@df.lth.se>

	* src/libusb-glue.c: rm some pointless confusing defines
	  inherited from libgphoto2.
	* configure.ac: bump to 0.2.2
	* src/Makefile.am: interface to libmtp.so.6.0.2 (compatible)
	* Release as 0.2.2. Now is as good time as ever. Release
	  early and release often.
	
2007-10-03  Linus Walleij <triad@df.lth.se>

	* src/libusb-glue.c: tag the OLD Creative devices with
	  DEVICE_FLAG_BROKEN_MTPGETOBJPROPLIST_ALL, after clear
	  indications that it was broken when retrieveing folders
	  on all those devices. The newer devices (those supporting
	  32bit object size) presumably does not have this limitation.

2007-10-02  Linus Walleij <triad@df.lth.se>

	* src/libmtp.c: devices which represented file size with a
	  32bit value (some Creative devices) would return a bananas
	  file size. Fixed it up by...
	* src/libmtp.h.in: recycling the uint8_t "interface" 
	  field in the device struct as a holder of the object size 
	  for the device. This will make the new library binary 
	  compatible with version 0.2.1 since no-one should *ever* 
	  dereference that value (which used to be the USB interface 
	  number and is now the object size).
	* examples/files.c: display 64bit file sizes in hex correctly.

2007-09-29  Richard Low <richard@wentnet.com>

	* src/libmtp.c: avoid crash on failed connect

2007-09-28  Linus Walleij <triad@df.lth.se>

	* src/libusb-glue.h: introduce a new device flag for devices that
	  have broken PTP headers, first encountered on the Creative
	  ZEN 8GB.
	* src/libusb-glue.c: attempt to begin to work around the broken
	  PTP headers.

2007-09-25  Linus Walleij <triad@df.lth.se>

	* src/libusb-glue.h: add a new device flag for devices that don't
	  like it if you release the interface (or try to clear endpoints).
	* src/libusb-glue.c: dito, implement this flag, tag all SanDisk
	  Sansa devices with it except for the Linux-based Sansa Connect.

2007-09-23  Richard Low <richard@wentnet.com>

	* src/libusb-glue.c: updated some device flags, removed second
	  call to ptp_getdeviceinfo
	* src/libmtp.c: property cache fixes

2007-09-23  Linus Walleij <triad@df.lth.se>

	* src/libmtp.c: wrapped updating of playlists and albums into an
	  abstract function so we do it consistently. Added support for
	  tagging on modification date to files, tracks, playlists and
	  albums.

2007-09-21  Linus Walleij <triad@df.lth.se>

	* src/libusb-glue.c: flag the Samsung YH-820 with
	  DEVICE_FLAG_BROKEN_MTPGETOBJPROPLIST_ALL after tests by Stephan
	  Fabel.
	
2007-09-18  Linus Walleij <triad@df.lth.se>

	* src/libusb-glue.c: stop the endpoint unhalting/unstalling when
	  closing the USB device. It was AYBABTU the Samsungs 
	  (and others).

2007-09-17  Linus Walleij <triad@df.lth.se>

	* src/libusb-glue.c: silenced weirdo error message.

2007-09-16  Linus Walleij <triad@df.lth.se>

	* src/ptp.c: cancellation working *as it should*
	* src/ptp.h: dito.
	* src/libusb-glue.c: dito.
	* src/libusb-glue.h: dito.
	* src/libmtp.c: dito.
	* src/libmtp.h.in: new error code for cancellation.

2007-09-16  Richard Low <richard@wentnet.com>

	* src/libusb-glue.c: only read descriptors for devices we
	  don't know since it breaks on some devices
	* src/libmtp.c: a couple of bugs fixed in metadata retreival

2007-09-15  Linus Walleij <triad@df.lth.se>

	* src/ptp.c: get cancellation of xfers working.
	* src/libusb-glue.c: dito.
	* src/libusb-glue.h: dito.
	* src/libmtp.c: dito.

2007-09-14  Linus Walleij <triad@df.lth.se>

	* src/ptp.h: sync in upstream to get cancellation prototypes.
	* src/libusb-glue.c: first try to implement cancellation.
	* src/libmtp.c: dito. Bugfix to one of Marcus' realloc():s.

2007-09-12  Marcus Meissner <meissner@suse.de>

	* src/ptp-pack.c: sync to upstream, rewrote packing to use
	  a static array to be qsort():ed when reading in proplists.
	* src/ptp.c: reflect changes.
	* src/ptp.h: reflect changes.
	* src/libmtp.c: reflect changes.
	
2007-09-06  Linus Walleij <triad@df.lth.se>

	* examples/hotplug.c: edit up into a udev ruleset that is
	  inexorably complicated but probably compatible with most
	  udev versions out there. Now please DON'T update udev
	  styles again!

2007-09-05  Richard Low <richard@wentnet.com>

	* src/libmtp.c: album fixups

2007-09-05  Linus Walleij <triad@df.lth.se>

	* examples/hotplug.c: use old udev style by default, use new
	  if requested explicitly by a -U switch.

2007-09-04  Linus Walleij <triad@df.lth.se>

	* src/libmtp.c: make sure we query recursively supplying each
	  storage ID in turn, so we spin over storages. Also check
	  what storage may be available to store a file, if the first
	  one fails, try the next!

2007-09-01  Linus Walleij <triad@df.lth.se>

	* src/ptp-pack.c: make the resulting MTP proplist sorted by
	  object ID.
	* hotplug.sh.in: explicitly call BASH instead of just sh. Warn
	  if script is not run as root.
	
2007-08-29  Linus Walleij <triad@df.lth.se>

	* examples/Makefile.am: move include define from AM_CFLAGS to
	  AM_CPPFLAGS (as it should be) bug found by Petar Petrov 
	  <pesho.petrov@gmail.com>.
	* src/libusb-glue.c: strange misleading message corrected. Fix
	  up the horrid interface passing back-and-forward and confusing.
	* src/libusb-glue.h: dito.
	* src/libmtp.c: rid interface references, that's a USB issue!
	* src/libmtp.h.in: flag interface number in device struct as retired.

2007-08-28  Linus Walleij <triad@df.lth.se>

	* src/libmtp.c: retire the horrid, broken, stream send facility that
	  does not work on any device since they all want to know the file
	  size in advance. Add in some code to fall back on the recursive
	  metadata retrieveal if getting the whole long list fails.
	* src/libusb-glue.c: tag all Sansas as having broken GetObjectPropList
	  when all tags for all objects are requested. Scan each INTERFACE 
	  of the device for device descriptors.

2007-08-24  Linus Walleij <triad@df.lth.se>

	* src/libusb-glue.h: new device flag to strip all non-7bit chars from
	  filenames on some lame devices.
	* src/libusb-glue.c: tag the Philips Shoqbox with this flag.
	* src/libmtp.c: strip the non-7bit chars from filenames if that
	  flag is set.
	* src/unicode.h: introduce a 7bit-strip helper function.
	* src/unicode.c: dito.

2007-08-22  Linus Walleij <triad@df.lth.se>

	* src/libmtp.c: deal with setting of metadata sets for u16/u32:s that
	  are ranges or enums, rounding and twiddling if need be. This is
	  needed because some new devices (like the TrekStor Sweez,
	  has duration defined as a range: MIN 0, MAX 65535000, STEP 1
	  and Sandisk Sansa c240 has duration as range: MIN 0, MAX 2147483000, 
	  STEP 1000) whereas old devices would just accept any value.

2007-08-16  Richard Low <richard@wentnet.com>

	* src/ptp-pack.c: allow packing of NULL strings

2007-08-15  Robert Reardon <rreardon@monkshatch.vispa.com>

	* src/libmtp.c: return device max values for representative
	  samples.

2007-08-15  Richard Low <richard@wentnet.com>

	* src/libusb-glue.c: added Philips Shoqbox

2007-08-13  Linus Walleij <triad@df.lth.se>

	* src/ptp.c: sync to upstream.

2007-08-07  Linus Walleij <triad@df.lth.se>

	* configure.ac: bump to 0.2.1.
	* src/Makefile.am: interface to libmtp.so.6.0.1.
	* Release libmtp 0.2.1!

2007-08-06  Linus Walleij <triad@df.lth.se>

	* configure.ac: tag on the large file support compilation flag.
	* src/libmtp.c: smack up the data file transfer function so it
	  works again and *finally* should support 64bit sizes!
	  Then wrapped the track sending function around the file
	  sending function so there is no more pointless code duplication
	  giving rise to ever more bugs. Enable LFS, Large File Support so
	  we can handle 64bit files properly.
	* examples/sendtr.c: shape up print-outs, LFS support.
	* examples/sendfile.c: dito.

2007-08-06  Linus Walleij <triad@df.lth.se>

	* src/ptp.c: fixed a stray error print bug.
	* src/libmtp.c: overhaul of all proplist setting to follow the same
	  design pattern. Probably fixed a few opd memory leaks along the road.

2007-08-05  Richard Low <richard@wentnet.com>

	* src/libmtp.c: send 64 bit filesize

2007-08-04  Linus Walleij <triad@df.lth.se>

	* src/libmtp.c: fix up the 64bit filesize and tracksize support.
	  There were some bugs...
	* src/Makefile.am: tweak interface revision so that we produce
	  libmtp.so.6 now.
	* configure.ac: bump library revision to 0.2.0.
	* examples/hotplug.c: switch to use ATTR{} instead of SYSFS{}
	* Release libmtp 0.2.0!

2007-08-04  Richard Low <richard@wentnet.com>

	* src/libusb-glue.c: add Sansa m240 (a different ID to before)
	  Give the Toshiba Gigabeat S
	  DEVICE_FLAG_BROKEN_MTPGETOBJPROPLIST_ALL.

2007-08-03  Marcus Meissner <meissner@suse.de>

	* m4/byteorder.m4: byteorder fixes.

2007-07-30  Richard Low <richard@wentnet.com>

	* src/ptp-pack.c: fix up array packing

2007-07-30  Linus Walleij <triad@df.lth.se>

	* src/ptp-pack.c: try to get a uniform 64 bit
	  support, use some old macro code.

2007-07-29  Richard Low <richard@wentnet.com>

	* src/libmtp.c: 64 bit filesize support for tracks
	* src/ptp-pack.c: ditto
	* src/ptp.h: ditto

2007-07-27  Richard Low <richard@wentnet.com>

	* src/libmtp.c: Some better NULL checks

2007-07-27  Linus Walleij <triad@df.lth.se>

	* examples/hotplug.c: changed subsystem from "usb_device"
	  to "usb". Presumably a change in the kernel some time ago.

2007-07-21  Richard Low <richard@wentnet.com>

	* src/libmtp.c: Correctly bail out of LIBMTP_Get_Storage

2007-07-17  Linus Walleij <triad@df.lth.se>

	* examples/reset.c: Add a device reset program.
	* src/libmtp.c: Add reset command.
	* src/ptp.c: dito, and sync in upstream changes.
	* src/ptp.h: dito, and sync in upstream changes.
	* src/ptp-pack.c: sync in upstream changes.

2007-07-17  Richard Low <richard@wentnet.com>

	* src/libmtp.c: Added some more (paranoid) NULL checks

2007-07-14  Richard Low <richard@wentnet.com>

	* src/libmtp.c: Add a NULL check

2007-07-13  Richard Low <richard@wentnet.com>

	* src/libusb-glue.c: add Disney MixMax

2007-07-11  Linus Walleij <triad@df.lth.se>

	* src/libmtp.c: put in Tero's name in the preamble.
	* src/libusb-glue.c: make the dump function sump out the zuper zecret
	  devize dezcriptorz in clear text hex.

2007-07-10  Linus Walleij <triad@df.lth.se>

	* examples/hotplug.c: force HAL OGG support on iriver devices. 
	  They all have it! Also force for two other devices that does 
	  this.

2007-07-07  Linus Walleij <triad@df.lth.se>

	* src/libusb-glue.h: new flag for the case when getting the object
	  property list of all metadata for all objects is broken.
	* src/libusb-glue.c: tentatively tag a Philips device with this flag.
	* src/libmtp.c: fixed usage of returned pointers from realloc(),
	  introduce new flag.

2007-07-05  Tero Saarni <tero.saarni@gmail.com>

	* src/libmtp.c: update cache when manipulating objects instead of
	  always flushing the whole cache.

2007-07-03  Linus Walleij <triad@df.lth.se>

	* src/libmtp.c: use the params->proplist metadata cache. Help
	  rid all flush_handles() you can in order to add even more to
	  the efficiency of the cache.

2007-07-01  Linus Walleij <triad@df.lth.se>

	* src/ptp.c: sync to upstream gPhoto source.
	* src/ptp.h: dito.
	* src/ptp-pack.c: dito.
	* src/libmtp.c: use the params->objectinfo object info cache to
	  speed things up considerably. This is exactly what libgphoto2
	  does so now we move closer to upstream. I believe this also
	  fixes quite a few memory leaks because we weren't freeing the
	  strings inside the objectinfo previously.

2007-05-29  Linus Walleij <triad@df.lth.se>

	* src/libmtp.c: use the set object prop list command to set album
	  props if available. Follow metadata set design pattern used for
	  tracks; check first if the object type can set name/artist/genre.

2007-05-24  Jeff Mitchell <kde-dev@emailgoeshere.com>

	* hotplug.sh.in: Properly install the HAL FDI rules if
	  the user so chooses to when prompted.

2007-05-24  Jeff Mitchell <kde-dev@emailgoeshere.com>

	* examples/hotplug.c: Fix/update HAL output to conform
	  to new specs. Fix whitespacing to be consistent.

2007-05-17  Richard Low <richard@wentnet.com>

	* src/libusb-glue.c: added Samsung YH-920

2007-05-11  Linus Walleij <triad@df.lth.se>

	* examples/hotplug.c: output a usb.ids map if need be.
	* sync-usbids.sh: script to assist in comparing our device
	  database to the linux-usb database so we can submit new
	  entries to it more easily. Please extend this until it
	  creates automated diff:s if you can!

2007-05-10  Linus Walleij <triad@df.lth.se>

	* src/libusb-glue.c: some new devices, some rewording etc.

2007-05-05  Linus Walleij <triad@df.lth.se>

	* src/libusb-glue.h: removed the DUALMODE flag, it's pointless and
	  equal to the problem solved by the UNLOAD_DRIVER flag.
	* src/libusb-glue.c: dito, move the only DUALMODE flag into an
	  UNLOAD_DRIVER flag. Added Archos Gmini.

2007-05-05  Richard Low <richard@wentnet.com>

	* src/libusb-glue.c: added Philips PSA610
	* src/libmtp.c: code to recursively get object handles for each
	  assoc.
	* src/ptp.h: ditto

2007-04-28  Richard Low <richard@wentnet.com>

	* src/libusb-glue.c: new device

2007-04-26  Linus Walleij <triad@df.lth.se>

	* src/libusb-glue.c: memory leak: dangling, unused pointer killed.

2007-04-23  Linus Walleij <triad@df.lth.se>

	* src/libmtp.h.in: extend LIBMTP_album_t to include fields for
	  artist and genre. This is sort of required so we must change
	  the API to have it working properly.
	* src/libmtp.c: dito. Reflect changes in implementation.

2007-04-18  Linus Walleij <triad@df.lth.se>

	* src/ptp.c: sync to upstream gPhoto source.
	* src/ptp.h: dito.
	
2007-04-17  Richard Low <richard@wentnet.com>

	* src/libusb-glue.c: new device

2007-04-13  Richard Low <richard@wentnet.com>

	* src/libusb-glue.c: new devices

2007-04-12  Linus Walleij <triad@df.lth.se>

	* examples/hotplug.c: fix GOTO style in udev map.

2007-04-02  Linus Walleij <triad@df.lth.se>

	* examples/files.c: some WIN32 64bit prefix fixup.
	* examples/tracks.c: dito.
	
2007-03-28  Ted Bullock <tbullock@canada.com>

	* examples/*.c: Print library version number on execution of examples.
	* src/libmtp.h.in: New version number string to aid version echoing.

2007-03-26  Linus Walleij <triad@df.lth.se>

	* configure.ac: bump version to 0.1.5, release 0.1.5!
	* src/Makefile.am: bump lib interface revision to libmtp.so.5.2.1,
	  backwards compatible to libmtp.so.5.

2007-03-24  Richard Low <richard@wentnet.com>

	* src/libusb-glue.c: fixed bug in zero read code

2007-03-23  Linus Walleij <triad@df.lth.se>

	* src/libmtp.c: refactored MTP property list handling code to make
	  things simple. Removed the flag for MTP enhanced: there are devices
	  that will not work without MTP enhanced (for example the Samsung 
	  YP-K5 will only support setting object property lists, not 
	  individual object properties, leaving out parts of the MTP basic 
	  subset), thus we are allowed to reverse-engineer and implement this 
	  for interoperability. I also made the output from 
	  LIBMTP_Dump_Device_Info() considerably more verbose, plotting out 
	  the ranges and possible enumerated values of all object properties.
	  For example you can see that the secret values associated with 
	  Audible.com property 0xda01 is an enumerated value that can be 
	  2, 3 or 4 (etc).

2007-03-22  Richard Low <richard@wentnet.com>

	* src/ptp.c: PTP_OC_MTP_SetObjPropList implementation
	* src/ptp.h: ditto
	* src/libmtp.c: Use PTP_OC_MTP_SetObjPropList when updating track
	  metadata.

2007-03-18  Richard Low <richard@wentnet.com>

	* src/libusb-glue.c: new devices. Some of the Samsung players may
	  need DEVICE_FLAG_NO_ZERO_READS to be set - I only know the YP-K5
	  needs it.

2007-03-16  Linus Walleij <triad@df.lth.se>

	* src/libusb-glue.h: introducing yet another device flag for the
	  irivers bugged firmwares, this is for the Alzheimer disease that
	  cause irivers to forget that OGG files are OGG files.
	* src/libmtp.c: dito.
	* src/libusb-glue.c: introduce this flag for all iriver devices.
	* examples/pathutils.c: found a (small) bug.

2007-03-12  Linus Walleij <triad@df.lth.se>

	* Makefile.am: cleanup patch from Rafael Laboissiere.
	* src/libusb-glue.c: refactored device detection code to 
	  immediately test if the device is in the known devices list if it 
	  does not feature a MTP device descriptor. This fixes the problem 
	  of not being able to mix devices with proper descriptors and 
	  non-detected devices.

2007-03-07  Linus Walleij <triad@df.lth.se>

	* src/libusb-glue.c: remove libgphoto2 functions that we
	  don't use.
	* src/libusb-glue.h: export the free_mtpdevice_list() function,
	  new signature of find_usb_devices().	
	* src/libmtp.c: shrink code, pass as list of devices instead of
	  several huge arrays between libmtp.c and USB glue layer in
	  libusb-glue.c using the nifty list struct defined in libusb-glue.h.
	* Eventually release libmtp 0.1.4.

2007-03-06  Linus Walleij <triad@df.lth.se>

	* src/libusb-glue.c: rewrote one more function to be 
	  non-recursive, perhaps I found the remaining bug, just
	  cannot see that right now, will test tomorrow.
	
2007-03-05  Linus Walleij <triad@df.lth.se>

	* src/libmtp.c: rewrite recursive function to linear.
	* src/libusb-glue.h: create a wrapper type for the
	  device list instead of abusing the libusb device "next"
	  field in our code.
	* src/libusb-glue.c: rewrite all recursive functions to
	  linear, use wrapper objects, don't copy the libusb device
	  struct, instead just store a pointer to it. This magically
	  solved a bug...
	
2007-03-04  Linus Walleij <triad@df.lth.se>

	* src/Makefile.am: bump library interface to libmtp.so.5.2.0
	  backwards compatible with any libmtp.so.5 interface, for
	  imminent libmtp 0.1.4 release.
	
2007-03-03  Ted Bullock  <tbullock@canada.com>

	* src/libusb-glue.c: Don't echo warnings about reading a single
	  extra byte on devices in which DEVICE_FLAG_NO_ZERO_READS has
	  been set
	* src/libmtp.c: New API function to retrieve the number of devices
	  in a list of connected devices
	* src/libmtp.h: New API function to retrieve the number of devices
	  in a list of connected devices
	* examples/detect.c: Use new API function to count number of devices
	  that were detected

2007-03-03  Linus Walleij <triad@df.lth.se>

	* src/libusb-glue.h: Tiresome ramblings to explain exactly what
	  the (now renamed) device flag DEVICE_FLAG_NO_ZERO_READS really 
	  means.
	* src/libusb-glue.c: Renamed flag. Indent code :-) Reading the code
	  and being impressed by our ability to iron out the root cause
	  of this kinda weird thing... Fix a few compile warnings.

2007-03-03  Richard Low <richard@wentnet.com>

	* src/libusb-glue.c: (hopefully) fixed iRiver read errors. Enabled
	  get object prop lists for Clix since it appears to work.
	* src/libusb-glue.h: ditto
	* src/ptp.h: ditto

2007-02-28  Linus Walleij <triad@df.lth.se>

	* src/ptp.h: Upstream accepted our patch so synced it in.
	
2007-02-27  Linus Walleij <triad@df.lth.se>

	* src/ptp.c: Synced in upstream version which removes the 
	  offending line.
	* src/libmtp.c: replaces strcmp() for strcasecmp() in folder
	  detection since Windows and some devices (such as iRivers)
	  ignore case and user capital letters for default folders.
	
2007-02-22  Ted Bullock  <tbullock@canada.com>

	* src/ptp.c: Comment out line in ptp_exit_fd_handler that was 
	  closing a file descriptor.  This is not the responsibility of 
	  the PTP Layer. Defect and solution found by Rob Reardon

2007-02-26  Linus Walleij <triad@df.lth.se>

	* src/libmtp.c: Implement a check for PTP_OC_MTP_SetObjectPropValue 
	  in the LIBMTP_Update_Track_Metadata() function, there are 
	  obviously devices that do not support this, but only 
	  PTP_OC_MTP_SetObjPropList instead (such as the Samsung YH 925-GS), 
	  but we haven't implemented that yet. Problems are 
	  atleast reported correctly now.

2007-02-24  Richard Low <richard@wentnet.com>

	* src/libusb-glue.c: Fix incorrect transfer sizes causing zero
	  write issues

2007-02-23  Linus Walleij <triad@df.lth.se>

	* src/libmtp.c: Undeprecate getting first device code.
	
2007-02-23  Richard Low <richard@wentnet.com>

	* src/libmtp.c: Fix crash when no devices connected

2007-02-23  Ted Bullock  <tbullock@canada.com>

	* examples/detect.c: Stub out probe functionality
	* src/libusb-glue.c: Remove old uni-device cruft code
	* src/libusb-glue.h: Remove old uni-device cruft code
	* Replace LIBMTP_ERROR_N0_DEVICE_ATTACHED with
		LIBMTP_ERROR_NO_DEVICE_ATTACHED across entire project
	
2007-02-22  Ted Bullock  <tbullock@canada.com>

	* examples/albums.c: Updated to use new multi device code
	* examples/tracks.c: Updated to use new multi device code
	* examples/files.c: Updated to use new multi device code

2007-02-18  Ted Bullock  <tbullock@canada.com>

	* src/libmtp.c: Altered the function LIBMTP_Get_First_Device
	  to wrap around the multi device API. Also added deprecation
	  warnings to avoid using this function

2007-02-17  Richard Low <richard@wentnet.com>

	* src/libusb-glue.c: Debug output fixes and read/write sizes changed
	* src/libmtp.c: memset params to 0 to avoid freeing unalloced
	  memory
	* src/ptp.h: read/write sizes changed

2007-02-15  Robert Reardon <rreardon@monkshatch.vispa.com>

	* src/libmtp.c: Fix a segfault in new error handling code.

2007-02-15  Linus Walleij <triad@df.lth.se>

	* src/libmtp.c: Adding some sanity checks to error stack code.
	* examples/newplaylist.c: LGPL boilerplate, crediting Robert.
	* examples/playlists.c: LGPL boilerplate.
	* examples/sendfile.c: LGPL boilerplate, crediting me and Chris.
	* examples/sendtr.c: LGPL boilerplate, crediting me, Chris,
	  Shaun, Enrique.
	* examples/thumb.c: LGPL boilerplate, crediting Robert.
	* examples/tracks.c: LGPL boilerplate.
	* examples/trexist.c: LGPL boilerplate, crediting noone.

2007-02-15  Ted Bullock  <tbullock@canada.com>

	* examples/folders.c: Updated to use new multi device code
	* src/libmtp.c: Fixed potential memory leaks
	* src/libusb-glue.c: Fixed potential memory leaks and fixed device 
	  release segfault for multiple devices

2007-02-14  Ted Bullock  <tbullock@canada.com>

	* src/libusb-glue.c: Wrote three new recursive functions to avoid 
	  extreme levels of multiple indirection and to clean the code up 
	  a bit for multiple devices.
	* examples/detect.c: Adjusted function calls to use new multiple 
	  device code.
	* src/libmtp.h.in: Added prototype for LIBMTP_Release_Device_List

2007-02-12  Ted Bullock  <tbullock@canada.com>

	* src/libmtp.c: Two new functions (create_usb_mtp_devices and 
	  LIBMTP_Get_Connected_Devices) to add support for multiple devices
	  to client applications
	* src/libmtp.h: Added LIBMTP_Get_Connected_Devices as a publicly
	  accessible function
	*libusb-glue.c: Renamed connect_mtp_devices to find_usb_devices
	*libusb-glue.h: Renamed connect_mtp_devices to find_usb_devices

2007-02-09  Ted Bullock  <tbullock@canada.com>

	* src/libusb-glue.c: Addressed a number of potential memory leaks in
	  the new multiple device code

2007-02-05  Linus Walleij <triad@df.lth.se>

	* src/libmtp.h.in: LGPL boilerplate.
	* src/libusb-glue.h: LGPL boilerplate.
	* src/unicode.h: LGPL boilerplate.
	* src/util.h: LGPL boilerplate.
	* examples/albumart.c: LGPL boilerplate, crediting Andy.
	* examples/pathutils.h: LGPL boilerplate, crediting Chris.
	* examples/pathutils.c: LGPL boilerplate, crediting me and Chris.
	* examples/common.h: LGPL boilerplate.
	* examples/albums.c: LGPL boilerplate, crediting Chris.
	* examples/connect.c: LGPL boilerplate, crediting Chris.
	* examples/delfile.c: LGPL boilerplate, crediting me and Chris.
	* examples/detect.c: LGPL boilerplate.
	* examples/emptyfolders.c: LGPL boilerplate, crediting Andy.
	* examples/files.c: LGPL boilerplate.
	* examples/folders.c: LGPL boilerplate.
	* examples/format.c: LGPL boilerplate.
	* examples/getfile.c: LGPL boilerplate, crediting me and Chris.
	* examples/getplaylist.c: LGPL boilerplate.
	* examples/hotplug.c: LGPL boilerplate, crediting me and Marcus.
	* examples/newfolder.c: LGPL boilerplate, crediting me and Chris.

2007-02-02  Linus Walleij <triad@df.lth.se>

	* src/ptp.c: sync upstream.
	* src/ptp.h: dito.
	* src/ptp-pack.c: dito.
	* src/libmtp.c: make changes necessary to handle
	  the new iconv(3) code in ptp-pack.c. People will have to
	  use recent stdlibc, glibc or libiconv. Also call new memory
	  clean-up functions. Fix LGPL boilerplate text.
	* src/unicode.c: Fix LGPL boilerplate text.
	* src/utils.c: Fix LGPL boilerplate text.
	* src/libusb-glue.c: Fix LGPL boilerplate text.

2007-01-24  Ted Bullock <tbullock@canada.com>

	* src/libusb-glue.c: new function to retrieve multiple device
	  instances.
	* src/libusb-glue.h: dito.
	* src/libmtp.h.in: new error codes.

2007-01-22  Linus Walleij <triad@df.lth.se>

	* examples/albumart.c: use the new errostack.
	* examples/delfile.c: dito.
	* examples/detect.c: dito.
	* examples/emptyfolders.c: dito.
	* examples/format.c: dito.
	* examples/getfile.c: dito.
	* examples/getplaylist.c: dito.
	* examples/newfolder.c: dito.
	* examples/newplaylist.c: dito.
	* examples/playlists.c: dito.
	* examples/sendfile.c: dito.
	* examples/sendtr.c: dito.
	* examples/thumb.c: dito.
	* src/libmtp.c: add some errors to the stack so we can
	  see how it's to be used. (Just a first try...)
	* src/libusb-glue.c: move the LIBMTP_Get_Supported_Devices()
	  function into this file cause it only return USB devices
	  anyway and could be renamed LIBMTP_Get_Supported_USB_Devices()
	  (but let's not do that renaming since it would break the API).
	  For now let's understand this is a USB-only function by
	  simply putting it in the libusb-glue.c file.
	
2007-01-22  Ted Bullock <tbullock@canada.com>

	* src/libusb-glue.c: first hack at creating an interface
	  to retrieve multiple devices.
	* src/libmtp.h.in: new error codes related to multiple devices.

2007-01-21  Richard Low <richard@wentnet.com>

	* src/libusb-glue.c: more new devices

2007-01-20  Linus Walleij <triad@df.lth.se>

	* src/libmtp.h.in: error stack handling like in libnjb.
	  just bare bones implementation as of now but the idea
	  should be clearly visible. TODO: add a plethora of
	  errors and adjust examples to make use of the error
	  stack.
	* src/libmtp.c: dito.
	
2007-01-20  Richard Low <richard@wentnet.com>

	* src/libusb-glue.c: new device 'Philips PSA235'

2007-01-16  Linus Walleij <triad@df.lth.se>

	* configure.ac: bump and release 0.1.3.
	* src/Makefile.am: bump interface REVISION. Nothing changed
	  externally really.

2007-01-11  Linus Walleij <triad@df.lth.se>

	* src/libmtp.sym: updated symbol table for mingw32 but does
	  anyone use this? Also I believe one could auto-generate
	  this some way, just haven't figured out how... Perhaps with
	  a funky script that massage libmtp.h if nothing else.

2007-01-11  Richard Low <richard@wentnet.com>

	* src/libusb-glue.c: a zero read fix
	* src/libmtp.c: fix spelling mistake

2007-01-09  Linus Walleij <triad@df.lth.se>

	* src/libusb-glue.c: repair callbacks, structure the code just
	  a little bit.
	* src/libmtp.c: don't assign values to writes or reads, use the
	  PTP transport intrinsics instead.
	
2007-01-07  Orson Teodoro <orsonteodoro@yahoo.com>

	* src/ptp.h: Encoding profile.
	* src/ptp.c: Dito.

2006-01-07  Linus Walleij <triad@df.lth.se>

	* src/libusb-glue.c: (re)introduce de-halting of endpoints
	  as this is needed by VMWare emulation. Must check whether
	  this causes problems for other archs! Problem was reported
	  by Orson Teodoro under i686 Gentoo, with a suggested patch.

2006-01-07  Marcus Meissner <meissner@suse.de>

	* src/ptp.c: sync to upstream libgphoto2.
	* src/ptp.h: dito.
	* src/ptp-pack.c: dito.
	* libusb-glue.c: fixes to move low-level functions
	  out of ptp.c and into this libmtp-specific portion.
	  libgphoto2 has been similarly altered to use a usb.c
	  file for the low-level stuff. (This was a long needed
	  split anyway.)

2007-01-03  Richard Low <richard@wentnet.com>

	* src/libusb-glue.c: fix zero write bug
	* src/ptp.c: ditto

2007-01-02  Linus Walleij <triad@df.lth.se>

	* src/libusb-glue.c: fix up comments, remove things 
	  refering to stuff we don't have.

2007-01-02  Richard Low <richard@wentnet.com>

	* src/libmtp.c: another try at split headers/packet sizes
	* src/ptp.c: ditto
	* src/libusb-glue.c: ditto

2007-01-01  Linus Walleij <triad@df.lth.se>

	* src/libmtp.c: move default setting of split headers
	  off to ptp.c open session.
	* src/ptp.c: dito.

2007-01-01  Richard Low <richard@wentnet.com>

	* src/libmtp.c: split headers/packet size fix
	* src/ptp.c: ditto
	* src/ptp.h: ditto
	* src/libusb-glue.c: ditto

2007-01-01  Orson Teodoro <orsonteodoro@yahoo.com>

	* src/ptp.h: changed some WMDRMND def codes to AAVT def codes. 
	  addition of AAVT error codes.
	* src/ptp.c: changes to reflect modifications done in ptp.h

2006-12-31  Linus Walleij <triad@df.lth.se>

	* configure.ac: bump to 0.1.2.
	* src/Makefile.am: bump interface revision. (Compatible.)
	* RELEASE 0.1.2.

2006-12-30  Linus Walleij <triad@df.lth.se>

	* examples/pathutils.c: reflect new filetypes.
	* examples/sendtr.c: dito.

2006-12-30  Orson Teodoro <orsonteodoro@yahoo.com>

	* src/ptp.h: added WMDRMPD, WMDRMND, WMPPD, WPDWCN extension
	  codes. added more format object codes flac, m4a, 3gp, aac,
          xml, xls, ppt, etc.  0x9101-0x910B identfiers are infixed
	  with WMDRMPD. Added more object properties codes (0xDCD3-0xDD72).
	  Added more device property codes.
	  Changed PTP_OFC_MTP_WindowsImageFormat to 0xb881 reflect spec.
        * src/ptp.c: added changes to reflect new extensions, object
	  codes, device property codes.
	* src/libmtp.c: modified mp4 to reflect it is a container format
	  not a codec.  Added more descriptions in init_filemap(). mp4
          container format is ambiguous in
	  LIBMTP_Send_File_From_File_Descriptor(). Audio? video? both?.
	  mp4 searched in video by default.  Added comments about this.
          Added support for the new format object types.
	* src/libmtp.h.in: added constants to reflect changes to
          init_filemap().

2006-12-30  Richard Low <richard@wentnet.com>

	* src/libusb-glue.c: fixed bug in debug printing

2006-12-29  Richard Low <richard@wentnet.com>

	* src/libmtp.c: Made abstract list creation to be more
	  WMP like
	* src/libusb-glue.c: added Philips GoGear SA9200
	* src/ptp-pack.c: fixed packing bug in ptp_pack_OI

2006-12-29  Marcus Meissner <meissner@suse.de>

	* src/ptp.h: API changes for libgphoto2 to use the file
	  retrieveal functions.
	* src/ptp.c: dito.
	* src/libusb-glue.c: changes in libmtp reflecting the new
	  API for libgphoto2.

2006-12-28  Linus Walleij <triad@df.lth.se>

	* configure.ac: making older autotools happy. Bump to 0.1.1.
	* src/Makefile.am: bump interface for release, also autotools.
	* RELEASE libmtp 0.1.1.

2006-12-19  Matthew Wilcox <matthew@wil.cx>

	* src/ptp.c: fix a (serious) short file bug.

2006-12-17  Richard Low <richard@wentnet.com>

	* src/libmtp.c: don't bail out on failures when setting
	  metadata.

2006-12-16  Linus Walleij <triad@df.lth.se>

	* src/ptp.c: sync to upstream.
	* src/ptp.h: dito.
	* src/ptp-pack.c: dito.
	
2006-12-15  Linus Walleij <triad@df.lth.se>

	* src/libmtp.h.in: make the format function take a storage as
	  parameter. Add comments to device storage.
	* src/libmtp.c: dito, fix up some code and docs.
	* examples/format.c: make the format command comply with
	  the new API.

2006-12-14  Linus Walleij <triad@df.lth.se>

	* src/libmtp.c: make get_first_storage_freespace() always query
	  the first storage when the space is requested. And some other
	  janitorial stuff.
	
2006-12-13  Linus Walleij <triad@df.lth.se>

	* src/libusb-glue.c: one more device.
	* examples/detect.c: compilation warnings fixed.

2006-12-13  Robert Reardon <rreardon@monkshatch.vispa.com>

	* src/ptp.c: add 0xD901 flag as BuyNow property of objects.
	* src/ptp.h: ditto.

2006-12-12  Daniel Williams <danielw@iinet.net.au>

	* src/libmtp.h.in: revamped storage API.
	* src/libmtp.c: dito.
	* examples/detect.c: dito.

2006-12-12  Robert Reardon <rreardon@monkshatch.vispa.com>

	* src/libmtp.c: Send_Representative_Sample() updated to
	  set image height and width, or audio duration and size.

2006-12-07  Linus Walleij <triad@df.lth.se>

	* src/libmtp.h.in: support firmware object type. (Dangerous.)
	* src/libmtp.c: dito.

2006-12-07  Linus Walleij <triad@df.lth.se>

	* src/libmtp.c: default text folder detection (used in Samsung
	  Yepp T9) also add a few "My Foo" folder strings, remove the
	  "remaining directories" kludge.
	* src/libmtp.h.in: default text folder.

2006-12-06  Linus Walleij <triad@df.lth.se>

	* src/libmtp.h.in: extend the respresentative sample API a bit.
	* src/libmtp.c: dito.
	* examples/albumart.c: free memory after use.
	* examples/thumb.c: dito.
	* RELEASE this as libmtp 0.1.0!

2006-12-04  Linus Walleij <triad@df.lth.se>

	* src/ptp.c: enable split headers on sending object lists again.

2006-12-04  Robert Reardon <rreardon@monkshatch.vispa.com>

	* src/libmtp.c: abstract Send_Representative_Sample() so
	  it can send samples for any format that supports it
	* src/libmtp.h.in: same as above
	* examples/albumart.c: altered to use new abstract function above
	* example/thumb.c: sample program to upload thumbnails
	* example/Makefile.am: add sample thumbnail program

2006-12-03  Linus Walleij <triad@df.lth.se>

	* src/libmtp.c: check space on disk before sending
	  tracks or files.
	* src/libmtp.h.in: refactor LIBMTP_Send_Album_Art()
	  into LIBMTP_Send_Representative_Sample().
	* src/libmtp.c: dito.
	* examples/albumart.c: dito.

2006-12-02  Marcus Meissner <meissner@suse.de>

	* examples/Makefile.am: make sure symlinks really end
	  up in the correct dir.

2006-11-30  Linus Walleij <triad@df.lth.se>

	* src/ptp.c: make Matthews patch thread-safe and fix it
	  so it will handle more than one surplus packet.
	* src/ptp.h: dito.

2006-11-30  Richard Low <richard@wentent.com>

	* src/libmtp.c: memset PTPObjectInfo structs to 0

2006-11-30  Matthew Wilcox <matthew@wil.cx>

	* src/ptp.c: on some devices, surplus packet data is 
	  sometimes returned during read, i.e. a header of the
	  next package is typically attacked to the incoming 
	  data, as if someone was sending several packets at 
	  once. If this happens we buffer the surplus packet.
	* src/libusb-glue.c: revert my own mistakes by making
	  them Windows-only.

2006-11-30  Linus Walleij <triad@df.lth.se>

	* configure.ac: this *is* gonna be libmtp 0.1.0!
	* src/Makefile.am: age interface to 4-0-0 to indicate that
	  intefaces have been removed.
	* src/libmtp.h.in: removed external object interface.
	* src/libmtp.c: dito. Made all object manipulation functions
	  static.
	
2006-11-29  Richard Low <richard@wentnet.com>

	* src/libusb-glue.c: added new devices

2006-11-29  Linus Walleij <triad@df.lth.se>

	* src/libusb-glue.c: remove some pointless #include <>
	  clutter, call usb_set_configuration() as needed by
	  Windows.
	* src/libmtp.c: various fixups to enable use of Windows
	  <io.h> include file.
	* README.windows.txt: added a quick porting guide for 
	  MSVC by Farooq Zaman.

2006-11-28  Linus Walleij <triad@df.lth.se>

	* src/libmtp.h.in: removed filetype mapping API. We can handle
	  everything inside of libmtp now so no need for this.
	* src/libmtp.c: dito.

2006-11-27  Linus Walleij <triad@df.lth.se>

	* examples/files.c: unsigned int sized printout.
	* examples/tracks.c: sort of the same.
	* Makefile.am: HAL style map output by default.

2006-11-26  Richard Low <richard@wentnet.com>

	* src/libmtp.c: object handles for proplists
	* src/ptp-pack.c: ditto
	* src/ptp.c: ditto
	* src/ptp.h: ditto

2006-11-25  Marcus Meissner <marcus@jet.franken.de>

	* examples/hotplug.c: adding HAL style XML output for 
	  the devices.
	* examples/Makefile.am: fixing a bug in the automake 
	  file (pathutils.h missing!)
	* Makefile.am: fix the problem with re-making sources
	  (you had to run ./autogen.sh before!)

2006-11-23  Linus Walleij <triad@df.lth.se>

	* src/libusb-glue.h: add a new bug flag for devices that
	  have broken PTP_OC_MTP_GetObjPropList implementations.
	* src/libusb-glue.c: state that all iRivers have this problem.
	* src/libmtp.c: disable the user of ptp_mtp_getobjectproplist()
	  for these devices.

2006-11-21  Robert Reardon <rreardon@monkshatch.vispa.com>

	* src/libmtp.c: set handle ids for new objects to 0 when
	  creating new albums and playlists.

2006-11-21  Linus Walleij <triad@df.lth.se>

	* src/libmtp.c: enabled enhanced mode for metadata retrieval
	  by default.
	* src/libmtp.c: fixed the problem with sending files using
	  enhanced commands.

2006-11-20  Linus Walleij <triad@df.lth.se>

	* src/ptp.h: sync to upstream libgphoto2
	* src/ptp.c: dito.
	* src/ptp-pack.c: dito.
	* src/libmtp.c: check for zerolength files/tracks.

2006-11-20  Andy Kelk <andy@mopoke.co.uk>

	* src/libmtp.h.in: add "parent_id" property to LIBMTP_track_struct. 
	* src/libmtp.c: get "parent_id" property when reading tracks.
	* examples/emptyfolders.c: new example program for pruning empty
	  folders. (does a dummy run by default).

2006-11-19  Robert Reardon <rreardon@monkshatch.vispa.com>

	* src/libmtp.c: use enhanced MTP commands to create playlists and
	  send files
	* examples/newplaylist.c: demo program for creating new playlists
	* examples/Makefile.am: add demo newplaylists program

2006-11-19  Daniel Williams <danielw@iinet.net.au>

	* src/libusb-glue.c: fix error on reconnect.
	
2006-11-18  Richard Low <richard@wentnet.com>

	* src/ptp.c: tidy up ptp_usb_getdata

2006-11-17  Richard Low <richard@wentnet.com>

	* src/libmtp.c: fixed parent handle for uploaded tracks

2006-11-17  Robert Reardon <rreardon@monkshatch.vispa.com>

	* src/libmtp.c: fixed up album art using enhanced commands.

2006-11-16  Richard Low <richard@wentnet.com>

	* src/libmtp.c: a crude implementation of ptp_mtp_getobjectproplist
	* src/ptp.c: ditto
	* src/ptp.h: ditto
	* src/ptp-pack.c: ditto

2006-11-16  Robert Reardon <rreardon@monkshatch.vispa.com>

	* src/libmtp.c: use enhanced MTP commands to create albums and
	  add detection of the default album folder.
	* src/libmtp.h.in: add a holder for album default folder.
	
2006-11-15  Richard Low <richard@wentnet.com>

	* src/ptp-pack.c: set string buffer to correct size.

2006-11-14  Richard Low <richard@wentnet.com>
	
	* examples/tracks.c: really use undeprecated API entry.

2006-11-13  Richard Low <richard@wentnet.com>, Linus Walleij <triad@df.lth.se>

	* src/libmtp.h.in: add LIBMTP_Get_Tracklisting_With_Callback()
	  and LIBMTP_Get_Filelisting_With_Callback()
	* src/libmtp.c: dito, deprecate LIBMTP_Get_Tracklisting()
	  and LIBMTP_Get_Filelisting()
	* examples/tracks.c: use undeprecated API entry.
	* examples/connect.c: ditto.
	* examples/detect.c: ditto.
	* examples/files.c: ditto.	
	* src/ptp.c: working on getting object prop lists.
	* src/ptp.h: dito.

2006-11-12  Richard Low <richard@wentnet.com>

	* src/libusb-glue.c: added Zen Vision W to devices

2006-11-07  Richard Low <richard@wentnet.com>

	* src/libmtp.c: added checks for supported properties

2006-11-06  Richard Low <richard@wentnet.com>

	* src/libmtp.c: added a check for NULL filenames in
	  LIBMTP_Get_Folder_List.

2006-11-01  Linus Walleij <triad@df.lth.se>

	* src/libmtp.h.in: set/get uint8 to/from objects
	* src/libmtp.c: send object property list.
	* src/ptp.c: dito.
	* src/ptp.h: dito.
	* src/ptp-pack.c: dito.

2006-10-29  Andy Kelk <andy@mopoke.co.uk>

	* examples/albumart.c: simple tool for adding album art.
	* src/libmtp.c: graceful handling of players not supporting 
	  abstract album objects.

2006-10-27  Linus Walleij <triad@df.lth.se>

	* src/Makefile.am: bump library interface to reflect the new
	  album methods.
	* configure.ac: bump to 0.0.22 for the next release.

2006-10-27  Andy Kelk <andy@mopoke.co.uk>

	* src/libmtp.c: add support form abstract audio/video albums.
	* src/libmtp.h.in: dito.

2006-10-23  Linus Walleij <triad@df.lth.se>

	* src/libmtp.c: retire opcode rendering (moved to ptp.c)
	* src/ptp.c: sync to upstream.
	* src/ptp.h: dito.
	* src/ptp-pack.c: dito.

2006-10-20  Linus Walleij <triad@df.lth.se>

	* Release 0.0.21 to get all the new device support out.
	
2006-10-16  Linus Walleij <triad@df.lth.se>

	* configure.ac: bump to 0.0.21.
	* src/libusb-glue.c: add code to unload a kernel driver for
	  the primary interface if it is already in use under Linux.
	* src/libusb-glue.h: add a device flag to make this possible.

2006-10-11  Linus Walleij <triad@df.lth.se>

	* examples/delfile.c: patch from Chris Debenham 
	  straingtening out the command-line interface a bit
	  more.

2006-10-10  Linus Walleij <triad@df.lth.se>

	* examples/delfile.c: patch from Chris Debenham to make 
	  this command take an optional filename as parameter 
	  instead of file ID.

2006-09-26  Linus Walleij <triad@df.lth.se>

	* libmtp.pc.in: require libusb instead of just linking it.
	* configure.ac: bump release to 0.0.20 and release.

2006-09-25  Linus Walleij <triad@df.lth.se>

	* examples/evolution-sync.sh: example script to illustrate
	  to to transfer calendar, task and contact information
	  to a device supporting this.

2006-09-19  Linus Walleij <triad@df.lth.se>

	* src/libmtp.h.in: fixed attribute IDs to be 16bit.
	* src/libmtp.c: dito.
	* examples/sendfile.c: support vcard3.

2006-09-16  Linus Walleij <triad@df.lth.se>

	* configure.ac: bump to 0.0.19 and release. There are some
	  new devices as well.
	* src/unicode.c: retire unused code.

2006-09-13  Linus Walleij <triad@df.lth.se>

	* examples/format.c: formatting test program.
	* examples.Makefile.am: added format.

2006-09-13  Andy Kelk <andy@mopoke.co.uk>

	* src/libmtp.h.in: added interface to format storage.
	* src/libmtp.c: dito.
	* src/ptp.c: dito.
	* src/ptp.h: dito.

2006-09-12  Linus Walleij <triad@df.lth.se>

	* configure.ac: bump release. Released 0.0.18 yesterday.
	* src/libmtp.c: do not try to read battery max level unless
	  the device supports it. (Bug occurred on Toshiba Gigabeat 
	  P10.)

2006-09-11  Linus Walleij <triad@df.lth.se>

	* src/libusb-glue.c: messed around a bit with device descriptor
	  detection so as to bring closer to libgphoto2 detection algorithm.
	  I've seen things that might be false positives, possibly USB mass
	  storage devices with additional MSFT descriptors to indicate they
	  have Janus DRM. 
	* src/libmtp.c: use UCS-2-INTERNAL if we're not on glibc. glibc
	  knows that UCS-2 is in machine endianness but Darwin and *BSD does
	  not. Detect C library and switch accordingly.
	* src/unicode.c: retire old unicode code only keep things we cannot
	  live without. Remove the own internal UCS-2 conversion engine and
	  the internal iconv() engine and use the one already available in
	  PTPParams.
	* src/unicode.h: dito.

2006-09-07  Linus Walleij <triad@df.lth.se>

	* src/libusb-glue.h: added device flags so we can make
	  the code behave differently on certain devices.
	* src/libusb-glue.c: dito, plus removed some debug prints.
	* src/libmtp.c: docs.
	* src/libmtp.h.in: added device_flags to device list struct.
	* src/Makefile.am: bumped to compatible library interface.
	* configure.ac: bump version to 0.0.18 (0.0.17 released
	  yesterday).

2006-09-06  Richard Low <richard@wentnet.com>

	* src/libusb-glue.c: changed packet sizes to improve
	  transfer speeds.
	* src/libmtp.c: changed packet sizes to improve transfer
	  transfer speeds. Also stopped extra ptp_getobjectinfo
	  calls when getting directories on connect.

2006-09-06  Linus Walleij <triad@df.lth.se>

	* src/libusb-glue.c: fixed some endpoint size detection
	  and sending special file sizes stuff. Real hairy bug...
	  Also messed around a bit with the callbacks.
	* src/libmtp.c: changes for callback size detection.

2006-09-04  Linus Walleij <triad@df.lth.se>

	* src/libmtp.c: bug in streaming code, use defined USB_BULK_HDR_SIZE
	  instead of magic values.

2006-09-02  Linus Walleij <triad@df.lth.se>

	* src/libmtp.c: add some code to have 
	  LIBMTP_Send_File_From_File_Descriptor() accept a stream
	  if size is set to (uint64_t) -1, plus documentation fixes.
	  I don't think the streaming code will work but whoever want
	  to experiment with it has a place to start.
	* examples/refactortest.c: removed. Who uses this?

2006-08-30  Linus Walleij <triad@df.lth.se>

	* configure.ac: version bump.
	* src/libmtp.c: more debug prints.
	* src/libusb-glue.c: new iRiver device called Clix. By
	  the way I released libmtp 0.0.16 yesterday.

2006-08-28  Linus Walleij <triad@df.lth.se>

	* configure.ac: version bump.
	* src/ptp-pack.c: upstream has committed my patch giving full
	  unicode support in libgphoto2 ptp2 camlib. No need for
	  any more ugly workarounds, plus we now have full unicode
	  filenames!
	* src/ptp.c: dito.
	* src/ptp.h: dito.
	* src/libmtp.c: revamp to use the new unicode support in
	  libgphoto2.
	* src/unicode.c: remove unused functionality.
	* src/unicode.h: dito.

2006-08-27  Linus Walleij <triad@df.lth.se>

	* configure.ac: version bump. Release all these fixes
	  as 0.0.15.
	* src/libusb-glue.c: fixed sucky errors. Added callback
	  code when reading files.
	* src/libusb-glue.h: const correctness.
	* src/libmtp.h.in: finally fixup the type on the callbacks.
	* src/libmtp.c: more accurate sending callbacks. Callbacks
	  when getting files also, working correctly. Typeing of
	  callbacks now OK.
	* examples/getfile.c: some display bar cosmetic fixup.
	* TODO: lots of the things todo are now done.

2006-08-26  Linus Walleij <triad@df.lth.se>

	* configure.ac: version bump.
	* src/libmtp.c: fix bug and reinstate callbacks.
	* src/libusb-glue.h: dito.
	* src/libusb-glue.c: dito.

2006-08-25  Linus Walleij <triad@df.lth.se>

	* src/libmtp.c: use the new file descriptor sender function.
	  Going to release this as 0.0.13.
	* src/ptp.c: upstream accepted patches synced in.
	* src/ptp.h: dito.

2006-08-22  Linus Walleij <triad@df.lth.se>

	* src/libusb-glue.c: found a real nasty endpoint bug,
	  code from libgphoto2 was assuming max packet size of
	  512 bytes while it is 64 when a USB 2.0 device is
	  plugged into an UHCI hub.

2006-08-22  Linus Walleij <triad@df.lth.se>

	* configure.ac: bump to 0.0.13, also released 0.0.12 now.
	
2006-08-21  Linus Walleij <triad@df.lth.se>

	* src/libmtp.c: fixup mmap() usage and add madvise() 
	  as result of experiments by Gavin McCullagh. Upstream
	  accept patch to get files directly to file descriptor.
	  Move iconv() converters into device struct for thread
	  safety.
	* src/ptp.c: sync to upstream which merges patch to get
	  file directly to file descriptor.
	* src/ptp.h: dito.
	* src/unicode.c: move iconv() converters into the device
	  struct for thread safety.
	* src/unicode.h: dito.

2006-08-20  Linus Walleij <triad@df.lth.se>

	* src/libmtp.h.in: set friendly name and sync partner,
	  rename ownername to friendlyname.
	* src/libmtp.c: dito.
	* examples/detect.c: reflect changes.
	* src/Makefile.am: interface is incompatible so age it.
	
2006-08-19  Linus Walleij <triad@df.lth.se>

	* src/libmtp.h.in: add function to get syncronization
	  partner for the device.
	* src/libmtp.c: dito.
	* examples/detect.c: use that function.
	* src/Makefile.am: backward-compatible interface bump.

2006-08-17  Linus Walleij <triad@df.lth.se>

	* configure.ac: bump to 0.0.12 and require iconv.h.

2006-08-16  Linus Walleij <triad@df.lth.se>

	* src/unicode.c: remove bigendian weirdness and switch
	  to using iconv() instead.
	* src/unicode.h: dito.
	* src/libmtp.c: reflect changes.
	
2006-08-09  Linus Walleij <triad@df.lth.se>

	* Release libmtp 0.0.11.

2006-08-04  Linus Walleij <triad@df.lth.se>

	* src/libmtp.c: patch from Dan Aloni to make sendfile
	  use mmap and avoid memory drainage.
	* src/libusb-glue.c: patch from Andy Kelk to avoid 
	  exit():ing when the interface cannot be claimed.
	* configure.ac: version bump.

2006-07-27  Linus Walleij <triad@df.lth.se>
	
	* Release libmtp 0.0.10.

2006-07-26  Linus Walleij <triad@df.lth.se>

	* src/libusb-glue.c: new SanDisk devices.
	* src/libmtp.c: only set metdata properties supported by
	  the device, duh.
	* src/ptp.c: sync to upstream.
	* src/ptp.h: sync to upstream.
	* configure.ac: bump to 0.0.10.

2006-06-22  Linus Walleij <triad@df.lth.se>

	* Release libmtp 0.0.9.

2006-06-21  Linus Walleij <triad@df.lth.se>

	* src/libmtp.h.in: added function to retrieve supported
	  filetypes.	
	* src/libmtp.c: ditto.
	* examples/detect.c: use that function.

2006-06-19  Linus Walleij <triad@df.lth.se>

	* src/unicode.c: support all endianness, detect 
	  byte-order-mark
	* src/unicode.h: ditto.
	* src/libmtp.c: ditto.
	* examples/detect.c: use proper tempfile function.
	* src/libmtp.h.in: add some more track properties.
	* src/libmtp.c: ditto.
	* examples/tracks.c: ditto.
	
2006-06-16  Linus Walleij <triad@df.lth.se>

	* src/libmtp.h.in: new interfaces for single metadata post
	  retrieveal.
	* src/libmtp.c: ditto.
	* examples/playlists.c: display track info using the new
	  individual track metadata retrieveal method.
	* examples/getplaylist.c: ditto.

2006-06-13  Linus Walleij <triad@df.lth.se>

	* src/libmtp.h.in: added default folders to device struct.
	  Add some new function prototypes.
	* src/libmtp.c: discover and use the default folders if
	  we can find them. Retrieve device secure time and cert
	  out of sheer curiosity.
	* src/ptp.c: sync to libgphoto2 with my patches.
	* src/ptp.h: ditto.

2006-06-07  Linus Walleij <triad@df.lth.se>

	* src/libmtp.h.in: new playlist API and refactorings.
	* src/libmtp.c: ditto, and refactorings.
	* src/unicode.h: const correctness.
	* src/unicode.c: ditto.
	* examples/playlists.c: new example program.
	* configure.ac: bump to 0.0.9
	* src/Makefile.am: bump library interface.
	
2006-06-05  Linus Walleij <triad@df.lth.se>

	* examples/sendtr.c: fixed annoying bug that made this
	  program totally useless.
	* src/libmtp.c: cosmetics.
	* configure.ac: bump to 0.0.8.

2006-06-03  Linus Walleij <triad@df.lth.se>

	* src/libmtp.c: metadata bugs, album name and genre
	  confused. Fixe it and released libmtp 0.0.7.

2006-06-01  Linus Walleij <triad@df.lth.se>

	* Released libmtp 0.0.6.

2006-05-31  Linus Walleij <triad@df.lth.se>

	* src/libmtp.c: fixed mapping for JPEG vs JFIF
	* src/libmtp.h.in: added proper type for JPEG
	* examples/sendfile.c: send proper JPEG type

2006-05-30  Flavien Lebarbe <flavien+libmtp@lebarbe.net>

	* src/libmtp.c: fixed a bug in update metadata due to
	  bad use of return code.
	* src/libusb-glue.c: fixed a loop exiting problem with
	  good 'ol GOTO.
	
2006-05-29  Linus Walleij <triad@df.lth.se>

	* src/libusb-glue.c: one more device.
	* doc/examples.h: produce correct documentation.
	* configure.ac: bump to 0.0.6.
	* src/ptp.c: sync to libgphoto2.
	* src/ptp.h: ditto.
	* src/ptp-pack.c: ditto.
	* src/libmtp.c: fixed all filetype API related functions
	  not to use any PTP intrinsic defines at all, made all
	  parameters to functions use the internal libmtp interface
	  enumerations and definitions. Removed LIBMTP_Release():
	  we can live with the memory lost during init. You're not
	  supposed to re-initialize the device. Consequently removed
	  the delete function that cleaned the filetype assoc list.
	* examples/refactortest.c: reflect changes.

2006-05-26  Dave Kelly <libmtp@ravelox.co.uk>

	* src/libmtp.c: refactored object handling to be more generic
	* src/libmtp.h.in: ditto
	* examples/refactortest.c: Added simple example to use refactoring
	* examples/getplaylist.c: Added example to extract playlist data
	* src/ptp.c: Re-added ptp_get/set_objectreferences to allow 
	  for playlist handling
	* src/ptp.h: ditto

2006-05-08  Linus Walleij  <triad@df.lth.se>

	* src/libmtp.h.in: add simple detection function.
	* src/libusb-glue.c: implement MTP "OS descriptor" for
	  looking for MTP devices.
	* examples/detect.c: make it possible to do very 
	  rudimentary detection with "detect -p".
	* configure.ac: bump to 0.0.5.

2006-05-07  Linus Walleij  <triad@df.lth.se>

	* COPYING: since we no longer use any parts of libptp2
	  and only files from libgphoto2, we switch to the GNU
	  Lesser General Public License (GNU LGPL). libptp2 is
	  a derived work from libgphoto2, and so is libmtp, there
	  are no remnants of libptp2 in libmtp anymore.

2006-05-04  Linus Walleij  <triad@df.lth.se>

	* examples/sendfile.c: fixes some more filetypes.
	* src/libmtp.c: respectfully rearranged to use a filetype mapping 
	  table.
	* src/ptp-pack.c: real nasty unicode packing bug.
	* Release libmtp 0.0.4.

2006-05-02  Linus Walleij  <triad@df.lth.se>

	* src/libmtp.c: general shaping up for release. All track
	  and file sending functions now respects a parent ID to be
	  sent along with files and tracks.
	* src/libmtp.h.in: dito.
	* src/libusb-glue.c: dito.
	* examples/sendfile.c: interface dependency changes.
	* examples/sendtr.c: dito.

2006-04-30  Linus Walleij  <triad@df.lth.se>

	* src/ptp.c: sync upstream.
	* src/ptp.h: dito.

2006-04-27  Linus Walleij  <triad@df.lth.se>

	* examples/sendfile.c: first file sender program based
	  on API implementation and changes by Chris Allegretta.
	* examples/Makefile.am: new program, new entry.
	* src/libmtp.c: reflect this new functionality.
	* src/libmtp.h.in: dito.
	
2006-04-25  Linus Walleij  <triad@df.lth.se>

	* Rebased the sources around libgphoto2 instead.
	  This was a major revision...
	* src/ptp.c: imported libgphoto2 version verbatim.
	* src/ptp.h: imported libgphoto2 version, minor patch.
	* src/ptp-pack.c: imported libgphoto2 version, minor patch.
	* src/ptp-pack.h: dropped, libgphoto2 does not use it.
	* src/mtp.c: dropped, since all functions are now in ptp.c
	* src/mtp-pack.c: dropped, same reason.
	* src/mtp.h: dropped, same reason.
	* src/mtp-pack.h: dropped, same reason.

2006-04-21  Linus Walleij  <triad@df.lth.se>

	* Released libmtp 0.0.3
	* Bumped source to 0.0.4

2006-04-21  Linus Walleij  <triad@df.lth.se>

	* src/ptp-pack.c: GCC 4.x compilation patch from
	  Diego Pettenò.
	* src/libusb-glue.c: New Samsung device and some
	  from libgphoto2.
	* src/ptp.h: some defines from libgphoto2 to get
	  a bit more compatible.
	* src/libmtp.c: Added a folder API implementation by
	  Dave "ravelox" Kelly.
	* src/libmtp.h.in: dito.
	* examples/folders.c: dito.
	* examples/newfolder.c: dito.
	* examples/trexist.c: dito.
	
2006-03-28  Linus Walleij  <triad@df.lth.se>

	* m4/*: updated macros to work with GCC 4.1.0.
	* examples/hotplug.c: new program to create device
	  ID lists.
	* libmtp.rules: now an auto-generated file.
	* libmtp.usermap: now an auto-generated file.

2006-03-24  Linus Walleij  <triad@df.lth.se>

	* Beginning a file API, fixed some example program
	  names and such.

2006-03-18  Linus Walleij  <triad@df.lth.se>

	* Fixed up callback interface to a simpler version,
	  the old one was bloated stuff from libnjb anyway.
	  Bump to 0.0.2.

2006-03-16  Linus Walleij  <triad@df.lth.se>

	* Fixed the .h file and implementation so you really only
	  need this one .h file to interface the library.

2006-03-15  Linus Walleij  <triad@df.lth.se>

	* Added three device information retrieval functions.

2006-03-06  Linus Walleij  <triad@df.lth.se>

	* Moving some things around to structure the source. More
	  will be needed...

2006-02-27  Linus Walleij  <triad@df.lth.se>

	* Release libmtp 0.0.1 so people have something to play with,
	  what the heck. Probably saves someones day.

2006-02-24  Linus Walleij  <triad@df.lth.se>

	* Deltr example program to delete tracks, plus corresponding
	  interface call.
	
2006-02-23  Linus Walleij  <triad@df.lth.se>

	* Fixed up sendtr program and metadata tagging function that is
	  used after sending files.

2006-02-22  Linus Walleij  <triad@df.lth.se>

	* Untested gettr.c and sendtr.c programs to get and send tracks
	  created.
	
2006-01-30  Linus Walleij  <triad@df.lth.se>

	* Created the initial GNU source directory structure.
	* Added the most basic files.
