blob: f6c35004329afa0ec9966321321b759497bb2128 [file] [log] [blame]
Yavor Goulishev3aa430d2011-05-23 11:54:45 -070012009-09-12 Linus Walleij <triad@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
62009-09-11 Linus Walleij <triad@df.lth.se>
7
8 * src/music-players.h: tag all SONY NWZ walkmen with
9 DEVICE_FLAG_BROKEN_MTPGETOBJPROPLIST.
10
112009-08-27 Linus Walleij <triad@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
192009-08-27 Linus Walleij <triad@df.lth.se>
20
21 * src/libmtp.c: bugfixes again...
22
232009-08-25 Linus Walleij <triad@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
282009-08-23 Linus Walleij <triad@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
412009-08-12 Linus Walleij <triad@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
492009-08-02 Linus Walleij <triad@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
562009-07-24 Linus Walleij <triad@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
622009-07-24 Linus Walleij <triad@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
692009-06-24 Linus Walleij <triad@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
752009-06-20 Linus Walleij <triad@df.lth.se>
76
77 * examples/pathutils.c: detect VCF files too.
78
792009-06-15 Marcus Meissner <meissner@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
902009-06-15 Linus Walleij <triad@df.lth.se>
91
92 * configure.ac: some buildsystem updates.
93 * INSTALL: some doc updates.
94
952009-06-15 Marcus Meissner <meissner@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
1712009-06-02 Linus Walleij <triad@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
1792009-05-09 Linus Walleij <triad@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
1892009-05-06 Linus Walleij <triad@df.lth.se>
190
191 * src/ptp.h: sync to upstream.
192 * src/ptp.c: dito.
193 * src/ptp-pack.c: dito.
194
1952009-05-06 Linus Walleij <triad@df.lth.se>
196
197 A host of Windows fixes from
198 Carlo Bramini <carlo_bramini@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
2412009-05-03 Richard Low <richard@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
2572009-05-02 Richard Low <richard@wentnet.com>
258
259 * src/ptp-pack.c: add a NULL check
260
2612009-04-18 Richard Low <richard@wentnet.com>
262
263 * src/ptp-pack.c: add terminating NULL character
264
2652009-04-11 Richard Low <richard@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
2792009-03-17 Linus Walleij <triad@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
2902009-03-08 Linus Walleij <triad@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
2962009-03-04 Linus Walleij <triad@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
3012009-02-21 Linus Walleij <triad@df.lth.se>
302
303 * src/libmtp.c: some additional NULL checks from
304 Florent Pillet.
305
3062009-02-18 Linus Walleij <triad@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
3142009-01-30 Linus Walleij <triad@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
3202009-01-22 Linus Walleij <triad@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
3252009-01-16 Linus Walleij <triad@df.lth.se>
326
327 * src/ptp.c: sync to upstream.
328 * src/ptp.h: dito.
329
3302009-01-15 Linus Walleij <triad@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
3362009-01-14 Linus Walleij <triad@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
3442009-01-10 Linus Walleij <triad@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
3512009-01-06 Linus Walleij <triad@df.lth.se>
352
353 * src/Makefile.am: patch from Rafael Laboissiere removing a
354 build artifact in distclean.
355
3562009-01-02 Linus Walleij <triad@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
3672008-12-21 Linus Walleij <triad@df.lth.se>
368
369 * Release libmtp 0.3.5.
370
3712008-12-15 Nathan Bullock <nathanbullock@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
3762008-12-13 Linus Walleij <triad@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
3922008-12-02 Linus Walleij <triad@df.lth.se>
393
394 * examples/util.c: another NULL check.
395
3962008-11-25 Linus Walleij <triad@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
4022008-11-17 Alistair Boyle <alistair.js.boyle@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
4092008-11-11 Linus Walleij <triad@df.lth.se>
410
411 * src/libmtp.c: allow for playlists with zero tracks on them,
412 also in update.
413
4142008-11-09 Linus Walleij <triad@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
4202008-11-07 Linus Walleij <triad@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
4262008-11-05 Linus Walleij <triad@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
4322008-11-01 Linus Walleij <triad@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
4412008-10-21 Linus Walleij <triad@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
4502008-10-16 Linus Walleij <triad@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
4592008-09-28 Alvin <alvinbeach@gmail.com>
460
461 * src/libmtp.c: fix several bugs in Ogg filetype support.
462
4632008-09-26 Richard Low <richard@wentnet.com>
464
465 * src/libmtp.c: check propdesc before setting props in
466 create_new_abstract_list()
467
4682008-09-25 Linus Walleij <triad@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
4742008-09-24 Linus Walleij <triad@df.lth.se>
475
476 * src/libmtp.h.in: add new filename setting functions, patch
477 from Florent Mertens <flomertens@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
4842008-09-23 Richard Low <richard@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
4902008-09-22 Linus Walleij <triad@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
4962008-09-20 Joe Nahmias <joe@nahmias.net>
497
498 * examples/sendtr.c: added option to specify which
499 storage_id the track should be copied.
500
5012008-09-20 Linus Walleij <triad@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
5082008-09-17 Linus Walleij <triad@df.lth.se>
509
510 * src/libmtp.h.in: new helper macros from
511 Alvin <alvinbeach@gmail.com> plus some docs.
512
5132008-09-12 Linus Walleij <triad@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
5192008-09-07 Richard Low <richard@wentnet.com>
520
521 * src/music-players.h: added Panasonic P905i
522
5232008-09-05 Marcus Meissner <meissner@suse.de>
524
525 * src/libmtp.sym: update symbol export table.
526 * src/Makefile.am: fix up some magic for symbol export.
527
5282008-09-04 Linus Walleij <triad@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
5362008-08-31 Linus Walleij <triad@df.lth.se>
537
538 * src/ptp.h: sync to upstream.
539 * src/ptp.c: sync to upstream.
540
5412008-08-30 Chris Bagwell <chris@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
5522008-08-30 Linus Walleij <triad@df.lth.se>
553
554 * src/ptp.c: sync to upstream.
555
5562008-08-28 Linus Walleij <triad@df.lth.se>
557
558 * examples/sendtr.c: fix non-strdup():ed strings to be
559 copied, patch courtesy of Juanan Pereira.
560
5612008-08-25 Linus Walleij <triad@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
5682008-08-18 Linus Walleij <triad@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
5742008-08-17 Linus Walleij <triad@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
5842008-08-15 Alistair Boyle <alistair.js.boyle@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
5942008-08-15 Linus Walleij <triad@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
6042008-08-14 Linus Walleij <triad@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
6112008-07-31 Linus Walleij <triad@df.lth.se>
612
613 * src/music-players.h: several new devices and flags.
614
6152008-06-24 Linus Walleij <triad@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
6232008-06-22 Linus Walleij <triad@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
6532008-06-15 Linus Walleij <triad@df.lth.se>
654
655 * src/libmtp.c: only look for default folders in the
656 root folder on the primary storage, even.
657
6582008-06-14 Linus Walleij <triad@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
6642008-06-08 Linus Walleij <triad@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
6712008-06-03 Linus Walleij <triad@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
6842008-06-02 Linus Walleij <triad@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
6952008-06-01 Linus Walleij <triad@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
7042008-05-30 Linus Walleij <triad@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
7102008-05-28 Linus Walleij <triad@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
7262008-05-23 Linus Walleij <triad@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
7442008-05-18 Richard Low <richard@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
7542008-05-05 Linus Walleij <triad@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
7602008-05-04 Linus Walleij <triad@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
7682008-05-03 Johannes Huber <johub1180@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
7792008-04-27 Linus Walleij <triad@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
7862008-04-24 Linus Walleij <triad@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
7952008-03-26 Linus Walleij <triad@df.lth.se>
796
797 * examples/pathutils.c: fix a folder identification bug,
798 courtesy of Dr Nicholas Jacobs.
799
8002008-03-12 Linus Walleij <triad@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
8142008-03-08 Linus Walleij <triad@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
8202008-03-02 Linus Walleij <triad@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
8292008-02-24 Richard Low <richard@wentnet.com>
830
831 * src/music-players.h: add DEVICE_FLAG_BROKEN_MTPGETOBJPROPLIST_ALL
832 for a broken Philips player.
833
8342008-02-18 Linus Walleij <triad@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
8412008-02-12 Nicolas Pennequin <nicolas.pennequin@free.fr>
842
843 * examples/sendtr.c: add transferred tracks to albums if possible.
844
8452008-02-10 Scott Snyder <snyder@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
8522008-02-06 Linus Walleij <triad@df.lth.se>
853
854 * src/libusb-glue.c: wait for response > 0 instead of > 2.
855
8562008-01-28 Linus Walleij <triad@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
8652008-01-28 Linus Walleij <triad@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
8722008-01-27 Linus Walleij <triad@df.lth.se>
873
874 * src/libmtp.c: fix up some minor things and documentation on
875 the object handling functions.
876
8772008-01-27 Florent Mertens <flomertens@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
8852008-01-27 Linus Walleij <triad@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
8912008-01-21 Richard Low <richard@wentnet.com>
892
893 * src/music-players.h: add Thomson Lyrca HC308A, remove
894 incorrect ID for Creative Zen 8GB
895
8962008-01-20 Richard Low <richard@wentnet.com>
897
898 * src/libmtp.c: add LIBMTP_Get_Representative_Sample()
899 * src/libmtp.h.in: ditto
900
9012008-01-14 Linus Walleij <triad@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
9102008-01-11 Linus Walleij <triad@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
9162008-01-08 Linus Walleij <triad@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
9232007-12-28 Linus Walleij <triad@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
9312007-11-30 Linus Walleij <triad@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
9392007-11-22 Linus Walleij <triad@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
9452007-11-09 Linus Walleij <triad@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@sensi.org>.
950 * examples/albumart.c: patch from Chris Waters <xtifr@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
9592007-11-05 Linus Walleij <triad@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
9652007-11-02 Linus Walleij <triad@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
9732007-10-31 Linus Walleij <triad@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
9792007-10-30 Linus Walleij <triad@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
9912007-10-25 Linus Walleij <triad@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
9962007-10-23 Linus Walleij <triad@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
10022007-10-19 Linus Walleij <triad@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
10102007-10-18 Linus Walleij <triad@df.lth.se>
1011
1012 * src/libmtp.c: fix the deletion of cached properties when
1013 removing objects. This code was seriously broken.
1014
10152007-10-16 Jeff Mitchell <kde-dev@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
10242007-10-15 Linus Walleij <triad@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
10322007-10-09 Jeff Mitchell <kde-dev@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
10382007-10-04 Linus Walleij <triad@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
10472007-10-03 Linus Walleij <triad@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
10552007-10-02 Linus Walleij <triad@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
10682007-09-29 Richard Low <richard@wentnet.com>
1069
1070 * src/libmtp.c: avoid crash on failed connect
1071
10722007-09-28 Linus Walleij <triad@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
10802007-09-25 Linus Walleij <triad@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
10872007-09-23 Richard Low <richard@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
10932007-09-23 Linus Walleij <triad@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
11002007-09-21 Linus Walleij <triad@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
11062007-09-18 Linus Walleij <triad@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
11122007-09-17 Linus Walleij <triad@df.lth.se>
1113
1114 * src/libusb-glue.c: silenced weirdo error message.
1115
11162007-09-16 Linus Walleij <triad@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
11252007-09-16 Richard Low <richard@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
11312007-09-15 Linus Walleij <triad@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
11382007-09-14 Linus Walleij <triad@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
11442007-09-12 Marcus Meissner <meissner@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
11522007-09-06 Linus Walleij <triad@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
11592007-09-05 Richard Low <richard@wentnet.com>
1160
1161 * src/libmtp.c: album fixups
1162
11632007-09-05 Linus Walleij <triad@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
11682007-09-04 Linus Walleij <triad@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
11752007-09-01 Linus Walleij <triad@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
11822007-08-29 Linus Walleij <triad@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@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
11932007-08-28 Linus Walleij <triad@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
12032007-08-24 Linus Walleij <triad@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
12132007-08-22 Linus Walleij <triad@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
12222007-08-16 Richard Low <richard@wentnet.com>
1223
1224 * src/ptp-pack.c: allow packing of NULL strings
1225
12262007-08-15 Robert Reardon <rreardon@monkshatch.vispa.com>
1227
1228 * src/libmtp.c: return device max values for representative
1229 samples.
1230
12312007-08-15 Richard Low <richard@wentnet.com>
1232
1233 * src/libusb-glue.c: added Philips Shoqbox
1234
12352007-08-13 Linus Walleij <triad@df.lth.se>
1236
1237 * src/ptp.c: sync to upstream.
1238
12392007-08-07 Linus Walleij <triad@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
12452007-08-06 Linus Walleij <triad@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
12572007-08-06 Linus Walleij <triad@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
12632007-08-05 Richard Low <richard@wentnet.com>
1264
1265 * src/libmtp.c: send 64 bit filesize
1266
12672007-08-04 Linus Walleij <triad@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
12772007-08-04 Richard Low <richard@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
12832007-08-03 Marcus Meissner <meissner@suse.de>
1284
1285 * m4/byteorder.m4: byteorder fixes.
1286
12872007-07-30 Richard Low <richard@wentnet.com>
1288
1289 * src/ptp-pack.c: fix up array packing
1290
12912007-07-30 Linus Walleij <triad@df.lth.se>
1292
1293 * src/ptp-pack.c: try to get a uniform 64 bit
1294 support, use some old macro code.
1295
12962007-07-29 Richard Low <richard@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
13022007-07-27 Richard Low <richard@wentnet.com>
1303
1304 * src/libmtp.c: Some better NULL checks
1305
13062007-07-27 Linus Walleij <triad@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
13112007-07-21 Richard Low <richard@wentnet.com>
1312
1313 * src/libmtp.c: Correctly bail out of LIBMTP_Get_Storage
1314
13152007-07-17 Linus Walleij <triad@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
13232007-07-17 Richard Low <richard@wentnet.com>
1324
1325 * src/libmtp.c: Added some more (paranoid) NULL checks
1326
13272007-07-14 Richard Low <richard@wentnet.com>
1328
1329 * src/libmtp.c: Add a NULL check
1330
13312007-07-13 Richard Low <richard@wentnet.com>
1332
1333 * src/libusb-glue.c: add Disney MixMax
1334
13352007-07-11 Linus Walleij <triad@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
13412007-07-10 Linus Walleij <triad@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
13472007-07-07 Linus Walleij <triad@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
13552007-07-05 Tero Saarni <tero.saarni@gmail.com>
1356
1357 * src/libmtp.c: update cache when manipulating objects instead of
1358 always flushing the whole cache.
1359
13602007-07-03 Linus Walleij <triad@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
13662007-07-01 Linus Walleij <triad@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
13772007-05-29 Linus Walleij <triad@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
13832007-05-24 Jeff Mitchell <kde-dev@emailgoeshere.com>
1384
1385 * hotplug.sh.in: Properly install the HAL FDI rules if
1386 the user so chooses to when prompted.
1387
13882007-05-24 Jeff Mitchell <kde-dev@emailgoeshere.com>
1389
1390 * examples/hotplug.c: Fix/update HAL output to conform
1391 to new specs. Fix whitespacing to be consistent.
1392
13932007-05-17 Richard Low <richard@wentnet.com>
1394
1395 * src/libusb-glue.c: added Samsung YH-920
1396
13972007-05-11 Linus Walleij <triad@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
14052007-05-10 Linus Walleij <triad@df.lth.se>
1406
1407 * src/libusb-glue.c: some new devices, some rewording etc.
1408
14092007-05-05 Linus Walleij <triad@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
14162007-05-05 Richard Low <richard@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
14232007-04-28 Richard Low <richard@wentnet.com>
1424
1425 * src/libusb-glue.c: new device
1426
14272007-04-26 Linus Walleij <triad@df.lth.se>
1428
1429 * src/libusb-glue.c: memory leak: dangling, unused pointer killed.
1430
14312007-04-23 Linus Walleij <triad@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
14382007-04-18 Linus Walleij <triad@df.lth.se>
1439
1440 * src/ptp.c: sync to upstream gPhoto source.
1441 * src/ptp.h: dito.
1442
14432007-04-17 Richard Low <richard@wentnet.com>
1444
1445 * src/libusb-glue.c: new device
1446
14472007-04-13 Richard Low <richard@wentnet.com>
1448
1449 * src/libusb-glue.c: new devices
1450
14512007-04-12 Linus Walleij <triad@df.lth.se>
1452
1453 * examples/hotplug.c: fix GOTO style in udev map.
1454
14552007-04-02 Linus Walleij <triad@df.lth.se>
1456
1457 * examples/files.c: some WIN32 64bit prefix fixup.
1458 * examples/tracks.c: dito.
1459
14602007-03-28 Ted Bullock <tbullock@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
14652007-03-26 Linus Walleij <triad@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
14712007-03-24 Richard Low <richard@wentnet.com>
1472
1473 * src/libusb-glue.c: fixed bug in zero read code
1474
14752007-03-23 Linus Walleij <triad@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
14902007-03-22 Richard Low <richard@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
14972007-03-18 Richard Low <richard@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
15032007-03-16 Linus Walleij <triad@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
15122007-03-12 Linus Walleij <triad@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
15212007-03-07 Linus Walleij <triad@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
15322007-03-06 Linus Walleij <triad@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
15382007-03-05 Linus Walleij <triad@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
15492007-03-04 Linus Walleij <triad@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
15552007-03-03 Ted Bullock <tbullock@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
15672007-03-03 Linus Walleij <triad@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
15762007-03-03 Richard Low <richard@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
15832007-02-28 Linus Walleij <triad@df.lth.se>
1584
1585 * src/ptp.h: Upstream accepted our patch so synced it in.
1586
15872007-02-27 Linus Walleij <triad@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
15952007-02-22 Ted Bullock <tbullock@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
16012007-02-26 Linus Walleij <triad@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
16102007-02-24 Richard Low <richard@wentnet.com>
1611
1612 * src/libusb-glue.c: Fix incorrect transfer sizes causing zero
1613 write issues
1614
16152007-02-23 Linus Walleij <triad@df.lth.se>
1616
1617 * src/libmtp.c: Undeprecate getting first device code.
1618
16192007-02-23 Richard Low <richard@wentnet.com>
1620
1621 * src/libmtp.c: Fix crash when no devices connected
1622
16232007-02-23 Ted Bullock <tbullock@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
16312007-02-22 Ted Bullock <tbullock@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
16372007-02-18 Ted Bullock <tbullock@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
16432007-02-17 Richard Low <richard@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
16502007-02-15 Robert Reardon <rreardon@monkshatch.vispa.com>
1651
1652 * src/libmtp.c: Fix a segfault in new error handling code.
1653
16542007-02-15 Linus Walleij <triad@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
16662007-02-15 Ted Bullock <tbullock@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
16732007-02-14 Ted Bullock <tbullock@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
16822007-02-12 Ted Bullock <tbullock@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
16922007-02-09 Ted Bullock <tbullock@canada.com>
1693
1694 * src/libusb-glue.c: Addressed a number of potential memory leaks in
1695 the new multiple device code
1696
16972007-02-05 Linus Walleij <triad@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
17202007-02-02 Linus Walleij <triad@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
17332007-01-24 Ted Bullock <tbullock@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
17402007-01-22 Linus Walleij <triad@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
17642007-01-22 Ted Bullock <tbullock@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
17702007-01-21 Richard Low <richard@wentnet.com>
1771
1772 * src/libusb-glue.c: more new devices
1773
17742007-01-20 Linus Walleij <triad@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
17832007-01-20 Richard Low <richard@wentnet.com>
1784
1785 * src/libusb-glue.c: new device 'Philips PSA235'
1786
17872007-01-16 Linus Walleij <triad@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
17932007-01-11 Linus Walleij <triad@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
18002007-01-11 Richard Low <richard@wentnet.com>
1801
1802 * src/libusb-glue.c: a zero read fix
1803 * src/libmtp.c: fix spelling mistake
1804
18052007-01-09 Linus Walleij <triad@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
18122007-01-07 Orson Teodoro <orsonteodoro@yahoo.com>
1813
1814 * src/ptp.h: Encoding profile.
1815 * src/ptp.c: Dito.
1816
18172006-01-07 Linus Walleij <triad@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
18242006-01-07 Marcus Meissner <meissner@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
18352007-01-03 Richard Low <richard@wentnet.com>
1836
1837 * src/libusb-glue.c: fix zero write bug
1838 * src/ptp.c: ditto
1839
18402007-01-02 Linus Walleij <triad@df.lth.se>
1841
1842 * src/libusb-glue.c: fix up comments, remove things
1843 refering to stuff we don't have.
1844
18452007-01-02 Richard Low <richard@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
18512007-01-01 Linus Walleij <triad@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
18572007-01-01 Richard Low <richard@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
18642007-01-01 Orson Teodoro <orsonteodoro@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
18702006-12-31 Linus Walleij <triad@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
18762006-12-30 Linus Walleij <triad@df.lth.se>
1877
1878 * examples/pathutils.c: reflect new filetypes.
1879 * examples/sendtr.c: dito.
1880
18812006-12-30 Orson Teodoro <orsonteodoro@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
19002006-12-30 Richard Low <richard@wentnet.com>
1901
1902 * src/libusb-glue.c: fixed bug in debug printing
1903
19042006-12-29 Richard Low <richard@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
19112006-12-29 Marcus Meissner <meissner@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
19192006-12-28 Linus Walleij <triad@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
19252006-12-19 Matthew Wilcox <matthew@wil.cx>
1926
1927 * src/ptp.c: fix a (serious) short file bug.
1928
19292006-12-17 Richard Low <richard@wentnet.com>
1930
1931 * src/libmtp.c: don't bail out on failures when setting
1932 metadata.
1933
19342006-12-16 Linus Walleij <triad@df.lth.se>
1935
1936 * src/ptp.c: sync to upstream.
1937 * src/ptp.h: dito.
1938 * src/ptp-pack.c: dito.
1939
19402006-12-15 Linus Walleij <triad@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
19482006-12-14 Linus Walleij <triad@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
19542006-12-13 Linus Walleij <triad@df.lth.se>
1955
1956 * src/libusb-glue.c: one more device.
1957 * examples/detect.c: compilation warnings fixed.
1958
19592006-12-13 Robert Reardon <rreardon@monkshatch.vispa.com>
1960
1961 * src/ptp.c: add 0xD901 flag as BuyNow property of objects.
1962 * src/ptp.h: ditto.
1963
19642006-12-12 Daniel Williams <danielw@iinet.net.au>
1965
1966 * src/libmtp.h.in: revamped storage API.
1967 * src/libmtp.c: dito.
1968 * examples/detect.c: dito.
1969
19702006-12-12 Robert Reardon <rreardon@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
19752006-12-07 Linus Walleij <triad@df.lth.se>
1976
1977 * src/libmtp.h.in: support firmware object type. (Dangerous.)
1978 * src/libmtp.c: dito.
1979
19802006-12-07 Linus Walleij <triad@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
19872006-12-06 Linus Walleij <triad@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
19952006-12-04 Linus Walleij <triad@df.lth.se>
1996
1997 * src/ptp.c: enable split headers on sending object lists again.
1998
19992006-12-04 Robert Reardon <rreardon@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
20082006-12-03 Linus Walleij <triad@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
20172006-12-02 Marcus Meissner <meissner@suse.de>
2018
2019 * examples/Makefile.am: make sure symlinks really end
2020 up in the correct dir.
2021
20222006-11-30 Linus Walleij <triad@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
20282006-11-30 Richard Low <richard@wentent.com>
2029
2030 * src/libmtp.c: memset PTPObjectInfo structs to 0
2031
20322006-11-30 Matthew Wilcox <matthew@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
20422006-11-30 Linus Walleij <triad@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
20512006-11-29 Richard Low <richard@wentnet.com>
2052
2053 * src/libusb-glue.c: added new devices
2054
20552006-11-29 Linus Walleij <triad@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
20652006-11-28 Linus Walleij <triad@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
20712006-11-27 Linus Walleij <triad@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
20772006-11-26 Richard Low <richard@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
20842006-11-25 Marcus Meissner <marcus@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
20932006-11-23 Linus Walleij <triad@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
21012006-11-21 Robert Reardon <rreardon@monkshatch.vispa.com>
2102
2103 * src/libmtp.c: set handle ids for new objects to 0 when
2104 creating new albums and playlists.
2105
21062006-11-21 Linus Walleij <triad@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
21132006-11-20 Linus Walleij <triad@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
21202006-11-20 Andy Kelk <andy@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
21272006-11-19 Robert Reardon <rreardon@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
21342006-11-19 Daniel Williams <danielw@iinet.net.au>
2135
2136 * src/libusb-glue.c: fix error on reconnect.
2137
21382006-11-18 Richard Low <richard@wentnet.com>
2139
2140 * src/ptp.c: tidy up ptp_usb_getdata
2141
21422006-11-17 Richard Low <richard@wentnet.com>
2143
2144 * src/libmtp.c: fixed parent handle for uploaded tracks
2145
21462006-11-17 Robert Reardon <rreardon@monkshatch.vispa.com>
2147
2148 * src/libmtp.c: fixed up album art using enhanced commands.
2149
21502006-11-16 Richard Low <richard@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
21572006-11-16 Robert Reardon <rreardon@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
21632006-11-15 Richard Low <richard@wentnet.com>
2164
2165 * src/ptp-pack.c: set string buffer to correct size.
2166
21672006-11-14 Richard Low <richard@wentnet.com>
2168
2169 * examples/tracks.c: really use undeprecated API entry.
2170
21712006-11-13 Richard Low <richard@wentnet.com>, Linus Walleij <triad@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
21842006-11-12 Richard Low <richard@wentnet.com>
2185
2186 * src/libusb-glue.c: added Zen Vision W to devices
2187
21882006-11-07 Richard Low <richard@wentnet.com>
2189
2190 * src/libmtp.c: added checks for supported properties
2191
21922006-11-06 Richard Low <richard@wentnet.com>
2193
2194 * src/libmtp.c: added a check for NULL filenames in
2195 LIBMTP_Get_Folder_List.
2196
21972006-11-01 Linus Walleij <triad@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
22052006-10-29 Andy Kelk <andy@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
22112006-10-27 Linus Walleij <triad@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
22172006-10-27 Andy Kelk <andy@mopoke.co.uk>
2218
2219 * src/libmtp.c: add support form abstract audio/video albums.
2220 * src/libmtp.h.in: dito.
2221
22222006-10-23 Linus Walleij <triad@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
22292006-10-20 Linus Walleij <triad@df.lth.se>
2230
2231 * Release 0.0.21 to get all the new device support out.
2232
22332006-10-16 Linus Walleij <triad@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
22402006-10-11 Linus Walleij <triad@df.lth.se>
2241
2242 * examples/delfile.c: patch from Chris Debenham
2243 straingtening out the command-line interface a bit
2244 more.
2245
22462006-10-10 Linus Walleij <triad@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
22522006-09-26 Linus Walleij <triad@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
22572006-09-25 Linus Walleij <triad@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
22632006-09-19 Linus Walleij <triad@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
22692006-09-16 Linus Walleij <triad@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
22752006-09-13 Linus Walleij <triad@df.lth.se>
2276
2277 * examples/format.c: formatting test program.
2278 * examples.Makefile.am: added format.
2279
22802006-09-13 Andy Kelk <andy@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
22872006-09-12 Linus Walleij <triad@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
22942006-09-11 Linus Walleij <triad@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
23102006-09-07 Linus Walleij <triad@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
23212006-09-06 Richard Low <richard@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
23292006-09-06 Linus Walleij <triad@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
23362006-09-04 Linus Walleij <triad@df.lth.se>
2337
2338 * src/libmtp.c: bug in streaming code, use defined USB_BULK_HDR_SIZE
2339 instead of magic values.
2340
23412006-09-02 Linus Walleij <triad@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
23502006-08-30 Linus Walleij <triad@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
23572006-08-28 Linus Walleij <triad@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
23712006-08-27 Linus Walleij <triad@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
23852006-08-26 Linus Walleij <triad@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
23922006-08-25 Linus Walleij <triad@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
23992006-08-22 Linus Walleij <triad@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
24062006-08-22 Linus Walleij <triad@df.lth.se>
2407
2408 * configure.ac: bump to 0.0.13, also released 0.0.12 now.
2409
24102006-08-21 Linus Walleij <triad@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
24242006-08-20 Linus Walleij <triad@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
24322006-08-19 Linus Walleij <triad@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
24402006-08-17 Linus Walleij <triad@df.lth.se>
2441
2442 * configure.ac: bump to 0.0.12 and require iconv.h.
2443
24442006-08-16 Linus Walleij <triad@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
24512006-08-09 Linus Walleij <triad@df.lth.se>
2452
2453 * Release libmtp 0.0.11.
2454
24552006-08-04 Linus Walleij <triad@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
24632006-07-27 Linus Walleij <triad@df.lth.se>
2464
2465 * Release libmtp 0.0.10.
2466
24672006-07-26 Linus Walleij <triad@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
24762006-06-22 Linus Walleij <triad@df.lth.se>
2477
2478 * Release libmtp 0.0.9.
2479
24802006-06-21 Linus Walleij <triad@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
24872006-06-19 Linus Walleij <triad@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
24982006-06-16 Linus Walleij <triad@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
25072006-06-13 Linus Walleij <triad@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
25172006-06-07 Linus Walleij <triad@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
25272006-06-05 Linus Walleij <triad@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
25342006-06-03 Linus Walleij <triad@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
25392006-06-01 Linus Walleij <triad@df.lth.se>
2540
2541 * Released libmtp 0.0.6.
2542
25432006-05-31 Linus Walleij <triad@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
25492006-05-30 Flavien Lebarbe <flavien+libmtp@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
25562006-05-29 Linus Walleij <triad@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
25732006-05-26 Dave Kelly <libmtp@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
25832006-05-08 Linus Walleij <triad@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
25922006-05-07 Linus Walleij <triad@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
26002006-05-04 Linus Walleij <triad@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
26082006-05-02 Linus Walleij <triad@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
26182006-04-30 Linus Walleij <triad@df.lth.se>
2619
2620 * src/ptp.c: sync upstream.
2621 * src/ptp.h: dito.
2622
26232006-04-27 Linus Walleij <triad@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
26312006-04-25 Linus Walleij <triad@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
26442006-04-21 Linus Walleij <triad@df.lth.se>
2645
2646 * Released libmtp 0.0.3
2647 * Bumped source to 0.0.4
2648
26492006-04-21 Linus Walleij <triad@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
26642006-03-28 Linus Walleij <triad@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
26722006-03-24 Linus Walleij <triad@df.lth.se>
2673
2674 * Beginning a file API, fixed some example program
2675 names and such.
2676
26772006-03-18 Linus Walleij <triad@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
26832006-03-16 Linus Walleij <triad@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
26882006-03-15 Linus Walleij <triad@df.lth.se>
2689
2690 * Added three device information retrieval functions.
2691
26922006-03-06 Linus Walleij <triad@df.lth.se>
2693
2694 * Moving some things around to structure the source. More
2695 will be needed...
2696
26972006-02-27 Linus Walleij <triad@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
27022006-02-24 Linus Walleij <triad@df.lth.se>
2703
2704 * Deltr example program to delete tracks, plus corresponding
2705 interface call.
2706
27072006-02-23 Linus Walleij <triad@df.lth.se>
2708
2709 * Fixed up sendtr program and metadata tagging function that is
2710 used after sending files.
2711
27122006-02-22 Linus Walleij <triad@df.lth.se>
2713
2714 * Untested gettr.c and sendtr.c programs to get and send tracks
2715 created.
2716
27172006-01-30 Linus Walleij <triad@df.lth.se>
2718
2719 * Created the initial GNU source directory structure.
2720 * Added the most basic files.