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 2853 2854 2855 2856 2857 2858 2859 2860 2861 2862 2863 2864 2865 2866 2867 2868 2869 2870 2871 2872 2873 2874 2875 2876 2877 2878 2879 2880 2881 2882 2883 2884 2885 2886 2887 2888 2889 2890 2891 2892 2893 2894 2895 2896 2897 2898 2899 2900 2901 2902 2903 2904 2905 2906 2907 2908 2909 2910 2911 2912 2913 2914 2915 2916 2917 2918 2919 2920 2921 2922 2923 2924 2925 2926 2927 2928 2929 2930 2931 2932 2933 2934 2935 2936 2937 2938 2939 2940 2941 2942 2943 2944 2945 2946 2947 2948 2949 2950 2951 2952 2953 2954 2955 2956 2957 2958 2959 2960 2961 2962 2963 2964 2965 2966 2967 2968 2969 2970 2971 2972 2973 2974 2975 2976 2977 2978 2979 2980 2981 2982 2983 2984 2985 2986 2987 2988 2989 2990 2991 2992 2993 2994 2995 2996 2997 2998 2999 3000 3001 3002 3003 3004 3005 3006 3007 3008 3009 3010 3011 3012 3013 3014 3015 3016 3017 3018 3019 3020 3021 3022 3023 3024 3025 3026 3027 3028 3029 3030 3031 3032 3033 3034 3035 3036 3037 3038 3039 3040 3041 3042 3043 3044 3045 3046 3047 3048 3049 3050 3051 3052 3053 3054 3055 3056 3057 3058 3059 3060 3061 3062 3063 3064 3065 3066 3067 3068 3069 3070 3071 3072 3073 3074 3075 3076 3077 3078 3079 3080 3081 3082 3083 3084 3085 3086 3087 3088 3089 3090 3091 3092 3093 3094 3095 3096 3097 3098 3099 3100 3101 3102 3103 3104 3105 3106 3107 3108 3109 3110 3111 3112 3113 3114 3115 3116 3117 3118 3119 3120 3121 3122 3123 3124 3125 3126 3127 3128 3129 3130 3131 3132 3133 3134 3135 3136 3137 3138 3139 3140 3141 3142 3143 3144 3145 3146 3147 3148 3149 3150 3151 3152 3153 3154 3155 3156 3157 3158 3159 3160 3161 3162 3163 3164 3165 3166 3167 3168 3169 3170 3171 3172 3173 3174 3175 3176 3177 3178 3179 3180 3181 3182 3183 3184 3185 3186 3187 3188 3189 3190 3191 3192 3193 3194 3195 3196 3197 3198 3199 3200 3201 3202 3203 3204 3205 3206 3207 3208 3209 3210 3211 3212 3213 3214 3215 3216 3217 3218 3219 3220 3221 3222 3223 3224 3225 3226 3227 3228 3229 3230 3231 3232 3233 3234 3235 3236 3237 3238 3239 3240 3241 3242 3243 3244 3245 3246 3247 3248 3249 3250 3251 3252 3253 3254 3255 3256 3257 3258 3259 3260 3261 3262 3263 3264 3265 3266 3267 3268 3269 3270 3271 3272 3273 3274 3275 3276 3277 3278 3279 3280 3281 3282 3283 3284 3285 3286 3287 3288 3289 3290 3291 3292 3293 3294 3295 3296 3297 3298 3299 3300 3301 3302 3303 3304 3305 3306 3307 3308 3309 3310 3311 3312 3313 3314 3315 3316 3317 3318 3319 3320 3321 3322 3323 3324 3325 3326 3327 3328 3329 3330 3331 3332 3333 3334 3335 3336 3337 3338 3339 3340 3341 3342 3343 3344 3345 3346 3347 3348 3349 3350 3351 3352 3353 3354 3355 3356 3357 3358 3359 3360 3361 3362 3363 3364 3365 3366 3367 3368 3369 3370 3371 3372 3373 3374 3375 3376 3377 3378 3379 3380 3381 3382 3383 3384 3385 3386 3387 3388 3389 3390 3391 3392 3393 3394 3395 3396 3397 3398 3399 3400 3401 3402 3403 3404 3405 3406 3407 3408 3409 3410 3411 3412 3413 3414 3415 3416 3417 3418 3419 3420 3421 3422 3423 3424 3425 3426 3427 3428 3429 3430 3431 3432 3433 3434 3435 3436 3437 3438 3439 3440 3441 3442 3443 3444 3445 3446 3447 3448 3449 3450 3451 3452 3453 3454 3455 3456 3457 3458 3459 3460 3461 3462 3463 3464 3465 3466 3467 3468 3469 3470 3471 3472 3473 3474 3475 3476 3477 3478 3479 3480 3481 3482 3483 3484 3485 3486 3487 3488 3489 3490 3491 3492 3493 3494 3495 3496 3497 3498 3499 3500 3501 3502 3503 3504 3505 3506 3507 3508 3509 3510 3511 3512 3513 3514 3515 3516 3517 3518 3519 3520 3521 3522 3523 3524 3525 3526 3527 3528 3529 3530 3531 3532 3533 3534 3535 3536 3537 3538 3539 3540 3541 3542 3543 3544 3545 3546 3547 3548 3549 3550 3551 3552 3553 3554 3555 3556 3557 3558 3559 3560 3561 3562 3563 3564 3565 3566 3567 3568 3569 3570 3571 3572 3573 3574 3575 3576 3577 3578 3579 3580 3581 3582 3583 3584 3585 3586 3587 3588 3589 3590 3591 3592 3593 3594 3595 3596 3597 3598 3599 3600 3601 3602 3603 3604 3605 3606 3607 3608 3609 3610 3611 3612 3613 3614 3615 3616 3617 3618 3619 3620 3621 3622 3623 3624 3625 3626 3627 3628 3629 3630 3631 3632 3633 3634 3635 3636 3637 3638 3639 3640 3641 3642 3643 3644 3645 3646 3647 3648 3649 3650 3651 3652 3653 3654 3655 3656 3657 3658 3659 3660 3661 3662 3663 3664 3665 3666 3667 3668 3669 3670 3671 3672 3673 3674 3675 3676 3677 3678 3679 3680 3681 3682 3683 3684 3685 3686 3687 3688 3689 3690 3691 3692 3693 3694 3695 3696 3697 3698 3699 3700 3701 3702 3703 3704 3705 3706 3707 3708 3709 3710 3711 3712 3713 3714 3715 3716 3717 3718 3719 3720 3721 3722 3723 3724 3725 3726 3727 3728 3729 3730 3731 3732 3733 3734 3735 3736 3737 3738 3739 3740 3741 3742 3743 3744 3745 3746 3747 3748 3749 3750 3751 3752 3753 3754 3755 3756 3757 3758 3759 3760 3761 3762 3763 3764 3765 3766 3767 3768 3769 3770 3771 3772 3773 3774 3775 3776 3777 3778 3779 3780 3781 3782 3783 3784 3785 3786 3787 3788 3789 3790 3791 3792 3793 3794 3795 3796 3797 3798 3799 3800 3801 3802 3803 3804 3805 3806 3807 3808 3809 3810 3811 3812 3813 3814 3815 3816 3817 3818 3819 3820 3821 3822 3823 3824 3825 3826 3827 3828 3829 3830 3831 3832 3833 3834 3835 3836 3837 3838 3839 3840 3841 3842 3843 3844 3845 3846 3847 3848 3849 3850 3851 3852 3853 3854 3855 3856 3857 3858 3859 3860 3861 3862 3863 3864 3865 3866 3867 3868 3869 3870 3871 3872 3873 3874 3875 3876 3877 3878 3879 3880 3881 3882 3883 3884 3885 3886 3887 3888 3889 3890 3891 3892 3893 3894 3895 3896 3897 3898 3899 3900 3901 3902 3903 3904 3905 3906 3907 3908 3909 3910 3911 3912 3913 3914 3915 3916 3917 3918 3919 3920 3921 3922 3923 3924 3925 3926 3927 3928 3929 3930 3931 3932 3933 3934 3935 3936 3937 3938 3939 3940 3941 3942 3943 3944 3945 3946 3947 3948 3949 3950 3951 3952 3953 3954 3955 3956 3957 3958 3959 3960 3961 3962 3963 3964 3965 3966 3967 3968 3969 3970 3971 3972 3973 3974 3975 3976 3977 3978 3979 3980 3981 3982 3983 3984 3985 3986 3987 3988 3989 3990 3991 3992 3993 3994 3995 3996 3997 3998 3999 4000 4001 4002 4003 4004 4005 4006 4007 4008 4009 4010 4011 4012 4013 4014 4015 4016 4017 4018 4019 4020 4021 4022 4023 4024 4025 4026 4027 4028 4029 4030 4031 4032 4033 4034 4035 4036 4037 4038 4039 4040 4041 4042 4043 4044 4045 4046 4047 4048 4049 4050 4051 4052 4053 4054 4055 4056 4057 4058 4059 4060 4061 4062 4063 4064 4065 4066 4067 4068 4069 4070 4071 4072 4073 4074 4075 4076 4077 4078 4079 4080 4081 4082 4083 4084 4085 4086 4087 4088 4089 4090 4091 4092 4093 4094 4095 4096 4097 4098 4099 4100 4101 4102 4103 4104 4105 4106 4107 4108 4109 4110 4111 4112 4113 4114 4115 4116 4117 4118 4119 4120 4121 4122 4123 4124 4125 4126 4127 4128 4129 4130 4131 4132 4133 4134 4135 4136 4137 4138 4139 4140 4141 4142 4143 4144 4145 4146 4147 4148 4149 4150 4151 4152 4153 4154 4155 4156 4157 4158 4159 4160 4161 4162 4163 4164 4165 4166 4167 4168 4169 4170 4171 4172 4173 4174 4175 4176 4177 4178 4179 4180 4181 4182 4183 4184 4185 4186 4187 4188 4189 4190 4191 4192 4193 4194 4195 4196 4197 4198 4199 4200 4201 4202 4203 4204 4205 4206 4207 4208 4209 4210 4211 4212 4213 4214 4215 4216 4217 4218 4219 4220 4221 4222 4223 4224 4225 4226 4227 4228 4229 4230 4231 4232 4233 4234 4235 4236 4237 4238 4239 4240 4241 4242 4243 4244 4245 4246 4247 4248 4249 4250 4251 4252 4253 4254 4255 4256 4257 4258 4259 4260 4261 4262 4263 4264 4265 4266 4267 4268 4269 4270 4271 4272 4273 4274 4275 4276 4277 4278 4279 4280 4281 4282 4283 4284 4285 4286 4287 4288 4289 4290 4291 4292 4293 4294 4295 4296 4297 4298 4299 4300 4301 4302 4303 4304 4305 4306 4307 4308 4309 4310 4311 4312 4313 4314 4315 4316 4317 4318 4319 4320 4321 4322 4323 4324 4325 4326 4327 4328 4329 4330 4331 4332 4333 4334 4335 4336 4337 4338 4339 4340 4341 4342 4343 4344 4345 4346 4347 4348 4349 4350 4351 4352 4353
|
2009-08-19 Todd Zullinger <tmz@pobox.com>
* gnome-autogen.sh: Sync gnome-autogen.sh for automake-1.11
support
The gnome-autogen.sh script comes from the gnome-common
module[1]. The only difference here is that we removed the
-Wno-portability option from the call to automake, as we want
to see these portability warnings.
[1] http://git.gnome.org/cgit/gnome-common/tree/macros2/gnome-autogen.sh
2009-08-19 Christophe Fergeau <cfergeau@mandriva.com>
* configure.ac: use automake 1.11 AM_SILENT_RULES feature (if
available) instead of using shave
2009-08-01 Jorg Schuler <jcsjcs at users.sourceforge.net>
* po/de.po: updated German catalog. Thanks to Kai-Ove Pietsch.
2009-06-23 Christophe Fergeau <cfergeau@mandriva.com>
* src/Makefile.am: add missing header file to list of headers, fixes
make distcheck. Patch by "skemper"
2009-06-06 Christophe Fergeau <cfergeau@mandriva.com>
* configure.ac:
* m4/shave.m4:
* shave.in:
* shave-libtool.in: add 'shave' to make compilation logs much less
verbose (this will be superseded by the similar feature provided by
automake 1.11)
2009-06-05 Christophe Fergeau <cfergeau@mandriva.com>
* src/Makefile.am:
* src/itdb_device.c:
* src/itdb_tzinfo.c:
* src/itdb_tzinfo_data: move timezone related functions in their
own file, adds mapping from city names (present in the iPod
Preferences file) to timezone shift to be able to interpret
accurately timestamps from iPod Classic and similiar models.
2009-05-19 Christophe Fergeau <cfergeau@mandriva.com>
* src/itdb_itunesdb.c: make sure playcounts is initialized before it's
used
2009-05-17 Christophe Fergeau <cfergeau@mandriva.com>
* src/itdb_device.c: add info for black Shuffle 4G
2009-05-10 Christophe Fergeau <cfergeau@mandriva.com>
* tests/get-timezone.c: call g_type_init to avoid tons of glib
warnings when reading the SysInfoExtended file.
2009-05-10 Christophe Fergeau <cfergeau@mandriva.com>
* src/itdb_device.c: seems the logic in get_local_timezone was
inverted, negate the calculated offset before returning it to be
consistant with the values we calculate from iPod data
2009-05-02 Christophe Fergeau <cfergeau@mandriva.com>
* tools/hal-callout.c: mount ipod to collect more ipod
properties
2009-05-02 Christophe Fergeau <cfergeau@mandriva.com>
* tools/hal-callout.c: set ipod.images.formats in hal
2009-05-02 Christophe Fergeau <cfergeau@mandriva.com>
* tools/hal-callout.c: parse ipod production info and insert it
in hal
2009-05-02 Christophe Fergeau <cfergeau@mandriva.com>
* tools/hal-callout.c: set ipod model, ipod color and ipod
generation properties
2009-05-02 Christophe Fergeau <cfergeau@mandriva.com>
* tools/Makefile.am:
* tools/hal-callout.c: populate hal ipod device tree with
extended ipod information
2009-05-02 Christophe Fergeau <cfergeau@mandriva.com>
* src/itdb_device.c:
* src/itdb_device.h: add itdb_ipod_info_from_serial function
2009-05-02 Christophe Fergeau <cfergeau@mandriva.com>
* src/itdb_sysinfo_extended_parser.c:
* src/itdb_sysinfo_extended_parser.h: add functions to parse
SysInfoExtended from memory
2009-05-02 Christophe Fergeau <cfergeau@mandriva.com>
* tools/Makefile.am: use hal flags when compiling the HAL callout
2009-05-02 Christophe Fergeau <cfergeau@mandriva.com>
* src/itdb_device.c: add API doc to the cover art functions
2009-05-02 Christophe Fergeau <cfergeau@mandriva.com>
Patch from: Erik Hovland <erik@hovland.org>
Remove or rework any dead code.
* src/db-artwork-parser.c: ctx is guaranteed to be null. So the
conditional never executes.
* src/itdb_device.c: fix logic error which would cause the else
clause to never be executed.
* src/itdb_itunesdb.c: dir_file is already guaranteed to be non-null.
* tests/test-ls.c: error cannot be true.
2009-05-02 Christophe Fergeau <cfergeau@mandriva.com>
Patch from: Erik Hovland <erik@hovland.org>
Make sure pointers are valid when necessary.
* src/itdb_itunesdb.c: m53 might be null. Check before dereferencing
to count.
* src/ithumb-writer.c: Since there is an assert for
artwork->thunmbnail->data_type, we have to check artwork->thumbnail
before. Not after. So do an assert on that pointer too.
* tests/test-sysinfo-extended-parsing.c: If props is null both
itdb_sysinfo_properties_dump and itdb_sysinfo_properties_free
will segfault. Better to just return.
2009-05-02 Christophe Fergeau <cfergeau@mandriva.com>
* src/ithumb-writer.c: readd needed include
2009-05-02 Christophe Fergeau <cfergeau@mandriva.com>
Patch from: Erik Hovland <erik@hovland.org>
* src/db-artwork-writer.c: remove useless assignment of mhba
2009-05-02 Christophe Fergeau <cfergeau@mandriva.com>
Patch from: Erik Hovland <erik@hovland.org>
* src/itdb_itunesdb.c: don't access out of 'db' bounds when
building the pathname in an error case
2009-05-02 Christophe Fergeau <cfergeau@mandriva.com>
Patch from: Erik Hovland <erik@hovland.org>
* src/db-image-parser.c:
* src/itdb_chapterdata.c:
* src/itdb_itunesdb.c:
* src/itdb_track.c:
* src/ithumb-writer.c:
* tests/test-fw-id.c:
* tests/test-photos.c: remove unused includes
2009-05-02 Christophe Fergeau <cfergeau@mandriva.com>
* src/itdb_device.c: add model information for silver shuffle 4G
2009-05-02 Christophe Fergeau <cfergeau@mandriva.com>
* docs/reference/tmp
* src/itdb.h
* src/itdb_device.c: Add shuffle 4g information
For now, there is no model specific information. The new enum members
were added to the end to keep the ABI compatible. It's unknown at
this time if the new shuffles need some kind of hash.
2009-05-02 Christophe Fergeau <cfergeau@mandriva.com>
Patch from: Eric Lassauge
* tools/Makefile.am: don't try to compile ipod-time-sync when HAL
is disabled
2009-04-15 Todd Zullinger <tmz@pobox.com>
* configure.ac: Bump version to 0.7.3SVN for further development
* configure.ac: Bump version for 0.7.2 final
2009-04-05 Christophe Fergeau <cfergeau@mandriva.com>
* configure.ac: time for a rc2 since we had forgotten a few
interesting patches.
2009-04-05 Christophe Fergeau <cfergeau@mandriva.com>
Patch from: Javier Kohen:
* src/itdb_itunesdb.c: avoid O(N^2) behaviour in main tracklist
parsing.
2009-04-05 Christophe Fergeau <cfergeau@mandriva.com>
Patch from: Javier Kohen:
* src/itdb_itunesdb.c: avoid O(N^2) behaviour in playcount reading
2009-04-05 Christophe Fergeau <cfergeau@mandriva.com>
Patch from: Javier Kohen:
* src/itdb_itunesdb.c: rename playcount_get_next to
playcount_take_next which is a more descriptive name
2009-04-05 Christophe Fergeau <cfergeau@mandriva.com>
Patch from: Erik Hovland
* src/itdb_thumb.c: don't shadow itdb_thumb_to_pixbuf_at_size
parameter with a local variable.
2009-04-04 Todd Zullinger <tmzullinger at users.sourceforge.net>
* configure.ac: Bump version and soname for 0.7.2rc1
2009-04-03 Todd Zullinger <tmzullinger at users.sourceforge.net>
* docs/reference/libgpod-sections.txt
docs/reference/tmpl/device.sgml
src/itdb_device.c: Update documenation. Add new
itdb_device_supports_{chapter_image,podcast} functions and
mark some other additions as private.
* po/de.po
po/es.po
po/fr.po
po/he.po
po/it.po
po/ja.po
po/libgpod.pot
po/ro.po
po/sv.po
po/zh_CN.po: Update po files
* po/POTFILES.in: Add tools/ipod-time-sync.c
2009-03-29 Christophe Fergeau <cfergeau@mandriva.com>
* src/itdb_device.c: don't call tzset even when calling localtime_r
since we aren't interested in its side effects.
2009-03-26 Christophe Fergeau <cfergeau@mandriva.com>
* tools/ipod-scsi.c:
* tools/ipod-time-sync.c: add ipod time sync support using
information from the rockbox project. It's still preliminary.
2009-03-22 Christophe Fergeau <cfergeau@mandriva.com>
* src/itdb_device.c: add warning about itdb_set_mountpoint use,
describe model_number parameter of itdb_init_ipod
* src/itdb_itunesdb.c: add warning about itdb_device_read_sysinfo
and itdb_device_set_mountpoint use, explain when
itdb_device_get_ipod_info_table can be useful.
* doc/reference/libgpod-sections.txt: move around a few functions
(mainly itdb_init_ipod and itdb_device_*_sysinfo_*)
2009-03-21 Christophe Fergeau <cfergeau@mandriva.com>
Patch from: Andrew W. Nosenko <andrew.nosenko@toatech.com>
Avoid using of the global variable 'timezone' in favor of struct
tm.tm_gmtoff (if available).
* src/itdb_device.c (get_local_timezone): Use struct tm.tm_gmtoff
if available (through localtime_r() or localtime(), depending on
the localtime_r() existence) if available and fallback to the
'timezone' or _timezone global variables if struct tm.tm_gmtoff
field is not available.
* configure.ac: Check for existence of localtime_r() function and
struct tm.tm_gmtoff field.
Avoid using of the global variable 'timezone' in favor of struct
tm.tm_gmtoff (if available).
* src/itdb_device.c (get_local_timezone): Use struct tm.tm_gmtoff
if available (through localtime_r() or localtime(), depending on
the localtime_r() existence) if available and fallback to the
'timezone' or _timezone global variables if struct tm.tm_gmtoff
field is not available.
* configure.ac: Check for existence of localtime_r() function and
struct tm.tm_gmtoff field.
2009-03-21 Christophe Fergeau <cfergeau@mandriva.com>
Patch from: Jorg Schuller
* src/itdb_itunesdb.c: simplify pos_comp, make get_playlist more
efficient
2009-03-21 Christophe Fergeau <cfergeau@mandriva.com>
* src/itdb_itunesdb.c: remove commented out code
(g_return_val_if_fail)
2009-03-14 Christophe Fergeau <cfergeau@mandriva.com>
* src/itdb_device.c: directly read firewire ID from SysInfoExtended
when it's available.
2009-03-14 Christophe Fergeau <cfergeau@mandriva.com>
* src/itdb.h
* src/itdb_device.c
* src/itdb_device.h: add itdb_device_supports_chapter_image method
to test if an iPod support chapter images or not.
2009-03-14 Christophe Fergeau <cfergeau@mandriva.com>
* src/itdb_device.c: factorize some code in legacy artwork
handling
2009-03-14 Christophe Fergeau <cfergeau@mandriva.com>
* src/itdb.h:
* src/itdb_device.c:
* src/itdb_sysinfo_extended_parser.c:
* src/itdb_sysinfo_extended_parser.h: add
itdb_device_supports_podcast method to test if an iPod supports
podcasts or not.
2009-03-14 Jorg Schuler <jcsjcs at users.sourceforge.net>
* src/itdb_itunesdb.c
src/itdb_private.h
Implement reading of big/little endian integers/floats using
references to the respective functions rather than if/then
statements. Thanks to Javier Kohen for the patch.
2009-03-01 Christophe Fergeau <cfergeau@mandriva.com>
* src/itdb_device.c: fix nano3g/ipod classic artwork information
2009-02-28 Christophe Fergeau <cfergeau@mandriva.com>
* src/itdb_itunesdb.c: Set field at offset 0x70 in the mhbd to 2
If this field isn't set to 2, iTunes thinks databases written
to the iPhone are corrupted
2009-02-28 Javier Kohen <jkohen@users.sourceforge.net>
* src/itdb_itunesdb.c:
* src/itdb_private.h: avoid linked list scans in get_playlist/get_mhip.
Replaced code that scanned the linked list twice on each
insertion (once for sorting, once for finding the previous
insert position) by a single sort and scan at the end.
As a side-effect removed dependency of get_mhip on Itdb
structures (easier to unittest, etc.).
2009-02-28 Javier Kohen <jkohen@users.sourceforge.net>
* src/db-artwork-parser: replace linear look-up of songs with
local hashtable.
2009-02-09 Christophe Fergeau <teuf@gnome.org>
*Â src/itdb_itunesdb.c: fix crash when generating the album list
when a track has a NULL album. Thanks to Peter and Todd for
reporting that bug and pinpointing what was wrong.
2009-01-31 Todd Zullinger <tmzullinger at users.sourceforge.net>
* README.SysInfo: Add info on determining FirewireGUID on
FreeBSD. Also reformat the text to make the example commands
stand out more.
2009-01-31 Todd Zullinger <tmzullinger at users.sourceforge.net>
* configure.ac: Remove unused expanded_libdir definition. This
was only used when setting the hal callout dir, and is no
longer needed.
2009-01-31 Todd Zullinger <tmzullinger at users.sourceforge.net>
* Makefile.am, configure.ac, tools/Makefile.am, TROUBLESHOOTING:
Improve the default hal callout path. The search path hal uses
for its callouts differs on various platforms. The new path
should work on more systems out of the box. The fdi file now
also defaults to a path more likely to work by default.
2009-01-31 Todd Zullinger <tmzullinger at users.sourceforge.net>
* bindings/python/Makefile.am, configure.ac:
Only use PYGOBJECT_{CFLAGS,LIBS} in bindings/python. Thanks
to Frank Lichtenheld (fixes Debian bug #452829).
2009-01-21 Christophe Fergeau <teuf at gnome.org>
* src/itdb_device.c: fix itdb_device_new prototype
2009-01-21 Christophe Fergeau <teuf at gnome.org>
* src/itdb_device.c: itdb_device_get_checksum_type can be static
2009-01-21 Christophe Fergeau <teuf at gnome.org>
* src/itdb_device.c: itdb_device_write_hash58 should only be called
on devices supporting this hash type, it's a programming error to
call it with something else
2009-01-21 Christophe Fergeau <teuf at gnome.org>
* src/itdb_device.c: set the hashing scheme in
itdb_device_write_checksum instead of doing it in itdb_itunesdb,
allows more flexibility if we ever add different checksumming
methods
2009-01-21 Christophe Fergeau <teuf at gnome.org>
* src/itdb_device.c:
* src/itdb_private.h: get rid of itdb_device_requires_checksum
which is now unused
2009-01-21 Christophe Fergeau <teuf at gnome.org>
* src/itdb_device.c:
* src/itdb_device.h:
* src/itdb_itunesdb.c: move checksumming function from
itdb_itunesdb.c to itdb_device.c to make it easier to support
different checksumming methods depending on the ipod model
2009-01-21 Christophe Fergeau <teuf at gnome.org>
* src/db-itunes-parser.h: add tons of new fields to struct MhbdHeader
2009-01-20 Christophe Fergeau <teuf at gnome.org>
* src/itdb_itunesdb.c: generate list of albums and write it in a
MHLA header in the iTunesDB
* src/itdb_private.h: store album list in FExport
2009-01-20 Christophe Fergeau <teuf at gnome.org>
* src/itdb_itunesdb.c: add new enum value for MHOD types found as
children of the MHLA header (list of albums)
2009-01-18 Todd Zullinger <tmzullinger at users.sourceforge.net>
* configure.ac: Bump version to 0.7.1SVN for further development
* configure.ac: Bump version for 0.7.0 final
* src/db-artwork-parser.c: Quiet artwork mhii_link warning
2009-01-17 Christophe Fergeau <teuf at gnome.org>
* src/itdb_device.c: Silver iPod Classic 160GB is B145, not B155
(noticed thanks to a Banshee bug report, verified on ebay sales of
such iPods)
2009-01-14 Jorg Schuler <jcsjcs at users.sourceforge.net>
* po/ro.po: updated Romanian translation. Thanks to Alex
Eftimie.
2009-01-13 Todd Zullinger <tmzullinger at users.sourceforge.net>
* README.SysInfo, TROUBLESHOOTING: Add some notes on the hal
callout
* TROUBLESHOOTING: Minor grammatical fixes
2009-01-13 Christophe Fergeau <teuf at gnome.org>
* itdb_sysinfo_extended_parser.c: use a gint instead of a gchar as a
loop index since we are comparing against >= 0
2009-01-11 Jorg Schuler <jcsjcs at users.sourceforge.net>
* src/itdb_itunesdb.c (itdb_rename_files): remove the
"iTunesStats" file used by Shuffles instead of the "Play Counts"
file after writing the iTunesSD -- otherwise the playcounts are
never reset. Thanks to Peter Maydell for pointing this
out. Fixes tracker item #2481322.
2009-01-06 Todd Zullinger <tmzullinger at users.sourceforge.net>
* po/zh_CN.po: Add simple Chinese translation (Tan Zhixin)
2009-01-05 Todd Zullinger <tmzullinger at users.sourceforge.net>
* po/de.po: Update German translation (Jonas Cleve)
2009-01-02 Todd Zullinger <tmzullinger at users.sourceforge.net>
* configure.ac: Bump version for 0.7.0rc2
* docs/reference/tmpl/track.sgml, src/itdb.h:
Document Itdb_Track->album_id
* bindings/python/ipod.py:
Make Track.get_coverart() return None if artwork is absent
2009-01-02 Christophe Fergeau <teuf@gnome.org>
* NEWS: more news, hope the packagers will notice the new
libxml2-devel dependency...
2009-01-02 Christophe Fergeau <teuf@gnome.org>
* src/Makefile.am: we need to link with -lm since ithumb-writer.c
uses round and ceil
2009-01-02 Christophe Fergeau <teuf@gnome.org>
* NEWS: update NEWS file, I probably forgot some things, feel free
to update it :)
2009-01-01 Christophe Fergeau <teuf@gnome.org>
* src/itdb_device.c: fix static artwork formats for the nano4g, C&P
is really a bad thing ;)
2009-01-01 Christophe Fergeau <teuf@gnome.org>
* src/itdb.h: add album_id field to Itdb_Track. It's unused yet but
will be used later and adding it now will avoid ABI breakage later
;)
2008-12-29 Christophe Fergeau <teuf@gnome.org>
* src/itdb_device.c: add serial number for silver and pink
16GB nano 4g, the last missing ones :)
2008-12-28 Todd Zullinger <tmzullinger at users.sourceforge.net>
* bindings/python/gtkpod.py:
Python: fix sha DeprecationWarning with python-2.6 (thanks to
Alex Ghitza)
2008-12-26 Todd Zullinger <tmzullinger at users.sourceforge.net>
* po/es.po: Update Spanish translation (Alejandro Lamas Daviña)
2008-12-22 Christophe Fergeau <teuf@gnome.org>
* src/itdb_device.c: I didn't mean to commit that hunk
from Neil's patch, adding a model name here with no
matching entry in the model enum would break building
a user visible list of known ipod models
2008-12-22 Christophe Fergeau <teuf@gnome.org>
* src/itdb_device.c: add ipod shuffle info from Neil Campbell
2008-12-22 Christophe Fergeau <teuf@gnome.org>
* src/itdb_device.c: add serial number for yellow and green
16GB nano 4g.
2008-12-18 Christophe Fergeau <teuf@gnome.org>
* src/itdb_device.c: add serial number for purple 16GB nano 4g,
thanks to Ronald for providing the information
2008-12-16 Daniele Forsi <dforsi at users.sourceforge.net>
* po/it.po: updated Italian translation
2008-12-15 Jorg Schuler <jcsjcs at users.sourceforge.net>
* src/itdb_plist.c: substitute g_base64_decode() between version
2.8 and 2.11 of glib.
* src/itdb_device.c: handle timezone correctly on CYGWIN
Patches courtesy of Ăric Lassauge.
2008-12-13 Jorg Schuler <jcsjcs at users.sourceforge.net>
* po/fr.po: Update French translation (Ăric Lassauge)
2008-12-12 Christophe Fergeau <teuf@gnome.org>
* src/itdb_device.c: add hardcoded table for nano4g artwork
formats. I haven't tested I got everything perfectly right so there
might be issues with them. Thanks to Tijs van Roon for pinpointing
these missing tables
2008-12-12 Christophe Fergeau <teuf@gnome.org>
* src/itdb_device.c: add serial number for 16GB Orange Nano 4g,
thanks to Tijs van Roon for providing the data
2008-12-10 Todd Zullinger <tmzullinger at users.sourceforge.net>
* po/he.po: Update Hebrew translation (Assaf Gillat)
* po/sv.po: Update Swedish translation (Stefan AsserhÀll)
2008-12-08 Todd Zullinger <tmzullinger at users.sourceforge.net>
* configure.ac: Bump version and soname for 0.7.0rc1
* po/de.po
po/es.po
po/fr.po
po/he.po
po/it.po
po/ja.po
po/libgpod.pot
po/ro.po
po/sv.po: Update po files
2008-12-07 Todd Zullinger <tmzullinger at users.sourceforge.net>
* docs/reference/libgpod-docs.xml
docs/reference/libgpod-sections.txt
docs/reference/tmpl/artwork.sgml
docs/reference/tmpl/chapterdata.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/photodb.sgml
docs/reference/tmpl/track.sgml
src/itdb.h
src/itdb_artwork.c
src/itdb_chapterdata.c
src/itdb_device.c
src/itdb_device.h
src/itdb_itunesdb.c
src/itdb_photoalbum.c
src/itdb_playlist.c
src/itdb_plist.c
src/itdb_sysinfo_extended_parser.c
src/itdb_thumb.c
src/itdb_thumb.h
src/itdb_track.c
src/ithumb-writer.c:
Update API documentation
Add new functions and missing enums, macros, and structs to the proper
places in the documentation, remove old/unused functions, and clean up
various minor issues.
2008-12-07 Jorg Schuler <jcsjcs at users.sourceforge.net>
* itdb_itunesdb.c (jump_table_letter): don't terminate when
an invalid utf8 string is encountered (replaced g_assert() with
g_return_val_if_fail()).
2008-11-30 Jorg Schuler <jcsjcs at users.sourceforge.net>
* configure.ac: don't add "-Wall" to CFLAGS
unconditionally. I believe this line was overlooked when this
issue was fixed earlier. Thanks to Tim Mooney.
2008-11-30 Jorg Schuler <jcsjcs at users.sourceforge.net>
* src/db-parse-context.h: remove unneeded G_GNUC_INTERNAL at the
end of a declaration as this can cause problems with some
compilers (and doesn't seem to make sense in the first
place). Thanks to Tim Mooney.
2008-11-17 Christophe Fergeau <teuf@gnome.org>
* src/ithumb-writer.c: rework the way we calculate that thumbnails
must be resized to when being transferred to the ipod. The old way
had rounding errors which led to display bugs on the nano4g (in the
album list)
2008-11-17 Christophe Fergeau <teuf@gnome.org>
* src/ithumb-writer.c: stricter sanity check
2008-11-17 Christophe Fergeau <teuf@gnome.org>
* src/ithumb-writer.c: add checks for int overflows on malloc args
2008-11-14 Todd Zullinger <tmzullinger at users.sourceforge.net>
* docs/reference/tmpl/track.sgml
src/itdb.h:
Remove chapterdata_raw and chapterdata_raw_length from
Itdb_Track
These are no longer needed now that proper Chapter Data
support is available (since svn revision 1936/1937).
2008-10-21 Christophe Fergeau <teuf@gnome.org>
* src/itdb_device.c: SN YX6 corresponds to a Shuffle model B225
according to a report on #gtkpod
2008-10-21 Christophe Fergeau <teuf@gnome.org>
* src/itdb_device.c: use information from SysInfoExtended to tell
if an ipod supports photos or not instead of only using the
hard-coded tables in libgpod
2008-10-21 Christophe Fergeau <teuf@gnome.org>
* src/itdb_device.c: add serial number for 16GB blue ipod nano,
thanks to Thomas Pani for providing that SN.
2008-10-13 Christophe Fergeau <teuf@gnome.org>
* src/itdb_device.c: add serial number for 16GB black ipod nano,
thanks to Doug Larrick for providing that SN :)
2008-10-07 Christophe Fergeau <teuf@gnome.org>
* src/db-artwork-debug.c: use %z modifier to print size_t values
and G_GINT64_MODIFIER to print 64 bit values, fix compilation
on 64 bit systems when artwork debugging is enabled
2008-10-08 Christophe Fergeau <teuf@gnome.org>
* src/itdb_device.h: switch members in Itdb_ArtworkFormat from
guint16 to gint since the SysInfoExtended parser will assume
they are gint value and will try to write to them through a
gint* pointer (ie it will overwrite whatever is around the
guint16 value if we don't change it)
2008-10-07 Christophe Fergeau <teuf@gnome.org>
* src/itdb_device.c: fix itdb_device_supports_artwork to properly
take into account data from SysInfoExtended if available
2008-10-07 Christophe Fergeau <teuf@gnome.org>
* src/itdb_sysinfoextended_parser.c: artwork is stored in <array>
nodes (which are parsed to a GValueArray), reflect that in the
SysInfoExtended parsing code.
2008-10-07 Christophe Fergeau <teuf@gnome.org>
* src/itdb_plist.c: fix handling on blank nodes (ie nodes
containing only white spaces), fixes parsing of SysInfoExtended files
as well ;)
2008-10-07 Christophe Fergeau <teuf@gnome.org>
* src/itdb_plist.c: add support for <array> tags to the plist
parser, this is needed to support SysInfoExtended files as found on
on the 4g nanos
2008-10-05 Christophe Fergeau <teuf@gnome.org>
* src/itdb_device.c: add serial number for the 8GB Silver Nano 4g
and model number for the 4GB Blue Nano 4g
2008-10-01 Christophe Fergeau <teuf@gnome.org>
* src/itdb_device.c: a few more fixes in device model
numbers/serials
2008-10-01 Christophe Fergeau <teuf@gnome.org>
* src/itdb_device.c: add missing name for the yellow ipod nano
2008-10-01 Christophe Fergeau <teuf@gnome.org>
* src/itdb_device.c: and add SN for the 8GB Red Nano
2008-10-01 Christophe Fergeau <teuf@gnome.org>
* src/itdb_device.c: add SN for 16GB Red Nano
2008-10-01 Christophe Fergeau <teuf@gnome.org>
* src/itdb.h: add enum entries for the new ipod classic and the new
nanos
* src/itdb_device.c: add entries for the new nanos and the new ipod
classic, add some serial numbers for older ipod models
2008-09-11 Christophe Fergeau <teuf@gnome.org>
* src/itdb_device.c: add missing string description for the red ipod
shuffle that was added some time ago, without it gtkpod was badly
broken wrt ipod model selection :-/
2008-08-23 Todd Zullinger <tmzullinger at users.sourceforge.net>
* bindings/python/ipod.py
bindings/python/tests/tests.py:
Add a quiet parameter to Database.remove() and use it in
tests
* bindings/python/ipod.py:
Be more consistent with other python container objects and
classes
This enables testing whether a key exists in an object (e.g.
"'title' in track") as well as iterating over a Track or
Photo object's keys, values, or items. The items() and
pairs() methods were renamed to values() and items(),
respectively, in the Track and Photo classes.
* bindings/python/tests/tests.py:
Whitespace cleanup
* bindings/python/ipod.py:
Set the mediatype field for Track objects
2008-08-20 Todd Zullinger <tmzullinger at users.sourceforge.net>
* bindings/python/examples/save_photos.py
bindings/python/gpod.i.in
bindings/python/ipod.py
bindings/python/tests/tests.py:
Update python bindings to work with the new thumbnail API.
This removes sw_get_artwork_thumbnails() and the Thumbnail
class from the python bindings. The get_pixbuf() function
is now in the Photo class.
2008-08-09 Paul Richardson <phantom_sf at users.sourceforge.net>
* Added eclipse project related files to svn:ignore
* src/db-artwork-parser.c
src/itdb.h
src/itdb_photoalbum.c:
Added to Itdb_PhotoAlbum, a reference to its parent Photo DB.
When albums are constructed upon loading of the Photo DB, the
reference is added as part of initialisation.
2008-08-09 Todd Zullinger <tmzullinger at users.sourceforge.net>
* src/itdb_playlist.c
tests/test-ls.c: Remove uses of deprecated itdb_time_* functions
2008-08-03 Jorg Schuler <jcsjcs at users.sourceforge.net>
* src/ithumb-writer (ithumb_writer_handle_pixbuf_transform):
handle rotation correctly: don't interchange width and height
for the thumbnail on the iPod.
2008-08-02 Todd Zullinger <tmzullinger at users.sourceforge.net>
* src/itdb_track.c: Fix typo in itdb_track_get_thumbnail() doc
comment
2008-07-31 Christophe Fergeau <teuf@gnome.org>
* configure.ac: s/test -a/test -e/ since this is what I really
meant, thanks tmz
2008-07-31 Christophe Fergeau <teuf@gnome.org>
* configure.ac: instead of looking for .svn or {arch}, look for
autogen.sh to decide if we are compiling a version checked out from
svn or a release tarball.
2008-07-31 Christophe Fergeau <teuf@gnome.org>
* src/itdb_device.h:
* src/itdb_plist.h: move itdb_device_error_quark from itdb_plist.h
to itdb_device.h
2008-07-30 Todd Zullinger <tmzullinger at users.sourceforge.net>
* docs/reference/tmpl/track.sgml
src/itdb.h
src/itdb_itunesdb.c: Rename unk146 to explicit_flag in
Itdb_Track now that it's purpose is known
2008-07-27 Christophe Fergeau <teuf@gnome.org>
* src/itdb_sysinfo_extended_parser.c:
* src/itdb_plist.c: add gtk-doc documentation
2008-07-27 Christophe Fergeau <teuf@gnome.org>
* src/itdb_sysinfo_extended_parser.c:
* src/itdb_sysinfo_extended_parser.h: add a GError argument to
SysInfoExtended parsing functions
* src/itdb_device.c: pass NULL GError argument to call to
SysInfoExtended functions
* tests/test-sysinfo-extended.c: add a GError argument when calling
SysInfoExtended parsing functions
2008-07-27 Christophe Fergeau <teuf@gnome.org>
* src/itdb_device.c: add itdb_device_error_quark()
* src/itdb_plist.h:
* src/itdb_plist.c: add error handling to XML parsing (using
GError)
* src/itdb_sysinfo_extended_parser.c: pass a NULL GError to call to
plist parsing function
2008-07-26 Christophe Fergeau <teuf@gnome.org>
* tests/test-fw-id.c: (main): add missing call to g_type_init
2008-07-20 Jorg Schuler <jcsjcs at users.sourceforge.net>
* src/ithumb-writer.c (pack_RGB_565), (pack_RGB_555)
(pack_RGB_888): handle horizontal padding correctly
(affected pictures in portrait format).
* src/itdb_device.c: added some comments.
2008-07-18 Jorg Schuler <jcsjcs at users.sourceforge.net>
* src/itdb_device.c (itdb_device_set_timezone_info): avoid g_stat
on NULL filename. Thanks to Andrea.
2008-07-18 Jorg Schuler <jcsjcs at users.sourceforge.net>
* src/itdb_device.c: assume the following generations do not
support sparse artwork:
ITDB_IPOD_GENERATION_NANO_1:
ITDB_IPOD_GENERATION_NANO_2:
ITDB_IPOD_GENERATION_VIDEO_1:
ITDB_IPOD_GENERATION_VIDEO_2:
2008-07-17 Todd Zullinger <tmzullinger at users.sourceforge.net>
* README
bindings/python/gpod.i.in
bindings/python/ipod.py
docs/reference/libgpod-sections.txt
docs/reference/tmpl/artwork.sgml
docs/reference/tmpl/itunesdb-db.sgml
src/itdb.h: Remove references to itdb_thumb_get_gdk_pixbuf()
2008-07-10 Christophe Fergeau <teuf@gnome.org>
* src/db-artwork-writer.c: if we fail to write ithmb files for some
reason, don't go on trying to write the ArtworkDB/PhotoDB as well
2008-07-09 Todd Zullinger <tmzullinger at users.sourceforge.net>
* po/POTFILES.in: add src/itdb_thumb.c
2008-07-09 Christophe Fergeau <teuf@gnome.org>
* configure.ac: properly detect newer libsgutils (the so name was
changed)
* tools/ipod-scsi-inquiry.c: add missing include
Based on a patch from Dan HorĂĄk (dan@danny.cz)
2008-07-06 Christophe Fergeau <teuf@gnome.org>
* src/itdb_device.c: fix model number information grabbed from
podsleuth
2008-07-06 Christophe Fergeau <teuf@gnome.org>
* src/itdb_device.c: add a mapping from serial numbers to model
numbers to make it easy to go from a serial number read from
SysInfoExtended to an Itdb_IpodInfo
2008-07-06 Christophe Fergeau <teuf@gnome.org>
* src/itdb_device.c:
* src/itdb_device.h: add missing red ipod shuffles as well as 2GB
shuffles to the list of known ipod models
2008-07-06 Christophe Fergeau <teuf@gnome.org>
* src/itdb_device.c:
* src/itdb_device.h: add itdb_device_get_storage_info method
* src/itdb_itunesdb.c: use that method instead of directly using
statvfs, makes it easier to port things over to MSVC8
2008-07-05 Christophe Fergeau <teuf@gnome.org>
Patch from: Songbird (http://getsongbird.com/)
* src/db-itunes-parser.h: remove unused constant
* src/db-parse-context.c:
* src/db-parse-context.h: use GMappedFile instead of directly using
mmap, it's needed for MSVC8 portability
2008-07-05 Christophe Fergeau <teuf@gnome.org>
Patch from: Songbird (http://getsongbird.com/)
* src/itdb_itunesdb.c
* src/itdb_track.c: get rid of inner functions since it is a gcc
specific extension and MSVC8 doesn't like that
2008-07-05 Christophe Fergeau <teuf@gnome.org>
Patch from: Songbird (http://getsongbird.com/)
* src/db-artwork-parser.c
* src/db-parse-context.c
* src/db-parse-context.h: get rid of unused argument to
db_parse_context_destroy (it was always set to TRUE)
2008-07-06 Christophe Fergeau <teuf@gnome.org>
* src/ithumb-writer.c: fix bug in the function scaling and cropping
thumbnails, in the non-cropping case, the returned pixbuf size
didn't reflect the size of the scaled pixbuf
2008-07-05 Christophe Fergeau <teuf@gnome.org>
* src/db-artwork-parser.c: fix small memory leak
2008-07-05 Christophe Fergeau <teuf@gnome.org>
* src/ithumb-writer.c: fix typo in thumbnail rearranging code, we
were wrongly appending Itdb_Thumb_Ipod instances to lists of
Itdb_Thumb_Ipod_Item
2008-07-05 Christophe Fergeau <teuf@gnome.org>
* src/db-artwork-writer.c: properly set padding to 0 in mhods type 3
2008-07-05 Christophe Fergeau <teuf@gnome.org>
Patch from: Songbird (http://getsongbird.com/)
* src/ithumb-writer.c: don't leak the list of image formats we get
from the ItdbDevice
2008-06-29 Daniele Forsi <dforsi at users.sourceforge.net>
* src/itdb_itunesdb.c src/itdb_thumb.c src/itdb_device.c
src/itdb_photoalbum.c: fix typos in comments
2008-06-29 Jorg Schuler <jcsjcs at users.sourceforge.net>
* src/ithumb-writer.c (itdb_write_ithumb_files): fix bug when
writing photos (loop variable "it" re-used inside loop).
Rename loop variable to "itw" also in case of writing artwork.
* src/itdb_thumb.c (itdb_thumb_to_pixbuf_at_size):
If requesting a thumb from the iPod smaller than available, none
would be returned. Fixed. Thumbs from the iPod would not be
scaled even if requested. Fixed.
If requesting a thumb from a file or existing pixbuf, scaling
was done even if none was requested (width/height =
0/-1). Fixed.
Introduced selection of smallest available thumbnail
(width/height = 0) besides largest available thumbnail
(width/height = -1).
TODO: consider aspect ratio of requested picture (currently it
is very likely that some of the square thumbs are returned...)
src/itdb_artwork.c (itdb_artwork_get_thumbnail):
Introduced selection of smallest available thumbnail
(width/height = 0) besides largest available thumbnail
(width/height = -1). (Only necessary documentation.)
2008-06-28 Christophe Fergeau <teuf@gnome.org>
patch by: Mike Heffner <mikeh@fesnel.com>
* src/Makefile.am:
* src/db-artwork-writer.c: fix compilation with older glib (without
GChecksum)
2008-06-24 Christophe Fergeau <teuf@gnome.org>
* src/itdb_device.c: rework timezone handling: handle timezones as
stored on 5g ipods (hopefully) and fallback to using the computer
timezone if we can't figure out the ipod timezone
* tests/get-timezone.c: use functions from libgpod to get the
timezone instead of duplicating some itdb_device code
2008-06-15 Christophe Fergeau <teuf@gnome.org>
* src/itdb_device.c: oops, forgot a ','
2008-06-14 Christophe Fergeau <teuf@gnome.org>
* src/itdb_device.c: fix some entries in the ipod_model_table by
using libipoddevice and podsleuth as a reference
2008-06-14 Christophe Fergeau <teuf@gnome.org>
* src/itdb_track.c: remove bogus function to check if the ipod
supports video: it didn't take into account the new ipods released
after the 1st ipod video
2008-06-09 Christophe Fergeau <teuf@gnome.org>
* src/itdb_device.h:
* src/itdb_sysinfo_extended_parser.c:
* src/ithumb-writer.c: use background color and alignement
information from SysInfoExtended if available
2008-06-09 Christophe Fergeau <teuf@gnome.org>
* src/db-artwork-writer.c:
* src/itdb_device.c:
* src/itdb_device.h:
* src/itdb_sysinfo_extended_parser.c:
* src/itdb_sysinfo_extended_parser.h: implements
itdb_device_supports_sparse_artwork (instead of the old stub always
returning TRUE). Use data from SysInfoExtended if it's available,
use hardcoded table from libgpod if not.
2008-06-09 Christophe Fergeau <teuf@gnome.org>
* src/itdb_device.c:
* src/itdb_device.h:
* src/itdb_sysinfo_extended_parser.c:
* src/itdb_sysinfo_extended_parser.h: merge Itdb_ArtworkFormat and
SysInfoImageFormat, use artwork formats from SysInfoExtended when
it's available instead of using the hardcoded tables from libgpod
2008-06-09 Christophe Fergeau <teuf@gnome.org>
* src/db-artwork-writer.c:
* src/db-image-parser.h:
* src/itdb.h:
* src/itdb_device.c:
* src/itdb_device.h:
* src/ithumb-writer.c: get rid of ItdbThumbType, it's replaced by
pointers to the appropriate Itdb_ArtworkFormat for the thumbnail
type when it's needed
2008-06-09 Christophe Fergeau <teuf@gnome.org>
* src/db-artwork-parser.c: remove duplicated artwork/photo support
testing functions
* src/db-artwork-parser.h: ditto
* src/itdb_itunesdb.c: s/ipod_supports_XXX/itdb_device_supports_XXX
* src/itdb_photoalbum.c: ditto
* src/itdb.h: use a const Itdb_Device argument for
itdb_device_supports_*, add ITDB_IPOD_GENERATION_IPHONE_1 to
Itdb_IpodGeneration, get rid of ITDB_IPOD_GENERATION_FIFTH and
ITDB_IPOD_GENERATION_SIXTH
* src/itdb_device.c: split functions to get artwork format from the
ipod in 2 separate functions: instead of
itdb_device_get_artwork_formats we now have
itdb_device_get_photo_formats and itdb_device_get_cover_art_formats
* src/itdb_device.h:
* src/db-image-parser.c: use the separate
get_cover_art_formats/get_photos_formats functions
* src/db-artwork-writer.c: ditto
* src/ithumb-writer.c: ditto
2008-06-09 Christophe Fergeau <teuf@gnome.org>
* src/gchecksum.c: fix compilation (it's only compiled on system with
older glib versions)
2008-06-09 Christophe Fergeau <teuf@gnome.org>
* src/db-artwork-writer.c:
* src/itdb_artwork.c:
* src/itdb_thumb.c:
* src/itdb_thumb.h: fix compilation when gdk-pixbuf isn't present
2008-06-02 Jorg Schuler <jcsjcs at users.sourceforge.net>
* src/itdb_track.c (itdb_track_remove_thumbnails): set mhii_link
to 0.
* src/db-artwork-parser.c (mhfd_associate_itunesdb_artwork):
remove thumbnails if mhii_link is invalid.
2008-06-02 Jorg Schuler <jcsjcs at users.sourceforge.net>
* src/gchecksum.c
src/gchecksum.h
src/Makefile.am
configure.ac: copied gchecksum from glib 2.16.3. It's used if we
compile on a system that does not have glib 2.16 or
higher. Testing is needed whether it's really pulled in in those
cases -- I'm using 2.16.3 myself.
* src/itdb_itunesdb.c (mk_mhit): write mhii_link.
* src/db-artwork-writer.c: code to handle sparse artwork
correctly.
(ipod_supports_sparse_artwork): currently hard-coded to
TRUE. Will be changed in the future to reflect the information
given in the SysInfoExtended. Change yourself if your iPod does
not support Sparse Artwork (sharing of thumbnails between
several tracks).
2008-06-01 Jorg Schuler <jcsjcs at users.sourceforge.net>
* src/itdb_thumb.c
remove some unnecessary checks for NULL pointer
(itdb_thumb_duplicate): move g_list_reverse() outside the loop
modifying the list.
2008-05-30 Jorg Schuler <jcsjcs at users.sourceforge.net>
* src/itdb_thumb.c
src/itdb_thumb.h
src/ithumb-writer.c
src/itdb_photoalbum.c: fixed a number of compile-time warnings.
2008-05-30 Christophe Fergeau <teuf@gnome.org>
Patch from Ian Stewart
* src/itdb_itunesdb.c: don't pass NULL sort_composer names down to
jump_table_letter, fixes a crash reported by Andy Busch
2008-05-30 Christophe Fergeau <teuf@gnome.org>
* src/Makefile.am:
* src/db-artwork-parser.c:
* src/db-artwork-writer.c:
* src/db-image-parser.c:
* src/db-image-parser.h:
* src/itdb.h:
* src/itdb_artwork.c:
* src/itdb_device.h:
* src/itdb_photoalbum.c:
* src/itdb_track.c:
* src/ithumb-writer.c:
* tests/test-covers.c:
* tests/test-photos.c: rework Itdb_Thumb type. Now it's split into
different subtypes depending on what it represents (GdkPixbuf,
thumbnail read from the ipod, ...). Itdb_Artwork now contains only a
pointer to a single Itdb_Thumb (it used to contain a GList * of
Itdb_Thumb) since the only time when the list is useful is for thumbs
read from the ipod. Using a list for the other types of thumbnails
created some complications when trying to set art on an Itdb_Track that
wasn't attached to an Itdb_iTunesDB.
2008-05-29 Christophe Fergeau <teuf at gnome.org>
* src/itunesdb.c:
* src/ithumb-writer.c: add missing static to internal functions
2008-05-28 Jorg Schuler <jcsjcs at users.sourceforge.net>
* src/db-artwork-parser.c (parse_mhii): removed artwork_fallback
variable upon Christophe's suggestion and streamlined code.
2008-05-28 Jorg Schuler <jcsjcs at users.sourceforge.net>
* src/itdb_track.c (itdb_track_set_thumbnails_internal): set
artwork ID to 0 after removing thumbnails.
* src/db-artwork-parser.c (parse_mhii): move out dbid association
to a separate function.
(mhfd_associate_itunesdb_artwork): handle dbid and mhii_link
association of artwork to track
(parse_mhfd): loop over the number of mhsd hunks instead of
hardcoding it. Call mhfd_associate_itunesdb_artwork().
* src/itdb_itunesdb.c (get_mhit): read the mhii_link field.
* src/db-artwork-writer.c (write_mhli): handle unset artwork
correctly.
(itdb_track_filter_thumbnails): remove thumbnails correctly.
* src/db-parse-context.c (db_parse_context_get_sub_context): copy
newly introduced artwork field.
* tests/test-covers.c: print mhii_link.
* src/itdb.h: (Itdb_Track) added mhii_link. (Itdb_Artwork): added
dbid.
* src/itdb.h, src/db-artwork-parser.c, src/db-artwork-writer.c,
src/itdb_device.c, src/ithumb-writer.c, src/itdb_artwork.c:
added ITDB_THUMB_CHAPTER_SMALL/LARGE.
* src/itdb_device.c: ipod_classic_1_artwork_info: correct
ITDB_THUMB_COVER_SMALL/LARGE entries.
2008-05-25 Christophe Fergeau <teuf at gnome.org>
* configure.ac: libxml presence is mandatory unless
--disable-libxml is passed to configure
2008-05-25 Christophe Fergeau <teuf at gnome.org>
* src/itdb_device.c: don't insert NULL firewire IDs in the SysInfo
hash table
2008-05-25 Christophe Fergeau <teuf at gnome.org>
* configure.ac: rework libxml detection
* src/Makefile.am: remove LIBXML_CFLAGS/LIBXML_LIBS since they are
no longer used
* src/itdb_plist.c: add stub functions when libxml isn't available
* src/itdb_sysinfo_extended_parser.c: include config.h
2008-05-25 Christophe Fergeau <teuf at gnome.org>
* src/db-artwork-debug.c:
* src/db-artwork-writer.c:
* src/db-image-parser.c:
* src/db-itunes-parser.h:
* src/itdb_device.h:
* src/ithumb-writer.c: rename correlation_id to format_id (this is
how that value is called in SysInfoExtended)
2008-05-25 Christophe Fergeau <teuf at gnome.org>
* configure.ac: check libxml presence
* src/Makefile.am: add new files, remove obsolete ones
* src/itdb_plist.h:
* src/itdb_plist.c: plist parser, this parses a plist XML file to a
GHashTable of GValue *. This parser should be generic, ie it
doesn't know it's parsing SysInfoExtended, it only cares about it
being a plist file
* src/itdb_sysinfo_extended_parser.h:
* src/itdb_sysinfo_extended_parser.c: convert the parsed plist data
to data structures usable by libgpod
* src/itdb_device.h:
* src/itdb_device.c: parses SysInfoExtended in addition to SysInfo
* src/itdb_sysinfo.c: this hacky parser is obsoleted by the new
(much more complete) SysInfoExtended parser, so it's removed
* tests/Makefile.am:
* tests/test-sysinfo-extended-parsing.c: small test program for the
new parser
2008-05-25 Christophe Fergeau <teuf at gnome.org>
Patch from Ian Stewart <ian.stewart at ozemail.com.au>
* src/itdb_itunesdb.c: add jump letter support (mhod53)
2008-05-24 Christophe Fergeau <teuf at gnome.org>
* src/ithumb-writer.c: factor some code out of
ithumb_writer_write_thumbnail into separate functions to make the
code more readable
2008-05-24 Christophe Fergeau <teuf at gnome.org>
Patch from Jacob Hoffman-Andrews <jsha at newview.org>
* src/itdb_device.h: add 'crop' field to Itdb_ArtworkFormat
* src/itdb_device.c: fill this 'crop' field for the iphone
* src/ithumb-writer.c: use that new 'crop' field to crop the
thumbnails when the Itdb_ArtworkFormat requires it.
2008-05-24 Christophe Fergeau <teuf at gnome.org>
Patch from Jacob Hoffman-Andrews <jsha at newview.org>
* tools/hal-callout.c: add missing #include <unistd.h>
2008-05-17 Jorg Schuler <jcsjcs at users.sourceforge.net>
* tests/test-covers.c: print more info (marginally)
2008-05-11 Jorg Schuler <jcsjcs at users.sourceforge.net>
* src/itdb_photoalbum.c
src/itdb_private.h
src/db-artwork-writer.c: renamed itdb_get_free_photo_id() to
itdb_get_max_photo_id() and implemented Jacob Hoffman-Andrew's
patch about the photo_ids and album_ids being shared.
* tests/test-covers.c: print more info (marginally)
2008-05-10 Jorg Schuler <jcsjcs at users.sourceforge.net>
* tests/test-covers.c: print more status messages.
2008-05-01 Todd Zullinger <tmzullinger at users.sourceforge.net>
* configure.ac:
Bump version to 0.6.1SVN
* bindings/python/ipod.py: write shuffle data (thanks to Diogo
Dutra)
2008-04-19 Jorg Schuler <jcsjcs at users.sourceforge.net>
* bindings/python/examples/Makefile.am
Added fix_empty_artist_field.py provided by Thomas Perl.
2008-03-29 Todd Zullinger <tmzullinger at users.sourceforge.net>
* bindings/python/Makefile.am
docs/reference/Makefile.am
src/Makefile.am: cleanup more of our dirs with make uninstall
* tests/test-rebuild-db.cc: include string.h to fix builds
with gcc 4.3 (fixes SF tracker #1928618)
2008-03-02 Todd Zullinger <tmzullinger at users.sourceforge.net>
* configure.ac
m4/python.m4: shell portability fixes (courtesy of Klaus Heinz)
2008-02-13 Todd Zullinger <tmzullinger at users.sourceforge.net>
* bindings/python/ipod.py: Track.set_thumbnail() was renamed
to Track.set_coverart_from_file() a long time ago
2008-02-03 Christophe Fergeau <teuf@gnome.org>
* src/db-artwork-debug.c:
* src/db-artwork-debug.h: fix mhod type1 and mhod type3 dumping
when debugging is enabled
2008-02-03 Christophe Fergeau <teuf@gnome.org>
* src/db-artwork-debug.h: merge mhod type1 and mhod type3 dumping
functions
* src/db-artwork-writer.c: adjust to the change above
* src/db-artwork-parser.c: merge mhod type1 and mhod type3 parsing
* src/db-itunes-parser.h: remove obsolete comment
2008-02-03 Christophe Fergeau <teuf@gnome.org>
* src/db-artwork-parser.c: use enum name instead of hardcoded int
* src/db-artwork-writer.c: add comments about values that aren't
swapped because they are 8 bit values
2008-02-03 Christophe Fergeau <teuf@gnome.org>
* src/db-itunes-parser.h: merge ArtworkDB_MhodHeaderArtworkType3
and MhodHeaderArtworkType1 into a single struct called
ArtworkDB_MhodHeaderString
* src/db-artwork-parser.c:
* src/db-artwork-writer.c: adjust to the above change
2008-02-03 Christophe Fergeau <teuf@gnome.org>
* src/db-artwork-parser.c: add missing g_free that could cause
memory leaks
2008-01-30 Christophe Fergeau <teuf@gnome.org>
Patch by Martin Aumueller
* tests/test-ls.c: make sure the various fields we are trying to
print aren't NULL, this fixes a crash that was observed with
iphones
2007-11-15 Christophe Fergeau <teuf@gnome.org>
* src/itdb_itunesdb.c: don't use itdb_filename_ipod2fs to generate
the filename to put on the shuffle since on windows that would use
\ as a path separator instead of the correct /
2007-11-15 Christophe Fergeau <teuf@gnome.org>
* src/itdb_private.h:
* src/itdb_itunesdb.c: add itdb_file_set_contents to workaround a
rename issue on sshfs (existing files on the FS can't be
atomatically erased during a rename). Use it in wcontents_write
* src/db-artwork-writer.c: use itdb_file_set_contents to write the
ArtworkDB
2007-11-15 Christophe Fergeau <teuf@gnome.org>
* src/db-artwork-writer.c:
* src/db-parse-context.c:
* src/itdb_device.c:
* src/itdb_itunesdb.c:
* src/ithumb-writer.c: don't include unistd.h on systems which
don't have it
2007-11-16 Christophe Fergeau <teuf@gnome.org>
* src/itdb_itunesdb.c: rework itdb_cp for MacOSX/Windows
portability
2008-01-26 Michael Tiffany <tiffman at users.sourceforge.net>
* src/itdb_chapterdata.c: file missed being added in
previous checkin
2008-01-26 Jorg Schuler <jcsjcs at users.sourceforge.net>
* src/itdb_track.c
* src/itdb_itunesdb.c
* src/itdb_chapterdata
* src/itdb.h
* src/Makefile.am: applied chapterdata patch by Michael Tiffany.
2008-01-02 Christophe Fergeau <teuf@gnome.org>
* src/itdb_device.c: fix ITDB_THUMB_PHOTO_FULL_SCREEN format on
ipod classic and nano video, thanks to Tomas Carnecky for pointing
that out
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
|