1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
954
955
956
957
958
959
960
961
962
963
964
965
966
967
968
969
970
971
972
973
974
975
976
977
978
979
980
981
982
983
984
985
986
987
988
989
990
991
992
993
994
995
996
997
998
999
1000
1001
1002
1003
1004
1005
1006
1007
1008
1009
1010
1011
1012
1013
1014
1015
1016
1017
1018
1019
1020
1021
1022
1023
1024
1025
1026
1027
1028
1029
1030
1031
1032
1033
1034
1035
1036
1037
1038
1039
1040
1041
1042
1043
1044
1045
1046
1047
1048
1049
1050
1051
1052
1053
1054
1055
1056
1057
1058
1059
1060
1061
1062
1063
1064
1065
1066
1067
1068
1069
1070
1071
1072
1073
1074
1075
1076
1077
1078
1079
1080
1081
1082
1083
1084
1085
1086
1087
1088
1089
1090
1091
1092
1093
1094
1095
1096
1097
1098
1099
1100
1101
1102
1103
1104
1105
1106
1107
1108
1109
1110
1111
1112
1113
1114
1115
1116
1117
1118
1119
1120
1121
1122
1123
1124
1125
1126
1127
1128
1129
1130
1131
1132
1133
1134
1135
1136
1137
1138
1139
1140
1141
1142
1143
1144
1145
1146
1147
1148
1149
1150
1151
1152
1153
1154
1155
1156
1157
1158
1159
1160
1161
1162
1163
1164
1165
1166
1167
1168
1169
1170
1171
1172
1173
1174
1175
1176
1177
1178
1179
1180
1181
1182
1183
1184
1185
1186
1187
1188
1189
1190
1191
1192
1193
1194
1195
1196
1197
1198
1199
1200
1201
1202
1203
1204
1205
1206
1207
1208
1209
1210
1211
1212
1213
1214
1215
1216
1217
1218
1219
1220
1221
1222
1223
1224
1225
1226
1227
1228
1229
1230
1231
1232
1233
1234
1235
1236
1237
1238
1239
1240
1241
1242
1243
1244
1245
1246
1247
1248
1249
1250
1251
1252
1253
1254
1255
1256
1257
1258
1259
1260
1261
1262
1263
1264
1265
1266
1267
1268
1269
1270
1271
1272
1273
1274
1275
1276
1277
1278
1279
1280
1281
1282
1283
1284
1285
1286
1287
1288
1289
1290
1291
1292
1293
1294
1295
1296
1297
1298
1299
1300
1301
1302
1303
1304
1305
1306
1307
1308
1309
1310
1311
1312
1313
1314
1315
1316
1317
1318
1319
1320
1321
1322
1323
1324
1325
1326
1327
1328
1329
1330
1331
1332
1333
1334
1335
1336
1337
1338
1339
1340
1341
1342
1343
1344
1345
1346
1347
1348
1349
1350
1351
1352
1353
1354
1355
1356
1357
1358
1359
1360
1361
1362
1363
1364
1365
1366
1367
1368
1369
1370
1371
1372
1373
1374
1375
1376
1377
1378
1379
1380
1381
1382
1383
1384
1385
1386
1387
1388
1389
1390
1391
1392
1393
1394
1395
1396
1397
1398
1399
1400
1401
1402
1403
1404
1405
1406
1407
1408
1409
1410
1411
1412
1413
1414
1415
1416
1417
1418
1419
1420
1421
1422
1423
1424
1425
1426
1427
1428
1429
1430
1431
1432
1433
1434
1435
1436
1437
1438
1439
1440
1441
1442
1443
1444
1445
1446
1447
1448
1449
1450
1451
1452
1453
1454
1455
1456
1457
1458
1459
1460
1461
1462
1463
1464
1465
1466
1467
1468
1469
1470
1471
1472
1473
1474
1475
1476
1477
1478
1479
1480
1481
1482
1483
1484
1485
1486
1487
1488
1489
1490
1491
1492
1493
1494
1495
1496
1497
1498
1499
1500
1501
1502
1503
1504
1505
1506
1507
1508
1509
1510
1511
1512
1513
1514
1515
1516
1517
1518
1519
1520
1521
1522
1523
1524
1525
1526
1527
1528
1529
1530
1531
1532
1533
1534
1535
1536
1537
1538
1539
1540
1541
1542
1543
1544
1545
1546
1547
1548
1549
1550
1551
1552
1553
1554
1555
1556
1557
1558
1559
1560
1561
1562
1563
1564
1565
1566
1567
1568
1569
1570
1571
1572
1573
1574
1575
1576
1577
1578
1579
1580
1581
1582
1583
1584
1585
1586
1587
1588
1589
1590
1591
1592
1593
1594
1595
1596
1597
1598
1599
1600
1601
1602
1603
1604
1605
1606
1607
1608
1609
1610
1611
1612
1613
1614
1615
1616
1617
1618
1619
1620
1621
1622
1623
1624
1625
1626
1627
1628
1629
1630
1631
1632
1633
1634
1635
1636
1637
1638
1639
1640
1641
1642
1643
1644
1645
1646
1647
1648
1649
1650
1651
1652
1653
1654
1655
1656
1657
1658
1659
1660
1661
1662
1663
1664
1665
1666
1667
1668
1669
1670
1671
1672
1673
1674
1675
1676
1677
1678
1679
1680
1681
1682
1683
1684
1685
1686
1687
1688
1689
1690
1691
1692
1693
1694
1695
1696
1697
1698
1699
1700
1701
1702
1703
1704
1705
1706
1707
1708
1709
1710
1711
1712
1713
1714
1715
1716
1717
1718
1719
1720
1721
1722
1723
1724
1725
1726
1727
1728
1729
1730
1731
1732
1733
1734
1735
1736
1737
1738
1739
1740
1741
1742
1743
1744
1745
1746
1747
1748
1749
1750
1751
1752
1753
1754
1755
1756
1757
1758
1759
1760
1761
1762
1763
1764
1765
1766
1767
1768
1769
1770
1771
1772
1773
1774
1775
1776
1777
1778
1779
1780
1781
1782
1783
1784
1785
1786
1787
1788
1789
1790
1791
1792
1793
1794
1795
1796
1797
1798
1799
1800
1801
1802
1803
1804
1805
1806
1807
1808
1809
1810
1811
1812
1813
1814
1815
1816
1817
1818
1819
1820
1821
1822
1823
1824
1825
1826
1827
1828
1829
1830
1831
1832
1833
1834
1835
1836
1837
1838
1839
1840
1841
1842
1843
1844
1845
1846
1847
1848
1849
1850
1851
1852
1853
1854
1855
1856
1857
1858
1859
1860
1861
1862
1863
1864
1865
1866
1867
1868
1869
1870
1871
1872
1873
1874
1875
1876
1877
1878
1879
1880
1881
1882
1883
1884
1885
1886
1887
1888
1889
1890
1891
1892
1893
1894
1895
1896
1897
1898
1899
1900
1901
1902
1903
1904
1905
1906
1907
1908
1909
1910
1911
1912
1913
1914
1915
1916
1917
1918
1919
1920
1921
1922
1923
1924
1925
1926
1927
1928
1929
1930
1931
1932
1933
1934
1935
1936
1937
1938
1939
1940
1941
1942
1943
1944
1945
1946
1947
1948
1949
1950
1951
1952
1953
1954
1955
1956
1957
1958
1959
1960
1961
1962
1963
1964
1965
1966
1967
1968
1969
1970
1971
1972
1973
1974
1975
1976
1977
1978
1979
1980
1981
1982
1983
1984
1985
1986
1987
1988
1989
1990
1991
1992
1993
1994
1995
1996
1997
1998
1999
2000
2001
2002
2003
2004
2005
2006
2007
2008
2009
2010
2011
2012
2013
2014
2015
2016
2017
2018
2019
2020
2021
2022
2023
2024
2025
2026
2027
2028
2029
2030
2031
2032
2033
2034
2035
2036
2037
2038
2039
2040
2041
2042
2043
2044
2045
2046
2047
2048
2049
2050
2051
2052
2053
2054
2055
2056
2057
2058
2059
2060
2061
2062
2063
2064
2065
2066
2067
2068
2069
2070
2071
2072
2073
2074
2075
2076
2077
2078
2079
2080
2081
2082
2083
2084
2085
2086
2087
2088
2089
2090
2091
2092
2093
2094
2095
2096
2097
2098
2099
2100
2101
2102
2103
2104
2105
2106
2107
2108
2109
2110
2111
2112
2113
2114
2115
2116
2117
2118
2119
2120
2121
2122
2123
2124
2125
2126
2127
2128
2129
2130
2131
2132
2133
2134
2135
2136
2137
2138
2139
2140
2141
2142
2143
2144
2145
2146
2147
2148
2149
2150
2151
2152
2153
2154
2155
2156
2157
2158
2159
2160
2161
2162
2163
2164
2165
2166
2167
2168
2169
2170
2171
2172
2173
2174
2175
2176
2177
2178
2179
2180
2181
2182
2183
2184
2185
2186
2187
2188
2189
2190
2191
2192
2193
2194
2195
2196
2197
2198
2199
2200
2201
2202
2203
2204
2205
2206
2207
2208
2209
2210
2211
2212
2213
2214
2215
2216
2217
2218
2219
2220
2221
2222
2223
2224
2225
2226
2227
2228
2229
2230
2231
2232
2233
2234
2235
2236
2237
2238
2239
2240
2241
2242
2243
2244
2245
2246
2247
2248
2249
2250
2251
2252
2253
2254
2255
2256
2257
2258
2259
2260
2261
2262
2263
2264
2265
2266
2267
2268
2269
2270
2271
2272
2273
2274
2275
2276
2277
2278
2279
2280
2281
2282
2283
2284
2285
2286
2287
2288
2289
2290
2291
2292
2293
2294
2295
2296
2297
2298
2299
2300
2301
2302
2303
2304
2305
2306
2307
2308
2309
2310
2311
2312
2313
2314
2315
2316
2317
2318
2319
2320
2321
2322
2323
2324
2325
2326
2327
2328
2329
2330
2331
2332
2333
2334
2335
2336
2337
2338
2339
2340
2341
2342
2343
2344
2345
2346
2347
2348
2349
2350
2351
2352
2353
2354
2355
2356
2357
2358
2359
2360
2361
2362
2363
2364
2365
2366
2367
2368
2369
2370
2371
2372
2373
2374
2375
2376
2377
2378
2379
2380
2381
2382
2383
2384
2385
2386
2387
2388
2389
2390
2391
2392
2393
2394
2395
2396
2397
2398
2399
2400
2401
2402
2403
2404
2405
2406
2407
2408
2409
2410
2411
2412
2413
2414
2415
2416
2417
2418
2419
2420
2421
2422
2423
2424
2425
2426
2427
2428
2429
2430
2431
2432
2433
2434
2435
2436
2437
2438
2439
2440
2441
2442
2443
2444
2445
2446
2447
2448
2449
2450
2451
2452
2453
2454
2455
2456
2457
2458
2459
2460
2461
2462
2463
2464
2465
2466
2467
2468
2469
2470
2471
2472
2473
2474
2475
2476
2477
2478
2479
2480
2481
2482
2483
2484
2485
2486
2487
2488
2489
2490
2491
2492
2493
2494
2495
2496
2497
2498
2499
2500
2501
2502
2503
2504
2505
2506
2507
2508
2509
2510
2511
2512
2513
2514
2515
2516
2517
2518
2519
2520
2521
2522
2523
2524
2525
2526
2527
2528
2529
2530
2531
2532
2533
2534
2535
2536
2537
2538
2539
2540
2541
2542
2543
2544
2545
2546
2547
2548
2549
2550
2551
2552
2553
2554
2555
2556
2557
2558
2559
2560
2561
2562
2563
2564
2565
2566
2567
2568
2569
2570
2571
2572
2573
2574
2575
2576
2577
2578
2579
2580
2581
2582
2583
2584
2585
2586
2587
2588
2589
2590
2591
2592
2593
2594
2595
2596
2597
2598
2599
2600
2601
2602
2603
2604
2605
2606
2607
2608
2609
2610
2611
2612
2613
2614
2615
2616
2617
2618
2619
2620
2621
2622
2623
2624
2625
2626
2627
2628
2629
2630
2631
2632
2633
2634
2635
2636
2637
2638
2639
2640
2641
2642
2643
2644
2645
2646
2647
2648
2649
2650
2651
2652
2653
2654
2655
2656
2657
2658
2659
2660
2661
2662
2663
2664
2665
2666
2667
2668
2669
2670
2671
2672
2673
2674
2675
2676
2677
2678
2679
2680
2681
2682
2683
2684
2685
2686
2687
2688
2689
2690
2691
2692
2693
2694
2695
2696
2697
2698
2699
2700
2701
2702
2703
2704
2705
2706
2707
2708
2709
2710
2711
2712
2713
2714
2715
2716
2717
2718
2719
2720
2721
2722
2723
2724
2725
2726
2727
2728
2729
2730
2731
2732
2733
2734
2735
2736
2737
2738
2739
2740
2741
2742
2743
2744
2745
2746
2747
2748
2749
2750
2751
2752
2753
2754
2755
2756
2757
2758
2759
2760
2761
2762
2763
2764
2765
2766
2767
2768
2769
2770
2771
2772
2773
2774
2775
2776
2777
2778
2779
2780
2781
2782
2783
2784
2785
2786
2787
2788
2789
2790
2791
2792
2793
2794
2795
2796
2797
2798
2799
2800
2801
2802
2803
2804
2805
2806
2807
2808
2809
2810
2811
2812
2813
2814
2815
2816
2817
2818
2819
2820
2821
2822
2823
2824
2825
2826
2827
2828
2829
2830
2831
2832
2833
2834
2835
2836
2837
2838
2839
2840
2841
2842
2843
2844
2845
2846
2847
2848
2849
2850
2851
2852
|
2007-12-13 Todd Zullinger <tmzullinger at users.sourceforge.net>
* Makefile.am: add ACLOCAL_AMFLAGS to fix some autoreconf
issues (thanks to Frank Lichtenheld at Debian)
2007-11-26 Todd Zullinger <tmzullinger at users.sourceforge.net>
* configure.ac
libgpod-1.0.pc.in:
conditionally add gdk-pixbuf to pkg-config Requires.
exit with an error if gdk-pixbuf or pygobject are explicitly
requested and not found.
add AM_PROG_CC_C_O to make automake happy about per-target
flags in tests/Makefile.am
2007-11-25 Todd Zullinger <tmzullinger at users.sourceforge.net>
* autogen.sh: pass any user-specified options to configure
2007-11-17 Jorg Schuler <jcsjcs at users.sourceforge.net>
* src/itdb_playlist.c (itdb_splr_eval): track length in rules for
smart playlists was treated as seconds, but the iPod treats them
as milliseconds. If you told libgpod to create a smart playlist
with tracks less than 100 secs in length, but the life update of
the iPod would interpret that rule as "tracks less than 100 msec
in length", giving a vastly different result. Tested with iPod
Nano 1G and iPod nano Video (3G).
Requires corresponding fix in GUIs using this function.
2007-11-16 Christophe Fergeau <teuf@gnome.org>
* src/itdb_device.c: fix typoes in iPod Touch model lists
2007-11-14 Christophe <teuf@gnome.org>
* src/itdb_itunesdb.c: use libgpod as the prefix of music files to
be copied to the ipod instead of gtkpod
2007-11-14 Christophe <teuf@gnome.org>
* src/itdb_itunesdb.c: get rid of local g_mkdir_with_parents copy
since we now depend on glib 2.8 which have it. Replace mkdir with
g_mkdir
2007-11-14 Christophe <teuf@gnome.org>
* src/itdb_itunesdb.c: ignore invalid UTF-8 paths which might have
been added to the iPod by the user
2007-11-14 Christophe <teuf@gnome.org>
* src/itdb_photoalbum.c: use g_list_remove all instead of an
inefficient combination of g_list_find + g_list_remove
2007-11-14 Jorg Schuler <jcsjcs at users.sourceforge.net>
* src/itdb_photoalbum.c (itdb_photodb_photoalbum_remove): make
sure same photo isn't freed multiple times if it was added in an
album multiple times.
2007-11-13 Christophe Fergeau <teuf@gnome.org>
* src/itdb_photoalbum.c: fix bug in itdb_photodb_photoalbum_remove,
when removing all the photos from the photodatabase, we were
erasing elements and iterating over the list at the same time,
which resulted in the function not working properly
2007-11-10 Christophe Fergeau <teuf@gnome.org>
* Makefile.am: add README.SysInfo to EXTRADIST
2007-11-10 Christophe Fergeau <teuf@gnome.org>
* NEWS: update for 0.6.0 release
* README.SysInfo: explain how to get the firewire id from an iPod Touch
2007-11-10 Jorg Schuler <jcsjcs at users.sourceforge.net>
* src/db-artwork-parser.c (parse_mhba): fix double g_free on mhba
chunks with multiple mhods. Currently only mhods of type 1 are
handled, the rest (type 2: image transition style) are being
discarded.
* src/itdb_device.c: added photo thumbnail definitions for iPod
Touch. I'm not sure how reasonable the "PHOTO_LARGE,
_FULL_SCREEN, _TV_SCREEN" classification is, however...
* src/itdb_device.c: use the same photo thumbnail definitions for
the iPhone as well as the iPod Touch until further input is
received.
2007-11-09 Jorg Schuler <jcsjcs at users.sourceforge.net>
* src/db-parse-context.c (db_parse_context_get_m_header_internal):
fixed memory leak.
2007-11-08 Christophe Fergeau <teuf@gnome.org>
* src/itdb_device.c: (itdb_device_requires_checksum): the iPod Touch
needs a firewire id as well
2007-11-08 Christophe Fergeau <teuf@gnome.org>
* tools/hal-callout.c: (mount_ipod): use g_get_tmp_dir instead of
hardcoding /tmp
2007-11-07 Jorg Schuler <jcsjcs at users.sourceforge.net>
* tools/hal-callout.c (mount_ipod): fix bug that prevented
creation of the SysInfoExtended file if it hadn't already
existed.
Add copyright header.
* tools/ipod-scsi-inquiry.c: added project name to the copyright
header.
2007-11-06 Christophe Fergeau <teuf@gnome.org>
* configure.ac: raise version number and soname in preparation for a
0.6.0 release
2007-11-06 Christophe Fergeau <teuf@gnome.org>
* configure.ac:
* tools/20-libgpod-sysinfo-extended.fdi:
* tools/Makefile.am:
* tools/hal-callout.c:
* tools/ipod-scsi-inquiry.c:
* tools/read-sysinfoextended-sgutils.c: add hal callout which
automatically write SysinfoExtended to iPods when they are plugged
if it's properly installed
2007-11-06 Jorg Schuler <jcsjcs at users.sourceforge.net>
* itdb_itunesdb.c (itdb_create_directories): Add support for
iPod Touch (wrong directories were created).
2007-11-04 Jorg Schuler <jcsjcs at users.sourceforge.net>
* itdb_itunesdb.c (itdb_create_directories): Add support for
iPhones (wrong directories were created). Thanks to Jesse
Bouwman for the patch.
Added support for video output of photos for iPod Nano Videos and
iPod Classics.
* src/ithumb-writer.c
(pack_I420): added packer for iPod Nano Video and iPod Classic
TV output photo format.
(itdb_write_ithumb_files): make sure only valid thumbnail types
are written.
* src/db-image-parser.h: added declaration for
itdb_thumb_type_is_valid_for_db()
* src/itdb_photoalbum.c (itdb_photodb_add_photo_internal): make
sure only photo thumbnails are added.
* src/db-artwork-writer.c
(write_mhii): correctly skip unneeded thumbnails (thumbnails not
relevant for the current iPod type).
(should_write): renamed to itdb_thumb_type_is_valid_for_db()
src/itdb.h
src/itdb_artwork.c: minor formatting.
2007-10-30 Christophe Fergeau <christophe@anevia.com>
Additional clean-ups after the glib requirement bumping pointed out by
tmz on IRC
* libgpod-1.0.pc.in: bump glib requirement there as well
* src/Makefile.am:
* src/db-parse-context.c:
* src/glib-compat.h:
* src/itdb_artwork.c:
* src/itdb_itunesdb.c:
* src/itdb_photoalbum.c:
* src/itdb_private.h:
* src/ithumb-writer.c: get rid of glib-compat.h since we raised the
minimum version to 2.8
2007-10-30 Christophe Fergeau <teuf@gnome.org>
Patch from Filippo Giunchedi <filippo@esaurito.net>
* src/db-artwork-debug.c: (dump_mhni): another endianness fix
2007-10-29 Christophe Fergeau <teuf@gnome.org>
* src/itdb_artwork.c:
* src/ithumb-writer.c: replace // comments with /* */ pairs, fixes
compilation on my machine
2007-10-29 Christophe Fergeau <teuf@gnome.org>
Patch from Filippo Giunchedi <filippo@esaurito.net>
* src/itdb_artwork.c: add I420 unpacker
* src/itdb_device.c: iPod classic full screen photo format is I420
* src/itdb_device.h: add I420 format
* src/ithumb-writer.c: add stub for an I420 packer
2007-10-29 Christophe Fergeau <teuf@gnome.org>
* src/itdb_device.c: the iPod Touch probably uses the same image format
as the iPhone
2007-10-29 Christophe Fergeau <teuf@gnome.org>
* configure.ac: raise glib requirement to 2.8 (because of
g_file_set_contents)
2007-10-29 Christophe Fergeau <teuf@gnome.org>
* configure.ac: remove mremap check
* src/db-artwork-writer.c: get rid mmap/mremap use
2007-10-29 Christophe Fergeau <teuf@gnome.org>
* src/db-artwork-writer.c: reread the pointer for memory mapped
buffers when it may have changed
Artwork writing works by mapping structs to memory and by
directly accessing/modifying it. This works until we need to
move the mmap base address. This patch makes sure we reset the
struct mapping every time the mmap base pointer may have changed
2007-10-27 Jorg Schuler <jcsjcs at users.sourceforge.net>
* src/itdb_device.c (ipod_classic_1_artwork_info)
src/ithumb-writer.c (pack_RGB_888, pack_RGB_565, pack_RGB_555,
pack_rec_RGB_555, ithumb_writer_write_thumbnail)
src/db-image-parser.h (_888 definitions)
src/itdb_device.h (RGB888 thumb format enum definitions)
src/itdb_artwork.c (unpack_RGB_888, unpack_experimental,
itdb_thumb_get_rgb_data)
Partial support for photos on new iPod Nano 3G and iPod
Classics.
Photos should be displayed correctly on the iPod but the video
output will show garbage (couldn't try video output per se, but
from the data iTunes produces this is clear).
2007-10-24 Christophe Fergeau <teuf@gnome.org>
* src/db-artwork-writer.c: (write_mhif), (should_write),
(write_mhlf): don't hardcode the number of mhif entries we
write, but write as many entries as the number of thumbnail
formats supported by the device
2007-10-24 Christophe Fergeau <teuf@gnome.org>
* src/db-artwork-writer.c: (write_mhla): yet another missing endianness
conversion
2007-10-24 Christophe Fergeau <teuf@gnome.org>
Patch from Filippo Giunchedi <filippo@esaurito.net>
* src/db-artwork-parser.c: (parse_mhba): another missing endianness
conversion
2007-10-21 Christophe Fergeau <teuf@gnome.org>
Patch from Filippo Giunchedi <filippo@esaurito.net>
* src/db-artwork-debug.c: (dump_mhod_type_3): add missing byte-swap
which resulted in over huge allocation
2007-10-21 Christophe Fergeau <teuf@gnome.org>
Patch from Filippo Giunchedi <filippo@esaurito.net>
* src/db-artwork-debug.c: (dump_mhba): fix dumping function in debug
mode
* src/db-itunes-parser.h: indentation fixes
2007-10-21 Christophe Fergeau <teuf@gnome.org>
* src/itdb_photoalbum.c: (itdb_get_photos_dir):
* src/ithumb-writer.c: (ipod_image_get_ithmb_filename):
2007-10-16 Todd Zullinger <tmzullinger at users.sourceforge.net>
* autogen.sh: add --enable-gtk-doc to the gnome-autogen.sh
call. This allows make distcheck to work correctly and to use
an unmodified copy of gnome-autogen.sh from the upstream
gnome-common package.
2007-10-16 Christophe Fergeau <teuf@gnome.org>
* gnome-autogen.sh: switch to newer version of that file
(with automake 1.10 support)
2007-10-09 Christophe Fergeau <teuf@gnome.org>
* src/itdb_device.c: (itdb_device_requires_checksum): add missing
(unreachable) return
2007-10-07 Christophe Fergeau <teuf@gnome.org>
* src/itdb_device.c: (itdb_device_requires_checksum):
* src/itdb_itunesdb.c: (write_db_checksum):
* src/itdb_private.h: add an itdb_device_requires_checksum function so
that we only error out because of checksum writing issues on ipods which
require a checksum. Ideally, we should restore the old file when there is
a fatal checksum writing error, but libgpod isn't currently doing that
2007-10-05 Christophe Fergeau <teuf@gnome.org>
* src/itdb_sha1.c: (generate_key): move cryptic calculations
into the precomputed tables. Patch by Simon Schulz.
2007-10-05 Christophe Fergeau <teuf@gnome.org>
* src/itdb_device.c:
Remove duplicate reference to ithmb file
The iPod classic artwork formats contained two references to an
ithmb file using 1060 as its filename. This confuses the ithumb
writing code which can't handle that properly. Fixes that for now by
removing the entry. We could probably be more clever in
itdb_write_ithumb_files and generate two lists of iThumbWriters,
one for artwork and another one for photos. This would fix that bug
as well
2007-10-05 Christophe Fergeau <teuf@gnome.org>
* src/db-artwork-writer.c: (itdb_track_filter_thumbnails),
(itdb_filter_thumbnails), (ipod_write_artwork_db):
* src/itdb_track.c: (itdb_track_set_thumbnails_internal):
Set thumbnails for all known cover types in itdb_track_set_thumbnails
itdb_track_set_thumbnails can be called when the track isn't attached
to any device (eg it's natural to create a track, fill its metadata
including the cover art, and then add it to an iTunesDB and its
associated device). This means we can't know which artwork types the
iPod corresponding to the iTunesDB will be able to handle. i
Consequently, we create Itdb_Thumb objects for all known cover types,
and we filter that list when we don't have a choice (ie when we're
about to write the ArtworkDB and the thumbnails)
2007-10-05 Christophe Fergeau <teuf@gnome.org>
* src/itdb_itunesdb.c: (itdb_write_file): set Itdb_Track::id
before writing the artwork since artwork writing uses them
2007-10-01 Christophe Fergeau <teuf@gnome.org>
* README.SysInfo: add explanations about how the iPod needs to be
set up so that libgpod can read the firewire id
2007-10-01 Christophe Fergeau <teuf@gnome.org>
* src/itdb_itunesdb.c: get rid of unused headers
2007-09-26 Jorg Schuler <jcsjcs at users.sourceforge.net>
* src/itdb_itunesdb.c (mk_mhit): write extended mhit header for
new iPod Nanos and Classics so they display artwork (Christophe)
* src/db-artwork-writer (ipod_artwork_set_ids): modify the
assignment of IDs for artwork (Christophe)
* src/itdb_device.c: added artwork definition file (cover only)
for iPod Nano Videos (3G). Thanks to Simon Schulz.
* src/itdb_itunesdb.c: integrate checksum writing into the
creation of the iTunesDB instead of modifying the iTunesDB file
in place (Christophe)
* src/itdb_device.c: re-use artwork definition for iPod classic
also for iPod Nanos 3G.
2007-09-30 Christophe Fergeau <teuf@gnome.org>
* src/itdb_itunesdb.c: (itdb_write_checksum): remove debugging g_print
2007-09-30 Christophe Fergeau <teuf@gnome.org>
* src/itdb_device.c: fix typo and don't mark iPod Classic as read-only
2007-09-28 Christophe Fergeau <teuf@gnome.org>
* tools/read-sysinfoextended-sgutils.c: (main): use g_build_filename
instead of itdb_resolve_filename since the latter will fail if
SysInfoExtended does not already exist
2007-09-27 Christophe Fergeau <teuf@gnome.org>
* configure.ac: build tool to generate the iPod SysInfoExtended file
if sgutils is detected
* Makefile.am:
* tools/
* tools/Makefile.am: changes to optionally build the sgutils-based tool
* tools/read-sysinfoextended-sgutils.c: (do_sg_inquiry),
(read_sysinfo_extended), (main): new file, reads the SysInfoExtended
file from the iPod using SCSI queries
2007-09-27 Christophe Fergeau <teuf@gnome.org>
* src/itdb_itunesdb.c: (calculate_db_checksum),
(itdb_write_checksum):
* src/itdb_sha1.c: (itdb_compute_hash):
* src/itdb_sha1.h: propagate the calculated checksum length as an out
parameter to the checksumming functions, fixes a bug where a partial
checksum would be written if it contained a \0
* tests/test-checksum.c: (calculate_db_checksum): update test program
to that API change
2007-09-26 Jorg Schuler <jcsjcs at users.sourceforge.net>
* src/itdb_device.c: remove "read only" notice on Nano Video
description.
* ChangeLog: explained better about SysInfo* files.
2007-09-24 Jorg Schuler <jcsjcs at users.sourceforge.net>
** code courtesy of Christophe Fergeau **
* src/itdb_itunesdb.c (mk_mhbd): write extended header needed
for new iPod Nanos (3G Video) and iPod Classics (must fill
in SysInfo or SysInfoFileExtended -- see below).
src/itdb_sysinfo.c
src/itdb_device.c
src/itdb_device.h: Code to parse SysInfoExtended and SysInfo
for the FireWireGUID. You must either copy the iPod
description XML file to Device/SysInfoExtended or add a line
'FirewireGuid: 000A27....' to Device/SysInfo. You can get
your FirewireGuid by looking at /proc/bus/usb/devices and
search for a serial number close to the "Apple" entry. The
serial number will probably start with 000A27.
* src/sha1.c
src/sha1.h
src/itdb_sha1.c
src/itdb_sha1.h
New files for obscure hash generation code.
* src/Makefile.am: added new files.
* tests/test-checksum.c
tests/test-fw-id.c
tests/Makefile.am: test programs to retrieve the
FirewireGuid and calculate/write the obscure hash.
2007-09-15 Jorg Schuler <jcsjcs at users.sourceforge.net>
* src/itdb_device.c:
Re-organized the representation of iPod models -- instead of 1st
to 7th generation more well-known names like "iPod Nano 1G",
"iPod Nano 2G"... are used.
Added untested support for iPod Classic Artwork. Not clear which
thumbnail type is used for what.
src/itdb_track.c (itdb_track_set_thumbnails_internal):
Please note: itdb_track_set_thumbnails() needs to be thought
over to make sure all thumbnail types are added properly. Please
see note in itdb_track.c for details.
src/itdb.h: Added symbols for the new representation indicated
above: ITDB_IPOD_GENERATION_*, ITDB_IPOD_MODEL_*
2007-09-08 Jorg Schuler <jcsjcs at users.sourceforge.net>
* src/db-image-parser.c
src/itdb_device.c
src/ithumb-writer.c
src/db-image-parser.h
src/itdb_device.h
src/itdb.h
src/itdb_artwork.c
tests/test-covers.c: added support to read and write coverart on
iPhones. New cover formats are: MEDIUM, XLARGE, XSMALL, SMEDIUM
-- should be renamed if function becomes clearer.
Introduced New image formats for the thumbnails
(THUMB_FORMAT_RGB555, THUMB_FORMAT_REC_RGB555). Coding/decoding
functions are pack_/unpack_RGB_555() and
pack_/unpack_REC_RGB_555().
Introduced possible padding for thumbnail files
(Itdb_ArtworkFormat).
* src/db-artwork-parser.c: make output filename unique.
2007-09-04 Jorg Schuler <jcsjcs at users.sourceforge.net>
* itdb_itunesdb.c (itdb_get_control_dir):
added support for iPhones
* itdb.h: added ITDB_IPOD_MODEL_IPHONE_1 enum
* itdb_device.c: added iPhone description
TODO: define artwork definition in itdb_device.c -- currently
artwork is not supported.
2007-08-18 Jorg Schuler <jcsjcs at users.sourceforge.net>
* src/db-artwork-writer.c (write_mhod_type_3): don't assume that
length of a utf16 string is twice the length of a utf8 string
(even though this was safe here because the strings in question
were ASCII). Thanks to Javier Kohen for the patch.
(write_mhod_type_1), (write_mhod_type_3):
Don't pad by 4 bytes as this achieves nothing. Thanks to Javier
Kohen to point this out.
* src/itdb_itunesdb.c: make calls to utf16_strlen()
unnecessary. Thanks to Javier Kohen for the patch.
* src/itdb_itunesdb (itdb_parse): don't call
ipod_parse_artwork_db() if iTunesDB was not read successfully.
* src/itdb_artwork.c (itdb_thumb_get_filename): check
returnvalue of strchr(). Thanks to Javier Kohen.
2007-08-07 Nicholas Piper <nicholas at users.sourceforge.net>
* bindings/python/gpod.i.in: Return an integer for time_t (note,
no to/from mac timestamp mapping required), accept an integer or
datetime object for a time_t
* bindings/python/ipod.py (Track.__getitem__): for the Python OO
interface, map reading time_* attributes in Tracks to a datetime
object
* bindings/python/tests/tests.py (TestiPodFunctions.testDatestampSetting):
test reading/writing the Track timestamp attributes
2007-08-04 Todd Zullinger <tmzullinger at users.sourceforge.net>
* src/db-parse-context.h:
remove duplicate copyright header
2007-07-31 Todd Zullinger <tmzullinger at users.sourceforge.net>
* bindings/python
bindings/python/examples/coverart_fetch.py
bindings/python/examples/save_photos.py
bindings/python/gpod.i.in
bindings/python/ipod.py
bindings/python/tests
bindings/python/tests/resources/tiny.png
bindings/python/tests/tests.py
configure.ac
m4/python.m4
TROUBLESHOOTING:
merge changes from the bug-1723660 branch
* bindings/python/ipod.py:
ignore reserved (and chapterdata) attributes which are
returned as gpointers
cleanup some trailing whitespace
2007-07-27 Todd Zullinger <tmzullinger at users.sourceforge.net>
* bindings/python/gpod.i.in:
s/top_srcdir/top_builddir to fix make distcheck
* configure.ac
m4/python.m4:
don't make the python gtk module a hard requirement
* TROUBLESHOOTING:
note additional requirements for full python photo/thumbnail
support
2007-07-13 Nicholas Piper <nicholas at users.sourceforge.net>
* bindings/python/ipod.py (Track.set_coverart_from_file): Rename
set_thumbnail function to set_coverart_from_file
* bindings/python/ipod.py Improve support for adding
Photos. Thanks to John Carr.
* bindings/python/examples/coverart_fetch.py: Adjust to
demonstrate new gtk pixbuf based coverart API
2007-07-13 Todd Zullinger <tmzullinger at users.sourceforge.net>
* bindings/python/examples/Makefile.am:
add save_photos.py to EXTRA_DIST
2007-07-12 Jorg Schuler <jcsjcs at users.sourceforge.net>
* po/ro.po: nobody told me I forgot to actually add this file to
the repository...
2007-07-12 Nicholas Piper <nicholas at users.sourceforge.net>
* bindings/python/gpod.i.in: Add version and version_info
attributes to the Python bindings
2007-07-11 Todd Zullinger <tmzullinger at users.sourceforge.net>
* bindings/python/Makefile.am:
try to convert the xml docs into python docstrings even when
ENABLE_GTK_DOC isn't set so that tarball builds can get the
full documentation in python.
2007-07-07 Jorg Schuler <jcsjcs at users.sourceforge.net>
* configure.ac
po/ro.po: added Romanian catalog. Thanks to Alex Eftimie.
2007-07-05 Todd Zullinger <tmzullinger at users.sourceforge.net>
* configure.ac:
s/PACKAGE_/LIBGPOD_/ in configuration output
* src/itdb.h:
remove references to Mac type timestamps
* README
docs/reference/tmpl/itunesdb-db.sgml:
fix a few typos
2007-07-04 Todd Zullinger <tmzullinger at users.sourceforge.net>
* po/fr.po:
updated French translation (thanks to Eric Lassauge)
2007-07-02 Todd Zullinger <tmzullinger at users.sourceforge.net>
* TROUBLESHOOTING:
python bindings now use the mutagen module instead of eyeD3
2007-06-29 Jorg Schuler <jcsjcs at users.sourceforge.net>
* po/libgpod.pot: added to SVN repository (new translators may be
looking for it -- like yesterday).
* po/*.po: run 'make update-po'.
2007-06-29 Todd Zullinger <tmzullinger at users.sourceforge.net>
* bindings/python/tests/Makefile.am:
include tests.py in EXTRA_DIST
2007-06-29 Jorg Schuler <jcsjcs at users.sourceforge.net>
* src/itdb_artwork.c (itdb_thumb_free, itdb_thumb_duplicate): fix
compile time error when compiling without GDKPIXBUF. Alternative
fix: add '#include <glib-object.h>'. Thanks to Olivier Crête.
2007-06-28 Nicholas Piper <nicholas at users.sourceforge.net>
* bindings/python/ipod.py: Remove hard-coding of
Track/Artwork/Album attributes
2007-06-23 Todd Zullinger <tmzullinger at users.sourceforge.net>
* configure.ac:
bump version to 0.5.3SVN for further development
* configure.ac:
bump version for 0.5.2 release
2007-06-23 Jorg Schuler <jcsjcs at users.sourceforge.net>
* src/itdb_itunesdb.c (mhod52_make_collate_keys): ignore empty
sort strings -- fixes multiple display of same album on the
iPod.
2007-06-18 Jorg Schuler <jcsjcs at users.sourceforge.net>
* TROUBLESHOOTING: comment concerning namespace cleanup
2007-06-17 Todd Zullinger <tmzullinger at users.sourceforge.net>
* configure.ac:
bump version and soname for 0.5.0 release
* libgpod-1.0.pc.in:
add glib version and gobject-2.0 to 'Requires:'
2007-06-17 Jorg Schuler <jcsjcs at users.sourceforge.net>
* src/itdb_itunesdb.c
src/itdb.h: libgpod will not change the values for sort_artist.
Furthermore, libgpod reads the stored values of
sort_artist/_album... from the iTunesDB and makes them available
through the Itdb_Track structure. Applications should modify
these values along with the corresponding artist/album... fields
if a particular sort order is required.
* src/itdb.h: corrected description for "BPM" (beats per minute)
2007-06-14 Jorg Schuler <jcsjcs at users.sourceforge.net>
* po/es.po: new version updated by Alejandro Lamas Daviña.
2007-06-11 Jorg Schuler <jcsjcs at users.sourceforge.net>
* po/ja.po
po/sv.po
po/it.po: Changed license to "same as gtkpod" to "same as
libgpod" after consulting with translators. Waiting for response
from the Hebrew and Spanish translators.
2007-06-02 Daniele Forsi <dforsi at users.sourceforge.net>
* po/it.po: updated Italian translation
2007-05-27 Jorg Schuler <jcsjcs at users.sourceforge.net>
* src/db-artwork-parser.c (parse_mhba): non-zero terminated
string was copied using g_strdup() instead of g_strndup(). This
affected album names of the Photo Database.
src/db-artwork-writer.c (write_mhod_type_1): convert 'type' as
16 bit integer, not 32 bit integer. Potential problem on
non-standard endian system (iPod side).
src/db-itunes-parser.h: '#if 0' unused structure to avoid
confusion.
* src/itdb_photoalbum.c (itdb_photodb_parse): return a valid
photodb structure including the main Photo Library album if no
database existed, analogous to itdb_photodb_create(). Without
this the test-photos script won't work as expected and other
applications also would have to add extra checks for presence of
the main Photo Libarary.
2007-05-30 Todd Zullinger <tmzullinger at users.sourceforge.net>
* bindings/python/tests/resources/iTunes/iTunesDB.ext
docs/reference/libgpod-docs.xml
docs/reference/tmpl/photodb.sgml
m4/python.m4:
change CVS references and links to SVN
2007-05-27 Jorg Schuler <jcsjcs at users.sourceforge.net>
* src/db-artwork-parser.c
src/db-artwork-writer.c
src/itdb_device.c
src/itdb_itunesdb.c
src/itdb_private.h:
Fixed segfault when parsing photo databases introduced by the
new handling of timestamps (all timestamps exported are
host-local time_t).
itdb_time_time_t_to_mac() and itdb_time_mac_to_time_t() were
renamed to device_*() and take a pointer to an Itdb_Device
instead of a pointer to an Itdb_iTunesDB structure as the latter
does not exist in case of photo databases. All references to
those two functions were changed accordingly and the functions
themselves were moved from itdb_itunesdb.c to itdb_device.c.
2007-05-23 Todd Zullinger <tmzullinger at users.sourceforge.net>
* src/itdb_itunesdb.c (get_playlist): fix a potential crasher
(Raymond Walsh)
2007-05-19 Jorg Schuler <jcsjcs at users.sourceforge.net>
* src/itdb_itunesdb.c (playcounts_init): C&P error stat'ing the
wrong file. Thanks to Raymond Walsh.
* src/itdb_device.c (itdb_set_sysinfo): Corrected comment. Thanks
to Daniele Forsi.
2007-05-17 Jorg Schuler <jcsjcs at users.sourceforge.net>
* src/itdb.h: warning about adding string fields
src/itdb_track_duplicate: duplicate new string fields
(sort_*). Thanks to Raymond Walsh.
2007-05-10 Jorg Schuler <jcsjcs at users.sourceforge.net>
* TROUBLESHOOTING: added a note about the 'padding[]'
incompatibility with older versions of gcc.
2007-05-12 Todd Zullinger <tmzullinger at users.sourceforge.net>
* bindings/python/gpod.i.in: treat time_t as long
* docs/reference/Makefile.am
docs/reference/libgpod-sections.txt
docs/reference/tmpl/device.sgml
docs/reference/tmpl/itunesdb-lowlevel.sgml
docs/reference/tmpl/itunesdb-time.sgml
docs/reference/tmpl/libgpod-unused.sgml
docs/reference/tmpl/smart-playlists.sgml
src/itdb_itunesdb.c
src/itdb.h:
Minor documentation cleanups.
2007-05-10 Jorg Schuler <jcsjcs at users.sourceforge.net>
* src/itdb_itunesdb.c: remove non-sense check (itdb != NULL) when
itdb can never be NULL. Thanks to Raymond Walsh.
2007-05-07 Jorg Schuler <jcsjcs at users.sourceforge.net>
* src/itdb_artwork.c
src/itdb_itunesdb.c
tests/test-photos.c:
Corrected some typos. Thanks to Daniele Forsi.
* src/itdb_itunesdb.c:
Fix for 64 bit systems: don't show "last played" data as played
in the last century... Thanks to Christophe.
2007-05-06 Jorg Schuler <jcsjcs at users.sourceforge.net>
* src/itdb_itunesdb.c
src/itdb_device.c
src/itdb_private.h
src/itdb.h:
New API functions to facilitate copying to the iPod in a
background thread and implementation of own copying code.
itdb_cp_get_dest_filename(): obtain a valid filename on the iPod
to where a track can be copied. This function can be used in a
thread-safe way.
itdb_cp_finalize(): to be called after the track was
copied to the iPod to update some fields in the Itdb_Track
structure. This function can also be used in a thread-safe way.
You can use the already existing function itdb_cp() to copy a
track to the iPod and itdb_cp_track_to_ipod() remains available
unchanged in functionality.
2007-05-01 Jorg Schuler <jcsjcs at users.sourceforge.net>
* src/itdb_itunesdb.c (itdb_cp_track_to_ipod): removed static
variable "dir_num" which was initialized once and cycled through
for each track transfered. This doesn't seem right since
different iPods with different number of music directories may
be connected at the same time, and itdb_cp_track_to_ipod() may
be called for different iTunesDBs at the same in in a threaded
environment. Since there is no inherent value in cycling through
the directories, a random directory is selected each time.
2007-04-30 Jorg Schuler <jcsjcs at users.sourceforge.net>
* src/itdb_itunesdb (itdb_parse_internal): fixed compile warning
(thanks to Daniele Forsi).
* tests/test-ls.c (display_recently_played): fixed compile warning
(thanks to Daniele Forsi).
* tests/get-timezone.c: added to CVS (thanks to Daniele Forsi).
* src/itdb_playlist.c (compMostOftenPlayed, compLeastOftenPlayed):
compaered time_added instead of playcount (thanks to Daniele
Forsi).
2007-04-28 Jorg Schuler <jcsjcs at users.sourceforge.net>
* src/itdb.h: added padding to exported structures so new entries
can be added without loosing backward run-time compatibility.
* docs/reference/tmpl/track.sgml
src/itdb.h
src/itdb_itunesdb.c
src/itdb_track.c: Added the following fields to Itdb_Track:
sort_artist
sort_title
sort_album
sort_albumartist
sort_composer
sort_tvshow
These fields can (theoretically) be used to force a certain sort
order on the iPod when displaying by artist, album...
Even though these fields are present in the iTunesDB, they are
discarded when reading the iTunesDB and applications must always
set them before writing the iTunesDB again. This is to avoid
that the fields 'artist' and 'sort_artist' accidentially get out
of sync.
libgpod will automatically create a sort_artist key for you if
artist is of the type 'The Artist' and sort_artist is not
set. The sort key used in that case is 'Artist, The' (followed
by five time 0x01), even though sort_artist itself will not be
touched.
2007-04-27 Jorg Schuler <jcsjcs at users.sourceforge.net>
* src/itdb.h
src/itdb_itunesdb.c
src/itdb_playlist.c
src/itdb_private.h
bindings/python/gpod.i.in
bindings/python/gpod_doc.i.in
docs/reference/libgpod-sections.txt
docs/reference/tmpl/libgpod-unused.sgml
docs/reference/tmpl/smart-playlists.sgml:
Namespace cleanup. Applications supporting smart playlists will
have to be adapted. The following changes were implemented to
make sure all exported symbols start with ITDB or Itdb:
structs:
SPLPref -> Itdb_SPLPref
SPLRules -> Itdb_SPLRules
SPLRule -> Itdb_SPLRule
SPL_* -> ITDB_SPL_*
enums, #defines:
LIMITTYPE_* -> ITDB_LIMITTYPE_*
LIMITSORT_* -> ITDB_LIMITSORT_*
SPLMATCH_* -> ITDB_SPLMATCH_*
SPLACTION_* -> ITDB_SPLACTION_*
SPLFIELD_* -> ITDB_SPLFIELD_*
SPLDATE_IDENTIFIER -> ITDB_SPL_DATE_IDENTIFIER
splft_* -> ITDB_SPLFT_*
splat_* -> ITDB_SPLAT_*
enum SPLAction -> ItdbSPLAction
enum SPLActionType -> ItdbSPLActionType
enum SPLField -> ItdbSPLField
enum SPLFieldType -> ItdbSPLFieldType
enum ItdbLimitType (new)
enum ItdbLimitSort (new)
enum ItdbSPLMatch (new)
removed SPL_MAXSTRINGLENGTH (use ITDB_SPL_STRING_MAXLEN)
* docs/reference/tmpl/device.sgml
docs/reference/tmpl/itunesdb-time.sgml
docs/reference/tmpl/libgpod-unused.sgml
docs/reference/tmpl/track.sgml
src/db-artwork-parser.c
src/db-artwork-writer.c
src/db-itunes-parser.h
src/itdb.h
src/itdb_device.c
src/itdb_device.h
src/itdb_itunesdb.c
src/itdb_private.h
tests/Makefile.am:
Christophe's patch for automatic correction of timestamps
depending on which timezone the iPod is set to.
ATTENTION DEVELOPERS: as a consequence all exported timestamps
are no longer guint32 mac-type timestamps but standard time_t
timestamps. This also includes the 64 bit timestamps in smart
playlists. The following functions are therefore no longer
needed and are deprecated:
itdb_time_mac_to_host(), itdb_time_host_to_mac(): simply return
the argument without changing it. Argument and return value are
now both of type 'time_t'.
itunesdb_time_get_mac_time(): returns the seconds passed since
Epoch in seconds and is equivalent to time(NULL).
These functions may be removed in a future version of
libgpod. Programs linking to libgpod may need to be changed
slightly if they made any assumptions on the type of timestamps
used. This should be obvious through compile-time warnings.
tests/test-ls.c: print a list of recently played tracks.
2007-04-15 Todd Zullinger <tmzullinger at users.sourceforge.net>
* bindings/python/ipod.py: use the mac-style path for
filename_ipod in the extended info file, like gtkpod does
2007-04-14 Christophe Fergeau <teuf@gnome.org>
* src/itdb_device.c: add itdb_device_supports_artwork and
idb_device_supports_photo functions
* docs/reference/tmpl/device.sgml: update api doc
* src/itdb_itunesdb.c: don't try to write artwork database if the iPod
model doesn't support artwork.
2007-04-08 Jorg Schuler <jcsjcs at users.sourceforge.net>
* src/itdb.h: changed 'gchar *chapterdata' to 'gpointer
chapterdata' with note that chapterdata is not yet supported.
* src/itdb_track.c (itdb_track_duplicate): arrange the strings in
the same order as in Itdb_Track for easier error-checking.
2007-03-26 Nicholas Piper <nicholas at users.sourceforge.net>
* bindings/python/Makefile.am
bindings/python/tests/Makefile.am
bindings/python/tests/tests.py: Causes tests to run with the
libraries from the build tree rather than currently installed
version (Todd Zullinger)
2007-03-26 Nicholas Piper <nicholas at users.sourceforge.net>
* bindings/python/gpod.i.in: Add basic PhotoDB reading facility
2007-03-25 Jorg Schuler <jcsjcs at users.sourceforge.net>
* src/itdb_itunesdb.c: streamline MHOD52 patch (remove mk_mhod52()
and let mk_mhod() handle the sorting of mhod52 directly).
2007-03-23 Jorg Schuler <jcsjcs at users.sourceforge.net>
* src/itdb_itunesdb.c: Write out MHOD52 hunks after master
playlist. This speeds up the iPod interface when browsing titles
or albums etc. because the iPod won't have to sort through the
track list.
2007-03-22 Jorg Schuler <jcsjcs at users.sourceforge.net>
* src/itdb_itunesdb.c (write_playlist): corrected what is written
into the mhyp header according to the iTunesDB wiki (mhod count /
libmhod count)
2007-03-21 Jorg Schuler <jcsjcs at users.sourceforge.net>
* src/itdb_artwork.c (itdb_artwork_remove_thumbnail): memory used
by thumbnail to be removed will be freed now. ATTENTION: this
changes the previous API description that stated that the
thumbnail will not be freed. This behaviour was inconsistent
with all other _remove functions in libgpod and caused a memory
hole.
* src/itdb_itunesdb.c (itdb_cp_track_to_ipod): cast filename
extension to lowercase because some people reported new iPod
models choking on filenames with uppercase extensions like
test.MP3. Not sure if it helps, though.
* src/itdb.h
src/itdb_artwork.c
src/itdb_photoalbum.c
src/itdb_track.c
src/ithumb-writer.c:
Added new API functions: itdb_photodb_add_photo_from_pixbuf
function(), itdb_track_set_thumbnails_from_pixbuf() and
itdb_artwork_add_thumbnail_from_pixbuf(). Thanks to Christophe
Fergeau.
* docs/reference/libgpod-sections.txt: added descriptions by
Christophe Fergeau.
2007-03-02 Todd Zullinger <tmzullinger at users.sourceforge.net>
* bindings/Makefile.am: only descend into the python subdir if
HAVE_PYTHON is set, this avoids some problems with the
Makefiles created by automake 1.7
2007-02-27 Todd Zullinger <tmzullinger at users.sourceforge.net>
* INSTALL_CVS
docs/reference/Makefile.am: build docs when creating
tarballs
* docs/reference/libgpod-sections.txt: include missing and
newly added declarations, remove unused declarations
* configure.ac
m4/python.m4: allow the use of nicer version strings in
AM_CHECK_PYMOD
2007-02-25 Jorg Schuler <jcsjcs at users.sourceforge.net>
* src/itdb.h
src/itdb_itunesdb.c
src/itdb_playlist.c: introduced splft_binary_and as separate
field type as this will simplify handling in applications.
* src/itdb_itunesdb.c (get_mhod, mk_mhod): replaced
if()... with a switch()... to catch changes made to
SPLFieldType more easily.
* src/itdb.h: introduced Itdb_Mediatype enum.
2007-02-24 Jorg Schuler <jcsjcs at users.sourceforge.net>
* src/db-itunes-parser.h
src/artwork-writer.c: Set unknown2 of mhfd header to 2 instead
of 1, otherwise iTunes7 wipes the ArtworkDB.
* src/itdb.h
src/itdb_itunesdb.c
src/itdb_playlist.c:
Updated smart playlist handling to recognize album artist, tv
show, last skipped, season number, skipcount and video kind
fields.
* src/itdb_itunesdb.c (get_mhod): don't skip unknown action types
in smart rules to avoid writing illegal smart playlist rules
corrupting the iTunesDB in the process.
2007-02-09 Jorg Schuler <jcsjcs at users.sourceforge.net>
* ChangeLog
INSTALL_CVS
configure.ac
bindings/python/gtkpod.py
bindings/python/ipod.py
bindings/python/examples/add_song.py
bindings/python/examples/create_mp3_tags_from_itdb.py:
updates and fixes from Nicholas Piper.
2007-02-11 Nicholas Piper <nick-gtkpod at nickpiper.co.uk>
* bindings/python: Corrections to text encoding in the extended
database and switch to python-mutagen from python-eyeD3 Thanks
to Stalwart for his help clearing up handling broken filenames.
2007-02-09 Jorg Schuler <jcsjcs at users.sourceforge.net>
* src/ithumb-writer.c: reduced maximum size for ithmb files from
500 MB to 256 MB after reports of slow iPod interface behavior.
2007-01-18 Jorg Schuler <jcsjcs at users.sourceforge.net>
* src/itdb.h
src/itdb_itunesdb.c (itdb_cp_track_to_ipod): changed declaration
of 'filename' from "gchar *" to "const gchar *".
2007-01-16 Jorg Schuler <jcsjcs at users.sourceforge.net>
* po/fr.po: updated French catalog -- thanks to Éric Lassauge
2007-01-15 Jorg Schuler <jcsjcs at users.sourceforge.net>
* configure.ac: bumped version to 0.4.3-CVS for further development
* configure.ac: bumped version to 0.4.2 for release
* po/sv.po: updated Swedish catalog -- thanks to Stefan Asserhall
* po/ja.po: updated Japanese catalog -- thanks to Kentaro Fukuchi
* po/de.po: updated German catalog
* .cvsignore
po/.cvsignore
tests/.cvsignore: updated with additional files to ignore.
* bindings/.cvsignore:
bindings/python/.cvsignore
bindings/python/examples/.cvsignore
bindings/python/docs/.cvsignore
docs/.cvsignore
docs/reference/.cvsignore
m4/.cvsignore: created new ignore files
* tests/test-photos.c: change "error" to "warning" in warning
message.
* INSTALL_CVS:
TROUBLESHOOTING: short note about the python packages required to
build the python bindings.
* Makefile.am: added TROUBLESHOOTING to EXTRA_DIST
2007-01-15 Todd Zullinger <tmzullinger at users.sourceforge.net>
* Makefile.am
bindings/python/Makefile.am
bindings/python/__init__.py
bindings/python/gpod.i.in
bindings/python/gpod_doc.i.in
bindings/python/gtkdoc-to-swig.xsl
bindings/python/gtkpod.py
bindings/python/ipod.py: add builtin documentation to the python
bindings using the gtk-docs for all of the wrapped libgpod
functions (with much help from Nicolas Piper)
* bindings/python/gtkpod.py: fix encoding issue in
write_pair() (Nicolas Piper)
handle gtkpod extended info files with either md5_hash or
sha1_hash fields (Nicolas Piper)
* bindings/python/ipod.py: ensure the db object doesn't get
garbage collected at the wrong time (Nicolas Piper)
2007-01-14 Jorg Schuler <jcsjcs at users.sourceforge.net>
* tests/test-photos.c:
src/itdb_photoalbum.c: fixed two typos in message strings.
* po/es.po: updated Spanish catalog -- thanks to Alejandro Lamas
Daviña
* po/*.po: run 'make update-po'
* src/itdb_itunesdb.c: added instructions on how to add new string
fields like 'tvepisode', 'tvshow' without forgetting half of the
places that need to be touched.
2007-01-13 Todd Zullinger <tmzullinger at users.sourceforge.net>
* bindings/python/Makefile.am: don't include any swig built
files in the tarballs.
s/SWIG_SOURCES/SWIG_INTERFACES/ to avoid a warning from
automake about unused sources.
* src/itdb_itunesdb.c: add a few more MHOD types that Jorg
suggested
* src/itdb_track.c: add more tv show fixes from Mario Rossi.
add missing albumartist and keywords pointed out by Jorg.
2007-01-12 Todd Zullinger <tmzullinger at users.sourceforge.net>
* src/itdb_itunesdb.c: TV shows patch from Mario Rossi
* bindings/python/Makefile.am: fix more make distcheck issues
2007-01-11 Todd Zullinger <tmzullinger at users.sourceforge.net>
* README
docs/reference/libgpod-docs.xml
docs/reference/libgpod-sections.txt
docs/reference/tmpl/artwork.sgml
docs/reference/tmpl/device.sgml
docs/reference/tmpl/itunesdb-db.sgml
docs/reference/tmpl/itunesdb-lowlevel.sgml
docs/reference/tmpl/photodb.sgml
docs/reference/tmpl/track.sgml
src/itdb.h
src/itdb_photoalbum.c: Add PhotoDB functions to the docs.
Incorporate usage overviews from README into the docs.
Fix a few doc comments to allow gtk-doc to parse them.
2007-01-10 Jorg Schuler <jcsjcs at users.sourceforge.net>
* bindings/python/Makefile.am: correct 'make dist' failure (patch
by Todd Zullinger)
* docs/reference/libgpod-docs.xml
docs/reference/libgpod-sections.txt
docs/reference/tmpl/Internal.sgml
docs/reference/tmpl/artwork.sgml
docs/reference/tmpl/device.sgml
docs/reference/tmpl/itunesdb-copying.sgml
docs/reference/tmpl/itunesdb-db.sgml
docs/reference/tmpl/itunesdb-lowlevel.sgml
docs/reference/tmpl/itunesdb-time.sgml
docs/reference/tmpl/playlists.sgml
docs/reference/tmpl/smart-playlists.sgml
docs/reference/tmpl/track.sgml
src/itdb.h
src/itdb_device.c
src/itdb_itunesdb.c
src/itdb_photoalbum.c: applied Todd Zullinger's patch fixing
warnings when building the documentation.
2007-01-09 Jorg Schuler <jcsjcs at users.sourceforge.net>
* src/pixmaps.c
src/pixmaps.h: New files containing last-resort pixmap in case
thumbnail/photo could not be added. Will not produce code
if the gdk-pixubf library is not present.
* src/ithumb-writer.c: use above pixmap instead of red canvas.
* src/Makefile.am: added pixmaps.[ch]
* src/itdb.h
src/itdb_itunesdb.c: added tvshow, tvepisode, tvnetwork,
albumartist, keywords, reseved to Itdb_Track. 'reserved' can
later be used to support 'Artist, The'.
2007-01-08 Jorg Schuler <jcsjcs at users.sourceforge.net>
* README: updated information about photo support
* po/fr.po: updated French catalog (thanks to Eric Lassauge)
* src/itdb.h: added 2 pointers for future extension to
Itdb_Playlist (MHOD100).
2007-01-06 Jorg Schuler <jcsjcs at users.sourceforge.net>
* tests/Makefile.am: cleanup
* src/itdb.h
src/itdb_itunesdb.c: renamed unk156 to skipcount and unk160 to
last_skipped.
Added unk244, gapless_data, unk252, gapless_track_flag,
gapless_album_flag, recent_skipcount.
Added handling of skipcount and last_skipped to playount file
handling.
* src/itdb_private.h: added skipcount and last_skipped to struct
playcount.
2007-01-04 Todd Zullinger <tmzullinger at users.sourceforge.net>
* configure.ac
gnome-autogen.sh
bindings/python/Makefile.am
docs/reference/libgpod-overrides.txt
docs/reference/Makefile.am: fix make distcheck, minor automake
cleanups.
* bindings/python/gpod.i
bindings/python/gpod.i.in: rename gpod.i -> gpod.i.in. it is now
generated by autoconf.
2006-11-26 Jorg Schuler <jcsjcs at users.sourceforge.net>
* src/ithumb-writer.c (ithumb_writer_write_thumbnail): handle
corrupted image data in a way that does not crash libgpod nor
causes the ArtworkDB or PhotoDB to be corrupted. Currently a
completely red pixmap is created as a substitute. Somewhat more
artistic than I am may want to create a "corrupted image data"
pixmap we can imbed into the code.
* src/itdb_artwork.c (itdb_thumb_get_gdk_pixbuf): fix failed
assertion when image data is illegal.
2006-11-24 Jorg Schuler <jcsjcs at users.sourceforge.net>
* src/itdb.h
src/itdb_photoalbum.c (itdb_photodb_add_photo,
itdb_photodb_add_photo_from_data,
itdb_photodb_photoalbum_add_photo): add 'position' where photo
should be inserted.
* tests/test-photos.c: implemented new API (append at the end).
* src/itdb.h
src/itdb_itunesdb.c: removed mhodcount and libmhodcount from
Itdb_Playlist as these are only used internally and reset during
syncing.
2006-11-23 Jorg Schuler <jcsjcs at users.sourceforge.net>
* When adding photos to the iPod the user may or may not want to
rotate the picture shown on the iPod screen, for example
deending on EXIF rotation value. This can now be achieved by
passing a new parameter 'rotation' to itdb_photodb_add_photo()
or itdb_photodb_add_photo_from_data(). (Valid values: 0, 90, 180,
270, rotation is counter-clockwise). These two functions now
also accept a GError pointer. As a consequence Itdb_Thumb had to
be extended with a field for the rotation value and
itdb_artwork_add_thumbnail have been extended to accept
@rotation and @error as well.
The actual rotation is carried out in
ithumb-writer.c/ithumb_writer_write_thumbnail() using
gdk_pixbuf_rotate_simple() and require gdk-pixbuf V2.6 or
higher.
In contrast, itdb_track_set_thumbnails() and
itdb_track_set_thumbnails_from_data have been left unchanged,
even though they could be extended to accept @rotation and
@error easily. Please let me know if this is wanted.
* configure.ac
src/itdb.h
src/itdb_artwork.c
src/itdb_photoalbum.c
src/itdb_track.c
src/ithumb-writer.c: implemented changes outlined above.
* tests/test-photos.c: added @rotation and @error to the
itdb_photodb_add_photo() call.
2006-11-12 Jorg Schuler <jcsjcs at users.sourceforge.net>
* ithumb-writer.c (itdb_write_ithumb_files):
ITDB_THUMB_PHOTO_TV_SCREEN type thumbnails were not "rearranged"
(i.e. deleted photos were not removed).
(ipod_image_get_ithmb_filename, ithmb_writer_write_thumbnail):
changed "F%u04_%d.ithmb" to "F%d_%d.ithmb" as this format string
is used by the iPod.
NEW: start new thumbnail file F%d_2/3/4... if the size of the
current thumbnail file is larger than ITHUMB_MAX_SIZE (currently
500 MB). Existing thumbnail files with a length larger than this
will NOT be truncated. Patches are welcome (probably add code at
the end of ithumb_rearrange_thumbnail_file()) :-)
* itdb_artwork.c: added support for UYVY format for iPod Video and
iPod Photo TV output. Code adapted from the GPixPod project.
(itdb_thumb_get_byteorder): return the byte order for the
current thumbnail (internal function).
* itdb_device.[hc]: added thumbnail storage format to the
Itdb_ArtworkFormat image information. Currently the following
are defined:
THUMB_FORMAT_UYVY
THUMB_FORMAT_RGB565_LE
THUMB_FORMAT_RGB565_BE
THUMB_FORMAT_RGB565_BE_90
THUMB_FORMAT_RGB565_LE_90
THUMB_FORMAT_RGB565_LE_90 does not appear to be used by any iPod
model. THUMB_FORMAT_RGB565_BE_90 is used for full screen iPod
Photo photos but currently is handeled the same as
THUMB_FORMAT_RGB565_BE pending input from iPod Photo users.
* ithumb-writer.c: added support for UYVY format for iPod Video and
iPod Photo TV output. Code adapted from the GPixPod project.
2006-11-11 Jorg Schuler <jcsjcs at users.sourceforge.net>
* itdb.h: Itdb_Artwork:
- added unk028, unk036 and rating
- added digitized_data timestamp
- changed creation_date from gint32 to guint32
* db-itunes-parser.h:
db-artwork-debug.c: MhiiHeader:
- renamed unknown5 to rating
- renamed digitised_date to digitized_date for conformity
* db-artwork-writer.c (write_mhli): sanity check to avoid access
of NULL pointer.
(write_mhii): write unk028, rating, unk036, digitized_data
* db-artwork_parser.c (parse_mhii):
- parse unk028, rating, unk036, digitized data.
- unified reading of DB_TYPE_PHOTO and DB_TYPE_ITUNES, got rid
of parse_mhod() and parse_mhni().
2006-11-08 Jorg Schuler <jcsjcs at users.sourceforge.net>
* itdb.h:
itdb_itunesdb.c:
itdb_track.c:
renamed some formerly unknown Itdb_Track entries and added
comments:
- unk184->pregap
- samplecount: guint32 -> guint64.
- unk192->(removed)
- unk200->postgap
- unk208->mediatype
- unk212->season_nr
- unk216->episode_nr
2006-10-29 Jorg Schuler <jcsjcs at users.sourceforge.net>
* src/itdb_photoalbum.c: fixed typo (Libarary -> Library).
* configure.ac, src/Makefile.am: new soname versioning
scheme. Thanks to Todd Zullinger and Frank Lichtenheld.
2006-10-29 Jorg Schuler <jcsjcs at users.sourceforge.net>
Major rework of picture support.
* src/db-artwork-parser.c, src/db-artwork-writer.c, src/itdb.h,
src/db-itunes-parser.h: renamed 'master' to 'album_type' in
MhbaHeader and Itdb_PhotoAlbum.
* src/db-artwork-parser.c, src/db-artwork-writer.c,
src/itdb_photoalbum.c: Itdb_Photoalbum->members are now pointers
to the corresponding Itdb_Artwork instead of image_ids.
* src/itdb_photoalbum.c: album_ids and image_ids are set just
before writing the PhotoDB in itdb_photodb_write().
* src/itdb_photoalbum.c: new interface, basically use as follows:
itdb_photodb_parse():
Read an existing PhotoDB.
itdb_photodb_create():
Create a new Itdb_PhotoDB structure. The Photo Library Album is
(first album) is created automatically.
itdb_photodb_add_photo(), itdb_photodb_add_photo_from_data():
Add a photo to the PhotoDB (from file or from a chunk of
memory). It is automatically added to the Photo Library Album
(first album), which is created if it does not exist already.
itdb_photodb_photoalbum_craete():
Create and add a new photoalbum.
itdb_photodb_photoalbum_add_photo():
Add a photo (Itdb_Artwork) to an existing photoalbum.
itdb_photodb_photoalbum_remove():
Remove an existing photoalbum. Pictures can be kept in the
Photo Library or automatically removed as well.
itdb_photodb_remove_photo():
Remove a photo either from a photoalbum or completely from the
database.
itdb_photodb_write():
Write out your PhotoDB.
itdb_photodb_free():
Free all memory taken by the PhotoDB.
itdb_photodb_photoalbum_by_name():
Find the first photoalbum with a given name.
* src/itdb_playlist.c (itdb_playlist_add, itdb_playlist_add_track):
src/itdb_track.c (itdb_track_add): simplify code by using
g_list_insert().
* tests/test-photos.c: change to new interface, add new commands
'list' to list photo IDs in the database, 'remove' to remove IDs
from an album or the iPod, or remove entire photoalbums from the
iPod.
* src/db-itunes-parser.h: added comments to _MhbaHeader definition.
Added additional functionality for photo albums
* src/db-artwork-parser.c
src/db-artwork-writer.c
src/db-itunes-parser.c:
src/itdb.h: added additional fields to MhbaHeader and
Itdb_PhotoAlbum (playmusic, repeat, random, show_titles,
transition_direction, slide duration, transition_duration,
unk024, unk028, unk044, unk048, song_id. These fields are read
and written from the PhotoDB now. Also corrected error for
"album type" which was read and written as int32 even though it
was a int8. Removed num_images from Itdb_PhotoAlbum -- instead
count images at time of writing.
2006-10-02 Jorg Schuler <jcsjcs at users.sourceforge.net>
* tests/Makefile.am
tests/test-init-ipod.c: fix compilation error when building with
--disable-gdk-pixbuf. Thanks to David Philippi and Christophe
Fergeau.
2006-09-26 Jorg Schuler <jcsjcs at users.sourceforge.net>
* po/sv.po: updated version by Stefan Asserhall
2006-09-24 Jorg Schuler <jcsjcs at users.sourceforge.net>
* po/es.po: updated version by Alejandro Lamas Daviña
* configure.ac: bumped to 0.4.0 for release
* configure.ac: bumped to 0.4.1 as new CVS version
2006-09-23 Jorg Schuler <jcsjcs at users.sourceforge.net>
* src/itdb.h: explain 'checked' field in Itdb_Track declaration
* src/itdb_playlist.c (itdb_spl_update): in SPLs with 'match
checked tracks only" set, all unchecked tracks were matched.
2006-09-21 Jorg Schuler <jcsjcs at users.sourceforge.net>
* src/itdb_itunesdb.c: time_added and time_modified where
interchanged.
* src/itdb_device.c: changed number of directories for 6G 8GB iPod
Nano to 14 after user report.
* src/ithumb-writer.c: removed re-using of thumbnail data in order
to avoid incompatibility with iTunes (even though our way was
more efficient...)
2006-09-18 Jorg Schuler <jcsjcs at users.sourceforge.net>
* src/itdb.h
src/itdb_artwork.c: added itdb_artwork_add_thumbnail_from_data().
* src/itdb.h
src/itdb_track.c: added itdb_track_set_thumbnails_from_data().
* src/itdb.h
src/itdb_photoalbum.c: added itdb_photodb_add_photo_from_data().
* src/itdb_artwork.c (itdb_thumb_get_gdk_pixbuf): added support to
retreive thumbnail from raw data instead of file.
* src/ithumb-writer.c (ithumb_writer_write_thumbnail): added
support to write thumbnail from raw data instead of file.
2006-09-17 Jorg Schuler <jcsjcs at users.sourceforge.net>
* src/itdb.h
src/itdb_device.c: added definitions for new sixth generation
iPod Videos, iPod Nanos and iPod Shuffle.
2006-08-21 Jorg Schuler <jcsjcs at users.sourceforge.net>
* tests/test-ls.c: added option to list contents of local
repository and specified playlist. Thanks to Richard Hyde for
the patch.
2006-08-18 Jorg Schuler <jcsjcs at users.sourceforge.net>
* src/db-artwork-writer.c (ipod_buffer_grow_file): printf(3) type
warnings caused compile error with FreeBSD 6.0-stable/GCC
3.4.4. Thanks to Mike Heffner for the patch.
2006-07-08 Jorg Schuler <jcsjcs at users.sourceforge.net>
* src/itdb_itunesdb.c (itdb_write): don't crash if error ==
NULL (SF tracker bugs item #1519048)
2006-07-02 Jorg Schuler <jcsjcs at users.sourceforge.net>
* src/itdb_itunesdb.c (itdb_init_ipod): only write iTunesSD
(shuffle database) when initializing shuffle. Thanks to
James Joyce for the patch.
2006-06-28 Jorg Schuler <jcsjcs at users.sourceforge.net>
* src/itdb_itunesdb.c (wcontents_write): added g_strerror in error
messages.
2006-06-27 Jorg Schuler <jcsjcs at users.sourceforge.net>
* src/itdb_device.c: fixed endianness autodetection for big endian
mobile phones. Thanks to Rached Ben Mustapha for the patch.
2006-06-24 Jorg Schuler <jcsjcs at users.sourceforge.net>
* src/itdb_itunesdb.c
src/itdb.h:
Added itdb_get_itunessd_path ().
itdb_init_ipod() will no longer overwrite existing iTunesDB and
iTunesSD.
2006-06-10 Jorg Schuler <jcsjcs at users.sourceforge.net>
* src/itdb_device.c (itdb_device_get_ipod_info): compare more than
4 characters of iPod model if the stored model number is more
than 4 characters long.
2006-06-07 Jorg Schuler <jcsjcs at users.sourceforge.net>
* src/itdb.h
src/itdb_device.c:
Added itdb_device_write_sysinfo() and itdb_device_set_sysinfo().
* src/itdb_itunesdb.c (itdb_create_directories):
Use functions introduced above.
(itdb_write): Write SynsInfo file when writing the iTunesDB if
SysInfo hash has been changed by application.
* src/itdb_device.[ch]: mark sysinfo hash as changed/unchanged.
* src/itdb_photoalbum.c (itdb_photodb_write): Write SynsInfo file
when writing the iTunesDB if SysInfo hash has been changed by
application.
2006-06-05 Jorg Schuler <jcsjcs at users.sourceforge.net>
* src/db-artwork-parser.h
src/db-artwork-parserc (ipod_supports_cover_art): made
available G_GNUC_INTERNAL.
Added ipod_supports_photos().
* src/itdb_itunesdb.c (itdb_create_directories):
Create Photos directory.
* src/itdb.h
src/itdb_device.c
Rename itdb_info_get_ipod_model_name() ->
itdb_info_get_ipod_model_name_string()
itdb_info_get_ipod_generation_name() ->
itdb_info_get_ipod_generation_string()
* src/itdb_itunesdb.c (itdb_create_directories): add space after
":" when writing SysInfo file, only write SysInfo file if
model_number was given, write original model number, not
abbreviated model number from info->model_number.
2006-06-04 Jorg Schuler <jcsjcs at users.sourceforge.net>
* src/db-image-parser.c
src/itdb_artwork.c
src/itdb_device.c
src/itdb_photoalbum.c
src/itdb_track.c
src/ithumb-writer.c: Phased out private
IPOD_COVER_SMALL... enum in favor of identical public enum
"ItdbThumbType" ITDB_THUMB_COVER_SMALL...
* src/db-image-parser.c (ipod_image_new_from_mhni):
Accept all thumbnail types we know about (i.e. type != -1).
* src/db-artwork-debug.h
src/db-artwork-parser.h
src/db-image-parser.h
src/db-parse-context.h
src/glib-compat.h
src/itdb_endianness.h: Added CVS "$Id:" line, added copyright
notices where missing, added explanations to itdb_endianess.h
;-)
* src/itdb_itunesdb.c
src/itdb_track.c
src/itdb_device.c
src/itdb_device.h
Made naming consistent and suitable for export:
Itdb_IpodModel -> Itdb_IpodInfo
ipod_model_table -> ipod_info_table
itdb_device_get_model_info() -> itdb_device_get_ipod_info()
MODEL_TYPE_... -> ITDB_IPOD_MODEL_...
nth_GENERATION -> ITDB_IPOD_GENERATION_nth
Exported Itdb_IpodModel, Itdb_IpodGeneration, Itdb_IpodInfo,
itdb_device_get_ipod_info().
* src/itdb_device.c: new API:
itdb_info_get_ipod_info_table(),
itdb_info_get_ipod_model_name()
* src/itdb.h
src/itdb_artwork.c:
Removed unused field ->type in Itdb_Artwork and corresponding
enum ItdbArtworkType.
2006-06-03 Jorg Schuler <jcsjcs at users.sourceforge.net>
* src/itdb_artwork.c (itdb_thumb_get_gdk_pixbuf): handle thumbnail
padding correctly -- who would have thought that iTunes
indicates _negative_ padding at times... Please use the
test-photos program to check out whether or not your photos show
up correctly without black bars or funny colors.
* src/db-artwork-writer.c
src/db-image-parser.c
src/itdb.h
src/ithumb-writer.c: Hopefully do padding right:
- read padding fields from mhni header and store them with
each thumbnail
- calculate padding for PhotoDB only (padding for iTunesDB
Artwork does not seem to be necessary)
- include the padding into the total width/height
It seems to work well on my iPod Nano -- feedback appreciated.
* tests/test-photos.c: added possibility to dump all photos into
a directory:
tests/test-photos dump <mountpoint> <output_dir>
* src/itdb_artwork.c: changed byte order for full screen iPod
Nanos.
2006-06-01 Jorg Schuler <jcsjcs at users.sourceforge.net>
* src/db-artwork-writer.c (write_mhni): fix segfault caused by
wrong access of enum inside Itdb_DB
* src/itdb.h:
src/itdb_private.h:
moved Itdb_DB to private part.
* src/itdb.h:
src/itdb_private.h:
src/itdb_itunesdb:
New: db_get_itunesdb(), db_get_photodb()
* src/db-artwork-parser.c
src/db-artwork-writer.c
src/db-image-parser.c
src/db-image-parser.h
src/db-parse-context.c
src/db-parse-context.h
src/itdb_endianness.h
src/itdb_itunesdb.c
src/ithumb-writer.c:
Remove all direct access to Itdb_DB->db. enum
2006-05-31 Jorg Schuler <jcsjcs at users.sourceforge.net>
* configure.ac:
m4/python: check for eyeD3 (Todd Zullinger)
2006-05-30 Jorg Schuler <jcsjcs at users.sourceforge.net>
* src/itdb_itunesdb.c (itdb_create_directories): applied
Christophe's cleanup-patch, 'normalized' indenting. Function
made 'static'.
* src/itdb_itunesdb.c (itdb_init_ipod): fixed segfault.
* m4/python: default configure option --with_python to 'yes'
(Nicholas Piper)
***** merged photo-support branch back to MAIN. branch is tagged
photo-support-merged_00
2006-05-29 Jorg Schuler <jcsjcs at users.sourceforge.net>
* tests/test-photos.c: removed unneeded #include.
* configure.ac: print configuration summary -- thanks to Todd
Zullinger
* itdb.h:
itdb_itunesdb.c:
added itdb_init_ipod() -- thanks to P.G. Richardson.
* src/itdb_itunesdb.c (itdb_write_file): only write artwork if
supported by the iPod -- thanks to P.G. Richardson.
* src/itdb_itunesdb.c:
src/itdb_photoalbum.c:
src/itdb_playlist.c:
fixed some comments so the doc subsystem won't complain.
* tests/Makefile.am:
tests/test-init-ipod.c
added new test for itdb_init_ipod(). The test also demonstrates
how to 'autodetect' the iPod model number.
* src/itdb_photoalbum.c:
src/ithumb-writer.c:
src/itdb_artwork.c:
src/itdb.h:
src/db-itunes-parser.h:
src/db-artwork-writer.c:
src/db-artwork-parser.c:
src/db-artwork-debug.c:
Patch by Michael McLellan:
Doesn't automatically make the first photoalbum the
'master'. However, if a master already exists it will remain the
master.
Sets the creation date of a new image to the modification time
of the image file.
Centers new images.
Introduces itdb_photodb_remove_photo().
2006-05-29 Jorg Schuler <jcsjcs at users.sourceforge.net>
* src/itdb.h:
src/itunesdb.c: (Itdb_Track)
flag2 -> skip_when_shuffling
flag3 -> remember_playback_position
* src/itunesdb.c: playlist flags 1,2,3 were not read correctly.
2006-05-28 Jorg Schuler <jcsjcs at users.sourceforge.net>
* src/db-parse-context.c (db_parse_context_new_from_file):
Detect endianess if not already set.
* src/itdb_device.c (itdb_device_autodetect_endianess): try
reading the first for bytes of iTunesDB, ArtworkDB or Photos
Database in order to reliably detect the endianess of the
connected iPod.
* src/itdb_photoalbum.c: (itdb_photodb_parse): will fail again if
no photos dir is available.
* tests/test-photos.c: takes into consideration the possibility
that an iPod does not have a Photos Database and creates a new
one in that case. (I think it's safer that way -- the
application is forced to 'think' about the fact that no database
is available and either warn the user or create one. If
itdb_photodb_parse() simply returns an empty database in case
none could be found, the application might not become aware of
the fact.)
* renamed itdb_get_mountpoint_photo to
itdb_photodb_get_mountpoint.
* tests/test-photos.c: added g_error_free()
* src/itdb_device.c
src/itdb_device.h: added number of musicdirs (Fnn dirs) to the
model descriptions. The exact number seems to be version
dependent. Therefore, the numbers here represent a mixture of
reported values and common sense.
2006-05-27 Jorg Schuler <jcsjcs at users.sourceforge.net>
* src/itdb_photoalbum.c: itdb_photodb_parse() would fail if no
photos dir is available. Quick fix for now (I mean, why
SHOULDN'T it fail if no photos dir is available??).
2006-05-26 Jorg Schuler <jcsjcs at users.sourceforge.net>
* src/itdb.h:
src/itdb_photoalbum.c:
src/itdb_artwork.c:
Added userdata/usertype fields to Itdb_PhotoDB, Itdb_PhotoAlbum,
Itdb_Artwork.
2006-05-25 Jorg Schuler <jcsjcs at users.sourceforge.net>
* Slight cleanup, make PhotoDB API more consistent with iTunesDB
API:
* src/db-artwork-parser.h: declared ipod_write_photo_db() as
G_GNUC_INTERNAL
* src/db-artwork-writer.c (ipod_write_photo_db for non-gdk):
Itdb_iTunesDB -> Itdb_PhotoDB
* src/itdb.h:
Itdb_ItunesDB: removed photoalbums and photos.
renamed:
itdb_parse_photo -> itdb_photodb_parse
itdb_add_photo_to_photoalbum -> itdb_photodb_add_photo
itdb_create_new_photoalbum -> itdb_photodb_photoalbum_new
itdb_free_photodb -> itdb_photodb_free
itdb_write_photo_db -> itdb_photodb_write
new: itdb_photodb_new()
* src/itdb_itunesdb.c (itdb_parse_photo, itdb_get_photos_dir,
itdb_get_photodb_path, itdb_get_photos_thumb_dir): moved to
itdb_photoalbum.c
* src/itdb_photoalbum.c:
new: error_no_photos_dir, itdb_photodb_new, itdb_photodb_write
moved: itdb_get_photos_dir, itdb_get_photodb_path,
itdb_get_photos_thumb_dir
rewrote:
itdb_photodb_parse
(itdb_photodb_free): free device struct as well.
* tests/test-photos.c: change to new API.
* src/itdb.h: applied Christophe's patch to fix compile time
error.
* po/sv.po: updated Swedish translation (thanks to Stefan
Asserhall)
2006-05-20 Jorg Schuler <jcsjcs at users.sourceforge.net>
* po/POTFILES.in: updated file list -> updated .po files.
2006-05-15 Jorg Schuler <jcsjcs at users.sourceforge.net>
* src/db-image-parser.c
* src/itdb_photoalbum.c
* src/ithumb-writer.c
Michael McLellan patch for photo support on iPod Videos
2006-05-11 Jorg Schuler <jcsjcs at users.sourceforge.net>
* src/itdb.h
* src/itdb_itunesdb.c
* src/itdb_private.h
* src/db-artwork-parser.c
* src/db-artwork-parser.h
* src/db-itunes-parser.h
* src/db-artwork-writer.c
* src/itdb_photoalbum.c
Make sure Photos and Photos/Thumbs directories are created. New:
itdb_get_photodb_path().
2006-05-06 Jorg Schuler <jcsjcs at users.sourceforge.net>
* src/db-artwork-parser.c:
* src/db-itunes-parser.h:
* src/db-artwork-writer.c:
* src/itdb_photoalbum.c:
* src/itdb.h:
* src/itdb_private.h:
* tests/test-photos.c:
Applied Mikey's second patch for photo support. test-photos now
comes with support for photo albums!
2006-05-07 Jorg Schuler <jcsjcs at users.sourceforge.net>
* Created new branch "photo-support" for testing of photo
support. Comes complete with a test program to add photos to
your iPod. Works great for me -- thanks to Mikey!
--- 2006-05-30: merged back to MAIN.
2006-05-06 Jorg Schuler <jcsjcs at users.sourceforge.net>
* Applied Mikey's patch for photo support.
* src/itdb_photoalbum.c: new.
* tests/test-photo.c: test program to add photos to your iPod.
* Created branch for this patch: 'photo-support'.
2006-05-05 Jorg Schuler <jcsjcs at users.sourceforge.net>
* src/itdb_itunesdb.c: avoid segfault if album field of podcasts
is not set (NULL).
2006-05-02 Jorg Schuler <jcsjcs at users.sourceforge.net>
* src/itdb_itunesdb.c: smart playlists: avoid assertion
when writing rules with empty strings.
2006-04-26 Jorg Schuler <jcsjcs at users.sourceforge.net>
* tests/Makefile.am: removed 'test-rebuild-db' from
'noinst_PROGRAM' declaration (bug reported by Jens
Taprogge). 'test-rebuild-db' is only added when the taglib is
detected.
2006-04-12 Christophe Fergeau <teuf@gnome.org>
* tests/test-rebuild-db.cc: forgot to propagate a GError
2006-04-10 Christophe Fergeau <teuf@gnome.org>
* tests/test-ls.c: new test program reading and displaying the iPod
content
* tests/test-rebuild-db.cc: new test program which looks for mp3 files
on the iPod in the Music dir and rebuild an iPod database from that
(it uses taglib to parse the tags, so it's conditionnally built
depending on taglib's availability)
* configure.ac:
* tests/Makefile.am: build system changes to accomodate the 2 new test
programs
2006-04-10 Christophe Fergeau <teuf@gnome.org>
* src/itdb_device.h: removed dead code
* src/itdb_playlist.c: make spl_update2 static, kill spl_update
2006-04-10 Christophe Fergeau <teuf@gnome.org>
* docs/Makefile.am:
* docs/reference/Makefile.am:
* docs/reference/libgpod-docs.xml:
* docs/reference/libgpod-sections.txt:
* docs/reference/tmpl/Internal.sgml:
* docs/reference/tmpl/artwork.sgml:
* docs/reference/tmpl/device.sgml:
* docs/reference/tmpl/itunesdb-copying.sgml:
* docs/reference/tmpl/itunesdb-db.sgml:
* docs/reference/tmpl/itunesdb-lowlevel.sgml:
* docs/reference/tmpl/itunesdb-time.sgml:
* docs/reference/tmpl/libgpod-unused.sgml:
* docs/reference/tmpl/playlists.sgml:
* docs/reference/tmpl/smart-playlists.sgml:
* docs/reference/tmpl/track.sgml:
* docs/reference/version.xml.in: all the files below are new files
needed for gtk-doc support
* Makefile.am:
* configure.ac: add gtk-doc support to build system
* src/itdb_artwork.c:
* src/itdb_device.c:
* src/itdb_itunesdb.c:
* src/itdb_playlist.c:
* src/itdb_track.c: update inline comments in those files so that
gtk-doc can pick them up to build documentation
2006-04-08 Christophe Fergeau <teuf@gnome.org>
* configure.ac: generate Makefile for bindings/python/examples
2006-04-03 Jorg Schuler <jcsjcs at users.sourceforge.net>
* itdb.h: flag1 -> has_artwork
* itdb_track.c: (itdb_track_set_thumbnails,
itdb_remove_thumbnails) set has_artwork flag correctly.
2006-04-01 Jorg Schuler <jcsjcs at users.sourceforge.net>
* itdb.h: unk178 -> mark_unplayed
* itdb_itunesdb.c: reset the mark_unplayed flag when playcount is
detected.
2006-03-31 Jorg Schuler <jcsjcs at users.sourceforge.net>
* po/es.po: replaced with version from Alejandro Lamas who
maintains the gtkpod translation as well.
2006-03-29 Jorg Schuler <jcsjcs at users.sourceforge.net>
* itunesdb.c: set filetype identifier when transfering track to
the iPod.
2006-03-24 Jorg Schuler <jcsjcs at users.sourceforge.net>
Alpha version of reversed-endian Artwork writing. Status: iTunesDB
can be written and is accepted on mobile phones, ArtworkDB can be
read and be written as well, but newly added artwork will not yet
display.
* itdb.h: adjusted a couple of field lengths (4 byte -> 2 byte or
even 1 byte) to address endian issues.
2006-03-18 Jorg Schuler <jcsjcs at users.sourceforge.net>
* itdb_itunesdb.c (mk_mhod): fixed bug when writing podcast urls.
* itdb_itunesdb.c (itdb_write_file): move endianess autodetection
to a place before calling ipod_write_artwork_db().
2006-03-17 Jorg Schuler <jcsjcs at users.sourceforge.net>
* itdb_device.[ch]: rewrote ipod-device.c, removed all hal-code,
removed all code irrelevant to writing the iTunesDB and
ArtworkDB.
* autodetect iControl directory now also works for ArtworkDB.
* db-artwork-parser.c (ipod_db_get_artwork_db_path): create
Artwork directory if not already present.
* itdb.h: Itdb_iTunesDB: moved mountpoint and musicdirs into
private Itdb_Device. Use itdb_set_mountpoint() and
itdb_get_mountpoint() to access the mountpoint.
* simplified some code by using itdb_get_path() instead of
itdb_resolve_path().
* itdb_itunesdb.c (itdb_get_path): fixed bug.
2006-03-12 Jorg Schuler <jcsjcs at users.sourceforge.net>
* itdb.h, itdb_itunesdb.c: added functions for autodetection of
iControl directory (currently either <mp>/iPod_Control or
<mp>/iTunes/iTunes_Control): itdb_get_control_dir() and
itdb_get_itunes_dir()
2006-02-12 Jorg Schuler <jcsjcs at users.sourceforge.net>
* itdb.h: added movie_flag and lyrics_flag to Itdb_Track
* itdb.h, itdb_itunesdb.c, itdb_private.h: added support for
mobile phone reversed-endian iTunesDB. Please note that you have
to rename the folder iTunes_Control to iPod_Control manually. to
write reversed-endian files, itdb->reversed must be set to
TRUE. When reading an iTunesDB the endianess is detected
automatically and itdb->reversed set appropriately. Only the
inversed iTunesDBs, 'Play Counts', and OTG playlist files are
read yet. The ArtworkDB and thumbnail files cannot be parsed
yet.
2006-02-04 Jorg Schuler <jcsjcs at users.sourceforge.net>
* ipod-device.c: added entries for iPod Nano 1 GB black and white
(thanks to Leonhard Gruenschlos)
2006-02-04 Jorg Schuler <jcsjcs at users.sourceforge.net>
* configure.ac: enable/disable switches for gdk and hal. Thanks to
Olivier Crête
2006-02-04 Jorg Schuler <jcsjcs at users.sourceforge.net>
* configure.ac: bumped version to 0.3.3 for new CVS version.
* RELEASED libgpod 0.3.2
* configure.ac: bumped version to 0.3.2 for release.
* db-artwork-writer.c: increased IPOD_MMAP_SIZE from 2 to 16 MB as
a temporary workaround until a propoer solution can be
implemented.
* db-itunes-parser.h: replaced the #pragma pack(4) with an
'packed' attribute on _MhiiHeader only.
2006-02-28 Jorg Schuler <jcsjcs at users.sourceforge.net>
* ipod-device.c: (ipod_device_set_property): fixed possible
segfault when hald is present.
2006-02-24 Jorg Schuler <jcsjcs at users.sourceforge.net>
* configure.ac, po/es.po: added Spanish translation catalog
(thanks to Azael Avalos)
2006-02-19 Jorg Schuler <jcsjcs at users.sourceforge.net>
* libgpod-1.0.pc: added gobject-2.0 to 'Requires:' list
* src/db-itunes-parser.h: add '#pragma pack(4)' to fix 64bit issue
with padding (at least as a temporary fix).
* src/ipod-device.c: added HP type color photo ipod 'S492'. Thanks
to David Desrosiers.
2006-02-14 Jorg Schuler <jcsjcs at users.sourceforge.net>
* po/ja.po: updated Japanese catalog -- thanks to Kentaro Fukuchi
* src/ipod-device.c: (ipod_device_set_property): fixed bug that
caused ipod-detection to fail if hal daemon was not running. As
a consequence cover art was not written to the iPod.
2006-02-04 Jorg Schuler <jcsjcs at users.sourceforge.net>
* src/itdb_itunesdb.c: (itunesstats_read) Fixed error when reading
the Shuffle's stat file (0x18 was used as minimal record length
instead of decimal '18').
2006-02-03 Jorg Schuler <jcsjcs at users.sourceforge.net>
* src/itdb_itunesdb.c, src/itdb_playlist.c, src/ithumb-writer.c:
removed nested-functions. Thanks to Brian Jackson for the patch
(he was not the only to send patches -- please, nobody feel
offended that I didn't act sooner).
2006-01-03 Jorg Schuler <jcsjcs at users.sourceforge.net>
* src/ipod-device.c: (ipod_device_set_property) check hal_context
before accessing it to avoid segfault when hald is not running.
(ipod_device_hal_initialize) fixed memory leak: 'error' was not
freed if libhal_ctx_init() failed.
(ipod_device_get_model_index_from_table): fix warning about
unused computed value (thanks to Martin Aumueller)
2005-12-18 Jorg Schuler <jcsjcs at users.sourceforge.net>
* src/ipod-device.c: don't ignore return value of
fread/fwrite/ftell because of possible compiler warnings.
2005-12-11 Jorg Schuler <jcsjcs at users.sourceforge.net>
* src/itdb_artwork.c: (itdb_thumb_get_gdk_pixbuf) allow to get
pixbuf even if no iPod is present if the thumbnail points to a
local filename. This way artwork support is also possible on the
'Local' repository in gtkpod (or any other application).
* README: added quick HOWTO use libgpod
* bumped version to 0.3.0 for release.
* bumped version to 0.3.1 for CVS version.
2005-12-10 Jorg Schuler <jcsjcs at users.sourceforge.net>
* src/ithumb-writer.c: fixed typo leading to segfault.
2005-12-09 Jorg Schuler <jcsjcs at users.sourceforge.net>
* src/ithumb-writer.c: create Artwork directory when attempting to
write to it.
* src/itdb_artwork.c: fix compilation problem when gdkpixbuf is
not present.
* src/hal-common.c: reverse order of include statements to fix
compilation error on some systems.
2005-12-06 Jorg Schuler <jcsjcs at users.sourceforge.net>
* src/itdb_itunesdb.c: change g_assert to g_return_if_fail (don't
terminate the application just because the iTunesDB was
manipulated).
* src/db-artwork-parser.c: change g_assert to g_return_if_fail
(don't terminate the application just because the ArtworkDB was
manipulated).
* src/itdb_artwork.c: change g_assert to g_return_if_fail
(don't terminate the application just because the ithmb file was
manipulated).
2005-12-05 Jorg Schuler <jcsjcs at users.sourceforge.net>
* src/db-artwork-writer/parser.c: Create ArtworkDB when it does
not exist.
* src/db-artwork-writer.c, src/itdb_itunesdb.c,
src/itdb_track.c, src/ithumb-writer.c: handle artwork size and
count self-consistently.
* src/itdb_track.c: take care of artwork_size/_count a little
better, take care of dbid2 a little better.
* src/ithumb-writer.c: new ithumb_rearrange_thumbnail_file()
taking into account multiple references to the same slot.
ithumb-writer now cleans up 0 Byte files.
2005-11-30 Christophe Fergeau <teuf@gnome.org>
* src/db-artwork-parser.c: (parse_mhni): don't crash if
ipod_image_new_from_mhni returns NULL
2005-11-28 Christophe Fergeau <teuf@gnome.org>
* src/itdb_artwork.c: (unpack_RGB_565), (get_pixel_data):
* src/itdb_itunesdb.c: (get_mhod):
* src/ithumb-writer.c: (pack_RGB_565),
(ithumb_rearrange_thumbnail_file): added some paranoia checks before
doing some mallocs to prevent potential int overflows in some mallocs
which could be triggered by using forged iTunesDB files
2005-11-28 Jorg Schuler <jcsjcs at users.sourceforge.net>
New API for thumbnail support: see src/itdb.h for details.
* src/itdb.h: Introduced Itdb_Artwork and ItdbThumbType and
changed Itdb_Image to Itdb_Thumb throughout the source.
* src/itdb_artwork.c: new file as backend for Itdb_Artwork support
(new, free, duplicate, get_thumb_by_type, add_thumbnail,
remove_thumbnail, remove_thumbnails), as well as for the
Itdb_Thumb support (new, free, duplicate, get_gdk_pixbuf,
get_filename)
* src/itdb_track.c: new functions for artwork support
(set_thumbnails, remove_thumbnails)
* src/ithumb-writer.c: added support to write thumbnails in
addition to existing thumbnails
* src/db-artwork-parcer.c: (mhod3_get_ithmb_filename)
* src/itdb_itunesdb.c: (update_artwork_info)
* tests/test-covers.c: updated to new API.
* tests/test-write-covers.c: updated to new API.
Known issues: iTunes wipes off our thumbnails.
2005-11-24 Jorg Schuler <jcsjcs at users.sourceforge.net>
* overall changes to support itdb_image_get_gdk_pixbuf(). Run
"tests/test-thumbnails <ipod_mount> to copy all thumbnails into
the current directory.
* configure.ac: bumped version to 0.2.2
2005-11-23 Christophe Fergeau <teuf@gnome.org>
* src/db-artwork-debug.c: (get_utf16_string):
* src/db-artwork-parser.c: (get_utf16_string), (parse_mhod_3),
(parse_mhni), (ipod_supports_cover_art), (ipod_parse_artwork_db):
* src/db-artwork-parser.h:
* src/db-artwork-writer.c: (get_artwork_info), (write_mhod_type_3),
(write_mhni), (write_mhod), (write_mhii), (write_mhif):
* src/db-image-parser.c: (unpack_RGB_565),
(image_type_from_corr_id), (ipod_image_new_from_mhni):
* src/db-image-parser.h:
* src/itdb.h:
* src/ithumb-writer.c: (pack_RGB_565),
(ithumb_writer_write_thumbnail), (ipod_image_get_ithmb_filename),
(ithumb_writer_new), (ithumb_writer_free), (write_thumbnail),
(itdb_write_ithumb_files):
* tests/test-covers.c: (save_song_thumbnails): rework artwork code in
an attempt to properly support artwork on all the iPod models
2005-11-23 Christophe Fergeau <teuf@gnome.org>
* src/hal-common.c:
* tests/test-covers.c: (ipod_image_to_gdk_pixbuf): more glib 2.4
changes
2005-11-23 Christophe Fergeau <teuf@gnome.org>
* configure.ac: bumped version number
==== libgpod 0.2.0 ====
2005-11-23 Christophe Fergeau <teuf@gnome.org>
* configure.ac: set version number to 0.2.0
2005-11-22 Christophe Fergeau <teuf@gnome.org>
* src/ipod-device.c: fix compilation issue when hal isn't available
2005-11-22 Christophe Fergeau <teuf@gnome.org>
* configure.ac: fix .so versioning
2005-11-22 Christophe Fergeau <teuf@gnome.org>
* src/glib-compat.h: include stdio.h in the glib 2.4 compat code
2005-11-21 Christophe Fergeau <teuf@gnome.org>
* COPYING: libgpod really is LGPL
2005-11-21 Christophe Fergeau <teuf@gnome.org>
* configure.ac: set version number to 0.2.0
* src/Makefile.am: added glib-compat.h
2005-11-21 Christophe Fergeau <teuf@gnome.org>
* configure.ac:
* src/Makefile.am:
2005-11-21 Christophe Fergeau <teuf@gnome.org>
* src/glib-compat.h: added a missing helper file for glib 2.4
compilation
2005-11-21 Christophe Fergeau <teuf@gnome.org>
* src/hal-common.c:
* src/ipod-device.c: marked some functions as static
2005-11-21 Christophe Fergeau <teuf@gnome.org>
* src/ipod-device.c: fix g_mkdir_with_parents use (don't use it with
glib 2.8, and mark it static)
2005-11-21 Christophe Fergeau <teuf@gnome.org>
* src/db-artwork-writer.c: (write_mhod_type_3):
* src/db-parse-context.c:
* src/ipod-device.c:
* src/itdb_private.h:
* src/itdb_track.c:
* src/ithumb-writer.c: (ithumb_writer_write_thumbnail): commit some
changes which should help compiling with glib 2.4
2005-11-21 Christophe Fergeau <teuf@gnome.org>
* autogen.sh:
* gnome-autogen.sh: use autogen.sh script from gnome-common since the
custom libgpod one keep having issues (this doesn't add a dependency
on gnome-common since I imported the necessary script to our CVS)
2005-11-21 Christophe Fergeau <teuf@gnome.org>
* INSTALL:
* autogen.sh:
* gnome-autogen.sh:
2005-11-21 Christophe Fergeau <teuf@gnome.org>
* src/hal-common.h: mark hal stubs (for when hal isn't available) as
G_GNUC_INTERNAL to avoid namespace clashes
* src/ipod-device.c:
* src/ipod-device.h: move hal header inclusion in the .c instead of
having it in the .h
2005-11-19 Jorg Schuler <jcsjcs at users.sourceforge.net>
* itdb_playlist.c: simplified API for itdb_spl_update() and
itdb_splr_eval()
* itdb_playlist.c: added itdb_spl_update_live() for convenience
* itdb_itunesdb.c: (itdb_rename_files) also remove "iTunesShuffle"
as this file might confuse iPod Shuffles.
2005-11-17 Jorg Schuler <jcsjcs at users.sourceforge.net>
* configure.ac: check for version 2.4 of glib -- now we need to
make sure that libgpod actually works with 2.4...
2005-11-15 Christophe Fergeau <teuf@gnome.org>
* src/itdb_itunesdb.c: (itdb_new): initialise glib type system before
calling ipod_device_new (which creates a gobject)
2005-11-13 Jorg Schuler <jcsjcs at users.sourceforge.net>
* src/itdb_itunesdb.c: when new rating is set on the iPod, backup
the old rating to app_rating. Not sure what it's for, but iTunes
seem to do it.
* src/itdb_itunesdb.c:
* src/itdb.h: split unk164 into flag1, flag2, flag3, and flag4.
2005-11-12 Jorg Schuler <jcsjcs at users.sourceforge.net>
* src/itdb_track.c: (itdb_track_set_defaults) only change unk208
(audio/video) if not already set to non-zero.
2005-11-11 Jorg Schuler <jcsjcs at users.sourceforge.net>
* src/itdb_itunesdb.c: (itdb_set_mountpoint) do not call
itdb_device_new() with NULL pointer (no mountpoint == local
repository) to avoid critical warning.
2005-11-09 Jorg Schuler <jcsjcs at users.sourceforge.net>
* src/itdb.h src/itdb_itunesdb.c: change API for
itdb_shuffle_write() to be identical to itdb_itunesdb_write()
2005-11-08 Christophe Fergeau <teuf@gnome.org>
* configure.ac: fixed hal detection, stole a bit more autoconf-fu from
libipoddevice so that ipod-device.c compiles when hal is detected
2005-11-08 Christophe Fergeau <teuf@gnome.org>
* src/hal-common.c:
* src/hal-common.h: more #if => #ifdef changes
2005-11-08 Christophe Fergeau <teuf@gnome.org>
* src/ipod-device.c:
* src/ipod-device.h: update comments to reflect the fact we are using
#ifdef HAVE_LIBHAL instead of #if HAVE_LIBHAL now
2005-11-08 Christophe Fergeau <teuf@gnome.org>
* src/hal-common.c:
* src/hal-common.h:
* src/ipod-device.c: (ipod_device_set_property),
(ipod_device_hal_initialize), (ipod_device_detect_volume_info),
(ipod_device_new), (ipod_device_eject): sync with libipoddevice CVS,
use #ifdef HAVE_LIBHAL instead of #if HAVE_LIBHAL
2005-11-06 Christophe Fergeau <teuf@gnome.org>
* src/ipod-device.h:
* src/itdb.h: added missing G_BEGIN_DECLS and G_END_DECLS
2005-11-05 Christophe Fergeau <teuf@gnome.org>
* src/itdb_track.c: (is_video_ipod), (itdb_track_set_defaults): deal
with unk208 differently on iPod video (it's used to indicate if the
current track must be shown in the video or audio menu or both)
2005-11-05 Christophe Fergeau <teuf@gnome.org>
* src/ipod-device.c: (ipod_device_get_property),
(ipod_device_class_init):
* src/ipod-device.h: sync with libipoddevice CVS to get information
about artwork formats supported by the various iPod models
2005-11-04 Christophe Fergeau <teuf@gnome.org>
* src/ipod-device.c: (ipod_device_new):
* src/ipod-device.h:
* src/itdb.h:
* src/itdb_itunesdb.c: (itdb_free), (itdb_parse),
(itdb_shuffle_write), (itdb_set_mountpoint): added an IpodDevice
element to Itdb_iTunesDB. This makes it possible for libgpod to know
the type (regular/nano/mini/video/...) of the iPod it's currently
dealing with (which is necessary for proper cover art support for
example)
2005-11-04 Christophe Fergeau <teuf@gnome.org>
* src/Makefile.am: db-itunes-parser.h was missing from the source file
list, this made "make dist" generate uncompilable tarballs
2005-11-04 Christophe Fergeau <teuf@gnome.org>
* autogen.sh: add missing call to glib-gettextize, this has the nice
side-effect of adding mkinstalldirs if automake didn't copy it for us.
2005-11-02 Christophe Fergeau <teuf@gnome.org>
* configure.ac:
* src/db-artwork-writer.c: (ipod_buffer_grow_mapping),
(ipod_buffer_maybe_grow): added fallback code for systems not having
mremap (pretty much all non-linux systems actually)
2005-11-02 Christophe Fergeau <teuf@gnome.org>
* src/db-artwork-writer.c: (ipod_buffer_destroy):
* src/itdb_track.c: (itdb_track_set_defaults): applied patch from
Uwe Hermann <uwe@hermann-uwe.de> to add video support to libgpod,
removed spurious g_print
2005-11-01 Jorg Schuler <jcsjcs at users.sourceforge.net>
* itdb_itunesdb.c (get16lint): fixed bug affecting big endian
systems. Thanks to Martin Aumueller for spotting this.
* itdb_itunesdb.c: used GUINTxx_TO/FROM_xE() instead of "#if
..." constructions.
2005-10-25 Jorg Schuler <jcsjcs at users.sourceforge.net>
* itdb_itunesdb.c (itdb_parse): added comment, check for itdb
before calling ipod_pars_artwork_db()
* db-artwork_parser.c (ipod_parse_artwork_db): added assertion
to avoid segfault if called NULL parameter.
* itdb_itunesdb.c (get_mhip): fixed handling for iTunesDB
versions 4.7 and smaller.
2005-10-24 Christophe Fergeau <teuf@gnome.org>
* (itdb_write): remove mountpoint as parameter as not used.
2005-10-20 Christophe Fergeau <teuf@gnome.org>
* tests/test-covers.c: (save_song_thumbnails): fix warning on amd64
2005-10-19 Jorg Schuler <jcsjcs at users.sourceforge.net>
* configure.ac: print warning and hint if ./mkinstalldirs is not
created (incompatibility between automake > 1.8 and all gettext
at least up to 0.14.4.
* TROUBLESHOOTING: added tips for missing ./mkinstalldirs and
po/Makefile.in.in
2005-10-17 Christophe Fergeau <teuf@gnome.org>
* src/db-image-parser.c: (get_pixel_data),
(ipod_image_new_from_mhni):
* src/itdb.h:
* src/itdb_itunesdb.c: (get_mhod): Changed type of the various fields
in the ItdbImage structures so that they match what they are in the
database on the iPod.
2005-10-15 Jorg Schuler <jcsjcs at users.sourceforge.net>
* src/itdb_itunesdb.c,itdb_private.h: fixes for 64 bit systems
* src/ipod-device.c: fixes for 64 bit systems (patch provided by
Bodo Bauer)
* TROUBLESHOOTING: hint for 64 bit compilation
2005-10-12 Christophe Fergeau <teuf@gnome.org>
* configure.ac:
* src/Makefile.am:
* tests/Makefile.am: fix compilation when hal is available, needs to
be tested on systems without hal
2005-10-11 Christophe Fergeau <teuf@gnome.org>
* src/itdb_itunesdb.c: (get_mhip): added missing parameter to
a g_warning call, this broke compilation on FC4
* src/itdb_track.c: (itdb_track_add/itdb_track_set_defaults): set
dbid if not set (thanks to Guilherme Salgado for pointing this
out)
* tests/.cvsignore: updated
2005-10-09 Jorg Schuler <jcsjcs at users.sourceforge.net>
* bindings/python/gpod.i: applied Kelvin Lawson's patch to query
integers.
* src/ipod-device.[ch],hal-common.[ch],Makefile.am: code ported
from libipoddevice to retrieve information about the iPod
without libhal dependence.
* tests/test-ipod-device.c: small script to show how to to query
the iPod for information.
* tests/Makefile.am: initialize <LIBS> with better default
* configure.ac: add dependency for libgobject
2005-10-02 Jorg Schuler <jcsjcs at users.sourceforge.net>
* Makefile.am: added bindings/... to EXTRA_DIST
* src/itdb.h, src/itdb_playlist.h, src/itdb_private.h: made enum
ItdbPlType and enum ItdbPlFlag private and introduced
itdb_playlist_set_mpl/_podcast() in addition to the existing
itdb_playlist_is_mpl/_podcast() which make the public enums
unecessary.
* bumped to version 107
* src/ithumb-writer.c: itdb_write_ithumb_files (): commented out
g_print() statement as this produced an empty line in gtkpod's
warning window.
* src/Makefile.am: GDKPIXPUF dependency solved inside source files
-- db-artwork-writer-dummy.c no longer required. Now compiles
with and without gdkpixbuf.
* configure.ac: fixed error in AC_DEFINE_UNQUOTED(HAVE_GDKPIXBUF).
* tests/test-covers.c: attached Flavio Stanchina size-patch
2005-09-29 Jorg Schuler <jcsjcs at users.sourceforge.net>
* applied Chrisophe's patch to make libgdk optional
2005-09-27 Jorg Schuler <jcsjcs at users.sourceforge.net>
* src/itdb_track.c: include thumbnails into itdb_track_duplicate()
(Christophe Fergeau)
* src/db-image-parser.c: support for iPod nano (Christophe
Fergeau)
* configure.c: make MacOS compatible (Tristan O'Tierney)
2005-09-27 Jorg Schuler <jcsjcs at users.sourceforge.net>
* .cvsignore: added reasonable defaults in ./ ./src/ ./tests ./po
* po/Makefile.in.in: removed, as it should be created by configure
* itdb.h, itdb_itunesdb.c, itdb_private.h: moved next_id from
Itdb_iTunesDB to FExport.
* bindings/phython/examples/tag-genrr-from-audioscrobber.py: added
(thanks to Nicholas Piper)
2005-09-27 Christophe Fergeau <teuf@gnome.org>
* src/itdb_itunesdb.c: (write_mhsd_tracks), (write_playlist_mhips),
(write_podcast_mhips): move variable declaration before code to fix
compilation
* src/db-artwork-parser.c: (ipod_parse_artwork_db):
* src/db-artwork-writer.c: (ipod_write_artwork_db):
* src/ithumb-writer.c: (ithumb_writer_new): added some sanity checks
to detect better when the iPod doesn't have any artwork data
2005-09-24 Jorg Schuler <jcsjcs at users.sourceforge.net>
* itdb.h/itdb_playlist.c: new functions: itdb_playlist_is_mpl()
and itdb_playlist_is_podcasts()
* itdb_track.c: update itdb_track_duplicate()
* itdb_itunesdb.c: read/write timestamp in playlists. Set
timestamp if previously unset.
* itdb_playlist.c: set timestamp when creating playlist, set
timestamp when adding playlist and no timestamp was set.
* Release of version 0.1.6
2005-09-23 Jorg Schuler <jcsjcs at users.sourceforge.net>
* bindings/: added python bindings provided by Nicholas Piper
<nick at nickpiper co uk>
* itdb.h: added enum ItdbPlFlag and Itdb_Playlist->podcastflag
field.
* itdb.h/itdb_itunesdb.c: added time_released field
* itdb_itunesdb.c: rewrote write_playlist() for easier
maintenance.
* itdb_itunesdb.c: read/write support for podcast playlists
including chapterdata (but only in raw format)
2005-09-22 Jorg Schuler <jcsjcs at users.sourceforge.net>
* applied Christophe Fergeau's patch which adds cover art writing
support to libgpod -> bump to version 104
2005-09-21 Jorg Schuler <jcsjcs at users.sourceforge.net>
* itdb_itunesdb.c: streamline parse_fimp() for more
flexibility. Please report if formerly readable iTunesDB cannot
be read any more :-/
2005-09-20 Jorg Schuler <jcsjcs at users.sourceforge.net>
* Release of 0.1.3
2005-09-19 Jorg Schuler <jcsjcs at users.sourceforge.net>
* added additional fields to Itdb_Track that are present since
version 0x0c of the iTunesDB. Write long mhit version.
* applied patch provided by Christophe Fergeau <teuf at gnome.org>
for artwork database support (read-only).
* itdb_itunesdb.c: read iTunesStats file if present (corresponds
to Play Counts file on the Shuffle).
* itdb.h: implemented sortorder in playlists (new enum)
2005-09-17 Jorg Schuler <jcsjcs at users.sourceforge.net>
* renamed fdesc to filetype
* po/it.po: updated (thanks to Edward Matteucci)
2005-09-16 Jorg Schuler <jcsjcs at users.sourceforge.net>
* itdb.h/itdb_itunesdb.c: changed 'static void
itdb_count_musicdirs()' to 'gint itdb_musicdirs_number()'
2005-09-14 Jorg Schuler <jcsjcs at users.sourceforge.net>
* autogen.sh: automatically call ./configure
* configure.ac: added supported languages de fr he it ja sv
* po/: added language files from gtkpod project
2005-09-13 Jorg Schuler <jcsjcs at users.sourceforge.net>
* itdb_itunesdb: changed API for itdb_filename_on_ipod ()
* itdb.h: added 'gint musicdirs' to Itdb_iTunesDB (number of
F.. dirs available)
* itdb_itunesdb: itdb_cp_track_to_ipod() will now determine the
number of available F.. dirs before copying by calling new
function itdb_count_musicdirs()
2005-09-11 Jorg Schuler <jcsjcs at users.sourceforge.net>
* configure.ac: changed position of AC_GNU_SOURCE (caused error
strange error messages)
* autogen.sh: replace so it works without gnome-common
* src/itdb.h: replaced '//' by '/* ... */' to avoid strange error
message during compile.
* src/itdb_playlist.c: (itdb_splr_validate)
Guilherme Salgado <salgado@freeshell.org> patch to make
'inthelast' SPL work.
* README: added some notes.
2005-09-10 Christophe Fergeau <teuf@gnome.org>
* configure.ac:
* src/itdb_itunesdb.c: (get_mhod_type), (get_mhod),
(get_mhod_string), (get_playlist), (get_mhit),
(itdb_shuffle_write_file):
* src/itdb_playlist.c: (itdb_spl_update_all):
* tests/itdb_main.c: (main): fixed compilation warnings to be able
to compile with -Werror
2005-09-10 Christophe Fergeau <teuf@gnome.org>
* README: added quick description of the library purpose
2005-09-10 Christophe Fergeau <teuf@gnome.org>
* AUTHORS:
* COPYING:
* INSTALL:
* Makefile.am:
* autogen.sh:
* configure.ac:
* libgpod-1.0.pc.in:
* po/Makefile.in.in:
* po/POTFILES.in:
* src/Makefile.am:
* src/itdb.h:
* src/itdb_itunesdb.c:
* src/itdb_playlist.c:
* src/itdb_private.h:
* src/itdb_track.c:
* tests/Makefile.am:
* tests/itdb_main.c: initial import
|