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