12011-01-19 Linus Walleij <triad@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 72011-01-09 Linus Walleij <triad@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 132010-12-07 Linus Walleij <triad@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 212010-12-05 Linus Walleij <triad@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 422010-12-01 Linus Walleij <triad@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 532010-11-24 Linus Walleij <triad@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 592010-10-31 Linus Walleij <triad@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 652010-10-17 Linus Walleij <triad@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 722010-09-18 Linus Walleij <triad@df.lth.se> 73 74 * src/libmtp.c: NULL check on abstract lists, drop unused 75 folder variable. 76 772010-07-25 Linus Walleij <triad@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 862010-06-19 Richard Low <richard@wentnet.com> 87 88 * src/music-players.h: add Apple devices as supported by 89 PwnTunes 90 912010-05-23 Linus Walleij <triad@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 1002010-05-16 Richard Low <richard@wentnet.com> 101 102 * src/libusb-glue.c: usb bus location fix for Mac and disable 103 usb_set_altinterface on Mac 104 1052010-04-25 Linus Walleij <triad@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 1132010-04-05 Linus Walleij <triad@df.lth.se> 114 115 * src/ptp.c: sync to upstream. 116 * src/ptp.h: dito. 117 * src/ptp-pack.c: dito. 118 1192010-02-01 Linus Walleij <triad@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 1252010-01-30 Linus Walleij <triad@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 1332010-01-19 Linus Walleij <triad@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 1452010-01-07 Linus Walleij <triad@df.lth.se> 146 147 * src/libmtp.c: detect "My_Foo" default folders as well 148 as "My Foo" (underscore) as well. 149 1502010-01-01 Linus Walleij <triad@df.lth.se> 151 152 * src/libmtp.h.in: we use time_t so include <time.h> 153 1542009-12-16 Linus Walleij <triad@df.lth.se> 155 156 * src/libusb-glue.c: don't complain so much about the 157 response to command 2. 158 1592009-11-30 Linus Walleij <triad@df.lth.se> 160 161 * src/libusb-glue.c: bus detection fix for libusb - 162 bus->location was not properly initialized. 163 1642009-10-10 Linus Walleij <triad@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 1702009-09-28 Nicolas VIVIEN <nicolas@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 1832009-09-25 Linus Walleij <triad@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 1912009-09-23 Linus Walleij <triad@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 1992009-09-23 Linus Walleij <triad@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 2082009-09-21 Linus Walleij <triad@df.lth.se> 209 210 * examples/sendtr.c: patch from Andrea Grillini to support 211 quiet mode operation. 212 2132009-09-12 Linus Walleij <triad@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@vivien.fr>. 219 2202009-09-12 Linus Walleij <triad@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 2252009-09-11 Linus Walleij <triad@df.lth.se> 226 227 * src/music-players.h: tag all SONY NWZ walkmen with 228 DEVICE_FLAG_BROKEN_MTPGETOBJPROPLIST. 229 2302009-08-27 Linus Walleij <triad@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 2382009-08-27 Linus Walleij <triad@df.lth.se> 239 240 * src/libmtp.c: bugfixes again... 241 2422009-08-25 Linus Walleij <triad@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 2472009-08-23 Linus Walleij <triad@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 2602009-08-12 Linus Walleij <triad@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 2682009-08-02 Linus Walleij <triad@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 2752009-07-24 Linus Walleij <triad@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 2812009-07-24 Linus Walleij <triad@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 2882009-06-24 Linus Walleij <triad@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 2942009-06-20 Linus Walleij <triad@df.lth.se> 295 296 * examples/pathutils.c: detect VCF files too. 297 2982009-06-15 Marcus Meissner <meissner@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 3092009-06-15 Linus Walleij <triad@df.lth.se> 310 311 * configure.ac: some buildsystem updates. 312 * INSTALL: some doc updates. 313 3142009-06-15 Marcus Meissner <meissner@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 3902009-06-02 Linus Walleij <triad@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 3982009-05-09 Linus Walleij <triad@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 4082009-05-06 Linus Walleij <triad@df.lth.se> 409 410 * src/ptp.h: sync to upstream. 411 * src/ptp.c: dito. 412 * src/ptp-pack.c: dito. 413 4142009-05-06 Linus Walleij <triad@df.lth.se> 415 416 A host of Windows fixes from 417 Carlo Bramini <carlo_bramini@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 4602009-05-03 Richard Low <richard@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 4762009-05-02 Richard Low <richard@wentnet.com> 477 478 * src/ptp-pack.c: add a NULL check 479 4802009-04-18 Richard Low <richard@wentnet.com> 481 482 * src/ptp-pack.c: add terminating NULL character 483 4842009-04-11 Richard Low <richard@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 4982009-03-17 Linus Walleij <triad@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 5092009-03-08 Linus Walleij <triad@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 5152009-03-04 Linus Walleij <triad@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 5202009-02-21 Linus Walleij <triad@df.lth.se> 521 522 * src/libmtp.c: some additional NULL checks from 523 Florent Pillet. 524 5252009-02-18 Linus Walleij <triad@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 5332009-01-30 Linus Walleij <triad@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 5392009-01-22 Linus Walleij <triad@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 5442009-01-16 Linus Walleij <triad@df.lth.se> 545 546 * src/ptp.c: sync to upstream. 547 * src/ptp.h: dito. 548 5492009-01-15 Linus Walleij <triad@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 5552009-01-14 Linus Walleij <triad@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 5632009-01-10 Linus Walleij <triad@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 5702009-01-06 Linus Walleij <triad@df.lth.se> 571 572 * src/Makefile.am: patch from Rafael Laboissiere removing a 573 build artifact in distclean. 574 5752009-01-02 Linus Walleij <triad@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 5862008-12-21 Linus Walleij <triad@df.lth.se> 587 588 * Release libmtp 0.3.5. 589 5902008-12-15 Nathan Bullock <nathanbullock@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 5952008-12-13 Linus Walleij <triad@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 6112008-12-02 Linus Walleij <triad@df.lth.se> 612 613 * examples/util.c: another NULL check. 614 6152008-11-25 Linus Walleij <triad@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 6212008-11-17 Alistair Boyle <alistair.js.boyle@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 6282008-11-11 Linus Walleij <triad@df.lth.se> 629 630 * src/libmtp.c: allow for playlists with zero tracks on them, 631 also in update. 632 6332008-11-09 Linus Walleij <triad@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 6392008-11-07 Linus Walleij <triad@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 6452008-11-05 Linus Walleij <triad@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 6512008-11-01 Linus Walleij <triad@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 6602008-10-21 Linus Walleij <triad@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 6692008-10-16 Linus Walleij <triad@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 6782008-09-28 Alvin <alvinbeach@gmail.com> 679 680 * src/libmtp.c: fix several bugs in Ogg filetype support. 681 6822008-09-26 Richard Low <richard@wentnet.com> 683 684 * src/libmtp.c: check propdesc before setting props in 685 create_new_abstract_list() 686 6872008-09-25 Linus Walleij <triad@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 6932008-09-24 Linus Walleij <triad@df.lth.se> 694 695 * src/libmtp.h.in: add new filename setting functions, patch 696 from Florent Mertens <flomertens@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 7032008-09-23 Richard Low <richard@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 7092008-09-22 Linus Walleij <triad@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 7152008-09-20 Joe Nahmias <joe@nahmias.net> 716 717 * examples/sendtr.c: added option to specify which 718 storage_id the track should be copied. 719 7202008-09-20 Linus Walleij <triad@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 7272008-09-17 Linus Walleij <triad@df.lth.se> 728 729 * src/libmtp.h.in: new helper macros from 730 Alvin <alvinbeach@gmail.com> plus some docs. 731 7322008-09-12 Linus Walleij <triad@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 7382008-09-07 Richard Low <richard@wentnet.com> 739 740 * src/music-players.h: added Panasonic P905i 741 7422008-09-05 Marcus Meissner <meissner@suse.de> 743 744 * src/libmtp.sym: update symbol export table. 745 * src/Makefile.am: fix up some magic for symbol export. 746 7472008-09-04 Linus Walleij <triad@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 7552008-08-31 Linus Walleij <triad@df.lth.se> 756 757 * src/ptp.h: sync to upstream. 758 * src/ptp.c: sync to upstream. 759 7602008-08-30 Chris Bagwell <chris@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 7712008-08-30 Linus Walleij <triad@df.lth.se> 772 773 * src/ptp.c: sync to upstream. 774 7752008-08-28 Linus Walleij <triad@df.lth.se> 776 777 * examples/sendtr.c: fix non-strdup():ed strings to be 778 copied, patch courtesy of Juanan Pereira. 779 7802008-08-25 Linus Walleij <triad@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 7872008-08-18 Linus Walleij <triad@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 7932008-08-17 Linus Walleij <triad@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 8032008-08-15 Alistair Boyle <alistair.js.boyle@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 8132008-08-15 Linus Walleij <triad@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 8232008-08-14 Linus Walleij <triad@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 8302008-07-31 Linus Walleij <triad@df.lth.se> 831 832 * src/music-players.h: several new devices and flags. 833 8342008-06-24 Linus Walleij <triad@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 8422008-06-22 Linus Walleij <triad@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 8722008-06-15 Linus Walleij <triad@df.lth.se> 873 874 * src/libmtp.c: only look for default folders in the 875 root folder on the primary storage, even. 876 8772008-06-14 Linus Walleij <triad@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 8832008-06-08 Linus Walleij <triad@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 8902008-06-03 Linus Walleij <triad@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 9032008-06-02 Linus Walleij <triad@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 9142008-06-01 Linus Walleij <triad@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 9232008-05-30 Linus Walleij <triad@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 9292008-05-28 Linus Walleij <triad@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 9452008-05-23 Linus Walleij <triad@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 9632008-05-18 Richard Low <richard@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 9732008-05-05 Linus Walleij <triad@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 9792008-05-04 Linus Walleij <triad@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 9872008-05-03 Johannes Huber <johub1180@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 9982008-04-27 Linus Walleij <triad@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 10052008-04-24 Linus Walleij <triad@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 10142008-03-26 Linus Walleij <triad@df.lth.se> 1015 1016 * examples/pathutils.c: fix a folder identification bug, 1017 courtesy of Dr Nicholas Jacobs. 1018 10192008-03-12 Linus Walleij <triad@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 10332008-03-08 Linus Walleij <triad@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 10392008-03-02 Linus Walleij <triad@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 10482008-02-24 Richard Low <richard@wentnet.com> 1049 1050 * src/music-players.h: add DEVICE_FLAG_BROKEN_MTPGETOBJPROPLIST_ALL 1051 for a broken Philips player. 1052 10532008-02-18 Linus Walleij <triad@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 10602008-02-12 Nicolas Pennequin <nicolas.pennequin@free.fr> 1061 1062 * examples/sendtr.c: add transferred tracks to albums if possible. 1063 10642008-02-10 Scott Snyder <snyder@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 10712008-02-06 Linus Walleij <triad@df.lth.se> 1072 1073 * src/libusb-glue.c: wait for response > 0 instead of > 2. 1074 10752008-01-28 Linus Walleij <triad@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 10842008-01-28 Linus Walleij <triad@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 10912008-01-27 Linus Walleij <triad@df.lth.se> 1092 1093 * src/libmtp.c: fix up some minor things and documentation on 1094 the object handling functions. 1095 10962008-01-27 Florent Mertens <flomertens@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 11042008-01-27 Linus Walleij <triad@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 11102008-01-21 Richard Low <richard@wentnet.com> 1111 1112 * src/music-players.h: add Thomson Lyrca HC308A, remove 1113 incorrect ID for Creative Zen 8GB 1114 11152008-01-20 Richard Low <richard@wentnet.com> 1116 1117 * src/libmtp.c: add LIBMTP_Get_Representative_Sample() 1118 * src/libmtp.h.in: ditto 1119 11202008-01-14 Linus Walleij <triad@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 11292008-01-11 Linus Walleij <triad@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 11352008-01-08 Linus Walleij <triad@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 11422007-12-28 Linus Walleij <triad@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 11502007-11-30 Linus Walleij <triad@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 11582007-11-22 Linus Walleij <triad@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 11642007-11-09 Linus Walleij <triad@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@sensi.org>. 1169 * examples/albumart.c: patch from Chris Waters <xtifr@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 11782007-11-05 Linus Walleij <triad@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 11842007-11-02 Linus Walleij <triad@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 11922007-10-31 Linus Walleij <triad@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 11982007-10-30 Linus Walleij <triad@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 12102007-10-25 Linus Walleij <triad@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 12152007-10-23 Linus Walleij <triad@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 12212007-10-19 Linus Walleij <triad@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 12292007-10-18 Linus Walleij <triad@df.lth.se> 1230 1231 * src/libmtp.c: fix the deletion of cached properties when 1232 removing objects. This code was seriously broken. 1233 12342007-10-16 Jeff Mitchell <kde-dev@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 12432007-10-15 Linus Walleij <triad@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 12512007-10-09 Jeff Mitchell <kde-dev@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 12572007-10-04 Linus Walleij <triad@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 12662007-10-03 Linus Walleij <triad@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 12742007-10-02 Linus Walleij <triad@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 12872007-09-29 Richard Low <richard@wentnet.com> 1288 1289 * src/libmtp.c: avoid crash on failed connect 1290 12912007-09-28 Linus Walleij <triad@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 12992007-09-25 Linus Walleij <triad@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 13062007-09-23 Richard Low <richard@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 13122007-09-23 Linus Walleij <triad@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 13192007-09-21 Linus Walleij <triad@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 13252007-09-18 Linus Walleij <triad@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 13312007-09-17 Linus Walleij <triad@df.lth.se> 1332 1333 * src/libusb-glue.c: silenced weirdo error message. 1334 13352007-09-16 Linus Walleij <triad@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 13442007-09-16 Richard Low <richard@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 13502007-09-15 Linus Walleij <triad@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 13572007-09-14 Linus Walleij <triad@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 13632007-09-12 Marcus Meissner <meissner@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 13712007-09-06 Linus Walleij <triad@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 13782007-09-05 Richard Low <richard@wentnet.com> 1379 1380 * src/libmtp.c: album fixups 1381 13822007-09-05 Linus Walleij <triad@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 13872007-09-04 Linus Walleij <triad@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 13942007-09-01 Linus Walleij <triad@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 14012007-08-29 Linus Walleij <triad@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@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 14122007-08-28 Linus Walleij <triad@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 14222007-08-24 Linus Walleij <triad@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 14322007-08-22 Linus Walleij <triad@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 14412007-08-16 Richard Low <richard@wentnet.com> 1442 1443 * src/ptp-pack.c: allow packing of NULL strings 1444 14452007-08-15 Robert Reardon <rreardon@monkshatch.vispa.com> 1446 1447 * src/libmtp.c: return device max values for representative 1448 samples. 1449 14502007-08-15 Richard Low <richard@wentnet.com> 1451 1452 * src/libusb-glue.c: added Philips Shoqbox 1453 14542007-08-13 Linus Walleij <triad@df.lth.se> 1455 1456 * src/ptp.c: sync to upstream. 1457 14582007-08-07 Linus Walleij <triad@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 14642007-08-06 Linus Walleij <triad@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 14762007-08-06 Linus Walleij <triad@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 14822007-08-05 Richard Low <richard@wentnet.com> 1483 1484 * src/libmtp.c: send 64 bit filesize 1485 14862007-08-04 Linus Walleij <triad@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 14962007-08-04 Richard Low <richard@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 15022007-08-03 Marcus Meissner <meissner@suse.de> 1503 1504 * m4/byteorder.m4: byteorder fixes. 1505 15062007-07-30 Richard Low <richard@wentnet.com> 1507 1508 * src/ptp-pack.c: fix up array packing 1509 15102007-07-30 Linus Walleij <triad@df.lth.se> 1511 1512 * src/ptp-pack.c: try to get a uniform 64 bit 1513 support, use some old macro code. 1514 15152007-07-29 Richard Low <richard@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 15212007-07-27 Richard Low <richard@wentnet.com> 1522 1523 * src/libmtp.c: Some better NULL checks 1524 15252007-07-27 Linus Walleij <triad@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 15302007-07-21 Richard Low <richard@wentnet.com> 1531 1532 * src/libmtp.c: Correctly bail out of LIBMTP_Get_Storage 1533 15342007-07-17 Linus Walleij <triad@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 15422007-07-17 Richard Low <richard@wentnet.com> 1543 1544 * src/libmtp.c: Added some more (paranoid) NULL checks 1545 15462007-07-14 Richard Low <richard@wentnet.com> 1547 1548 * src/libmtp.c: Add a NULL check 1549 15502007-07-13 Richard Low <richard@wentnet.com> 1551 1552 * src/libusb-glue.c: add Disney MixMax 1553 15542007-07-11 Linus Walleij <triad@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 15602007-07-10 Linus Walleij <triad@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 15662007-07-07 Linus Walleij <triad@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 15742007-07-05 Tero Saarni <tero.saarni@gmail.com> 1575 1576 * src/libmtp.c: update cache when manipulating objects instead of 1577 always flushing the whole cache. 1578 15792007-07-03 Linus Walleij <triad@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 15852007-07-01 Linus Walleij <triad@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 15962007-05-29 Linus Walleij <triad@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 16022007-05-24 Jeff Mitchell <kde-dev@emailgoeshere.com> 1603 1604 * hotplug.sh.in: Properly install the HAL FDI rules if 1605 the user so chooses to when prompted. 1606 16072007-05-24 Jeff Mitchell <kde-dev@emailgoeshere.com> 1608 1609 * examples/hotplug.c: Fix/update HAL output to conform 1610 to new specs. Fix whitespacing to be consistent. 1611 16122007-05-17 Richard Low <richard@wentnet.com> 1613 1614 * src/libusb-glue.c: added Samsung YH-920 1615 16162007-05-11 Linus Walleij <triad@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 16242007-05-10 Linus Walleij <triad@df.lth.se> 1625 1626 * src/libusb-glue.c: some new devices, some rewording etc. 1627 16282007-05-05 Linus Walleij <triad@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 16352007-05-05 Richard Low <richard@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 16422007-04-28 Richard Low <richard@wentnet.com> 1643 1644 * src/libusb-glue.c: new device 1645 16462007-04-26 Linus Walleij <triad@df.lth.se> 1647 1648 * src/libusb-glue.c: memory leak: dangling, unused pointer killed. 1649 16502007-04-23 Linus Walleij <triad@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 16572007-04-18 Linus Walleij <triad@df.lth.se> 1658 1659 * src/ptp.c: sync to upstream gPhoto source. 1660 * src/ptp.h: dito. 1661 16622007-04-17 Richard Low <richard@wentnet.com> 1663 1664 * src/libusb-glue.c: new device 1665 16662007-04-13 Richard Low <richard@wentnet.com> 1667 1668 * src/libusb-glue.c: new devices 1669 16702007-04-12 Linus Walleij <triad@df.lth.se> 1671 1672 * examples/hotplug.c: fix GOTO style in udev map. 1673 16742007-04-02 Linus Walleij <triad@df.lth.se> 1675 1676 * examples/files.c: some WIN32 64bit prefix fixup. 1677 * examples/tracks.c: dito. 1678 16792007-03-28 Ted Bullock <tbullock@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 16842007-03-26 Linus Walleij <triad@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 16902007-03-24 Richard Low <richard@wentnet.com> 1691 1692 * src/libusb-glue.c: fixed bug in zero read code 1693 16942007-03-23 Linus Walleij <triad@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 17092007-03-22 Richard Low <richard@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 17162007-03-18 Richard Low <richard@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 17222007-03-16 Linus Walleij <triad@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 17312007-03-12 Linus Walleij <triad@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 17402007-03-07 Linus Walleij <triad@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 17512007-03-06 Linus Walleij <triad@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 17572007-03-05 Linus Walleij <triad@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 17682007-03-04 Linus Walleij <triad@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 17742007-03-03 Ted Bullock <tbullock@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 17862007-03-03 Linus Walleij <triad@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 17952007-03-03 Richard Low <richard@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 18022007-02-28 Linus Walleij <triad@df.lth.se> 1803 1804 * src/ptp.h: Upstream accepted our patch so synced it in. 1805 18062007-02-27 Linus Walleij <triad@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 18142007-02-22 Ted Bullock <tbullock@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 18202007-02-26 Linus Walleij <triad@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 18292007-02-24 Richard Low <richard@wentnet.com> 1830 1831 * src/libusb-glue.c: Fix incorrect transfer sizes causing zero 1832 write issues 1833 18342007-02-23 Linus Walleij <triad@df.lth.se> 1835 1836 * src/libmtp.c: Undeprecate getting first device code. 1837 18382007-02-23 Richard Low <richard@wentnet.com> 1839 1840 * src/libmtp.c: Fix crash when no devices connected 1841 18422007-02-23 Ted Bullock <tbullock@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 18502007-02-22 Ted Bullock <tbullock@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 18562007-02-18 Ted Bullock <tbullock@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 18622007-02-17 Richard Low <richard@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 18692007-02-15 Robert Reardon <rreardon@monkshatch.vispa.com> 1870 1871 * src/libmtp.c: Fix a segfault in new error handling code. 1872 18732007-02-15 Linus Walleij <triad@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 18852007-02-15 Ted Bullock <tbullock@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 18922007-02-14 Ted Bullock <tbullock@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 19012007-02-12 Ted Bullock <tbullock@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 19112007-02-09 Ted Bullock <tbullock@canada.com> 1912 1913 * src/libusb-glue.c: Addressed a number of potential memory leaks in 1914 the new multiple device code 1915 19162007-02-05 Linus Walleij <triad@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 19392007-02-02 Linus Walleij <triad@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 19522007-01-24 Ted Bullock <tbullock@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 19592007-01-22 Linus Walleij <triad@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 19832007-01-22 Ted Bullock <tbullock@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 19892007-01-21 Richard Low <richard@wentnet.com> 1990 1991 * src/libusb-glue.c: more new devices 1992 19932007-01-20 Linus Walleij <triad@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 20022007-01-20 Richard Low <richard@wentnet.com> 2003 2004 * src/libusb-glue.c: new device 'Philips PSA235' 2005 20062007-01-16 Linus Walleij <triad@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 20122007-01-11 Linus Walleij <triad@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 20192007-01-11 Richard Low <richard@wentnet.com> 2020 2021 * src/libusb-glue.c: a zero read fix 2022 * src/libmtp.c: fix spelling mistake 2023 20242007-01-09 Linus Walleij <triad@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 20312007-01-07 Orson Teodoro <orsonteodoro@yahoo.com> 2032 2033 * src/ptp.h: Encoding profile. 2034 * src/ptp.c: Dito. 2035 20362006-01-07 Linus Walleij <triad@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 20432006-01-07 Marcus Meissner <meissner@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 20542007-01-03 Richard Low <richard@wentnet.com> 2055 2056 * src/libusb-glue.c: fix zero write bug 2057 * src/ptp.c: ditto 2058 20592007-01-02 Linus Walleij <triad@df.lth.se> 2060 2061 * src/libusb-glue.c: fix up comments, remove things 2062 refering to stuff we don't have. 2063 20642007-01-02 Richard Low <richard@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 20702007-01-01 Linus Walleij <triad@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 20762007-01-01 Richard Low <richard@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 20832007-01-01 Orson Teodoro <orsonteodoro@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 20892006-12-31 Linus Walleij <triad@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 20952006-12-30 Linus Walleij <triad@df.lth.se> 2096 2097 * examples/pathutils.c: reflect new filetypes. 2098 * examples/sendtr.c: dito. 2099 21002006-12-30 Orson Teodoro <orsonteodoro@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 21192006-12-30 Richard Low <richard@wentnet.com> 2120 2121 * src/libusb-glue.c: fixed bug in debug printing 2122 21232006-12-29 Richard Low <richard@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 21302006-12-29 Marcus Meissner <meissner@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 21382006-12-28 Linus Walleij <triad@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 21442006-12-19 Matthew Wilcox <matthew@wil.cx> 2145 2146 * src/ptp.c: fix a (serious) short file bug. 2147 21482006-12-17 Richard Low <richard@wentnet.com> 2149 2150 * src/libmtp.c: don't bail out on failures when setting 2151 metadata. 2152 21532006-12-16 Linus Walleij <triad@df.lth.se> 2154 2155 * src/ptp.c: sync to upstream. 2156 * src/ptp.h: dito. 2157 * src/ptp-pack.c: dito. 2158 21592006-12-15 Linus Walleij <triad@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 21672006-12-14 Linus Walleij <triad@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 21732006-12-13 Linus Walleij <triad@df.lth.se> 2174 2175 * src/libusb-glue.c: one more device. 2176 * examples/detect.c: compilation warnings fixed. 2177 21782006-12-13 Robert Reardon <rreardon@monkshatch.vispa.com> 2179 2180 * src/ptp.c: add 0xD901 flag as BuyNow property of objects. 2181 * src/ptp.h: ditto. 2182 21832006-12-12 Daniel Williams <danielw@iinet.net.au> 2184 2185 * src/libmtp.h.in: revamped storage API. 2186 * src/libmtp.c: dito. 2187 * examples/detect.c: dito. 2188 21892006-12-12 Robert Reardon <rreardon@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 21942006-12-07 Linus Walleij <triad@df.lth.se> 2195 2196 * src/libmtp.h.in: support firmware object type. (Dangerous.) 2197 * src/libmtp.c: dito. 2198 21992006-12-07 Linus Walleij <triad@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 22062006-12-06 Linus Walleij <triad@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 22142006-12-04 Linus Walleij <triad@df.lth.se> 2215 2216 * src/ptp.c: enable split headers on sending object lists again. 2217 22182006-12-04 Robert Reardon <rreardon@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 22272006-12-03 Linus Walleij <triad@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 22362006-12-02 Marcus Meissner <meissner@suse.de> 2237 2238 * examples/Makefile.am: make sure symlinks really end 2239 up in the correct dir. 2240 22412006-11-30 Linus Walleij <triad@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 22472006-11-30 Richard Low <richard@wentent.com> 2248 2249 * src/libmtp.c: memset PTPObjectInfo structs to 0 2250 22512006-11-30 Matthew Wilcox <matthew@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 22612006-11-30 Linus Walleij <triad@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 22702006-11-29 Richard Low <richard@wentnet.com> 2271 2272 * src/libusb-glue.c: added new devices 2273 22742006-11-29 Linus Walleij <triad@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 22842006-11-28 Linus Walleij <triad@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 22902006-11-27 Linus Walleij <triad@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 22962006-11-26 Richard Low <richard@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 23032006-11-25 Marcus Meissner <marcus@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 23122006-11-23 Linus Walleij <triad@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 23202006-11-21 Robert Reardon <rreardon@monkshatch.vispa.com> 2321 2322 * src/libmtp.c: set handle ids for new objects to 0 when 2323 creating new albums and playlists. 2324 23252006-11-21 Linus Walleij <triad@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 23322006-11-20 Linus Walleij <triad@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 23392006-11-20 Andy Kelk <andy@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 23462006-11-19 Robert Reardon <rreardon@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 23532006-11-19 Daniel Williams <danielw@iinet.net.au> 2354 2355 * src/libusb-glue.c: fix error on reconnect. 2356 23572006-11-18 Richard Low <richard@wentnet.com> 2358 2359 * src/ptp.c: tidy up ptp_usb_getdata 2360 23612006-11-17 Richard Low <richard@wentnet.com> 2362 2363 * src/libmtp.c: fixed parent handle for uploaded tracks 2364 23652006-11-17 Robert Reardon <rreardon@monkshatch.vispa.com> 2366 2367 * src/libmtp.c: fixed up album art using enhanced commands. 2368 23692006-11-16 Richard Low <richard@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 23762006-11-16 Robert Reardon <rreardon@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 23822006-11-15 Richard Low <richard@wentnet.com> 2383 2384 * src/ptp-pack.c: set string buffer to correct size. 2385 23862006-11-14 Richard Low <richard@wentnet.com> 2387 2388 * examples/tracks.c: really use undeprecated API entry. 2389 23902006-11-13 Richard Low <richard@wentnet.com>, Linus Walleij <triad@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 24032006-11-12 Richard Low <richard@wentnet.com> 2404 2405 * src/libusb-glue.c: added Zen Vision W to devices 2406 24072006-11-07 Richard Low <richard@wentnet.com> 2408 2409 * src/libmtp.c: added checks for supported properties 2410 24112006-11-06 Richard Low <richard@wentnet.com> 2412 2413 * src/libmtp.c: added a check for NULL filenames in 2414 LIBMTP_Get_Folder_List. 2415 24162006-11-01 Linus Walleij <triad@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 24242006-10-29 Andy Kelk <andy@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 24302006-10-27 Linus Walleij <triad@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 24362006-10-27 Andy Kelk <andy@mopoke.co.uk> 2437 2438 * src/libmtp.c: add support form abstract audio/video albums. 2439 * src/libmtp.h.in: dito. 2440 24412006-10-23 Linus Walleij <triad@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 24482006-10-20 Linus Walleij <triad@df.lth.se> 2449 2450 * Release 0.0.21 to get all the new device support out. 2451 24522006-10-16 Linus Walleij <triad@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 24592006-10-11 Linus Walleij <triad@df.lth.se> 2460 2461 * examples/delfile.c: patch from Chris Debenham 2462 straingtening out the command-line interface a bit 2463 more. 2464 24652006-10-10 Linus Walleij <triad@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 24712006-09-26 Linus Walleij <triad@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 24762006-09-25 Linus Walleij <triad@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 24822006-09-19 Linus Walleij <triad@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 24882006-09-16 Linus Walleij <triad@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 24942006-09-13 Linus Walleij <triad@df.lth.se> 2495 2496 * examples/format.c: formatting test program. 2497 * examples.Makefile.am: added format. 2498 24992006-09-13 Andy Kelk <andy@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 25062006-09-12 Linus Walleij <triad@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 25132006-09-11 Linus Walleij <triad@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 25292006-09-07 Linus Walleij <triad@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 25402006-09-06 Richard Low <richard@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 25482006-09-06 Linus Walleij <triad@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 25552006-09-04 Linus Walleij <triad@df.lth.se> 2556 2557 * src/libmtp.c: bug in streaming code, use defined USB_BULK_HDR_SIZE 2558 instead of magic values. 2559 25602006-09-02 Linus Walleij <triad@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 25692006-08-30 Linus Walleij <triad@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 25762006-08-28 Linus Walleij <triad@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 25902006-08-27 Linus Walleij <triad@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 26042006-08-26 Linus Walleij <triad@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 26112006-08-25 Linus Walleij <triad@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 26182006-08-22 Linus Walleij <triad@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 26252006-08-22 Linus Walleij <triad@df.lth.se> 2626 2627 * configure.ac: bump to 0.0.13, also released 0.0.12 now. 2628 26292006-08-21 Linus Walleij <triad@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 26432006-08-20 Linus Walleij <triad@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 26512006-08-19 Linus Walleij <triad@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 26592006-08-17 Linus Walleij <triad@df.lth.se> 2660 2661 * configure.ac: bump to 0.0.12 and require iconv.h. 2662 26632006-08-16 Linus Walleij <triad@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 26702006-08-09 Linus Walleij <triad@df.lth.se> 2671 2672 * Release libmtp 0.0.11. 2673 26742006-08-04 Linus Walleij <triad@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 26822006-07-27 Linus Walleij <triad@df.lth.se> 2683 2684 * Release libmtp 0.0.10. 2685 26862006-07-26 Linus Walleij <triad@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 26952006-06-22 Linus Walleij <triad@df.lth.se> 2696 2697 * Release libmtp 0.0.9. 2698 26992006-06-21 Linus Walleij <triad@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 27062006-06-19 Linus Walleij <triad@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 27172006-06-16 Linus Walleij <triad@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 27262006-06-13 Linus Walleij <triad@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 27362006-06-07 Linus Walleij <triad@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 27462006-06-05 Linus Walleij <triad@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 27532006-06-03 Linus Walleij <triad@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 27582006-06-01 Linus Walleij <triad@df.lth.se> 2759 2760 * Released libmtp 0.0.6. 2761 27622006-05-31 Linus Walleij <triad@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 27682006-05-30 Flavien Lebarbe <flavien+libmtp@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 27752006-05-29 Linus Walleij <triad@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 27922006-05-26 Dave Kelly <libmtp@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 28022006-05-08 Linus Walleij <triad@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 28112006-05-07 Linus Walleij <triad@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 28192006-05-04 Linus Walleij <triad@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 28272006-05-02 Linus Walleij <triad@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 28372006-04-30 Linus Walleij <triad@df.lth.se> 2838 2839 * src/ptp.c: sync upstream. 2840 * src/ptp.h: dito. 2841 28422006-04-27 Linus Walleij <triad@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 28502006-04-25 Linus Walleij <triad@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 28632006-04-21 Linus Walleij <triad@df.lth.se> 2864 2865 * Released libmtp 0.0.3 2866 * Bumped source to 0.0.4 2867 28682006-04-21 Linus Walleij <triad@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 28832006-03-28 Linus Walleij <triad@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 28912006-03-24 Linus Walleij <triad@df.lth.se> 2892 2893 * Beginning a file API, fixed some example program 2894 names and such. 2895 28962006-03-18 Linus Walleij <triad@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 29022006-03-16 Linus Walleij <triad@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 29072006-03-15 Linus Walleij <triad@df.lth.se> 2908 2909 * Added three device information retrieval functions. 2910 29112006-03-06 Linus Walleij <triad@df.lth.se> 2912 2913 * Moving some things around to structure the source. More 2914 will be needed... 2915 29162006-02-27 Linus Walleij <triad@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 29212006-02-24 Linus Walleij <triad@df.lth.se> 2922 2923 * Deltr example program to delete tracks, plus corresponding 2924 interface call. 2925 29262006-02-23 Linus Walleij <triad@df.lth.se> 2927 2928 * Fixed up sendtr program and metadata tagging function that is 2929 used after sending files. 2930 29312006-02-22 Linus Walleij <triad@df.lth.se> 2932 2933 * Untested gettr.c and sendtr.c programs to get and send tracks 2934 created. 2935 29362006-01-30 Linus Walleij <triad@df.lth.se> 2937 2938 * Created the initial GNU source directory structure. 2939 * Added the most basic files. 2940