Home | History | Annotate | Download | only in libmtp
      1 2011-01-19  Linus Walleij <triad (a] df.lth.se>
      2 
      3 	RETIRING THIS FILE! WE HAVE MIGRATED TO GIT WHICH
      4 	PROVIDES EASY ACCESS TO THE CHANGELOG, LETS GET RID
      5 	OF THIS ANCIENT CRUFT
      6 
      7 2011-01-09  Linus Walleij <triad (a] df.lth.se>
      8 
      9 	* configure.ac: bump to 1.0.4
     10 	* src/Makefile.am: bump interface to libmtp.so.8.3.4
     11 	* Release libmtp 1.0.4
     12 
     13 2010-12-07  Linus Walleij <triad (a] df.lth.se>
     14 
     15 	* configure.ac: make sure the prober only compiles for
     16 	  Linux.
     17 	* src/ptp.c: update to match upstream.
     18 	* src/ptp.h: dito.
     19 	* src/ptp-pack.c: dito.
     20 
     21 2010-12-05  Linus Walleij <triad (a] df.lth.se>
     22 
     23 	* utils/mtp-probe.c: enhanced to use libmtp intrinsics
     24 	  and e.g. OS descriptor to probe new devices from
     25 	  udev.
     26 	* utils/mtp-hotplug.c: utilize mtp-probe.
     27 	* src/libmtp.h.in: add new interface used by the mtp-probe
     28 	  utility to probe a certain device in a certain bus.
     29 	* src/libusb-glue.c: introduce new function to probe a
     30 	  certain bus and device.
     31 	* examples/Makefile.am: reform the way of making all
     32 	  executable examples prefixed with "mtp-*" just set this
     33 	  name in the make target!
     34 	* configure.ac: drop the default "mtp-*" prefixing of all
     35 	  programs, instead I have renamed the executables.
     36 	* Makefile.am: install the mtp-probe script in the
     37 	  libexecdir, and FORCE this to be /lib/udev.
     38 	  We now also install the udev rules to
     39 	  $libexecdir/rules.d, which is thus also forced to
     40 	  be /lib/udev/rules.d.
     41 
     42 2010-12-01  Linus Walleij <triad (a] df.lth.se>
     43 
     44 	* examples/hotplug.c: drop old udev style somewhat.
     45 	* utils/: move out mtp-hotplug into its own subdir,
     46 	  intend to put programs to probe devices here too.
     47 	* utils/mtp-hotplug.c: moved the hotplug program here.
     48 	* utils/check_mtp_device.sh: tentative script for
     49 	  checking MTP devices.
     50 	* utils/mtp-probe.c: C program intended to check if
     51 	  devices are MTP.
     52 
     53 2010-11-24  Linus Walleij <triad (a] df.lth.se>
     54 
     55 	* examples/hotplug.c: set the music player environment
     56 	  variable for userspace programs watching udev output to
     57 	  determine what device is plugged in.
     58 
     59 2010-10-31  Linus Walleij <triad (a] df.lth.se>
     60 
     61 	* src/libusb-glue.c: only reset the device if a connection
     62 	  fails, then retry. We were resetting the device on every
     63 	  close() - not good.
     64 
     65 2010-10-17  Linus Walleij <triad (a] df.lth.se>
     66 
     67 	* src/libmtp.c: Windows file open fixes from Jelle Geerts.
     68 	* examples/sendfile.c: exit with 1 on error.
     69 	* examples/*: condensed connect subprograms to a single
     70 	  header and propagate error codes.
     71 
     72 2010-09-18  Linus Walleij <triad (a] df.lth.se>
     73 
     74 	* src/libmtp.c: NULL check on abstract lists, drop unused
     75 	  folder variable.
     76 
     77 2010-07-25  Linus Walleij <triad (a] df.lth.se>
     78 
     79 	* src/libmtp.c: if the Ogg or FLAC filetypes have been
     80 	  flagged as being stored as "unknown" and the device now
     81 	  indicates it supports them: remove the flag.
     82 	* src/libmtp.c: parse device extensions.
     83 	* src/libmtp.h.in: stack up device extensions in the
     84 	  device struct.
     85 
     86 2010-06-19  Richard Low <richard (a] wentnet.com>
     87 
     88 	* src/music-players.h: add Apple devices as supported by
     89 	  PwnTunes
     90 
     91 2010-05-23  Linus Walleij <triad (a] df.lth.se>
     92 
     93 	* src/libusb-glue.c: don't probe HID equipment for device
     94 	  descriptors, some Kensington mice don't like that and
     95 	  there generally is not point either
     96 	* src/Makefile.am: interface libmtp.so.8.3.3
     97 	* configure.ac: libmtp 1.0.3
     98 	* Release 1.0.3
     99 
    100 2010-05-16  Richard Low <richard (a] wentnet.com>
    101 
    102 	* src/libusb-glue.c: usb bus location fix for Mac and disable
    103 	  usb_set_altinterface on Mac
    104 
    105 2010-04-25  Linus Walleij <triad (a] df.lth.se>
    106 
    107 	* src/ptp.c: sync to upstream.
    108 	* src/ptp.h: dito.
    109 	* src/playlist-spl.c: fix an issue with Samsung playlists disappearing
    110 	  since they were using a custom MTP type.
    111 	* src/libmtp.c: moan about PTP devices without MTP extension
    112 
    113 2010-04-05  Linus Walleij <triad (a] df.lth.se>
    114 
    115 	* src/ptp.c: sync to upstream.
    116 	* src/ptp.h: dito.
    117 	* src/ptp-pack.c: dito.
    118 
    119 2010-02-01  Linus Walleij <triad (a] df.lth.se>
    120 
    121 	* src/Makefile.am: interface libmtp.so.8.3.2
    122 	* configure.ac: libmtp 1.0.2
    123 	* Release 1.0.2.
    124 
    125 2010-01-30  Linus Walleij <triad (a] df.lth.se>
    126 
    127 	* examples/connect.c: bad prototype for sendtrack_.
    128 	* examples/sentr.c: bad prototype.
    129 	* src/ptp.c: sync to upstream.
    130 	* src/ptp.h: dito.
    131 	* src/ptp-pack.c: dito.
    132 
    133 2010-01-19  Linus Walleij <triad (a] df.lth.se>
    134 
    135 	* src/libmtp.c: handle a root folder with a number of
    136 	  0xffffffffU (-1), even if the spec says that 0x00000000
    137 	  is the root folder. Add some warnings.
    138 	* src/libmtp.c: patch from Kevin Hester to fix the erroneous
    139 	  setting of genre or release date to NULL on some devices.
    140 	* src/libusb-glue.c: patch to fix a bug in some multithread
    141 	  contexts affecting e.g. Rhythmbox, also by Kevin Hester.
    142 	* examples/Makefile.am: fix the bad prefixing that came in
    143 	  as part of the Windows fixes. Keep $(EXEEXT).
    144 
    145 2010-01-07  Linus Walleij <triad (a] df.lth.se>
    146 
    147 	* src/libmtp.c: detect "My_Foo" default folders as well
    148 	  as "My Foo" (underscore) as well.
    149 
    150 2010-01-01  Linus Walleij <triad (a] df.lth.se>
    151 
    152 	* src/libmtp.h.in: we use time_t so include <time.h>
    153 
    154 2009-12-16  Linus Walleij <triad (a] df.lth.se>
    155 
    156 	* src/libusb-glue.c: don't complain so much about the
    157 	  response to command 2.
    158 
    159 2009-11-30  Linus Walleij <triad (a] df.lth.se>
    160 
    161 	* src/libusb-glue.c: bus detection fix for libusb -
    162 	  bus->location was not properly initialized.
    163 
    164 2009-10-10  Linus Walleij <triad (a] df.lth.se>
    165 
    166 	* src/libmtp.h.in: move debugmacros to util.h
    167 	* src/util.h: dito
    168 	* libmtp.pc.in: erroneouse Libs.private, lacking ":"
    169 
    170 2009-09-28  Nicolas VIVIEN <nicolas (a] vivien.fr>
    171 
    172 	* examples/albumart.c : add d option, to enable or not debug
    173 	  ouput.
    174 	* examples/albums.c : dito.
    175 	* examples/detect.c : dito.
    176 	* src/libmtp.c : Add LIBMTP_Set_Debug function.
    177 	* src/libmtp.h.in : Add LIBMTP_Set_Debug function to API.
    178 	* src/libmtp.sym : Add LIBMTP_Set_Debug function to exported symbol.
    179 	* src/libusb-glue.h : Add LIBMTP_USB_DEBUG / LIBMTP_DATA_DEBUG macros.
    180 	* src/libusb-glue.c : Use previous macros inside of printf.
    181 	* src/playlist-spl.c : Add LIBMTP_PLST_DEBUG macro.
    182 
    183 2009-09-25  Linus Walleij <triad (a] df.lth.se>
    184 
    185 	* src/libusb-glue.c: some more BlackBerry fixing from
    186 	  Nicolas.
    187 	* examples/albumart.c: add p and s switches, to support
    188 	  storage and parent ID:s. (Nicolas)
    189 	* examples/newplaylist.c: dito. (Nicolas)
    190 
    191 2009-09-23  Linus Walleij <triad (a] df.lth.se>
    192 
    193 	* src/libmtp.c: patch from Nyall Dawson to make all
    194 	  filenames unique if the device requires this.
    195 	* src/libusb-glue.h: dito.
    196 	* src/device-flags.h: dito.
    197 	* src/music-players.h: dito.
    198 
    199 2009-09-23  Linus Walleij <triad (a] df.lth.se>
    200 
    201 	* src/libusb-glue.c: several patches from Nicolas Vivien to
    202 	  support the BlackBerry Storm.
    203 	* src/device-flags.h: add special flag for the BlackBerry
    204 	  "switch mode" command.
    205 	* src/libusb-glue.h: dito.
    206 	* src/music-players.h: tag the BlackBerry with this flag.
    207 
    208 2009-09-21  Linus Walleij <triad (a] df.lth.se>
    209 
    210 	* examples/sendtr.c: patch from Andrea Grillini to support
    211 	  quiet mode operation.
    212 
    213 2009-09-12  Linus Walleij <triad (a] df.lth.se>
    214 
    215 	* src/libusb-glue.c: skip interfaces with != 3 endpoints
    216 	  and make sure we locate 1 bulk in, 1 bulk out and 1 interrupt
    217 	  endpoint on the interface, else SKIP IT. Based on a patch
    218 	  from Nicolas Vivien <nicolas (a] vivien.fr>.
    219 
    220 2009-09-12  Linus Walleij <triad (a] df.lth.se>
    221 
    222 	* configure.ac: bump version to libmtp 1.0.1 and release!
    223 	* src/Makefile.am: bump soversion to libmtp.so.8.3.1
    224 
    225 2009-09-11  Linus Walleij <triad (a] df.lth.se>
    226 
    227 	* src/music-players.h: tag all SONY NWZ walkmen with
    228 	  DEVICE_FLAG_BROKEN_MTPGETOBJPROPLIST.
    229 
    230 2009-08-27  Linus Walleij <triad (a] df.lth.se>
    231 
    232 	* src/libmtp.c: modernize the album retrieveal functions
    233 	  so they work just as nicely as the track/playlist etc
    234 	  functions. Triggered by Nyalls excellent bug report that
    235 	  showed how libmtp tried to get "composer" info for an
    236 	  album eventhough the device didn't support it.
    237 
    238 2009-08-27  Linus Walleij <triad (a] df.lth.se>
    239 
    240 	* src/libmtp.c: bugfixes again...
    241 
    242 2009-08-25  Linus Walleij <triad (a] df.lth.se>
    243 
    244 	* src/libmtp.c: fix a bug where the metadata was cached
    245 	  twice, thx to Marcus for the patch!
    246 
    247 2009-08-23  Linus Walleij <triad (a] df.lth.se>
    248 
    249 	* src/ptp.c: sync to upstream
    250 	* src/ptp.h: dito.
    251 	* src/libmtp.c: patch from Thomas Schweitzer to not use
    252 	  C++ reserved words like "private" and "new", this was
    253 	  changed to "priv" and "newlist" making C++ happy.
    254 	* src/libusb-glue.h: inclusion guard, export functions to
    255 	  C++ (whoever wants to do that...)
    256 	* src/libusb-glue.c: define USB_CLASS_PTP unless defined,
    257 	  out-commented code to detect all PTP devices as MTP
    258 	  devices as well.
    259 
    260 2009-08-12  Linus Walleij <triad (a] df.lth.se>
    261 
    262 	* src/libusb-glue.c: patch from Simon Berg to detect PTP
    263 	  interface descriptors.
    264 	* src/ptp.c: sync to upstream with correct MTP interface
    265 	  detection in accordance with MTP spec.
    266 	* src/ptp.h: dito.
    267 
    268 2009-08-02  Linus Walleij <triad (a] df.lth.se>
    269 
    270 	* configure.ac: tag for libmtp 1.0.0!
    271 	* src/Makefile.am: bump to compatible API/ABI
    272 	  result = libmtp.so.8.3.0
    273 	* src/libmtp.c: missing flag fix from Marcus.
    274 
    275 2009-07-24  Linus Walleij <triad (a] df.lth.se>
    276 
    277 	* src/device-flags.h: add a flag for unknown FLAC type.
    278 	* src/music-players.h: tag the Cowon iAudio S9 with this.
    279 	* src/libmtp.c: implement unknown FLAC type.
    280 
    281 2009-07-24  Linus Walleij <triad (a] df.lth.se>
    282 
    283 	* src/music-players.h: a number of new devices.
    284 	* src/ptp.c: sync to upstream.
    285 	* src/ptp.h: sync to upstream.
    286 	* src/ptp-pack.c: sync to upstream.
    287 
    288 2009-06-24  Linus Walleij <triad (a] df.lth.se>
    289 
    290 	* src/music-players.h: tag most all Samsung devices with
    291 	  the UNLOAD_DRIVER flag. Broken GET_ALL info in all
    292 	  Creative devices.
    293 
    294 2009-06-20  Linus Walleij <triad (a] df.lth.se>
    295 
    296 	* examples/pathutils.c: detect VCF files too.
    297 
    298 2009-06-15  Marcus Meissner <meissner (a] suse.de>
    299 
    300 	* configure.ac: use the AC_SYS_LARGEFILE macro instead
    301 	  of the ugly largefile hacks.
    302 	* src/libmtp.c: fix use of largefile back to the simple
    303 	  functions instead.
    304 	* examples/albumart.c: dito.
    305 	* examples/sendfile.c: dito.
    306 	* examples/sendtr.c: dito.
    307 	* examples/thumb.c: dito.
    308 
    309 2009-06-15  Linus Walleij <triad (a] df.lth.se>
    310 
    311 	* configure.ac: some buildsystem updates.
    312 	* INSTALL: some doc updates.
    313 
    314 2009-06-15  Marcus Meissner <meissner (a] suse.de>
    315 
    316 	* src/libmtp.c: synced to new libgphoto2 code.
    317 	* src/device-flags.h: dito.
    318 	* src/ptp.h: sync to upstream.
    319 	* src/ptp.c: dito.
    320 	* src/ptp-pack.c: dito.
    321 
    322 	The handles, the PTPObjectInfo and the MTP proplists
    323 	are now consolidated into "PTPObject"s.
    324 
    325 	This and abstraction and the resulting helper functions
    326 	allow implementation of easier dynamic operations like
    327 	I need for libgphoto2.
    328 
    329 	Some corner stones:
    330 
    331 	- PTPParams now contains the device flags itself.
    332 	  (from device-flags.h) This is needed due to
    333 	  ptp_object_want() needing to decide whether it can call
    334 	  GetObjPropList, and it makes it cleaner.
    335 
    336 	  So the ptp-bugs and device-flags handling are unified.
    337 
    338 	- PTPObjects are sorted by object handle. This allows binary
    339 	  search by handle.
    340 
    341 	- New generic helper functions.
    342 
    343 	  * uint16_t ptp_object_find (PTPParams *params,
    344 	    uint32_t handle, PTPObject **retob)
    345 	    binary searches the handle in the object list and returns
    346 	    a pointer to the object.
    347 
    348 	  * uint16_t ptp_object_find_or_insert (PTPParams *params,
    349 	    uint32_t handle, PTPObject **retob)
    350 	    binary searches the handle in the object list, inserts it
    351 	    if not there yet, and returns a pointer to the object.
    352 
    353 	  * uint16_t ptp_object_want (PTPParams *params, uint32_t handle,
    354 	    int want, PTPObject **retob)
    355 	    The most magic function, which does the "on demand" loading
    356 	    of objectinfos, mtp proplists (and more).
    357 	    want is a flag mask of PTPOBJECT_*_LOADED
    358 	    PTPOBJECT_OBJECTINFO_LOADED   clear
    359 	    PTPOBJECT_CANONFLAGS_LOADED   (special canon flags)
    360 	    PTPOBJECT_MTPPROPLIST_LOADED  mtp properties for this object
    361 	                                  loaded
    362 	    PTPOBJECT_DIRECTORY_LOADED    (only used by libgphoto2 currently)
    363 	    PTPOBJECT_PARENTOBJECT_LOADED this and storageid are
    364 	                                  interesting for directory based
    365 	                                  lookups
    366 	    PTPOBJECT_STORAGEID_LOADED    and can be filled out by directory
    367 	                                  loading
    368 
    369 	  * void ptp_objects_sort (PTPParams *params);
    370 	    Sort the objects list if you did any modification of your own
    371 	    on it and the order of object handles might not be linear
    372 	    anymore.
    373 
    374 	- Multiple object information loading strategies are possible.
    375 	  libmtp uses getobjecthandles() /getobjectinfo() and
    376 	  getobjectproplist() loading strategies for initial setup. This
    377 	  stays of course, it will just fill out the PTPObject array.
    378 
    379 	  libgphoto2 now uses a per-directory getobjecthandles() /
    380 	  getobjectinfo() loading approach, and I will readd the
    381 	  getobjectproplist() approach.
    382 
    383 	  It is open what you chose to use here. For libmtp the "load all
    384 	  handles at startup" is good, dynamic loading is better for
    385 	  libgphoto2.
    386 
    387 	  Only rule is: The objectlist must be in order of objecthandles!
    388 	  (ptp_object_sort()).
    389 
    390 2009-06-02  Linus Walleij <triad (a] df.lth.se>
    391 
    392 	* examples/hotplug.c: change the udev match rule from
    393 	  ATTR{dev}!="?*" to ENV{MAJOR}!="?*" at the suggestion of
    394 	  Alan Jenkins, this should be faster.
    395 	* src/libusb-glue.c: include config.h (Marcus Meissner found
    396 	  this is needed when you're not using iconv().)
    397 
    398 2009-05-09  Linus Walleij <triad (a] df.lth.se>
    399 
    400 	* src/libmtp.c: include <config.h> for iconv() compatibility.
    401 	* src/unicode.c: dito. NOTE: this file needs fixing to work
    402 	  without iconv!
    403 	* src/ptp.h: sync to upstream and get all the embedded support
    404 	  for FREE!
    405 	* src/ptp.c: dito.
    406 	* src/ptp-pack.c: dito.
    407 
    408 2009-05-06  Linus Walleij <triad (a] df.lth.se>
    409 
    410 	* src/ptp.h: sync to upstream.
    411 	* src/ptp.c: dito.
    412 	* src/ptp-pack.c: dito.
    413 
    414 2009-05-06  Linus Walleij <triad (a] df.lth.se>
    415 
    416 	A host of Windows fixes from
    417 	Carlo Bramini <carlo_bramini (a] users.sourcefore.net>
    418 	With this patch everything works fine with cygwin and
    419 	Debian 5.0. Unfortunately, with MSys the "make install"
    420 	still fails at the very last actions. It happens that
    421 	everything is re-linked (strange, but not a big problem)
    422 	and for some unknown reason it loops forever when executing
    423 	"examples/hotplug > libmtp.usermap". But hopefully the
    424 	simple "make" completes without errors.
    425 
    426 	* configure.ac:
    427 	  * iconv is now detected with autotools, this makes libmtp
    428 	    linkable on cygwin too (previously it was not).
    429 	  * the presence of Microsoft LIB.EXE is checked; if it is
    430 	    absent then the MSVC libraries won't be generated.
    431 	  * Added checking for some include files not available on
    432 	    Windows: arpa/inet.h, byteswap.h, sys/uio.h.
    433 	  * Check for presence of mkstemp: a replacement has been
    434 	    written for Windows.
    435 	* examples/Makefile.am: the creation of the links failed:
    436 	  I added source path and $(EXEEXT) extension for executables.
    437 	  This is tested and working with Mingw+MSys, Cygwin, Debian 5.0.
    438 	* examples/albumart.c: include sys/uio.h only if it's available.
    439 	* examples/trexist.c: u_int32_t does not exists, into almost all
    440 	  other parts libmtp is using uint32_t so I fixed it in that
    441 	  manner. (Same for u_int64_t/uint64_t).
    442 	* examples/getfile.c: dito.
    443 	* examples/pathutils.c: dito, plus rindex() does not exist under
    444 	  Windows, we must user strrchr() instead.
    445 	* examples/pathutils.h: fixes for prototypes changes made into
    446 	  examples/pathutils.c
    447 	* examples/thumb.c: include sys/uio.h only if it's available.
    448 	* src/Makefile.am:
    449 	  * Several fixes because the check on the presence of LIB.EXE
    450 	    libmtp.sym is now prefixed by $(srcdir), this allows to
    451 	    configure libmtp outside the source tree in Windows too.
    452 	  * Libraries are put into LIBADD instead of LDFLAGS, this is the
    453 	    right place.
    454 	  * Previously the linker crashed because there was -ws2_32
    455 	    instead of -lws2_32.
    456 	* src/playlist-spl.c:
    457 	  * include sys/uio.h only if it's available.
    458 	  * include replacement for mkstemp() function.
    459 
    460 2009-05-03  Richard Low <richard (a] wentnet.com>
    461 
    462 	* src/libmtp.c: add external property types just like file
    463 	  types so any property can be retrieved/set. Add function
    464 	  LIBMTP_Is_Property_Supported to determine if a property is
    465 	  supported for a given object type. Add function
    466 	  LIBMTP_Get_Allowed_Property_Values to get alowed range/enum
    467 	  of a property value. Make
    468 	  LIBMTP_Get_Representative_Sample_Format get the size parameter
    469 	  to allow us to determine the maximum size for a representative
    470 	  sample.
    471 	* src/libmtp.h.in: ditto
    472 	* src/libusb-glue.c: update to check the handler function return
    473 	  value so the handler can return PTP_ERROR_CANCEL to cancel the
    474 	  transfer.
    475 
    476 2009-05-02 Richard Low <richard (a] wentnet.com>
    477 
    478 	* src/ptp-pack.c: add a NULL check
    479 
    480 2009-04-18  Richard Low <richard (a] wentnet.com>
    481 
    482 	* src/ptp-pack.c: add terminating NULL character
    483 
    484 2009-04-11  Richard Low <richard (a] wentnet.com>
    485 
    486 	* src/libusb-glue.c: Make get_playlist_extension return type
    487 	  const char *
    488 	* src/libusb-glue.h: ditto
    489 	* src/libusb-glue.c: In probe_device_descriptor, check to see if
    490 	  dev->config is NULL before going round the first loop
    491 	* src/libmtp.c: Add LIBMTP_Get_File_To_Handler,
    492 	  LIBMTP_Send_File_From_Handler, LIBMTP_Get_Track_To_Handler,
    493 	  LIBMTP_Send_Track_From_Handler functions to get/send files/tracks
    494 	  from/to handler functions. Add modificationdate to file and track
    495 	  structs. Add LIBMTP_FILETYPE_ALBUM and LIBMTP_FILETYPE_PLAYLIST
    496 	  filetypes.
    497 
    498 2009-03-17  Linus Walleij <triad (a] df.lth.se>
    499 
    500 	* src/device-flags.h: discovered a new device that cannot even
    501 	  read out battery level but still claims to be able to. Sigh.
    502 	* src/libusb-glue.h: flag macro.
    503 	* src/music-players.h: flag the Slacker.
    504 	* src/libmtp.c: avoid battery level getting on these devices.
    505 	* configure.ac: preparing for 0.3.7.
    506 	* src/Makefile.am: preparing for 0.3.7 (libmtp.so.8.2.2)
    507 	* Release libmtp 0.3.7.
    508 
    509 2009-03-08  Linus Walleij <triad (a] df.lth.se>
    510 
    511 	* src/libmtp.c: refactored OGG extenstion check again, same
    512 	  code in three places, broke it out and made it foolproof
    513 	  (hopefully) in one single spot.
    514 
    515 2009-03-04  Linus Walleij <triad (a] df.lth.se>
    516 
    517 	* src/libusb-glue.c: patch from Marcus to fix an issue
    518 	  with retransmit originally reported by Florent Pillet.
    519 
    520 2009-02-21  Linus Walleij <triad (a] df.lth.se>
    521 
    522 	* src/libmtp.c: some additional NULL checks from
    523 	  Florent Pillet.
    524 
    525 2009-02-18  Linus Walleij <triad (a] df.lth.se>
    526 
    527 	* src/libmtp.c: error report from RedHat BZ
    528 	  http://bugzilla.redhat.com/show_bug.cgi?id=485627
    529 	  led to strange code for detecting anonymous OGG files
    530 	  being rewritten to handle NULL filenames and filenames
    531 	  that do not exceed 4 chars.
    532 
    533 2009-01-30  Linus Walleij <triad (a] df.lth.se>
    534 
    535 	* src/libmtp.c: store albums and playlists in the default
    536 	  music folder if no default folder for albums resp.
    537 	  playlists has been detected.
    538 
    539 2009-01-22  Linus Walleij <triad (a] df.lth.se>
    540 
    541 	* configure.ac: bump to 0.3.6 and release.
    542 	* src/Makefile.am: interface bump to libmtp.so.8.2.1
    543 
    544 2009-01-16  Linus Walleij <triad (a] df.lth.se>
    545 
    546 	* src/ptp.c: sync to upstream.
    547 	* src/ptp.h: dito.
    548 
    549 2009-01-15  Linus Walleij <triad (a] df.lth.se>
    550 
    551 	* src/libmtp.c: include fixes from Yuri Pankov for *BSD.
    552 	* src/playlist-spl.c: dito.
    553 	* examples/*.c: (more or less) dito.
    554 
    555 2009-01-14  Linus Walleij <triad (a] df.lth.se>
    556 
    557 	* src/device-flags.h: new device flag for broken
    558 	  SendObjectPropList, as found broken in MEU202
    559 	* src/music-players.h: use the new flag.
    560 	* src/libmtp.c: implement this device flag.
    561 	* src/libusb-glue.h: dito.
    562 
    563 2009-01-10  Linus Walleij <triad (a] df.lth.se>
    564 
    565 	* src/libmtp.h.in: mingw32 fixes from James Ravenscroft.
    566 	* src/libmtp.c: dito. Replaced "rindex" with "strrchr"
    567 	* src/Makefile.am: dito.
    568 	* examples/albumart.c: dito.
    569 
    570 2009-01-06  Linus Walleij <triad (a] df.lth.se>
    571 
    572 	* src/Makefile.am: patch from Rafael Laboissiere removing a
    573 	  build artifact in distclean.
    574 
    575 2009-01-02  Linus Walleij <triad (a] df.lth.se>
    576 
    577 	* examples/connect.c: usage patch from Riley Patterson.
    578 	* examples/sendtr.c: dito. Plus only try to add track to an
    579 	  album if and only if an album name was given.
    580 	* examples/newfolder.c: real bad bug fixed, didn't even work
    581 	  due to bad args check.
    582 	* examples/sendfile.c: another bad bug...
    583 	* examples/common.h: include <config.h> not "config.h"
    584 	* src/unicode.h: no reason for this to include config.h!
    585 
    586 2008-12-21  Linus Walleij <triad (a] df.lth.se>
    587 
    588 	* Release libmtp 0.3.5.
    589 
    590 2008-12-15  Nathan Bullock <nathanbullock (a] gmail.com>
    591 
    592 	* src/libmtp.c: get folders to a flat list and we get O(n) searching
    593 	  instead of the previous O(n^2) algorithm!
    594 
    595 2008-12-13  Linus Walleij <triad (a] df.lth.se>
    596 
    597 	* examples/detect.c: make mtp-detect dump out default-capabilities.xml
    598 	  if such a file exists on the device.
    599 	* m4/stdint.m4: update to newer macro from libgphoto2.
    600 	* m4/byteorder.m4: update to newer macro from libgphoto2.
    601 	  We find these here:
    602 	  http://gphoto.svn.sourceforge.net/viewvc/gphoto/trunk/m4/
    603 	* configure.ac: fix the renamed _stdint.h too.
    604 	* Doxyfile.in: some config option got obsolete.
    605 	* libmtp.c: start to use PTP error redirection to the libmtp error
    606 	  stack. This also makes it possible to stop the annoying debug prints.
    607 	* libusb-glue.c: dito.
    608 	* ptp.c: sync to upstream.
    609 	* ptp.h: sync to upstream.
    610 
    611 2008-12-02  Linus Walleij <triad (a] df.lth.se>
    612 
    613 	* examples/util.c: another NULL check.
    614 
    615 2008-11-25  Linus Walleij <triad (a] df.lth.se>
    616 
    617 	* src/libmtp.c: fix a bug on handling folder children with an illegal
    618 	  ID of 0. Occured in the ZEN Xi-Fi in the "Recordings" folder, when
    619 	  that is created on the device.
    620 
    621 2008-11-17  Alistair Boyle <alistair.js.boyle (a] gmail.com>
    622 
    623 	* configure.ac: change release to 0.3.5.
    624 	* libmtp.c: change metadata const*const to *const to allow playlist_id
    625 	  to be modified by LIBMTP_Update_Playlist. (Samsung playlists)
    626 	* libmtp.h.in: match libmtp.c
    627 
    628 2008-11-11  Linus Walleij <triad (a] df.lth.se>
    629 
    630 	* src/libmtp.c: allow for playlists with zero tracks on them,
    631 	  also in update.
    632 
    633 2008-11-09  Linus Walleij <triad (a] df.lth.se>
    634 
    635 	* src/ptp.h: sync from upstream.
    636 	* src/ptp.c: sync from upstream.
    637 	* src/ptp-pack.c: sync from upstream.
    638 
    639 2008-11-07  Linus Walleij <triad (a] df.lth.se>
    640 
    641 	* Release libmtp 0.3.4.
    642 	* configure.ac: let's release 0.3.4.
    643 	* src/Makefile.am: compatible API and ABI.
    644 
    645 2008-11-05  Linus Walleij <triad (a] df.lth.se>
    646 
    647 	* src/libmtp.c: fix the association type problem on
    648 	  LIBMTP_Create_Folder(). This causes folders not to
    649 	  work properly on some devices!!
    650 
    651 2008-11-01  Linus Walleij <triad (a] df.lth.se>
    652 
    653 	* src/ptp.h: sync to upstream.
    654 	* src/ptp.c: sync to upstream.
    655 	* src/ptp-pack.c: introduce Richards bugfix on top of
    656 	  upstream and take advantage of the ptp_debug() function.
    657 	* src/libusb-glue.c: make ptp_debug() non-static since
    658 	  ptp-pack.c needs it.
    659 
    660 2008-10-21  Linus Walleij <triad (a] df.lth.se>
    661 
    662 	* src/device-flags.h: actually the SanDisks cannot handle
    663 	  PTP_OPC_DateModified at ALL, not even as part of the
    664 	  initial update so rename the flag to something sensible.
    665 	* src/music-players.h: consequental changes.
    666 	* src/libmtp.c: disable all use of PTP_OPC_DateModified if
    667 	  flag is set, not just updates.
    668 
    669 2008-10-16  Linus Walleij <triad (a] df.lth.se>
    670 
    671 	* src/device-flags.h: new flag for broken updates of
    672 	  PTP_OPC_DateModified.
    673 	* src/music-players.h: tag all SanDisk devices with this
    674 	  flag. Bug appeared in them.
    675 	* libmtp.c: avoid updating PTP_OPC_DateModified on broken
    676 	  devices.
    677 
    678 2008-09-28  Alvin <alvinbeach (a] gmail.com>
    679 
    680 	* src/libmtp.c: fix several bugs in Ogg filetype support.
    681 
    682 2008-09-26  Richard Low <richard (a] wentnet.com>
    683 
    684 	* src/libmtp.c: check propdesc before setting props in
    685 	  create_new_abstract_list()
    686 
    687 2008-09-25  Linus Walleij <triad (a] df.lth.se>
    688 
    689 	* configure.ac: bump to 0.3.3.
    690 	* src/Makefile.am: interface to .so.8.1.0
    691 	* Release as 0.3.3.
    692 
    693 2008-09-24  Linus Walleij <triad (a] df.lth.se>
    694 
    695 	* src/libmtp.h.in: add new filename setting functions, patch
    696 	  from Florent Mertens <flomertens (a] gmail.com>.
    697 	* src/libmtp.c: implementation.
    698 	* src/playlist-spl.c: consequental changes.
    699 	* src/libmtp.sym: consequental changes.
    700 	* Fixup patch from Alvin later this day.
    701 	* Note to self: remember to bump soname to .so.8.1.0.
    702 
    703 2008-09-23  Richard Low <richard (a] wentnet.com>
    704 
    705 	* src/libmtp.c: check for NULL storage
    706 	* src/libusb-glue.c: return PTP_RC_OK on zero read
    707 	* src/music-players.h: give Samsung YP-10 DEVICE_FLAG_NO_ZERO_READS
    708 
    709 2008-09-22  Linus Walleij <triad (a] df.lth.se>
    710 
    711 	* src/libmtp.c: make sure we don't try to fit a new file onto
    712 	  a ROM storage. Add some pretty-print to FourCC codecs so
    713 	  you can actually understand the enumerations.
    714 
    715 2008-09-20  Joe Nahmias <joe (a] nahmias.net>
    716 
    717 	* examples/sendtr.c: added option to specify which
    718 	  storage_id the track should be copied.
    719 
    720 2008-09-20  Linus Walleij <triad (a] df.lth.se>
    721 
    722 	* configure.ac: bump to 0.3.2.
    723 	* src/Makefile.am: bump to libmtp.so.8.0.2, compatible
    724 	  interface.
    725 	* Release this as 0.3.2 mainly to get the Creative fixes out.
    726 
    727 2008-09-17  Linus Walleij <triad (a] df.lth.se>
    728 
    729 	* src/libmtp.h.in: new helper macros from
    730 	  Alvin <alvinbeach (a] gmail.com> plus some docs.
    731 
    732 2008-09-12  Linus Walleij <triad (a] df.lth.se>
    733 
    734 	* src/music-players.h: drop bug flags off the Creative devices.
    735 	  I am confident that the bugs they were masking have been
    736 	  fixed now.
    737 
    738 2008-09-07  Richard Low <richard (a] wentnet.com>
    739 
    740 	* src/music-players.h: added Panasonic P905i
    741 
    742 2008-09-05  Marcus Meissner <meissner (a] suse.de>
    743 
    744 	* src/libmtp.sym: update symbol export table.
    745 	* src/Makefile.am: fix up some magic for symbol export.
    746 
    747 2008-09-04  Linus Walleij <triad (a] df.lth.se>
    748 
    749 	* src/libmtp.c: look up the filename for playlists if the name is
    750 	  missing or not properly set. Not doing the same for albums -
    751 	  these must have proper metadata.
    752 	* src/music-players.h: more players as usual.
    753 	* examples/sendtr.c: more warnings.
    754 
    755 2008-08-31  Linus Walleij <triad (a] df.lth.se>
    756 
    757 	* src/ptp.h: sync to upstream.
    758 	* src/ptp.c: sync to upstream.
    759 
    760 2008-08-30  Chris Bagwell <chris (a] cnpbagwell.com>
    761 
    762 	* src/libusb-glue.c: make it possible to have per-command
    763 	  or otherwise altered timeout values for different PTP
    764 	  request/response sequences.
    765 	* src/libusb-glue.h: dito.
    766 	* src/libmtp.c: increase USB timeout to 30s when getting
    767 	  a complete track listing off the device.
    768 	* src/music-players.h: as a consequence, the Sirus Stiletto
    769 	  no longer needs any brokenness flag.
    770 
    771 2008-08-30  Linus Walleij <triad (a] df.lth.se>
    772 
    773 	* src/ptp.c: sync to upstream.
    774 
    775 2008-08-28  Linus Walleij <triad (a] df.lth.se>
    776 
    777 	* examples/sendtr.c: fix non-strdup():ed strings to be
    778 	  copied, patch courtesy of Juanan Pereira.
    779 
    780 2008-08-25  Linus Walleij <triad (a] df.lth.se>
    781 
    782 	* src/Makefile.am: bump interface a patchlevel. (Fully
    783 	  compatible.)
    784 	* configure.ac: bump version to 0.3.1.
    785 	* Release as libmtp 0.3.1.
    786 
    787 2008-08-18  Linus Walleij <triad (a] df.lth.se>
    788 
    789 	* src/libusb-glue.c: some vartype and return flunkies.
    790 	* configure.ac: check for locale.h
    791 	* examples/util.c: set locale to pick up environment.
    792 
    793 2008-08-17  Linus Walleij <triad (a] df.lth.se>
    794 
    795 	* src/libusb-glue.c: some handling of ptp_usb_getdata()
    796 	  when passed in data size was 0xffffffffU, data
    797 	  sent in first transaction was ignored, fix by
    798 	  Rob Woolley.
    799 	* src/ptp-pack.c: sync in from upstream libgphoto2.
    800 	* src/README: move relevant stuff to README.
    801 	* README: see above.
    802 
    803 2008-08-15  Alistair Boyle <alistair.js.boyle (a] gmail.com>
    804 
    805 	* src/playlist-spl.c: added handling of Samsung's
    806 	  proprietary .spl playlist format.
    807 	* src/playlist-spl.h: dito.
    808 	* src/device-flags.h: new flags for Samsung playlists.
    809 	* src/music-players.h: assign flags.
    810 	* src/libusb-glue.h: convenience macros.
    811 	* src/libmtp.c: integrate Samsung playlists.
    812 
    813 2008-08-15  Linus Walleij <triad (a] df.lth.se>
    814 
    815 	* examples/Makefile.am: break out utility functions
    816 	  (currently only checklang()) to a separate file.
    817 	* examples/util.h: dito.
    818 	* examples/util.c: dito.
    819 	* examples/detect.c: dito.
    820 	* examples/sendtr.c: dito.
    821 	* examples/connect.c: dito.
    822 
    823 2008-08-14  Linus Walleij <triad (a] df.lth.se>
    824 
    825 	* src/libmtp.c: add some documentation to file and track
    826 	  listing functions to that it's clear that you have to
    827 	  inspect storage_id and parent_id in order to group files
    828 	  into storages and/or folders.
    829 
    830 2008-07-31  Linus Walleij <triad (a] df.lth.se>
    831 
    832 	* src/music-players.h: several new devices and flags.
    833 
    834 2008-06-24  Linus Walleij <triad (a] df.lth.se>
    835 
    836 	* TODO: updates.
    837 	* src/Makefile.am: bump interface to libmtp.so.8.0.0.
    838 	  It's NOT compatible!
    839 	* RELEASE libmtp 0.3.0 and let the apps developers have
    840 	  their apps fixed!
    841 
    842 2008-06-22  Linus Walleij <triad (a] df.lth.se>
    843 
    844 	* src/libmtp.h.in: removed the parenthandle argument from
    845 	  LIBMTP_Send_File_From_File(),
    846 	  LIBMTP_Send_File_From_File_Descriptor(),
    847 	  LIBMTP_Send_Track_From_File(),
    848 	  LIBMTP_Send_Track_From_File_Descriptor(),
    849 	  LIBMTP_Create_New_Playlist() and
    850 	  LIBMTP_Create_New_Album()
    851 	  Now you must pass in parent ID from a metadata or
    852 	  filedata set. Use the respective field of the
    853 	  file, track, playlist or album struct to pass in
    854 	  a parent handle when calling these functions from
    855 	  now on. The bonus for changing your code is that you
    856 	  can now also pass in a storage_id with any metadata
    857 	  set! Consequently LIBMTP_Create_Folder() was
    858 	  altered to accept THREE metadata arguments: name,
    859 	  parent_id and storage_id. All calls to any of these
    860 	  functions in any referring code need to be altered to
    861 	  use this scheme. It should be quite self-evident for
    862 	  most code and easy to perform.
    863 	* src/libmtp.c: changed outlined above were implemented.
    864 	* examples/newfolder.c: consequental changes.
    865 	* examples/sendfile.c: consequental changes.
    866 	* examples/sendtr.c: consequental changes.
    867 	* examples/albumart.c: consequental changes.
    868 	* examples/newplaylist.c: consequental changes.
    869 	* examples/files.c: consequental changes.
    870 	* examples/tracks.c: correct misleading strings.
    871 
    872 2008-06-15  Linus Walleij <triad (a] df.lth.se>
    873 
    874 	* src/libmtp.c: only look for default folders in the
    875 	  root folder on the primary storage, even.
    876 
    877 2008-06-14  Linus Walleij <triad (a] df.lth.se>
    878 
    879 	* src/libmtp.c: only look for default folders in the
    880 	  primary storage, and only try to put files there
    881 	  if they are targetting the primary storage.
    882 
    883 2008-06-08  Linus Walleij <triad (a] df.lth.se>
    884 
    885 	* configure.ac: check for the langinfo.h header.
    886 	* examples/connect.c: check charset properly.
    887 	* examples/sendtr.c: dito.
    888 	* src/music-players.h: new devices galore.
    889 
    890 2008-06-03  Linus Walleij <triad (a] df.lth.se>
    891 
    892 	* src/device-flags.h: new device flag for devices that
    893 	  always need to have their device descriptor probed.
    894 	* src/music-players.h: generously add this flag to all
    895 	  SanDisk devices. The e280v2 and Fuze are known to be
    896 	  especially problematic.
    897 	* src/libusb-glue.h: helper macro.
    898 	* src/libusb-glue.c: massage "OS Descriptor" on demand
    899 	  when opening the device.
    900 	* src/music-players.h: detailed info and flags for the
    901 	  SanDisk Sansa players. More to be done, probably.
    902 
    903 2008-06-02  Linus Walleij <triad (a] df.lth.se>
    904 
    905 	* src/libusb-glue.c: refactor PTP_USB to use the raw
    906 	  device and its contained deviceinfo to store and
    907 	  retrieve the device flags. (This is starting to look
    908 	  object oriented...)
    909 	* src/libusb-glue.h: accessor functions to simplify
    910 	  switching on the device flags and increase the code
    911 	  readability.
    912 	* src/libmtp.c: use the new accessor functions.
    913 
    914 2008-06-01  Linus Walleij <triad (a] df.lth.se>
    915 
    916 	* src/libmtp.c: use LIBMTP_Detect_Raw_Devices() and
    917 	  LIBMTP_Open_Raw_Device() inside
    918 	  LIBMTP_Get_First_Device() refactoring. Move
    919 	  params creation into this file.
    920 	* src/libusb-glue.c: move params creation away
    921 	  from here.
    922 
    923 2008-05-30  Linus Walleij <triad (a] df.lth.se>
    924 
    925 	* src/libusb-glue.c: unused variable.
    926 	* examples/detect.c: switch to using raw device
    927 	  interface for opening devices.
    928 
    929 2008-05-28  Linus Walleij <triad (a] df.lth.se>
    930 
    931 	* src/libmtp.c: internally using the raw devices to
    932 	  get a list of devices.
    933 	* src/ptp.c: sync to upstream.
    934 	* src/ptp.h: dito.
    935 	* src/ptp-pack.c: dito.
    936 	* src/libmtp.h.in: move raw device detection to use
    937 	  error codes. Add interface to open a raw device!
    938 	* src/libusb-glue.h: make the old device list internal,
    939 	  use raw device in interface for configuring USB.
    940 	* src/libusb-glue.c: fix up error messages. Move the
    941 	  raw device detection interface to use error codes.
    942 	* examples/detect.c: fix up error messages. Use error
    943 	  codes for raw devices.
    944 
    945 2008-05-23  Linus Walleij <triad (a] df.lth.se>
    946 
    947 	* src/libmtp.c: after sending a file, look up the
    948 	  resulting file metadata from the cache to make sure
    949 	  that parent_id is identical to that the file actually
    950 	  gets on the device. If root folder (0) is selected, we
    951 	  hardcode thing to 0xffffffffu to be used as parent,
    952 	  but it will probably end up being 0 for example.
    953 	  Also fix an issue with ptp_mtp_getobjectproplist()
    954 	  sometimes returning a NULL pointer while still
    955 	  claiming there are props in the list.
    956 	* src/libusb-glue.h: add a function to get the preferred
    957 	  playlist extension.
    958 	* src/libusb-glue.c: "written" variable in
    959 	  ptp_usb_sendreq() may end up uninitialized if
    960 	  ptp_write_func() fails. Initialize it to 0.
    961 	  Get the prefered playlist extension.
    962 
    963 2008-05-18  Richard Low <richard (a] wentnet.com>
    964 
    965 	* src/device-flags.h: added
    966 	  DEVICE_FLAG_BROKEN_SET_SAMPLE_DIMENSIONS device flag
    967 	* src/music-players.h: ditto. Also set Samsung YH-999 to
    968  	  DEVICE_FLAG_BROKEN_MTPGETOBJPROPLIST_ALL based on users
    969 	  experience.
    970 	* src/libmtp.c: added
    971           DEVICE_FLAG_BROKEN_SET_SAMPLE_DIMENSIONS device flag
    972 
    973 2008-05-05  Linus Walleij <triad (a] df.lth.se>
    974 
    975 	* src/libusb-glue.c: assign device name and flags to
    976 	  detected raw devices, slowly preparing to move to
    977 	  using the raw device detection internally as well.
    978 
    979 2008-05-04  Linus Walleij <triad (a] df.lth.se>
    980 
    981 	* src/libmtp.h.in: move useful filetype macros here so
    982 	  external programs can use them.
    983 	* src/libmtp.c: consequental changes.
    984 	* examples/sendtr.c: use the new macro to detect track
    985 	  content.
    986 
    987 2008-05-03  Johannes Huber <johub1180 (a] gmx.at>
    988 
    989 	* src/libmtp.h.in: add interface for setting album composer,
    990 	  needed for classical albums, on abstract albums.
    991 	* src/libmtp.c: implement it.
    992 	* examples/albums.c: consequental changes.
    993 	* examples/connect.c: dito.
    994 	* examples/sendtr.c: dito.
    995 	* examples/tracks.c: dito.
    996 	* AUTHORS: new contributor.
    997 
    998 2008-04-27  Linus Walleij <triad (a] df.lth.se>
    999 
   1000 	* src/libmtp.c: recognize audio files as tracks, since this
   1001 	  is what WMP does. (e.g. it sets playlength on movies
   1002 	  to enable skip bar) also define macros for audio/video/both
   1003 	  types and tidy up a bit.
   1004 
   1005 2008-04-24  Linus Walleij <triad (a] df.lth.se>
   1006 
   1007 	* src/libmtp.h.in: added preliminary interface for getting
   1008 	  raw devices.
   1009 	* src/libusb-glue.c: the implementation is all here!
   1010 	* src/libusb-glue.h: add some bus and device fields to the
   1011 	  internal device list.
   1012 	* examples/detect.c: exercise the raw device detection code.
   1013 
   1014 2008-03-26  Linus Walleij <triad (a] df.lth.se>
   1015 
   1016 	* examples/pathutils.c: fix a folder identification bug,
   1017 	  courtesy of Dr Nicholas Jacobs.
   1018 
   1019 2008-03-12  Linus Walleij <triad (a] df.lth.se>
   1020 
   1021 	* configure.ac: bad mailing list address. (Marcus) Bump to
   1022 	  version 0.3.0.
   1023 	* examples/hotplug.c: switch from using "info.bus" to
   1024 	  using "info.subsystem" to identify USB events. (Marcus).
   1025 	* src/libmtp.c: add parent_id to albums and playlists,
   1026 	  based on a patch by Ali Shah.
   1027 	* src/libmtp.h.in: dito.
   1028 	* examples/playlists.c: consequental changes.
   1029 	* examples/albums.c: consequental changes.
   1030 	* This will be a new major revision of the API/ABI no
   1031 	  matter what.
   1032 
   1033 2008-03-08  Linus Walleij <triad (a] df.lth.se>
   1034 
   1035 	* src/libusb-glue.c: left debug prints on :-(
   1036 	* configure.ac: set to 0.2.6.1
   1037 	* Release as 0.2.6.1
   1038 
   1039 2008-03-02  Linus Walleij <triad (a] df.lth.se>
   1040 
   1041 	* configure.ac: prepare 0.2.6 release.
   1042 	* src/Makefile.am: bump to compatible interface,
   1043 	* src/ptp.c: sync in upstream, a Sansa fix!
   1044 	* src/ptp.h: sync in upstream.
   1045 	* doc/Doxyfile.in: retire obsoleted parameters.
   1046 	* Release this as 0.2.6!
   1047 
   1048 2008-02-24  Richard Low <richard (a] wentnet.com>
   1049 
   1050 	* src/music-players.h: add DEVICE_FLAG_BROKEN_MTPGETOBJPROPLIST_ALL
   1051 	  for a broken Philips player.
   1052 
   1053 2008-02-18  Linus Walleij <triad (a] df.lth.se>
   1054 
   1055 	* examples/pathutils.c: fix up item ID typing to uint32_t,
   1056 	  handle file names passed in as arguments at suggestion from
   1057 	  anonymous mail list user.
   1058 	* examples/pathutils.h: move a function static.
   1059 
   1060 2008-02-12  Nicolas Pennequin <nicolas.pennequin (a] free.fr>
   1061 
   1062 	* examples/sendtr.c: add transferred tracks to albums if possible.
   1063 
   1064 2008-02-10  Scott Snyder <snyder (a] fnal.gov>
   1065 
   1066 	* src/libusb-glue.c: finally fix up the short header detection
   1067 	  to skip over zero packets when encountered.
   1068 	* examples/pathutils.c: fix a problem where all files sent has
   1069 	  to include a "." (period).
   1070 
   1071 2008-02-06  Linus Walleij <triad (a] df.lth.se>
   1072 
   1073 	* src/libusb-glue.c: wait for response > 0 instead of > 2.
   1074 
   1075 2008-01-28  Linus Walleij <triad (a] df.lth.se>
   1076 
   1077 	* src/libmtp.c: LIBMTP_Get_Filemetadata() return metadata for
   1078 	  folders (associations) too. There is really no reason why it
   1079 	  shouldn't and it's good for use internally.
   1080 	  LIBMTP_Get_Filelisting_With_Callback() will still not return
   1081 	  any associations however. We want to use the folder functions
   1082 	  for that.
   1083 
   1084 2008-01-28  Linus Walleij <triad (a] df.lth.se>
   1085 
   1086 	* src/libmtp.h.in: withdraw LIBMTP_Set_Object_Parent() function,
   1087 	  no known devices will support this.
   1088 	* src/libmtp.c: dito. Fix up some problems with the
   1089 	  LIBMTP_Set_Object_Filename() function.
   1090 
   1091 2008-01-27  Linus Walleij <triad (a] df.lth.se>
   1092 
   1093 	* src/libmtp.c: fix up some minor things and documentation on
   1094 	  the object handling functions.
   1095 
   1096 2008-01-27  Florent Mertens <flomertens (a] gmail.com>
   1097 
   1098 	* src/libmtp.h.in: new functions to rename object filenames
   1099 	  and change object parents. Good when modifying the device
   1100 	  as a file system, LIBMTP_Set_Object_Filename(),
   1101 	  LIBMTP_Set_Object_Parent().
   1102 	* src/libmtp.c: implementation.
   1103 
   1104 2008-01-27  Linus Walleij <triad (a] df.lth.se>
   1105 
   1106 	* src/libusb-glue.c: re-read response from device until
   1107 	  it atleast exceeds two bytes. This fixes a problem with
   1108 	  the Samsung YP-U3 when populated with many, many songs.
   1109 
   1110 2008-01-21  Richard Low <richard (a] wentnet.com>
   1111 
   1112 	* src/music-players.h: add Thomson Lyrca HC308A, remove
   1113 	  incorrect ID for Creative Zen 8GB
   1114 
   1115 2008-01-20  Richard Low <richard (a] wentnet.com>
   1116 
   1117 	* src/libmtp.c: add LIBMTP_Get_Representative_Sample()
   1118 	* src/libmtp.h.in: ditto
   1119 
   1120 2008-01-14  Linus Walleij <triad (a] df.lth.se>
   1121 
   1122 	* src/libmtp.c: add LIBMTP_Get_Manufacturername(). Remember
   1123 	  to bump soname (compatible) in 0.2.6 (or whatever we name it).
   1124 	  0.3.0 perhaps?
   1125 	* src/libmtp.h.in: dito.
   1126 	* src/libmtp.c: detect default folders named "Datacasts" and
   1127 	  "Texts".
   1128 
   1129 2008-01-11  Linus Walleij <triad (a] df.lth.se>
   1130 
   1131 	* examples/pathutils.c: recognize .bin files as firmware,
   1132 	  used by e.g. RockBox developers. Doesn't cost anything to
   1133 	  add.
   1134 
   1135 2008-01-08  Linus Walleij <triad (a] df.lth.se>
   1136 
   1137 	* configure.ac: bump to 0.2.5.
   1138 	* src/Makefile.am: interface to libmtp.so.7.0.2
   1139 	  (compatible).
   1140 	* Release as libmtp 0.2.5. Why not?
   1141 
   1142 2007-12-28  Linus Walleij <triad (a] df.lth.se>
   1143 
   1144 	* src/libmtp.c: make libmtp use PTP_OPC_AlbumArtist on albums,
   1145 	  instead of the (seldom present) PTP_OPC_Artist tag. Use both
   1146 	  if both are supported. We're not setting AlbumArtist on regular
   1147 	  tracks though, what's the point, and what does it mean if this
   1148 	  differs from Artist??
   1149 
   1150 2007-11-30  Linus Walleij <triad (a] df.lth.se>
   1151 
   1152 	* src/music-players.h: new flag for the YP-T10.
   1153 	* src/device-flags.h: define the new flag, that is needed
   1154 	  to support Ogg files on these devices.
   1155 	* src/libmtp.c: recognize and report Ogg support, set type
   1156 	  to unknown when transferring.
   1157 
   1158 2007-11-22  Linus Walleij <triad (a] df.lth.se>
   1159 
   1160 	* configure.ac: bump to 0.2.4.
   1161 	* src/Makefile.am: bump age of soversion (compatible).
   1162 	* RELEASE 0.2.4 mainly to get some new device support out there.
   1163 
   1164 2007-11-09  Linus Walleij <triad (a] df.lth.se>
   1165 
   1166 	* src/libusb-glue.c: avoid probing deeper into interfaces
   1167 	  that have a string describing them as "MTP" after a
   1168 	  suggested patch from Alexander Kanavin <ak (a] sensi.org>.
   1169 	* examples/albumart.c: patch from Chris Waters <xtifr (a] debian.org>
   1170 	  replacing calls to atoi() with calls to strtoul(). Since
   1171 	  object ID:s are unsigned long, atoi() would reject too
   1172 	  high object IDs. The patch also fix a few memory leaks.
   1173 	  THANKS DEBIAN! We love our downstream!
   1174 	* examples/newplaylist.c: dito.
   1175 	* examples/pathutils.c: dito.
   1176 	* examples/thumb.c: dito.
   1177 
   1178 2007-11-05  Linus Walleij <triad (a] df.lth.se>
   1179 
   1180 	* src/libmtp.c: use OPFF codes instead of DPFF codes,
   1181 	  we're dealing with objects, not device props.
   1182 	* src/ptp.c: silence some OPFF freeing warnings.
   1183 
   1184 2007-11-02  Linus Walleij <triad (a] df.lth.se>
   1185 
   1186 	* src/libusb-glue.c: try to repair header here instead of
   1187 	  ignoring error in ptp.c.
   1188 	* src/music-players.h: flag some more Creative devices as
   1189 	  broken getting all files.
   1190 	* src/Makefile.am: reference the 2 new .h files.
   1191 
   1192 2007-10-31  Linus Walleij <triad (a] df.lth.se>
   1193 
   1194 	* src/ptp.c: bring cache handling into this file.
   1195 	* src/ptp.h: dito.
   1196 	* src/libmtp.c: consequential changes.
   1197 
   1198 2007-10-30  Linus Walleij <triad (a] df.lth.se>
   1199 
   1200 	* src/music-players.h: split this off as a shared file
   1201 	  between us and libgphoto2 so we get out of the syncing
   1202 	  nightmare.
   1203 	* src/device-flags.h: split out this as well, Marcus
   1204 	  might want it.
   1205 	* src/libusb-glue.c: consequential movement.
   1206 	* src/libmtp.c: reference new flag file.
   1207 	* src/ptp.c: sync in upstream.
   1208 	* src/ptp.h: dito.
   1209 
   1210 2007-10-25  Linus Walleij <triad (a] df.lth.se>
   1211 
   1212 	* Release 0.2.3. Nice bunch of cleaned-up code, sad we had
   1213 	  too bump soversion but such is life.
   1214 
   1215 2007-10-23  Linus Walleij <triad (a] df.lth.se>
   1216 
   1217 	* src/libmtp.c: make LIBMTP_Send_File_From_File_Descriptor()
   1218 	  survive the case where device->storage is NULL. This happens
   1219 	  on the Nokia 3110c.
   1220 
   1221 2007-10-19  Linus Walleij <triad (a] df.lth.se>
   1222 
   1223 	* src/libmtp.c: bring the cache handling code together at the
   1224 	  end of the file, refactor so as to avoid code duplication,
   1225 	  do things in one place only and looking good. Get folder
   1226 	  list recursively instead, this works better with fast dir
   1227 	  retrieveal I think.
   1228 
   1229 2007-10-18  Linus Walleij <triad (a] df.lth.se>
   1230 
   1231 	* src/libmtp.c: fix the deletion of cached properties when
   1232 	  removing objects. This code was seriously broken.
   1233 
   1234 2007-10-16  Jeff Mitchell <kde-dev (a] emailgoeshere.com>
   1235 
   1236 	* src/libusb-glue.c: remove the previously-concatenated vendor
   1237 	  and product string "name" field as it's now redundant
   1238 	* src/Makefile.am: interface to libmtp.so.7.0.0 (incompatible,
   1239 	  device_entry_struct members changed)
   1240 	* examples/hotplug.c: port to use vendor and product instead of
   1241 	  name, also some useful commenting in the fdi file
   1242 
   1243 2007-10-15  Linus Walleij <triad (a] df.lth.se>
   1244 
   1245 	* src/libusb-glue.c: repair headers, don't just ignore them.
   1246 	  Add support for broken set object proplist devices. Motorola
   1247 	  RAZR2 V8 has this problem.
   1248 	* src/libusb-glue.h: flag for broken set object proplist.
   1249 	* libmtp.c: avoid broken set object proplist.
   1250 
   1251 2007-10-09  Jeff Mitchell <kde-dev (a] emailgoeshere.com>
   1252 
   1253 	* src/libusb-glue.c: add separate vendor and product strings
   1254 	  in device entry structs
   1255 	* src/libmtp.h.in: update device entry structs to reflect this
   1256 
   1257 2007-10-04  Linus Walleij <triad (a] df.lth.se>
   1258 
   1259 	* src/libusb-glue.c: rm some pointless confusing defines
   1260 	  inherited from libgphoto2.
   1261 	* configure.ac: bump to 0.2.2
   1262 	* src/Makefile.am: interface to libmtp.so.6.0.2 (compatible)
   1263 	* Release as 0.2.2. Now is as good time as ever. Release
   1264 	  early and release often.
   1265 
   1266 2007-10-03  Linus Walleij <triad (a] df.lth.se>
   1267 
   1268 	* src/libusb-glue.c: tag the OLD Creative devices with
   1269 	  DEVICE_FLAG_BROKEN_MTPGETOBJPROPLIST_ALL, after clear
   1270 	  indications that it was broken when retrieveing folders
   1271 	  on all those devices. The newer devices (those supporting
   1272 	  32bit object size) presumably does not have this limitation.
   1273 
   1274 2007-10-02  Linus Walleij <triad (a] df.lth.se>
   1275 
   1276 	* src/libmtp.c: devices which represented file size with a
   1277 	  32bit value (some Creative devices) would return a bananas
   1278 	  file size. Fixed it up by...
   1279 	* src/libmtp.h.in: recycling the uint8_t "interface"
   1280 	  field in the device struct as a holder of the object size
   1281 	  for the device. This will make the new library binary
   1282 	  compatible with version 0.2.1 since no-one should *ever*
   1283 	  dereference that value (which used to be the USB interface
   1284 	  number and is now the object size).
   1285 	* examples/files.c: display 64bit file sizes in hex correctly.
   1286 
   1287 2007-09-29  Richard Low <richard (a] wentnet.com>
   1288 
   1289 	* src/libmtp.c: avoid crash on failed connect
   1290 
   1291 2007-09-28  Linus Walleij <triad (a] df.lth.se>
   1292 
   1293 	* src/libusb-glue.h: introduce a new device flag for devices that
   1294 	  have broken PTP headers, first encountered on the Creative
   1295 	  ZEN 8GB.
   1296 	* src/libusb-glue.c: attempt to begin to work around the broken
   1297 	  PTP headers.
   1298 
   1299 2007-09-25  Linus Walleij <triad (a] df.lth.se>
   1300 
   1301 	* src/libusb-glue.h: add a new device flag for devices that don't
   1302 	  like it if you release the interface (or try to clear endpoints).
   1303 	* src/libusb-glue.c: dito, implement this flag, tag all SanDisk
   1304 	  Sansa devices with it except for the Linux-based Sansa Connect.
   1305 
   1306 2007-09-23  Richard Low <richard (a] wentnet.com>
   1307 
   1308 	* src/libusb-glue.c: updated some device flags, removed second
   1309 	  call to ptp_getdeviceinfo
   1310 	* src/libmtp.c: property cache fixes
   1311 
   1312 2007-09-23  Linus Walleij <triad (a] df.lth.se>
   1313 
   1314 	* src/libmtp.c: wrapped updating of playlists and albums into an
   1315 	  abstract function so we do it consistently. Added support for
   1316 	  tagging on modification date to files, tracks, playlists and
   1317 	  albums.
   1318 
   1319 2007-09-21  Linus Walleij <triad (a] df.lth.se>
   1320 
   1321 	* src/libusb-glue.c: flag the Samsung YH-820 with
   1322 	  DEVICE_FLAG_BROKEN_MTPGETOBJPROPLIST_ALL after tests by Stephan
   1323 	  Fabel.
   1324 
   1325 2007-09-18  Linus Walleij <triad (a] df.lth.se>
   1326 
   1327 	* src/libusb-glue.c: stop the endpoint unhalting/unstalling when
   1328 	  closing the USB device. It was AYBABTU the Samsungs
   1329 	  (and others).
   1330 
   1331 2007-09-17  Linus Walleij <triad (a] df.lth.se>
   1332 
   1333 	* src/libusb-glue.c: silenced weirdo error message.
   1334 
   1335 2007-09-16  Linus Walleij <triad (a] df.lth.se>
   1336 
   1337 	* src/ptp.c: cancellation working *as it should*
   1338 	* src/ptp.h: dito.
   1339 	* src/libusb-glue.c: dito.
   1340 	* src/libusb-glue.h: dito.
   1341 	* src/libmtp.c: dito.
   1342 	* src/libmtp.h.in: new error code for cancellation.
   1343 
   1344 2007-09-16  Richard Low <richard (a] wentnet.com>
   1345 
   1346 	* src/libusb-glue.c: only read descriptors for devices we
   1347 	  don't know since it breaks on some devices
   1348 	* src/libmtp.c: a couple of bugs fixed in metadata retreival
   1349 
   1350 2007-09-15  Linus Walleij <triad (a] df.lth.se>
   1351 
   1352 	* src/ptp.c: get cancellation of xfers working.
   1353 	* src/libusb-glue.c: dito.
   1354 	* src/libusb-glue.h: dito.
   1355 	* src/libmtp.c: dito.
   1356 
   1357 2007-09-14  Linus Walleij <triad (a] df.lth.se>
   1358 
   1359 	* src/ptp.h: sync in upstream to get cancellation prototypes.
   1360 	* src/libusb-glue.c: first try to implement cancellation.
   1361 	* src/libmtp.c: dito. Bugfix to one of Marcus' realloc():s.
   1362 
   1363 2007-09-12  Marcus Meissner <meissner (a] suse.de>
   1364 
   1365 	* src/ptp-pack.c: sync to upstream, rewrote packing to use
   1366 	  a static array to be qsort():ed when reading in proplists.
   1367 	* src/ptp.c: reflect changes.
   1368 	* src/ptp.h: reflect changes.
   1369 	* src/libmtp.c: reflect changes.
   1370 
   1371 2007-09-06  Linus Walleij <triad (a] df.lth.se>
   1372 
   1373 	* examples/hotplug.c: edit up into a udev ruleset that is
   1374 	  inexorably complicated but probably compatible with most
   1375 	  udev versions out there. Now please DON'T update udev
   1376 	  styles again!
   1377 
   1378 2007-09-05  Richard Low <richard (a] wentnet.com>
   1379 
   1380 	* src/libmtp.c: album fixups
   1381 
   1382 2007-09-05  Linus Walleij <triad (a] df.lth.se>
   1383 
   1384 	* examples/hotplug.c: use old udev style by default, use new
   1385 	  if requested explicitly by a -U switch.
   1386 
   1387 2007-09-04  Linus Walleij <triad (a] df.lth.se>
   1388 
   1389 	* src/libmtp.c: make sure we query recursively supplying each
   1390 	  storage ID in turn, so we spin over storages. Also check
   1391 	  what storage may be available to store a file, if the first
   1392 	  one fails, try the next!
   1393 
   1394 2007-09-01  Linus Walleij <triad (a] df.lth.se>
   1395 
   1396 	* src/ptp-pack.c: make the resulting MTP proplist sorted by
   1397 	  object ID.
   1398 	* hotplug.sh.in: explicitly call BASH instead of just sh. Warn
   1399 	  if script is not run as root.
   1400 
   1401 2007-08-29  Linus Walleij <triad (a] df.lth.se>
   1402 
   1403 	* examples/Makefile.am: move include define from AM_CFLAGS to
   1404 	  AM_CPPFLAGS (as it should be) bug found by Petar Petrov
   1405 	  <pesho.petrov (a] gmail.com>.
   1406 	* src/libusb-glue.c: strange misleading message corrected. Fix
   1407 	  up the horrid interface passing back-and-forward and confusing.
   1408 	* src/libusb-glue.h: dito.
   1409 	* src/libmtp.c: rid interface references, that's a USB issue!
   1410 	* src/libmtp.h.in: flag interface number in device struct as retired.
   1411 
   1412 2007-08-28  Linus Walleij <triad (a] df.lth.se>
   1413 
   1414 	* src/libmtp.c: retire the horrid, broken, stream send facility that
   1415 	  does not work on any device since they all want to know the file
   1416 	  size in advance. Add in some code to fall back on the recursive
   1417 	  metadata retrieveal if getting the whole long list fails.
   1418 	* src/libusb-glue.c: tag all Sansas as having broken GetObjectPropList
   1419 	  when all tags for all objects are requested. Scan each INTERFACE
   1420 	  of the device for device descriptors.
   1421 
   1422 2007-08-24  Linus Walleij <triad (a] df.lth.se>
   1423 
   1424 	* src/libusb-glue.h: new device flag to strip all non-7bit chars from
   1425 	  filenames on some lame devices.
   1426 	* src/libusb-glue.c: tag the Philips Shoqbox with this flag.
   1427 	* src/libmtp.c: strip the non-7bit chars from filenames if that
   1428 	  flag is set.
   1429 	* src/unicode.h: introduce a 7bit-strip helper function.
   1430 	* src/unicode.c: dito.
   1431 
   1432 2007-08-22  Linus Walleij <triad (a] df.lth.se>
   1433 
   1434 	* src/libmtp.c: deal with setting of metadata sets for u16/u32:s that
   1435 	  are ranges or enums, rounding and twiddling if need be. This is
   1436 	  needed because some new devices (like the TrekStor Sweez,
   1437 	  has duration defined as a range: MIN 0, MAX 65535000, STEP 1
   1438 	  and Sandisk Sansa c240 has duration as range: MIN 0, MAX 2147483000,
   1439 	  STEP 1000) whereas old devices would just accept any value.
   1440 
   1441 2007-08-16  Richard Low <richard (a] wentnet.com>
   1442 
   1443 	* src/ptp-pack.c: allow packing of NULL strings
   1444 
   1445 2007-08-15  Robert Reardon <rreardon (a] monkshatch.vispa.com>
   1446 
   1447 	* src/libmtp.c: return device max values for representative
   1448 	  samples.
   1449 
   1450 2007-08-15  Richard Low <richard (a] wentnet.com>
   1451 
   1452 	* src/libusb-glue.c: added Philips Shoqbox
   1453 
   1454 2007-08-13  Linus Walleij <triad (a] df.lth.se>
   1455 
   1456 	* src/ptp.c: sync to upstream.
   1457 
   1458 2007-08-07  Linus Walleij <triad (a] df.lth.se>
   1459 
   1460 	* configure.ac: bump to 0.2.1.
   1461 	* src/Makefile.am: interface to libmtp.so.6.0.1.
   1462 	* Release libmtp 0.2.1!
   1463 
   1464 2007-08-06  Linus Walleij <triad (a] df.lth.se>
   1465 
   1466 	* configure.ac: tag on the large file support compilation flag.
   1467 	* src/libmtp.c: smack up the data file transfer function so it
   1468 	  works again and *finally* should support 64bit sizes!
   1469 	  Then wrapped the track sending function around the file
   1470 	  sending function so there is no more pointless code duplication
   1471 	  giving rise to ever more bugs. Enable LFS, Large File Support so
   1472 	  we can handle 64bit files properly.
   1473 	* examples/sendtr.c: shape up print-outs, LFS support.
   1474 	* examples/sendfile.c: dito.
   1475 
   1476 2007-08-06  Linus Walleij <triad (a] df.lth.se>
   1477 
   1478 	* src/ptp.c: fixed a stray error print bug.
   1479 	* src/libmtp.c: overhaul of all proplist setting to follow the same
   1480 	  design pattern. Probably fixed a few opd memory leaks along the road.
   1481 
   1482 2007-08-05  Richard Low <richard (a] wentnet.com>
   1483 
   1484 	* src/libmtp.c: send 64 bit filesize
   1485 
   1486 2007-08-04  Linus Walleij <triad (a] df.lth.se>
   1487 
   1488 	* src/libmtp.c: fix up the 64bit filesize and tracksize support.
   1489 	  There were some bugs...
   1490 	* src/Makefile.am: tweak interface revision so that we produce
   1491 	  libmtp.so.6 now.
   1492 	* configure.ac: bump library revision to 0.2.0.
   1493 	* examples/hotplug.c: switch to use ATTR{} instead of SYSFS{}
   1494 	* Release libmtp 0.2.0!
   1495 
   1496 2007-08-04  Richard Low <richard (a] wentnet.com>
   1497 
   1498 	* src/libusb-glue.c: add Sansa m240 (a different ID to before)
   1499 	  Give the Toshiba Gigabeat S
   1500 	  DEVICE_FLAG_BROKEN_MTPGETOBJPROPLIST_ALL.
   1501 
   1502 2007-08-03  Marcus Meissner <meissner (a] suse.de>
   1503 
   1504 	* m4/byteorder.m4: byteorder fixes.
   1505 
   1506 2007-07-30  Richard Low <richard (a] wentnet.com>
   1507 
   1508 	* src/ptp-pack.c: fix up array packing
   1509 
   1510 2007-07-30  Linus Walleij <triad (a] df.lth.se>
   1511 
   1512 	* src/ptp-pack.c: try to get a uniform 64 bit
   1513 	  support, use some old macro code.
   1514 
   1515 2007-07-29  Richard Low <richard (a] wentnet.com>
   1516 
   1517 	* src/libmtp.c: 64 bit filesize support for tracks
   1518 	* src/ptp-pack.c: ditto
   1519 	* src/ptp.h: ditto
   1520 
   1521 2007-07-27  Richard Low <richard (a] wentnet.com>
   1522 
   1523 	* src/libmtp.c: Some better NULL checks
   1524 
   1525 2007-07-27  Linus Walleij <triad (a] df.lth.se>
   1526 
   1527 	* examples/hotplug.c: changed subsystem from "usb_device"
   1528 	  to "usb". Presumably a change in the kernel some time ago.
   1529 
   1530 2007-07-21  Richard Low <richard (a] wentnet.com>
   1531 
   1532 	* src/libmtp.c: Correctly bail out of LIBMTP_Get_Storage
   1533 
   1534 2007-07-17  Linus Walleij <triad (a] df.lth.se>
   1535 
   1536 	* examples/reset.c: Add a device reset program.
   1537 	* src/libmtp.c: Add reset command.
   1538 	* src/ptp.c: dito, and sync in upstream changes.
   1539 	* src/ptp.h: dito, and sync in upstream changes.
   1540 	* src/ptp-pack.c: sync in upstream changes.
   1541 
   1542 2007-07-17  Richard Low <richard (a] wentnet.com>
   1543 
   1544 	* src/libmtp.c: Added some more (paranoid) NULL checks
   1545 
   1546 2007-07-14  Richard Low <richard (a] wentnet.com>
   1547 
   1548 	* src/libmtp.c: Add a NULL check
   1549 
   1550 2007-07-13  Richard Low <richard (a] wentnet.com>
   1551 
   1552 	* src/libusb-glue.c: add Disney MixMax
   1553 
   1554 2007-07-11  Linus Walleij <triad (a] df.lth.se>
   1555 
   1556 	* src/libmtp.c: put in Tero's name in the preamble.
   1557 	* src/libusb-glue.c: make the dump function sump out the zuper zecret
   1558 	  devize dezcriptorz in clear text hex.
   1559 
   1560 2007-07-10  Linus Walleij <triad (a] df.lth.se>
   1561 
   1562 	* examples/hotplug.c: force HAL OGG support on iriver devices.
   1563 	  They all have it! Also force for two other devices that does
   1564 	  this.
   1565 
   1566 2007-07-07  Linus Walleij <triad (a] df.lth.se>
   1567 
   1568 	* src/libusb-glue.h: new flag for the case when getting the object
   1569 	  property list of all metadata for all objects is broken.
   1570 	* src/libusb-glue.c: tentatively tag a Philips device with this flag.
   1571 	* src/libmtp.c: fixed usage of returned pointers from realloc(),
   1572 	  introduce new flag.
   1573 
   1574 2007-07-05  Tero Saarni <tero.saarni (a] gmail.com>
   1575 
   1576 	* src/libmtp.c: update cache when manipulating objects instead of
   1577 	  always flushing the whole cache.
   1578 
   1579 2007-07-03  Linus Walleij <triad (a] df.lth.se>
   1580 
   1581 	* src/libmtp.c: use the params->proplist metadata cache. Help
   1582 	  rid all flush_handles() you can in order to add even more to
   1583 	  the efficiency of the cache.
   1584 
   1585 2007-07-01  Linus Walleij <triad (a] df.lth.se>
   1586 
   1587 	* src/ptp.c: sync to upstream gPhoto source.
   1588 	* src/ptp.h: dito.
   1589 	* src/ptp-pack.c: dito.
   1590 	* src/libmtp.c: use the params->objectinfo object info cache to
   1591 	  speed things up considerably. This is exactly what libgphoto2
   1592 	  does so now we move closer to upstream. I believe this also
   1593 	  fixes quite a few memory leaks because we weren't freeing the
   1594 	  strings inside the objectinfo previously.
   1595 
   1596 2007-05-29  Linus Walleij <triad (a] df.lth.se>
   1597 
   1598 	* src/libmtp.c: use the set object prop list command to set album
   1599 	  props if available. Follow metadata set design pattern used for
   1600 	  tracks; check first if the object type can set name/artist/genre.
   1601 
   1602 2007-05-24  Jeff Mitchell <kde-dev (a] emailgoeshere.com>
   1603 
   1604 	* hotplug.sh.in: Properly install the HAL FDI rules if
   1605 	  the user so chooses to when prompted.
   1606 
   1607 2007-05-24  Jeff Mitchell <kde-dev (a] emailgoeshere.com>
   1608 
   1609 	* examples/hotplug.c: Fix/update HAL output to conform
   1610 	  to new specs. Fix whitespacing to be consistent.
   1611 
   1612 2007-05-17  Richard Low <richard (a] wentnet.com>
   1613 
   1614 	* src/libusb-glue.c: added Samsung YH-920
   1615 
   1616 2007-05-11  Linus Walleij <triad (a] df.lth.se>
   1617 
   1618 	* examples/hotplug.c: output a usb.ids map if need be.
   1619 	* sync-usbids.sh: script to assist in comparing our device
   1620 	  database to the linux-usb database so we can submit new
   1621 	  entries to it more easily. Please extend this until it
   1622 	  creates automated diff:s if you can!
   1623 
   1624 2007-05-10  Linus Walleij <triad (a] df.lth.se>
   1625 
   1626 	* src/libusb-glue.c: some new devices, some rewording etc.
   1627 
   1628 2007-05-05  Linus Walleij <triad (a] df.lth.se>
   1629 
   1630 	* src/libusb-glue.h: removed the DUALMODE flag, it's pointless and
   1631 	  equal to the problem solved by the UNLOAD_DRIVER flag.
   1632 	* src/libusb-glue.c: dito, move the only DUALMODE flag into an
   1633 	  UNLOAD_DRIVER flag. Added Archos Gmini.
   1634 
   1635 2007-05-05  Richard Low <richard (a] wentnet.com>
   1636 
   1637 	* src/libusb-glue.c: added Philips PSA610
   1638 	* src/libmtp.c: code to recursively get object handles for each
   1639 	  assoc.
   1640 	* src/ptp.h: ditto
   1641 
   1642 2007-04-28  Richard Low <richard (a] wentnet.com>
   1643 
   1644 	* src/libusb-glue.c: new device
   1645 
   1646 2007-04-26  Linus Walleij <triad (a] df.lth.se>
   1647 
   1648 	* src/libusb-glue.c: memory leak: dangling, unused pointer killed.
   1649 
   1650 2007-04-23  Linus Walleij <triad (a] df.lth.se>
   1651 
   1652 	* src/libmtp.h.in: extend LIBMTP_album_t to include fields for
   1653 	  artist and genre. This is sort of required so we must change
   1654 	  the API to have it working properly.
   1655 	* src/libmtp.c: dito. Reflect changes in implementation.
   1656 
   1657 2007-04-18  Linus Walleij <triad (a] df.lth.se>
   1658 
   1659 	* src/ptp.c: sync to upstream gPhoto source.
   1660 	* src/ptp.h: dito.
   1661 
   1662 2007-04-17  Richard Low <richard (a] wentnet.com>
   1663 
   1664 	* src/libusb-glue.c: new device
   1665 
   1666 2007-04-13  Richard Low <richard (a] wentnet.com>
   1667 
   1668 	* src/libusb-glue.c: new devices
   1669 
   1670 2007-04-12  Linus Walleij <triad (a] df.lth.se>
   1671 
   1672 	* examples/hotplug.c: fix GOTO style in udev map.
   1673 
   1674 2007-04-02  Linus Walleij <triad (a] df.lth.se>
   1675 
   1676 	* examples/files.c: some WIN32 64bit prefix fixup.
   1677 	* examples/tracks.c: dito.
   1678 
   1679 2007-03-28  Ted Bullock <tbullock (a] canada.com>
   1680 
   1681 	* examples/*.c: Print library version number on execution of examples.
   1682 	* src/libmtp.h.in: New version number string to aid version echoing.
   1683 
   1684 2007-03-26  Linus Walleij <triad (a] df.lth.se>
   1685 
   1686 	* configure.ac: bump version to 0.1.5, release 0.1.5!
   1687 	* src/Makefile.am: bump lib interface revision to libmtp.so.5.2.1,
   1688 	  backwards compatible to libmtp.so.5.
   1689 
   1690 2007-03-24  Richard Low <richard (a] wentnet.com>
   1691 
   1692 	* src/libusb-glue.c: fixed bug in zero read code
   1693 
   1694 2007-03-23  Linus Walleij <triad (a] df.lth.se>
   1695 
   1696 	* src/libmtp.c: refactored MTP property list handling code to make
   1697 	  things simple. Removed the flag for MTP enhanced: there are devices
   1698 	  that will not work without MTP enhanced (for example the Samsung
   1699 	  YP-K5 will only support setting object property lists, not
   1700 	  individual object properties, leaving out parts of the MTP basic
   1701 	  subset), thus we are allowed to reverse-engineer and implement this
   1702 	  for interoperability. I also made the output from
   1703 	  LIBMTP_Dump_Device_Info() considerably more verbose, plotting out
   1704 	  the ranges and possible enumerated values of all object properties
   1705 	  For example you can see that the secret values associated with
   1706 	  Audible.com property 0xda01 is an enumerated value that can be
   1707 	  2, 3 or 4 (etc).
   1708 
   1709 2007-03-22  Richard Low <richard (a] wentnet.com>
   1710 
   1711 	* src/ptp.c: PTP_OC_MTP_SetObjPropList implementation
   1712 	* src/ptp.h: ditto
   1713 	* src/libmtp.c: Use PTP_OC_MTP_SetObjPropList when updating track
   1714 	  metadata.
   1715 
   1716 2007-03-18  Richard Low <richard (a] wentnet.com>
   1717 
   1718 	* src/libusb-glue.c: new devices. Some of the Samsung players may
   1719 	  need DEVICE_FLAG_NO_ZERO_READS to be set - I only know the YP-K5
   1720 	  needs it.
   1721 
   1722 2007-03-16  Linus Walleij <triad (a] df.lth.se>
   1723 
   1724 	* src/libusb-glue.h: introducing yet another device flag for the
   1725 	  irivers bugged firmwares, this is for the Alzheimer disease that
   1726 	  cause irivers to forget that OGG files are OGG files.
   1727 	* src/libmtp.c: dito.
   1728 	* src/libusb-glue.c: introduce this flag for all iriver devices.
   1729 	* examples/pathutils.c: found a (small) bug.
   1730 
   1731 2007-03-12  Linus Walleij <triad (a] df.lth.se>
   1732 
   1733 	* Makefile.am: cleanup patch from Rafael Laboissiere.
   1734 	* src/libusb-glue.c: refactored device detection code to
   1735 	  immediately test if the device is in the known devices list if it
   1736 	  does not feature a MTP device descriptor. This fixes the problem
   1737 	  of not being able to mix devices with proper descriptors and
   1738 	  non-detected devices.
   1739 
   1740 2007-03-07  Linus Walleij <triad (a] df.lth.se>
   1741 
   1742 	* src/libusb-glue.c: remove libgphoto2 functions that we
   1743 	  don't use.
   1744 	* src/libusb-glue.h: export the free_mtpdevice_list() function,
   1745 	  new signature of find_usb_devices().
   1746 	* src/libmtp.c: shrink code, pass as list of devices instead of
   1747 	  several huge arrays between libmtp.c and USB glue layer in
   1748 	  libusb-glue.c using the nifty list struct defined in libusb-glue.h.
   1749 	* Eventually release libmtp 0.1.4.
   1750 
   1751 2007-03-06  Linus Walleij <triad (a] df.lth.se>
   1752 
   1753 	* src/libusb-glue.c: rewrote one more function to be
   1754 	  non-recursive, perhaps I found the remaining bug, just
   1755 	  cannot see that right now, will test tomorrow.
   1756 
   1757 2007-03-05  Linus Walleij <triad (a] df.lth.se>
   1758 
   1759 	* src/libmtp.c: rewrite recursive function to linear.
   1760 	* src/libusb-glue.h: create a wrapper type for the
   1761 	  device list instead of abusing the libusb device "next"
   1762 	  field in our code.
   1763 	* src/libusb-glue.c: rewrite all recursive functions to
   1764 	  linear, use wrapper objects, don't copy the libusb device
   1765 	  struct, instead just store a pointer to it. This magically
   1766 	  solved a bug...
   1767 
   1768 2007-03-04  Linus Walleij <triad (a] df.lth.se>
   1769 
   1770 	* src/Makefile.am: bump library interface to libmtp.so.5.2.0
   1771 	  backwards compatible with any libmtp.so.5 interface, for
   1772 	  imminent libmtp 0.1.4 release.
   1773 
   1774 2007-03-03  Ted Bullock  <tbullock (a] canada.com>
   1775 
   1776 	* src/libusb-glue.c: Don't echo warnings about reading a single
   1777 	  extra byte on devices in which DEVICE_FLAG_NO_ZERO_READS has
   1778 	  been set
   1779 	* src/libmtp.c: New API function to retrieve the number of devices
   1780 	  in a list of connected devices
   1781 	* src/libmtp.h: New API function to retrieve the number of devices
   1782 	  in a list of connected devices
   1783 	* examples/detect.c: Use new API function to count number of devices
   1784 	  that were detected
   1785 
   1786 2007-03-03  Linus Walleij <triad (a] df.lth.se>
   1787 
   1788 	* src/libusb-glue.h: Tiresome ramblings to explain exactly what
   1789 	  the (now renamed) device flag DEVICE_FLAG_NO_ZERO_READS really
   1790 	  means.
   1791 	* src/libusb-glue.c: Renamed flag. Indent code :-) Reading the code
   1792 	  and being impressed by our ability to iron out the root cause
   1793 	  of this kinda weird thing... Fix a few compile warnings.
   1794 
   1795 2007-03-03  Richard Low <richard (a] wentnet.com>
   1796 
   1797 	* src/libusb-glue.c: (hopefully) fixed iRiver read errors. Enabled
   1798 	  get object prop lists for Clix since it appears to work.
   1799 	* src/libusb-glue.h: ditto
   1800 	* src/ptp.h: ditto
   1801 
   1802 2007-02-28  Linus Walleij <triad (a] df.lth.se>
   1803 
   1804 	* src/ptp.h: Upstream accepted our patch so synced it in.
   1805 
   1806 2007-02-27  Linus Walleij <triad (a] df.lth.se>
   1807 
   1808 	* src/ptp.c: Synced in upstream version which removes the
   1809 	  offending line.
   1810 	* src/libmtp.c: replaces strcmp() for strcasecmp() in folder
   1811 	  detection since Windows and some devices (such as iRivers)
   1812 	  ignore case and user capital letters for default folders.
   1813 
   1814 2007-02-22  Ted Bullock  <tbullock (a] canada.com>
   1815 
   1816 	* src/ptp.c: Comment out line in ptp_exit_fd_handler that was
   1817 	  closing a file descriptor.  This is not the responsibility of
   1818 	  the PTP Layer. Defect and solution found by Rob Reardon
   1819 
   1820 2007-02-26  Linus Walleij <triad (a] df.lth.se>
   1821 
   1822 	* src/libmtp.c: Implement a check for PTP_OC_MTP_SetObjectPropValue
   1823 	  in the LIBMTP_Update_Track_Metadata() function, there are
   1824 	  obviously devices that do not support this, but only
   1825 	  PTP_OC_MTP_SetObjPropList instead (such as the Samsung YH 925-GS),
   1826 	  but we haven't implemented that yet. Problems are
   1827 	  atleast reported correctly now.
   1828 
   1829 2007-02-24  Richard Low <richard (a] wentnet.com>
   1830 
   1831 	* src/libusb-glue.c: Fix incorrect transfer sizes causing zero
   1832 	  write issues
   1833 
   1834 2007-02-23  Linus Walleij <triad (a] df.lth.se>
   1835 
   1836 	* src/libmtp.c: Undeprecate getting first device code.
   1837 
   1838 2007-02-23  Richard Low <richard (a] wentnet.com>
   1839 
   1840 	* src/libmtp.c: Fix crash when no devices connected
   1841 
   1842 2007-02-23  Ted Bullock  <tbullock (a] canada.com>
   1843 
   1844 	* examples/detect.c: Stub out probe functionality
   1845 	* src/libusb-glue.c: Remove old uni-device cruft code
   1846 	* src/libusb-glue.h: Remove old uni-device cruft code
   1847 	* Replace LIBMTP_ERROR_N0_DEVICE_ATTACHED with
   1848 		LIBMTP_ERROR_NO_DEVICE_ATTACHED across entire project
   1849 
   1850 2007-02-22  Ted Bullock  <tbullock (a] canada.com>
   1851 
   1852 	* examples/albums.c: Updated to use new multi device code
   1853 	* examples/tracks.c: Updated to use new multi device code
   1854 	* examples/files.c: Updated to use new multi device code
   1855 
   1856 2007-02-18  Ted Bullock  <tbullock (a] canada.com>
   1857 
   1858 	* src/libmtp.c: Altered the function LIBMTP_Get_First_Device
   1859 	  to wrap around the multi device API. Also added deprecation
   1860 	  warnings to avoid using this function
   1861 
   1862 2007-02-17  Richard Low <richard (a] wentnet.com>
   1863 
   1864 	* src/libusb-glue.c: Debug output fixes and read/write sizes changed
   1865 	* src/libmtp.c: memset params to 0 to avoid freeing unalloced
   1866 	  memory
   1867 	* src/ptp.h: read/write sizes changed
   1868 
   1869 2007-02-15  Robert Reardon <rreardon (a] monkshatch.vispa.com>
   1870 
   1871 	* src/libmtp.c: Fix a segfault in new error handling code.
   1872 
   1873 2007-02-15  Linus Walleij <triad (a] df.lth.se>
   1874 
   1875 	* src/libmtp.c: Adding some sanity checks to error stack code.
   1876 	* examples/newplaylist.c: LGPL boilerplate, crediting Robert.
   1877 	* examples/playlists.c: LGPL boilerplate.
   1878 	* examples/sendfile.c: LGPL boilerplate, crediting me and Chris.
   1879 	* examples/sendtr.c: LGPL boilerplate, crediting me, Chris,
   1880 	  Shaun, Enrique.
   1881 	* examples/thumb.c: LGPL boilerplate, crediting Robert.
   1882 	* examples/tracks.c: LGPL boilerplate.
   1883 	* examples/trexist.c: LGPL boilerplate, crediting noone.
   1884 
   1885 2007-02-15  Ted Bullock  <tbullock (a] canada.com>
   1886 
   1887 	* examples/folders.c: Updated to use new multi device code
   1888 	* src/libmtp.c: Fixed potential memory leaks
   1889 	* src/libusb-glue.c: Fixed potential memory leaks and fixed device
   1890 	  release segfault for multiple devices
   1891 
   1892 2007-02-14  Ted Bullock  <tbullock (a] canada.com>
   1893 
   1894 	* src/libusb-glue.c: Wrote three new recursive functions to avoid
   1895 	  extreme levels of multiple indirection and to clean the code up
   1896 	  a bit for multiple devices.
   1897 	* examples/detect.c: Adjusted function calls to use new multiple
   1898 	  device code.
   1899 	* src/libmtp.h.in: Added prototype for LIBMTP_Release_Device_List
   1900 
   1901 2007-02-12  Ted Bullock  <tbullock (a] canada.com>
   1902 
   1903 	* src/libmtp.c: Two new functions (create_usb_mtp_devices and
   1904 	  LIBMTP_Get_Connected_Devices) to add support for multiple devices
   1905 	  to client applications
   1906 	* src/libmtp.h: Added LIBMTP_Get_Connected_Devices as a publicly
   1907 	  accessible function
   1908 	*libusb-glue.c: Renamed connect_mtp_devices to find_usb_devices
   1909 	*libusb-glue.h: Renamed connect_mtp_devices to find_usb_devices
   1910 
   1911 2007-02-09  Ted Bullock  <tbullock (a] canada.com>
   1912 
   1913 	* src/libusb-glue.c: Addressed a number of potential memory leaks in
   1914 	  the new multiple device code
   1915 
   1916 2007-02-05  Linus Walleij <triad (a] df.lth.se>
   1917 
   1918 	* src/libmtp.h.in: LGPL boilerplate.
   1919 	* src/libusb-glue.h: LGPL boilerplate.
   1920 	* src/unicode.h: LGPL boilerplate.
   1921 	* src/util.h: LGPL boilerplate.
   1922 	* examples/albumart.c: LGPL boilerplate, crediting Andy.
   1923 	* examples/pathutils.h: LGPL boilerplate, crediting Chris.
   1924 	* examples/pathutils.c: LGPL boilerplate, crediting me and Chris.
   1925 	* examples/common.h: LGPL boilerplate.
   1926 	* examples/albums.c: LGPL boilerplate, crediting Chris.
   1927 	* examples/connect.c: LGPL boilerplate, crediting Chris.
   1928 	* examples/delfile.c: LGPL boilerplate, crediting me and Chris.
   1929 	* examples/detect.c: LGPL boilerplate.
   1930 	* examples/emptyfolders.c: LGPL boilerplate, crediting Andy.
   1931 	* examples/files.c: LGPL boilerplate.
   1932 	* examples/folders.c: LGPL boilerplate.
   1933 	* examples/format.c: LGPL boilerplate.
   1934 	* examples/getfile.c: LGPL boilerplate, crediting me and Chris.
   1935 	* examples/getplaylist.c: LGPL boilerplate.
   1936 	* examples/hotplug.c: LGPL boilerplate, crediting me and Marcus.
   1937 	* examples/newfolder.c: LGPL boilerplate, crediting me and Chris.
   1938 
   1939 2007-02-02  Linus Walleij <triad (a] df.lth.se>
   1940 
   1941 	* src/ptp.c: sync upstream.
   1942 	* src/ptp.h: dito.
   1943 	* src/ptp-pack.c: dito.
   1944 	* src/libmtp.c: make changes necessary to handle
   1945 	  the new iconv(3) code in ptp-pack.c. People will have to
   1946 	  use recent stdlibc, glibc or libiconv. Also call new memory
   1947 	  clean-up functions. Fix LGPL boilerplate text.
   1948 	* src/unicode.c: Fix LGPL boilerplate text.
   1949 	* src/utils.c: Fix LGPL boilerplate text.
   1950 	* src/libusb-glue.c: Fix LGPL boilerplate text.
   1951 
   1952 2007-01-24  Ted Bullock <tbullock (a] canada.com>
   1953 
   1954 	* src/libusb-glue.c: new function to retrieve multiple device
   1955 	  instances.
   1956 	* src/libusb-glue.h: dito.
   1957 	* src/libmtp.h.in: new error codes.
   1958 
   1959 2007-01-22  Linus Walleij <triad (a] df.lth.se>
   1960 
   1961 	* examples/albumart.c: use the new errostack.
   1962 	* examples/delfile.c: dito.
   1963 	* examples/detect.c: dito.
   1964 	* examples/emptyfolders.c: dito.
   1965 	* examples/format.c: dito.
   1966 	* examples/getfile.c: dito.
   1967 	* examples/getplaylist.c: dito.
   1968 	* examples/newfolder.c: dito.
   1969 	* examples/newplaylist.c: dito.
   1970 	* examples/playlists.c: dito.
   1971 	* examples/sendfile.c: dito.
   1972 	* examples/sendtr.c: dito.
   1973 	* examples/thumb.c: dito.
   1974 	* src/libmtp.c: add some errors to the stack so we can
   1975 	  see how it's to be used. (Just a first try...)
   1976 	* src/libusb-glue.c: move the LIBMTP_Get_Supported_Devices()
   1977 	  function into this file cause it only return USB devices
   1978 	  anyway and could be renamed LIBMTP_Get_Supported_USB_Devices()
   1979 	  (but let's not do that renaming since it would break the API).
   1980 	  For now let's understand this is a USB-only function by
   1981 	  simply putting it in the libusb-glue.c file.
   1982 
   1983 2007-01-22  Ted Bullock <tbullock (a] canada.com>
   1984 
   1985 	* src/libusb-glue.c: first hack at creating an interface
   1986 	  to retrieve multiple devices.
   1987 	* src/libmtp.h.in: new error codes related to multiple devices.
   1988 
   1989 2007-01-21  Richard Low <richard (a] wentnet.com>
   1990 
   1991 	* src/libusb-glue.c: more new devices
   1992 
   1993 2007-01-20  Linus Walleij <triad (a] df.lth.se>
   1994 
   1995 	* src/libmtp.h.in: error stack handling like in libnjb.
   1996 	  just bare bones implementation as of now but the idea
   1997 	  should be clearly visible. TODO: add a plethora of
   1998 	  errors and adjust examples to make use of the error
   1999 	  stack.
   2000 	* src/libmtp.c: dito.
   2001 
   2002 2007-01-20  Richard Low <richard (a] wentnet.com>
   2003 
   2004 	* src/libusb-glue.c: new device 'Philips PSA235'
   2005 
   2006 2007-01-16  Linus Walleij <triad (a] df.lth.se>
   2007 
   2008 	* configure.ac: bump and release 0.1.3.
   2009 	* src/Makefile.am: bump interface REVISION. Nothing changed
   2010 	  externally really.
   2011 
   2012 2007-01-11  Linus Walleij <triad (a] df.lth.se>
   2013 
   2014 	* src/libmtp.sym: updated symbol table for mingw32 but does
   2015 	  anyone use this? Also I believe one could auto-generate
   2016 	  this some way, just haven't figured out how... Perhaps with
   2017 	  a funky script that massage libmtp.h if nothing else.
   2018 
   2019 2007-01-11  Richard Low <richard (a] wentnet.com>
   2020 
   2021 	* src/libusb-glue.c: a zero read fix
   2022 	* src/libmtp.c: fix spelling mistake
   2023 
   2024 2007-01-09  Linus Walleij <triad (a] df.lth.se>
   2025 
   2026 	* src/libusb-glue.c: repair callbacks, structure the code just
   2027 	  a little bit.
   2028 	* src/libmtp.c: don't assign values to writes or reads, use the
   2029 	  PTP transport intrinsics instead.
   2030 
   2031 2007-01-07  Orson Teodoro <orsonteodoro (a] yahoo.com>
   2032 
   2033 	* src/ptp.h: Encoding profile.
   2034 	* src/ptp.c: Dito.
   2035 
   2036 2006-01-07  Linus Walleij <triad (a] df.lth.se>
   2037 
   2038 	* src/libusb-glue.c: (re)introduce de-halting of endpoints
   2039 	  as this is needed by VMWare emulation. Must check whether
   2040 	  this causes problems for other archs! Problem was reported
   2041 	  by Orson Teodoro under i686 Gentoo, with a suggested patch.
   2042 
   2043 2006-01-07  Marcus Meissner <meissner (a] suse.de>
   2044 
   2045 	* src/ptp.c: sync to upstream libgphoto2.
   2046 	* src/ptp.h: dito.
   2047 	* src/ptp-pack.c: dito.
   2048 	* libusb-glue.c: fixes to move low-level functions
   2049 	  out of ptp.c and into this libmtp-specific portion.
   2050 	  libgphoto2 has been similarly altered to use a usb.c
   2051 	  file for the low-level stuff. (This was a long needed
   2052 	  split anyway.)
   2053 
   2054 2007-01-03  Richard Low <richard (a] wentnet.com>
   2055 
   2056 	* src/libusb-glue.c: fix zero write bug
   2057 	* src/ptp.c: ditto
   2058 
   2059 2007-01-02  Linus Walleij <triad (a] df.lth.se>
   2060 
   2061 	* src/libusb-glue.c: fix up comments, remove things
   2062 	  refering to stuff we don't have.
   2063 
   2064 2007-01-02  Richard Low <richard (a] wentnet.com>
   2065 
   2066 	* src/libmtp.c: another try at split headers/packet sizes
   2067 	* src/ptp.c: ditto
   2068 	* src/libusb-glue.c: ditto
   2069 
   2070 2007-01-01  Linus Walleij <triad (a] df.lth.se>
   2071 
   2072 	* src/libmtp.c: move default setting of split headers
   2073 	  off to ptp.c open session.
   2074 	* src/ptp.c: dito.
   2075 
   2076 2007-01-01  Richard Low <richard (a] wentnet.com>
   2077 
   2078 	* src/libmtp.c: split headers/packet size fix
   2079 	* src/ptp.c: ditto
   2080 	* src/ptp.h: ditto
   2081 	* src/libusb-glue.c: ditto
   2082 
   2083 2007-01-01  Orson Teodoro <orsonteodoro (a] yahoo.com>
   2084 
   2085 	* src/ptp.h: changed some WMDRMND def codes to AAVT def codes.
   2086 	  addition of AAVT error codes.
   2087 	* src/ptp.c: changes to reflect modifications done in ptp.h
   2088 
   2089 2006-12-31  Linus Walleij <triad (a] df.lth.se>
   2090 
   2091 	* configure.ac: bump to 0.1.2.
   2092 	* src/Makefile.am: bump interface revision. (Compatible.)
   2093 	* RELEASE 0.1.2.
   2094 
   2095 2006-12-30  Linus Walleij <triad (a] df.lth.se>
   2096 
   2097 	* examples/pathutils.c: reflect new filetypes.
   2098 	* examples/sendtr.c: dito.
   2099 
   2100 2006-12-30  Orson Teodoro <orsonteodoro (a] yahoo.com>
   2101 
   2102 	* src/ptp.h: added WMDRMPD, WMDRMND, WMPPD, WPDWCN extension
   2103 	  codes. added more format object codes flac, m4a, 3gp, aac,
   2104           xml, xls, ppt, etc.  0x9101-0x910B identfiers are infixed
   2105 	  with WMDRMPD. Added more object properties codes (0xDCD3-0xDD72).
   2106 	  Added more device property codes.
   2107 	  Changed PTP_OFC_MTP_WindowsImageFormat to 0xb881 reflect spec.
   2108         * src/ptp.c: added changes to reflect new extensions, object
   2109 	  codes, device property codes.
   2110 	* src/libmtp.c: modified mp4 to reflect it is a container format
   2111 	  not a codec.  Added more descriptions in init_filemap(). mp4
   2112           container format is ambiguous in
   2113 	  LIBMTP_Send_File_From_File_Descriptor(). Audio? video? both?.
   2114 	  mp4 searched in video by default.  Added comments about this.
   2115           Added support for the new format object types.
   2116 	* src/libmtp.h.in: added constants to reflect changes to
   2117           init_filemap().
   2118 
   2119 2006-12-30  Richard Low <richard (a] wentnet.com>
   2120 
   2121 	* src/libusb-glue.c: fixed bug in debug printing
   2122 
   2123 2006-12-29  Richard Low <richard (a] wentnet.com>
   2124 
   2125 	* src/libmtp.c: Made abstract list creation to be more
   2126 	  WMP like
   2127 	* src/libusb-glue.c: added Philips GoGear SA9200
   2128 	* src/ptp-pack.c: fixed packing bug in ptp_pack_OI
   2129 
   2130 2006-12-29  Marcus Meissner <meissner (a] suse.de>
   2131 
   2132 	* src/ptp.h: API changes for libgphoto2 to use the file
   2133 	  retrieveal functions.
   2134 	* src/ptp.c: dito.
   2135 	* src/libusb-glue.c: changes in libmtp reflecting the new
   2136 	  API for libgphoto2.
   2137 
   2138 2006-12-28  Linus Walleij <triad (a] df.lth.se>
   2139 
   2140 	* configure.ac: making older autotools happy. Bump to 0.1.1.
   2141 	* src/Makefile.am: bump interface for release, also autotools.
   2142 	* RELEASE libmtp 0.1.1.
   2143 
   2144 2006-12-19  Matthew Wilcox <matthew (a] wil.cx>
   2145 
   2146 	* src/ptp.c: fix a (serious) short file bug.
   2147 
   2148 2006-12-17  Richard Low <richard (a] wentnet.com>
   2149 
   2150 	* src/libmtp.c: don't bail out on failures when setting
   2151 	  metadata.
   2152 
   2153 2006-12-16  Linus Walleij <triad (a] df.lth.se>
   2154 
   2155 	* src/ptp.c: sync to upstream.
   2156 	* src/ptp.h: dito.
   2157 	* src/ptp-pack.c: dito.
   2158 
   2159 2006-12-15  Linus Walleij <triad (a] df.lth.se>
   2160 
   2161 	* src/libmtp.h.in: make the format function take a storage as
   2162 	  parameter. Add comments to device storage.
   2163 	* src/libmtp.c: dito, fix up some code and docs.
   2164 	* examples/format.c: make the format command comply with
   2165 	  the new API.
   2166 
   2167 2006-12-14  Linus Walleij <triad (a] df.lth.se>
   2168 
   2169 	* src/libmtp.c: make get_first_storage_freespace() always query
   2170 	  the first storage when the space is requested. And some other
   2171 	  janitorial stuff.
   2172 
   2173 2006-12-13  Linus Walleij <triad (a] df.lth.se>
   2174 
   2175 	* src/libusb-glue.c: one more device.
   2176 	* examples/detect.c: compilation warnings fixed.
   2177 
   2178 2006-12-13  Robert Reardon <rreardon (a] monkshatch.vispa.com>
   2179 
   2180 	* src/ptp.c: add 0xD901 flag as BuyNow property of objects.
   2181 	* src/ptp.h: ditto.
   2182 
   2183 2006-12-12  Daniel Williams <danielw (a] iinet.net.au>
   2184 
   2185 	* src/libmtp.h.in: revamped storage API.
   2186 	* src/libmtp.c: dito.
   2187 	* examples/detect.c: dito.
   2188 
   2189 2006-12-12  Robert Reardon <rreardon (a] monkshatch.vispa.com>
   2190 
   2191 	* src/libmtp.c: Send_Representative_Sample() updated to
   2192 	  set image height and width, or audio duration and size.
   2193 
   2194 2006-12-07  Linus Walleij <triad (a] df.lth.se>
   2195 
   2196 	* src/libmtp.h.in: support firmware object type. (Dangerous.)
   2197 	* src/libmtp.c: dito.
   2198 
   2199 2006-12-07  Linus Walleij <triad (a] df.lth.se>
   2200 
   2201 	* src/libmtp.c: default text folder detection (used in Samsung
   2202 	  Yepp T9) also add a few "My Foo" folder strings, remove the
   2203 	  "remaining directories" kludge.
   2204 	* src/libmtp.h.in: default text folder.
   2205 
   2206 2006-12-06  Linus Walleij <triad (a] df.lth.se>
   2207 
   2208 	* src/libmtp.h.in: extend the respresentative sample API a bit.
   2209 	* src/libmtp.c: dito.
   2210 	* examples/albumart.c: free memory after use.
   2211 	* examples/thumb.c: dito.
   2212 	* RELEASE this as libmtp 0.1.0!
   2213 
   2214 2006-12-04  Linus Walleij <triad (a] df.lth.se>
   2215 
   2216 	* src/ptp.c: enable split headers on sending object lists again.
   2217 
   2218 2006-12-04  Robert Reardon <rreardon (a] monkshatch.vispa.com>
   2219 
   2220 	* src/libmtp.c: abstract Send_Representative_Sample() so
   2221 	  it can send samples for any format that supports it
   2222 	* src/libmtp.h.in: same as above
   2223 	* examples/albumart.c: altered to use new abstract function above
   2224 	* example/thumb.c: sample program to upload thumbnails
   2225 	* example/Makefile.am: add sample thumbnail program
   2226 
   2227 2006-12-03  Linus Walleij <triad (a] df.lth.se>
   2228 
   2229 	* src/libmtp.c: check space on disk before sending
   2230 	  tracks or files.
   2231 	* src/libmtp.h.in: refactor LIBMTP_Send_Album_Art()
   2232 	  into LIBMTP_Send_Representative_Sample().
   2233 	* src/libmtp.c: dito.
   2234 	* examples/albumart.c: dito.
   2235 
   2236 2006-12-02  Marcus Meissner <meissner (a] suse.de>
   2237 
   2238 	* examples/Makefile.am: make sure symlinks really end
   2239 	  up in the correct dir.
   2240 
   2241 2006-11-30  Linus Walleij <triad (a] df.lth.se>
   2242 
   2243 	* src/ptp.c: make Matthews patch thread-safe and fix it
   2244 	  so it will handle more than one surplus packet.
   2245 	* src/ptp.h: dito.
   2246 
   2247 2006-11-30  Richard Low <richard (a] wentent.com>
   2248 
   2249 	* src/libmtp.c: memset PTPObjectInfo structs to 0
   2250 
   2251 2006-11-30  Matthew Wilcox <matthew (a] wil.cx>
   2252 
   2253 	* src/ptp.c: on some devices, surplus packet data is
   2254 	  sometimes returned during read, i.e. a header of the
   2255 	  next package is typically attacked to the incoming
   2256 	  data, as if someone was sending several packets at
   2257 	  once. If this happens we buffer the surplus packet.
   2258 	* src/libusb-glue.c: revert my own mistakes by making
   2259 	  them Windows-only.
   2260 
   2261 2006-11-30  Linus Walleij <triad (a] df.lth.se>
   2262 
   2263 	* configure.ac: this *is* gonna be libmtp 0.1.0!
   2264 	* src/Makefile.am: age interface to 4-0-0 to indicate that
   2265 	  intefaces have been removed.
   2266 	* src/libmtp.h.in: removed external object interface.
   2267 	* src/libmtp.c: dito. Made all object manipulation functions
   2268 	  static.
   2269 
   2270 2006-11-29  Richard Low <richard (a] wentnet.com>
   2271 
   2272 	* src/libusb-glue.c: added new devices
   2273 
   2274 2006-11-29  Linus Walleij <triad (a] df.lth.se>
   2275 
   2276 	* src/libusb-glue.c: remove some pointless #include <>
   2277 	  clutter, call usb_set_configuration() as needed by
   2278 	  Windows.
   2279 	* src/libmtp.c: various fixups to enable use of Windows
   2280 	  <io.h> include file.
   2281 	* README.windows.txt: added a quick porting guide for
   2282 	  MSVC by Farooq Zaman.
   2283 
   2284 2006-11-28  Linus Walleij <triad (a] df.lth.se>
   2285 
   2286 	* src/libmtp.h.in: removed filetype mapping API. We can handle
   2287 	  everything inside of libmtp now so no need for this.
   2288 	* src/libmtp.c: dito.
   2289 
   2290 2006-11-27  Linus Walleij <triad (a] df.lth.se>
   2291 
   2292 	* examples/files.c: unsigned int sized printout.
   2293 	* examples/tracks.c: sort of the same.
   2294 	* Makefile.am: HAL style map output by default.
   2295 
   2296 2006-11-26  Richard Low <richard (a] wentnet.com>
   2297 
   2298 	* src/libmtp.c: object handles for proplists
   2299 	* src/ptp-pack.c: ditto
   2300 	* src/ptp.c: ditto
   2301 	* src/ptp.h: ditto
   2302 
   2303 2006-11-25  Marcus Meissner <marcus (a] jet.franken.de>
   2304 
   2305 	* examples/hotplug.c: adding HAL style XML output for
   2306 	  the devices.
   2307 	* examples/Makefile.am: fixing a bug in the automake
   2308 	  file (pathutils.h missing!)
   2309 	* Makefile.am: fix the problem with re-making sources
   2310 	  (you had to run ./autogen.sh before!)
   2311 
   2312 2006-11-23  Linus Walleij <triad (a] df.lth.se>
   2313 
   2314 	* src/libusb-glue.h: add a new bug flag for devices that
   2315 	  have broken PTP_OC_MTP_GetObjPropList implementations.
   2316 	* src/libusb-glue.c: state that all iRivers have this problem.
   2317 	* src/libmtp.c: disable the user of ptp_mtp_getobjectproplist()
   2318 	  for these devices.
   2319 
   2320 2006-11-21  Robert Reardon <rreardon (a] monkshatch.vispa.com>
   2321 
   2322 	* src/libmtp.c: set handle ids for new objects to 0 when
   2323 	  creating new albums and playlists.
   2324 
   2325 2006-11-21  Linus Walleij <triad (a] df.lth.se>
   2326 
   2327 	* src/libmtp.c: enabled enhanced mode for metadata retrieval
   2328 	  by default.
   2329 	* src/libmtp.c: fixed the problem with sending files using
   2330 	  enhanced commands.
   2331 
   2332 2006-11-20  Linus Walleij <triad (a] df.lth.se>
   2333 
   2334 	* src/ptp.h: sync to upstream libgphoto2
   2335 	* src/ptp.c: dito.
   2336 	* src/ptp-pack.c: dito.
   2337 	* src/libmtp.c: check for zerolength files/tracks.
   2338 
   2339 2006-11-20  Andy Kelk <andy (a] mopoke.co.uk>
   2340 
   2341 	* src/libmtp.h.in: add "parent_id" property to LIBMTP_track_struct.
   2342 	* src/libmtp.c: get "parent_id" property when reading tracks.
   2343 	* examples/emptyfolders.c: new example program for pruning empty
   2344 	  folders. (does a dummy run by default).
   2345 
   2346 2006-11-19  Robert Reardon <rreardon (a] monkshatch.vispa.com>
   2347 
   2348 	* src/libmtp.c: use enhanced MTP commands to create playlists and
   2349 	  send files
   2350 	* examples/newplaylist.c: demo program for creating new playlists
   2351 	* examples/Makefile.am: add demo newplaylists program
   2352 
   2353 2006-11-19  Daniel Williams <danielw (a] iinet.net.au>
   2354 
   2355 	* src/libusb-glue.c: fix error on reconnect.
   2356 
   2357 2006-11-18  Richard Low <richard (a] wentnet.com>
   2358 
   2359 	* src/ptp.c: tidy up ptp_usb_getdata
   2360 
   2361 2006-11-17  Richard Low <richard (a] wentnet.com>
   2362 
   2363 	* src/libmtp.c: fixed parent handle for uploaded tracks
   2364 
   2365 2006-11-17  Robert Reardon <rreardon (a] monkshatch.vispa.com>
   2366 
   2367 	* src/libmtp.c: fixed up album art using enhanced commands.
   2368 
   2369 2006-11-16  Richard Low <richard (a] wentnet.com>
   2370 
   2371 	* src/libmtp.c: a crude implementation of ptp_mtp_getobjectproplist
   2372 	* src/ptp.c: ditto
   2373 	* src/ptp.h: ditto
   2374 	* src/ptp-pack.c: ditto
   2375 
   2376 2006-11-16  Robert Reardon <rreardon (a] monkshatch.vispa.com>
   2377 
   2378 	* src/libmtp.c: use enhanced MTP commands to create albums and
   2379 	  add detection of the default album folder.
   2380 	* src/libmtp.h.in: add a holder for album default folder.
   2381 
   2382 2006-11-15  Richard Low <richard (a] wentnet.com>
   2383 
   2384 	* src/ptp-pack.c: set string buffer to correct size.
   2385 
   2386 2006-11-14  Richard Low <richard (a] wentnet.com>
   2387 
   2388 	* examples/tracks.c: really use undeprecated API entry.
   2389 
   2390 2006-11-13  Richard Low <richard (a] wentnet.com>, Linus Walleij <triad (a] df.lth.se>
   2391 
   2392 	* src/libmtp.h.in: add LIBMTP_Get_Tracklisting_With_Callback()
   2393 	  and LIBMTP_Get_Filelisting_With_Callback()
   2394 	* src/libmtp.c: dito, deprecate LIBMTP_Get_Tracklisting()
   2395 	  and LIBMTP_Get_Filelisting()
   2396 	* examples/tracks.c: use undeprecated API entry.
   2397 	* examples/connect.c: ditto.
   2398 	* examples/detect.c: ditto.
   2399 	* examples/files.c: ditto.
   2400 	* src/ptp.c: working on getting object prop lists.
   2401 	* src/ptp.h: dito.
   2402 
   2403 2006-11-12  Richard Low <richard (a] wentnet.com>
   2404 
   2405 	* src/libusb-glue.c: added Zen Vision W to devices
   2406 
   2407 2006-11-07  Richard Low <richard (a] wentnet.com>
   2408 
   2409 	* src/libmtp.c: added checks for supported properties
   2410 
   2411 2006-11-06  Richard Low <richard (a] wentnet.com>
   2412 
   2413 	* src/libmtp.c: added a check for NULL filenames in
   2414 	  LIBMTP_Get_Folder_List.
   2415 
   2416 2006-11-01  Linus Walleij <triad (a] df.lth.se>
   2417 
   2418 	* src/libmtp.h.in: set/get uint8 to/from objects
   2419 	* src/libmtp.c: send object property list.
   2420 	* src/ptp.c: dito.
   2421 	* src/ptp.h: dito.
   2422 	* src/ptp-pack.c: dito.
   2423 
   2424 2006-10-29  Andy Kelk <andy (a] mopoke.co.uk>
   2425 
   2426 	* examples/albumart.c: simple tool for adding album art.
   2427 	* src/libmtp.c: graceful handling of players not supporting
   2428 	  abstract album objects.
   2429 
   2430 2006-10-27  Linus Walleij <triad (a] df.lth.se>
   2431 
   2432 	* src/Makefile.am: bump library interface to reflect the new
   2433 	  album methods.
   2434 	* configure.ac: bump to 0.0.22 for the next release.
   2435 
   2436 2006-10-27  Andy Kelk <andy (a] mopoke.co.uk>
   2437 
   2438 	* src/libmtp.c: add support form abstract audio/video albums.
   2439 	* src/libmtp.h.in: dito.
   2440 
   2441 2006-10-23  Linus Walleij <triad (a] df.lth.se>
   2442 
   2443 	* src/libmtp.c: retire opcode rendering (moved to ptp.c)
   2444 	* src/ptp.c: sync to upstream.
   2445 	* src/ptp.h: dito.
   2446 	* src/ptp-pack.c: dito.
   2447 
   2448 2006-10-20  Linus Walleij <triad (a] df.lth.se>
   2449 
   2450 	* Release 0.0.21 to get all the new device support out.
   2451 
   2452 2006-10-16  Linus Walleij <triad (a] df.lth.se>
   2453 
   2454 	* configure.ac: bump to 0.0.21.
   2455 	* src/libusb-glue.c: add code to unload a kernel driver for
   2456 	  the primary interface if it is already in use under Linux.
   2457 	* src/libusb-glue.h: add a device flag to make this possible.
   2458 
   2459 2006-10-11  Linus Walleij <triad (a] df.lth.se>
   2460 
   2461 	* examples/delfile.c: patch from Chris Debenham
   2462 	  straingtening out the command-line interface a bit
   2463 	  more.
   2464 
   2465 2006-10-10  Linus Walleij <triad (a] df.lth.se>
   2466 
   2467 	* examples/delfile.c: patch from Chris Debenham to make
   2468 	  this command take an optional filename as parameter
   2469 	  instead of file ID.
   2470 
   2471 2006-09-26  Linus Walleij <triad (a] df.lth.se>
   2472 
   2473 	* libmtp.pc.in: require libusb instead of just linking it.
   2474 	* configure.ac: bump release to 0.0.20 and release.
   2475 
   2476 2006-09-25  Linus Walleij <triad (a] df.lth.se>
   2477 
   2478 	* examples/evolution-sync.sh: example script to illustrate
   2479 	  to to transfer calendar, task and contact information
   2480 	  to a device supporting this.
   2481 
   2482 2006-09-19  Linus Walleij <triad (a] df.lth.se>
   2483 
   2484 	* src/libmtp.h.in: fixed attribute IDs to be 16bit.
   2485 	* src/libmtp.c: dito.
   2486 	* examples/sendfile.c: support vcard3.
   2487 
   2488 2006-09-16  Linus Walleij <triad (a] df.lth.se>
   2489 
   2490 	* configure.ac: bump to 0.0.19 and release. There are some
   2491 	  new devices as well.
   2492 	* src/unicode.c: retire unused code.
   2493 
   2494 2006-09-13  Linus Walleij <triad (a] df.lth.se>
   2495 
   2496 	* examples/format.c: formatting test program.
   2497 	* examples.Makefile.am: added format.
   2498 
   2499 2006-09-13  Andy Kelk <andy (a] mopoke.co.uk>
   2500 
   2501 	* src/libmtp.h.in: added interface to format storage.
   2502 	* src/libmtp.c: dito.
   2503 	* src/ptp.c: dito.
   2504 	* src/ptp.h: dito.
   2505 
   2506 2006-09-12  Linus Walleij <triad (a] df.lth.se>
   2507 
   2508 	* configure.ac: bump release. Released 0.0.18 yesterday.
   2509 	* src/libmtp.c: do not try to read battery max level unless
   2510 	  the device supports it. (Bug occurred on Toshiba Gigabeat
   2511 	  P10.)
   2512 
   2513 2006-09-11  Linus Walleij <triad (a] df.lth.se>
   2514 
   2515 	* src/libusb-glue.c: messed around a bit with device descriptor
   2516 	  detection so as to bring closer to libgphoto2 detection algorithm.
   2517 	  I've seen things that might be false positives, possibly USB mass
   2518 	  storage devices with additional MSFT descriptors to indicate they
   2519 	  have Janus DRM.
   2520 	* src/libmtp.c: use UCS-2-INTERNAL if we're not on glibc. glibc
   2521 	  knows that UCS-2 is in machine endianness but Darwin and *BSD does
   2522 	  not. Detect C library and switch accordingly.
   2523 	* src/unicode.c: retire old unicode code only keep things we cannot
   2524 	  live without. Remove the own internal UCS-2 conversion engine and
   2525 	  the internal iconv() engine and use the one already available in
   2526 	  PTPParams.
   2527 	* src/unicode.h: dito.
   2528 
   2529 2006-09-07  Linus Walleij <triad (a] df.lth.se>
   2530 
   2531 	* src/libusb-glue.h: added device flags so we can make
   2532 	  the code behave differently on certain devices.
   2533 	* src/libusb-glue.c: dito, plus removed some debug prints.
   2534 	* src/libmtp.c: docs.
   2535 	* src/libmtp.h.in: added device_flags to device list struct.
   2536 	* src/Makefile.am: bumped to compatible library interface.
   2537 	* configure.ac: bump version to 0.0.18 (0.0.17 released
   2538 	  yesterday).
   2539 
   2540 2006-09-06  Richard Low <richard (a] wentnet.com>
   2541 
   2542 	* src/libusb-glue.c: changed packet sizes to improve
   2543 	  transfer speeds.
   2544 	* src/libmtp.c: changed packet sizes to improve transfer
   2545 	  transfer speeds. Also stopped extra ptp_getobjectinfo
   2546 	  calls when getting directories on connect.
   2547 
   2548 2006-09-06  Linus Walleij <triad (a] df.lth.se>
   2549 
   2550 	* src/libusb-glue.c: fixed some endpoint size detection
   2551 	  and sending special file sizes stuff. Real hairy bug...
   2552 	  Also messed around a bit with the callbacks.
   2553 	* src/libmtp.c: changes for callback size detection.
   2554 
   2555 2006-09-04  Linus Walleij <triad (a] df.lth.se>
   2556 
   2557 	* src/libmtp.c: bug in streaming code, use defined USB_BULK_HDR_SIZE
   2558 	  instead of magic values.
   2559 
   2560 2006-09-02  Linus Walleij <triad (a] df.lth.se>
   2561 
   2562 	* src/libmtp.c: add some code to have
   2563 	  LIBMTP_Send_File_From_File_Descriptor() accept a stream
   2564 	  if size is set to (uint64_t) -1, plus documentation fixes.
   2565 	  I don't think the streaming code will work but whoever want
   2566 	  to experiment with it has a place to start.
   2567 	* examples/refactortest.c: removed. Who uses this?
   2568 
   2569 2006-08-30  Linus Walleij <triad (a] df.lth.se>
   2570 
   2571 	* configure.ac: version bump.
   2572 	* src/libmtp.c: more debug prints.
   2573 	* src/libusb-glue.c: new iRiver device called Clix. By
   2574 	  the way I released libmtp 0.0.16 yesterday.
   2575 
   2576 2006-08-28  Linus Walleij <triad (a] df.lth.se>
   2577 
   2578 	* configure.ac: version bump.
   2579 	* src/ptp-pack.c: upstream has committed my patch giving full
   2580 	  unicode support in libgphoto2 ptp2 camlib. No need for
   2581 	  any more ugly workarounds, plus we now have full unicode
   2582 	  filenames!
   2583 	* src/ptp.c: dito.
   2584 	* src/ptp.h: dito.
   2585 	* src/libmtp.c: revamp to use the new unicode support in
   2586 	  libgphoto2.
   2587 	* src/unicode.c: remove unused functionality.
   2588 	* src/unicode.h: dito.
   2589 
   2590 2006-08-27  Linus Walleij <triad (a] df.lth.se>
   2591 
   2592 	* configure.ac: version bump. Release all these fixes
   2593 	  as 0.0.15.
   2594 	* src/libusb-glue.c: fixed sucky errors. Added callback
   2595 	  code when reading files.
   2596 	* src/libusb-glue.h: const correctness.
   2597 	* src/libmtp.h.in: finally fixup the type on the callbacks.
   2598 	* src/libmtp.c: more accurate sending callbacks. Callbacks
   2599 	  when getting files also, working correctly. Typeing of
   2600 	  callbacks now OK.
   2601 	* examples/getfile.c: some display bar cosmetic fixup.
   2602 	* TODO: lots of the things todo are now done.
   2603 
   2604 2006-08-26  Linus Walleij <triad (a] df.lth.se>
   2605 
   2606 	* configure.ac: version bump.
   2607 	* src/libmtp.c: fix bug and reinstate callbacks.
   2608 	* src/libusb-glue.h: dito.
   2609 	* src/libusb-glue.c: dito.
   2610 
   2611 2006-08-25  Linus Walleij <triad (a] df.lth.se>
   2612 
   2613 	* src/libmtp.c: use the new file descriptor sender function.
   2614 	  Going to release this as 0.0.13.
   2615 	* src/ptp.c: upstream accepted patches synced in.
   2616 	* src/ptp.h: dito.
   2617 
   2618 2006-08-22  Linus Walleij <triad (a] df.lth.se>
   2619 
   2620 	* src/libusb-glue.c: found a real nasty endpoint bug,
   2621 	  code from libgphoto2 was assuming max packet size of
   2622 	  512 bytes while it is 64 when a USB 2.0 device is
   2623 	  plugged into an UHCI hub.
   2624 
   2625 2006-08-22  Linus Walleij <triad (a] df.lth.se>
   2626 
   2627 	* configure.ac: bump to 0.0.13, also released 0.0.12 now.
   2628 
   2629 2006-08-21  Linus Walleij <triad (a] df.lth.se>
   2630 
   2631 	* src/libmtp.c: fixup mmap() usage and add madvise()
   2632 	  as result of experiments by Gavin McCullagh. Upstream
   2633 	  accept patch to get files directly to file descriptor.
   2634 	  Move iconv() converters into device struct for thread
   2635 	  safety.
   2636 	* src/ptp.c: sync to upstream which merges patch to get
   2637 	  file directly to file descriptor.
   2638 	* src/ptp.h: dito.
   2639 	* src/unicode.c: move iconv() converters into the device
   2640 	  struct for thread safety.
   2641 	* src/unicode.h: dito.
   2642 
   2643 2006-08-20  Linus Walleij <triad (a] df.lth.se>
   2644 
   2645 	* src/libmtp.h.in: set friendly name and sync partner,
   2646 	  rename ownername to friendlyname.
   2647 	* src/libmtp.c: dito.
   2648 	* examples/detect.c: reflect changes.
   2649 	* src/Makefile.am: interface is incompatible so age it.
   2650 
   2651 2006-08-19  Linus Walleij <triad (a] df.lth.se>
   2652 
   2653 	* src/libmtp.h.in: add function to get syncronization
   2654 	  partner for the device.
   2655 	* src/libmtp.c: dito.
   2656 	* examples/detect.c: use that function.
   2657 	* src/Makefile.am: backward-compatible interface bump.
   2658 
   2659 2006-08-17  Linus Walleij <triad (a] df.lth.se>
   2660 
   2661 	* configure.ac: bump to 0.0.12 and require iconv.h.
   2662 
   2663 2006-08-16  Linus Walleij <triad (a] df.lth.se>
   2664 
   2665 	* src/unicode.c: remove bigendian weirdness and switch
   2666 	  to using iconv() instead.
   2667 	* src/unicode.h: dito.
   2668 	* src/libmtp.c: reflect changes.
   2669 
   2670 2006-08-09  Linus Walleij <triad (a] df.lth.se>
   2671 
   2672 	* Release libmtp 0.0.11.
   2673 
   2674 2006-08-04  Linus Walleij <triad (a] df.lth.se>
   2675 
   2676 	* src/libmtp.c: patch from Dan Aloni to make sendfile
   2677 	  use mmap and avoid memory drainage.
   2678 	* src/libusb-glue.c: patch from Andy Kelk to avoid
   2679 	  exit():ing when the interface cannot be claimed.
   2680 	* configure.ac: version bump.
   2681 
   2682 2006-07-27  Linus Walleij <triad (a] df.lth.se>
   2683 
   2684 	* Release libmtp 0.0.10.
   2685 
   2686 2006-07-26  Linus Walleij <triad (a] df.lth.se>
   2687 
   2688 	* src/libusb-glue.c: new SanDisk devices.
   2689 	* src/libmtp.c: only set metdata properties supported by
   2690 	  the device, duh.
   2691 	* src/ptp.c: sync to upstream.
   2692 	* src/ptp.h: sync to upstream.
   2693 	* configure.ac: bump to 0.0.10.
   2694 
   2695 2006-06-22  Linus Walleij <triad (a] df.lth.se>
   2696 
   2697 	* Release libmtp 0.0.9.
   2698 
   2699 2006-06-21  Linus Walleij <triad (a] df.lth.se>
   2700 
   2701 	* src/libmtp.h.in: added function to retrieve supported
   2702 	  filetypes.
   2703 	* src/libmtp.c: ditto.
   2704 	* examples/detect.c: use that function.
   2705 
   2706 2006-06-19  Linus Walleij <triad (a] df.lth.se>
   2707 
   2708 	* src/unicode.c: support all endianness, detect
   2709 	  byte-order-mark
   2710 	* src/unicode.h: ditto.
   2711 	* src/libmtp.c: ditto.
   2712 	* examples/detect.c: use proper tempfile function.
   2713 	* src/libmtp.h.in: add some more track properties.
   2714 	* src/libmtp.c: ditto.
   2715 	* examples/tracks.c: ditto.
   2716 
   2717 2006-06-16  Linus Walleij <triad (a] df.lth.se>
   2718 
   2719 	* src/libmtp.h.in: new interfaces for single metadata post
   2720 	  retrieveal.
   2721 	* src/libmtp.c: ditto.
   2722 	* examples/playlists.c: display track info using the new
   2723 	  individual track metadata retrieveal method.
   2724 	* examples/getplaylist.c: ditto.
   2725 
   2726 2006-06-13  Linus Walleij <triad (a] df.lth.se>
   2727 
   2728 	* src/libmtp.h.in: added default folders to device struct.
   2729 	  Add some new function prototypes.
   2730 	* src/libmtp.c: discover and use the default folders if
   2731 	  we can find them. Retrieve device secure time and cert
   2732 	  out of sheer curiosity.
   2733 	* src/ptp.c: sync to libgphoto2 with my patches.
   2734 	* src/ptp.h: ditto.
   2735 
   2736 2006-06-07  Linus Walleij <triad (a] df.lth.se>
   2737 
   2738 	* src/libmtp.h.in: new playlist API and refactorings.
   2739 	* src/libmtp.c: ditto, and refactorings.
   2740 	* src/unicode.h: const correctness.
   2741 	* src/unicode.c: ditto.
   2742 	* examples/playlists.c: new example program.
   2743 	* configure.ac: bump to 0.0.9
   2744 	* src/Makefile.am: bump library interface.
   2745 
   2746 2006-06-05  Linus Walleij <triad (a] df.lth.se>
   2747 
   2748 	* examples/sendtr.c: fixed annoying bug that made this
   2749 	  program totally useless.
   2750 	* src/libmtp.c: cosmetics.
   2751 	* configure.ac: bump to 0.0.8.
   2752 
   2753 2006-06-03  Linus Walleij <triad (a] df.lth.se>
   2754 
   2755 	* src/libmtp.c: metadata bugs, album name and genre
   2756 	  confused. Fixe it and released libmtp 0.0.7.
   2757 
   2758 2006-06-01  Linus Walleij <triad (a] df.lth.se>
   2759 
   2760 	* Released libmtp 0.0.6.
   2761 
   2762 2006-05-31  Linus Walleij <triad (a] df.lth.se>
   2763 
   2764 	* src/libmtp.c: fixed mapping for JPEG vs JFIF
   2765 	* src/libmtp.h.in: added proper type for JPEG
   2766 	* examples/sendfile.c: send proper JPEG type
   2767 
   2768 2006-05-30  Flavien Lebarbe <flavien+libmtp (a] lebarbe.net>
   2769 
   2770 	* src/libmtp.c: fixed a bug in update metadata due to
   2771 	  bad use of return code.
   2772 	* src/libusb-glue.c: fixed a loop exiting problem with
   2773 	  good 'ol GOTO.
   2774 
   2775 2006-05-29  Linus Walleij <triad (a] df.lth.se>
   2776 
   2777 	* src/libusb-glue.c: one more device.
   2778 	* doc/examples.h: produce correct documentation.
   2779 	* configure.ac: bump to 0.0.6.
   2780 	* src/ptp.c: sync to libgphoto2.
   2781 	* src/ptp.h: ditto.
   2782 	* src/ptp-pack.c: ditto.
   2783 	* src/libmtp.c: fixed all filetype API related functions
   2784 	  not to use any PTP intrinsic defines at all, made all
   2785 	  parameters to functions use the internal libmtp interface
   2786 	  enumerations and definitions. Removed LIBMTP_Release():
   2787 	  we can live with the memory lost during init. You're not
   2788 	  supposed to re-initialize the device. Consequently removed
   2789 	  the delete function that cleaned the filetype assoc list.
   2790 	* examples/refactortest.c: reflect changes.
   2791 
   2792 2006-05-26  Dave Kelly <libmtp (a] ravelox.co.uk>
   2793 
   2794 	* src/libmtp.c: refactored object handling to be more generic
   2795 	* src/libmtp.h.in: ditto
   2796 	* examples/refactortest.c: Added simple example to use refactoring
   2797 	* examples/getplaylist.c: Added example to extract playlist data
   2798 	* src/ptp.c: Re-added ptp_get/set_objectreferences to allow
   2799 	  for playlist handling
   2800 	* src/ptp.h: ditto
   2801 
   2802 2006-05-08  Linus Walleij  <triad (a] df.lth.se>
   2803 
   2804 	* src/libmtp.h.in: add simple detection function.
   2805 	* src/libusb-glue.c: implement MTP "OS descriptor" for
   2806 	  looking for MTP devices.
   2807 	* examples/detect.c: make it possible to do very
   2808 	  rudimentary detection with "detect -p".
   2809 	* configure.ac: bump to 0.0.5.
   2810 
   2811 2006-05-07  Linus Walleij  <triad (a] df.lth.se>
   2812 
   2813 	* COPYING: since we no longer use any parts of libptp2
   2814 	  and only files from libgphoto2, we switch to the GNU
   2815 	  Lesser General Public License (GNU LGPL). libptp2 is
   2816 	  a derived work from libgphoto2, and so is libmtp, there
   2817 	  are no remnants of libptp2 in libmtp anymore.
   2818 
   2819 2006-05-04  Linus Walleij  <triad (a] df.lth.se>
   2820 
   2821 	* examples/sendfile.c: fixes some more filetypes.
   2822 	* src/libmtp.c: respectfully rearranged to use a filetype mapping
   2823 	  table.
   2824 	* src/ptp-pack.c: real nasty unicode packing bug.
   2825 	* Release libmtp 0.0.4.
   2826 
   2827 2006-05-02  Linus Walleij  <triad (a] df.lth.se>
   2828 
   2829 	* src/libmtp.c: general shaping up for release. All track
   2830 	  and file sending functions now respects a parent ID to be
   2831 	  sent along with files and tracks.
   2832 	* src/libmtp.h.in: dito.
   2833 	* src/libusb-glue.c: dito.
   2834 	* examples/sendfile.c: interface dependency changes.
   2835 	* examples/sendtr.c: dito.
   2836 
   2837 2006-04-30  Linus Walleij  <triad (a] df.lth.se>
   2838 
   2839 	* src/ptp.c: sync upstream.
   2840 	* src/ptp.h: dito.
   2841 
   2842 2006-04-27  Linus Walleij  <triad (a] df.lth.se>
   2843 
   2844 	* examples/sendfile.c: first file sender program based
   2845 	  on API implementation and changes by Chris Allegretta.
   2846 	* examples/Makefile.am: new program, new entry.
   2847 	* src/libmtp.c: reflect this new functionality.
   2848 	* src/libmtp.h.in: dito.
   2849 
   2850 2006-04-25  Linus Walleij  <triad (a] df.lth.se>
   2851 
   2852 	* Rebased the sources around libgphoto2 instead.
   2853 	  This was a major revision...
   2854 	* src/ptp.c: imported libgphoto2 version verbatim.
   2855 	* src/ptp.h: imported libgphoto2 version, minor patch.
   2856 	* src/ptp-pack.c: imported libgphoto2 version, minor patch.
   2857 	* src/ptp-pack.h: dropped, libgphoto2 does not use it.
   2858 	* src/mtp.c: dropped, since all functions are now in ptp.c
   2859 	* src/mtp-pack.c: dropped, same reason.
   2860 	* src/mtp.h: dropped, same reason.
   2861 	* src/mtp-pack.h: dropped, same reason.
   2862 
   2863 2006-04-21  Linus Walleij  <triad (a] df.lth.se>
   2864 
   2865 	* Released libmtp 0.0.3
   2866 	* Bumped source to 0.0.4
   2867 
   2868 2006-04-21  Linus Walleij  <triad (a] df.lth.se>
   2869 
   2870 	* src/ptp-pack.c: GCC 4.x compilation patch from
   2871 	  Diego Petten.
   2872 	* src/libusb-glue.c: New Samsung device and some
   2873 	  from libgphoto2.
   2874 	* src/ptp.h: some defines from libgphoto2 to get
   2875 	  a bit more compatible.
   2876 	* src/libmtp.c: Added a folder API implementation by
   2877 	  Dave "ravelox" Kelly.
   2878 	* src/libmtp.h.in: dito.
   2879 	* examples/folders.c: dito.
   2880 	* examples/newfolder.c: dito.
   2881 	* examples/trexist.c: dito.
   2882 
   2883 2006-03-28  Linus Walleij  <triad (a] df.lth.se>
   2884 
   2885 	* m4/*: updated macros to work with GCC 4.1.0.
   2886 	* examples/hotplug.c: new program to create device
   2887 	  ID lists.
   2888 	* libmtp.rules: now an auto-generated file.
   2889 	* libmtp.usermap: now an auto-generated file.
   2890 
   2891 2006-03-24  Linus Walleij  <triad (a] df.lth.se>
   2892 
   2893 	* Beginning a file API, fixed some example program
   2894 	  names and such.
   2895 
   2896 2006-03-18  Linus Walleij  <triad (a] df.lth.se>
   2897 
   2898 	* Fixed up callback interface to a simpler version,
   2899 	  the old one was bloated stuff from libnjb anyway.
   2900 	  Bump to 0.0.2.
   2901 
   2902 2006-03-16  Linus Walleij  <triad (a] df.lth.se>
   2903 
   2904 	* Fixed the .h file and implementation so you really only
   2905 	  need this one .h file to interface the library.
   2906 
   2907 2006-03-15  Linus Walleij  <triad (a] df.lth.se>
   2908 
   2909 	* Added three device information retrieval functions.
   2910 
   2911 2006-03-06  Linus Walleij  <triad (a] df.lth.se>
   2912 
   2913 	* Moving some things around to structure the source. More
   2914 	  will be needed...
   2915 
   2916 2006-02-27  Linus Walleij  <triad (a] df.lth.se>
   2917 
   2918 	* Release libmtp 0.0.1 so people have something to play with,
   2919 	  what the heck. Probably saves someones day.
   2920 
   2921 2006-02-24  Linus Walleij  <triad (a] df.lth.se>
   2922 
   2923 	* Deltr example program to delete tracks, plus corresponding
   2924 	  interface call.
   2925 
   2926 2006-02-23  Linus Walleij  <triad (a] df.lth.se>
   2927 
   2928 	* Fixed up sendtr program and metadata tagging function that is
   2929 	  used after sending files.
   2930 
   2931 2006-02-22  Linus Walleij  <triad (a] df.lth.se>
   2932 
   2933 	* Untested gettr.c and sendtr.c programs to get and send tracks
   2934 	  created.
   2935 
   2936 2006-01-30  Linus Walleij  <triad (a] df.lth.se>
   2937 
   2938 	* Created the initial GNU source directory structure.
   2939 	* Added the most basic files.
   2940