2006-09-11 Linus Walleij * src/libusb-glue.c: messed around a bit with device descriptor detection so as to bring closer to libgphoto2 detection algorithm. I've seen things that might be false positives, possibly USB mass storage devices with additional MSFT descriptors to indicate they have Janus DRM. * src/libmtp.c: use UCS-2-INTERNAL if we're not on glibc. glibc knows that UCS-2 is in machine endianness but Darwin and *BSD does not. Detect C library and switch accordingly. * src/unicode.c: retire old unicode code only keep things we cannot live without. Remove the own internal UCS-2 conversion engine and the internal iconv() engine and use the one already available in PTPParams. * src/unicode.h: dito. 2006-09-07 Linus Walleij * src/libusb-glue.h: added device flags so we can make the code behave differently on certain devices. * src/libusb-glue.c: dito, plus removed some debug prints. * src/libmtp.c: docs. * src/libmtp.h.in: added device_flags to device list struct. * src/Makefile.am: bumped to compatible library interface. * configure.ac: bump version to 0.0.18 (0.0.17 released yesterday). 2006-09-06 Richard Low * src/libusb-glue.c: changed packet sizes to improve transfer speeds. * src/libmtp.c: changed packet sizes to improve transfer transfer speeds. Also stopped extra ptp_getobjectinfo calls when getting directories on connect. 2006-09-06 Linus Walleij * src/libusb-glue.c: fixed some endpoint size detection and sending special file sizes stuff. Real hairy bug... Also messed around a bit with the callbacks. * src/libmtp.c: changes for callback size detection. 2006-09-04 Linus Walleij * src/libmtp.c: bug in streaming code, use defined USB_BULK_HDR_SIZE instead of magic values. 2006-09-02 Linus Walleij * src/libmtp.c: add some code to have LIBMTP_Send_File_From_File_Descriptor() accept a stream if size is set to (uint64_t) -1, plus documentation fixes. I don't think the streaming code will work but whoever want to experiment with it has a place to start. * examples/refactortest.c: removed. Who uses this? 2006-08-30 Linus Walleij * configure.ac: version bump. * src/libmtp.c: more debug prints. * src/libusb-glue.c: new iRiver device called Clix. By the way I released libmtp 0.0.16 yesterday. 2006-08-28 Linus Walleij * configure.ac: version bump. * src/ptp-pack.c: upstream has committed my patch giving full unicode support in libgphoto2 ptp2 camlib. No need for any more ugly workarounds, plus we now have full unicode filenames! * src/ptp.c: dito. * src/ptp.h: dito. * src/libmtp.c: revamp to use the new unicode support in libgphoto2. * src/unicode.c: remove unused functionality. * src/unicode.h: dito. 2006-08-27 Linus Walleij * configure.ac: version bump. Release all these fixes as 0.0.15. * src/libusb-glue.c: fixed sucky errors. Added callback code when reading files. * src/libusb-glue.h: const correctness. * src/libmtp.h.in: finally fixup the type on the callbacks. * src/libmtp.c: more accurate sending callbacks. Callbacks when getting files also, working correctly. Typeing of callbacks now OK. * examples/getfile.c: some display bar cosmetic fixup. * TODO: lots of the things todo are now done. 2006-08-26 Linus Walleij * configure.ac: version bump. * src/libmtp.c: fix bug and reinstate callbacks. * src/libusb-glue.h: dito. * src/libusb-glue.c: dito. 2006-08-25 Linus Walleij * src/libmtp.c: use the new file descriptor sender function. Going to release this as 0.0.13. * src/ptp.c: upstream accepted patches synced in. * src/ptp.h: dito. 2006-08-22 Linus Walleij * src/libusb-glue.c: found a real nasty endpoint bug, code from libgphoto2 was assuming max packet size of 512 bytes while it is 64 when a USB 2.0 device is plugged into an UHCI hub. 2006-08-22 Linus Walleij * configure.ac: bump to 0.0.13, also released 0.0.12 now. 2006-08-21 Linus Walleij * src/libmtp.c: fixup mmap() usage and add madvise() as result of experiments by Gavin McCullagh. Upstream accept patch to get files directly to file descriptor. Move iconv() converters into device struct for thread safety. * src/ptp.c: sync to upstream which merges patch to get file directly to file descriptor. * src/ptp.h: dito. * src/unicode.c: move iconv() converters into the device struct for thread safety. * src/unicode.h: dito. 2006-08-20 Linus Walleij * src/libmtp.h.in: set friendly name and sync partner, rename ownername to friendlyname. * src/libmtp.c: dito. * examples/detect.c: reflect changes. * src/Makefile.am: interface is incompatible so age it. 2006-08-19 Linus Walleij * src/libmtp.h.in: add function to get syncronization partner for the device. * src/libmtp.c: dito. * examples/detect.c: use that function. * src/Makefile.am: backward-compatible interface bump. 2006-08-17 Linus Walleij * configure.ac: bump to 0.0.12 and require iconv.h. 2006-08-16 Linus Walleij * src/unicode.c: remove bigendian weirdness and switch to using iconv() instead. * src/unicode.h: dito. * src/libmtp.c: reflect changes. 2006-08-09 Linus Walleij * Release libmtp 0.0.11. 2006-08-04 Linus Walleij * src/libmtp.c: patch from Dan Aloni to make sendfile use mmap and avoid memory drainage. * src/libusb-glue.c: patch from Andy Kelk to avoid exit():ing when the interface cannot be claimed. * configure.ac: version bump. 2006-07-27 Linus Walleij * Release libmtp 0.0.10. 2006-07-26 Linus Walleij * src/libusb-glue.c: new SanDisk devices. * src/libmtp.c: only set metdata properties supported by the device, duh. * src/ptp.c: sync to upstream. * src/ptp.h: sync to upstream. * configure.ac: bump to 0.0.10. 2006-06-22 Linus Walleij * Release libmtp 0.0.9. 2006-06-21 Linus Walleij * src/libmtp.h.in: added function to retrieve supported filetypes. * src/libmtp.c: ditto. * examples/detect.c: use that function. 2006-06-19 Linus Walleij * src/unicode.c: support all endianness, detect byte-order-mark * src/unicode.h: ditto. * src/libmtp.c: ditto. * examples/detect.c: use proper tempfile function. * src/libmtp.h.in: add some more track properties. * src/libmtp.c: ditto. * examples/tracks.c: ditto. 2006-06-16 Linus Walleij * src/libmtp.h.in: new interfaces for single metadata post retrieveal. * src/libmtp.c: ditto. * examples/playlists.c: display track info using the new individual track metadata retrieveal method. * examples/getplaylist.c: ditto. 2006-06-13 Linus Walleij * src/libmtp.h.in: added default folders to device struct. Add some new function prototypes. * src/libmtp.c: discover and use the default folders if we can find them. Retrieve device secure time and cert out of sheer curiosity. * src/ptp.c: sync to libgphoto2 with my patches. * src/ptp.h: ditto. 2006-06-07 Linus Walleij * src/libmtp.h.in: new playlist API and refactorings. * src/libmtp.c: ditto, and refactorings. * src/unicode.h: const correctness. * src/unicode.c: ditto. * examples/playlists.c: new example program. * configure.ac: bump to 0.0.9 * src/Makefile.am: bump library interface. 2006-06-05 Linus Walleij * examples/sendtr.c: fixed annoying bug that made this program totally useless. * src/libmtp.c: cosmetics. * configure.ac: bump to 0.0.8. 2006-06-03 Linus Walleij * src/libmtp.c: metadata bugs, album name and genre confused. Fixe it and released libmtp 0.0.7. 2006-06-01 Linus Walleij * Released libmtp 0.0.6. 2006-05-31 Linus Walleij * src/libmtp.c: fixed mapping for JPEG vs JFIF * src/libmtp.h.in: added proper type for JPEG * examples/sendfile.c: send proper JPEG type 2006-05-30 Flavien Lebarbe * src/libmtp.c: fixed a bug in update metadata due to bad use of return code. * src/libusb-glue.c: fixed a loop exiting problem with good 'ol GOTO. 2006-05-29 Linus Walleij * src/libusb-glue.c: one more device. * doc/examples.h: produce correct documentation. * configure.ac: bump to 0.0.6. * src/ptp.c: sync to libgphoto2. * src/ptp.h: ditto. * src/ptp-pack.c: ditto. * src/libmtp.c: fixed all filetype API related functions not to use any PTP intrinsic defines at all, made all parameters to functions use the internal libmtp interface enumerations and definitions. Removed LIBMTP_Release(): we can live with the memory lost during init. You're not supposed to re-initialize the device. Consequently removed the delete function that cleaned the filetype assoc list. * examples/refactortest.c: reflect changes. 2006-05-26 Dave Kelly * src/libmtp.c: refactored object handling to be more generic * src/libmtp.h.in: ditto * examples/refactortest.c: Added simple example to use refactoring * examples/getplaylist.c: Added example to extract playlist data * src/ptp.c: Re-added ptp_get/set_objectreferences to allow for playlist handling * src/ptp.h: ditto 2006-05-08 Linus Walleij * src/libmtp.h.in: add simple detection function. * src/libusb-glue.c: implement MTP "OS descriptor" for looking for MTP devices. * examples/detect.c: make it possible to do very rudimentary detection with "detect -p". * configure.ac: bump to 0.0.5. 2006-05-07 Linus Walleij * COPYING: since we no longer use any parts of libptp2 and only files from libgphoto2, we switch to the GNU Lesser General Public License (GNU LGPL). libptp2 is a derived work from libgphoto2, and so is libmtp, there are no remnants of libptp2 in libmtp anymore. 2006-05-04 Linus Walleij * examples/sendfile.c: fixes some more filetypes. * src/libmtp.c: respectfully rearranged to use a filetype mapping table. * src/ptp-pack.c: real nasty unicode packing bug. * Release libmtp 0.0.4. 2006-05-02 Linus Walleij * src/libmtp.c: general shaping up for release. All track and file sending functions now respects a parent ID to be sent along with files and tracks. * src/libmtp.h.in: dito. * src/libusb-glue.c: dito. * examples/sendfile.c: interface dependency changes. * examples/sendtr.c: dito. 2006-04-30 Linus Walleij * src/ptp.c: sync upstream. * src/ptp.h: dito. 2006-04-27 Linus Walleij * examples/sendfile.c: first file sender program based on API implementation and changes by Chris Allegretta. * examples/Makefile.am: new program, new entry. * src/libmtp.c: reflect this new functionality. * src/libmtp.h.in: dito. 2006-04-25 Linus Walleij * Rebased the sources around libgphoto2 instead. This was a major revision... * src/ptp.c: imported libgphoto2 version verbatim. * src/ptp.h: imported libgphoto2 version, minor patch. * src/ptp-pack.c: imported libgphoto2 version, minor patch. * src/ptp-pack.h: dropped, libgphoto2 does not use it. * src/mtp.c: dropped, since all functions are now in ptp.c * src/mtp-pack.c: dropped, same reason. * src/mtp.h: dropped, same reason. * src/mtp-pack.h: dropped, same reason. 2006-04-21 Linus Walleij * Released libmtp 0.0.3 * Bumped source to 0.0.4 2006-04-21 Linus Walleij * src/ptp-pack.c: GCC 4.x compilation patch from Diego Pettenò. * src/libusb-glue.c: New Samsung device and some from libgphoto2. * src/ptp.h: some defines from libgphoto2 to get a bit more compatible. * src/libmtp.c: Added a folder API implementation by Dave "ravelox" Kelly. * src/libmtp.h.in: dito. * examples/folders.c: dito. * examples/newfolder.c: dito. * examples/trexist.c: dito. 2006-03-28 Linus Walleij * m4/*: updated macros to work with GCC 4.1.0. * examples/hotplug.c: new program to create device ID lists. * libmtp.rules: now an auto-generated file. * libmtp.usermap: now an auto-generated file. 2006-03-24 Linus Walleij * Beginning a file API, fixed some example program names and such. 2006-03-18 Linus Walleij * Fixed up callback interface to a simpler version, the old one was bloated stuff from libnjb anyway. Bump to 0.0.2. 2006-03-16 Linus Walleij * Fixed the .h file and implementation so you really only need this one .h file to interface the library. 2006-03-15 Linus Walleij * Added three device information retrieval functions. 2006-03-06 Linus Walleij * Moving some things around to structure the source. More will be needed... 2006-02-27 Linus Walleij * Release libmtp 0.0.1 so people have something to play with, what the heck. Probably saves someones day. 2006-02-24 Linus Walleij * Deltr example program to delete tracks, plus corresponding interface call. 2006-02-23 Linus Walleij * Fixed up sendtr program and metadata tagging function that is used after sending files. 2006-02-22 Linus Walleij * Untested gettr.c and sendtr.c programs to get and send tracks created. 2006-01-30 Linus Walleij * Created the initial GNU source directory structure. * Added the most basic files.