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 4354 4355 4356 4357 4358 4359 4360 4361 4362 4363 4364 4365 4366 4367 4368 4369 4370 4371 4372 4373 4374 4375 4376 4377 4378 4379 4380 4381 4382 4383 4384 4385 4386 4387 4388 4389 4390 4391 4392 4393 4394 4395 4396 4397 4398 4399 4400 4401 4402 4403 4404 4405 4406 4407 4408 4409 4410 4411 4412 4413 4414 4415 4416 4417 4418 4419 4420 4421 4422 4423 4424 4425 4426 4427 4428 4429 4430 4431 4432 4433 4434 4435 4436 4437 4438 4439 4440 4441 4442 4443 4444 4445 4446 4447 4448 4449 4450 4451 4452 4453 4454 4455 4456 4457 4458 4459 4460 4461 4462 4463 4464 4465 4466 4467 4468 4469 4470 4471 4472 4473 4474 4475 4476 4477 4478 4479 4480 4481 4482 4483 4484 4485 4486 4487 4488 4489 4490 4491 4492 4493 4494 4495 4496 4497 4498 4499 4500 4501 4502 4503 4504 4505 4506 4507 4508 4509 4510 4511 4512 4513 4514 4515 4516 4517 4518 4519 4520 4521 4522 4523 4524 4525 4526 4527 4528 4529 4530 4531 4532 4533 4534 4535 4536 4537 4538 4539 4540 4541 4542 4543 4544 4545 4546 4547 4548 4549 4550 4551 4552 4553 4554 4555 4556 4557 4558 4559 4560 4561 4562 4563 4564 4565 4566 4567 4568 4569 4570 4571 4572 4573 4574 4575 4576 4577 4578 4579 4580 4581 4582 4583 4584 4585 4586 4587 4588 4589 4590 4591 4592 4593 4594 4595 4596 4597 4598 4599 4600 4601 4602 4603 4604 4605 4606 4607 4608 4609 4610 4611 4612 4613 4614 4615 4616 4617 4618 4619 4620 4621 4622 4623 4624 4625 4626 4627 4628 4629 4630 4631 4632 4633 4634 4635 4636 4637 4638 4639 4640 4641 4642 4643 4644 4645 4646 4647 4648 4649 4650 4651 4652 4653 4654 4655 4656 4657 4658 4659 4660 4661 4662 4663 4664 4665 4666 4667 4668 4669 4670 4671 4672 4673 4674 4675 4676 4677 4678 4679 4680 4681 4682 4683 4684 4685 4686 4687 4688 4689 4690 4691 4692 4693 4694 4695 4696 4697 4698 4699 4700 4701 4702 4703 4704 4705 4706 4707 4708 4709 4710 4711 4712 4713 4714 4715 4716 4717 4718 4719 4720 4721 4722 4723 4724 4725 4726 4727 4728 4729 4730 4731 4732 4733 4734 4735 4736 4737 4738 4739 4740 4741 4742 4743 4744 4745 4746 4747 4748 4749 4750 4751 4752 4753 4754 4755 4756 4757 4758 4759 4760 4761 4762 4763 4764 4765 4766 4767 4768 4769 4770 4771 4772 4773 4774 4775 4776 4777 4778 4779 4780 4781 4782 4783 4784 4785 4786 4787 4788 4789 4790 4791 4792 4793 4794 4795 4796 4797 4798 4799 4800 4801 4802 4803 4804 4805 4806 4807 4808 4809 4810 4811 4812 4813 4814 4815 4816 4817 4818 4819 4820 4821 4822 4823 4824 4825 4826 4827 4828 4829 4830 4831 4832 4833 4834 4835 4836 4837 4838 4839 4840 4841 4842 4843 4844 4845 4846 4847 4848 4849 4850 4851 4852 4853 4854 4855 4856 4857 4858 4859 4860 4861 4862 4863 4864 4865 4866 4867 4868 4869 4870 4871 4872 4873 4874 4875 4876 4877 4878 4879 4880 4881 4882 4883 4884 4885 4886 4887 4888 4889 4890 4891 4892 4893 4894 4895 4896 4897 4898 4899 4900 4901 4902 4903 4904 4905 4906 4907 4908 4909 4910 4911 4912 4913 4914 4915 4916 4917 4918 4919 4920 4921 4922 4923 4924 4925 4926 4927 4928 4929 4930 4931 4932 4933 4934 4935 4936 4937 4938 4939 4940 4941 4942 4943 4944 4945 4946 4947 4948 4949 4950 4951 4952 4953 4954 4955 4956 4957 4958 4959 4960 4961 4962 4963 4964 4965 4966 4967 4968 4969 4970 4971 4972 4973 4974 4975 4976 4977 4978 4979 4980 4981 4982 4983 4984 4985 4986 4987 4988 4989 4990 4991 4992 4993 4994 4995 4996 4997 4998 4999 5000 5001 5002 5003 5004 5005 5006 5007 5008 5009 5010 5011 5012 5013 5014 5015 5016 5017 5018 5019 5020 5021 5022 5023 5024 5025 5026 5027 5028 5029 5030 5031 5032 5033 5034 5035 5036 5037 5038 5039 5040 5041 5042 5043 5044 5045 5046 5047 5048 5049 5050 5051 5052 5053 5054 5055 5056 5057 5058 5059 5060 5061 5062 5063 5064 5065 5066 5067 5068 5069 5070 5071 5072 5073 5074 5075 5076 5077 5078 5079 5080 5081 5082 5083 5084 5085 5086 5087 5088 5089 5090 5091 5092 5093 5094 5095 5096 5097 5098 5099 5100 5101 5102 5103 5104 5105 5106 5107 5108 5109 5110 5111 5112 5113 5114 5115 5116 5117 5118 5119 5120 5121 5122 5123 5124 5125 5126 5127 5128 5129 5130 5131 5132 5133 5134 5135 5136 5137 5138 5139 5140 5141 5142 5143 5144 5145 5146 5147 5148 5149 5150 5151 5152 5153 5154 5155 5156 5157 5158 5159 5160 5161 5162 5163 5164 5165 5166 5167 5168 5169 5170 5171 5172 5173 5174 5175 5176 5177 5178 5179 5180 5181 5182 5183 5184 5185 5186 5187 5188 5189 5190 5191 5192 5193 5194 5195 5196 5197 5198 5199 5200 5201 5202 5203 5204 5205 5206 5207 5208 5209 5210 5211 5212 5213 5214 5215 5216 5217 5218 5219 5220 5221 5222 5223 5224 5225 5226 5227 5228 5229 5230 5231 5232 5233 5234 5235 5236 5237 5238 5239 5240 5241 5242 5243 5244 5245 5246 5247 5248 5249 5250 5251 5252 5253 5254 5255 5256 5257 5258 5259 5260 5261 5262 5263 5264 5265 5266 5267 5268 5269 5270 5271 5272 5273 5274 5275 5276 5277 5278 5279 5280 5281 5282 5283 5284 5285 5286 5287 5288 5289 5290 5291 5292 5293 5294 5295 5296 5297 5298 5299 5300 5301 5302 5303 5304 5305 5306 5307 5308 5309 5310 5311 5312 5313 5314 5315 5316 5317 5318 5319 5320 5321 5322 5323 5324 5325 5326 5327 5328 5329 5330 5331 5332 5333 5334 5335 5336 5337 5338 5339 5340 5341 5342 5343 5344 5345 5346 5347 5348 5349 5350 5351 5352 5353 5354 5355 5356 5357 5358 5359 5360 5361 5362 5363 5364 5365 5366 5367 5368 5369 5370 5371 5372 5373 5374 5375 5376 5377 5378 5379 5380 5381 5382 5383 5384 5385 5386 5387 5388 5389 5390 5391 5392 5393 5394 5395 5396 5397 5398 5399 5400 5401 5402 5403 5404 5405 5406 5407 5408 5409 5410 5411 5412 5413 5414 5415 5416 5417 5418 5419 5420 5421 5422 5423 5424 5425 5426 5427 5428 5429 5430 5431 5432 5433 5434 5435 5436 5437 5438 5439 5440 5441 5442 5443 5444 5445 5446 5447 5448 5449 5450 5451 5452 5453 5454 5455 5456 5457 5458 5459 5460 5461 5462 5463 5464 5465 5466 5467 5468 5469 5470 5471 5472 5473 5474 5475 5476 5477 5478 5479 5480 5481 5482 5483 5484 5485 5486 5487 5488 5489 5490 5491 5492 5493 5494 5495 5496 5497 5498 5499 5500 5501 5502 5503 5504 5505 5506 5507 5508 5509 5510 5511 5512 5513 5514 5515 5516 5517 5518 5519 5520 5521 5522 5523 5524 5525 5526 5527 5528 5529 5530 5531 5532 5533 5534 5535 5536 5537 5538 5539 5540 5541 5542 5543 5544 5545 5546 5547 5548 5549 5550 5551 5552 5553 5554 5555 5556 5557 5558 5559 5560 5561 5562 5563 5564 5565 5566 5567 5568 5569 5570 5571 5572 5573 5574 5575 5576 5577 5578 5579 5580 5581 5582 5583 5584 5585 5586 5587 5588 5589 5590 5591 5592 5593 5594 5595 5596 5597 5598 5599 5600 5601 5602 5603 5604 5605 5606 5607 5608 5609 5610 5611 5612 5613 5614 5615 5616 5617 5618 5619 5620 5621 5622 5623 5624 5625 5626 5627 5628 5629 5630 5631 5632 5633 5634 5635 5636 5637 5638 5639 5640 5641 5642 5643 5644 5645 5646 5647 5648 5649 5650 5651 5652 5653 5654 5655 5656 5657 5658 5659 5660 5661 5662 5663 5664 5665 5666 5667 5668 5669 5670 5671 5672 5673 5674 5675 5676 5677 5678 5679 5680 5681 5682 5683 5684 5685 5686 5687 5688 5689 5690 5691 5692 5693 5694 5695 5696 5697 5698 5699 5700 5701 5702 5703 5704 5705 5706 5707 5708 5709 5710 5711 5712 5713 5714 5715 5716 5717 5718 5719 5720 5721 5722 5723 5724 5725 5726 5727 5728 5729 5730 5731 5732 5733 5734 5735 5736 5737 5738 5739 5740 5741 5742 5743 5744 5745 5746 5747 5748 5749 5750 5751 5752 5753 5754 5755 5756 5757 5758 5759 5760 5761 5762 5763 5764 5765 5766 5767 5768 5769 5770 5771 5772 5773 5774 5775 5776 5777 5778 5779 5780 5781 5782 5783 5784 5785 5786 5787 5788 5789 5790 5791 5792 5793 5794 5795 5796 5797 5798 5799 5800 5801 5802 5803 5804 5805 5806 5807 5808 5809 5810 5811 5812 5813 5814 5815 5816 5817 5818 5819 5820 5821 5822 5823 5824 5825 5826 5827 5828 5829 5830 5831 5832 5833 5834 5835 5836 5837 5838 5839 5840 5841 5842 5843 5844 5845 5846 5847 5848 5849 5850 5851 5852 5853 5854 5855 5856 5857 5858 5859 5860 5861 5862 5863 5864 5865 5866 5867 5868 5869 5870 5871 5872 5873 5874 5875 5876 5877 5878 5879 5880 5881 5882 5883 5884 5885 5886 5887 5888 5889 5890 5891 5892 5893 5894 5895 5896 5897 5898 5899 5900 5901 5902 5903 5904 5905 5906 5907 5908 5909 5910 5911 5912 5913 5914 5915 5916 5917 5918 5919 5920 5921 5922 5923 5924 5925 5926 5927 5928 5929 5930 5931 5932 5933 5934 5935 5936 5937 5938 5939 5940 5941 5942 5943 5944 5945 5946 5947 5948 5949 5950 5951 5952 5953 5954 5955 5956 5957 5958 5959 5960 5961 5962 5963 5964 5965 5966 5967 5968 5969 5970 5971 5972 5973 5974 5975 5976 5977 5978 5979 5980 5981 5982 5983 5984 5985 5986 5987 5988 5989 5990 5991 5992 5993 5994 5995 5996 5997 5998 5999 6000 6001 6002 6003 6004 6005 6006 6007 6008 6009 6010 6011 6012 6013 6014 6015 6016 6017 6018 6019 6020 6021 6022 6023 6024 6025 6026 6027 6028 6029 6030 6031 6032 6033 6034 6035 6036 6037 6038 6039 6040 6041 6042 6043 6044 6045 6046 6047 6048 6049 6050 6051 6052 6053 6054 6055 6056 6057 6058 6059 6060 6061 6062 6063 6064 6065 6066 6067 6068 6069 6070 6071 6072 6073 6074 6075 6076 6077 6078 6079 6080 6081 6082 6083 6084 6085 6086 6087 6088 6089 6090 6091 6092 6093 6094 6095 6096 6097 6098 6099 6100 6101 6102 6103 6104 6105 6106 6107 6108 6109 6110 6111 6112 6113 6114 6115 6116 6117 6118 6119 6120 6121 6122 6123 6124 6125 6126 6127 6128 6129 6130 6131 6132 6133 6134 6135 6136 6137 6138 6139 6140 6141 6142 6143 6144 6145 6146 6147 6148 6149 6150 6151 6152 6153 6154 6155 6156 6157 6158 6159 6160 6161 6162 6163 6164 6165 6166 6167 6168 6169 6170 6171 6172 6173 6174 6175 6176 6177 6178 6179 6180 6181 6182 6183 6184 6185 6186 6187 6188 6189 6190 6191 6192 6193 6194 6195 6196 6197 6198 6199 6200 6201 6202 6203 6204 6205 6206 6207 6208 6209 6210 6211 6212 6213 6214 6215 6216 6217 6218 6219 6220 6221 6222 6223 6224 6225 6226 6227 6228 6229 6230 6231 6232 6233 6234 6235 6236 6237 6238 6239 6240 6241 6242 6243 6244 6245 6246 6247 6248 6249 6250 6251 6252 6253 6254 6255 6256 6257 6258 6259 6260 6261 6262 6263 6264 6265 6266 6267 6268 6269 6270 6271 6272 6273 6274 6275 6276 6277 6278 6279 6280 6281 6282 6283 6284 6285 6286 6287 6288 6289 6290 6291 6292 6293 6294 6295 6296 6297 6298 6299 6300 6301 6302 6303 6304 6305 6306 6307 6308 6309 6310 6311 6312 6313 6314 6315 6316 6317 6318 6319 6320 6321 6322 6323 6324 6325 6326 6327 6328 6329 6330 6331 6332 6333 6334 6335 6336 6337 6338 6339 6340 6341 6342 6343 6344 6345 6346 6347 6348 6349 6350 6351 6352 6353 6354 6355 6356 6357 6358 6359 6360 6361 6362 6363 6364 6365 6366 6367 6368 6369 6370 6371 6372 6373 6374 6375 6376 6377 6378 6379 6380 6381 6382 6383 6384 6385 6386 6387 6388 6389 6390 6391 6392 6393 6394 6395 6396 6397 6398 6399 6400 6401 6402 6403 6404 6405 6406 6407 6408 6409 6410 6411 6412 6413 6414 6415 6416 6417 6418 6419 6420 6421 6422 6423 6424 6425 6426 6427 6428 6429 6430 6431 6432 6433 6434 6435 6436 6437 6438 6439 6440 6441 6442 6443 6444 6445 6446 6447 6448 6449 6450 6451 6452 6453 6454 6455 6456 6457 6458 6459 6460 6461 6462 6463 6464 6465 6466 6467 6468 6469 6470 6471 6472 6473 6474 6475 6476 6477 6478 6479 6480 6481 6482 6483 6484 6485 6486 6487 6488 6489 6490 6491 6492 6493 6494 6495 6496 6497 6498 6499 6500 6501 6502 6503 6504 6505 6506 6507 6508 6509 6510 6511 6512 6513 6514 6515 6516 6517 6518 6519 6520 6521 6522 6523 6524 6525 6526 6527 6528 6529 6530 6531 6532 6533 6534 6535 6536 6537 6538 6539 6540 6541 6542 6543 6544 6545 6546 6547 6548 6549 6550 6551 6552 6553 6554 6555 6556 6557 6558 6559 6560 6561 6562 6563 6564 6565 6566 6567 6568 6569 6570 6571 6572 6573 6574 6575 6576 6577 6578 6579 6580 6581 6582 6583 6584 6585 6586 6587 6588 6589 6590 6591 6592 6593 6594 6595 6596 6597 6598 6599 6600 6601 6602 6603 6604 6605 6606 6607 6608 6609 6610 6611 6612 6613 6614 6615 6616 6617 6618 6619 6620 6621 6622 6623 6624 6625 6626 6627 6628 6629 6630 6631 6632 6633 6634 6635 6636 6637 6638 6639 6640 6641 6642 6643 6644 6645 6646 6647 6648 6649 6650 6651 6652 6653 6654 6655 6656 6657 6658 6659 6660 6661 6662 6663 6664 6665 6666 6667 6668 6669 6670 6671 6672 6673 6674 6675 6676 6677 6678 6679 6680 6681 6682 6683 6684 6685 6686 6687 6688 6689 6690 6691 6692 6693 6694 6695 6696 6697 6698 6699 6700 6701 6702 6703 6704 6705 6706 6707 6708 6709 6710 6711 6712 6713 6714 6715 6716 6717 6718 6719 6720 6721 6722 6723 6724 6725 6726 6727 6728 6729 6730 6731 6732 6733 6734 6735 6736 6737 6738 6739 6740 6741 6742 6743 6744 6745 6746 6747 6748 6749 6750 6751 6752 6753 6754 6755 6756 6757 6758 6759 6760 6761 6762 6763 6764 6765 6766 6767 6768 6769 6770 6771 6772 6773 6774 6775 6776 6777 6778 6779 6780 6781 6782 6783 6784 6785 6786 6787 6788 6789 6790 6791 6792 6793 6794 6795 6796 6797 6798 6799 6800 6801 6802 6803 6804 6805 6806 6807 6808 6809 6810 6811 6812 6813 6814 6815 6816 6817 6818 6819 6820 6821 6822 6823 6824 6825 6826 6827 6828 6829 6830 6831 6832 6833 6834 6835 6836 6837 6838 6839 6840 6841 6842 6843 6844 6845 6846 6847 6848 6849 6850 6851 6852 6853 6854 6855 6856 6857 6858 6859 6860 6861 6862 6863 6864 6865 6866 6867 6868 6869 6870 6871 6872 6873 6874 6875 6876 6877 6878 6879 6880 6881 6882 6883 6884 6885 6886 6887 6888 6889 6890 6891 6892 6893 6894 6895 6896 6897 6898 6899 6900 6901 6902 6903 6904 6905 6906 6907 6908 6909 6910 6911 6912 6913 6914 6915 6916 6917 6918 6919 6920 6921 6922 6923 6924 6925 6926 6927 6928 6929 6930 6931 6932 6933 6934 6935 6936 6937 6938 6939 6940 6941 6942 6943 6944 6945 6946 6947 6948 6949 6950 6951 6952 6953 6954 6955 6956 6957 6958 6959 6960 6961 6962 6963 6964 6965 6966 6967 6968 6969 6970 6971 6972 6973 6974 6975 6976 6977 6978 6979 6980 6981 6982 6983 6984 6985 6986 6987 6988 6989 6990 6991 6992 6993 6994 6995 6996 6997 6998 6999 7000 7001 7002 7003 7004 7005 7006 7007 7008 7009 7010 7011 7012 7013 7014 7015 7016 7017 7018 7019 7020 7021 7022 7023 7024 7025 7026 7027 7028 7029 7030 7031 7032 7033 7034 7035 7036 7037 7038 7039 7040 7041 7042 7043 7044 7045 7046 7047 7048 7049 7050 7051 7052 7053 7054 7055 7056 7057 7058 7059 7060 7061 7062 7063 7064 7065 7066 7067 7068 7069 7070 7071 7072 7073 7074 7075 7076 7077 7078 7079 7080 7081 7082 7083 7084 7085 7086 7087 7088 7089 7090 7091 7092 7093 7094 7095 7096 7097 7098 7099 7100 7101 7102 7103 7104 7105 7106 7107 7108 7109 7110 7111 7112 7113 7114 7115 7116 7117 7118 7119 7120 7121 7122 7123 7124 7125 7126 7127 7128 7129 7130 7131 7132 7133 7134 7135 7136 7137 7138 7139 7140 7141 7142 7143 7144 7145 7146 7147 7148 7149 7150 7151 7152 7153 7154 7155 7156 7157 7158 7159 7160 7161 7162 7163 7164 7165 7166 7167 7168 7169 7170 7171 7172 7173 7174 7175 7176 7177 7178 7179 7180 7181 7182 7183 7184 7185 7186 7187 7188 7189 7190 7191 7192 7193 7194 7195 7196 7197 7198 7199 7200 7201 7202 7203 7204 7205 7206 7207 7208 7209 7210 7211 7212 7213 7214 7215 7216 7217 7218 7219 7220 7221 7222 7223 7224 7225 7226 7227 7228 7229 7230 7231 7232 7233 7234 7235 7236 7237 7238 7239 7240 7241 7242 7243 7244 7245 7246 7247 7248 7249 7250 7251 7252 7253 7254 7255 7256 7257 7258 7259 7260 7261 7262 7263 7264 7265 7266 7267 7268 7269 7270 7271 7272 7273 7274 7275 7276 7277 7278 7279 7280 7281 7282 7283 7284 7285 7286 7287 7288 7289 7290 7291 7292 7293 7294 7295 7296 7297 7298 7299 7300 7301 7302 7303 7304 7305 7306 7307 7308 7309 7310 7311 7312 7313 7314 7315 7316 7317 7318 7319 7320 7321 7322 7323 7324 7325 7326 7327 7328 7329 7330 7331 7332 7333 7334 7335 7336 7337 7338 7339 7340 7341 7342 7343 7344 7345 7346 7347 7348 7349 7350 7351 7352 7353 7354 7355 7356 7357 7358 7359 7360 7361 7362 7363 7364 7365 7366 7367 7368 7369 7370 7371 7372 7373 7374 7375 7376 7377 7378 7379 7380 7381 7382 7383 7384 7385 7386 7387 7388 7389 7390 7391 7392 7393 7394 7395 7396 7397 7398 7399 7400 7401 7402 7403 7404 7405 7406 7407 7408 7409 7410 7411 7412 7413 7414 7415 7416 7417 7418 7419 7420 7421 7422 7423 7424 7425 7426 7427 7428 7429 7430 7431 7432 7433 7434 7435 7436 7437 7438 7439 7440 7441 7442 7443 7444 7445 7446 7447 7448 7449 7450 7451 7452 7453 7454 7455 7456 7457 7458 7459 7460 7461 7462 7463 7464 7465 7466 7467 7468 7469 7470 7471 7472 7473 7474 7475 7476 7477 7478 7479 7480 7481 7482 7483 7484 7485 7486 7487 7488 7489 7490 7491 7492 7493 7494 7495 7496 7497 7498 7499 7500 7501 7502 7503 7504 7505 7506 7507 7508 7509 7510 7511 7512 7513 7514 7515 7516 7517 7518 7519 7520 7521 7522 7523 7524 7525 7526 7527 7528 7529 7530 7531 7532 7533 7534 7535 7536 7537 7538 7539 7540 7541 7542 7543 7544 7545 7546 7547 7548 7549 7550 7551 7552 7553 7554 7555 7556 7557 7558 7559 7560 7561 7562 7563 7564 7565 7566 7567 7568 7569 7570 7571 7572 7573 7574 7575 7576 7577 7578 7579 7580 7581 7582 7583 7584 7585 7586 7587 7588 7589 7590 7591 7592 7593 7594
|
commit 3be76517089d5f13f57d3b0d9032f206618243de
Author: Alan McGovern <alan.mcgovern@gmail.com>
Date: Mon Jul 2 12:51:57 2012 -0400
[Audible] Commit the initial support for Audible files
Only .aa files are supported. Parsing for .aax is not yet implemented.
Patch was contributed by Guy Taylor and fixes bug:
https://bugzilla.gnome.org/show_bug.cgi?id=601543
commit dff85c0e44fba553e124980a70d5d2584c67c1a7
Author: Alexander Kojevnikov <alexander@kojevnikov.com>
Date: Sun Jul 1 14:43:22 2012 -0400
build: Don't need the MONO_USER
commit 9543df0375ea20f78184a7f379a7c8953e5c807c
Author: Alexander Kojevnikov <alexander@kojevnikov.com>
Date: Sun Jul 1 10:16:49 2012 -0400
build: Prepare for 2.0.5.0 release
commit be743939588613cdff187abaac0b534cd470c2e7
Author: Eamon Nerbonne <eamon@nerbonne.org>
Date: Sun May 22 16:58:39 2011 +0200
Use O(N) rather than O(N^2) deunsynchronization algorithm.
Signed-off-by: Alexander Kojevnikov <alexander@kojevnikov.com>
commit 9469df6a78842a7bfbf443e77eecc91aeb184567
Author: Eamon Nerbonne <eamon@nerbonne.org>
Date: Sun May 22 16:58:35 2011 +0200
On corrupt Id3v2 frame, skip just that frame, not the entire tag
Fixes bgo#650674
Signed-off-by: Alexander Kojevnikov <alexander@kojevnikov.com>
commit df93521dd409e5f568178d34131950a93d3a5ba2
Author: Eamon Nerbonne <eamon@nerbonne.org>
Date: Sun May 22 16:58:24 2011 +0200
Check for short popularimeter tags
Signed-off-by: Alexander Kojevnikov <alexander@kojevnikov.com>
commit 7e6d0a89feb3c7c40a54fc17fcdbfd1fec1dc5ba
Author: Jakub 'Fiołek' Fijałkowski <fiolek@fiolek.org>
Date: Sat Jun 30 16:30:57 2012 -0400
StartTag.ReadTag should not silence exceptions
Signed-off-by: Alexander Kojevnikov <alexander@kojevnikov.com>
commit 0f0268457c465702657b64abc18b30dc83d184f3
Author: Alexander Kojevnikov <alexander@kojevnikov.com>
Date: Sat Jun 30 16:19:09 2012 -0400
An additional MarkAsCorrupt call
commit e4380983772a56b81c5527404325f6fd7efd778d
Author: Tim Howard <timothy.howard@gmail.com>
Date: Sat Jun 30 16:16:35 2012 -0400
Mark the file as corrupt instead of throwing exception
Fixes bgo#643477
Signed-off-by: Alexander Kojevnikov <alexander@kojevnikov.com>
commit e53ffcc4c417bac611fae80d1d0a88ecfafcfc6d
Author: Alan McGovern <alan.mcgovern@gmail.com>
Date: Sat Jun 30 12:27:48 2012 -0400
[Mpeg4] Attempt to handle corrupt tags a little better
If an mpeg4 file contains an atom whose length is greater than the
amount of bytes left in the file, mark the file as corrupt and bail
out of the parsing step.
Fixes bug #676934
commit 0158f137085da6eb988f089d3cecedba4a90a239
Author: samuel_d_jack <sam@seaturtlesoftwarea.com>
Date: Wed Nov 9 15:57:11 2011 +0000
Fix nested UDTA boxes
Fixed bug where a Udta box nested inside a track would be picked in
preference to one at a higher level in the tree.
Signed-off-by: Alexander Kojevnikov <alexander@kojevnikov.com>
commit ec365a66807d09f3712e7910fce17992d412fc0c
Author: Alexander Kojevnikov <alexander@kojevnikov.com>
Date: Sat Jun 30 13:00:03 2012 -0400
Solution code formatting policy
commit 21ef764e0a9c394d70dc3917c7bbebdce0a2eadd
Author: Eberhard Beilharz <eb1@sil.org>
Date: Sat Jan 7 18:15:36 2012 +0100
Add partial support for IPTC-IIM
Allows reading a subset of possible IPTC-IIM tags from JPEG files.
Specifically those tags are read that directly map to XMP tags.
If both XMP and IIM tags exist the XMP tags take precedence.
This change supports IIM as far as necessary to import images from
Mediadex into f-spot.
Signed-off-by: Alexander Kojevnikov <alexander@kojevnikov.com>
commit 663c5fb0d90a5ba9222104213b55d8f7a8b99d09
Author: Alan McGovern <alan.mcgovern@gmail.com>
Date: Fri Jun 29 16:27:42 2012 -0400
[Build] Glob together all the cs files for the taglib makefile build
Keeps things nice and simple!
commit d4879482f30517a85844c08ffda5c0249d21ea05
Author: Alan McGovern <alan.mcgovern@gmail.com>
Date: Fri Jun 29 15:51:31 2012 -0400
[Mpeg4] Fix parsing of some more apple tags
We correctly handle 'text' atoms inside an 'stda' atom now.
commit 17a2404275aceb5273c88db525e526dc0a74a038
Author: Stephen Shaw <sshaw@decriptor.com>
Date: Wed Jun 27 12:28:23 2012 -0400
Didn't fix this test, but it is at the very least documented for the next brave individual that tries to fix it
commit 363f8aeb89739dce4a88e22e42410b9eb0eed074
Author: Alan McGovern <alan.mcgovern@gmail.com>
Date: Wed Jun 27 19:51:00 2012 -0400
[Mpeg4] Ensure that we parse AppleAdditionalInfoBox elements properly
We do not care what the contents of these elements are. They can literally
be anything. As such, we should parse them as a black box and assume
nothing about their contents. Add a test to ensure we parse the file
correctly.
Fixes bgo 658920.
commit 0f1a349cec8995294cb711f2fde13198130d2c72
Author: Alan McGovern <alan.mcgovern@gmail.com>
Date: Wed Jun 27 12:13:30 2012 -0400
Test
commit 64e9fa90636072a1cc1e9a125735366faf23496a
Author: Alan McGovern <alan.mcgovern@gmail.com>
Date: Wed Jun 27 12:09:28 2012 -0400
[Build] Commit the updated csproj/sln files
We're now VS2010 format and do not enable Makefile integration. This
fixes the build from MonoDevelop/Visual Studio.
commit 475b7c1888f0d297168deaaddf8d432feee7b1fd
Author: Alan McGovern <alan.mcgovern@gmail.com>
Date: Wed Jun 27 12:04:56 2012 -0400
[File] Properly implement partial matching for File.Find and File.RFind
Remove the need to care about partial matches be always rewinding the stream
a little before reading the next chunk of data so that we can ensure we
never have data which exists at the end of one read and the start of
the next.
commit 9d8bea03800591d46374938bf5b54cbad571bfe8
Author: Alan McGovern <alan.mcgovern@gmail.com>
Date: Wed Jun 27 10:10:52 2012 -0400
[Tests] Fix some compiler warnings
commit 9fcfb6f7c76e00cd64fd95d6fdf2bb4c2d2f9caf
Merge: f33b2b1 6962832
Author: Alexander Kojevnikov <alexander@kojevnikov.com>
Date: Thu Mar 22 03:35:22 2012 -0700
Merge pull request #9 from omgtehlion/master
Fixed freeze on some mp3-files, where header was at the end of file
commit f33b2b12fbd8b96fe3563f80672ef2cd16e8ff4e
Author: Alexander Kojevnikov <alexander@kojevnikov.com>
Date: Mon Feb 6 21:56:25 2012 +0800
Fix monodocdir
commit 665acfa908bbb2f2e22dbd2760daafb09b3241fa
Author: Chow Loong Jin <hyperair@debian.org>
Date: Sun Feb 5 23:42:25 2012 +0800
Use gacutil for ICSharpCode.SharpZipLib check
commit 4f00a742695ea305a65e5ac21ef5d6c938735378
Author: Chow Loong Jin <hyperair@debian.org>
Date: Mon Feb 6 01:06:24 2012 +0800
Readd Taglib.Mpeg4.FileParser.UserDataBox property
The UserDataBox property was renamed to UserDataBoxes and its return type
changed to an array between 2.0.3.7 and 2.0.4.0, resulting in an ABI
breakage. This patch readds the property for backward compatibility.
commit 6962832ae288adcff77a1ca9071a42466b8ce30d
Author: Anton Drachev <anton@drachev.com>
Date: Wed Feb 1 23:22:19 2012 +0400
taglib freezes on certain mp3 files
commit 1d4191f1bc09f600e691181ec0c5ffad3a4a4ec3
Author: Gabriel Burt <gabriel.burt@gmail.com>
Date: Wed Apr 13 12:15:39 2011 -0500
build: Fix push-release target
commit b289765aa9096432508301711b9bd0c363b138a3
Author: Gabriel Burt <gabriel.burt@gmail.com>
Date: Wed Apr 13 12:10:46 2011 -0500
build: Remove IntList, copy README/AUTHORS in distwin
commit 0fdcb611b931523f489fbf1e6cd4ce7c0a139526
Author: Gabriel Burt <gabriel.burt@gmail.com>
Date: Wed Apr 13 11:59:50 2011 -0500
build: Fix .csproj/.sln build
Remove obsolete/duplicate taglib-sharp.csproj in favor of
src/taglib-sharp.csproj.
commit e4e8d00a77f63a5cf2da22ee11c068e62ced3175
Author: Gabriel Burt <gabriel.burt@gmail.com>
Date: Wed Apr 13 11:27:56 2011 -0500
Update NEWS etc for 2.0.4.0 release
commit 28a9b08cb4dc99133295f58b0903bd4ea594cda8
Author: Ruben Vermeersch <ruben@savanne.be>
Date: Wed Apr 13 18:19:44 2011 +0200
Revert "Make sure the entry size is even possible before trying to create it"
This reverts commit 8975dafa64d2f31219fe7f1177a3a08933cd82e4.
commit e2ed0e612eedbf8fd3c69b294950727b22398179
Author: Gabriel Burt <gabriel.burt@gmail.com>
Date: Wed Apr 13 11:02:05 2011 -0500
ICodec: Fix MediaTypes flag enum values (bgo#645844)
These values need to be 2^n so they are distinguishable.
This is an API break for folks who have been using git master, but is
not an API break of any taglib# release.
commit 5fe7555cdb881ee81de3f9d2ee65e29746e1c556
Author: Jeroen Asselman <jeroen@asselman.com>
Date: Tue Mar 1 16:10:37 2011 +0100
Fix File.ReadBlock for slow connections (bgo#639817)
Stream.Read might read fewer bytes then requested (this is documented),
so try to continue reading until all requested bytes are read.
Signed-off-by: Gabriel Burt <gabriel.burt@gmail.com>
commit ff0117e4094f217e584a87876554bb880583e2aa
Author: Julien Moutte <julien@moutte.net>
Date: Mon Mar 7 13:43:41 2011 +0100
Fix more warnings for assigned but never used variables.
commit 4aa51d7b3438493ce8a5ef47172fc6525ed2a7fd
Author: Julien Moutte <julien@moutte.net>
Date: Mon Mar 7 13:30:30 2011 +0100
Add comments on all public members/methods to fix warnings.
commit a40ae47748793f1773a8258c57941945cb0cf769
Author: Julien Moutte <julien@moutte.net>
Date: Mon Mar 7 12:27:47 2011 +0100
Add Matroska source files for Linux build.
commit 925b97d929cf05fb348e1c4fba6b17b995b9b086
Author: Julien Moutte <julien@moutte.net>
Date: Mon Mar 7 11:51:21 2011 +0100
Add initial support for Matroska file reader.
commit 8659479f7c2b2532ad1a7629692c7c8411abf58e
Author: Julien Moutte <julien@moutte.net>
Date: Mon Mar 7 11:50:59 2011 +0100
Add an enumeration for text streams (subtitles).
commit 37b0859e42c6fccdc52da7af5f4b626171d29d58
Author: Julien Moutte <julien@moutte.net>
Date: Mon Mar 7 11:50:25 2011 +0100
Add methods to read doubles and floats.
commit 0fe3191ae5e71ffa00017c18d5e2f84002f82b73
Author: Alexander Kojevnikov <alexander@kojevnikov.com>
Date: Sun Jan 30 20:52:16 2011 +0800
Fix `gmake test` under FreeBSD
commit 3817310700909ba9b58b15004556e7737fd6af6c
Author: Alexander Kojevnikov <alexander@kojevnikov.com>
Date: Sun Jan 30 20:45:11 2011 +0800
Sort tests/Makefile.am
commit 86054f74f68b7307005cccc5ef6a23ad1300ec1a
Author: Ruben Vermeersch <ruben@savanne.be>
Date: Sun Dec 19 14:31:31 2010 +0100
Accidentally added RW2, doh!
commit aa7978fca9dd7da59d7f64931b5fadbb13bc70c4
Author: Ruben Vermeersch <ruben@savanne.be>
Date: Sun Dec 19 13:04:25 2010 +0100
Add yet-to-support types to NoMetadata to prevent F-Spot crashes.
These files can be loaded in F-Spot.
commit 8975dafa64d2f31219fe7f1177a3a08933cd82e4
Author: Tim Howard <timothy.howard@gmail.com>
Date: Sun Dec 12 12:23:29 2010 -0500
Make sure the entry size is even possible before trying to create it
https://bugzilla.gnome.org/show_bug.cgi?id=633972
commit 7541844d9f151baf10a945ac9eaa22007364c902
Author: Ruben Vermeersch <ruben@savanne.be>
Date: Mon Nov 29 10:45:01 2010 +0100
Add test for broken CR2 file.
https://bugzilla.gnome.org/show_bug.cgi?id=633972
commit c408cb26ab2d45ac680554d5c001699cfe6ddb43
Author: Tim Howard <timothy.howard@gmail.com>
Date: Wed Nov 17 12:58:09 2010 -0500
Make sure that size of the SubIFD is sane
https://bugzilla.gnome.org/show_bug.cgi?id=633972
commit 47728711d5a993c19ae1b4e7a89ea5c769caf97c
Author: Ruben Vermeersch <ruben@savanne.be>
Date: Tue Nov 16 22:08:44 2010 +0100
Fix another Length issue.
PTP not supporting stream length is such a pain.
https://bugzilla.gnome.org/show_bug.cgi?id=629766
commit 51558b0d74db63a96cd9a2358f7f6b81a555770d
Author: Gabriel Burt <gabriel.burt@gmail.com>
Date: Wed Oct 27 14:33:07 2010 -0500
[File] Make MarkAsCorrupt internal
commit 4ea972fc86006e976d6a2e255dac8bfea33a21d9
Merge: 8d6e98c c6a6d93
Author: Gabriel Burt <gabriel.burt@gmail.com>
Date: Wed Oct 27 14:26:23 2010 -0500
Merge branch 'photo-support'
Conflicts:
tests/tests.csproj
commit c6a6d93da9b29a247d0f25210dc02e0d9535e2c1
Author: Ruben Vermeersch <ruben@savanne.be>
Date: Wed Oct 27 11:37:42 2010 +0200
Fix an XMP parse failure.
https://bugzilla.gnome.org/show_bug.cgi?id=631333
commit 884aabafe9fdf1e965b01be227a8c12e657cc1df
Author: Ruben Vermeersch <ruben@savanne.be>
Date: Wed Oct 27 11:36:02 2010 +0200
Extend fixture generator for XmpBag with multiple items.
commit 2d62c8deb2cf6b758b3b18b07f72c05a055ea172
Author: Ruben Vermeersch <ruben@savanne.be>
Date: Sat Oct 23 13:31:03 2010 +0200
Update DNG test to check the new DNG geometry code.
commit fe267bfc7c2d520900e8553cdd6cf940ca72dc57
Author: Ruben Vermeersch <ruben@savanne.be>
Date: Sat Oct 23 13:26:11 2010 +0200
Correctly extract image size for DNG.
commit 59bb02db11d80103ffe6d3a64b3fcd7b860d8d08
Author: Ruben Vermeersch <ruben@savanne.be>
Date: Sat Oct 23 13:02:14 2010 +0200
Fix tests.
commit d50efa92d05f2ff53281797ddaa6e2fa4aa829eb
Author: Ruben Vermeersch <ruben@savanne.be>
Date: Fri Oct 22 21:44:29 2010 +0200
Be a bit more tolerant about XMP parsing failures.
commit 0ea33a9efd6b8daaa5f9d5f1a96baaf49fa742d0
Author: Ruben Vermeersch <ruben@savanne.be>
Date: Fri Oct 22 21:15:44 2010 +0200
Handle a file with a bad user comment marker.
https://bugzilla.gnome.org/show_bug.cgi?id=632930
commit 19abba541d4d5057be899c5fbb0a701f1b71f88a
Author: Ruben Vermeersch <ruben@savanne.be>
Date: Fri Oct 22 20:48:14 2010 +0200
Make it possible to debug corruptions.
commit 5b8a05f130d7e2bf6e284ae0486c9193112806fa
Author: Marek Habersack <grendel@twistedcode.net>
Date: Wed Sep 15 23:18:08 2010 +0200
All fields of a struct must be initialized before the constructor returns
https://bugzilla.gnome.org/show_bug.cgi?id=629222
commit b597fe772b8f2278bde0cc3d0815c5a51c54370e
Author: Ruben Vermeersch <ruben@savanne.be>
Date: Mon Sep 13 15:08:11 2010 +0200
More file.Length protection fixes.
commit 3bc3d802044028daa755b424f91ac73ded049b95
Author: Ruben Vermeersch <ruben@savanne.be>
Date: Mon Sep 13 11:04:43 2010 +0200
Make IFD parsing slightly more robust.
Not all IO backends support finding the length of a stream. I relaxed the
safety check slightly to fall back to using the max length of a TIFF file as
per the specification: 4 gigabyte.
https://bugzilla.gnome.org/show_bug.cgi?id=629386
commit 8d6e98ce97b731556be11096e9841baadfa3683d
Author: Colin Turner <spinstation@yahoo.com>
Date: Wed Sep 8 14:12:07 2010 +1000
2010-09-08 Alexander Kojevnikov <alexander@kojevnikov.com>
* src/TagLib/Mpeg4/Boxes/IsoUserDataBox.cs:
* src/TagLib/Mpeg4/File.cs:
* src/TagLib/Mpeg4/FileParser.cs:
* tests/Makefile.am:
* tests/fixtures/TagLib.Tests.FileFormats/M4vFormatTest.cs:
* tests/samples/sample.m4v:
* tests/tests.csproj: Patch from Colin Turner fixing mpeg4 file
parsing of udta boxes (bgo#575842)
Signed-off-by: Alexander Kojevnikov <alexander@kojevnikov.com>
commit b8f78f4cbda5bdd09d484824eaa72bff1d9b82a2
Author: Gabriel Burt <gabriel.burt@gmail.com>
Date: Wed Sep 1 12:02:43 2010 -0500
Update README with git instructions
commit d123960445605992b3cd74c626aab3b39526ff42
Author: Ruben Vermeersch <ruben@savanne.be>
Date: Thu Aug 12 13:43:19 2010 +0200
Fix Leica M8 makernote parsing.
commit 9d567a7bcbd607129457dc80cb8bf14818501e60
Author: Ruben Vermeersch <ruben@savanne.be>
Date: Thu Aug 12 13:41:59 2010 +0200
Don't fail parsing IFDs with invalid entry types.
https://bugzilla.gnome.org/show_bug.cgi?id=625367
commit 9d92818411c42c05798307624ff375c3b4f3fcc2
Author: Ruben Vermeersch <ruben@savanne.be>
Date: Tue Aug 10 12:35:19 2010 +0200
Add image/x-panasonic-raw mime type.
commit ef058da50ce8d82d8e5740317aceee78f9a807c9
Author: Ruben Vermeersch <ruben@savanne.be>
Date: Mon Aug 9 15:31:59 2010 +0200
Add Leica .RAW support.
https://bugzilla.gnome.org/show_bug.cgi?id=622104
commit 162333e1906959707693dec8cae04016d567294f
Author: Ruben Vermeersch <ruben@savanne.be>
Date: Sat Aug 7 20:48:57 2010 +0200
Lock on the file while detecting IFD loops.
Fixes a potential race-condition crash.
commit 33f4fd526d9e7091dc97c14235aed54f65ed85e9
Author: Ruben Vermeersch <ruben@savanne.be>
Date: Sat Aug 7 21:35:33 2010 +0200
Trim nulls in UserComment.
Some files are littered by null bytes. Make sure we trim them.
commit f9c29e94f14869cf22468782cc356e2079cdd921
Author: Ruben Vermeersch <ruben@savanne.be>
Date: Sat Aug 7 18:48:09 2010 +0200
Fix width/height parsing for RW2 files.
commit 0394adaa79b04476192aafa89b63e1ef39f2d748
Author: Ruben Vermeersch <ruben@savanne.be>
Date: Sat Aug 7 18:40:55 2010 +0200
Add Pentax RAW support.
https://bugzilla.gnome.org/show_bug.cgi?id=622103
commit 1c69bc61eb8da13eb83b366b6f068d6ef4385c3a
Author: Ruben Vermeersch <ruben@savanne.be>
Date: Sat Aug 7 18:10:30 2010 +0200
Remove unused variable.
commit 1008c7d161bdca6368844367054944b111f0bbea
Author: Ruben Vermeersch <ruben@savanne.be>
Date: Sat Aug 7 17:44:06 2010 +0200
Fix the extraction of some values in RW2.
Panasonic stores these in unstandard locations.
commit 3f6c8a5a3dabfb335ab67259e258bc747219a9ae
Author: Ruben Vermeersch <ruben@savanne.be>
Date: Sat Aug 7 16:43:59 2010 +0200
[IFD] Fix parsing with non-null delimited strings.
There was an interesting off-by-one parsing error for strings that were
not delimited by a null byte. This commit makes sure we read the entire
byte array and then cut of everything up to the null byte.
https://bugzilla.gnome.org/show_bug.cgi?id=493530
commit dbad977936d4efc6187767b9ae1cec1edfa288f1
Author: Ruben Vermeersch <ruben@savanne.be>
Date: Thu Jul 22 15:26:13 2010 +0200
[Jpeg] Don't complain if the stream Length can't be read.
https://bugzilla.gnome.org/show_bug.cgi?id=624671
commit be510696d1b0d7eee1e8947c29ff0d7949e4f543
Author: Ruben Vermeersch <ruben@savanne.be>
Date: Thu Jul 22 15:08:32 2010 +0200
Detect IFD entry type 0 corruption.
https://bugzilla.gnome.org/show_bug.cgi?id=625009
commit 8d44e11a5473417f3bbf2590260c57257ec8d7ab
Author: Ruben Vermeersch <ruben@savanne.be>
Date: Thu Jul 22 15:08:04 2010 +0200
Ignore compiled helper binaries.
commit ce41ae6314ab5a891140856e6b7c7d1c50b8d91d
Author: Ruben Vermeersch <ruben@savanne.be>
Date: Thu Jul 22 14:50:17 2010 +0200
Comment out unused lines.
commit a1161e8b901ca73f56a3984a23f64379c6522dbb
Author: Ruben Vermeersch <ruben@savanne.be>
Date: Thu Jul 22 14:48:14 2010 +0200
Update unit tests, the used XMP tags do not contain the Orientation.
commit 2bdf23c46adff2d46a58694005a8e5beb3063f38
Author: Ruben Vermeersch <ruben@savanne.be>
Date: Thu Jul 22 14:47:13 2010 +0200
Don't throw exception on invalid IFD offsets.
Mark as corrupt instead.
commit e88f64ec9c9953037ff6aad0d3d8dcc4ec432473
Author: Mike Gemünde <mike@gemuende.de>
Date: Tue Jul 20 12:52:08 2010 +0200
Fix CopyFromTest to be unsensitive to different formats of ToString for DateTime
commit ecfe021ae3549140067de5ea7fd990bf606d4d91
Author: Mike Gemünde <mike@gemuende.de>
Date: Tue Jul 20 12:50:02 2010 +0200
Add default value for ImageOrientation (None = 0)
It was not possible to distinguish wether a orientation is not set
or it is set to TopLeft, because TopLeft was used as the default.
This caused problems when determining the orientation in CombinedImageTag.
Therfore, a default is now added to get the correct value.
commit 486632c7bc8ef86c41a60680272481c3e5fdee24
Author: Mike Gemünde <mike@gemuende.de>
Date: Sun Jul 18 09:51:05 2010 +0200
Fix typo in mime type of cr2 files
commit 8c922c0387d32176ef940791f25ec9db533ac0cf
Author: Ruben Vermeersch <ruben@savanne.be>
Date: Tue Jul 13 20:31:27 2010 +0200
Cycle detection to avoid endless IFD loops.
https://bugzilla.gnome.org/show_bug.cgi?id=391671
commit 0bf4c68da62ad73a927b127d9d61571a68cbd43c
Author: Ruben Vermeersch <ruben@savanne.be>
Date: Tue Jul 13 18:47:55 2010 +0200
Parse and detect corruption in Olympus makernotes.
https://bugzilla.gnome.org/show_bug.cgi?id=555340
commit 634a55d461819277f1cd032e602b0468e5c71870
Author: Ruben Vermeersch <ruben@savanne.be>
Date: Tue Jul 13 17:47:24 2010 +0200
Handle all space comments.
https://bugzilla.gnome.org/show_bug.cgi?id=397002
commit 9ac4daf03c50f697aea45333692d9d0e51396095
Author: Ruben Vermeersch <ruben@savanne.be>
Date: Tue Jul 13 17:46:31 2010 +0200
Support generating fixtures for Olympus files.
commit 5b595bef6bdf74f70239248bf46a8a8193c5b085
Author: Ruben Vermeersch <ruben@savanne.be>
Date: Tue Jul 13 17:34:30 2010 +0200
Add support for empty comments consisting of only spaces.
commit fb8e08b00909eea17cf2c08553c3c5aaf165dd5a
Author: Ruben Vermeersch <ruben@savanne.be>
Date: Tue Jul 13 17:22:07 2010 +0200
Add SVG support via NoMetadata, for now.
commit a67a562149925fd0862b9d3858c401f4f5d97ddb
Author: Ruben Vermeersch <ruben@savanne.be>
Date: Mon Jul 12 17:48:24 2010 +0200
Refuse to write files with unknown corruptions.
Certain Nikon files can have strange corruptions which we're not sure
how to parse (nor do other metadata libraries). This may be a bug or a
feature. We detect it and refuse to write in such cases.
https://bugzilla.gnome.org/show_bug.cgi?id=624097
commit 6c3ce99097a13e6194a755dfeec8ab82aeec23a1
Author: Ruben Vermeersch <ruben@savanne.be>
Date: Sun Jul 11 13:05:01 2010 +0200
Validate remaining XmpTag values.
commit 785e4cb1bbfccc3a2d4a2d2258b69937abf3f524
Author: Ruben Vermeersch <ruben@savanne.be>
Date: Sun Jul 11 12:42:59 2010 +0200
Start validating ImageTag implementations.
Fixes some bugs in XmpTag and adds some fallbacks.
commit 0659501225f66d8e22df141502fc1a897d797067
Author: Ruben Vermeersch <ruben@savanne.be>
Date: Wed Jul 7 00:33:26 2010 +0200
Parse embedded JpgFromRaw in RW2 files.
commit a58728170f54fd7823df1bca318cf2a6214f9c02
Author: Ruben Vermeersch <ruben@savanne.be>
Date: Mon Jul 5 19:08:27 2010 +0200
Remove debug statements.
commit fa81e725cd7104e12a75b92c622d302780713892
Author: Ruben Vermeersch <ruben@savanne.be>
Date: Thu Jul 1 19:30:21 2010 +0200
Add Rw2 files to Monodevelop projects.
commit c8964265eebde4e623716e4e9ef906f3a505eef0
Author: Ruben Vermeersch <ruben@savanne.be>
Date: Sun Jun 27 17:39:10 2010 +0200
First incomplete attempt at RW2 support.
Different approach is needed, but I'm too frustrated with Panasonics
horrible format for now.
commit adddbacf46b928c207e1104be98c5ed584d58b53
Author: Ruben Vermeersch <ruben@savanne.be>
Date: Tue Jul 6 19:28:13 2010 +0200
Fix build breakage.
commit 4a6f66c806c0f725778e4fb091c674bf6434cc62
Author: Ruben Vermeersch <ruben@savanne.be>
Date: Mon Jul 5 23:20:27 2010 +0200
Add initial DNG support.
Gets the size wrong, but I'll fix that soon, when I start adding a
simple API test for each file type.
commit 97668fecb6f55ec15610c39f58c81608f9caa015
Author: Ruben Vermeersch <ruben@savanne.be>
Date: Mon Jul 5 19:50:35 2010 +0200
Add Sony ARW support.
commit dd99430ab167520497e584eb9a562eceadf269c6
Author: Ruben Vermeersch <ruben@savanne.be>
Date: Fri Jul 2 23:17:50 2010 +0200
Add PCX support to NoMetadata.
commit f96cca366b0d34a76a9679df69de8868d435df33
Author: Ruben Vermeersch <ruben@savanne.be>
Date: Fri Jul 2 23:12:42 2010 +0200
Add mime types and extensions for Netpbm to NoMetadata.
commit 454ae09e6cb5f5d6d1815bb5d3ed2785b2de0c5a
Author: Ruben Vermeersch <ruben@savanne.be>
Date: Fri Jul 2 23:09:43 2010 +0200
Add mime types for bitmaps.
commit 9f7bdc3a04a89cd339dbe647198cbcb1f9536c78
Author: Ruben Vermeersch <ruben@savanne.be>
Date: Fri Jul 2 22:37:43 2010 +0200
Add bitmap as a non-metadata type.
commit a96174f6eae4eabeeda59b427afe7d9ba1f5d76b
Author: Ruben Vermeersch <ruben@savanne.be>
Date: Fri Jul 2 22:31:13 2010 +0200
Add a fallback type for images without metadata.
commit 3e2f3819ad7ce424672e2127c5894a33ab372573
Author: Ruben Vermeersch <ruben@savanne.be>
Date: Fri Jul 2 10:32:31 2010 +0200
Make a list copy to avoid out-of-sync enumerators.
commit 8445fc0927f14607f0c4a32d4233ec2f1e9f703d
Author: Ruben Vermeersch <ruben@savanne.be>
Date: Fri Jul 2 10:29:55 2010 +0200
Remove empty Sub IFDs before rendering.
commit 7d632cc334efea165190c19863363252bf2b6539
Author: Ruben Vermeersch <ruben@savanne.be>
Date: Fri Jul 2 10:23:14 2010 +0200
Revert "Don't render empty Sub IFDs"
This reverts commit 359bf87df97b991d9e9de53d0e63ba02424796ab.
Not the right way to fix it.
commit aa93264a11e5b994c829d57521860d62bac58191
Author: Ruben Vermeersch <ruben@savanne.be>
Date: Fri Jul 2 10:17:11 2010 +0200
Don't render empty Sub IFDs
commit 0c1bf35b0cf9f68dbb96df6501ae1cd3144daa08
Author: Ruben Vermeersch <ruben@savanne.be>
Date: Fri Jul 2 10:04:30 2010 +0200
Fix handling of nullable assignments.
commit d4ab524264c5defe57046950697ba41c9dc96715
Author: Ruben Vermeersch <ruben@savanne.be>
Date: Fri Jul 2 01:25:53 2010 +0200
Add metadata copying between images.
Only copies the values from ImageTag. Good enough.
https://bugzilla.gnome.org/show_bug.cgi?id=618770
commit f8bc4a360d158cbc76852d94f5e0ab8baddfb976
Author: Ruben Vermeersch <ruben@savanne.be>
Date: Thu Jul 1 18:14:02 2010 +0200
Update MonoDevelop support.
commit 3a625b1054f3cb1eed898471dbb4406783d94142
Author: Ruben Vermeersch <ruben@savanne.be>
Date: Sun Jun 27 17:11:51 2010 +0200
Indent values in ParsePhoto.
commit 00a049969c3428e06c81422afa0ed8258ef117fc
Author: Ruben Vermeersch <ruben@savanne.be>
Date: Sun Jun 27 00:54:55 2010 +0200
Remove stray file from build.
This shouldn't have been committed.
commit 80942aae30028a919022c26ae117296fc0912c3a
Author: Ruben Vermeersch <ruben@savanne.be>
Date: Sun Jun 27 00:08:10 2010 +0200
Make the Tiff Codec type reusable.
Avoid having to define a new one for each new Tiff-derived type.
commit f5a98009508fc8961eff1cb5c0c18447dfaf7af7
Author: Ruben Vermeersch <ruben@savanne.be>
Date: Sat Jun 26 23:54:58 2010 +0200
Move Tiff-based RAW types into Tiff namespace.
There will be a lot of them, don't want to clutter the main source tree.
commit dd7c59b844ee8c840b544b7bffb60935f1b1409e
Author: Ruben Vermeersch <ruben@savanne.be>
Date: Sat Jun 26 23:19:08 2010 +0200
Don't crash when writing empty XMP collections.
commit 06211a9fc78172fb7bce88136d268391c11c974f
Author: Ruben Vermeersch <ruben@savanne.be>
Date: Thu Jun 24 20:27:59 2010 +0200
Expand Nikon format support.
Nikon encodes a ton of info into byte arrays. These are not parsed yet.
Perhaps we should do so at some point, or at least pull the interesting
bits out.
commit 6d75fdc99e004d0b1e24e15474d163c638d3ffb6
Author: Ruben Vermeersch <ruben@savanne.be>
Date: Thu Jun 24 20:26:43 2010 +0200
Add support for SubIFDs and SubImages.
commit 737857b640e60a0424e9317b83d768685ca096a7
Author: Ruben Vermeersch <ruben@savanne.be>
Date: Thu Jun 24 20:11:04 2010 +0200
Update to test repository with NEF file.
commit 8fe3d0ee40610d78e27da996d3a379a022eeadb3
Author: Ruben Vermeersch <ruben@savanne.be>
Date: Thu Jun 24 18:26:36 2010 +0200
Don't inherit file type attributes.
This makes it possible to make an inherited TIFF type for NEF files.
commit 40af7636c446833561d203b64e47e961e51cb973
Author: Ruben Vermeersch <ruben@savanne.be>
Date: Wed Jun 23 11:36:09 2010 +0200
Add initial NEF support.
commit 7b1311a55c9a2d4173ac3f3c472007f87668a827
Author: Ruben Vermeersch <ruben@savanne.be>
Date: Wed Jun 23 11:09:40 2010 +0200
Fix copy/paste error in comments.
commit 5c986c18a831105556aff482cd75be6e6ba213d9
Author: Ruben Vermeersch <ruben@savanne.be>
Date: Sun Jun 20 15:29:27 2010 +0200
Compare visual data based on hashes.
Slightly faster.
commit 5d39e3d9dbe06cf357469335a9f698a4afefe1cf
Author: Mike Gemünde <mike@gemuende.de>
Date: Thu Jun 17 13:14:34 2010 +0200
Add Canon CR2 test
commit 405d847b7ac611cbe07555987096df6a9ab0d692
Author: Ruben Vermeersch <ruben@savanne.be>
Date: Sun Jun 20 15:55:09 2010 +0200
Add IFD tags for a bunch of Canon fields.
commit 731f2e0b76e79b8587c8ea1d9c1f53e336cccbe8
Author: Ruben Vermeersch <ruben@savanne.be>
Date: Sun Jun 20 15:22:45 2010 +0200
Compare very large values by MD5.
commit 640714afe48fe208dbdd7f8366db4757192f859e
Author: Mike Gemünde <mike@gemuende.de>
Date: Thu Jun 17 13:13:30 2010 +0200
Extend ImageTest
ImageTest is extended to handle image files in different locations and to allow
read-only images tested.
commit 51ceeb695ba0d42bfc06cea67c8e8b2d269efc5a
Author: Mike Gemünde <mike@gemuende.de>
Date: Thu Jun 17 13:12:33 2010 +0200
Extend test generation tool
The test generation tool now handles all namespaces from exiv2 for
Canon makernotes.
commit 6e214001a1815f4f725b0453b97d1fc7eec1b09e
Author: Mike Gemünde <mike@gemuende.de>
Date: Mon Jun 14 10:28:13 2010 +0200
Extend the ParsePhoto example to also show the image size
https://bugzilla.gnome.org/show_bug.cgi?id=621508
commit b664ec978484b78805e71a88c6fdf8d589564039
Author: Mike Gemünde <mike@gemuende.de>
Date: Mon Jun 14 10:13:22 2010 +0200
Add support for Canon CR2 raw files
This commits adds support to parse Canon CR2 RAW files. Since this
format is based on the TIFF structure, reading is mostly based on
this code.
https://bugzilla.gnome.org/show_bug.cgi?id=621508
commit e43bf7115c00f0f81f086e11b4eef69d9cd47143
Author: Mike Gemünde <mike@gemuende.de>
Date: Mon Jun 14 10:05:03 2010 +0200
Add Property Writeable to Image.File
Since we start supporting some file formats just for reading
(at least for now) the property Writeable is added to Image.File
to indicate if a file can be written back or not.
https://bugzilla.gnome.org/show_bug.cgi?id=621508
commit c8832c3dcaa62098e120eb52bb2a8b0394f6b412
Author: Mike Gemünde <mike@gemuende.de>
Date: Mon Jun 14 10:03:24 2010 +0200
Introduce the class BaseTiffFile as base for all Tiff-based file formats
The class BaseTiffFile is introduced to factor out some behavior which is
common for all Tiff-based file formats.
https://bugzilla.gnome.org/show_bug.cgi?id=621508
commit aa090622f9d0221af5014570b4e0bb1ccf98372e
Author: Ruben Vermeersch <ruben@savanne.be>
Date: Fri Jun 18 19:01:48 2010 +0200
Add XMP node replacement, which will be used for sidecar support.
commit 3dd2d467cbbb6556a26e8673f5161124c8554dbd
Author: Ruben Vermeersch <ruben@savanne.be>
Date: Tue Jun 15 00:50:51 2010 +0200
Add stubs for hooking in RAW tests.
commit b19bac3b7ed4e3ed258d4da55215b492a90d1b7c
Author: Ruben Vermeersch <ruben@savanne.be>
Date: Tue Jun 15 00:36:06 2010 +0200
Only enable "make test" for git builds.
commit e849883343b2b7c1f77af696946a6aed40ca4a2a
Author: Ruben Vermeersch <ruben@savanne.be>
Date: Tue Jun 15 00:31:19 2010 +0200
Don't ship test suite in tarball.
Only built from git.
commit 83693068bcf0c98d6b27c2244f6eae41ea8325e4
Author: Ruben Vermeersch <ruben@savanne.be>
Date: Sat Jun 12 16:43:00 2010 +0200
Fix XMP initialization and fixture test.
commit 00f130e287724be3dbe806136c6989b610854cb1
Author: Ruben Vermeersch <ruben@savanne.be>
Date: Sat Jun 12 16:18:55 2010 +0200
Add prism namespace.
commit d460c17c4edf90b8d08ac2fb4db669c2d59a0c9f
Author: Mike Gemünde <mike@gemuende.de>
Date: Thu Jun 3 10:10:56 2010 +0200
Add support for compressed PNG chunks
Support for compressed PNG chunks is added by using
ICSharpCode.SharpZipLib.dll. Configure and compilation
is conditional whether ICSharpCode.SharpZipLib.dll is
available or not.
https://bugzilla.gnome.org/show_bug.cgi?id=620438
commit 56b2fa9e773bb39f78c34ce623b633ae37378e9e
Author: Ruben Vermeersch <ruben@savanne.be>
Date: Sun May 30 22:51:12 2010 +0200
Fix some typos in the comments.
commit b2abb6b51f8718fadb9245824c848de6ff054a14
Author: Mike Gemünde <mike@gemuende.de>
Date: Thu May 27 10:27:37 2010 +0200
Add tests for PNG support
This commit adds a bunch of tests for the PNG support. The sample files
are created with GIMP and modified with exiftool.
https://bugzilla.gnome.org/show_bug.cgi?id=619921
commit 94b8bfc406bda2231a0239782bdc0b8a819487e0
Author: Mike Gemünde <mike@gemuende.de>
Date: Thu May 27 10:25:04 2010 +0200
Introduce support for PNG files
This commit introduces support for PNG files. A PNG file is parsed
completely and XMP metdata and PNG keywords are extracted. Additionally,
some image properties such as height and with are determined.
https://bugzilla.gnome.org/show_bug.cgi?id=619921
commit d1e8903491c89c7a015c748358084ba61f15c200
Author: Mike Gemünde <mike@gemuende.de>
Date: Tue May 25 21:34:07 2010 +0200
Create class ImageBlockFile for image files organized with data blocks
Some image file formats are organized as data blocks which can be reordered.
Those block are called 'segments' for Jpeg/Jfif files, or 'blocks' for Gif
files. Some of the blocks are metadata and handled by TagLib#. When metadata
is saved back to file, the following must be typically done:
(1) some of the blocks have to be deleted
(2) other blocks are overwritten with the new metadata
The new class ImageBlockFile allows to mark some blocks in the file as
metadata. When metadata is written back to file, the blocks which can be reused
are overwritten, the others are deleted. The File-classes for Jpeg and
Gif can now share this functionality.
Currently, ImageBlockFile only supports saving one data block (which
may contain multiple metadata blocks) and removing all other marked
blocks in file. That is fine for the currently implemented file formats, but
may be changed in future.
https://bugzilla.gnome.org/show_bug.cgi?id=619921
commit 6c5c56ca76d6bc4c976dfbf5a18eab324bcac390
Author: Ruben Vermeersch <ruben@savanne.be>
Date: Sun May 30 17:54:21 2010 +0200
Fix unused variable warning.
commit 014eeaaaa25629aae1589f5c346bcda4dccc2375
Author: Mike Gemünde <mike@gemuende.de>
Date: Fri May 28 10:38:44 2010 +0200
Remove CommentTest for jpeg test without metadata
It does not make sense to have that test here, because a comment
cannot be added, when no tag is present. And it is against the current
taglib policy to add tags without a request from the user.
https://bugzilla.gnome.org/show_bug.cgi?id=619920
commit 6446fd2116446e67335c0e5c21b2ceda854a7667
Author: Mike Gemünde <mike@gemuende.de>
Date: Thu May 27 16:05:59 2010 +0200
Add Function which ensures that all possible image tags for an image file are in place
https://bugzilla.gnome.org/show_bug.cgi?id=619920
commit 20c02ec406477c39edf57d90605c784e6f3e41fc
Author: Mike Gemünde <mike@gemuende.de>
Date: Thu May 27 16:06:43 2010 +0200
Add Test to ensure that the ImageTag properties work correctly
https://bugzilla.gnome.org/show_bug.cgi?id=619920
commit d11b9bfe861b47e0bbfd3a999376bdeb265cb802
Author: Mike Gemünde <mike@gemuende.de>
Date: Thu May 27 15:46:29 2010 +0200
Add more flexible PropertyModificationValidator
The new class PropertyModificationValidator allows to test modifications for
every property defined in ImageTag. This makes it more flexible to test them
all.
https://bugzilla.gnome.org/show_bug.cgi?id=619920
commit a8651759588cc587b20dad4a2cabf1a189925f8d
Author: Mike Gemünde <mike@gemuende.de>
Date: Thu May 27 10:07:09 2010 +0200
Add some properties which are usefull for image tags
The property Creator is added to ImageTag. The properties
Copyright, Comment and Title are implemented in CombinedImageTag
to reuse them from Audio/Video.
https://bugzilla.gnome.org/show_bug.cgi?id=619920
commit 2f27f26fc3aad9f256942c4ea64e4a00f6a0384c
Author: Mike Gemünde <mike@gemuende.de>
Date: Thu May 27 15:11:04 2010 +0200
JpegComment need not to be terminated by 0
Some programs set an jpeg comment which is not terminated by a 0. Therfore,
we cannot remove the last character in every case. Rather, check for
a terminated string.
https://bugzilla.gnome.org/show_bug.cgi?id=619920
commit f3309790ba158f3c0b460c87260b74876dfa2a10
Author: Ruben Vermeersch <ruben@savanne.be>
Date: Sun May 23 15:02:07 2010 +0200
Remove a bit of unreadable code.
commit c71ae99fe735b4a07387360a561554a597a0be56
Author: Mike Gemünde <mike@gemuende.de>
Date: Sun May 23 14:23:38 2010 +0200
Add tests for GIF support
This commit adds a bunch of tests for the GIF support. The sample files
are created with GIMP and modified with exiftool. Some sample files are
hand-edited to provide input data for some special tests.
https://bugzilla.gnome.org/show_bug.cgi?id=619432
commit da6378ddd68eccc82c478f4da66399d912e413ac
Author: Mike Gemünde <mike@gemuende.de>
Date: Sun May 23 14:21:53 2010 +0200
Add Validator to test removal of tags from files
A new Validator for the image tests is added which can be used to
test if tags are correctly removed from files.
https://bugzilla.gnome.org/show_bug.cgi?id=619432
commit 63ccf602c6523d1aa66b9f506b16a7d9f4c4018b
Author: Mike Gemünde <mike@gemuende.de>
Date: Sun May 23 14:06:24 2010 +0200
Extend Validators to specify an own comment string for the test
The current implementation of CommentModificationValidator and
TagCommentModificationValidator uses a fixed comment for testing.
This commit extends the Validators that the comment string can be
changed and an arbitrary comment can be used for the test.
https://bugzilla.gnome.org/show_bug.cgi?id=619432
commit d731abbab07c83242fd63ddb67ebd215f02bb8a5
Author: Mike Gemünde <mike@gemuende.de>
Date: Sun May 23 14:03:07 2010 +0200
Introduce support for GIF files
This commit introduces support for GIF files. A GIF file is parsed
completely and XMP metadata and GIF comments are extracted. Additionally,
the size of the image is extracted. Since GIF files can be used as
an animation, it would be reasonable to determine some Properties
which are related to Audio/Video files. This is currently not covered.
https://bugzilla.gnome.org/show_bug.cgi?id=619432
commit 68722264132abced296ccfa049d90b6549fecddf
Author: Mike Gemünde <mike@gemuende.de>
Date: Thu May 20 16:32:54 2010 +0200
Remove uneccessary if condition in CombinedImageTag
https://bugzilla.gnome.org/show_bug.cgi?id=619200
commit 9c321e650273c9f890d706a5599d8c813a2b201d
Author: Ruben Vermeersch <ruben@savanne.be>
Date: Sun Apr 11 15:17:40 2010 +0200
Make the initialization of XmpTag thread-safe.
commit ecb22bf31b518a54f085b86a8f96d8a69c1d5548
Author: Ruben Vermeersch <ruben@savanne.be>
Date: Sat Apr 3 15:21:26 2010 +0200
Fix warning, add docs.
commit d63b87f909fdb92e3cdb75d7c31d91f0b73d9269
Author: Ruben Vermeersch <ruben@savanne.be>
Date: Sat Apr 3 15:21:13 2010 +0200
Add missing Dispose () doc block.
commit 0ef04eaab535d1baa030fef0042f766fb9ce8b61
Author: Ruben Vermeersch <ruben@savanne.be>
Date: Sat Apr 3 14:30:18 2010 +0200
Ignore monodevelop test results.
commit 13a407f2a8e8a4731787cb7068047135bcc4d1ea
Author: Ruben Vermeersch <ruben@savanne.be>
Date: Sat Apr 3 14:28:23 2010 +0200
Skip visual comparison on large TIFFs.
Running unit tests became too slow on my netbook. Remember that you can run the
full set of validators by running:
make run COMPARE_LARGE_FILES=1
Should be done before each merge/release.
commit 3d176ca43b1dea87b6ba0e3667416909d4059d13
Author: Ruben Vermeersch <ruben@savanne.be>
Date: Sat Apr 3 14:26:12 2010 +0200
Add support for value pairs in unit test generator.
Exiv2 has the stupid habit of printing a list of values joined by a comma.
This means that a field that looks like this:
[ "a, b", "c, d" ]
Is printed as:
"a, b, c, d"
Fortunately we can use the length field to detect this and do the right thing.
commit 1ea7a011e2de479320a3948a359ccf276969afe9
Author: Ruben Vermeersch <ruben@savanne.be>
Date: Sat Apr 3 14:24:56 2010 +0200
Fix exception for files without orientation entry.
Trying to cast null to an ImageOrientation enum member throws an exception.
Fall back to TopLeft to avoid it. Unit test added to test this.
commit eeb815ed8e04671a0a429261859d42af030cb61b
Author: Ruben Vermeersch <ruben@savanne.be>
Date: Sat Apr 3 14:06:07 2010 +0200
Add aux XMP namespace.
commit dbd404b4a025f0c6e11b2df825ab03bd5fe0e805
Author: Ruben Vermeersch <ruben@savanne.be>
Date: Sat Mar 20 19:05:00 2010 +0100
Fix XMP unit test failure.
We disagree with exiv2 on the meaning of Struct. In Taglib#, struct is meant to
denote parseType=Resource types only, not the shorthand equivalent. Also see
XmpNode.RenderInto()
commit dd7d2ded96bdf310b8e96f08bcf654aba2b153e5
Author: Mike Gemünde <mike@gemuende.de>
Date: Fri Mar 5 11:39:21 2010 +0100
regenerate basic tiff test with generation tool
commit 901cab9d0d27d0428f098d49f7a8bc9775f30bda
Author: Mike Gemünde <mike@gemuende.de>
Date: Thu Feb 11 23:17:40 2010 +0100
Add a bunch of new tests for tiff and jpeg
commit 0c164d4e844aacb8b449d380b11db0b18f61c641
Author: Mike Gemünde <mike@gemuende.de>
Date: Thu Feb 11 23:14:13 2010 +0100
Extend GenerateTestFixture
commit 8640ef4e11e9a2ba107bf98edac9b3394b364408
Author: Mike Gemünde <mike@gemuende.de>
Date: Thu Feb 11 23:13:11 2010 +0100
First implementation of tiff-writing
commit fd87a160d8f5238db3d1ee7d4845a2a2f439b8f9
Author: Ruben Vermeersch <ruben@savanne.be>
Date: Tue Feb 9 16:14:13 2010 +0100
Replace fubar namespace
commit 92bc4a1b40aeebf23cfdbb5fcec9da216eaface5
Author: Ruben Vermeersch <ruben@savanne.be>
Date: Sat Feb 20 17:17:51 2010 +0100
Monodevelop build fixes.
commit 90b7c1527bedf4b738940b7e5ab4da2f1cec62a6
Author: Ruben Vermeersch <ruben@savanne.be>
Date: Sat Feb 20 16:41:51 2010 +0100
Use autotools to build src/
commit 32e16e3a90ef37854ed5896e78f2122f661d9b63
Author: Ruben Vermeersch <ruben@savanne.be>
Date: Sat Feb 20 16:41:28 2010 +0100
Make NamespacePrefixes public.
Needed for the unit test generator.
commit 40dbaee8956348bb8b7fb491e4a3985c733a521d
Author: Ruben Vermeersch <ruben@savanne.be>
Date: Tue Feb 16 19:18:45 2010 +0100
Kill all warnings
This now means we can build without any warnings!
commit 9230695e84e8f7f414728816ab08439e63579442
Author: Ruben Vermeersch <ruben@savanne.be>
Date: Sat Feb 13 16:55:35 2010 +0100
Fix build in Monodevelop.
This was done against a Monodevelop version from trunk, but it should work with
any reasonably new version. Unit tests are synchronized with the Makefile, the
main assembly uses a special .sources file which does not allow that trick.
Might deprecate that one at some point.
The tests makefile was modified to allow building in Monodevelop.
commit fd429ea366b095cf8d67294e721c2efb85b3e5e2
Author: Ruben Vermeersch <ruben@savanne.be>
Date: Sat Jan 23 18:26:55 2010 +0100
Replace JpegEmptyTest.
This new test highlights one of the problems that CombinedImageTag currently
has: if there's no metadata tag capable of storing the field, the change will
be lost. We should try to accomodate that.
commit 8ab09e06b6e810794681e9fc43e40fcf647ce149
Author: Ruben Vermeersch <ruben@savanne.be>
Date: Sat Jan 23 16:55:31 2010 +0100
Remove compile warning.
commit e705fd4ecbd723efbb8e5eaf00cd4248118b4581
Author: Ruben Vermeersch <ruben@savanne.be>
Date: Sat Jan 23 16:53:03 2010 +0100
Use String.Empty as the default value for Keywords in CombinedImageTag.
commit fc04c52a18fdcba1c58a6bff20696414c77f6acd
Author: Ruben Vermeersch <ruben@savanne.be>
Date: Sat Jan 23 16:49:56 2010 +0100
Ignore three failing tests.
This doesn't mean that we don't need to fix them, but I got tired of parsing
them every time I compile my code.
commit 443a43c7fe516d3017396c48fb631b7d3e1282d3
Author: Ruben Vermeersch <ruben@savanne.be>
Date: Sat Jan 23 16:47:02 2010 +0100
Replace Panasonic test by much expanded version.
commit 92995954ce437aeccc95e56bd7f0df7bee364bdd
Author: Ruben Vermeersch <ruben@savanne.be>
Date: Sat Jan 23 16:36:02 2010 +0100
Add a bunch of Panasonic makernote entry tags.
commit cb3300243013283c8f6d5ce06f9c0fefeb4363aa
Author: Ruben Vermeersch <ruben@savanne.be>
Date: Sat Jan 23 16:28:47 2010 +0100
Replace the Nikon1 test with a generated one.
This one tests all the original assumptions (including properties), but also
all the fields that weren't checked.
commit 93fda71c1833ac30d95d7ad1471b4b4192eec88c
Author: Ruben Vermeersch <ruben@savanne.be>
Date: Sat Jan 23 16:23:34 2010 +0100
Add a ton of Nikon3 IFD entry tags.
commit 0cd061e536fc54cdee747a4a7288566eaf16292a
Author: Ruben Vermeersch <ruben@savanne.be>
Date: Sat Jan 23 15:58:36 2010 +0100
Add support for generating test fixtures for Panasonic files.
commit 33880f7723388699fc8cfd00abc62ca8aa2eedad
Author: Ruben Vermeersch <ruben@savanne.be>
Date: Sat Jan 23 15:43:29 2010 +0100
Add conditional for running slow image comparisons.
Comparing huge files is slow. Therefor, we don't do that by default. If you
want to run the full tests, you'll need to pass the COMPARE_LARGE_IMAGES flag:
make test COMPARE_LARGE_IMAGES=1
It's best to do this occasionally for sanity reasons, but you probably don't
want to do this every time you compile your code.
commit 5e4a20af289c2ed2b5148641331e25174dd3170d
Author: Ruben Vermeersch <ruben@savanne.be>
Date: Sat Jan 23 15:42:53 2010 +0100
Make sure GDK is initialized.
commit 50ffad60a1362c091a5d632b2bc13677bda5ee70
Author: Ruben Vermeersch <ruben@savanne.be>
Date: Sat Jan 23 14:05:39 2010 +0100
Implement visual validation of image data.
This means that not only the metadata is checked pre/post write, but also the
image data itself. This is done by reading the image using GdkPixbuf (RAW
support still TODO) and then rendering it to a PNG without metadata.
This byte dump is then compared for the original and the modified file.
This makes the tests a bit slower. I don't care.
commit a19e70680880efbafc9853e1624fa7dcb3202779
Author: Ruben Vermeersch <ruben@savanne.be>
Date: Sat Jan 23 14:04:12 2010 +0100
Add missing Nikon3 makernote tag.
Tons of them left to do.
commit 9a8b89588c1dae7c1a80958feee27d32379faa7f
Author: Ruben Vermeersch <ruben@savanne.be>
Date: Sat Jan 23 13:09:39 2010 +0100
Always reuse the same NoModificationValidator in unit tests.
commit 828a6c147f6dfb38267b847063d37a36284e1a19
Author: Ruben Vermeersch <ruben@savanne.be>
Date: Sat Jan 23 12:25:57 2010 +0100
Let GenerateTestFixture use Nikon3MakerNoteEntryTag.
commit 62f1af61fef25d02e116dda01f7b1b42e0ec3601
Author: Ruben Vermeersch <ruben@savanne.be>
Date: Sat Jan 23 12:25:33 2010 +0100
Fix wrong value for the Preview tag.
commit aba2b7b59ca3658b00cf7ea2c25469ea7e63e6b5
Author: Ruben Vermeersch <ruben@savanne.be>
Date: Sat Jan 23 12:20:34 2010 +0100
Add missing IFD tags for ratings.
commit 6d39456992c538993ec89cfa030eda8fab55d51f
Author: Ruben Vermeersch <ruben@savanne.be>
Date: Sat Jan 23 12:05:30 2010 +0100
Add some comments to Nikon3MakernoteReader.
commit e0ca4fe802b209fc7916f1f6e06e02c198461502
Author: Ruben Vermeersch <ruben@savanne.be>
Date: Sat Jan 23 12:00:16 2010 +0100
Add Nikon3MakerNoteEntryTag to remove hex value in Nikon3MakernoteReader.
commit 286b1e327ed657b860c2d088c3bcdbb8eb6c7131
Author: Ruben Vermeersch <ruben@savanne.be>
Date: Sat Jan 23 11:49:23 2010 +0100
Split IFD entry types out into separate files.
Moved these into a new namespace and updated all files accordingly (unit test
generator included).
commit 87edb107fe6a373c44ac7102bd77bb2378caafbf
Author: Ruben Vermeersch <ruben@savanne.be>
Date: Sat Jan 23 11:30:49 2010 +0100
Clean up the IFD-offset fix a bit and add some docs.
commit f7c8f24e435268aa3430af1f60140435fc1595b4
Author: Mike Gemünde <mike@gemuende.de>
Date: Tue Jan 12 22:06:23 2010 +0100
Fix for the Nikon makernote preview image
The jpeg file of the nikon2 contains a preview image referenced
by the makernote but not stored along with the other makernote data.
Additionally, the preview image ifd does not contain a next-ifd
pointer. This commits handles that and parses the preview image
ifd.
commit b95dbadf74d1a7dd8ba605c52cab1dfbff869673
Author: Ruben Vermeersch <ruben@savanne.be>
Date: Tue Dec 29 01:38:28 2009 +0100
Fix XapTest naming.
commit 5d535fc8a949b111155b24d432868927ca70382a
Author: Ruben Vermeersch <ruben@savanne.be>
Date: Tue Dec 29 01:37:14 2009 +0100
Expand JpegCanonZoombrowserTest with all available values.
commit c0f135011487ab5c297fcda9c21a4b4d27afb0ca
Author: Ruben Vermeersch <ruben@savanne.be>
Date: Tue Dec 29 01:25:55 2009 +0100
Add a ton of missing IFDEntryTags, handle them.
commit 76ef1952856d46aa5c12c7b95542503aab358bb3
Author: Ruben Vermeersch <ruben@savanne.be>
Date: Mon Dec 28 20:42:39 2009 +0100
Split out UserComment code into a separate IFD entry.
This allows it to be tested with generated test cases.
commit bacff80016206092652bc9c3e4c7ce2041856f78
Author: Ruben Vermeersch <ruben@savanne.be>
Date: Mon Dec 28 19:05:37 2009 +0100
Add custom exiv2 data-extraction programs.
This adds two custom c++ programs that allow for much better data extraction.
Bad characters in the output of exiv2 caused certain keys to be missed.
commit 5c81b09a7566d6c87799308c4984f60b8c874844
Author: Ruben Vermeersch <ruben@savanne.be>
Date: Mon Dec 28 15:26:45 2009 +0100
Fix CanonSi handling as well.
Canon MakerNotes get validated correctly now. This means that they are
preserved when writing. Awesome.
commit 3e2113e0d84470799e0990b974953c1293e5a756
Author: Ruben Vermeersch <ruben@savanne.be>
Date: Mon Dec 28 15:23:11 2009 +0100
Fix handling of CanonCs directories from exiv2.
commit ce8e07334dbf7d0e7e9e42089d8fc66f99901f52
Author: Ruben Vermeersch <ruben@savanne.be>
Date: Mon Dec 28 12:53:45 2009 +0100
Trim output for empty strings.
Due to exiv2's output not having delimiters, there is no way we can figure out
how long an empty string is (some fields in Nikon makernotes are 12 empty
spaces or 15 empty spaces). Therefor we trim the parsed value from Taglib# and
hope it equals to the empty string. This is one of those cases where generated
unit tests will not be 100% correct, yet still decently sufficient. Note that
trimming only happens if the expected output is empty. Otherwise, values are
compared as-is.
commit 1e1238a6f9cc49559ae09c89ad743bea6333838c
Author: Ruben Vermeersch <ruben@savanne.be>
Date: Mon Dec 28 11:58:38 2009 +0100
Fix MakerNote handling in unit test generator a bit.
This includes:
* Correctly identifying the Nikon preview as a SubIFD
* Ignoring the exiv2 made-up entries.
commit 2977064ce5625bad91e17e64ecda83cd4954df35
Author: Ruben Vermeersch <ruben@savanne.be>
Date: Mon Dec 28 11:57:37 2009 +0100
Add custom IFD reader for Nikon3 MakerNotes.
Nikon makernotes have a special sub-ifd for previews. This reader picks up on
the relevant tag and makes sure it's parsed.
commit 6eac0efb479d1e73f4a37f422c8da5f6c7214bdb
Author: Ruben Vermeersch <ruben@savanne.be>
Date: Mon Dec 28 11:02:26 2009 +0100
Verify that simple XMP text nodes don't have children.
commit c54627eff721c8c8114188b5e93bb7f62b608b78
Author: Ruben Vermeersch <ruben@savanne.be>
Date: Mon Dec 28 11:01:25 2009 +0100
Replace XapTest with a generated fixture.
This version has a much better coverage of the metadata and features half a
dozen of modification tests.
commit cd087e86d4c62f10ca6375cf1a820ef7c80113ce
Author: Ruben Vermeersch <ruben@savanne.be>
Date: Mon Dec 28 09:45:31 2009 +0100
Add empty constructor for files that don't have a comment yet.
commit 3171805c57a9078f083c905e0275c6d4d75e687b
Author: Ruben Vermeersch <ruben@savanne.be>
Date: Mon Dec 28 09:31:07 2009 +0100
Ensure correct naming of GPSInfo and Thumbnail members.
commit ec8ac47259a16e009871fb0b7427d4d14cf0850e
Author: Ruben Vermeersch <ruben@savanne.be>
Date: Sat Dec 26 21:17:09 2009 +0100
Fix some exiv2 quirks.
commit c49002b6025b69fdf8eea07d038906fabae80f27
Author: Ruben Vermeersch <ruben@savanne.be>
Date: Sat Dec 26 21:02:27 2009 +0100
Also generate XMP fixtures.
commit 6ef39781c3389cdf6b8f35ed7de08a598e2131ff
Author: Ruben Vermeersch <ruben@savanne.be>
Date: Sat Dec 26 18:52:52 2009 +0100
Add a ton of missing namespaces for XMP rendering.
commit 5c2d5d4ecf57dc70a374e2a610716ebc84b3f29a
Author: Ruben Vermeersch <ruben@savanne.be>
Date: Sat Dec 26 18:34:48 2009 +0100
Correctly test Byte arrays.
commit 608e6912a809f284dbdddc4b50e8ff2680f59fa0
Author: Ruben Vermeersch <ruben@savanne.be>
Date: Sat Dec 26 18:34:25 2009 +0100
Fix Thumbnail test case generation.
commit febde3d56b47b7c8804fd8ff1a1bf98dc5840ab5
Author: Ruben Vermeersch <ruben@savanne.be>
Date: Sat Dec 26 17:57:19 2009 +0100
Generate test cases for the GPS IFD.
commit b0a8f76e54fddc1b4a4a572e8ca73b7869018662
Author: Ruben Vermeersch <ruben@savanne.be>
Date: Sat Dec 26 14:57:52 2009 +0100
Initial version of unit test generator.
This uses data from exiv2 to create a test case. Should be taken with a grain
of salt though, I'm suspecting to have found a bug in exiv2 while testing this.
commit 668ec86b5f3636524533d53cdab417816795fee7
Author: Ruben Vermeersch <ruben@savanne.be>
Date: Sat Dec 26 14:56:59 2009 +0100
Also test a write with no changes in JpegCanonZoombrowserTest.
commit 092ead732bd54504a0e56197dc5784d35f5623d8
Author: Ruben Vermeersch <ruben@savanne.be>
Date: Fri Dec 25 14:28:52 2009 +0100
Validate orientation.
commit c437c647898aa38ec2f69bb35d2c9ed1fa7784a9
Author: Ruben Vermeersch <ruben@savanne.be>
Date: Fri Dec 25 14:24:52 2009 +0100
Add a new validator based testing framework.
This gives us a much better coverage of write/rewrite testing.
commit 0c87736cf6c349136d794e2c697b34d24baffeed
Author: Ruben Vermeersch <ruben@savanne.be>
Date: Thu Dec 24 18:26:22 2009 +0100
Register the MicrosoftPhoto namespace and correct it.
Some files get written with an invalid namespace (according to the XMP specs,
namespaces should end with '/' or '#').
commit 1d7bcaa386e91e387be65338a099006dcc852af2
Author: Ruben Vermeersch <ruben@savanne.be>
Date: Thu Dec 24 18:14:21 2009 +0100
Factor out a common method.
commit d437ce4ef8bf7571cdc041328171a197cd0d3f14
Author: Mike Gemünde <mike@gemuende.de>
Date: Mon Dec 7 15:15:18 2009 +0100
Add tests for Rational and SRational
commit 0082efab1c5937e2b5ba93da3c2144fbfceca12d
Author: Mike Gemünde <mike@gemuende.de>
Date: Mon Dec 7 14:20:26 2009 +0100
add Comments to IFD namespace and remove a bunch of warnings
commit d52d71f52fb679babc7a73f4aca94425a00eb0dd
Author: Mike Gemünde <mike@gemuende.de>
Date: Sun Dec 6 17:58:05 2009 +0100
fix Jpeg strip tool to substitue greates found data segment
commit 1d06c80962c1140be37daa1f1594d9920bdddb26
Author: Mike Gemünde <mike@gemuende.de>
Date: Sun Dec 6 17:20:38 2009 +0100
Fix some documentation warnings
commit 272d92e551fbe5996580247bebf387a0e0514886
Author: Mike Gemünde <mike@gemuende.de>
Date: Wed Dec 2 22:12:50 2009 +0100
do not read data in other segments even if it is referenced
This is a quick hack to fixes the Sony makernotes, where some data
is stored in other segments than in the exif segment, but referenced
by an makernote entry.
commit 105a95741ce0ce117506208320ac66ecda11a26f
Author: Mike Gemünde <mike@think61.(none)>
Date: Wed Dec 2 21:10:47 2009 +0100
complete property tests
commit 590907408af1618907266513ccec7edbafe8eb40
Author: Mike Gemünde <mike@think61.(none)>
Date: Wed Dec 2 20:17:29 2009 +0100
add support to read Sony makernotes
commit 8f7b44ef7032dde19cf7834dd1964bb4a9a67eab
Author: Mike Gemünde <mike@gemuende.de>
Date: Wed Dec 2 15:15:08 2009 +0100
Do not render jpeg segments if they are too big
commit 0fb069d15f964df17ed12405097cb45c65d9ee4e
Author: Mike Gemünde <mike@gemuende.de>
Date: Wed Dec 2 15:02:23 2009 +0100
add test for the case the metadata segments are too big to fit into a jpeg segment
commit 17cfef37d3bdbc368cbfe0e2064be87c4f858aea
Author: Mike Gemünde <mike@gemuende.de>
Date: Sun Dec 6 18:13:01 2009 +0100
Cleanup Jpeg related stuff
commit 796754e6c5a685382f7c094ae233efd967cbe050
Author: Mike Gemünde <mike@gemuende.de>
Date: Mon Nov 30 21:14:24 2009 +0100
preserve existing JFIF header in jpegs
commit 88f372927cb23c852da42f89051468110410731b
Author: Mike Gemünde <mike@gemuende.de>
Date: Sun Dec 6 18:12:32 2009 +0100
Add support to write XMP data in jpegs together with some basic tests
commit 207592ab98fd6dc5f672b5724921518fc026aef8
Author: Mike Gemünde <mike@gemuende.de>
Date: Sun Nov 29 12:21:55 2009 +0100
complete some copyright notice
commit f7702f8b0d3159e4cbbebee039831888d77365ab
Author: Mike Gemünde <mike@gemuende.de>
Date: Tue Dec 1 09:14:55 2009 +0100
Use own class for Makernotes to take care about some special things
commit 2b8c587afde382f4cb7848777020aad11ab8b987
Author: Mike Gemünde <mike@think61.(none)>
Date: Sun Nov 29 11:04:06 2009 +0100
Add tests for File.Find and File.RFind which fail for current implementation
The test cannot succeed for current imlementation of Find and RFind
because those methods only consider the greatest partial match and
do not take care about smaller ones.
commit dd00c6327b28948fdb403b1c61434f7b4af591f6
Author: Mike Gemünde <mike@think61.(none)>
Date: Sun Nov 29 10:50:56 2009 +0100
Fix File.RFind partly and add a test
RFind is fixed to do not crash when file size is smaller than the read buffer.
A test is added to take care about RFind and Find methods of the class File.
However, there is still an issue with matches spread above different buffer
reads.
commit 5b15309936b714426715c5769ddab92d91753ecb
Author: Paul Lange <palango@gmx.de>
Date: Fri Dec 4 15:32:04 2009 +0100
Update MonoDevelop project files
This commit updates the MonoDevelop projects files and makes it possible to build in MonoDevelop.
Furthermore it creates a project which includes all tests and runs nunit-console2 after a successful build for them.
commit 066624c09e92fb3561d3639d7733a6289de9504e
Author: Paul Lange <palango@gmx.de>
Date: Sun Dec 6 16:16:31 2009 +0100
Fix filename in header
commit 33cf614f999eb20a60e44b5c1c1ffe7ce6604639
Author: Paul Lange <palango@gmx.de>
Date: Sat Dec 5 20:25:11 2009 +0100
Document ImageOrientation items
commit ed9e22f2db4372a3bd368aee13feaa563e5790fd
Author: Paul Lange <palango@gmx.de>
Date: Sat Dec 5 14:13:55 2009 +0100
Remove ImageOrientation.Unknown value
commit 672933310089a18b594205d4b463b854f6bde053
Author: Paul Lange <palango@gmx.de>
Date: Sat Dec 5 12:59:31 2009 +0100
Add documentation to ImageOrientation
commit 7d2416aa1f394dfc547a5586a35908139260b860
Author: Paul Lange <palango@gmx.de>
Date: Sat Dec 5 12:56:20 2009 +0100
Convert the Orientation property to an enumeration.
commit cb4c85fcb1e247f8b15e25665c963edc1fee31b3
Author: Paul Lange <palango@gmx.de>
Date: Fri Dec 4 00:16:57 2009 +0100
Documentation fixes
commit 063e41e52afbb71d6763f98da64564f47a439e29
Author: Paul Lange <palango@gmx.de>
Date: Thu Dec 3 23:59:47 2009 +0100
Update test to test latest properties
commit 7f56151dfc9e7108accdb3da57aea36f187cd558
Author: Paul Lange <palango@gmx.de>
Date: Thu Dec 3 23:58:26 2009 +0100
Implement Orientation property
commit a8a2f8a8888bd9dc9e90aae1e453f09268617e36
Author: Paul Lange <palango@gmx.de>
Date: Thu Dec 3 17:44:06 2009 +0100
Add FocalLengthIn35mm Tag
commit fd8c2f912e75d8072799f6763397fa7d9b998408
Author: Ruben Vermeersch <ruben@savanne.be>
Date: Mon Nov 30 00:00:27 2009 +0100
Register stDim namespace.
Also fix crap spelling in unit test.
commit aa967c6431e74d7d1feb0568dadf8ab0b693138b
Author: Ruben Vermeersch <ruben@savanne.be>
Date: Sun Nov 29 23:48:51 2009 +0100
Add XMP rendering for most spec samples.
Handles most of the spec samples correctly, except for the one I still have to fix.
Fixed bugs in the parser along the way. This includes the fact that I'm not keeping
track of a new type of node called Struct. This is always rendered into a parseType
Resource.
commit ad8163f097f9337e60699689a241cc239d7b0849
Author: Ruben Vermeersch <ruben@savanne.be>
Date: Sun Nov 29 21:18:52 2009 +0100
Add some documentation.
commit b69b78b64b118fb5752a9d4faed3f3f9761fcb01
Author: Ruben Vermeersch <ruben@savanne.be>
Date: Sun Nov 29 21:18:39 2009 +0100
Fix some malformed XML comments.
commit 5cb8ccfe8448ead95872a6b566da4e8afa10e4b9
Author: Ruben Vermeersch <ruben@savanne.be>
Date: Sun Nov 29 21:12:27 2009 +0100
Register the xmpTPg namespace.
Makes the rendering of files that use this namespace nicer, it means they will
get xmpTPg:element nodes instead of ns1:element nodes. Off-course, all of this
doesn't matter when you use a proper namespaced-XML parser (like our code), but
I bet there are a ton of stupid implementations out there.
commit 49f5de819a962dbcd63026cf75d71577737c8029
Author: Ruben Vermeersch <ruben@savanne.be>
Date: Sun Nov 29 21:09:48 2009 +0100
Initial XMP writing!
Breaks a ton of stuff, since only simple values are supported for now.
commit 559781fd057913e77cd913b56ed712bf43292582
Author: Ruben Vermeersch <ruben@savanne.be>
Date: Sun Nov 29 17:01:22 2009 +0100
Add comment from last commit message, serves as good explanation.
commit fe9396868ad844de9aa00021ebd1964555d0cbbf
Author: Ruben Vermeersch <ruben@savanne.be>
Date: Sun Nov 29 16:09:00 2009 +0100
Convert the XMP tests into idempotency tests during XMP rendering.
This makes every test do the following:
* Parse the string and validate if all expected data is there.
* Render back into a string, parse that new string and revalidate.
It's important to note that I'm testing for semantical idempotency: data that
was in will stay in. The representation might change though. This is okay,
nearly all XMP libraries do this. Doing the reparse and revalidate ensures
that whatever it generated is valid XMP and contains the same information.
commit 423bc7bfbbd5bfb272039a2b0389847b51574e09
Author: Paul Lange <palango@gmx.de>
Date: Sat Nov 28 20:46:59 2009 +0100
Remove old file
commit 1506cb5c70aa01865583efbfe9ffc7c451f1b5af
Author: Paul Lange <palango@gmx.de>
Date: Sat Nov 28 20:42:00 2009 +0100
Add Makernote test to Sony test.
commit f4b811a449dd66ed9eae3dde56afcec39b4ab1cd
Author: Paul Lange <palango@gmx.de>
Date: Thu Nov 26 00:56:41 2009 +0100
Create test for Sony Alpha 200.
commit a27ea7cbc1795fb637d4daed8bac3df8a326ecfa
Author: Stephane Delcroix <stephane@delcroix.org>
Date: Wed Nov 25 17:11:47 2009 +0100
Guesstimate the jpeg quality from DQT tables
commit 02e4eab345ac9fd33b1230f8a9a2f4be5e0acb23
Author: Stephane Delcroix <stephane@delcroix.org>
Date: Wed Nov 25 11:36:37 2009 +0100
Define std tables
commit b360005357e9b2b5c38ce45ce604072314be091d
Author: Stephane Delcroix <stephane@delcroix.org>
Date: Wed Nov 25 16:57:34 2009 +0100
unit test for image width and height
commit 3d647645881d5f2d3ef71c4691b31a89fa2a7b12
Author: Stephane Delcroix <stephane@delcroix.org>
Date: Wed Nov 25 16:45:39 2009 +0100
Read width and height from SOFn segment
Parse SOFn segment, retrieve WxH, use them to set the properties
commit c37b12648f7e48bfcd9aa627a171924f07e180ff
Author: Stephane Delcroix <stephane@delcroix.org>
Date: Wed Nov 25 10:48:10 2009 +0100
replace if/elif/elif by a switch
commit 9728f102cd9716b27a834c6e933592d4449e7c5e
Author: Stephane Delcroix <stephane@delcroix.org>
Date: Wed Nov 25 10:45:06 2009 +0100
only call ReadSegmentMarker once
commit 88c3005d9470e5df8c8a17c0b20d97727543ccb1
Author: Stephane Delcroix <stephane@delcroix.org>
Date: Wed Nov 25 10:27:09 2009 +0100
complete the Marker table
Add missing markers, use the TagLib.Jpeg.Marker type instead of byte in Jpeg.File
commit abb724e102fff70baa5841ddb9be02d4bdea374a
Author: Ruben Vermeersch <ruben@savanne.be>
Date: Fri Nov 20 23:32:47 2009 +0100
Fix a ton of warnings.
commit 055de25226d4f1179e7b95bd5496972f3d343c91
Author: Ruben Vermeersch <ruben@savanne.be>
Date: Fri Nov 20 23:24:36 2009 +0100
Split XmpNodeType into another file.
commit e71b79d06b6593d5a98f32e369ea60b74974c2dd
Author: Mike Gemünde <mike@gemuende.de>
Date: Sun Nov 15 21:28:56 2009 +0100
... and remove the SkipDataSegment
We only recognize metadata segments occuring before the data segment in
the file. This is the same way exiv2 handles it.
commit 17d4042cd39490c54e1cc97c33103395b3f52698
Author: Mike Gemünde <mike@gemuende.de>
Date: Sun Nov 15 20:37:38 2009 +0100
Substitute SkipDataSegment() with a much faster implementation
commit 1314b55a9bae19f9e582438f1ca7ae45f47adc02
Author: Mike Gemünde <mike@gemuende.de>
Date: Sun Nov 15 21:16:04 2009 +0100
Added test for reading and writing tangled Jpeg files
Mostly, the image metadata is stored in Jpegs in the segments at the beginning of the
file. Some tests are added for files, where the metadata segments are tangled around
the file. Also a bug for writing such files back is fixed.
Conflicts:
tests/Makefile.am
commit a67c36600bf8d9a3bf08e2e3c6b8600c448bbccd
Author: Ruben Vermeersch <ruben@savanne.be>
Date: Sun Nov 15 21:03:38 2009 +0100
Disable a stray debug dump.
commit 0b21d567869b31bcdb94e83d9ce19521f996ec58
Author: Ruben Vermeersch <ruben@savanne.be>
Date: Sun Nov 15 20:57:12 2009 +0100
Add a lot of XMP spec compliance tests.
This uncovered a bug, which is now fixed and a bug that still has to be fixed.
commit 014a77ae24536e215d46576c91ce5d0fe5c1dfd5
Author: Ruben Vermeersch <ruben@savanne.be>
Date: Sun Nov 15 18:21:00 2009 +0100
Move the XMP test to another test file.
commit 4d7dc8a74e9daa2c698215d5c68fafeb93d21671
Author: Ruben Vermeersch <ruben@savanne.be>
Date: Sun Nov 15 18:20:08 2009 +0100
Drop a useless parameter on XmpTag and use string instead of ByteVector.
This will allow me to write unit tests easier.
commit bf5747d7bf5ee86979db797eedfd3147e5fc6ce0
Author: Ruben Vermeersch <ruben@savanne.be>
Date: Sat Nov 14 21:03:03 2009 +0100
Minimize sample, using tiggers awesome tool.
commit 43658ce3ac52183a8fc26b4604077d9e19565909
Author: Ruben Vermeersch <ruben@savanne.be>
Date: Sat Nov 14 20:54:57 2009 +0100
Implement a missing XMP dialect, additional test.
commit 839aa430542a495a89f8bccd3de45c43753c90db
Author: Ruben Vermeersch <ruben@savanne.be>
Date: Mon Nov 9 18:46:37 2009 +0100
Ignore XML comments.
commit 255d53a969a783beced00a726a3ac05be2060c75
Author: Ruben Vermeersch <ruben@savanne.be>
Date: Mon Nov 9 18:46:10 2009 +0100
Old versions of XMP were called XAP, also look for those tags.
Unit test will follow.
commit 501464daa156195c2005706aa5e0373915a93438
Author: Mike Gemünde <mike@think61.(none)>
Date: Sat Nov 7 12:15:27 2009 +0100
add very rudimentary support for Olympus makernotes
commit f5edd229d8392dffde630d42fb3404729a6f4dc6
Author: Mike Gemünde <mike@think61.(none)>
Date: Sat Nov 7 12:13:43 2009 +0100
add very basic example to substitute the image data in a jpeg file with some (very small) dummy data
commit 05f51cc1e883a6ce61573c881613d14e87d77742
Author: Mike Gemünde <mike@think61.(none)>
Date: Sat Nov 7 12:12:43 2009 +0100
add another Nikon jpeg test
commit e4d3394d33f1dafccf0eb4cef565a6ba7a3c114d
Author: Mike Gemünde <mike@gemuende.de>
Date: Fri Nov 6 00:13:17 2009 +0100
first introduction of reading and writing of nikon makernotes
commit eb1f30ce21194fe7c30c661ae72818562d3c5cf9
Author: Mike Gemünde <mike@gemuende.de>
Date: Thu Nov 5 23:43:56 2009 +0100
Add more information to unit tests to easier find an error
commit 1ea38571eada751b29fd95a49942f0fb37bfc608
Author: Mike Gemünde <mike@gemuende.de>
Date: Wed Nov 4 23:51:48 2009 +0100
remove comment tags if a null is set for comment
commit 87f3bb32953b657a01e98476082458e9ee77afdb
Author: Mike Gemünde <mike@gemuende.de>
Date: Wed Nov 4 00:26:28 2009 +0100
reduce warnings by adding some comments to IFDStructure methods
commit 7b5b2d47f8a36c1b33ec0422b2f8bf5427f8c38a
Author: Mike Gemünde <mike@gemuende.de>
Date: Tue Nov 3 09:15:00 2009 +0100
remove comment property from ImageTag
The Comment property is also included as virtual member in Tag. So we
do not need to provide another default implementation.
commit f85e1e1829b0adc27259e00af5ed0097266ab7d1
Author: Mike Gemünde <mike@gemuende.de>
Date: Tue Nov 3 09:13:10 2009 +0100
implement Comment property for JpegComment
commit 79bbf6dbe4d577ff6212cd7b63da4025fec7e23a
Author: Mike Gemünde <mike@gemuende.de>
Date: Wed Nov 4 00:29:24 2009 +0100
Rating in ImageTag should also be a Nullable type to allow removing the rating.
commit cadcc5e60db30887bc60e25ed5fecb6ffa55a1c2
Author: Mike Gemünde <mike@gemuende.de>
Date: Wed Nov 4 00:09:30 2009 +0100
add support for the Altitude property in IFDTag
commit 50313af3a3395e5d21da55eb051c222cda0a83ff
Author: Mike Gemünde <mike@gemuende.de>
Date: Tue Nov 3 23:13:24 2009 +0100
change plain values to Nullable in ImageTag
For a lot of properties, a scalar value does not make sense, since the default value has also a meaning.
To allow to express that a tag is not existant, we use now nullable types. This is the case e.g.
for ExposureTime or FocalLength.
Conflicts:
src/TagLib/IFD/IFDTag.cs
commit 4db7440a13a33cd6dff37ad2df6425bd57101513
Author: Mike Gemünde <mike@gemuende.de>
Date: Tue Nov 3 00:47:10 2009 +0100
fix GPS stuff to allow also negative longitude values
commit 1b4bd6c144ed2e35a98698547c88b7607ef035b6
Author: Ruben Vermeersch <ruben@savanne.be>
Date: Tue Nov 3 00:26:23 2009 +0100
Kill two more warnings.
commit 32629b5f3b9b3755701b6b73a397c7ba889e81c6
Author: Ruben Vermeersch <ruben@savanne.be>
Date: Tue Nov 3 00:24:17 2009 +0100
Kill warnings due to incorrect usage of keywords.
commit 8acb7b766891c03bbcd574f2d4f51de6b71804fd
Author: Ruben Vermeersch <ruben@savanne.be>
Date: Tue Nov 3 00:02:43 2009 +0100
Fix a crash at XMP parsing due to nonstandard placement of xmlns attributes.
commit 749c14e82cb7f72e6ffef81f98fb0ebeef96c508
Author: Ruben Vermeersch <ruben@savanne.be>
Date: Sun Nov 1 20:37:45 2009 +0100
Kill two warnings.
commit afa443e0136c3babf51c864b9d88ad8cd2d59dc0
Author: Ruben Vermeersch <ruben@savanne.be>
Date: Sun Nov 1 10:52:29 2009 +0100
Kill more warnings.
commit 82cc9ac2d66f77900ada7ede075d6a68993e1d92
Author: Mike Gemünde <mike@think61.(none)>
Date: Sun Nov 1 14:35:48 2009 +0100
add support to read and write GPS inforamtion in exif.
commit 521d45753525830ca9656a345cef7139453210a9
Author: Mike Gemünde <mike@think61.(none)>
Date: Sun Nov 1 11:53:47 2009 +0100
use the values directly for an IFD array entry instead
commit 920585b928b058332cf59b411aefa63ffafcd114
Author: Mike Gemünde <mike@think61.(none)>
Date: Sun Nov 1 11:44:06 2009 +0100
add support to write makernotes of Canon and Panasonic back to file
commit 799b2aa1daa55bc8c8f3a65777bdb40df09966ad
Author: Mike Gemünde <mike@think61.(none)>
Date: Sun Nov 1 10:02:57 2009 +0100
move image tests in own namespace
The image tests are now contained in an own namespace. This is to not
flood the existing one with a bunch of image tests comming in the future.
commit 875779f9e5d34e19478d739a454699a62bab8947
Author: Ruben Vermeersch <ruben@savanne.be>
Date: Sun Nov 1 09:57:38 2009 +0100
Cut down on the number of warnings.
commit 2e5e7800de5726cc7695737271b2c3f80d723e76
Author: Mike Gemünde <mike@gemuende.de>
Date: Wed Oct 28 21:43:18 2009 +0100
fix warnings on use of obsolete methods in Bytevector
commit cbc20f221e139c5cbd0b755bde2bb7a5ea93e887
Author: Mike Gemünde <mike@gemuende.de>
Date: Wed Oct 28 20:07:14 2009 +0100
add ThumbnailIFDEntry to handle thumbnail data correctly
commit 3a19b17396873cc253a25fe46b23358b68222135
Author: Mike Gemünde <mike@gemuende.de>
Date: Wed Oct 28 19:10:49 2009 +0100
the id of on IFD entry type is also an unsigned short
commit a6f8d00aec73cb73d024c7871d4d4d5445d84838
Author: Mike Gemünde <mike@gemuende.de>
Date: Wed Oct 28 19:07:15 2009 +0100
a tag of an IFD Entry is an unsigned short, so take an usnigned short for representation, too
commit 3cb1a37881778072cc74835cdfa8cf1017d0dc7e
Author: Mike Gemünde <mike@gemuende.de>
Date: Wed Oct 28 18:59:47 2009 +0100
move some of the renderer code to the IFD Entries itself
commit c32734b0f03dcb8f541014df98ab9888ada5646f
Author: Mike Gemünde <mike@gemuende.de>
Date: Wed Oct 28 18:26:38 2009 +0100
add Rational and SRational struct for IFD Entries
commit ad18345b7f417e4b59a16582c3246b60bb342cea
Author: Mike Gemünde <mike@gemuende.de>
Date: Tue Oct 27 23:53:47 2009 +0100
add unit test for Panasonic file (Exif, Makernote)
commit bce29cacf6603d39f7847dda4695633dd9130e51
Author: Mike Gemünde <mike@gemuende.de>
Date: Tue Oct 27 23:51:35 2009 +0100
add support for some other Makernotes (Panasonic, Pentax)
commit 2724f556a6d8a73249d384cfac65889b27b55325
Author: Mike Gemünde <mike@gemuende.de>
Date: Tue Oct 27 23:47:56 2009 +0100
add support for more entry types
commit 557f95441d25bcaee3f14411d28790380422135a
Author: Mike Gemünde <mike@gemuende.de>
Date: Tue Oct 27 22:42:18 2009 +0100
take care of restart marker in data segment of jpeg
The markers 0xFFD0 ... 0xFFD7 are used as restart marker within the data segment.
So we must keep searching for the end of data instead of returning the marker.
commit 9f17499d32f2dbdc02f5e2f2d35cd5bed4b0d3e8
Author: Mike Gemünde <mike@gemuende.de>
Date: Mon Oct 26 23:02:44 2009 +0100
add support for reading XMP keywords
commit 41c56e19c0eac6b396193ef1370b7be842e2d961
Author: Mike Gemünde <mike@gemuende.de>
Date: Mon Oct 26 21:13:05 2009 +0100
adding GPS support in ImageTag
commit 655de1f5442721a192a87fd42da21608880248bd
Author: Ruben Vermeersch <ruben@savanne.be>
Date: Sun Oct 25 15:58:24 2009 +0100
Add an example (and test) app for photos.
commit fbbff6a6716ffe37a9b04629cbb1da48f3346fbf
Author: Ruben Vermeersch <ruben@savanne.be>
Date: Sun Oct 25 15:05:42 2009 +0100
Cut back on the number of warnings.
commit 6cf5ab452f9fbc42f734f0e8ec7d76b18789c50f
Author: Mike Gemünde <mike@gemuende.de>
Date: Tue Oct 20 23:31:17 2009 +0200
Extend UserComment handling for undefined data
We can now handle undefined entries in the UserComment field. Since the program
CanonZoomBrowser decides to not fill the 8 byte correctly for an undefined entry,
we have to be more liberal for parsing it.
commit ece09bcf9cb44b7ef47574d0e105c4695b33e003
Author: Mike Gemünde <mike@gemuende.de>
Date: Tue Oct 20 23:29:02 2009 +0200
Extend Reading of ASCII text fields
Keep Adobe practice for reading ASCII field and only read it to the first '\0'.
Since more than one value can be stored and some programs fills the fields with
'\0's, this seems to be a reasonable choice to keep trouble away.
commit 95520e015a2d2659eae04af7e21b1c51bfa47b97
Author: Mike Gemünde <mike@gemuende.de>
Date: Tue Oct 20 21:23:33 2009 +0200
Change also Model to IFD0 instead of ExifIfd
commit 6e47449ef9fae5b06a9b4f8c9e74a77b95663d48
Author: Mike Gemünde <mike@gemuende.de>
Date: Tue Oct 20 21:11:03 2009 +0200
ImageDescription is part of IFD0 and not the ExifIFD
commit 7e84a12193e17714aa9ea64b910719c46ce7b76a
Author: Mike Gemünde <mike@gemuende.de>
Date: Tue Oct 20 20:47:28 2009 +0200
complete IFD entry tag ids
The tag ids are fetched from http://www.awaresystems.be/imaging/tiff/tifftags.html.
Since the GPS IFD and the Interoperability IFD uses the same tag-id (1), we take
this change to split the ids into different enums, according to the IFDs or subIFDs
they occur.
commit 8662c7a95c1c6fe551912493e1fd974974ecb682
Author: Ruben Vermeersch <ruben@savanne.be>
Date: Sun Oct 18 17:58:51 2009 +0200
Restructure IFD. Able to represent everything now.
commit a43b49180ff0803cfc4cae5e6e26235d5d00b3b6
Author: Ruben Vermeersch <ruben@savanne.be>
Date: Sun Oct 18 15:20:42 2009 +0200
Prevent writing empty sub-IFDs.
commit 403c87c10f6ff215eeb78d088ea4be4b0437b210
Author: Ruben Vermeersch <ruben@savanne.be>
Date: Sun Oct 18 14:16:39 2009 +0200
Add bits of the convenience API.
Imposes ordering: Xmp before Exif before all the rest.
commit 8dc9997baefbb92f7ddf68e3d339a053a0e74e79
Author: Ruben Vermeersch <ruben@savanne.be>
Date: Sun Oct 18 12:50:30 2009 +0200
Split IFD reading and rendering code into Readers and Renderers.
commit eff47010115a487deaabc6217a38ae963c269764
Author: Ruben Vermeersch <ruben@savanne.be>
Date: Sat Oct 17 17:57:04 2009 +0200
Fix a couple of warnings.
commit 21dc3e088e5fb8c0d6de86888aa65389fdc86830
Author: Ruben Vermeersch <ruben@savanne.be>
Date: Sat Oct 17 17:18:26 2009 +0200
Only expose tag types that make sense, move stuff around.
commit c387fdb40d86c4de06b47646ef4e31b6f51136c8
Author: Ruben Vermeersch <ruben@savanne.be>
Date: Sat Oct 17 11:45:11 2009 +0200
Add common Image.File base class for image types.
And some cleanups.
commit db77414ae3974a58cc73e564139382a54bce8674
Author: Mike Gemünde <mike@gemuende.de>
Date: Thu Oct 15 00:28:31 2009 +0200
add support to read write some image properties by the ExifTag class
commit 838f7d1d596add212957aa5fb9ff9b06a2156b88
Author: Mike Gemünde <mike@gemuende.de>
Date: Thu Oct 15 00:27:41 2009 +0200
add support to merge image properties in CombinedImageTag
commit 4fbf51e36caa72285462f54912b172fe23b81c1d
Author: Mike Gemünde <mike@gemuende.de>
Date: Wed Oct 14 19:41:31 2009 +0200
possibility to add new tags (Exif, GPS, IFD) to Jpegs
commit a3ff09e1447c05ef8651af6195953b66beeb60e9
Author: Mike Gemünde <mike@gemuende.de>
Date: Wed Oct 14 15:36:29 2009 +0200
introducing Image.ImageTag and Image.CombinedImageTag
The both classes are used to provide a unified access to
all types of image metadata.
commit 5c1c307318c23f0f582204bd9424b542924d7567
Author: Mike Gemünde <mike@gemuende.de>
Date: Wed Oct 14 01:23:31 2009 +0200
support to add JpegComment to Jpeg File
commit 4827d042e87d0b7c25c89adc66adaa5105edb633
Author: Mike Gemünde <mike@gemuende.de>
Date: Tue Oct 13 23:42:06 2009 +0200
Add support for reading and writing the GPS Directory
commit c995075b4191fe47929e96cdd0f77d64d1ecd3cc
Author: Mike Gemünde <mike@gemuende.de>
Date: Tue Oct 13 23:38:18 2009 +0200
remove unused private methods from Tiff.File
commit dc6f6196a3304e12f67874f8bdbd5f772eb9b39c
Author: Mike Gemünde <mike@gemuende.de>
Date: Tue Oct 13 22:57:54 2009 +0200
fix comment
commit a87f24e12453a3bab1e6acf49d6fc5d71cb80ca0
Author: Ruben Vermeersch <ruben@savanne.be>
Date: Sun Oct 11 13:09:24 2009 +0200
2009-10-11 Ruben Vermeersch <ruben@savanne.be>
* src/TagLib/TagLib.sources:
* src/TagLib/FileTypes.cs:
* src/TagLib/Jpeg/Codec.cs:
* src/TagLib/Jpeg/File.cs:
* src/TagLib/Jpeg/JpegCommentTag.cs:
* src/TagLib/Jpeg/JpegTag.cs:
* src/TagLib/Jpeg/Marker.cs:
Jpeg support, extracts XMP and exif, initial write support.
* tests/Makefile.am:
* tests/fixtures/TagLib.Tests.FileFormats/JpegFormatTest.cs:
* tests/samples/sample.jpg:
Jpeg parsing test cases.
Patch written by:
Ruben Vermeersch <ruben@savanne.be> (Initial work)
Mike Gemünde <mike@gemuende.de> (Significant improvements)
commit b6bd1379eca52d504bf3e1f67533c5469c4ceedd
Author: Ruben Vermeersch <ruben@savanne.be>
Date: Sun Oct 11 13:04:13 2009 +0200
2009-10-11 Mike Gemuende <mike@gemuende.de>
This commit adds EXIF parsing support, by reusing most of IFD.
* src/TagLib/Exif/CanonMakerNoteTag.cs:
* src/TagLib/Exif/ExifTag.cs:
* src/TagLib/Exif/GPSTag.cs:
* src/TagLib/Exif/IOPTag.cs:
* src/TagLib/Exif/ThumbnailTag.cs:
Exif data tags.
* src/TagLib/Tag.cs:
* src/TagLib/TagLib.sources:
* src/TagLib/IFD/IFDTag.cs:
Recognize most important special case tags.
* tests/Makefile.am:
* tests/fixtures/TagLib.Tests.FileFormats/StandardExifTests.cs:
* tests/fixtures/TagLib.Tests.FileFormats/TiffFormatTest.cs:
Adapt test cases to handle the newly recognized Exif SubIFDEntry.
commit 339bae5d5465d2dec2f2832e31352ed11f88e679
Author: Ruben Vermeersch <ruben@savanne.be>
Date: Sun Oct 11 12:59:06 2009 +0200
2009-10-11 Ruben Vermeersch <ruben@savanne.be>
* src/TagLib/TagLib.sources:
* src/TagLib/Xmp/XmlNodeExtensions.cs:
* src/TagLib/Xmp/XmpNode.cs:
* src/TagLib/Xmp/XmpNodeVisitor.cs:
* src/TagLib/Xmp/XmpTag.cs:
XMP parser, according to the implementation notes in the XMP specification.
Uses a NameTable to speed up string comparison. Not fully finished yet, but
handles most common XMP formats.
* src/TagLib/Tiff/TiffTag.cs:
Extract XMP blocks from the relevant IFD entry for TIFF files.
* tests/fixtures/TagLib.Tests.FileFormats/TiffFormatTest.cs:
Test case for XMP extraction.
commit c5b357416f1ad71befabad8272975f0abb6f3b5d
Author: Ruben Vermeersch <ruben@savanne.be>
Date: Sun Oct 11 12:43:08 2009 +0200
2009-10-11 Ruben Vermeersch <ruben@savanne.be>
* src/TagLib/FileTypes.cs:
* src/TagLib/TagLib.sources:
* src/TagLib/Tiff/Codec.cs:
* src/TagLib/Tiff/File.cs:
* src/TagLib/Tiff/TiffTag.cs:
Support for TIFF decoding.
* src/TagLib/IFD/Entries/ByteVectorIFDEntry.cs:
* src/TagLib/IFD/Entries/LongArrayIFDEntry.cs:
* src/TagLib/IFD/Entries/LongIFDEntry.cs:
* src/TagLib/IFD/Entries/RationalIFDEntry.cs:
* src/TagLib/IFD/Entries/SRationalIFDEntry.cs:
* src/TagLib/IFD/Entries/ShortArrayIFDEntry.cs:
* src/TagLib/IFD/Entries/ShortIFDEntry.cs:
* src/TagLib/IFD/Entries/StringIFDEntry.cs:
* src/TagLib/IFD/Entries/SubIFDEntry.cs:
* src/TagLib/IFD/Entries/UndefinedIFDEntry.cs:
* src/TagLib/IFD/IFDEntry.cs:
* src/TagLib/IFD/IFDEntryTag.cs:
* src/TagLib/IFD/IFDTag.cs:
TIFF IFD support. This is the metadata encoding structure in TIFF, which is
also used in other formats such as EXIF and multiple RAW formats. Hence the
separate namespace.
* tests/Makefile.am:
* tests/fixtures/TagLib.Tests.FileFormats/TiffFormatTest.cs:
* tests/samples/sample.tiff:
Add tests for TIFF reading.
Patch written by:
Ruben Vermeersch <ruben@savanne.be>
Mike Gemünde <mike@gemuende.de>
commit e2b13c97822f6f63b0aa7d26394b5acf1d7a15ec
Author: Ruben Vermeersch <ruben@savanne.be>
Date: Sun Oct 11 11:03:58 2009 +0200
2009-10-11 Ruben Vermeersch <ruben@savanne.be>
* src/TagLib/ByteVector.cs:
* tests/fixtures/TagLib.Tests.Collections/ByteVectorTest.cs:
Add new FromInt and ToInt methods to ByteVector, which will be used in
image metadata processing. Update unit tests with test cases.
* src/TagLib/ICodec.cs:
Introduce a new Photo content type and IPhotoCodec, which encapsulates
photo properties such as it's width and height.
* src/TagLib/Image/Codec.cs:
Abstract base type for image codecs, as most fields are common for all
image types.
* src/TagLib/Properties.cs:
Extended with support for IPhotoCodec.
* src/TagLib/Tag.cs:
Add a number of tag types related to image metadata.
Patch written by:
Ruben Vermeersch <ruben@savanne.be>
Mike Gemünde <mike@gemuende.de>
commit 680892aa0534508d687b2436576f7dbea4f996d5
Author: Gabriel Burt <gburt@novell.com>
Date: Sat Mar 20 17:06:37 2010 +0000
2010-03-20 Gabriel Burt <gabriel.burt@gmail.com>
* README: Add svn info
svn path=/trunk/taglib-sharp/; revision=153940
commit 9c0969f779c01dc7c3bc4ec97890898d2f4cc5e8
Author: Gabriel Burt <gburt@novell.com>
Date: Sat Mar 20 17:02:38 2010 +0000
2010-03-20 Gabriel Burt <gabriel.burt@gmail.com>
* README: add some real, useful info
svn path=/trunk/taglib-sharp/; revision=153939
commit 160841bfafef60da2d0be6830ea03a5483bebafd
Author: Gabriel Burt <gburt@novell.com>
Date: Sat Mar 20 16:54:05 2010 +0000
2010-03-20 Gabriel Burt <gabriel.burt@gmail.com>
* configure.ac:
* NEWS: Update for 2.0.3.7 release
svn path=/trunk/taglib-sharp/; revision=153938
commit 857c9a84b60c232e334bdd118dbd237c69f2419b
Author: Alexander Kojevnikov <alexander@kojevnikov.com>
Date: Sat Mar 20 07:49:42 2010 +0000
2010-03-20 Alexander Kojevnikov <alexander@kojevnikov.com>
* configure.ac:
* src/Makefile.am: Patch from Bertrand Lorentz adding a check
for the `al` tool (bgo#575303)
svn path=/trunk/taglib-sharp/; revision=153935
commit f657f9ff312b28f52f7be93dfff4df67ee84aa7a
Author: Alexander Kojevnikov <alexander@kojevnikov.com>
Date: Sat Mar 20 07:34:13 2010 +0000
2010-03-20 Alexander Kojevnikov <alexander@kojevnikov.com>
* configure.ac: Patch from Ruben Vermeersch adding a fall back
to nunit-console if nunit-console2 is not found (bgo#593673)
svn path=/trunk/taglib-sharp/; revision=153934
commit c815c88583f625ca3ab1e247a696c0a2ac87cb36
Author: Alexander Kojevnikov <alexander@kojevnikov.com>
Date: Sat Mar 20 07:06:30 2010 +0000
2010-03-20 Alexander Kojevnikov <alexander@kojevnikov.com>
* src/TagLib/Id3v2/Frames/RelativeVolumeFrame.cs:
* tests/fixtures/TagLib.Tests.TaggingFormats/Id3V2Test.cs:
Don't throw an exception if RVA2 data is partially incorrect
svn path=/trunk/taglib-sharp/; revision=153933
commit 01cb5415eaa5017a0b24b96fc0cf24f76fe33608
Author: Alexander Kojevnikov <alexander@kojevnikov.com>
Date: Sat Mar 20 04:51:38 2010 +0000
2010-03-20 Alexander Kojevnikov <alexander@kojevnikov.com>
* Makefile.am:
* src/Makefile.am: Fix `make distcheck`
svn path=/trunk/taglib-sharp/; revision=153931
commit 27db4ba286399349af7596f18217adc3828a315e
Author: Alexander Kojevnikov <alexander@kojevnikov.com>
Date: Sat Mar 20 03:10:52 2010 +0000
2010-03-20 Alexander Kojevnikov <alexander@kojevnikov.com>
* src/TagLib/File.cs: Make TagLib.File IDisposable
svn path=/trunk/taglib-sharp/; revision=153929
commit 356094ea343dbb85de183c875672b979bd175a9d
Author: Alexander Kojevnikov <alexander@kojevnikov.com>
Date: Sat Mar 20 03:04:28 2010 +0000
2010-03-20 Alexander Kojevnikov <alexander@kojevnikov.com>
* src/TagLib/Id3v2/ExtendedHeader.cs:
* tests/fixtures/TagLib.Tests.FileFormats/Id3V2FormatTest.cs:
* tests/samples/sample_v2_3_ext_header.mp3: Fix ID3v2.3 extended
header size calculation (bgo#604488)
svn path=/trunk/taglib-sharp/; revision=153928
commit b2fb500435776fe685b3dd7f894232e03403a70c
Author: Alexander Kojevnikov <alexander@kojevnikov.com>
Date: Sat Mar 20 02:53:58 2010 +0000
2010-03-20 Alexander Kojevnikov <alexander@kojevnikov.com>
* src:
* docs:
* tests:
* tests/samples:
* .gitignore:
* examples: Add svn:ignore and .gitignore
svn path=/trunk/taglib-sharp/; revision=153927
commit a589453d5e842e7e161d5cbca9721e4e9c3924fe
Author: Alexander Kojevnikov <alexander@kojevnikov.com>
Date: Sat Mar 20 02:31:42 2010 +0000
2010-03-20 Alexander Kojevnikov <alexander@kojevnikov.com>
* src/TagLib/Id3v2/Tag.cs:
* tests/Makefile.am:
* tests/fixtures/TagLib.Tests.FileFormats/Id3V24FormatTest.cs:
* tests/samples/sample_v2_4_unsynch.mp3:
* tests/tests.csproj: Patch and unit tests from Eamon Nerbonne
fixing ID3v2 unsyncing (bgo#593138)
svn path=/trunk/taglib-sharp/; revision=153926
commit 9beda4fbb27e255d8eafc496a81fb49dd13fe16f
Author: Andrés G. Aragoneses <knocte@gmail.com>
Date: Wed Mar 3 23:59:47 2010 +0000
2010-03-02 Andrés G. Aragoneses <knocte@gmail.com>
* src/TagLib/Aac/AudioHeader.cs: Fix all warnings not related
to XML documentation.
svn path=/trunk/taglib-sharp/; revision=152975
commit df439f8529b7194b5424358fca9490e791e7a073
Author: Andrés G. Aragoneses <knocte@gmail.com>
Date: Tue Mar 2 11:01:39 2010 +0000
forgot changelog
svn path=/trunk/taglib-sharp/; revision=152820
commit f175da0d302b18f2d3296da64e8f7f5ad30ccb1b
Author: Andrés G. Aragoneses <knocte@gmail.com>
Date: Tue Mar 2 10:58:48 2010 +0000
* tests/tests.mdp:
* taglib-sharp.mds:
* taglib-sharp.sln:
* tests/tests.csproj:
* src/taglib-sharp.mdp:
* src/taglib-sharp.csproj:
* examples/ReadFromUri.mdp:
* examples/SetPictures.mdp:
* examples/ReadFromUri.csproj:
* examples/SetPictures.csproj: Projects/solution format migration,
deleting deprecated MD1.0 format.
svn path=/trunk/taglib-sharp/; revision=152819
commit 63ff2db7fc275c88d018cc2cb751053986e7ff96
Author: Gabriel Burt <gburt@novell.com>
Date: Wed Feb 24 18:57:13 2010 +0000
2010-02-24 Gabriel Burt <gabriel.burt@gmail.com>
* configure.ac:
* NEWS: Update for 2.0.3.6 release
svn path=/trunk/taglib-sharp/; revision=152385
commit 9f8664ec69ee36046be5e8070a0463e3fea403d7
Author: Gabriel Burt <gburt@novell.com>
Date: Wed Feb 24 18:51:42 2010 +0000
2010-02-24 Gabriel Burt <gabriel.burt@gmail.com>
* src/TagLib/Riff/WaveFormatEx.cs: Fix API break in 2.0.3.5.
svn path=/trunk/taglib-sharp/; revision=152384
commit 6902a83d09086ac84884ff72dd99f1af9e771bdc
Author: Gabriel Burt <gburt@novell.com>
Date: Tue Feb 23 22:57:51 2010 +0000
2010-02-23 Gabriel Burt <gabriel.burt@gmail.com>
* NEWS: Update for 2.0.3.5 release
svn path=/trunk/taglib-sharp/; revision=152310
commit aeb2315f921fb7c854966b2f206ff67793ca7bcd
Author: Gabriel Burt <gburt@novell.com>
Date: Sun Feb 21 22:31:23 2010 +0000
2010-02-21 Gabriel Burt <gabriel.burt@gmail.com>
* src/TagLib/Riff/WaveFormatEx.cs:
* src/TagLib/ICodec.cs:
* src/TagLib/Properties.cs:
* src/TagLib/Flac/StreamHeader.cs:
* src/TagLib/Ape/StreamHeader.cs:
* src/TagLib/Aiff/StreamHeader.cs:
* src/TagLib/WavPack/StreamHeader.cs: Patch from Alexander Kojevnikov
adding BitsPerSample property to TagLib.Properties (BGO #610585)
svn path=/trunk/taglib-sharp/; revision=152153
commit 0cf7cde9011e9f2d5a548f4b88198a9e8ff18c67
Author: Gabriel Burt <gburt@novell.com>
Date: Thu Feb 4 01:40:03 2010 +0000
2010-02-03 Gabriel Burt <gabriel.burt@gmail.com>
* src/TagLib/Ogg/XiphComment.cs:
* tests/fixtures/TagLib.Tests.TaggingFormats/XiphTest.cs: Patch and unit
tests from Alexander Kojevnikov adding support for COMPILATION to
Vorbis/XiphComments (eg for ogg and flac files) (BGO #586336)
svn path=/trunk/taglib-sharp/; revision=150805
commit 939ae5abdb8757f438a72050bbac262a56b5f964
Author: Gabriel Burt <gburt@novell.com>
Date: Tue Feb 2 00:28:56 2010 +0000
2010-02-01 Gabriel Burt <gabriel.burt@gmail.com>
* src/TagLib/NonContainer/EndTag.cs:
* src/TagLib/NonContainer/StartTag.cs:
* tests/fixtures/TagLib.Tests.FileFormats/Id3BothFormatTest.cs: Patch and
unit tests from Helmut Wahrmann (with assistance from Alexander
Kojevnikov) fixing bug with removing some/all tag-types from a file (BGO
#574653)
svn path=/trunk/taglib-sharp/; revision=150687
commit 21458f4451b57d10e373817cbee58101f9501579
Author: Gabriel Burt <gburt@novell.com>
Date: Wed Jan 27 01:07:50 2010 +0000
2010-01-26 Gabriel Burt <gabriel.burt@gmail.com>
* configure.ac:
* NEWS: Bump to 2.0.3.5 in prep for next release
svn path=/trunk/taglib-sharp/; revision=150265
commit a2a8010c2830c163af693231d7d6893c8ede4409
Author: Gabriel Burt <gburt@novell.com>
Date: Thu Jan 21 00:30:16 2010 +0000
2010-01-20 Gabriel Burt <gabriel.burt@gmail.com>
* src/TagLib/Id3v2/Frames/CommentsFrame.cs:
* tests/fixtures/TagLib.Tests.TaggingFormats/Id3V2Test.cs: Patch from
Alexander Kojevnikov fixing IndexOutOfRangeException (BGO #607376)
svn path=/trunk/taglib-sharp/; revision=149945
commit 466e24d5340be9653e538168526557f49b0fbd96
Author: Gabriel Burt <gburt@novell.com>
Date: Thu Jan 7 22:56:22 2010 +0000
2010-01-07 Gabriel Burt <gabriel.burt@gmail.com>
* NEWS:
* configure.ac: Bump to 2.0.3.4 for upcoming release.
svn path=/trunk/taglib-sharp/; revision=149201
commit df89366fb2a7365bf11767e2bf746c5c34e0c1fd
Author: Gabriel Burt <gburt@novell.com>
Date: Thu Jan 7 20:31:48 2010 +0000
2010-01-07 Gabriel Burt <gabriel.burt@gmail.com>
* src/TagLib/Id3v2/Tag.cs:
* src/TagLib/Id3v2/FrameHeader.cs: Fix multiple issues with converting
release data metadata. Was converting (renaming) TDAT to TDRC, but
that's mapping MMDD onto YYYY which doesn't make sense. Now it will
map only TYER to TDRC, and then append the TDAT and TIME info to the TDRC
if they exist. Fixes BGO #606283
* tests/fixtures/TagLib.Tests.FileFormats/AiffFormatTest.cs: Fix test that
depended on the incorrect behavior above.
svn path=/trunk/taglib-sharp/; revision=149189
commit 5e0e952df97bc485f5fcf4411b785c6251ae24cc
Author: Gabriel Burt <gburt@novell.com>
Date: Sun Dec 13 22:00:43 2009 +0000
2009-12-13 Gabriel Burt <gabriel.burt@gmail.com>
* src/TagLib/Mpeg4/BoxTypes.cs:
* src/TagLib/Mpeg4/BoxFactory.cs: Support the 'alis' handler code/track
type, found in the wild in an iTunes-ripped .m4a file (BGO #584193)
svn path=/trunk/taglib-sharp/; revision=148357
commit 6f160becd6baf821b65f5f6ba6ac71d29b909f83
Author: Aaron Bockover <abockover@novell.com>
Date: Wed Sep 30 23:53:22 2009 +0000
Fix NEWS uploading
svn path=/trunk/taglib-sharp/; revision=143089
commit 28a2feb8ffdd78e687d2200c678b88a3234b9168
Author: Aaron Bockover <abockover@novell.com>
Date: Wed Sep 30 23:48:14 2009 +0000
2009-09-30 Aaron Bockover <abockover@novell.com>
* NEWS: Update for 2.0.3.3 release
* configure.ac: Bump to 2.0.3.3
svn path=/trunk/taglib-sharp/; revision=143088
commit 713ed6438ba96810cdcdef29d90b1b5e5f6efb95
Author: Gabriel Burt <gburt@novell.com>
Date: Mon May 18 19:23:36 2009 +0000
2009-05-18 Gabriel Burt <gabriel.burt@gmail.com>
* src/TagLib/ByteVector.cs:
* tests/fixtures/TagLib.Tests.Collections/ByteVectorTest.cs: Patch from
Alexander Kojevnikov fixing ArgumentOutOfRangeException when parsing some
comment frames (BGO #582735)
svn path=/trunk/taglib-sharp/; revision=134348
commit bf2aaa4c8f68da49fe24088f4b56e9b8be58b987
Author: Gabriel Burt <gburt@novell.com>
Date: Fri May 15 15:48:50 2009 +0000
2009-05-15 Gabriel Burt <gabriel.burt@gmail.com>
* src/TagLib/Riff/File.cs:
* src/TagLib/FileTypes.cs:
* src/TagLib/Aac/File.cs:
* src/TagLib/Aac/AudioHeader.cs:
* src/TagLib/Aac/BitStream.cs:
* src/TagLib/TagLib.sources:
* src/taglib-sharp.mdp:
* docs/Package.en.xml.in:
* tests/tests.mdp:
* tests/fixtures/TagLib.Tests.FileFormats/AacFormatTest.cs:
* tests/Makefile.am:
* taglib-sharp.csproj: Patch from Patrick Dehne adding support for ADTS AAC
files (BGO #580553)
svn path=/trunk/taglib-sharp/; revision=134211
commit 13b29dabc38a4258fbb66ca24b0ce20ed71582b3
Author: Gabriel Burt <gburt@novell.com>
Date: Thu May 14 20:23:56 2009 +0000
2009-05-14 Gabriel Burt <gabriel.burt@gmail.com>
* src/TagLib/Aiff/File.cs:
* src/TagLib/Aiff/StreamHeader.cs:
* src/TagLib/FileTypes.cs:
* src/TagLib/TagLib.sources:
* src/taglib-sharp.mdp:
* docs/Package.en.xml.in:
* tests/tests.mdp:
* tests/fixtures/TagLib.Tests.FileFormats/AiffFormatTest.cs:
* tests/Makefile.am:
* taglib-sharp.csproj: Patch from Helmut Wahrmann adding support for the
AIFF file format (BGO #579261)
svn path=/trunk/taglib-sharp/; revision=134161
commit 2207974d1385133c910e2d352bcbd9f858ebbdf4
Author: Gabriel Burt <gburt@novell.com>
Date: Mon Apr 20 19:10:43 2009 +0000
Correct a couple 2008s that should be 2009
svn path=/trunk/taglib-sharp/; revision=132204
commit b5d885b5ef0458fd0d2ea707ec3bbd38a60a4829
Author: Gabriel Burt <gburt@novell.com>
Date: Wed Mar 25 23:15:23 2009 +0000
2009-03-25 Gabriel Burt <gabriel.burt@gmail.com>
* src/TagLib/Ogg/XiphComment.cs: Patch from Helmut Wahrmann adding two
fallback options for the album artist getter (BGO #574652)
svn path=/trunk/taglib-sharp/; revision=130253
commit 6f22bf46936fa62d8dc4f9ea01fff8de5921e486
Author: Gabriel Burt <gburt@novell.com>
Date: Fri Mar 20 04:54:24 2009 +0000
2009-03-19 Gabriel Burt <gabriel.burt@gmail.com>
* src/TagLib/Ape/Tag.cs: Patch from Gregory S. Chudov fixing bug with
Ape.Tag's Pictures setter (BGO #575943)
svn path=/trunk/taglib-sharp/; revision=129858
commit f70f7b27b2e9bf923a8f907aa1dec61599121168
Author: Gabriel Burt <gburt@novell.com>
Date: Thu Mar 19 03:21:23 2009 +0000
2009-03-18 Gabriel Burt <gabriel.burt@gmail.com>
* tests/Makefile.am:
* examples/Makefile.am: Patch from Bertrand Lorentz fixing issue with
random files slipping into the tarball/dist (BGO #575302). make distcheck
and running ./configure && make && make test work on the tarball
svn path=/trunk/taglib-sharp/; revision=129762
commit 446b14bd5997c51d0a6edd31988058837a1fc283
Author: Gabriel Burt <gburt@novell.com>
Date: Tue Mar 10 19:41:12 2009 +0000
2009-03-10 Gabriel Burt <gabriel.burt@gmail.com>
* src/TagLib/Mpeg/File.cs:
* src/TagLib/Mpeg/AudioFile.cs:
Patch from Andy Beal adding support for m2v and m2v files (BGO #574411)
svn path=/trunk/taglib-sharp/; revision=129008
commit f9ccf65c85d4dc1f1b1924a52e8b59cb902480e7
Author: Gabriel Burt <gburt@novell.com>
Date: Tue Mar 10 05:01:00 2009 +0000
2009-03-09 Gabriel Burt <gabriel.burt@gmail.com>
* src/TagLib/Ape/Tag.cs: Patch from Bernd Niedergesaess adding support for
Sort* values in Ape tags (BGO #571421)
svn path=/trunk/taglib-sharp/; revision=128940
commit 877b873e2aa8e999a1ffd451f55c78b677c3b5ed
Author: Gabriel Burt <gburt@novell.com>
Date: Tue Mar 10 04:53:30 2009 +0000
2009-03-09 Gabriel Burt <gabriel.burt@gmail.com>
* src/TagLib/Ogg/GroupedComment.cs: Patch from Bernd Niedergesaess and
Andy Beal improving code consistency (BGO #571443)
svn path=/trunk/taglib-sharp/; revision=128939
commit 96e698124f34e42b85d1c0618af1900ad156843e
Author: Gabriel Burt <gburt@novell.com>
Date: Tue Mar 10 04:47:07 2009 +0000
2009-03-09 Gabriel Burt <gabriel.burt@gmail.com>
* src/TagLib/Riff/AviHeaderList.cs: Patch from Bernd Niedergesaess to not
use obsolete ctor (BGO #571452)
svn path=/trunk/taglib-sharp/; revision=128938
commit 74e848482a4adb6ea951d3ca60429295ddf33c4a
Author: Gabriel Burt <gburt@novell.com>
Date: Tue Mar 10 04:37:09 2009 +0000
2009-03-09 Gabriel Burt <gabriel.burt@gmail.com>
* docs/Makefile.am: Reduce the verbosity of docs build output.
svn path=/trunk/taglib-sharp/; revision=128937
commit a5c66dedc41e14ea667da68804391f574cbb2a5a
Author: Gabriel Burt <gburt@novell.com>
Date: Tue Mar 10 04:25:40 2009 +0000
2009-03-09 Gabriel Burt <gabriel.burt@gmail.com>
Patch from Andy Beal adding new properties: MusicBrainz -ArtistId,
-ReleaseId, -ReleaseArtistId, -TrackId, -DiscId, -ReleaseStatus, -ReleaseType,
-ReleaseCountry, MusicIpId, and AmazonId (BGO #563170)
* src/TagLib/CombinedTag.cs:
* src/TagLib/Tag.cs:
* src/TagLib/Id3v2/Tag.cs:
* src/TagLib/Ape/Tag.cs:
* src/TagLib/Mpeg4/AppleTag.cs:
* src/TagLib/Asf/Tag.cs:
* src/TagLib/Ogg/XiphComment.cs:
* src/TagLib/Ogg/GroupedComment.cs:
* tests/fixtures/TagLib.Tests.TaggingFormats/Mpeg4Test.cs:
* tests/fixtures/TagLib.Tests.TaggingFormats/ApeTest.cs:
* tests/fixtures/TagLib.Tests.TaggingFormats/Id3V2Test.cs:
* tests/fixtures/TagLib.Tests.TaggingFormats/XiphTest.cs:
* tests/fixtures/TagLib.Tests.TaggingFormats/AsfTest.cs: Add and test the
new properties.
svn path=/trunk/taglib-sharp/; revision=128936
commit 2822fea172a0ce858bfb96bbb4a1520f7e6c399a
Author: Gabriel Burt <gburt@novell.com>
Date: Wed Mar 4 16:25:48 2009 +0000
2009-03-04 Gabriel Burt <gabriel.burt@gmail.com>
* src/TagLib/Id3v2/Frames/TextIdentificationFrame.cs: Patch from John
Millikin to be more robust in the face of tags with NULL bytes in the
middle of them by truncating the value before the first one (BGO #558123)
* tests/samples/corrupt/null_title_v2.mp3:
* tests/fixtures/TagLib.Tests.FileFormats/Id3V2FormatTest.cs: New corrupt
file with NULL bytes in the title field, and a test that we handle it ok.
svn path=/trunk/taglib-sharp/; revision=128567
commit adfc5f7ee25c53f6a95d0849441957cb1f0a55f0
Author: Gabriel Burt <gburt@novell.com>
Date: Fri Feb 20 02:37:59 2009 +0000
2009-02-19 Gabriel Burt <gabriel.burt@gmail.com>
* src/TagLib/Flac/File.cs: Patch from Gregory S. Chudov fixing NRE thrown
when calling GetTag on a flac File (BGO #572380)
* tests/fixtures/TagLib.Tests.FileFormats/FlacFormatTest.cs: Add a unit
test written by me that fails without Gregory's patch, passes with it.
svn path=/trunk/taglib-sharp/; revision=127496
commit 447239a8964b6637cf570635fff2071098f20430
Author: Gabriel Burt <gburt@novell.com>
Date: Fri Feb 20 02:29:07 2009 +0000
2009-02-19 Gabriel Burt <gabriel.burt@gmail.com>
* src/TagLib/Ogg/XiphComment.cs: Patch from Gregory S. Chudov fixing typo
in the Ogg DiscNumber setter that wrote the TrackCount to the DISCTOTAL
field (BGO #572381)
svn path=/trunk/taglib-sharp/; revision=127492
commit 179f20ff6731f59250b71bc95c4c58fe52fb1818
Author: Gabriel Burt <gburt@novell.com>
Date: Fri Feb 20 02:25:49 2009 +0000
2009-02-19 Gabriel Burt <gabriel.burt@gmail.com>
* src/TagLib/Tag.cs: Patch from Gregory S. Chudov fixing bug in the CopyTo
method that copied the Copyright into the Conductor tag (BGO #572382)
svn path=/trunk/taglib-sharp/; revision=127491
commit d7431fc9c8b22cac2f65317c7df44329ab5a912f
Author: Gabriel Burt <gburt@novell.com>
Date: Fri Feb 20 02:21:55 2009 +0000
2009-02-19 Gabriel Burt <gabriel.burt@gmail.com>
* src/TagLib/File.cs: Patch from Félix Velasco fixing a bug in our XML
documentation (BGO #572253)
svn path=/trunk/taglib-sharp/; revision=127490
commit 9c76cd75a24589edcf63249d65b5b670412c3182
Author: Gabriel Burt <gburt@novell.com>
Date: Fri Feb 20 02:18:11 2009 +0000
2009-02-19 Gabriel Burt <gabriel.burt@gmail.com>
* configure.ac: Patch from Bertrand Lorentz using $(prefix)/lib in
GACUTIL_FLAGS instead of $(libdir) (BGO #572259)
svn path=/trunk/taglib-sharp/; revision=127489
commit 1dacd700bfe4aef4f7acbc440b59099579bac308
Author: Gabriel Burt <gburt@novell.com>
Date: Thu Feb 19 19:00:12 2009 +0000
2009-02-19 Gabriel Burt <gabriel.burt@gmail.com>
* docs/Makefile.am: Patch from Bertrand Lorentz fixing hardcoded mcs
reference (BGO #572450)
svn path=/trunk/taglib-sharp/; revision=127441
commit a17a7339518964ff719d38eb59a98b2f9c941b93
Author: Gabriel Burt <gburt@novell.com>
Date: Mon Feb 16 23:07:25 2009 +0000
2009-02-16 Gabriel Burt <gabriel.burt@gmail.com>
* NEWS: Update for 2.0.3.2 release
svn path=/trunk/taglib-sharp/; revision=127078
commit bfc0685985ad6ea2c6c84d7d83181a68cee206ed
Author: Gabriel Burt <gburt@novell.com>
Date: Mon Feb 16 22:39:12 2009 +0000
Forgot to credit Bernd in last commit
svn path=/trunk/taglib-sharp/; revision=127077
commit c680ca61d0fb2056885d3c9fd3896fd8a968d119
Author: Gabriel Burt <gburt@novell.com>
Date: Mon Feb 16 21:48:27 2009 +0000
2009-02-16 Gabriel Burt <gabriel.burt@gmail.com>
* src/TagLib/Ape/Tag.cs: Patch from Andy Beal fixing our APE tag writing
from writing out all uppercase tags to writing the recommended tag casing.
But we support reading in any casing. Also, use BPM instead of TEMPO, and
use Album Artist instead of AlbumArtist, but read/write the latter for
compabibility (BGO #571563)
svn path=/trunk/taglib-sharp/; revision=127070
commit 96664cc7e3eea268fb6ec5e9ca50842323a672c4
Author: Gabriel Burt <gburt@novell.com>
Date: Mon Feb 16 21:24:58 2009 +0000
2009-02-16 Gabriel Burt <gabriel.burt@gmail.com>
* src/TagLib/Id3v2/Tag.cs:
* src/TagLib/Ape/Tag.cs:
* docs/Package.en.xml.in:
* docs/Makefile.am: Patch from Bertrand Lorentz fixing build issue
with docs (BGO #571368)
svn path=/trunk/taglib-sharp/; revision=127066
commit 29a97a8d909075306da240d9c96b8420afbe0ce6
Author: Gabriel Burt <gburt@novell.com>
Date: Thu Feb 12 19:01:51 2009 +0000
2009-02-12 Gabriel Burt <gabriel.burt@gmail.com>
* src/TagLib/Mpeg/AudioFile.cs: Patch from Bernd Niedergesaess with style
help from Andy Beal, adding mp1/mp2 extensions/mimetypes (BGO #571466)
svn path=/trunk/taglib-sharp/; revision=126743
commit 17b4c1e010f3c02b140d7c95dfbf0e7fb3166df1
Author: Gabriel Burt <gburt@novell.com>
Date: Thu Feb 12 18:46:03 2009 +0000
2009-02-12 Gabriel Burt <gabriel.burt@gmail.com>
* src/TagLib/Mpeg4/AppleTag.cs: Patch from Bernd Niedergesaess fixing
mpeg4 writing of BPM to file (BGO #571411)
svn path=/trunk/taglib-sharp/; revision=126741
commit 12b894385f4194df2f865c20d2b4483ddcaac698
Author: Gabriel Burt <gburt@novell.com>
Date: Thu Feb 12 00:54:19 2009 +0000
2009-02-11 Gabriel Burt <gabriel.burt@gmail.com>
Patches from Bertrand Lorentz.
* tests/Makefile.am: fixes the typo that caused the test source files not
to be included in the tarball (BGO #569299)
* configure.ac: remove the call to AC_CANONICAL_SYSTEM (BGO #571361)
svn path=/trunk/taglib-sharp/; revision=126670
commit fc1d68289f28ca1a02f884922eaa714c6e9f9bd2
Author: Gabriel Burt <gburt@novell.com>
Date: Wed Feb 11 03:53:05 2009 +0000
2009-02-10 Gabriel Burt <gabriel.burt@gmail.com>
* src/TagLib/Mpeg/File.cs: Patch from Andy Beal fixing issue where offset
was not being advanced when trying to read a GOP video packet inside a
video sequence (BGO #568964)
svn path=/trunk/taglib-sharp/; revision=126547
commit 2af0d2725ea1d5269b46810e2d2d712944fcf8e9
Author: Gabriel Burt <gburt@novell.com>
Date: Wed Feb 11 02:54:37 2009 +0000
2009-02-10 Gabriel Burt <gabriel.burt@gmail.com>
* configure.ac: Bump in prep for the next release.
* examples/ReadFromUri.cs: Refactor a bit, and print out the *Sort
properties.
svn path=/trunk/taglib-sharp/; revision=126546
commit 6a1db30cd8ca012c76e7575e9adf2e44d505e1b9
Author: Gabriel Burt <gburt@novell.com>
Date: Tue Feb 10 17:09:56 2009 +0000
2009-02-10 Gabriel Burt <gabriel.burt@gmail.com>
* src/TagLib/Riff/File.cs: Patch from Andy Beal fixing bug where within a
while clause we would 'continue', but the actual counter incrementing
happened later in the while clause so the while condition was always true,
causing a freezing while writing video files (BGO #570892)
svn path=/trunk/taglib-sharp/; revision=126477
commit 11ed49d59e0f37bf1567f1dec514cd5df1fcf031
Author: Gabriel Burt <gburt@novell.com>
Date: Tue Feb 10 17:07:03 2009 +0000
2009-02-10 Gabriel Burt <gabriel.burt@gmail.com>
* tests/Makefile.am:
* tests/samples/sample.avi:
* tests/fixtures/TagLib.Tests.FileFormats/AviFormatTest.cs: Patch from
Andy Beal adding unit testing for AVI files; currently gets stuck in
infinite loop because of bug with writing to AVI files.
svn path=/trunk/taglib-sharp/; revision=126476
commit 98289c9e8c02faa9ef194108c4908fd0c7ae1931
Author: Gabriel Burt <gburt@novell.com>
Date: Fri Feb 6 18:02:38 2009 +0000
2009-02-06 Gabriel Burt <gabriel.burt@gmail.com>
* src/TagLib/Properties.cs: Patch from Andy Beal fixing VideoWidth getter,
was incorrectly returning height (BGO #570745)
svn path=/trunk/taglib-sharp/; revision=126082
commit dfa9ddd46fdcd6e486f9493e6569cfe8b9190196
Author: Gabriel Burt <gburt@novell.com>
Date: Fri Feb 6 17:54:30 2009 +0000
2009-02-06 Gabriel Burt <gabriel.burt@gmail.com>
* src/TagLib/Id3v2/Frame.cs: Patch from Andy Beal, fixing bug with not
skipping over Data Length Indicator field properly (BGO #568946)
svn path=/trunk/taglib-sharp/; revision=126081
commit ff43233d912b071852b1698754889f70a3087f29
Author: Aaron Bockover <abockover@novell.com>
Date: Fri Jan 23 20:27:11 2009 +0000
2009-01-23 Aaron Bockover <abock@gnome.org>
* Makefile.am: Install .pc file to datadir since we're noarch
svn path=/trunk/taglib-sharp/; revision=124369
commit ddd55a94f0b8e66896e172d344386ba1da5e943a
Author: Gabriel Burt <gburt@novell.com>
Date: Fri Jan 23 00:17:54 2009 +0000
2009-01-22 Gabriel Burt <gabriel.burt@gmail.com>
* src/TagLib/CombinedTag.cs:
* src/TagLib/Id3v2/Tag.cs:
* src/TagLib/Id3v2/FrameTypes.cs:
* src/TagLib/Mpeg4/AppleTag.cs:
* src/TagLib/Mpeg4/BoxTypes.cs:
* src/TagLib/Tag.cs:
* src/TagLib/Asf/Tag.cs:
* src/TagLib/Ogg/XiphComment.cs:
* src/TagLib/Ogg/GroupedComment.cs: Patch from John Millikin and Andy Beal
adding support for PerformerSort, AlbumArtistSort, ComposerSort,
TitleSort, and AlbumSort to TagLib.Tag, with backends for Ogg, ID3, mpeg4,
and asf (BGO #567657).
svn path=/trunk/taglib-sharp/; revision=124277
commit c47ade767d2b3d2a8f372b5c8974c727fad337da
Author: Aaron Bockover <abockover@novell.com>
Date: Tue Jan 20 22:32:25 2009 +0000
Fix tag name
svn path=/trunk/taglib-sharp/; revision=123953
commit 0961c724b29468a9f5107b02286d3b614545442e
Author: Aaron Bockover <abockover@novell.com>
Date: Tue Jan 20 22:29:28 2009 +0000
Missing \
svn path=/trunk/taglib-sharp/; revision=123952
commit 8db9530ed1873d0246acb84f561176dcca8f9ee1
Author: Aaron Bockover <abockover@novell.com>
Date: Tue Jan 20 22:27:07 2009 +0000
2009-01-20 Aaron Bockover <abock@gnome.org>
* configure.ac: Bumped version to 2.0.3.1, output bz2 and gz
* Makefile.am: Added a push-release target
* NEWS: Updated for 2.0.3.1 release
svn path=/trunk/taglib-sharp/; revision=123950
commit ff9b5afa5a3ef8b9a79edde5343faffa482d7f7c
Author: Gabriel Burt <gburt@novell.com>
Date: Tue Jan 20 21:23:25 2009 +0000
Update for release
svn path=/trunk/taglib-sharp/; revision=123928
commit 7a518bd93334ec93a5414e4e0d0c14642cf76702
Author: Aaron Bockover <abockover@novell.com>
Date: Tue Jan 20 21:21:21 2009 +0000
SUBDIRS tests
svn path=/trunk/taglib-sharp/; revision=123926
commit 9288a468d586e88533ebd380ba0eabe71e90a254
Author: Aaron Bockover <abockover@novell.com>
Date: Tue Jan 20 21:21:11 2009 +0000
Fix use of obsolete API
svn path=/trunk/taglib-sharp/; revision=123925
commit f46fbd1bf53a1d2eeee5f6fb3604d93907c542e2
Author: Aaron Bockover <abockover@novell.com>
Date: Tue Jan 20 21:18:20 2009 +0000
2009-01-20 Aaron Bockover <abock@gnome.org>
* configure.ac: Bumped version to 2.0.3.1
* NEWS: Updated for 2.0.3.1 release
svn path=/trunk/taglib-sharp/; revision=123923
commit e09402baf120df02b4aadbfff46d600f6699d640
Author: Gabriel Burt <gburt@novell.com>
Date: Fri Jan 16 02:12:17 2009 +0000
2009-01-15 Gabriel Burt <gabriel.burt@gmail.com>
* tests/fixtures/TagLib.Tests.TaggingFormats/XiphTest.cs: Update unit test
to reflect that we do now support writing cover art to ogg files.
svn path=/trunk/taglib-sharp/; revision=123568
commit ac160cc7839f31263fe8500fd693ff19b881dabb
Author: Gabriel Burt <gburt@novell.com>
Date: Fri Jan 16 02:08:16 2009 +0000
2009-01-15 Gabriel Burt <gabriel.burt@gmail.com>
* src/TagLib/Ogg/XiphComment.cs: Patch from John Millikin adding cover art
reading and writing support to Ogg (BGO #563168)
svn path=/trunk/taglib-sharp/; revision=123567
commit 48f6a94a29ae04e6adc5a514c208b890106bfbd2
Author: Gabriel Burt <gburt@novell.com>
Date: Thu Jan 15 19:06:00 2009 +0000
2009-01-15 Gabriel Burt <gabriel.burt@gmail.com>
* src/TagLib/Ape/File.cs:
* src/TagLib/Asf/File.cs:
* src/TagLib/Ogg/File.cs: Add more mimetypes and file extensions including
.oga and .ogv (BGO #532561)
* examples/ReadFromUri.cs: Avoid NRE crash
svn path=/trunk/taglib-sharp/; revision=123522
commit 21daae26e341c14c833a433f5c88533dac04f495
Author: Gabriel Burt <gburt@novell.com>
Date: Thu Jan 15 19:01:15 2009 +0000
2008-01-15 Gabriel Burt <gabriel.burt@gmail.com>
* src/TagLib/Mpeg4/file.cs: Patch from Andy Beal to recognize .m4b
files (Audiobook extention) in mpeg4 (BGO #567826)
svn path=/trunk/taglib-sharp/; revision=123520
commit 721fb8fc79715c34f7a06ced460ef7e1891888d1
Author: Gabriel Burt <gburt@novell.com>
Date: Tue Jan 13 18:26:16 2009 +0000
2008-01-13 Gabriel Burt <gabriel.burt@gmail.com>
Patch from Andy Beal adding support for Dash atoms, used primarily for
storing extra text tags, such as the MusicBrainz tags. The equivalent in
ID3 are the UserTextInfo frames.
* src/TagLib/Mpeg4/Boxes/AppleAdditionalInfoBox.cs: Add Constructor to
enable Instantiating a new AdditionalInfoBox without reading from file.
* src/TagLib/Mpeg4/AppleTag.cs: Add Methods for reading and writing
values to/from Dash Boxes (----)
svn path=/trunk/taglib-sharp/; revision=123227
commit b6ff6f306fcedb04acf01c18eb3689f50fb1bad1
Author: Gabriel Burt <gburt@novell.com>
Date: Fri Dec 19 21:24:40 2008 +0000
Whoops, didn't mean to revert this, got confused about what was the new patch and what was there before
svn path=/trunk/taglib-sharp/; revision=121890
commit f1b527ed4a8da14eb73e1965a37cdb9ca9e8dfd5
Author: Gabriel Burt <gburt@novell.com>
Date: Tue Dec 16 01:41:48 2008 +0000
2008-12-15 Gabriel Burt <gabriel.burt@gmail.com>
* src/TagLib/Id3v2/Tag.cs:
* src/TagLib/Id3v2/FrameFactory.cs: Add an alreadyUnsynched argument to
CreateFrame that is true when the overall id3v2 Tag has the Unsync flag
set, and used to ensure we don't double-synchronize the data for a frame.
* src/TagLib/Id3v2/FrameHeader.cs: Fix typo
* src/TagLib/Id3v2/Frame.cs: Fix typo, use the new CreateFrame
* src/TagLib/File.cs: Remove unnecessary (and buggy) position/length
adjustments in ReadBlock method.
* src/TagLib/NonContainer/StartTag.cs: Fix typos, ensure that ReadTag
returns the valid start value even if there is an exception creating it,
and write any tag-creation exceptions to Console.Error.
svn path=/trunk/taglib-sharp/; revision=121568
commit d043e77cd667c924d51fe5fc252d798e30d50ca5
Author: Gabriel Burt <gburt@novell.com>
Date: Thu Dec 11 23:45:44 2008 +0000
2008-12-11 Gabriel Burt <gabriel.burt@gmail.com>
* tests/ConsoleUi.cs:
* tests/Makefile.am:
* configure.ac: Remove ConsoleUi in favor of system-installed
nunit-console2. Make the tests depend on the taglib-sharp.dll, and rename
the target 'test'.
* Makefile.am: Add 'test' target that calls make test in tests/
svn path=/trunk/taglib-sharp/; revision=121368
commit 96541ba2588aef666d6c9a8b09def2252e5a1161
Author: Gabriel Burt <gburt@novell.com>
Date: Thu Dec 11 23:43:56 2008 +0000
Actually commit Jeff's patch, already mentioned in the ChangeLog
svn path=/trunk/taglib-sharp/; revision=121365
commit 6da96266229c1ed419d77a23d9ddc0e446a6958b
Author: Gabriel Burt <gburt@novell.com>
Date: Thu Dec 11 23:24:42 2008 +0000
2008-12-11 Gabriel Burt <gabriel.burt@gmail.com>
* src/AssemblyInfo.cs.in: remove the if #SIGN - always sign
* tests/Makefile.am: Fix up source files list.
* tests/tests.mdp: enable Makefile integration
* configure.ac: Uncomment the nunit check and generate tests/Makefile
svn path=/trunk/taglib-sharp/; revision=121363
commit ca2086339d75e17841227ae5045bd093630081bb
Author: Rusty Howell <rhowell@mono-cvs.ximian.com>
Date: Thu Jul 17 01:42:11 2008 +0000
Fixed syntax error in xml doc strings
svn path=/trunk/taglib-sharp/; revision=108108
commit dada5252ec43f0824226bb906a6a55c83d22cfd2
Author: Jeffrey Stedfast <fejj@novell.com>
Date: Tue Jan 29 22:08:55 2008 +0000
2008-01-16 Jeffrey Stedfast <fejj@novell.com>
* src/TagLib/Mpeg/AudioHeader.cs (AudioHeader): Do a bit more
thorough bitwise examination of the second byte in the MPEG sync
header.
svn path=/trunk/taglib-sharp/; revision=94328
commit 492f1e407d1d1b6769edfabf5a20db118dff2d89
Author: Brian Nickel <bnickel@mono-cvs.ximian.com>
Date: Thu Jan 10 23:28:46 2008 +0000
2008-01-10 Brian Nickel <brian.nickel@gmail.com>
* NEWS: Updated for new release.
* configure.ac: Now 2.0.3.0
svn path=/trunk/taglib-sharp/; revision=92635
commit 0f23f4b07d569b4a447d95b29a9a693d93f96fe4
Author: Brian Nickel <bnickel@mono-cvs.ximian.com>
Date: Thu Jan 10 01:30:11 2008 +0000
2008-01-09 Brian Nickel <brian.nickel@gmail.com>
This commit does the following:
- Finishes XML documentation.
- Makes ASF tags enumerable.
- Allows saving RelativeVolumeFrames in 2.2 and 2.3 via
semi-standard XRV and XRVA names.
- Prevents duplicates when genres are stored in "(0)Blues"
format.
* src/TagLib/Id3v2/Tag.cs:
* src/TagLib/Id3v2/Footer.cs:
* src/TagLib/Id3v2/FrameFactory.cs:
* src/TagLib/Id3v2/Header.cs:
* src/TagLib/Id3v2/Frames/UnsynchronisedLyricsFrame.cs:
* src/TagLib/Id3v2/Frames/CommentsFrame.cs:
* src/TagLib/Id3v2/Frames/SynchronizedLyricsFrame.cs:
* src/TagLib/Id3v2/Frames/AttachedPictureFrame.cs:
* src/TagLib/Id3v2/Frames/UniqueFileIdentifierFrame.cs:
* src/TagLib/Id3v2/Frames/TermsOfUseFrame.cs:
* src/TagLib/Id3v2/Frames/GeneralEncapsulatedObjectFrame.cs:
* src/TagLib/Id3v2/Frames/UnknownFrame.cs:
* src/TagLib/Id3v2/Frame.cs:
* src/TagLib/ListBase.cs:
* src/TagLib/Ogg/Codecs/Theora.cs:
* src/TagLib/Ogg/Codecs/Vorbis.cs:
* src/TagLib/Ogg/Codec.cs:
* src/TagLib/Ogg/Bitstream.cs: Finish documentation.
* src/TagLib/Asf/Tag.cs:
* src/TagLib/Asf/ExtendedContentDescriptionObject.cs:
* src/TagLib/Asf/MetadataLibraryObject.cs: Make enumerable.
* src/TagLib/Id3v2/Frames/TextIdentificationFrame.cs: If genre index is
followed by genre text, don't store it twice.
* src/TagLib/Id3v2/Frames/RelativeVolumeFrame.cs:
* src/TagLib/Id3v2/FrameHeader.cs:
* tests/fixtures/TagLib.Tests.TaggingFormats/Id3V2Test.cs: Save RVA2 as
XRVA and XRV in older versions.
* configure.ac: Now 2.0.2.22.
svn path=/trunk/taglib-sharp/; revision=92562
commit e38d5652387c1225ccdd709c982f5cb43b19a3b2
Author: Brian Nickel <bnickel@mono-cvs.ximian.com>
Date: Thu Jan 3 07:59:47 2008 +0000
2008-01-03 Brian Nickel <brian.nickel@gmail.com>
* src/Makefile.am: Generate taglib-sharp.dll.xml instead.
* docs/Package.en.xml.in: Contains missing documentation and rules for
XmlInjector.exe.
* docs/XmlInjector.cs: A new XML manager which can remove, replace, and
insert nodes into an XML document based on XPath queries.
* docs/Makefile.am: Build XML from the slashdoc and use XmlInjector.exe
to insert missing parts into documentation as well as modify monodoc.xml
* docs/Package.en.xml: Depreciated by docs/Package.en.xml.in.
* docs/MonodocNodeConfig.cs: Depreciated by docs/XmlInjector.cs.
* configure.ac: Generate docs/Package.en.xml from
docs/Package.en.xml.in
svn path=/trunk/taglib-sharp/; revision=92157
commit 44578d8d281dbe301464180fcb272d0a703463df
Author: Brian Nickel <bnickel@mono-cvs.ximian.com>
Date: Thu Jan 3 02:43:28 2008 +0000
2008-01-02 Brian Nickel <brian.nickel@gmail.com>
* src/Makefile.am: Generate taglib-sharp-docs.xml when building docs.
* docs/en/: Deleted. Will be replaced with autogeneration after this
update.
* docs/Makefile.am: Add docs/Packages.en.xml do DIST_EXTRA
* docs/Package.en.xml: Contains values not in slashdocs.
svn path=/trunk/taglib-sharp/; revision=92148
commit 5932a1adfb5a243de2d0f70f3ae4fa4cc8d9e583
Author: Brian Nickel <bnickel@mono-cvs.ximian.com>
Date: Thu Jan 3 01:05:18 2008 +0000
2008-01-02 Brian Nickel <brian.nickel@gmail.com>
* src/TagLib/CombinedTag.cs:
* src/TagLib/ByteVectorList.cs:
* src/TagLib/Id3v1/Tag.cs:
* src/TagLib/Id3v1/StringHandler.cs:
* src/TagLib/Riff/List.cs:
* src/TagLib/Riff/File.cs:
* src/TagLib/Riff/BitmapInfoHeader.cs:
* src/TagLib/Riff/AviHeaderList.cs:
* src/TagLib/Riff/DivXTag.cs:
* src/TagLib/Riff/ListTag.cs:
* src/TagLib/Riff/InfoTag.cs:
* src/TagLib/Riff/MovieIdTag.cs:
* src/TagLib/Riff/WaveFormatEx.cs:
* src/TagLib/Genres.cs:
* src/TagLib/Id3v2/Tag.cs:
* src/TagLib/Id3v2/Frames/TextIdentificationFrame.cs:
* src/TagLib/Id3v2/ExtendedHeader.cs:
* src/TagLib/Mpeg/File.cs:
* src/TagLib/Mpeg/VideoHeader.cs:
* src/TagLib/Mpeg/AudioFile.cs:
* src/TagLib/Mpeg/AudioHeader.cs:
* src/TagLib/ByteVector.cs:
* src/TagLib/SupportedMimeType.cs:
* src/TagLib/Flac/Picture.cs:
* src/TagLib/Flac/File.cs:
* src/TagLib/Flac/StreamHeader.cs:
* src/TagLib/Ape/Tag.cs:
* src/TagLib/Ape/Footer.cs:
* src/TagLib/Ape/File.cs:
* src/TagLib/ListBase.cs:
* src/TagLib/Mpeg4/Boxes/FullBox.cs:
* src/TagLib/Mpeg4/Boxes/IsoChunkLargeOffsetBox.cs:
* src/TagLib/Mpeg4/Boxes/IsoHandlerBox.cs:
* src/TagLib/Mpeg4/Boxes/IsoChunkOffsetBox.cs:
* src/TagLib/Mpeg4/Boxes/IsoMetaBox.cs:
* src/TagLib/Mpeg4/FileParser.cs:
* src/TagLib/Mpeg4/AppleTag.cs:
* src/TagLib/Mpeg4/File.cs:
* src/TagLib/Mpeg4/BoxHeader.cs:
* src/TagLib/Mpeg4/Box.cs:
* src/TagLib/Picture.cs:
* src/TagLib/Tag.cs:
* src/TagLib/Mpc/File.cs:
* src/TagLib/Mpc/StreamHeader.cs:
* src/TagLib/File.cs:
* src/TagLib/WavPack/File.cs:
* src/TagLib/WavPack/StreamHeader.cs:
* src/TagLib/NonContainer/Tag.cs:
* src/TagLib/NonContainer/File.cs:
* src/TagLib/NonContainer/EndTag.cs:
* src/TagLib/NonContainer/StartTag.cs:
* src/TagLib/Asf/Tag.cs:
* src/TagLib/Asf/HeaderExtensionObject.cs:
* src/TagLib/Asf/File.cs:
* src/TagLib/Asf/HeaderObject.cs:
* src/TagLib/Asf/FilePropertiesObject.cs:
* src/TagLib/Asf/ExtendedContentDescriptionObject.cs:
* src/TagLib/Asf/UnknownObject.cs:
* src/TagLib/Asf/MetadataLibraryObject.cs:
* src/TagLib/Asf/PaddingObject.cs:
* src/TagLib/Asf/StreamPropertiesObject.cs:
* src/TagLib/Asf/ContentDescriptionObject.cs:
* src/TagLib/Asf/Object.cs:
* src/TagLib/Ogg/XiphComment.cs:
* src/TagLib/Ogg/Page.cs:
* src/TagLib/Ogg/File.cs:
* src/TagLib/Ogg/Paginator.cs:
* src/TagLib/Ogg/PageHeader.cs:
* src/TagLib/Ogg/GroupedComment.cs: More docs, corrected some typos.
svn path=/trunk/taglib-sharp/; revision=92141
commit 6893f5fca42ac8df165a4d7147f6b7ebf62fed8c
Author: Brian Nickel <bnickel@mono-cvs.ximian.com>
Date: Wed Jan 2 03:30:34 2008 +0000
2008-01-01 Brian Nickel <brian.nickel@gmail.com>
I'm working to finish up the xmldocs so I can get rid of the aging docs
directory.
* src/TagLib/Riff/List.cs:
* src/TagLib/Riff/AviStream.cs:
* src/TagLib/Riff/File.cs:
* src/TagLib/Riff/BitmapInfoHeader.cs:
* src/TagLib/Riff/AviHeaderList.cs:
* src/TagLib/Riff/DivXTag.cs:
* src/TagLib/Riff/ListTag.cs:
* src/TagLib/Riff/InfoTag.cs:
* src/TagLib/Riff/MovieIdTag.cs:
* src/TagLib/Riff/WaveFormatEx.cs:
* src/TagLib/Id3v2/Tag.cs:
* src/TagLib/Id3v2/Frames/UnsynchronisedLyricsFrame.cs:
* src/TagLib/Id3v2/Frames/RelativeVolumeFrame.cs:
* src/TagLib/Id3v2/Frames/CommentsFrame.cs:
* src/TagLib/Id3v2/Frames/SynchronizedLyricsFrame.cs:
* src/TagLib/Id3v2/Frames/PopularimeterFrame.cs:
* src/TagLib/Id3v2/Frames/AttachedPictureFrame.cs:
* src/TagLib/Id3v2/Frames/UniqueFileIdentifierFrame.cs:
* src/TagLib/Id3v2/Frames/PrivateFrame.cs:
* src/TagLib/Id3v2/Frames/MusicCdIdentifierFrame.cs:
* src/TagLib/Id3v2/Frames/TermsOfUseFrame.cs:
* src/TagLib/Id3v2/Frames/GeneralEncapsulatedObjectFrame.cs:
* src/TagLib/Id3v2/Frames/TextIdentificationFrame.cs:
* src/TagLib/Id3v2/Frames/PlayCountFrame.cs:
* src/TagLib/Id3v2/ExtendedHeader.cs:
* src/TagLib/Id3v2/Frame.cs:
* src/TagLib/ByteVector.cs:
* src/TagLib/Flac/BlockHeader.cs:
* src/TagLib/Ape/Tag.cs:
* src/TagLib/Ape/Item.cs:
* src/TagLib/Picture.cs:
* src/TagLib/Ogg/XiphComment.cs: A little documentation and
reformatting.
* examples/BatchSet.cs: Add support for setting the ID3v2 version.
svn path=/trunk/taglib-sharp/; revision=92094
commit 7fc0f6bd46e6e34224c57a4842ca3e155e8dd4c8
Author: Brian Nickel <bnickel@mono-cvs.ximian.com>
Date: Sun Dec 30 09:50:36 2007 +0000
2007-12-30 Brian Nickel <brian.nickel@gmail.com>
This commit does the following:
- Makes Id3v2 skip iTunes settings-style comments.
- Makes ; the separator for multivalue fields in Mpeg4, rather
than storing in multiple boxes.
- Cleans up Mpeg4 genre logic.
- Uses System.Globalization to choose the default language in
Id3v2.
- Moves the comment written when Id3v2.Tag.Comment to be the
first COMM in the frame so it is the first one recognized by
other programs.
* src/TagLib/Id3v2/Tag.cs: Move the written comment to be the first
COMM frame if it isn't. Make " " the fallback comment per instructions
on id3.org. Get the default language from CultureInfo.CurrentCulture
.ThreeLetterISOLanguageName.
* src/TagLib/Id3v2/Frames/CommentsFrame.cs: Skip iTunes comments if
they are set. There's no need for gibberish to show up as the comment.
* src/TagLib/Mpeg4/AppleTag.cs: Instead of adding multiple data boxes
for multi-string values, use `;' as a separator. It wasn't working out
in iTunes. (TagLib# can still read the tags is wrote earlier just fine.)
Use `@gnr' or `gnre', but don't attempt a weird mix of both at the same
time.
* tests/tests.mdp: Automatic changes by MonoDevelop 0.18.
* configure.ac: Now 2.0.2.21.
svn path=/trunk/taglib-sharp/; revision=92033
commit 4b09fb0a7d34cb10272090e98d982dfe29d7047e
Author: Brian Nickel <bnickel@mono-cvs.ximian.com>
Date: Sun Dec 30 02:50:29 2007 +0000
2007-12-29 Brian Nickel <brian.nickel@gmail.com>
This commit introduces some powerful new tests. They add more intensive
checking of saving and rendering and have lead to the preemptive
correction of several bugs.
* tests/tests.mdp:
* tests/fixtures/Helpers.cs:
* tests/fixtures/TagLib.FormatTests/FlacFormatTest.cs:
* tests/fixtures/TagLib.FormatTests/Id3V1FormatTest.cs:
* tests/fixtures/TagLib.FormatTests/Id3V2FormatTest.cs:
* tests/fixtures/TagLib.FormatTests/IFormatTest.cs:
* tests/fixtures/TagLib.FormatTests/AsfFormatTest.cs:
* tests/fixtures/TagLib.FormatTests/Id3BothFormatTest.cs:
* tests/fixtures/TagLib.FormatTests/OggFormatTest.cs:
* tests/fixtures/TagLib.FormatTests/MpcFormatTest.cs:
* tests/fixtures/TagLib.FormatTests/M4aFormatTest.cs:
* tests/fixtures/TagLib.Tests.FileFormats/FlacFormatTest.cs:
* tests/fixtures/TagLib.Tests.FileFormats/Id3V1FormatTest.cs:
* tests/fixtures/TagLib.Tests.FileFormats/Id3V2FormatTest.cs:
* tests/fixtures/TagLib.Tests.FileFormats/IFormatTest.cs:
* tests/fixtures/TagLib.Tests.FileFormats/AsfFormatTest.cs:
* tests/fixtures/TagLib.Tests.FileFormats/StandardTests.cs:
* tests/fixtures/TagLib.Tests.FileFormats/Id3BothFormatTest.cs:
* tests/fixtures/TagLib.Tests.FileFormats/OggFormatTest.cs:
* tests/fixtures/TagLib.Tests.FileFormats/MpcFormatTest.cs:
* tests/fixtures/TagLib.Tests.FileFormats/M4aFormatTest.cs:
* tests/fixtures/TagLib.Tests.TaggingFormats/Mpeg4Test.cs:
* tests/fixtures/TagLib.Tests.TaggingFormats/ApeTest.cs:
* tests/fixtures/TagLib.Tests.TaggingFormats/Id3V1Test.cs:
* tests/fixtures/TagLib.Tests.TaggingFormats/Id3V2Test.cs:
* tests/fixtures/TagLib.Tests.TaggingFormats/InfoTagTest.cs:
* tests/fixtures/TagLib.Tests.TaggingFormats/XiphTest.cs:
* tests/fixtures/TagLib.Tests.TaggingFormats/MovieIdTagTest.cs:
* tests/fixtures/TagLib.Tests.TaggingFormats/AsfTest.cs:
* tests/fixtures/TagLib.Tests.TaggingFormats/DivXTest.cs: Replaced unit
tests with new versions.
svn path=/trunk/taglib-sharp/; revision=92025
commit 74de4b8edad100c3f460afac42aa36506f683347
Author: Brian Nickel <bnickel@mono-cvs.ximian.com>
Date: Sun Dec 30 01:26:31 2007 +0000
2007-12-29 Brian Nickel <brian.nickel@gmail.com>
This commit does the following:
- Fixes support for IsCompilation when saving as ID3v2.2.
- Makes Id3v2.Tag clonable.
- Fixes the project files.
- Fixes cloning UserTextInformationFrame.
- CHANGES THE DEFAULT ID3v2 VERSION TO 3. While this may result
in some boos from people who consider ID3v2.4 to be the perfect
tagging format (myself included), the number of applications
that hiccup on ID3v2.4 is too astounding. This will not cause
tags already encoded at 2.4 to be reencoded at 2.3, but if new
tags are added to the file, they will be 2.3.
* src/TagLib/Id3v2/Tag.cs: Make Tag cloneable. Make default version 3.
* src/TagLib/Id3v2/FrameHeader.cs: Add version 2 mapping for TCMP so
IsComposer is saved in Id3v2.2.
* src/TagLib/Id3v2/Frames/TextIdentificationFrame.cs: If the frame
is a User*, create a User* when cloning.
* src/TagLib/Id3v2/ExtendedHeader.cs: Make cloneable.
* src/TagLib/Id3v2/FrameTypes.cs:
* src/TagLib/Mpeg4/BoxTypes.cs: Add description of why these classes
exist, why they are internal, and why they aren't necessary for third
party programmers.
* src/taglib-sharp.mdp:
* taglib-sharp.csproj: Add VBRIHeader.cs
svn path=/trunk/taglib-sharp/; revision=92024
commit e93bf6fdf5d818197cfdc7518e76f2bdfea4192d
Author: Brian Nickel <bnickel@mono-cvs.ximian.com>
Date: Fri Dec 28 21:19:09 2007 +0000
2007-12-28 Brian Nickel <brian.nickel@gmail.com>
This commit does the following:
- Adds IsCompilation to Id3v2.
- Adds support for deep CopyTo with Id3v2.
- Fixes support for deep CopyTo with Ape.
- Adds support for Fraunhofer VBRI headers in MPEG audio.
- Fixes a bug in reading XiphComments.
- Other trivial changes.
* src/TagLib/Id3v2/Tag.cs: Added IsCompilation and CopyTo.
* src/TagLib/Id3v2/FrameTypes.cs: Added TCMP.
* src/TagLib/Id3v2/Frames/UnsynchronisedLyricsFrame.cs:
* src/TagLib/Id3v2/Frames/RelativeVolumeFrame.cs:
* src/TagLib/Id3v2/Frames/CommentsFrame.cs:
* src/TagLib/Id3v2/Frames/SynchronizedLyricsFrame.cs:
* src/TagLib/Id3v2/Frames/PopularimeterFrame.cs:
* src/TagLib/Id3v2/Frames/AttachedPictureFrame.cs:
* src/TagLib/Id3v2/Frames/UniqueFileIdentifierFrame.cs:
* src/TagLib/Id3v2/Frames/PrivateFrame.cs:
* src/TagLib/Id3v2/Frames/MusicCdIdentifierFrame.cs:
* src/TagLib/Id3v2/Frames/TermsOfUseFrame.cs:
* src/TagLib/Id3v2/Frames/GeneralEncapsulatedObjectFrame.cs:
* src/TagLib/Id3v2/Frames/TextIdentificationFrame.cs:
* src/TagLib/Id3v2/Frames/PlayCountFrame.cs:
* src/TagLib/Id3v2/Frame.cs: Made clonable.
* src/TagLib/TagLib.sources:
* src/TagLib/Mpeg/VBRIHeader.cs:
* src/TagLib/Mpeg/AudioHeader.cs: Added support for Fraunhofer VBRI
header. This improves coverage of VBR files. (Thanks to hwahrmann for
proposing and authoring the changes.)
* src/TagLib/Ape/Tag.cs: Fixed CopyTo to actually override
TagLib.Tag.CopyTo.
* src/TagLib/Ape/Item.cs: Trivial formatting.
* src/TagLib/Picture.cs: Try to make ObsoleteAttributes a bit clearer.
* src/TagLib/Debugger.cs: Much nicer DumpHex.
* src/TagLib/Ogg/XiphComment.cs: Don't fail when a bad comment (one
without a = is encountered, just ignore that field. (Thanks to hwahrmann
for the bug report and authoring the changes.)
* examples/BatchSet.cs: Allow setting pictures.
* configure.ac: Now 2.0.2.20.
svn path=/trunk/taglib-sharp/; revision=92001
commit bc9aa22b56ec39127f7ff7ae9e5954d948462f42
Author: Brian Nickel <bnickel@mono-cvs.ximian.com>
Date: Thu Dec 27 07:11:19 2007 +0000
2007-12-27 Brian Nickel <brian.nickel@gmail.com>
This commit does the following:
- Adds support for .divx extension. (Just an AVI)
- Adds Tag.CopyTo to obsolete Tag.Duplicate. The difference is
that Tag.CopyTo is overridable, so tags and implement their
own, better, copying.
- Several small bugfixes correcting Mpeg4.Tag.IsCompilation,
GIF images, reading Mpeg4 pictures without flags, and
NonContainer.EndTag reading small files.
- COMPLETE REWORK of OGG pagination to handle multipage comments
and saving that results in the creation of new pages. This
fixes a bug posted by kurros on the forum and Banshee bug
#502628.
* src/TagLib/Riff/File.cs: Recognize the .divx extension. (Thanks to
sukhjinder for the feature request and jocker for confirming the fix.)
Use Tag.CopyTo instead of Tag.Duplicate.
* src/TagLib/Flac/File.cs: Use Tag.CopyTo instead of Tag.Duplicate.
* src/TagLib/Ape/Tag.cs: Add first real implementation of Tag.CopyTo.
* src/TagLib/Ape/Item.cs: Make clonable.
* src/TagLib/Mpeg4/AppleTag.cs: Don't check for image format flags, just
use data to identify the image type. iTunes apparently doesn't use the
flags anymore. (Thanks to DavidT@Imerge for the bug report.) Use 1 byte
rather than 4 to store the compilation setting. (Thanks to DavidT@Imerge
for the fix.)
* src/TagLib/Picture.cs: Was setting mime-type to "image/png" for GIF.
* src/TagLib/Tag.cs: Mark Tag.Duplicate as obsolete and replace with
overridable Tag.CopyTo. This will provide the option for better copying
from one tag to another if their types match rather than just doing the
simply copy available in Tag.Duplicate. See Ape.Tag for an
implemenation. More coming soon.
* src/TagLib/NonContainer/File.cs: Don't read tags at the end of the
file if the tags at the start of the file are the entire file. (No
double dipping.)
* src/TagLib/NonContainer/EndTag.cs: Don't crash if start < 128 when
reading. (Thanks to jonx for the bug report.) Use Tag.CopyTo instead of
Tag.Duplicate.
* src/TagLib/NonContainer/StartTag.cs: Use Tag.CopyTo instead of
Tag.Duplicate.
* src/TagLib/Ogg/File.cs: Use changes in Page and Paginator classes to
handle situations where the number of pages in the stream changes.
* src/TagLib/Ogg/Page.cs: Add method for updating all Ogg pages after a
certain position with new page numbers. This is necessary if new pages
are inserted to avoid corrupting the file. Part of sweeping changes to
Ogg support.
* src/TagLib/Ogg/Paginator.cs: Instead of just saving a single page,
properly paginate using a single page for the first packet in the file.
Optimally, produce the same number of pages as were in the file before,
but allow for creating more pages if the situation warrents it.
* src/TagLib/Ogg/PageHeader.cs: Add a constructor which clones a header
but offsets page sequence by a specified number.
* src/TagLib/Ogg/Bitstream.cs: Fix typo that was preventing multi-page
packets from reading correctly. What a difference a negation makes.
* configure.ac: Now 2.0.2.19.
svn path=/trunk/taglib-sharp/; revision=91915
commit 9f3974dc78e45cf027155302c8496535ea6e4feb
Author: Brian Nickel <bnickel@mono-cvs.ximian.com>
Date: Tue Dec 25 12:12:52 2007 +0000
2007-12-25 Brian Nickel <brian.nickel@gmail.com>
* src/TagLib/Riff/File.cs:
* src/TagLib/Flac/File.cs:
* src/TagLib/Mpeg4/File.cs:
* src/TagLib/NonContainer/File.cs:
* src/TagLib/Asf/File.cs:
* src/TagLib/Ogg/File.cs: Wrap constructors and save operations in
try/finally to ensure the streams get closed. (Thanks to oliphant for
the bug report.)
svn path=/trunk/taglib-sharp/; revision=91875
commit 250683919fee9b9dcc82825aba075215ed22df9a
Author: Brian Nickel <bnickel@mono-cvs.ximian.com>
Date: Tue Dec 25 10:09:22 2007 +0000
2007-12-25 Brian Nickel <brian.nickel@gmail.com>
* src/TagLib/Id3v1/Tag.cs: Added constructor to create from data. Added
documentation. Fixed properties to produce correct output when empty.
Removed broken IsEmpty property.
* src/TagLib/Riff/List.cs: Make sure fields are cleared when SetValue
is called with any type of empty result.
* src/TagLib/Riff/DivXTag.cs: Added constructor to create from data.
Added documentation. Fixed properties to produce correct output when
empty. Make Clear() clear `title'. Resize fields after encoding rather
than before to avoid possible sizing problems.
* src/TagLib/Riff/MovieIdTag.cs: Read genre from correct position.
* src/TagLib/Riff/WaveFormatEx.cs: Reformat and complete codec
descriptions.
* src/TagLib/Id3v2/Tag.cs: Add constructor to create from data. Fixed
properties to produce correct output when empty.
* src/TagLib/Id3v2/Frames/UnsynchronisedLyricsFrame.cs: Correct file
header.
* src/TagLib/Id3v2/Frames/SynchronizedLyricsFrame.cs: Use alignment when
searching for delimiter to avoid breakage with UTF16BE.
* src/TagLib/Id3v2/Frames/UniqueFileIdentifierFrame.cs: Tidy up a bit.
Add constructor with only owner as argument.
* src/TagLib/Id3v2/Frames/PrivateFrame.cs: Throw NotImplementedException
when version is less than 3, rather than just outputting an empty tag.
* src/TagLib/Id3v2/Frames/GeneralEncapsulatedObjectFrame.cs: Add size
of delimiter rather than 1 to avoid breakage with UTF16.
* src/TagLib/Id3v2/Frames/TextIdentificationFrame.cs: Use delimiter
rather than single byte in a rejection method to avoid breakage. Have
genres produce "/" separated values after first non-indexable value is
encountered. eg. {"Blues", "Country", "Foobar", "Jazz"} becomes
"(0)(2)Foobar/Jazz". This format is completely recoverable. Add
constructor for User* which accepts just a description.
* src/TagLib/Mpeg/AudioHeader.cs: Correct some documentation.
* src/TagLib/ByteVector.cs: Pass generated BOM to StringTypeToEncoding
to make sure the correct encoding is used.
* src/TagLib/Flac/File.cs: Correct documentation typo.
* src/TagLib/Ape/Tag.cs: Add support for one of each type of picture
rather than just one front cover. Allow parsing of years not 4 digits
in length.
* src/TagLib/Mpeg4/FileParser.cs: Prevent a crash if there isn't
sufficient data for reading the first block in parsers. Fix typo which
caused UtdaTree to not be filled, resulting in written tags not being
readable.
* src/TagLib/Mpeg4/AppleTag.cs: Allow parsing of years not 4 digits
in length. Correctly clear zeroed values.
* src/TagLib/Tag.cs: Use semicolons, rather than commas in Joined* to
reflect behavior of WMP.
* src/TagLib/Picture.cs: Fix documentation typo.
* src/TagLib/WavPack/StreamHeader.cs: Add some docs.
* src/TagLib/Asf/Tag.cs: Remove "WM/GenreID" when a new genre is stored.
* src/TagLib/Asf/ExtendedContentDescriptionObject.cs: Loop through names
rather than descriptors first when getting descriptors. That way the
first matching name is chosen rather than the first descriptor of any
name.
* src/TagLib/Asf/ContentDescriptor.cs: Fix rendering bug that broke
storing values.
* configure.ac: Now 2.0.2.18.
svn path=/trunk/taglib-sharp/; revision=91872
commit 38c6838456f6ca92a292f90d2cf763914a8857f0
Author: Brian Nickel <bnickel@mono-cvs.ximian.com>
Date: Tue Oct 2 18:27:31 2007 +0000
2007-10-02 Brian Nickel <brian.nickel@gmail.com>
* src/TagLib/Riff/List.cs:
* src/TagLib/Riff/DivXTag.cs:
* src/TagLib/Id3v2/Frames/UnsynchronisedLyricsFrame.cs:
* src/TagLib/Id3v2/Frames/RelativeVolumeFrame.cs:
* src/TagLib/Id3v2/Frames/CommentsFrame.cs:
* src/TagLib/Id3v2/Frames/SynchronizedLyricsFrame.cs:
* src/TagLib/Id3v2/Frames/AttachedPictureFrame.cs:
* src/TagLib/Id3v2/Frames/TermsOfUseFrame.cs:
* src/TagLib/Id3v2/Frames/GeneralEncapsulatedObjectFrame.cs:
* src/TagLib/Id3v2/Frames/TextIdentificationFrame.cs:
* src/TagLib/Flac/Picture.cs:
* src/TagLib/Ape/Tag.cs:
* src/TagLib/Ape/Item.cs:
* src/TagLib/Mpeg4/Boxes/IsoHandlerBox.cs:
* src/TagLib/Ogg/XiphComment.cs: Use ToString (StringType,int,int)
instead of ToString(StringType)
* src/TagLib/Mpeg/AudioHeader.cs: Remove AudioHeader.position as it is
no longer needed.
* src/TagLib/ByteVector.cs: Use ToString(StringType,int,int) in
ToStrings, mark ToString(StringType,int) as obsolete, add
ToString(StringType,int,int), add documentation. Relax exception
exception checking in ToString as it was causing unnecessary exceptions
when reading some zero byte strings. (Thanks to sambeckett for the bug
report.)
* src/TagLib/Asf/Tag.cs: Use ContentDescriptionObject.Copyright instead
of an extended content descriptor. (Thanks to Dakuja for the bug
report.)
* src/TagLib/Id3v2/Frames/PopularimeterFrame.cs: Add nil separator when
rendering. Was causing tag to be unreadable. (Thanks to cody for the bug
report.)
* configure.ac: Now 2.0.2.17.
svn path=/trunk/taglib-sharp/; revision=86763
commit 900eee2508821d22f9627ef7b1ad11b8468a6d6c
Author: Brian Nickel <bnickel@mono-cvs.ximian.com>
Date: Thu Sep 20 20:54:40 2007 +0000
2007-09-20 Brian Nickel <brian.nickel@gmail.com>
* src/TagLib/ByteVector.cs: Fix overflow problem introduced last
release. (Thanks to hwahrmann for the bug report.)
* src/TagLib/Asf/HeaderObject.cs: Switch the order of play_duration and
send_duration. Standard implementation is backwards from the
specification. (Thanks to hwahrmann for the bug report.)
* src/TagLib/Asf/FilePropertiesObject.cs: Subtract preroll from
duration. (Thanks to hwahrmann for the bug report.)
* configure.ac: Now 2.0.2.16.
svn path=/trunk/taglib-sharp/; revision=86112
commit 3d7097038b0aefac9481f4c18a7528050b4830b8
Author: Brian Nickel <bnickel@mono-cvs.ximian.com>
Date: Tue Sep 18 20:07:18 2007 +0000
2007-09-18 Brian Nickel <brian.nickel@gmail.com>
* src/TagLib/Riff/BitmapInfoHeader.cs: Reformat.
* src/TagLib/Id3v2/FrameHeader.cs: Remove 'using System.Collections'
* src/TagLib/Mpeg/AudioHeader.cs: Don't double-count position when
counting frames. (Thanks to hwahrmann for the bug report.)
* src/TagLib/ByteVector.cs: Add UseBrokenLatin1Behavior to emulate bad
behavior of many taggers. When true, TagLib# will read Latin1 strings as
the system default encoding.
* src/TagLib/Asf/ContentDescriptionObject.cs:
* src/TagLib/Ape/Tag.cs: Documented.
* src/TagLib/Riff/File.cs:
* src/TagLib/Mpeg4/Boxes/IsoHandlerBox.cs:
* src/TagLib/Asf/DescriptionRecord.cs:
* src/TagLib/Asf/ContentDescriptor.cs:
* src/TagLib/ReadOnlyByteVector.cs: Use ToString(StringType).
* configure.ac: Now 2.0.2.15.
svn path=/trunk/taglib-sharp/; revision=85987
commit 80926fc841ac9bf4df8ff726a5c33dcc37488b39
Author: Brian Nickel <bnickel@mono-cvs.ximian.com>
Date: Mon Sep 17 06:44:06 2007 +0000
2007-09-17 Brian Nickel <brian.nickel@gmail.com>
* src/TagLib/Id3v2/Tag.cs: New logic for SetFrameText was backwards,
causing frames to disappear. (Thanks to hwahrmann for the bug report.)
* src/TagLib/Id3v2/FrameHeader.cs: Fix the reading of version 2 and 3
headers. They weren't being converted to the new headers. Add
FrameFlags.None.
* src/TagLib/Id3v2/Header.cs: Add HeaderFlags.None.
* configure.ac: Now 2.0.2.14.
svn path=/trunk/taglib-sharp/; revision=85861
commit fb12bfc4ca89e46a1b3024170f3e436a4a6b28ec
Author: Brian Nickel <bnickel@mono-cvs.ximian.com>
Date: Sun Sep 16 22:23:22 2007 +0000
2007-09-16 Brian Nickel <brian.nickel@gmail.com>
* src/TagLib/Id3v2/SynchData.cs:
* src/TagLib/Id3v2/FrameTypes.cs:
* src/TagLib/Id3v2/FrameHeader.cs:
* src/TagLib/Id3v2/Header.cs:
* src/TagLib/ByteVector.cs:
* src/TagLib/Ape/StreamHeader.cs: Documentation.
svn path=/trunk/taglib-sharp/; revision=85860
commit c172f173c6f06518c7323c14d43bd273b58e1392
Author: Brian Nickel <bnickel@mono-cvs.ximian.com>
Date: Thu Sep 6 00:25:26 2007 +0000
2007-09-05 Brian Nickel <brian.nickel@gmail.com>
* src/TagLib/Flac/Block.cs: Completed docs.
* src/TagLib/Id3v2/Tag.cs: GetItemAsUInt32 was fubar and always
returning zero. (Thanks to renzska for the bug report.) Always set the
encoding to the default when setting the contents of a frame. This
should hopefully prevent bad encoding. (Thanks to evgeni for the bug
report.)
* src/TagLib/Ape/Tag.cs: GetItemAsUInt32 was fubar and always returning
zero.
* configure.ac: Now 2.0.2.13.
svn path=/trunk/taglib-sharp/; revision=85387
commit 7073f245a80d975f37c51d0d21b3f5da68dd6057
Author: Brian Nickel <bnickel@mono-cvs.ximian.com>
Date: Tue Sep 4 07:17:55 2007 +0000
2007-09-04 Brian Nickel <brian.nickel@gmail.com>
Only 713 public members away from doing away with MonoDoc.
* src/TagLib/Flac/File.cs: Completed docs.
* src/TagLib/ByteVectorList.cs:
* src/TagLib/Id3v1/Tag.cs:
* src/TagLib/Id3v1/StringHandler.cs:
* src/TagLib/Riff/List.cs:
* src/TagLib/Riff/AviStream.cs:
* src/TagLib/Riff/File.cs:
* src/TagLib/Riff/BitmapInfoHeader.cs:
* src/TagLib/Riff/AviHeaderList.cs:
* src/TagLib/Riff/DivXTag.cs:
* src/TagLib/Riff/ListTag.cs:
* src/TagLib/Riff/InfoTag.cs:
* src/TagLib/Riff/MovieIdTag.cs:
* src/TagLib/Riff/WaveFormatEx.cs:
* src/TagLib/Genres.cs:
* src/TagLib/Id3v2/Tag.cs:
* src/TagLib/Id3v2/Footer.cs:
* src/TagLib/Id3v2/SynchData.cs:
* src/TagLib/Id3v2/FrameTypes.cs:
* src/TagLib/Id3v2/FrameFactory.cs:
* src/TagLib/Id3v2/FrameHeader.cs:
* src/TagLib/Id3v2/Header.cs:
* src/TagLib/Id3v2/Frames/UnsynchronisedLyricsFrame.cs:
* src/TagLib/Id3v2/Frames/RelativeVolumeFrame.cs:
* src/TagLib/Id3v2/Frames/CommentsFrame.cs:
* src/TagLib/Id3v2/Frames/SynchronizedLyricsFrame.cs:
* src/TagLib/Id3v2/Frames/AttachedPictureFrame.cs:
* src/TagLib/Id3v2/Frames/UniqueFileIdentifierFrame.cs:
* src/TagLib/Id3v2/Frames/TermsOfUseFrame.cs:
* src/TagLib/Id3v2/Frames/GeneralEncapsulatedObjectFrame.cs:
* src/TagLib/Id3v2/Frames/TextIdentificationFrame.cs:
* src/TagLib/Id3v2/Frames/UnknownFrame.cs:
* src/TagLib/Id3v2/ExtendedHeader.cs:
* src/TagLib/Id3v2/Frame.cs:
* src/TagLib/ByteVector.cs:
* src/TagLib/Properties.cs:
* src/TagLib/SupportedMimeType.cs:
* src/TagLib/Flac/Picture.cs:
* src/TagLib/Flac/BlockHeader.cs:
* src/TagLib/Flac/StreamHeader.cs:
* src/TagLib/Flac/Block.cs:
* src/TagLib/Ape/Tag.cs:
* src/TagLib/Ape/Footer.cs:
* src/TagLib/StringList.cs:
* src/TagLib/FileTypes.cs:
* src/TagLib/ListBase.cs:
* src/TagLib/Mpeg4/Boxes/IsoSampleTableBox.cs:
* src/TagLib/Mpeg4/Boxes/AppleItemListBox.cs:
* src/TagLib/Mpeg4/Boxes/IsoUserDataBox.cs:
* src/TagLib/Mpeg4/Boxes/IsoAudioSampleEntry.cs:
* src/TagLib/Mpeg4/Boxes/AppleAnnotationBox.cs:
* src/TagLib/Mpeg4/Boxes/IsoSampleDescriptionBox.cs:
* src/TagLib/Mpeg4/Boxes/IsoMetaBox.cs:
* src/TagLib/Mpeg4/FileParser.cs:
* src/TagLib/Mpeg4/AppleTag.cs:
* src/TagLib/Mpeg4/Box.cs:
* src/TagLib/Picture.cs:
* src/TagLib/Tag.cs:
* src/TagLib/File.cs:
* src/TagLib/Debugger.cs:
* src/TagLib/Asf/Tag.cs:
* src/TagLib/Asf/HeaderExtensionObject.cs:
* src/TagLib/Asf/HeaderObject.cs:
* src/TagLib/Asf/File.cs:
* src/TagLib/Asf/ExtendedContentDescriptionObject.cs:
* src/TagLib/Asf/Guid.cs:
* src/TagLib/Asf/MetadataLibraryObject.cs:
* src/TagLib/Ogg/XiphComment.cs:
* src/TagLib/Ogg/Page.cs:
* src/TagLib/Ogg/Codecs/Theora.cs:
* src/TagLib/Ogg/Codecs/Vorbis.cs:
* src/TagLib/Ogg/Codec.cs:
* src/TagLib/Ogg/File.cs:
* src/TagLib/Ogg/Paginator.cs:
* src/TagLib/Ogg/PageHeader.cs:
* src/TagLib/Ogg/GroupedComment.cs:
* src/TagLib/Ogg/Bitstream.cs:
* src/AssemblyInfo.cs.in: Replaced headers and use cref="T:...`1"
instead of "...{T}" until gmcs is fixed. This reduces warnings to
strictly CS1591.
svn path=/trunk/taglib-sharp/; revision=85255
commit 4721677e816f851bc30009cd35145ad4c3610c9a
Author: Brian Nickel <bnickel@mono-cvs.ximian.com>
Date: Mon Sep 3 20:57:36 2007 +0000
2007-09-03 Brian Nickel <brian.nickel@gmail.com>
* src/TagLib/Id3v2/Tag.cs: Renamed private method. Tidied up Read.
* src/TagLib/Ape/Item.cs: Fixed some documentation.
* src/TagLib/Ape/Tag.cs:
* src/TagLib/Ape/Footer.cs:
* src/TagLib/Asf/Tag.cs:
* src/TagLib/Asf/HeaderExtensionObject.cs:
* src/TagLib/Asf/File.cs:
* src/TagLib/Asf/HeaderObject.cs:
* src/TagLib/Asf/DescriptionRecord.cs:
* src/TagLib/Asf/FilePropertiesObject.cs:
* src/TagLib/Asf/ExtendedContentDescriptionObject.cs:
* src/TagLib/Asf/UnknownObject.cs:
* src/TagLib/Asf/Guid.cs:
* src/TagLib/Asf/MetadataLibraryObject.cs:
* src/TagLib/Asf/PaddingObject.cs:
* src/TagLib/Asf/StreamPropertiesObject.cs:
* src/TagLib/Asf/ContentDescriptionObject.cs:
* src/TagLib/Asf/Object.cs:
* src/TagLib/Asf/ContentDescriptor.cs: Completed docs.
svn path=/trunk/taglib-sharp/; revision=85245
commit e99b1e6e4727bfe7babe83c31a0a21686e356d22
Author: Brian Nickel <bnickel@mono-cvs.ximian.com>
Date: Fri Aug 31 17:05:20 2007 +0000
2007-08-31 Brian Nickel <brian.nickel@gmail.com>
* src/TagLib/Ape/File.cs:
* src/TagLib/Ape/StreamHeader.cs:
* src/TagLib/FileTypes.cs: Added support for reading APE files. (Thanks
to hwahrmann for authoring the classes.)
* src/TagLib/Id3v2/Tag.cs: Fixed docs.
* src/TagLib/Ape/Item.cs: Completed docs.
* src/TagLib/Id3v2/Frames/RelativeVolumeFrame.cs: Prevent
ArgumentOutOfRangeException when a corrupt frame is encountered. (Thanks
to jms for the bug report.)
* src/TagLib/Id3v1/Tag.cs:
* src/TagLib/Riff/List.cs:
* src/TagLib/Riff/DivXTag.cs:
* src/TagLib/Riff/ListTag.cs:
* src/TagLib/Riff/InfoTag.cs:
* src/TagLib/Riff/MovieIdTag.cs:
* src/TagLib/ByteVector.cs:
* src/TagLib/Properties.cs:
* src/TagLib/Ape/Tag.cs:
* src/TagLib/Mpeg4/AppleTag.cs:
* src/TagLib/Tag.cs:
* src/TagLib/Asf/Tag.cs:
* src/TagLib/Ogg/XiphComment.cs: Removed StringCollection usage (and
replaced some collections with arrays.
* src/TagLib/TagLib.sources:
* src/taglib-sharp.mdp:
* taglib-sharp.csproj: Added files.
* configure.ac: Now 2.0.2.12.
svn path=/trunk/taglib-sharp/; revision=85146
commit aa88901e9133c8632e00673af9f1d784ea41fdb0
Author: Brian Nickel <bnickel@mono-cvs.ximian.com>
Date: Wed Aug 29 00:36:24 2007 +0000
2007-08-28 Brian Nickel <brian.nickel@gmail.com>
* src/TagLib/Ape/Tag.cs: Stop parsing when a corrupt item is detected.
* src/TagLib/Ape/Item.cs: UTF-8 encoded length != string.Length. Was
messing up with Chinese titles. (Thanks to jms for the bug report.)
* src/TagLib/CombinedTag.cs: Fix header.
* src/TagLib/Id3v2/Tag.cs: Document, add generic GetFrames()
* src/TagLib/Id3v2/Frames/TextIdentificationFrame.cs:
* src/TagLib/Id3v2/Frame.cs:
* src/TagLib/Mpeg/File.cs: Document.
* src/TagLib/Mpeg/VideoHeader.cs: Fix copyright info.
* src/TagLib/Mpeg/AudioFile.cs: Fix some typos.
* src/TagLib/Properties.cs:
* src/TagLib/SupportedMimeType.cs:
* src/TagLib/StringList.cs:
* src/TagLib/FileTypes.cs:
* src/TagLib/Mpeg4/Boxes/IsoSampleTableBox.cs:
* src/TagLib/Mpeg4/Boxes/AppleItemListBox.cs:
* src/TagLib/Mpeg4/Boxes/IsoUserDataBox.cs:
* src/TagLib/Mpeg4/Boxes/IsoAudioSampleEntry.cs:
* src/TagLib/Mpeg4/Boxes/IsoVisualSampleEntry.cs:
* src/TagLib/Mpeg4/Boxes/AppleAnnotationBox.cs:
* src/TagLib/Mpeg4/Boxes/IsoSampleDescriptionBox.cs:
* src/TagLib/Mpeg4/Boxes/IsoMetaBox.cs:
* src/TagLib/Mpeg4/FileParser.cs:
* src/TagLib/Mpeg4/AppleTag.cs:
* src/TagLib/Mpeg4/Box.cs: Fixed generics documentation.
* src/TagLib/Mpeg4/File.cs: Accidentally marked constructors as
protected when copy/pasting code from NonContainer.File. (Thanks to
hwahrmann for the bug report.)
* configure.ac: Now 2.0.2.11.
svn path=/trunk/taglib-sharp/; revision=84985
commit 51805c32c8855c0c1d1b8f2feaba2d96cc066b24
Author: Brian Nickel <bnickel@mono-cvs.ximian.com>
Date: Sat Aug 25 00:19:12 2007 +0000
2007-08-24 Brian Nickel <brian.nickel@gmail.com>
* src/TagLib/Mpeg/AudioHeader.cs: Restore copyright notice.
* src/TagLib/ICodec.cs: Wording Change.
* src/TagLib/Mpeg/XingHeader.cs:
* src/TagLib/Mpeg/VideoHeader.cs:
* src/TagLib/Mpeg/AudioFile.cs:
* src/TagLib/Mpeg4/Boxes/FullBox.cs:
* src/TagLib/Mpeg4/Boxes/IsoMovieHeaderBox.cs:
* src/TagLib/Mpeg4/Boxes/IsoSampleTableBox.cs:
* src/TagLib/Mpeg4/Boxes/IsoSampleEntry.cs:
* src/TagLib/Mpeg4/Boxes/IsoChunkLargeOffsetBox.cs:
* src/TagLib/Mpeg4/Boxes/AppleAdditionalInfoBox.cs:
* src/TagLib/Mpeg4/Boxes/IsoFreeSpaceBox.cs:
* src/TagLib/Mpeg4/Boxes/AppleItemListBox.cs:
* src/TagLib/Mpeg4/Boxes/IsoUserDataBox.cs:
* src/TagLib/Mpeg4/Boxes/IsoAudioSampleEntry.cs:
* src/TagLib/Mpeg4/Boxes/IsoHandlerBox.cs:
* src/TagLib/Mpeg4/Boxes/AppleElementaryStreamDescriptor.cs:
* src/TagLib/Mpeg4/Boxes/IsoVisualSampleEntry.cs:
* src/TagLib/Mpeg4/Boxes/IsoChunkOffsetBox.cs:
* src/TagLib/Mpeg4/Boxes/AppleDataBox.cs:
* src/TagLib/Mpeg4/Boxes/AppleAnnotationBox.cs:
* src/TagLib/Mpeg4/Boxes/UnknownBox.cs:
* src/TagLib/Mpeg4/Boxes/IsoSampleDescriptionBox.cs:
* src/TagLib/Mpeg4/Boxes/IsoMetaBox.cs:
* src/TagLib/Mpeg4/FileParser.cs:
* src/TagLib/Mpeg4/AppleTag.cs:
* src/TagLib/Mpeg4/BoxTypes.cs:
* src/TagLib/Mpeg4/File.cs:
* src/TagLib/Mpeg4/BoxFactory.cs:
* src/TagLib/Mpeg4/BoxHeader.cs:
* src/TagLib/Mpeg4/Box.cs: Document completely.
svn path=/trunk/taglib-sharp/; revision=84838
commit dec5cc67b4341608e15eb276a5c42c27c9277f15
Author: Brian Nickel <bnickel@mono-cvs.ximian.com>
Date: Mon Aug 20 07:08:28 2007 +0000
2007-08-19 Brian Nickel <brian.nickel@gmail.com>
* src/TagLib/Mpeg4/Boxes/IsoVisualSampleEntry.cs:
* src/TagLib/Mpeg4/Boxes/UnknownBox.cs: Document completely.
* src/TagLib/Mpeg4/AppleTag.cs: Committed too soon. File didn't compile.
* src/TagLib/Mpeg4/BoxFactory.cs: Forgot a bunch of end tags.
* src/TagLib/Mpeg4/Box.cs: Fix doc typo.
* src/TagLib/Mpc/StreamHeader.cs:
* src/TagLib/WavPack/StreamHeader.cs: Slight change in wording.
svn path=/trunk/taglib-sharp/; revision=84428
commit 858f6cfd4adbf14589d3e125b65b61196160a47e
Author: Brian Nickel <bnickel@mono-cvs.ximian.com>
Date: Mon Aug 20 05:40:31 2007 +0000
2007-08-19 Brian Nickel <brian.nickel@gmail.com>
* src/TagLib/Id3v2/Frames/PopularimeterFrame.cs: Fix an exception when
saving a PopularimeterFrame with a play count of 0.
* src/taglib-sharp.mdp: Remove BoxList.cs. It hasn't been used in
forever and is an empty file.
* src/TagLib/Mpeg4/FileParser.cs: Started documentation.
* src/TagLib/Mpeg4/BoxTypes.cs:
* src/TagLib/Mpeg4/File.cs:
* src/TagLib/Mpeg4/BoxFactory.cs:
* src/TagLib/Mpeg4/BoxHeader.cs:
* src/TagLib/Mpeg4/BoxList.cs:
* src/TagLib/Mpeg4/Box.cs:
* src/TagLib/Mpc/File.cs:
* src/TagLib/WavPack/File.cs: Completed documentation.
* src/TagLib/Mpc/StreamHeader.cs:
* src/TagLib/WavPack/StreamHeader.cs: Completed documentation, except
for IEquitable overrides.
* src/TagLib/Mpeg4/AppleTag.cs: Completed documentation, except for
IEnumerable overrides.
* configure.ac: Now 2.0.2.10.
svn path=/trunk/taglib-sharp/; revision=84426
commit 9bc89ce4e9eee861e891e30621b3e74f6f9d85f5
Author: Brian Nickel <bnickel@mono-cvs.ximian.com>
Date: Sun Aug 19 19:07:59 2007 +0000
2007-08-19 Brian Nickel <brian.nickel@gmail.com>
* src/TagLib/File.cs: Fix some typos in documentation.
* src/TagLib/NonContainer/Tag.cs:
* src/TagLib/NonContainer/File.cs:
* src/TagLib/NonContainer/EndTag.cs:
* src/TagLib/NonContainer/StartTag.cs: Document completely.
svn path=/trunk/taglib-sharp/; revision=84408
commit 72482ecc56ce43af5ec646017224da66006a30bb
Author: Brian Nickel <bnickel@mono-cvs.ximian.com>
Date: Fri Aug 17 23:37:31 2007 +0000
2007-08-17 Brian Nickel <brian.nickel@gmail.com>
* src/TagLib/Mpeg/AudioHeader.cs: Go back to setting XingHeader early,
there are just too many things that depend on `this'. (Thanks to jmurphy
for the bug report.)
* src/TagLib/Ape/Tag.cs: Support APEv2 cover pictures. (Thanks to
renzska for the feature request.)
* src/TagLib/Picture.cs: Add new constructors, obsolete CreateFromFile
and CreateFromPath, detect GIF and BMP files.
* src/TagLib/NonContainer/EndTag.cs: Check that the footer contains
sane values.
* configure.ac: Now 2.0.2.9. Remove pkgconfig check for Mono. It isn't
really needed.
2007-08-16 Brian Nickel <brian.nickel@gmail.com>
* src/TagLib/Asf/Tag.cs:
* src/TagLib/Asf/File.cs:
* src/TagLib/Asf/HeaderObject.cs:
* src/TagLib/Asf/DescriptionRecord.cs:
* src/TagLib/Asf/MetadataLibraryObject.cs:
* src/TagLib/Asf/ContentDescriptor.cs: Added support for the ASF
Metadata Library Object. This object supports content descriptors as big
as uint.MaxValue as opposed to ushort.MaxValue. Tag.Pictures now reads
from this source as well, and large pictures are now written to it. They
were previously ignored. (Thanks to renzska for the bug report.)
* src/TagLib/TagLib.sources:
* src/taglib-sharp.mdp:
* taglib-sharp.csproj: Added new files.
* configure.ac: Now 2.0.2.8
svn path=/trunk/taglib-sharp/; revision=84339
commit e924fe536ed5c029be3103f25fd0434ed9282635
Author: Brian Nickel <bnickel@mono-cvs.ximian.com>
Date: Thu Aug 16 21:28:34 2007 +0000
2007-08-16 Brian Nickel <brian.nickel@gmail.com>
* src/TagLib/Mpeg/AudioHeader.cs: Use non-property checks in public
constructor, assigning the XingHeader after sanity tests was causing
compiler problems on MS .NET. (Thanks to jmurphy for the bug report.)
* configure.ac: Now 2.0.2.7
svn path=/trunk/taglib-sharp/; revision=84242
commit a2bb91062fccaf01b72f333aa5317b1291b233b2
Author: Brian Nickel <bnickel@mono-cvs.ximian.com>
Date: Tue Aug 14 21:50:47 2007 +0000
2007-08-14 Brian Nickel <brian.nickel@gmail.com>
* src/TagLib/Mpeg/XingHeader.cs: Add XingHeader.FileIdentifier to speed
things up.
* src/TagLib/Mpeg/AudioHeader.cs: Fully document, reformat and add a
check for the Xing identifier before calling the constructor to avoid an
unnecessary exception/try/catch.
* src/TagLib/ICodec.cs: Correct some documentation.
* src/TagLib/Properties.cs:
* src/TagLib/SupportedMimeType.cs:
* src/TagLib/StringList.cs:
* src/TagLib/FileTypes.cs: Correct for documentation compiler warning.
* taglib-sharp.csproj: Added PopularimeterFrame.cs
svn path=/trunk/taglib-sharp/; revision=84123
commit 39f560e77794ae82c5662b9be3efec137793e1a1
Author: Brian Nickel <bnickel@mono-cvs.ximian.com>
Date: Mon Aug 13 02:54:49 2007 +0000
2007-08-12 Brian Nickel <brian.nickel@gmail.com>
* src/TagLib/Id3v2/FrameTypes.cs: Added POPM
* src/TagLib/Id3v2/FrameFactory.cs: Added PopularimeterFrame
* src/TagLib/Id3v2/Frames/PopularimeterFrame.cs: NEW. Supports ID3v2
POPM (4.17) frame. (Thanks to renzska for the feature request.)
* src/TagLib/Id3v2/Frames/PlayCountFrame.cs: Removed 'using
System.Collections;
* src/TagLib/TagLib.sources:
* src/taglib-sharp.mdp: Added PopularimeterFrame.cs
* configure.ac: Now 2.0.2.5
svn path=/trunk/taglib-sharp/; revision=83929
commit b73f68526f3f4b6387b2374a5859d0ab08f284e3
Author: Brian Nickel <bnickel@mono-cvs.ximian.com>
Date: Mon Aug 13 02:03:16 2007 +0000
2007-08-12 Brian Nickel <brian.nickel@gmail.com>
* src/TagLib/Riff/List.cs: Reordered operations. Was incrementing a
value after it would have made a difference.
* src/TagLib/Id3v2/Tag.cs: Added static UseNumericGenres which can be
set to false to prevent genres from being stored as ID3v1 indices.
(Thanks to craig for the feature request.)
* src/TagLib/Id3v2/Frames/TextIdentificationFrame.cs: Use a
StringBuilder instead of + operations when formatting genres.
* src/TagLib/Mpeg4/Boxes/IsoHandlerBox.cs: Check that a negative length
is not being passed to Mid if '\0' is not found.
* src/TagLib/Mpeg4/BoxTypes.cs: Add Mdat.
* src/TagLib/Riff/File.cs:
* src/TagLib/Mpeg4/FileParser.cs:
* src/TagLib/Mpeg4/File.cs:
* src/TagLib/NonContainer/File.cs:
* src/TagLib/Asf/File.cs:
* src/TagLib/Ogg/File.cs:
* src/TagLib/File.cs: Added InvariantStartPosition and
InvariantEndPosition describing the invariant/media section of the file
that should be uneffected by TagLib# write operations. (Thanks to AgentS
and kajic for their feature requests.)
* configure.ac: Now 2.0.2.4
svn path=/trunk/taglib-sharp/; revision=83928
commit 2a9900eb9e53f4981e69d7539ad9676e97337ecd
Author: Brian Nickel <bnickel@mono-cvs.ximian.com>
Date: Thu Aug 2 19:11:17 2007 +0000
2007-08-02 Brian Nickel <brian.nickel@gmail.com>
* src/TagLib/Id3v2/Frame.cs: Files were throwing ArgumentOutOfRange
exceptions after the changes on 2007-07-29. It now checks that the
ByteVector contains enough bytes and if not throws a
CorruptFileException. (Caught in TagLib.Id3v2.Tag)
* src/TagLib/Mpeg/AudioFile.cs: Limit scanning to only the first 0x4000
bytes of the audio stream to avoid reading bad files forever. I got no
false negatives at 0x1000 so I'm hoping this is enough. If not, I can
throttle it up more. (Thanks to its-me for the bug report.)
* configure.ac: Now 2.0.2.3
svn path=/trunk/taglib-sharp/; revision=83326
commit 10e4154a026075bd5d71bd037f420a29632fad42
Author: Brian Nickel <bnickel@mono-cvs.ximian.com>
Date: Mon Jul 30 00:13:12 2007 +0000
2007-07-29 Brian Nickel <brian.nickel@gmail.com>
* src/TagLib/CombinedTag.cs: Fully documented and replaced the protected
constructor with a public one, as it wasn't protecting anything and
causing a compiler error in Orcas. (Thanks to jmurphy for the bug
report.)
* src/TagLib/ByteVectorList.cs: Reformatted code. I had beautiful
documentation, but MonoDevelop crashed. :(
* src/TagLib/ByteVector.cs: Started documenting and adding some
exceptions rather than letting them occur in the underlying methods.
* src/TagLib/ListBase.cs: Reformatted code.
* src/TagLib/File.cs: Added total documentation.
* src/TagLib/Debugger.cs: Reformatted code.
* src/Makefile.am:
* Makefile.am: Added MonoDevelop files to EXTRA_DIST. (Thanks to jopsen
for pointing this out.)
* configure.ac: Now 2.0.2.2
svn path=/trunk/taglib-sharp/; revision=82949
commit a97b7b6cb35ddf46e50ecd2f9b780ef884cb79f7
Author: Brian Nickel <bnickel@mono-cvs.ximian.com>
Date: Mon Jul 23 03:10:16 2007 +0000
2007-07-22 Brian Nickel <brian.nickel@gmail.com>
* src/TagLib/Id3v2/Tag.cs:
* src/TagLib/Ape/Tag.cs:
* src/TagLib/Ogg/XiphComment.cs: Parse beats per minute as floating
point numbers, round them, and then convert them to uints. Values were
showing up as 0 if a decimal point was present. (Thanks to nokturnal for
the bug report.)
* src/TagLib/ByteVector.cs: Switch back from "_data" to "data"
* src/TagLib/ICodec.cs: Minor reorganization.
* src/TagLib/Genres.cs:
* src/TagLib/Properties.cs:
* src/TagLib/SupportedMimeType.cs:
* src/TagLib/StringList.cs:
* src/TagLib/FileTypes.cs:
* src/TagLib/Tag.cs:
* src/TagLib/Picture.cs:
* src/TagLib/File.cs:
* src/TagLib/ReadOnlyByteVector.cs: Documentation.
* configure.ac: Now 2.0.2.1
svn path=/trunk/taglib-sharp/; revision=82456
commit 0e14c9adc24e5ac99750969221919deb9bf8e3c5
Author: Brian Nickel <bnickel@mono-cvs.ximian.com>
Date: Tue Jul 3 21:55:49 2007 +0000
2007-07-03 Brian Nickel <brian.nickel@gmail.com>
+-------------+
| VERSON BUMP |
| 2.0.2 |
+-------------+
* src/TagLib/Id3v2/Frames/MusicCdIdentifierFrame.cs: Fix docs.
* src/TagLib/File.cs: Some doc work.
* src/AssemblyInfo.cs.in: Conditionally sign the assembly.
* src/AssemblyInfo-windows.cs: DELETED. AssemblyInfo.cs.in is all that's
necessary.
* src/Makefile.am: Add distwin target
* windows-files/TagLibSharpDocs.chm: Added.
* configure.ac: Don't use svn revision because it is greater than
ushort.MaxValue.
* Makefile.am: Add distwin target.
* NEWS: Updated for new release.
* src/taglib-sharp.mdp:
* taglib-sharp.csproj: Use AssemblyInfo.cs.
svn path=/trunk/taglib-sharp/; revision=81300
commit 79cfd2193845680ba33239ed8caebcc557baadc4
Author: Brian Nickel <bnickel@mono-cvs.ximian.com>
Date: Wed Jun 27 19:24:22 2007 +0000
2007-06-27 Brian Nickel <brian.nickel@gmail.com>
* src/TagLib/Id3v2/Frames/AttachedPictureFrame.cs: Fixed reading problem
with UTF-16 encoded descriptions. (Thanks to renzska for the bug
report.)
* src/TagLib/Id3v2/Frames/RelativeVolumeFrame.cs:
* src/TagLib/Id3v2/Frames/CommentsFrame.cs:
* src/TagLib/Id3v2/Frames/GeneralEncapsulatedObjectFrame.cs: Use Mono
coding guidelines.
* src/TagLib/Asf/File.cs: Added ReadObject and detection of
HeaderExtensionObject.
* src/TagLib/TagLib.sources: Added HeaderExtensionObject.cs
* src/TagLib/Asf/HeaderExtensionObject.cs: ADDED. This will be used to
store large objects in the future (pictures bigger than 64k).
* src/TagLib/Asf/Guid.cs: Added GUID's for HeaderExtensionObject.
* src/AssemblyInfo.cs.in: Cleaned up.
* src/AssemblyInfo-windows.cs: Cleaned up.
* src/taglib-sharp.mdp: Added HeaderExtensionObject.cs
* configure.ac: Removed extra line.
* taglib-sharp.csproj: Added HeaderExtensionObject.cs
svn path=/trunk/taglib-sharp/; revision=80908
commit d64cabf8b151ede0344b16993c3193bdf4a03faa
Author: Brian Nickel <bnickel@mono-cvs.ximian.com>
Date: Tue Jun 26 22:18:51 2007 +0000
2007-06-26 Brian Nickel <brian.nickel@gmail.com>
* src/TagLib/Id3v2/Frames/CommentsFrame.cs: Readd ToString.
* src/TagLib/Mpeg/XingHeader.cs: Don't throw an exception just because
the header doesn't contain everything we want.
* src/TagLib/Mpeg/AudioHeader.cs: Prevent infinite loop. (Thanks to
sambeckett for the bug report.) Add "VBR" to the description if a Xing
header is present.
* tests/fixtures/TagLib.FormatTests/FlacFormatTest.cs:
* tests/fixtures/TagLib.FormatTests/Id3V1FormatTest.cs:
* tests/fixtures/TagLib.FormatTests/Id3V2FormatTest.cs:
* tests/fixtures/TagLib.FormatTests/AsfFormatTest.cs:
* tests/fixtures/TagLib.FormatTests/Id3BothFormatTest.cs:
* tests/fixtures/TagLib.FormatTests/OggFormatTest.cs:
* tests/fixtures/TagLib.FormatTests/MpcFormatTest.cs:
* tests/fixtures/TagLib.FormatTests/M4aFormatTest.cs: Use Performers
instead of Artists.
svn path=/trunk/taglib-sharp/; revision=80824
commit 57a64ea15651bdff2590e848019b5a5756ee620a
Author: Brian Nickel <bnickel@mono-cvs.ximian.com>
Date: Tue Jun 26 20:03:02 2007 +0000
2007-06-26 Brian Nickel <brian.nickel@gmail.com>
* src/TagLib/CorruptFileException.cs:
* src/TagLib/Id3v2/Frames/CommentsFrame.cs:
* src/TagLib/Id3v2/Frames/AttachedPictureFrame.cs:
* src/TagLib/Id3v2/Frames/PrivateFrame.cs:
* src/TagLib/Id3v2/Frames/MusicCdIdentifierFrame.cs:
* src/TagLib/Id3v2/Frames/PlayCountFrame.cs:
* src/TagLib/UnsupportedFormatException.cs: Added XML documentation.
* src/TagLib/Tag.cs: Started XML documentation. Artists was pointing
nowhere. Pointed at Performers.
* src/TagLib/ByteVector.cs: ByteVector.Find was not returning -1 if
searching at (data.Count == pattern.Count + offset). Caused extra '\0'
to appear in comment frames. (Thanks to gozza11 for the bug report.)
* src/taglib-sharp.mdp:
* configure.ac: Work with "make distcheck"
* Makefile.am: Include "svn-version" in dist.
svn path=/trunk/taglib-sharp/; revision=80813
commit 3d8229605f78912b8bc388caead7477d10a79075
Author: Brian Nickel <bnickel@mono-cvs.ximian.com>
Date: Mon Jun 25 09:14:11 2007 +0000
2007-06-25 Brian Nickel <brian.nickel@gmail.com>
* src/TagLib/Id3v2/Frames/PrivateFrame.cs: Set to this.data instead of
data in constructor. Thanks to pipes for the bug report.)
* configure.ac: Make the fourth part of the assembly version equal to
the SVN revision.
svn path=/trunk/taglib-sharp/; revision=80676
commit 47b75955913dfaf484f41a67cc5e4e884c6acd23
Author: Brian Nickel <bnickel@mono-cvs.ximian.com>
Date: Mon Jun 25 05:00:24 2007 +0000
2007-06-24 Brian Nickel <brian.nickel@gmail.com>
+-------------+
| VERSON BUMP |
| 2.0.1 |
+-------------+
* src/AssemblyInfo.cs.in:
* configure.ac:
* src/Makefile.am:
* src/policy.2.0.taglib-sharp.config.in: Install a policy in GAC so
assemblies compiled against older versions use 2.0.1.0.
* src/AssemblyInfo-windows.cs: Version bump.
* NEWS: Information on new release.
svn path=/trunk/taglib-sharp/; revision=80664
commit 9a88cb7cb9b4eae8420bdd20027d897b2d9e0a33
Author: Brian Nickel <bnickel@mono-cvs.ximian.com>
Date: Sun Jun 24 18:25:16 2007 +0000
2007-06-24 Brian Nickel <brian.nickel@gmail.com>
* src/TagLib/Id3v2/Tag.cs: Fixed bug in commit from 2007-06-20.
TPE2 and TPE1 were being swapped when they were stored. (Thanks to
jmurphy for the but report.)
svn path=/trunk/taglib-sharp/; revision=80640
commit 6d4d454d1c8b261e5727f76ef8ccdb5c2f63b194
Author: Brian Nickel <bnickel@mono-cvs.ximian.com>
Date: Sun Jun 24 18:09:19 2007 +0000
2007-06-24 Brian Nickel <brian.nickel@gmail.com>
* src/TagLib/Id3v2/Frames/CommentsFrame.cs: Split the string into 3
pieces instead of 2. This way nil delimiters and badly formatted strings
don't mess up the value. (Thanks to gozza11 for the but report.)
svn path=/trunk/taglib-sharp/; revision=80639
commit 9822af3a64b57f64c4371657a27a7d9aac65182d
Author: Brian Nickel <bnickel@mono-cvs.ximian.com>
Date: Fri Jun 22 18:55:23 2007 +0000
2007-06-22 Brian Nickel <brian.nickel@gmail.com>
* src/TagLib/Id3v2/Tag.cs: Remove picture frames if Picture is set to
null or an empty array. (Thanks to wilson for the but report.)
svn path=/trunk/taglib-sharp/; revision=80569
commit c93afd260939a6fd9616e7ba22a186c0e13e3514
Author: Brian Nickel <bnickel@mono-cvs.ximian.com>
Date: Wed Jun 20 21:12:06 2007 +0000
2007-06-20 Brian Nickel <brian.nickel@gmail.com>
* src/TagLib/Mpeg4/AppleTag.cs:
* src/TagLib/Asf/Tag.cs: Don't return Performers if AlbumArtists is not
found. This, provided with the second to last commit should resolve
inconsistancies in the behaviour. (Thanks to JustinC for the bug
report, otherwise that travesty that is the previous implementation may
have gone on forever.)
* src/TagLib/Tag.cs: Fix typos.
svn path=/trunk/taglib-sharp/; revision=80366
commit aebd6b8ec644a70946a1d880ffc2cd16f0752004
Author: Brian Nickel <bnickel@mono-cvs.ximian.com>
Date: Wed Jun 20 20:49:35 2007 +0000
2007-06-20 Brian Nickel <brian.nickel@gmail.com>
* src/TagLib/Id3v2/Frames/UnsynchronisedLyricsFrame.cs:
* src/TagLib/Id3v2/Frames/RelativeVolumeFrame.cs:
* src/TagLib/Id3v2/Frames/CommentsFrame.cs:
* src/TagLib/Id3v2/Frames/SynchronizedLyricsFrame.cs:
* src/TagLib/Id3v2/Frames/AttachedPictureFrame.cs:
* src/TagLib/Id3v2/Frames/UniqueFileIdentifierFrame.cs:
* src/TagLib/Id3v2/Frames/PrivateFrame.cs:
* src/TagLib/Id3v2/Frames/GeneralEncapsulatedObjectFrame.cs:
* src/TagLib/Id3v2/Frames/TextIdentificationFrame.cs: Use
ByteVector.TextDelimiter instead of Frame.TextDelimiter.
* src/TagLib/Id3v2/Frame.cs: Mark TextDelimiter as obsolete.
* src/TagLib/ByteVector.cs: Add TextDelimiter method.
* src/TagLib/Asf/Tag.cs: Discard new pictures if their rendered size is
greater than 64KB to avoid corrupting files. (Thanks to renzska for the
bug report.)
svn path=/trunk/taglib-sharp/; revision=80364
commit 0825a9eff914087b1140c62510af9d5e52233ad6
Author: Brian Nickel <bnickel@mono-cvs.ximian.com>
Date: Wed Jun 20 18:53:22 2007 +0000
2007-06-20 Brian Nickel <brian.nickel@gmail.com>
* src/TagLib/Id3v1/Tag.cs: Rework to match Picard specs.
* src/TagLib/Riff/DivXTag.cs: Rework to match Picard specs.
* src/TagLib/Riff/MovieIdTag.cs: Rework to match Picard specs.
* src/TagLib/Id3v2/Tag.cs: Rework to match Picard specs.
* src/TagLib/Ape/Tag.cs: Rework to match Picard specs.
* src/TagLib/Ogg/XiphComment.cs: Rework to match Picard specs.
* src/TagLib/Tag.cs: Added JoinedAlbumArtists and FirstAlbumArtist.
Changed JoinedArtists and FirstArtist to point to Performers (marked as
obsolete), and added Artists which points to Performers (also obsolete).
This should aleviate confusion.
svn path=/trunk/taglib-sharp/; revision=80346
commit 53d5e285be01c51179b2efdd3043c096d5b7aa12
Author: Brian Nickel <bnickel@mono-cvs.ximian.com>
Date: Wed Jun 13 03:06:22 2007 +0000
2007-06-12 Brian Nickel <brian.nickel@gmail.com>
* src/TagLib/Mpeg4/File.cs: Fix support for writing files that don't
have UTDA tags. (Thanks to renzska for the bug report.)
* src/TagLib/Mpeg4/Box.cs: Fix support for clearing boxes. (Thanks to
maciej for the bug report.) Calculate padding size based on DataSize
rather than header.DataSize. Fixes problem where 4 bytes are added on
every save. (Discovered in bug report by lindea.)
* src/TagLib/Riff/WaveFormatEx.cs: Recognize WMA Lossless. (Thanks to
JustinC for the patch.)
* ALSO: Thanks to JustinC for reminding me to credit people for their
contributions. With the countless audio and video files in existence,
TagLib# would be far less complete and considerably buggier if not for
everyone's contributions. Thank you!
svn path=/trunk/taglib-sharp/; revision=79373
commit ade972de4e7356cdc8cf795f7ba53e50362cc556
Author: Brian Nickel <bnickel@mono-cvs.ximian.com>
Date: Mon Jun 11 16:25:26 2007 +0000
2007-06-11 Brian Nickel <brian.nickel@gmail.com>
* src/TagLib/Ogg/Paginator.cs: Fix save support in OGG. Thanks to
maciej for pointing this out.
* NEWS: Added NEWS file.
svn path=/trunk/taglib-sharp/; revision=79189
commit c0ddc28818c88bf1233c08f5b3eec7636b457fcb
Author: Brian Nickel <bnickel@mono-cvs.ximian.com>
Date: Mon Jun 11 04:17:48 2007 +0000
This one got away.
svn path=/trunk/taglib-sharp/; revision=79141
commit 2d1b94fdcae2bb96ae99b8d92ede76785be36a16
Author: Brian Nickel <bnickel@mono-cvs.ximian.com>
Date: Mon Jun 11 04:16:26 2007 +0000
2007-06-10 Brian Nickel <brian.nickel@gmail.com>
+-------------+
| VERSON BUMP |
| 2.0.0 |
+-------------+
The official announcement, tarballs, and excessive drinking will come
tomorrow after I get Windows documentation in order. In the mean time
I'll tidy up the site a bit.
* src/TagLib/Id3v2/Tag.cs: Combine TYER, TDAT, and TIME into a single
TDRC, rather than discarding TDAT and TIME.
* src/TagLib/Id3v2/FrameTypes.cs: Add some more types.
* src/TagLib/Id3v2/FrameFactory.cs: Change for renamed frames.
* src/TagLib/Id3v2/FrameHeader.cs: Don't discard TIME and TDAT.
* src/TagLib/Id3v2/Frames/UnsynchronisedLyricsFrame.cs: Remove SetText.
It is redundant and identical to set_Text.
* src/TagLib/Id3v2/Frames/CommentsFrame.cs: Remove SetText. It is
redundant and identical to set_Text.
* src/TagLib/Id3v2/Frames/MusicCdIdentifierFrame.cs: Rename
MusicCdIdentifier to MusicCdIdentiferFrame. I don't know how I made that
mistake.
* src/TagLib/Id3v2/Frames/TermsOfUseFrame.cs: Remove SetText. It is
redundant and identical to set_Text.
* src/TagLib/Id3v2/Frames/TextIdentificationFrame.cs: Rename to
TextInformationFrame to better reflect specification. (Text
Identification frame is a subset of Text Information Frame). Split TDRC
into TYER, TDAT, and TIME if saving as version 2.3.
* src/TagLib/Id3v2/Frame.cs: Make Render virtual to allow for more
robust features. (Applied in TextInformationFrame.)
* src/TagLib/ByteVector.cs: Fix typo.
* src/TagLib/Ape/Tag.cs: Make enumerable.
* src/TagLib/Mpeg4/Box.cs: Remove GetChild(System.Type), as all other
System.Type based functionality has been removed.
* src/AssemblyInfo-windows.cs: Version bump.
* configure.ac: Version bump. Remove unit tests to shrink tarball.
* Makefile.am: Remove unit tests to shrink tarball.
svn path=/trunk/taglib-sharp/; revision=79140
commit 431bae630b26d16cf932513a1ecb6363c13ee3d8
Author: Brian Nickel <bnickel@mono-cvs.ximian.com>
Date: Mon Jun 11 04:03:03 2007 +0000
2007-06-10 Brian Nickel <brian.nickel@gmail.com>
* docs/*: Get 100% caught up.
svn path=/trunk/taglib-sharp/; revision=79138
commit c64d9fe099276baf58844658bf55b24cf00d39a9
Author: Brian Nickel <bnickel@mono-cvs.ximian.com>
Date: Thu Jun 7 21:35:01 2007 +0000
2007-06-07 Brian Nickel <brian.nickel@gmail.com>
* src/TagLib/CombinedTag.cs: Add Tag.Clear, Tag.IsEmpty
* src/TagLib/Id3v1/Tag.cs: Add Tag.Clear, Tag.IsEmpty
* src/TagLib/Riff/File.cs: Use ReadOnlyByteVector.
* src/TagLib/Riff/DivXTag.cs: Add Tag.Clear, Tag.IsEmpty
* src/TagLib/Riff/ListTag.cs: Add Tag.Clear, Tag.IsEmpty
* src/TagLib/Id3v2/Tag.cs:
* src/TagLib/Id3v2/Footer.cs:
* src/TagLib/Id3v2/FrameTypes.cs:
* src/TagLib/Id3v2/FrameFactory.cs:
* src/TagLib/Id3v2/FrameHeader.cs:
* src/TagLib/Id3v2/Header.cs:
* src/TagLib/Id3v2/Frames/UnsynchronisedLyricsFrame.cs:
* src/TagLib/Id3v2/Frames/RelativeVolumeFrame.cs:
* src/TagLib/Id3v2/Frames/CommentsFrame.cs:
* src/TagLib/Id3v2/Frames/SynchronizedLyricsFrame.cs:
* src/TagLib/Id3v2/Frames/AttachedPictureFrame.cs:
* src/TagLib/Id3v2/Frames/UniqueFileIdentifierFrame.cs:
* src/TagLib/Id3v2/Frames/PrivateFrame.cs:
* src/TagLib/Id3v2/Frames/MusicCdIdentifierFrame.cs:
* src/TagLib/Id3v2/Frames/TermsOfUseFrame.cs:
* src/TagLib/Id3v2/Frames/GeneralEncapsulatedObjectFrame.cs:
* src/TagLib/Id3v2/Frames/TextIdentificationFrame.cs:
* src/TagLib/Id3v2/Frames/PlayCountFrame.cs:
* src/TagLib/Id3v2/Frame.cs: Use TagLib.Id3v2.FrameType instead of hard-
coding. Cuts out a lot of read time.
* src/TagLib/Flac/File.cs: Use ReadOnlyByteVector.
* src/TagLib/Flac/Block.cs: BlockSize instead of Size.
* src/TagLib/Ape/Tag.cs: Add Tag.Clear, Tag.IsEmpty
* src/TagLib/Ape/Footer.cs: Use ReadOnlyByteVector.
* src/TagLib/Ape/Item.cs: Use ReadOnlyByteVector.
* src/TagLib/Mpeg4/Boxes/AppleAdditionalInfoBox.cs:Don't parse text
before its needed.
* src/TagLib/Mpeg4/Boxes/IsoMovieHeaderBox.cs:
* src/TagLib/Mpeg4/Boxes/IsoChunkLargeOffsetBox.cs:
* src/TagLib/Mpeg4/Boxes/AppleElementaryStreamDescriptor.cs:
* src/TagLib/Mpeg4/Boxes/IsoChunkOffsetBox.cs:
* src/TagLib/Mpeg4/Boxes/IsoSampleDescriptionBox.cs: Don't do extra seeks.
* src/TagLib/Mpeg4/FileParser.cs: Use do/while instead of for. Was doing
extra reading.
* src/TagLib/Mpeg4/AppleTag.cs: Add Tag.Clear, Tag.IsEmpty
* src/TagLib/Mpeg4/BoxTypes.cs: Make internal.
* src/TagLib/Mpeg4/File.cs:
* src/TagLib/Mpeg4/BoxFactory.cs:
* src/TagLib/Mpeg4/BoxHeader.cs:
* src/TagLib/Mpeg4/Box.cs: Rename "BoxTypes" to "BoxType"
* src/TagLib/Mpc/StreamHeader.cs: Use ReadOnlyByteVector
* src/TagLib/Tag.cs: Add Tag.Clear
* src/TagLib/File.cs: Do away with ReadBlock(uint)
* src/TagLib/WavPack/StreamHeader.cs: Use ReadOnlyByteVector.
* src/TagLib/Asf/Tag.cs: Add Tag.Clear, Tag.IsEmpty
* src/TagLib/Asf/ContentDescriptionObject.cs: Add IsEmpty
* src/TagLib/Asf/ExtendedContentDescriptionObject.cs: Add IsEmpty
* src/TagLib/Ogg/XiphComment.cs: Add Tag.Clear
* src/TagLib/Ogg/PageHeader.cs: Use ReadBlock(int)
* src/TagLib/Ogg/GroupedComment.cs: Add Tag.Clear
* docs/en/TagLib.Riff/DivXTag.xml
* docs/en/TagLib.Riff/File.xml
* docs/en/TagLib.Id3v1/Tag.xml
* docs/en/TagLib.Id3v2/Header.xml
* docs/en/TagLib.Id3v2/Frame.xml
* docs/en/TagLib.Id3v2/Footer.xml
* docs/en/TagLib.Id3v2/FrameHeader.xml
* docs/en/TagLib.Mpeg/AudioFile.xml
* docs/en/TagLib.Mpeg/File.xml
* docs/en/TagLib.WavPack/StreamHeader.xml
* docs/en/TagLib.WavPack/File.xml
* docs/en/TagLib/Tag.xml
* docs/en/TagLib/File.xml
* docs/en/index.xml
* docs/en/TagLib.Flac/Metadata.xml
* docs/en/TagLib.Flac/Block.xml
* docs/en/TagLib.Flac/File.xml
* docs/en/TagLib.Ape/Tag.xml
* docs/en/TagLib.Ape/Footer.xml
* docs/en/TagLib.MusePack/StreamHeader.xml
* docs/en/TagLib.MusePack/File.xml
* docs/en/TagLib.Asf/ContentDescriptionObject.xml
* docs/en/TagLib.Asf/ExtendedContentDescriptionObject.xml
* docs/en/TagLib.Asf/Tag.xml
* docs/en/TagLib.Asf/File.xml
* docs/en/TagLib.Ogg/GroupedComment.xml
* docs/en/TagLib.Ogg/XiphComment.xml
* docs/en/TagLib.Ogg/File.xml
* docs/en/TagLib.Mpeg4/Box.xml
* docs/en/TagLib.Mpeg4/AppleTag.xml
* docs/en/TagLib.Mpeg4/BoxTypes.xml
* docs/en/TagLib.Mpeg4/File.xml: Synched docs.
svn path=/trunk/taglib-sharp/; revision=78896
commit 781f167791ed0fcb5ebae418ca57b1721b66a847
Author: Brian Nickel <bnickel@mono-cvs.ximian.com>
Date: Mon Jun 4 18:12:47 2007 +0000
2007-06-04 Brian Nickel <brian.nickel@gmail.com>
* src/TagLib/Mpeg/File.cs: Prevent overflow.
* src/TagLib/Mpc/File.cs: Add support for "mpp" extention.
svn path=/trunk/taglib-sharp/; revision=78577
commit f912417fdc8ba070b5ab92bf17e7432cf3140fd9
Author: Brian Nickel <bnickel@mono-cvs.ximian.com>
Date: Sat Jun 2 00:32:07 2007 +0000
2007-06-01 Brian Nickel <brian.nickel@gmail.com>
+-------------+
| VERSON BUMP |
| 1.9.99995 |
+-------------+
* examples/SetPictures.cs: Fix for API changes.
* src/TagLib/ByteVector.cs:
* src/TagLib/Mpeg4/AppleTag.cs:
* src/TagLib/Mpeg4/BoxTypes.cs:
* src/TagLib/TagLib.sources:
* src/TagLib/ReadOnlyByteVector.cs:
* src/taglib-sharp.mdp:
* docs/en/TagLib/ReadOnlyByteVector.xml:
* docs/en/TagLib/ByteVector.xml:
* docs/en/index.xml:
* docs/en/TagLib.Mpeg4/BoxTypes.xml:
* taglib-sharp.csproj: Add immutable ReadOnlyByteVector.
svn path=/trunk/taglib-sharp/; revision=78468
commit 080958d362c0a7da9fe1dea205f7d38a5e87bf34
Author: Brian Nickel <bnickel@mono-cvs.ximian.com>
Date: Thu May 31 04:38:18 2007 +0000
2007-05-30 Brian Nickel <brian.nickel@gmail.com>
Redid a lot of the internals of FLAC to make them cleaner. Reverted the
change to TagLib.Mpeg4.BoxTypes. The change was safer but slowed things
down by 1.7329ms. Perhaps the addition of a superclass,
ImmutableByteVector, would help.
* src/TagLib/Flac/Picture.cs
* src/TagLib/Flac/File.cs
* src/TagLib/Flac/BlockHeader.cs
* src/TagLib/Flac/Block.cs
* src/TagLib/Mpeg4/BoxTypes.cs
* docs/en/index.xml
* docs/en/TagLib.Flac/Metadata.xml
* docs/en/TagLib.Flac/BlockHeader.xml
* docs/en/TagLib.Flac/Block.xml
* docs/en/TagLib.Mpeg4/BoxTypes.xml:
svn path=/trunk/taglib-sharp/; revision=78296
commit 0f13f9425a1cbb030e8bdf295fe4c580adb71eee
Merge: 9bb2e24 ca311e4
Author: Brian Nickel <bnickel@mono-cvs.ximian.com>
Date: Wed May 30 23:47:16 2007 +0000
2007-05-30 Brian Nickel <brian.nickel@gmail.com>
Major API changes. The API has been changed a bunch to accommodate
Microsoft naming rules, globalization rules, etc. Hundreds of issues
brought to light by FxCop. Nothing like throwing a hundred
ArgumentNullExceptions, changing "h" to "Header",
"last_absolute_granular_position" to "lastAbsoluteGranularPosition",
"StringList" to "StringCollection", etc.
Another major change is the dropping of
TagLib.File.{Push|Pop|Set|Default}FileAbstractionCreator. Now if you
want to create a local file, use TagLib.File.Create (string) and if you
want to use a stream, or a VFS, or whatever, use
TagLib.File.Create(File.IFileAbstraction). This should save a lot of
headache and make things a lot safer and cleaner. Sorry to those of you
who were using the old API.
I've got a few hundred docs to fill in, but then it's 2.0 RC2.
* src/TagLib/Mpc/File.cs
* src/TagLib/Mpc/StreamHeader.cs
* src/TagLib/Tag.cs
* src/TagLib/Picture.cs
* src/TagLib/CombinedTag.cs
* src/TagLib/CorruptFileException.cs
* src/TagLib/File.cs
* src/TagLib/UnsupportedFormatException.cs
* src/TagLib/TagLib.sources
* src/TagLib/ByteVectorList.cs
* src/TagLib/Id3v1/Tag.cs
* src/TagLib/Id3v1/StringHandler.cs
* src/TagLib/Riff/List.cs
* src/TagLib/Riff/AviStream.cs
* src/TagLib/Riff/File.cs
* src/TagLib/Riff/BitmapInfoHeader.cs
* src/TagLib/Riff/AviHeaderList.cs
* src/TagLib/Riff/DivXTag.cs
* src/TagLib/Riff/ListTag.cs
* src/TagLib/Riff/InfoTag.cs
* src/TagLib/Riff/MovieIdTag.cs
* src/TagLib/Riff/WaveFormatEx.cs
* src/TagLib/Genres.cs
* src/TagLib/Id3v2/Tag.cs
* src/TagLib/Id3v2/Footer.cs
* src/TagLib/Id3v2/SynchData.cs
* src/TagLib/Id3v2/FrameFactory.cs
* src/TagLib/Id3v2/FrameHeader.cs
* src/TagLib/Id3v2/Header.cs
* src/TagLib/Id3v2/Frames/UnsynchronisedLyricsFrame.cs
* src/TagLib/Id3v2/Frames/RelativeVolumeFrame.cs
* src/TagLib/Id3v2/Frames/CommentsFrame.cs
* src/TagLib/Id3v2/Frames/SynchronizedLyricsFrame.cs
* src/TagLib/Id3v2/Frames/AttachedPictureFrame.cs
* src/TagLib/Id3v2/Frames/UniqueFileIdentifierFrame.cs
* src/TagLib/Id3v2/Frames/PrivateFrame.cs
* src/TagLib/Id3v2/Frames/MusicCdIdentifierFrame.cs
* src/TagLib/Id3v2/Frames/TermsOfUseFrame.cs
* src/TagLib/Id3v2/Frames/GeneralEncapsulatedObjectFrame.cs
* src/TagLib/Id3v2/Frames/TextIdentificationFrame.cs
* src/TagLib/Id3v2/Frames/PlayCountFrame.cs
* src/TagLib/Id3v2/Frames/UnknownFrame.cs
* src/TagLib/Id3v2/ExtendedHeader.cs
* src/TagLib/Id3v2/Frame.cs
* src/TagLib/Debugger.cs
* src/TagLib/Mpeg/XingHeader.cs
* src/TagLib/Mpeg/File.cs
* src/TagLib/Mpeg/VideoHeader.cs
* src/TagLib/Mpeg/AudioFile.cs
* src/TagLib/Mpeg/AudioHeader.cs
* src/TagLib/ByteVector.cs
* src/TagLib/IntList.cs
* src/TagLib/ICodec.cs
* src/TagLib/WavPack/File.cs
* src/TagLib/WavPack/StreamHeader.cs
* src/TagLib/NonContainer/File.cs
* src/TagLib/NonContainer/EndTag.cs
* src/TagLib/NonContainer/StartTag.cs
* src/TagLib/Properties.cs
* src/TagLib/SupportedMimeType.cs
* src/TagLib/Ape/Tag.cs
* src/TagLib/Ape/Footer.cs
* src/TagLib/Ape/Item.cs
* src/TagLib/Flac/Picture.cs
* src/TagLib/Flac/File.cs
* src/TagLib/Flac/BlockHeader.cs
* src/TagLib/Flac/StreamHeader.cs
* src/TagLib/Flac/Block.cs
* src/TagLib/StringList.cs
* src/TagLib/Asf/Tag.cs
* src/TagLib/Asf/File.cs
* src/TagLib/Asf/HeaderObject.cs
* src/TagLib/Asf/StreamPropertiesObject.cs
* src/TagLib/Asf/FilePropertiesObject.cs
* src/TagLib/Asf/ContentDescriptionObject.cs
* src/TagLib/Asf/Object.cs
* src/TagLib/Asf/UnknownObject.cs
* src/TagLib/Asf/ContentDescriptor.cs
* src/TagLib/ListBase.cs
* src/TagLib/Mpeg4/Boxes/FullBox.cs
* src/TagLib/Mpeg4/Boxes/IsoMovieHeaderBox.cs
* src/TagLib/Mpeg4/Boxes/IsoSampleTableBox.cs
* src/TagLib/Mpeg4/Boxes/IsoChunkLargeOffsetBox.cs
* src/TagLib/Mpeg4/Boxes/IsoSampleEntry.cs
* src/TagLib/Mpeg4/Boxes/AppleAdditionalInfoBox.cs
* src/TagLib/Mpeg4/Boxes/IsoFreeSpaceBox.cs
* src/TagLib/Mpeg4/Boxes/AppleItemListBox.cs
* src/TagLib/Mpeg4/Boxes/IsoUserDataBox.cs
* src/TagLib/Mpeg4/Boxes/IsoAudioSampleEntry.cs
* src/TagLib/Mpeg4/Boxes/IsoHandlerBox.cs
* src/TagLib/Mpeg4/Boxes/IsoVisualSampleEntry.cs
* src/TagLib/Mpeg4/Boxes/AppleElementaryStreamDescriptor.cs
* src/TagLib/Mpeg4/Boxes/IsoChunkOffsetBox.cs
* src/TagLib/Mpeg4/Boxes/AppleDataBox.cs
* src/TagLib/Mpeg4/Boxes/AppleAnnotationBox.cs
* src/TagLib/Mpeg4/Boxes/UnknownBox.cs
* src/TagLib/Mpeg4/Boxes/IsoSampleDescriptionBox.cs
* src/TagLib/Mpeg4/Boxes/IsoMetaBox.cs
* src/TagLib/Mpeg4/FileParser.cs
* src/TagLib/Mpeg4/AppleTag.cs
* src/TagLib/Mpeg4/BoxTypes.cs
* src/TagLib/Mpeg4/File.cs
* src/TagLib/Mpeg4/BoxFactory.cs
* src/TagLib/Mpeg4/BoxHeader.cs
* src/TagLib/Mpeg4/BoxList.cs
* src/TagLib/Mpeg4/Box.cs
* src/TagLib/Ogg/XiphComment.cs
* src/TagLib/Ogg/Page.cs
* src/TagLib/Ogg/Codecs/Theora.cs
* src/TagLib/Ogg/Codecs/Vorbis.cs
* src/TagLib/Ogg/Codec.cs
* src/TagLib/Ogg/File.cs
* src/TagLib/Ogg/Paginator.cs
* src/TagLib/Ogg/PageHeader.cs
* src/TagLib/Ogg/GroupedComment.cs
* src/TagLib/Ogg/Bitstream.cs
* src/AssemblyInfo.cs.in
* src/AssemblyInfo-windows.cs
* src/taglib-sharp.mdp
* docs/en/TagLib.Riff/BitmapInfoHeader.xml
* docs/en/TagLib.Riff/AviHeaderList.xml
* docs/en/TagLib.Riff/DivXTag.xml
* docs/en/TagLib.Riff/ListTag.xml
* docs/en/TagLib.Riff/WaveFormatEx.xml
* docs/en/TagLib.Riff/AviStream.xml
* docs/en/TagLib.Riff/List.xml
* docs/en/TagLib.Riff/File.xml
* docs/en/TagLib.Id3v1/StringHandler.xml
* docs/en/TagLib.Id3v1/Tag.xml
* docs/en/TagLib.Id3v2/UniqueFileIdentifierFrame.xml
* docs/en/TagLib.Id3v2/AttachedPictureFrame.xml
* docs/en/TagLib.Id3v2/PrivateFrame.xml
* docs/en/TagLib.Id3v2/Header.xml
* docs/en/TagLib.Id3v2/PlayCountFrame.xml
* docs/en/TagLib.Id3v2/Frame.xml
* docs/en/TagLib.Id3v2/MusicCdIdentifier.xml
* docs/en/TagLib.Id3v2/Footer.xml
* docs/en/TagLib.Id3v2/CommentsFrame.xml
* docs/en/TagLib.Id3v2/TermsOfUseFrame.xml
* docs/en/TagLib.Id3v2/GeneralEncapsulatedObjectFrame.xml
* docs/en/TagLib.Id3v2/UserTextIdentificationFrame.xml
* docs/en/TagLib.Id3v2/SynchronisedLyricsFrame.xml
* docs/en/TagLib.Id3v2/TextIdentificationFrame.xml
* docs/en/TagLib.Id3v2/UnknownFrame.xml
* docs/en/TagLib.Id3v2/Tag.xml
* docs/en/TagLib.Id3v2/UnsynchronisedLyricsFrame.xml
* docs/en/TagLib.Id3v2/RelativeVolumeFrame.xml
* docs/en/TagLib.Mpeg/Marker.xml
* docs/en/TagLib.Mpeg/AudioFile.xml
* docs/en/TagLib.Mpeg/Version.xml
* docs/en/TagLib.Mpeg/AudioHeader.xml
* docs/en/TagLib.Mpeg/XingHeader.xml
* docs/en/TagLib.Mpeg/VideoHeader.xml
* docs/en/TagLib.Mpeg/File.xml
* docs/en/TagLib.WavPack/StreamHeader.xml
* docs/en/TagLib.WavPack/File.xml
* docs/en/TagLib.NonContainer/File.xml
* docs/en/TagLib/UnsupportedFormatException.xml
* docs/en/TagLib/Genres.xml
* docs/en/TagLib/IntList.xml
* docs/en/TagLib/ListBase`1.xml
* docs/en/TagLib/SupportedMimeType.xml
* docs/en/TagLib/File+LocalFileAbstraction.xml
* docs/en/TagLib/ByteVectorCollection.xml
* docs/en/TagLib/MediaTypes.xml
* docs/en/TagLib/Picture.xml
* docs/en/TagLib/File.xml
* docs/en/TagLib/ByteVectorList.xml
* docs/en/TagLib/StringCollection.xml
* docs/en/TagLib/ByteVector.xml
* docs/en/TagLib/TagTypes.xml
* docs/en/TagLib/StringList.xml
* docs/en/TagLib/PictureType.xml
* docs/en/TagLib/CorruptFileException.xml
* docs/en/TagLib/File+FileTypeResolver.xml
* docs/en/index.xml
* docs/en/TagLib.Flac/BlockHeader.xml
* docs/en/TagLib.Flac/StreamHeader.xml
* docs/en/TagLib.Flac/Block.xml
* docs/en/TagLib.Flac/BlockType.xml
* docs/en/TagLib.Flac/File.xml
* docs/en/TagLib.Ape/Tag.xml
* docs/en/TagLib.Ape/FooterFlags.xml
* docs/en/TagLib.Ape/Footer.xml
* docs/en/TagLib.Ape/Item.xml
* docs/en/TagLib.MusePack/StreamHeader.xml
* docs/en/TagLib.MusePack/File.xml
* docs/en/TagLib.Asf/Object.xml
* docs/en/TagLib.Asf/ContentDescriptor.xml
* docs/en/TagLib.Asf/StreamPropertiesObject.xml
* docs/en/TagLib.Asf/HeaderObject.xml
* docs/en/TagLib.Asf/File.xml
* docs/en/TagLib.Ogg/PageHeader.xml
* docs/en/TagLib.Ogg/GroupedComment.xml
* docs/en/TagLib.Ogg/Bitstream.xml
* docs/en/TagLib.Ogg/XiphComment.xml
* docs/en/TagLib.Ogg/Page.xml
* docs/en/TagLib.Ogg/Codec.xml
* docs/en/TagLib.Ogg/File.xml
* docs/en/TagLib.Mpeg4/BoxFactory.xml
* docs/en/TagLib.Mpeg4/IsoFreeSpaceBox.xml
* docs/en/TagLib.Mpeg4/BoxList.xml
* docs/en/TagLib.Mpeg4/AppleItemListBox.xml
* docs/en/TagLib.Mpeg4/Box.xml
* docs/en/TagLib.Mpeg4/IsoUserDataBox.xml
* docs/en/TagLib.Mpeg4/FileParser.xml
* docs/en/TagLib.Mpeg4/AppleTag.xml
* docs/en/TagLib.Mpeg4/AppleDataBox+FlagTypes.xml
* docs/en/TagLib.Mpeg4/IsoAudioSampleEntry.xml
* docs/en/TagLib.Mpeg4/BoxHeader.xml
* docs/en/TagLib.Mpeg4/IsoHandlerBox.xml
* docs/en/TagLib.Mpeg4/IsoVisualSampleEntry.xml
* docs/en/TagLib.Mpeg4/AppleElementaryStreamDescriptor.xml
* docs/en/TagLib.Mpeg4/IsoChunkOffsetBox.xml
* docs/en/TagLib.Mpeg4/AppleDataBox.xml
* docs/en/TagLib.Mpeg4/AppleAnnotationBox.xml
* docs/en/TagLib.Mpeg4/UnknownBox.xml
* docs/en/TagLib.Mpeg4/IsoSampleDescriptionBox.xml
* docs/en/TagLib.Mpeg4/IsoMetaBox.xml
* docs/en/TagLib.Mpeg4/FullBox.xml
* docs/en/TagLib.Mpeg4/AppleDataBox+FlagType.xml
* docs/en/TagLib.Mpeg4/IsoMovieHeaderBox.xml
* docs/en/TagLib.Mpeg4/IsoSampleTableBox.xml
* docs/en/TagLib.Mpeg4/BoxTypes.xml
* docs/en/TagLib.Mpeg4/IsoChunkLargeOffsetBox.xml
* docs/en/TagLib.Mpeg4/IsoSampleEntry.xml
* docs/en/TagLib.Mpeg4/AppleAdditionalInfoBox.xml
* docs/en/TagLib.Mpeg4/File.xml
* tests/tests.mdp
* tests/fixtures/TagLib.CollectionTests/ByteVectorListTest.cs
* tests/fixtures/TagLib.CollectionTests/StringListTest.cs
* tests/fixtures/TagLib.CollectionTests/ByteVectorCollectionTest.cs
* tests/fixtures/TagLib.CollectionTests/StringCollectionTest.cs
* tests/fixtures/TagLib.CollectionTests/ByteVectorTest.cs
* configure.ac
* taglib-sharp.csproj
* examples/ReadFromUri.cs
* examples/muine-use-taglibsharp.patch: Aye Aye Aye!
svn path=/trunk/taglib-sharp/; revision=78279
commit 9bb2e24e3d665c8bb5e258104148765603f650fd
Author: Brian Nickel <bnickel@mono-cvs.ximian.com>
Date: Fri May 25 20:20:09 2007 +0000
2007-05-25 Brian Nickel <brian.nickel@gmail.com>
+-------------+
| VERSON BUMP |
| 1.9.99994 |
+-------------+
* src/TagLib/TagLib.sources: Remove debugger.
* src/TagLib/Mpeg/AudioHeader.cs: Compile on Windows.
* docs/en/TagLib.Riff/File.xml:
* docs/en/TagLib.Mpeg/AudioFile.xml:
* docs/en/TagLib.Mpeg/File.xml:
* docs/en/TagLib.WavPack/File.xml:
* docs/en/index.xml:
* docs/en/TagLib.Flac/File.xml:
* docs/en/TagLib.MusePack/File.xml:
* docs/en/TagLib.Asf/File.xml:
* docs/en/TagLib.Ogg/File.xml:
* docs/en/TagLib.Mpeg4/File.xml: Fixed tpos.
* docs/Makefile.am: Change target.
* configure.ac: Version bump.
* taglib-sharp.csproj: Add missing files.
svn path=/trunk/taglib-sharp/; revision=77970
commit 0a1d5a196b71588470cc829bd8d91ceae7b35c63
Author: Brian Nickel <bnickel@mono-cvs.ximian.com>
Date: Fri May 25 11:03:46 2007 +0000
2007-05-25 Brian Nickel <brian.nickel@gmail.com>
There were changes to 153 files in the last three days. I can't vouch for
everything that happened, as I may have blacked out for some portions, but tags
now have an abstract Tag.TagTypes property, Everything that should be a struct
is, there were a bunch of tiny cleanups, "private Flac.File+PictureTag" is now
"public Flac.Metadata"... And as of 3:55 AM (Arizona Time), THERE IS NOT ONE
FREAKIN' INSTANCE OF "To be added." IN THE ENTIRE docs/en DIRECTORY. I really
must love you guys, 'cause that was really, really painful.
* src/TagLib/Tag.cs:
* src/TagLib/CombinedTag.cs:
* src/TagLib/File.cs:
* src/TagLib/Id3v1/Tag.cs:
* src/TagLib/Riff/AviStream.cs:
* src/TagLib/Riff/File.cs:
* src/TagLib/Riff/DivXTag.cs:
* src/TagLib/Riff/InfoTag.cs:
* src/TagLib/Riff/MovieIdTag.cs:
* src/TagLib/Id3v2/Tag.cs:
* src/TagLib/Id3v2/Frames/PlayCountFrame.cs:
* src/TagLib/Id3v2/ExtendedHeader.cs:
* src/TagLib/Mpeg/XingHeader.cs:
* src/TagLib/Mpeg/File.cs:
* src/TagLib/Mpeg/AudioFile.cs:
* src/TagLib/Mpeg/AudioHeader.cs:
* src/TagLib/NonContainer/Tag.cs:
* src/TagLib/NonContainer/File.cs:
* src/TagLib/NonContainer/EndTag.cs:
* src/TagLib/NonContainer/StartTag.cs:
* src/TagLib/Ape/Tag.cs:
* src/TagLib/Flac/Picture.cs:
* src/TagLib/Flac/File.cs:
* src/TagLib/Flac/StreamHeader.cs:
* src/TagLib/Asf/Tag.cs:
* src/TagLib/Asf/File.cs:
* src/TagLib/Mpeg4/Boxes/FullBox.cs:
* src/TagLib/Mpeg4/Boxes/IsoMovieHeaderBox.cs:
* src/TagLib/Mpeg4/Boxes/IsoSampleEntry.cs:
* src/TagLib/Mpeg4/Boxes/IsoChunkLargeOffsetBox.cs:
* src/TagLib/Mpeg4/Boxes/IsoAudioSampleEntry.cs:
* src/TagLib/Mpeg4/Boxes/IsoHandlerBox.cs:
* src/TagLib/Mpeg4/Boxes/IsoVisualSampleEntry.cs:
* src/TagLib/Mpeg4/Boxes/IsoChunkOffsetBox.cs:
* src/TagLib/Mpeg4/Boxes/AppleDataBox.cs:
* src/TagLib/Mpeg4/Boxes/IsoSampleDescriptionBox.cs:
* src/TagLib/Mpeg4/FileParser.cs:
* src/TagLib/Mpeg4/AppleTag.cs:
* src/TagLib/Mpeg4/File.cs:
* src/TagLib/Mpeg4/BoxFactory.cs:
* src/TagLib/Mpeg4/BoxHeader.cs:
* src/TagLib/Mpeg4/BoxList.cs:
* src/TagLib/Mpeg4/Box.cs:
* src/TagLib/Ogg/XiphComment.cs:
* src/TagLib/Ogg/Page.cs:
* src/TagLib/Ogg/Codecs/Theora.cs:
* src/TagLib/Ogg/Codecs/Vorbis.cs:
* src/TagLib/Ogg/Codec.cs:
* src/TagLib/Ogg/File.cs:
* src/TagLib/Ogg/Paginator.cs:
* src/TagLib/Ogg/GroupedComment.cs:
* src/TagLib/Ogg/Bitstream.cs:
* src/taglib-sharp.mdp: 53 C# files changed.
* docs/en/*: 100 XML files filled in.
svn path=/trunk/taglib-sharp/; revision=77938
commit ac6636ace1213b12802e5e72f1ccf16024712c11
Author: Brian Nickel <bnickel@mono-cvs.ximian.com>
Date: Tue May 22 23:54:32 2007 +0000
2007-05-22 Brian Nickel <brian.nickel@gmail.com>
* src/TagLib/Tag.cs: Make abstract.
* src/TagLib/Mpc/File.cs: Make namespace "MusePack".
* src/TagLib/Mpc/StreamHeader.cs: Convert to struct.
* src/TagLib/File.cs: Store TagTypes as uint. Remove unused read styles.
Add File.TagTypes and File.TagTypesOnDisk. Add CloseStream to
IFileAbstraction for SilverLight support.
* src/TagLib/Riff/File.cs: Add TagTypes.
* src/TagLib/ByteVectorList.cs: Remove ToByteVector()
* src/TagLib/Id3v2/Tag.cs:
* src/TagLib/Id3v2/Footer.cs:
* src/TagLib/Id3v2/SynchData.cs:
* src/TagLib/Id3v2/FrameFactory.cs:
* src/TagLib/Id3v2/FrameHeader.cs:
* src/TagLib/Id3v2/Header.cs:
* src/TagLib/Id3v2/Frames/PlayCountFrame.cs:
* src/TagLib/Id3v2/Frames/UnsynchronisedLyricsFrame.cs:
* src/TagLib/Id3v2/Frames/RelativeVolumeFrame.cs:
* src/TagLib/Id3v2/Frames/CommentsFrame.cs:
* src/TagLib/Id3v2/Frames/SynchronizedLyricsFrame.cs:
* src/TagLib/Id3v2/Frames/AttachedPictureFrame.cs:
* src/TagLib/Id3v2/Frames/UniqueFileIdentifierFrame.cs:
* src/TagLib/Id3v2/Frames/PrivateFrame.cs:
* src/TagLib/Id3v2/Frames/GeneralEncapsulatedObjectFrame.cs:
* src/TagLib/Id3v2/Frames/TextIdentificationFrame.cs:
* src/TagLib/Id3v2/Frames/UnknownFrame.cs:
* src/TagLib/Id3v2/Frame.cs: Significant refactoring. Use byte for
version. Use enums for header and frame flags. Use string for language.
Unsupported frames and frame properties throw NotImplementedException.
Added PlayCountFrame.
* src/TagLib/Mpeg/XingHeader.cs: Make struct.
* src/TagLib/Mpeg/File.cs:
* src/TagLib/Mpeg/VideoHeader.cs: Make struct.
* src/TagLib/Mpeg/AudioFile.cs:
* src/TagLib/Mpeg/AudioHeader.cs: Make struct.
* src/TagLib/Debugger.cs: Make internal.
* src/TagLib/ByteVector.cs: Clean up constructors.
* src/TagLib/IntList.cs: Clean up constructors.
* src/TagLib/WavPack/StreamHeader.cs: Convert to struct.
* src/TagLib/NonContainer/Tag.cs: Add TagTypes.
* src/TagLib/NonContainer/File.cs: Add TagTypes.
* src/TagLib/NonContainer/EndTag.cs: Add TagTypes.
* src/TagLib/NonContainer/StartTag.cs: Add TagTypes.
* src/TagLib/Ape/Tag.cs:
* src/TagLib/Ape/Footer.cs: Make struct. Use enum for flags.
* src/TagLib/Flac/File.cs:
* src/TagLib/Flac/BlockHeader.cs: Make struct.
* src/TagLib/Flac/StreamHeader.cs: Make struct.
* src/TagLib/StringList.cs: Clean up constructors.
* src/TagLib/FileTypes.cs: Add support for registering types.
* src/TagLib/Asf/File.cs: Add TagTypes.
* src/TagLib/Asf/HeaderObject.cs:
* src/TagLib/Asf/StreamPropertiesObject.cs:
* src/TagLib/Asf/FilePropertiesObject.cs:
* src/TagLib/Asf/ContentDescriptionObject.cs:
* src/TagLib/Asf/Object.cs:
* src/TagLib/Asf/Guid.cs: Use System.Guid.
* src/TagLib/Asf/ContentDescriptor.cs: Use unsigned types.
* src/TagLib/ListBase.cs: Clean up constructors.
* src/TagLib/Mpeg4/File.cs: Add TagTypes.
* src/TagLib/Ogg/GroupedComment.cs: Add IsEmpty.
* src/TagLib/Ogg/File.cs: Add TagTypes.
* src/TagLib/Ogg/Page.cs:
* src/TagLib/Ogg/Paginator.cs:
* src/TagLib/Ogg/Bitstream.cs:
* src/TagLib/Ogg/PageHeader.cs: Make PageHeader a struct and add
PageFlags.
* docs/en/*: Thousands more docs filled out.
svn path=/trunk/taglib-sharp/; revision=77818
commit ca311e4c9a676b7e8169eb9f831acfe2eff3ef05
Author: Brian Nickel <bnickel@mono-cvs.ximian.com>
Date: Sun May 20 10:38:01 2007 +0000
2007-05-20 Brian Nickel <brian.nickel@gmail.com>
* src/TagLib/ByteVector.cs:
* src/TagLib/Id3v2/Frames/SynchronizedLyricsFrame.cs: Remove accidental
System.Console.WriteLine lines.
* src/TagLib/File.cs: Make constructor protected.
* src/TagLib/Ogg/File.cs:
* src/TagLib/Riff/File.cs: Add File(string) constructor.
* src/TagLib/Riff/BitmapInfoHeader.cs:
* src/TagLib/Riff/ListTag.cs:
* src/TagLib/Riff/WaveFormatEx.cs: Tidy up.
* src/TagLib/Id3v2/Frame.cs: Parse was redundant.
* src/TagLib/Mpeg/AudioHeader.cs: Make stream_length private.
* src/TagLib/Ogg/Codecs/Theora.cs:
* src/TagLib/Ogg/Codecs/Vorbis.cs: Make constructors private.
* docs/en/TagLib.Mpc/StreamHeader.xml:
* docs/en/TagLib.Mpc/File.xml:
* docs/en/TagLib.Riff.xml:
* docs/en/TagLib.Riff/BitmapInfoHeader.xml:
* docs/en/TagLib.Riff/InfoTag.xml:
* docs/en/TagLib.Riff/ListTag.xml:
* docs/en/TagLib.Riff/AviHeader.xml:
* docs/en/TagLib.Riff/MovieIdTag.xml:
* docs/en/TagLib.Riff/WaveFormatEx.xml:
* docs/en/TagLib.Riff/List.xml:
* docs/en/TagLib.Riff/File.xml:
* docs/en/TagLib.Id3v2/UniqueFileIdentifierFrame.xml:
* docs/en/TagLib.Id3v2/AttachedPictureFrame.xml:
* docs/en/TagLib.Id3v2/PrivateFrame.xml:
* docs/en/TagLib.Id3v2/Frame.xml:
* docs/en/TagLib.Id3v2/CommentsFrame.xml:
* docs/en/TagLib.Id3v2/UserTextIdentificationFrame.xml:
* docs/en/TagLib.Id3v2/GeneralEncapsulatedObjectFrame.xml:
* docs/en/TagLib.Id3v2/SynchronisedLyricsFrame.xml:
* docs/en/TagLib.Id3v2/TextIdentificationFrame.xml:
* docs/en/TagLib.Id3v2/UnknownFrame.xml:
* docs/en/TagLib.Id3v2/UnsynchronisedLyricsFrame.xml:
* docs/en/TagLib.Id3v2/RelativeVolumeFrame.xml:
* docs/en/TagLib.Mpeg/AudioFile.xml:
* docs/en/TagLib.Mpeg/AudioHeader.xml:
* docs/en/TagLib.Mpeg/VideoHeader.xml:
* docs/en/TagLib.Mpeg/File.xml:
* docs/en/TagLib.WavPack/StreamHeader.xml:
* docs/en/TagLib.WavPack/File.xml:
* docs/en/TagLib.NonContainer/File.xml:
* docs/en/TagLib/ICodec.xml:
* docs/en/TagLib/Properties.xml:
* docs/en/TagLib/IAudioCodec.xml:
* docs/en/TagLib/IVideoCodec.xml:
* docs/en/TagLib/File.xml:
* docs/en/TagLib.Flac/StreamHeader.xml:
* docs/en/TagLib.Flac/File.xml:
* docs/en/TagLib.Asf/File.xml:
* docs/en/TagLib.Ogg.Codecs/Theora.xml:
* docs/en/TagLib.Ogg.Codecs/Vorbis.xml:
* docs/en/TagLib.Ogg/Codec.xml:
* docs/en/TagLib.Ogg/File.xml:
* docs/en/TagLib.Mpeg4/IsoAudioSampleEntry.xml:
* docs/en/TagLib.Mpeg4/IsoVisualSampleEntry.xml:
* docs/en/TagLib.Mpeg4/IsoMovieHeaderBox.xml:
* docs/en/TagLib.Mpeg4/File.xml: Filled out some docs, baby.
svn path=/trunk/taglib-sharp/; revision=77712
commit 8006975cc50d25c3e256d64b9778c6eb76840231
Author: Brian Nickel <bnickel@mono-cvs.ximian.com>
Date: Sat May 19 06:39:32 2007 +0000
2007-05-18 Brian Nickel <brian.nickel@gmail.com>
+-------------+
| VERSON BUMP |
| 1.9.99993 |
+-------------+
* src/TagLib/TagLib.sources: Fixed typo.
* src/TagLib/ByteVector.cs: Fix for reading nil-separated UTF-16
strings. Now StringTypeToEncoding assumes the previously used UTF-16
endianness if a BOM is not found. Additionally, Find and RFind now base
byte align on distance from the original offset, not offset from start.
* src/TagLib/WavPack/File.cs:
* src/TagLib/WavPack/StreamHeader.cs: Reformat code.
* src/TagLib/NonContainer/StartTag.cs: Make sure APE tags have headers
when placed at the front of a file.
* src/TagLib/Ape/Tag.cs:
* src/TagLib/Ape/Footer.cs:
* src/TagLib/Ape/Item.cs: API changes to improve clarity and
functionality.
* docs/en/TagLib.Riff/WaveFormatEx.xml:
* docs/en/TagLib.WavPack/StreamHeader.xml:
* docs/en/TagLib.WavPack/File.xml:
* docs/en/TagLib.Ape.xml:
* docs/en/TagLib.Ape/ItemType.xml:
* docs/en/TagLib.Ape/Tag.xml:
* docs/en/TagLib.Ape/Footer.xml:
* docs/en/TagLib.Ape/Item.xml:
* docs/en/TagLib.Ogg.Codecs/Vorbis.xml: Some solid documentation.
TagLib.Ape and TagLib.WavPack namespaces are 100% documented.
* docs/Makefile.am: docdir is a bad name, using monodocdir.
* configure.ac: Version bump.
* taglib-sharp.csproj: Fixed typos.
svn path=/trunk/taglib-sharp/; revision=77682
commit 211aa93107e3e49839e40f49a648a696e922107b
Author: Brian Nickel <bnickel@mono-cvs.ximian.com>
Date: Fri May 18 21:52:18 2007 +0000
2007-05-18 Brian Nickel <brian.nickel@gmail.com>
* src/TagLib/File.cs: Reprivatize file_stream.
* src/TagLib/Id3v2/Footer.cs: Remove SetData.
* src/TagLib/Id3v2/Tag.cs:
* src/TagLib/Id3v2/FrameFactory.cs: Don't load compressed or encrypted
frames rather than corrupting them.
* src/TagLib/Id3v2/FrameHeader.cs: Handle flags properly.
* src/TagLib/Id3v2/Header.cs: Remove SetData.
* src/TagLib/Id3v2/Frames/UnsynchronisedLyricsFrame.cs:
* src/TagLib/Id3v2/Frames/RelativeVolumeFrame.cs:
* src/TagLib/Id3v2/Frames/CommentsFrame.cs:
* src/TagLib/Id3v2/Frames/SynchronizedLyricsFrame.cs:
* src/TagLib/Id3v2/Frames/AttachedPictureFrame.cs:
* src/TagLib/Id3v2/Frames/UniqueFileIdentifierFrame.cs:
* src/TagLib/Id3v2/Frames/PrivateFrame.cs:
* src/TagLib/Id3v2/Frames/GeneralEncapsulatedObjectFrame.cs:
* src/TagLib/Id3v2/Frames/TextIdentificationFrame.cs:
* src/TagLib/Id3v2/Frames/UnknownFrame.cs: Tidy up source.
* src/TagLib/Id3v2/ExtendedHeader.cs: Replace SetData with constructor.
* src/TagLib/Id3v2/Frame.cs: Improve support for frame flags.
* src/TagLib/ByteVector.cs: Privitize SetData.
* src/TagLib/Asf/Tag.cs: Provide easy access to multi-string
descriptors.
* src/TagLib/Mpeg4/AppleTag.cs: If AlbumArtists is empty, use
Performers. (The aART data box is pretty new and underused.)
* docs/en/*: Updated docs. Stripped duplicates. Filled some out.
svn path=/trunk/taglib-sharp/; revision=77671
commit 1801717875bb1f8ac8610324224c0c8a121085cb
Author: Aaron Bockover <abockover@novell.com>
Date: Wed May 16 00:28:35 2007 +0000
Fix filename spelling error
svn path=/trunk/taglib-sharp/; revision=77447
commit e3e4085b2579a64f68112bc86c125307151cd7c3
Author: Brian Nickel <bnickel@mono-cvs.ximian.com>
Date: Tue May 15 21:19:18 2007 +0000
2007-05-15 Brian Nickel <brian.nickel@gmail.com>
* src/TagLib/Id3v2/Tag.cs: Fix BPM storage.
* src/TagLib/Tag.cs:
* src/TagLib/CombinedTag.cs:
* src/TagLib/Riff/InfoTag.cs:
* src/TagLib/Ape/Tag.cs:
* src/TagLib/Asf/Tag.cs:
* src/TagLib/Mpeg4/AppleTag.cs:
* src/TagLib/Ogg/XiphComment.cs:
* src/TagLib/Ogg/GroupedComment.cs: Rename BPM to BeatsPerMinute.
* examples/ReadFromUri.cs: Push/Pop abstractor. Add new tags to output.
svn path=/trunk/taglib-sharp/; revision=77441
commit f8bd361bf79fc32e15fb624881e909121ffd96e0
Author: Brian Nickel <bnickel@mono-cvs.ximian.com>
Date: Tue May 15 07:46:59 2007 +0000
2007-05-15 Brian Nickel <brian.nickel@gmail.com>
* src/TagLib/Tag.cs:
* src/TagLib/CombinedTag.cs:
* src/TagLib/Riff/InfoTag.cs:
* src/TagLib/Id3v2/Tag.cs
* src/TagLib/Ape/Tag.cs:
* src/TagLib/Asf/Tag.cs:
* src/TagLib/Mpeg4/AppleTag.cs:
* src/TagLib/Mpeg4/BoxTypes.cs:
* src/TagLib/Ogg/XiphComment.cs:
* src/TagLib/Ogg/GroupedComment.cs: Added support for Copyright, BPM,
Composer, and Grouping.
svn path=/trunk/taglib-sharp/; revision=77393
commit 1621bd2f4bcb7886eea116cfeb273b7ae7c3cd8b
Author: Brian Nickel <bnickel@mono-cvs.ximian.com>
Date: Tue May 15 05:50:19 2007 +0000
2007-05-14 Brian Nickel <brian.nickel@gmail.com>
* src/TagLib/Id3v2/Frames/SynchronizedLyricsFrame.cs: Include TextType
in Get, GetPreferred, and constructors.
svn path=/trunk/taglib-sharp/; revision=77389
commit 11d59b0b728dcbc78088cebc0808582bc2f133d2
Author: Brian Nickel <bnickel@mono-cvs.ximian.com>
Date: Tue May 15 05:25:31 2007 +0000
2007-05-14 Brian Nickel <brian.nickel@gmail.com>
Feature Request: http://forum.taglib-sharp.com/viewtopic.php?f=4&t=12
* src/TagLib/File.cs: Support pushing and poping file abstractors.
* src/TagLib/Id3v2/Frames/UnsynchronisedLyricsFrame.cs:
* src/TagLib/Id3v2/Frames/CommentsFrame.cs:
* src/TagLib/Id3v2/Tag.cs: Be a little bit smarter when storing lyrics
and comments. GetPreferred shouldn't be used for storing, because we
want to store in exactly what we want, not a best guess.
* src/TagLib/Id3v2/FrameFactory.cs:
* src/TagLib/Id3v2/Frames/SynchronizedLyricsFrame.cs: Support
synchronized lyrics.
* src/TagLib/TagLib.sources:
* src/taglib-sharp.mdp:
* taglib-sharp.csproj: Added file.
svn path=/trunk/taglib-sharp/; revision=77388
commit 1c35339ce18bfe692bd084957935d727456ccfd2
Author: Brian Nickel <bnickel@mono-cvs.ximian.com>
Date: Thu May 10 21:51:32 2007 +0000
2007-05-10 Brian Nickel <brian.nickel@gmail.com>
* src/TagLib/Mpeg/Properties.cs:
* src/TagLib/Asf/Properties.cs:
* src/TagLib/Ogg/Properties.cs:
* src/TagLib/Ogg/Vorbis/File.cs:
* src/TagLib/Ogg/Flac/File.cs:
* src/TagLib/Mpeg4/Properties.cs: Deleted. I thought MonoDevelop did
this automatically. My bad.
svn path=/trunk/taglib-sharp/; revision=77167
commit 8231c1b7d8f99e3b19ff8ecd820f5ad9e8668b19
Author: Brian Nickel <bnickel@mono-cvs.ximian.com>
Date: Thu May 10 03:21:15 2007 +0000
2007-05-09 Brian Nickel <brian.nickel@gmail.com>
* src/TagLib/Mpeg/AudioFile.cs: Throw a proper CorruptFileException if
AudioHeader isn't found.
* src/TagLib/File.cs:
* src/TagLib/ICodec.cs: Use FlagsAttribute for sexy output.
* docs/taglib-sharp-docs.source:
* docs/Makefile.am:
* docs/MonodocNodeConfig.cs: Doc stuff mysteriously vanished from SVN
a while back. Returning.
* examples/ReadFromUri.cs: Cleaned up a bit.
* examples/ReadFromUri.boo: First boo example. Would have an IronPython
one, but I'm having some issues with inheritance.
svn path=/trunk/taglib-sharp/; revision=77104
commit dec6901184e786c5e50fb1f350cce4eedfee404c
Author: Brian Nickel <bnickel@mono-cvs.ximian.com>
Date: Wed May 9 17:58:56 2007 +0000
2007-05-09 Brian Nickel <brian.nickel@gmail.com>
+-------------+
| VERSON BUMP |
| 1.9.99992 |
+-------------+
* src/TagLib/Id3v2/Tag.cs: Use new TextIdentificationFrame.Get
* configure.ac: Version bump.
svn path=/trunk/taglib-sharp/; revision=77072
commit eb8e3555c05797ad4330e7e348cff509f941ca8f
Author: Aaron Bockover <abockover@novell.com>
Date: Tue May 8 18:17:50 2007 +0000
Removed
svn path=/trunk/taglib-sharp/; revision=76955
commit 22ef266a4a8fc1d98e54da8be504cb89afaf68c0
Author: Aaron Bockover <abockover@novell.com>
Date: Tue May 8 18:16:30 2007 +0000
2007-05-07 Aaron Bockover <abockover@novell.com>
* src/TagLib/TagLib.sources: Added a separate file to define what sources
to build so that applications bundling TagLib don't have to worry about
keeping the list in sync - they can just include the file in their build
* src/Makefile.am: Include TagLib/TagLib.sources
* docs/Makefile.am: Added an empty/stub file to fix the build for now
svn path=/trunk/taglib-sharp/; revision=76954
commit dfe9c553fe1bb09b1410b9b30c595e8c33fb3a5b
Author: Brian Nickel <bnickel@mono-cvs.ximian.com>
Date: Mon May 7 09:11:30 2007 +0000
2007-05-07 Brian Nickel <brian.nickel@gmail.com>
* src/TagLib/Riff/File.cs: Add support for WAVE files. Better improve
"Read ()" to handle other extensions. (Still pretty ugly.)
* src/TagLib/Riff/AviStream.cs:
* src/TagLib/Riff/BitmapInfoHeader.cs:
* src/TagLib/Riff/AviHeaderList.cs:
* src/TagLib/Riff/WaveFormatEx.cs:
* src/TagLib/Asf/StreamPropertiesObject.cs: De-stupidify. Make
WaveFormatEx and BitmapInfoHeader inheric I*Codec and remove excess
formats.
svn path=/trunk/taglib-sharp/; revision=76811
commit 5d72c831f294e17dfd10747dca4380b97ce4a562
Author: Brian Nickel <bnickel@mono-cvs.ximian.com>
Date: Mon May 7 03:25:10 2007 +0000
2007-05-04 Brian Nickel <brian.nickel@gmail.com>
* src/TagLib/Id3v2/Frames/RelativeVolumeFrame.cs:
* src/TagLib/Id3v2/Frames/AttachedPictureFrame.cs:
* src/TagLib/Id3v2/Frames/UniqueFileIdentifierFrame.cs:
* src/TagLib/Id3v2/Frames/PrivateFrame.cs:
* src/TagLib/Id3v2/Frames/GeneralEncapsulatedObjectFrame.cs:
* src/TagLib/Id3v2/Frames/TextIdentificationFrame.cs: Added better type
checking in "Get"
* src/TagLib/ByteVector.cs: Fixed ToStrings align problem from previous
revision.
* docs/en/*/*.xml: Updated.
svn path=/trunk/taglib-sharp/; revision=76805
commit 35595c85aac187b4fd0e3663d4ad4e6316fb0059
Author: Brian Nickel <bnickel@mono-cvs.ximian.com>
Date: Fri May 4 09:28:34 2007 +0000
2007-05-04 Brian Nickel <brian.nickel@gmail.com>
* src/TagLib/Riff/AviStream.cs:
* src/TagLib/Riff/BitmapInfoHeader.cs:
* src/TagLib/Riff/WaveFormatEx.cs:
* src/TagLib/Id3v2/Frames/RelativeVolumeFrame.cs:
* src/TagLib/Mpeg/File.cs:
* src/TagLib/Mpeg/VideoHeader.cs:
* src/TagLib/ByteVector.cs:
* src/TagLib/WavPack/StreamHeader.cs:
* src/TagLib/Ape/Footer.cs:
* src/TagLib/Asf/PaddingObject.cs:
* src/TagLib/Asf/File.cs:
* src/TagLib/Asf/HeaderObject.cs:
* src/TagLib/Asf/StreamPropertiesObject.cs:
* src/TagLib/Asf/FilePropertiesObject.cs:
* src/TagLib/Asf/ContentDescriptionObject.cs:
* src/TagLib/Asf/ExtendedContentDescriptionObject.cs:
* src/TagLib/Asf/Object.cs:
* src/TagLib/Asf/Guid.cs:
* src/TagLib/Asf/ContentDescriptor.cs:
* src/TagLib/Mpeg4/Boxes/IsoMovieHeaderBox.cs:
* src/TagLib/Mpeg4/Boxes/IsoSampleEntry.cs:
* src/TagLib/Mpeg4/Boxes/IsoChunkLargeOffsetBox.cs:
* src/TagLib/Mpeg4/Boxes/IsoAudioSampleEntry.cs:
* src/TagLib/Mpeg4/Boxes/AppleElementaryStreamDescriptor.cs:
* src/TagLib/Mpeg4/Boxes/IsoVisualSampleEntry.cs:
* src/TagLib/Mpeg4/AppleTag.cs:
* src/TagLib/Mpeg4/BoxHeader.cs:
* src/TagLib/Mpeg4/Box.cs:
* src/TagLib/Ogg/Codecs/Theora.cs:
* src/TagLib/Ogg/PageHeader.cs: Goodbye, short and long, hello ushort
and ulong. This should avoid those pesky OverflowExceptions.
svn path=/trunk/taglib-sharp/; revision=76662
commit efa333489ab79f3ca9d5057fdafde428c97d7c5e
Merge: ef7278e 50c43d0
Author: Brian Nickel <bnickel@mono-cvs.ximian.com>
Date: Thu May 3 19:16:40 2007 +0000
2007-05-03 Brian Nickel <brian.nickel@gmail.com>
Revamped TagLib.Properties by making it non-overridable and having it read
ICodec, IAudioCodec, and IVideoCodec items. This provides support for reading
information strictly from an audio or video stream property, decreasing the
abstraction.
* src/TagLib/Mpc/File.cs:
* src/TagLib/Mpc/StreamHeader.cs:
* src/TagLib/File.cs:
* src/TagLib/ByteVectorList.cs:
* src/TagLib/Riff/List.cs:
* src/TagLib/Riff/AviStream.cs:
* src/TagLib/Riff/File.cs:
* src/TagLib/Riff/BitmapInfoHeader.cs:
* src/TagLib/Riff/AviHeaderList.cs:
* src/TagLib/Riff/ListTag.cs:
* src/TagLib/Riff/InfoTag.cs:
* src/TagLib/Riff/MovieIdTag.cs:
* src/TagLib/Riff/WaveFormatEx.cs:
* src/TagLib/Mpeg/File.cs:
* src/TagLib/Mpeg/VideoHeader.cs:
* src/TagLib/Mpeg/AudioFile.cs:
* src/TagLib/Mpeg/AudioHeader.cs:
* src/TagLib/ICodec.cs:
* src/TagLib/WavPack/File.cs:
* src/TagLib/WavPack/StreamHeader.cs:
* src/TagLib/Properties.cs:
* src/TagLib/Flac/File.cs:
* src/TagLib/Flac/StreamHeader.cs:
* src/TagLib/Asf/File.cs:
* src/TagLib/Asf/HeaderObject.cs:
* src/TagLib/Asf/StreamPropertiesObject.cs:
* src/TagLib/ListBase.cs:
* src/TagLib/Mpeg4/Boxes/IsoMovieHeaderBox.cs:
* src/TagLib/Mpeg4/Boxes/IsoAudioSampleEntry.cs:
* src/TagLib/Mpeg4/Boxes/IsoVisualSampleEntry.cs:
* src/TagLib/Mpeg4/File.cs:
* src/TagLib/Ogg/Codecs/Theora.cs:
* src/TagLib/Ogg/Codecs/Vorbis.cs:
* src/TagLib/Ogg/Codec.cs:
* src/TagLib/Ogg/File.cs:
* examples/ReadFromUri.cs: Add support for new ICodec derivatives.
* src/TagLib/ByteVector.cs: Fix reading of UTF16 in certain cases.
* src/taglib-sharp.mdp:
* src/Makefile.am:
* taglib-sharp.csproj: New files.
* docs/en/*/*.xml: Updated docs.
svn path=/trunk/taglib-sharp/; revision=76641
commit ef7278e7ac8544619e423fa14cea88ebe8eb3f6e
Author: Brian Nickel <bnickel@mono-cvs.ximian.com>
Date: Thu Apr 26 09:41:21 2007 +0000
2007-04-26 Brian Nickel <brian.nickel@gmail.com>
* docs/en/*/*.xml: Updated docs. Removed bad files.
svn path=/trunk/taglib-sharp/; revision=76304
commit f965e2da293e9d5b756aed6bbe798f6bd4f39fab
Author: Brian Nickel <bnickel@mono-cvs.ximian.com>
Date: Thu Apr 26 09:34:56 2007 +0000
Removing docs temporarily.
svn path=/trunk/taglib-sharp/; revision=76302
commit b5eca1f4a46f1a198e7108d14b998413f6228c1d
Author: Brian Nickel <bnickel@mono-cvs.ximian.com>
Date: Wed Apr 25 23:25:33 2007 +0000
2007-04-25 Brian Nickel <brian.nickel@gmail.com>
taglib-sharp-1.9.99991 (2.0 beta 1)
* src/TagLib/Riff/List.cs:
* src/TagLib/Riff/File.cs: RIFF abhors odd byte counts.
* src/TagLib/Asf/Tag.cs: Removed random extra Console.WriteLine.
* docs/en/*/*.xml: Synced
* configure.ac: Version bump
svn path=/trunk/taglib-sharp/; revision=76294
commit 50c43d0fc876694dfc582d3e8b835d6fe7e088b4
Author: Brian Nickel <bnickel@mono-cvs.ximian.com>
Date: Tue Apr 24 06:54:01 2007 +0000
2007-04-23 Brian Nickel <brian.nickel@gmail.com>
Added support for AVI video files! Revamped the GenreList for video genres.
* src/TagLib/File.cs: New tag types.
* src/TagLib/Id3v1/Tag.cs: Clean up.
* src/TagLib/Riff/List.cs:
* src/TagLib/Riff/AviProperties.cs:
* src/TagLib/Riff/File.cs:
* src/TagLib/Riff/DivXTag.cs:
* src/TagLib/Riff/ListTag.cs:
* src/TagLib/Riff/InfoTag.cs:
* src/TagLib/Riff/MovieIdTag.cs: AVI support!
* src/TagLib/Genres.cs: Refactored GenreList.
* src/TagLib/Id3v2/Tag.cs: Clean up rendering.
* src/TagLib/Id3v2/Frames/UnknownFrame.cs: Expand support.
* src/TagLib/NonContainer/EndTag.cs:
* src/TagLib/NonContainer/StartTag.cs: Id3v2 changes.
* src/TagLib/FileTypes.cs: Added Riff type.
* src/TagLib/Asf/File.cs:
* src/TagLib/Asf/Tag.cs:
* src/TagLib/Asf/ExtendedContentDescriptionObject.cs: IEnumerable.
* src/TagLib/Mpeg4/FileParser.cs:
* src/TagLib/Mpeg4/AppleTag.cs: Use BoxList and IEnumerable.
* src/TagLib/Ogg/File.cs: AccessMode should be Write, not read.
* src/taglib-sharp.mdp:
* src/Makefile.am:
* taglib-sharp.csproj: New files.
svn path=/trunk/taglib-sharp/; revision=76161
commit 1a6210a60dbf350488095ea0a234ba9ee808e133
Merge: 545c1a4 e89151f
Author: Brian Nickel <bnickel@mono-cvs.ximian.com>
Date: Wed Apr 18 01:57:51 2007 +0000
2007-04-17 Brian Nickel <brian.nickel@gmail.com>
Added support for MPEG-1/2 video files! Major API changes in TagLib.Mpeg
namespace.
* src/TagLib/File.cs: Make BufferSize public.
* src/TagLib/Id3v2/Tag.cs: Accidentally accounted for footer twice.
* src/TagLib/Mpeg/Properties.cs: Support video, refractor code.
* src/TagLib/Mpeg/File.cs: Support complete MPEG-1/2 file.
* src/TagLib/Mpeg/VideoHeader.cs: Parses the content of a mpeg box.
* src/TagLib/Mpeg/AudioFile.cs: Renamed from File.cs as it is simply an
implementation of the audio stream rather than a complete file.
* src/TagLib/Mpeg/AudioHeader.cs: Renamed from Header.cs
* src/TagLib/NonContainer/EndTag.cs: Fix rendering of Id3v1 tags. Fix
prioritizing of tags.
* src/TagLib/FileTypes.cs: New file type Mpeg.AudioFile
* src/Makefile.am:
* src/taglib-sharp.mdp:
* taglib-sharp.csproj: New files.
svn path=/trunk/taglib-sharp/; revision=75856
commit 545c1a48a735d8baf7650e6bc92a469d988aef55
Author: Brian Nickel <bnickel@mono-cvs.ximian.com>
Date: Mon Apr 16 02:16:12 2007 +0000
2007-04-15 Brian Nickel <brian.nickel@gmail.com>
Added support for MPEG-4 video!
* src/TagLib/Tag.cs:
* src/TagLib/File.cs:
* src/TagLib/Mpeg/XingHeader.cs:
* src/TagLib/Properties.cs: Removed obsolete properties and methods.
* src/TagLib/Ape/Tag.cs:
* src/TagLib/Ape/Footer.cs:
* src/TagLib/Ape/Item.cs: Cleaned up formatting a bit.
* src/TagLib/Mpeg4/Boxes/IsoSampleEntry.cs:
* src/TagLib/Mpeg4/Boxes/IsoAudioSampleEntry.cs:
* src/TagLib/Mpeg4/Boxes/IsoVisualSampleEntry.cs:
* src/TagLib/Mpeg4/Boxes/AppleElementaryStreamDescriptor.cs:
* src/TagLib/Mpeg4/Boxes/IsoSampleDescriptionBox.cs:
* src/TagLib/Mpeg4/Properties.cs:
* src/TagLib/Mpeg4/FileParser.cs:
* src/TagLib/Mpeg4/File.cs:
* src/TagLib/Mpeg4/BoxFactory.cs: Added visual support.
* src/Makefile.am
* src/taglib-sharp.mdp
* taglib-sharp.csproj: Added new files.
* tests/fixtures/TagLib.FormatTests/AsfFormatTest.cs: The test did not
represent the field interpretation.
svn path=/trunk/taglib-sharp/; revision=75741
commit 7f1c6a59af367729df95412be794af386878db94
Author: Brian Nickel <bnickel@mono-cvs.ximian.com>
Date: Sun Apr 15 20:57:03 2007 +0000
2007-04-15 Brian Nickel <brian.nickel@gmail.com>
* src/TagLib/Id3v2/Tag.cs:
* src/TagLib/Id3v2/FrameFactory.cs: Removed DefaultEncoding stuff from
FrameFactory and put it in Tag. Additionally, instead of enforcing the
default encoding at read time, it is enforced at render time. It has
also been changed so the tags save in the same version they were read in
by default. This should avoid the greatest number of problems without
the need for developer intervention.
* src/TagLib/Id3v2/Frames/UnsynchronisedLyricsFrame.cs:
* src/TagLib/Id3v2/Frames/RelativeVolumeFrame.cs:
* src/TagLib/Id3v2/Frames/CommentsFrame.cs:
* src/TagLib/Id3v2/Frames/AttachedPictureFrame.cs:
* src/TagLib/Id3v2/Frames/UniqueFileIdentifierFrame.cs:
* src/TagLib/Id3v2/Frames/PrivateFrame.cs:
* src/TagLib/Id3v2/Frames/GeneralEncapsulatedObjectFrame.cs:
* src/TagLib/Id3v2/Frames/TextIdentificationFrame.cs: Replace Find with
Get (Tag tag, ..., bool create). This new method will find a specified
frame if it exists, and can create it and append it if it doesn't.
* src/TagLib/Id3v2/Frame.cs: Enforce ForceDefaultEncoding.
* src/TagLib/Asf/Tag.cs:
* src/TagLib/Asf/File.cs:
* src/TagLib/Asf/HeaderObject.cs:
* src/TagLib/Asf/ExtendedContentDescriptionObject.cs: All generic.
* src/TagLib/Mpeg4/File.cs:
* src/TagLib/Mpeg4/Box.cs: AppleTag wasn't getting attached to .Tag
* tests/tests.mdp: Removed ApeFormatTest as it was unsupported.
* tests/fixtures/TagLib.FormatTests/FlacFormatTest.cs:
* tests/fixtures/TagLib.FormatTests/Id3V1FormatTest.cs:
* tests/fixtures/TagLib.FormatTests/Id3V2FormatTest.cs:
* tests/fixtures/TagLib.FormatTests/AsfFormatTest.cs:
* tests/fixtures/TagLib.FormatTests/Id3BothFormatTest.cs:
* tests/fixtures/TagLib.FormatTests/OggFormatTest.cs:
* tests/fixtures/TagLib.FormatTests/MpcFormatTest.cs:
* tests/fixtures/TagLib.FormatTests/M4aFormatTest.cs: Updated for new
API.
* configure.ac: Version bump.
svn path=/trunk/taglib-sharp/; revision=75736
commit e89151f9fab8c2b1d1f2160c708319025dc91757
Author: Brian Nickel <bnickel@mono-cvs.ximian.com>
Date: Mon Apr 9 23:11:58 2007 +0000
2007-04-09 Brian Nickel <brian.nickel@gmail.com>
* src/AssemblyInfo-windows.cs:
* configure.ac:
* taglib-sharp.csproj: Apply version bump. Now 1.9.*
svn path=/trunk/taglib-sharp/; revision=75556
commit 6728903ef66fa53592b1cb9f993fd97cc66217a6
Merge: 4183fba e7de1a7
Author: Brian Nickel <bnickel@mono-cvs.ximian.com>
Date: Fri Apr 6 09:54:26 2007 +0000
2007-04-06 Brian Nickel <brian.nickel@gmail.com>
MAJOR API CHANGES! COMPLETE NEW OGG BACKEND! VIDEO SUPPORT IN OGG AND ASF!
* src/TagLib/Mpc/Properties.cs:
* src/TagLib/Mpc/File.cs: Support new "Properties".
* src/TagLib/File.cs: Support new "Properties".
* src/TagLib/Id3v2/Tag.cs:
* src/TagLib/Id3v2/FrameFactory.cs:
* src/TagLib/Id3v2/Frames/AttachedPictureFrame.cs:
* src/TagLib/Id3v2/Frames/PrivateFrame.cs:
* src/TagLib/Id3v2/Frames/GeneralEncapsulatedObjectFrame.cs: Better error
handling.
* src/TagLib/Mpeg/Properties.cs: Support new "Properties".
* src/TagLib/Mpeg/XingHeader.cs: Mark IsValid as obsolete.
* src/TagLib/Mpeg/File.cs:
* src/TagLib/WavPack/Properties.cs:
* src/TagLib/WavPack/File.cs: Support new "Properties".
* src/TagLib/NonContainer/File.cs: Support new "Properties".
* src/TagLib/NonContainer/EndTag.cs:
* src/TagLib/NonContainer/StartTag.cs: Better error handling.
* src/TagLib/Properties.cs: Abolish overly specific "AudioProperties"
* src/TagLib/Ape/Item.cs: Replace Debugger with Exception
* src/TagLib/Flac/Properties.cs:
* src/TagLib/Flac/File.cs: Support new "Properties".
* src/TagLib/FileTypes.cs: Remove dead file types.
* src/TagLib/Asf/Tag.cs: Allow tag clearing.
* src/TagLib/Asf/Properties.cs:
* src/TagLib/Asf/File.cs: Support new "Properties". Support video.
* src/TagLib/Asf/Guid.cs: Fix typo in GUID plain text.
* src/TagLib/Mpeg4/Properties.cs:
* src/TagLib/Mpeg4/AppleTag.cs:
* src/TagLib/Mpeg4/File.cs: Move saving out of the AppleTag. Will allow
future implimentation of ID3v2 boxes.
* src/TagLib/Ogg/XiphComment.cs:
* src/TagLib/Ogg/Page.cs:
* src/TagLib/Ogg/Codecs/Theora.cs:
* src/TagLib/Ogg/Codecs/Vorbis.cs:
* src/TagLib/Ogg/Properties.cs:
* src/TagLib/Ogg/Codec.cs:
* src/TagLib/Ogg/File.cs:
* src/TagLib/Ogg/Paginator.cs:
* src/TagLib/Ogg/PageHeader.cs:
* src/TagLib/Ogg/GroupedComment.cs:
* src/TagLib/Ogg/Bitstream.cs: Recoded for multistream files.
* src/Makefile.am:
* src/taglib-sharp.mdp: Updated for new files.
* docs/en/*: Updated docs to new API.
* examples/ReadFromUri.cs: Added video support.
svn path=/trunk/taglib-sharp/; revision=75474
commit 4183fbac47082a49488a4d24369525b27c631fb9
Author: Brian Nickel <bnickel@mono-cvs.ximian.com>
Date: Fri Mar 23 21:56:30 2007 +0000
2007-03-23 Brian Nickel <brian.nickel@gmail.com>
* src/TagLib/File.cs: Don't catch exceptions on mode change.
* src/TagLib/Id3v1/Tag.cs: Use TryParse rather than try{Parse}.
* src/TagLib/Id3v2/Tag.cs: Remove "0" values rather than storing "0". Use
TryParse rather than try{Parse}.
* src/TagLib/Id3v2/Frames/TextIdentificationFrame.cs: Use TryParse rather
than try{Parse}.
* src/TagLib/Ape/Tag.cs: Remove "0" values rather than storing "0". Use
TryParse rather than try{Parse}.
* src/TagLib/Asf/Tag.cs: Remove "0" values rather than storing "0". Use
TryParse rather than try{Parse}.
* src/TagLib/Asf/ContentDescriptor.cs: Use TryParse rather than try{Parse}.
* src/TagLib/Mpeg4/AppleTag.cs: Use TryParse rather than try{Parse}.
* src/TagLib/Ogg/XiphComment.cs: Remove "0" values rather than storing "0".
Use TryParse rather than try{Parse}.
* src/TagLib/Ogg/Vorbis/File.cs: Don't catch exceptions on mode change.
svn path=/trunk/taglib-sharp/; revision=74925
commit 2fa8af7af3c6de35cb9e1ce913bbf326bdaecedb
Author: Brian Nickel <bnickel@mono-cvs.ximian.com>
Date: Fri Mar 23 00:12:55 2007 +0000
2007-03-22 Brian Nickel <brian.nickel@gmail.com>
* src/TagLib/Id3v2/Frames/TextIdentificationFrame.cs: Remove null termination
in ID3v2.3 and below.
* src/TagLib/WavPack/File.cs:
* src/TagLib/Mpc/File.cs:
* src/TagLib/Mpeg/File.cs: Include sane default tags.
* docs/en/*: Synched docs.
svn path=/trunk/taglib-sharp/; revision=74861
commit a19253ce77d06f7a4681faf5cefa16d6b7b02e45
Author: Brian Nickel <bnickel@mono-cvs.ximian.com>
Date: Wed Mar 14 21:23:42 2007 +0000
2007-03-14 Brian Nickel <brian.nickel@gmail.com>
* docs/en/*: Synced docs.
svn path=/trunk/taglib-sharp/; revision=74308
commit e7de1a714ef4336295c85bb0ca0e73b96c4a6b47
Author: Brian Nickel <bnickel@mono-cvs.ximian.com>
Date: Wed Mar 14 07:15:31 2007 +0000
2007-03-13 Brian Nickel <brian.nickel@gmail.com>
Lyrics support! Fixed write support in MPEG-4 and ASF.
* src/TagLib/Tag.cs:
* src/TagLib/CombinedTag.cs:
* src/TagLib/Id3v2/Tag.cs:
* src/TagLib/Id3v2/FrameFactory.cs:
* src/TagLib/Id3v2/Frames/UnsynchronisedLyricsFrame.cs:
* src/TagLib/Ape/Tag.cs:
* src/TagLib/Asf/Tag.cs:
* src/TagLib/Mpeg4/Boxes/FullBox.cs:
* src/TagLib/Mpeg4/AppleTag.cs:
* src/TagLib/Mpeg4/BoxTypes.cs:
* src/TagLib/Mpeg4/Box.cs:
* src/TagLib/Ogg/XiphComment.cs: Lyrics support. Special thanks to Patrick
Laplante.
* src/TagLib/Id3v2/Frames/CommentsFrame.cs:
* src/TagLib/ByteVector.cs: Fix up UTF16 handling.
* src/TagLib/Asf/HeaderObject.cs: Fix writing. Wasn't writing header GUID!
* src/Makefile.am:
* src/taglib-sharp.mdp:
* taglib-sharp.csproj: Update project files.
* examples/BatchSet.cs:
* examples/ReadFromUri.cs: Support lyrics.
svn path=/trunk/taglib-sharp/; revision=74237
commit f294436840eb53c3d2b28b7d62373af83cba478b
Merge: 720db6c 50d6746
Author: Brian Nickel <bnickel@mono-cvs.ximian.com>
Date: Wed Mar 14 02:13:29 2007 +0000
2007-03-13 Brian Nickel <brian.nickel@gmail.com>
Performance enhancement for MPEG-4 files. Stole an idea from Entagged#.
* src/TagLib/Mpeg4/FileParser.cs: ADDED
* src/TagLib/Mpeg4/BoxTypes.cs: ADDED
* src/TagLib/Mpeg4/BoxFactory.cs: ADDED
* src/TagLib/Mpeg4/BoxList.cs: ADDED
* src/TagLib/Mpeg4/Box.cs: ADDED
* src/TagLib/Mpeg4/Boxes/FullBox.cs:
* src/TagLib/Mpeg4/Boxes/IsoMovieHeaderBox.cs:
* src/TagLib/Mpeg4/Boxes/IsoSampleTableBox.cs:
* src/TagLib/Mpeg4/Boxes/IsoChunkLargeOffsetBox.cs:
* src/TagLib/Mpeg4/Boxes/IsoSampleEntry.cs:
* src/TagLib/Mpeg4/Boxes/AppleAdditionalInfoBox.cs:
* src/TagLib/Mpeg4/Boxes/IsoFreeSpaceBox.cs:
* src/TagLib/Mpeg4/Boxes/AppleItemListBox.cs:
* src/TagLib/Mpeg4/Boxes/IsoUserDataBox.cs:
* src/TagLib/Mpeg4/Boxes/IsoHandlerBox.cs:
* src/TagLib/Mpeg4/Boxes/AppleElementaryStreamDescriptor.cs:
* src/TagLib/Mpeg4/Boxes/IsoChunkOffsetBox.cs:
* src/TagLib/Mpeg4/Boxes/AppleDataBox.cs:
* src/TagLib/Mpeg4/Boxes/AppleAnnotationBox.cs:
* src/TagLib/Mpeg4/Boxes/UnknownBox.cs:
* src/TagLib/Mpeg4/Boxes/IsoSampleDescriptionBox.cs:
* src/TagLib/Mpeg4/Boxes/IsoMetaBox.cs:
* src/TagLib/Mpeg4/Properties.cs:
* src/TagLib/Mpeg4/AppleTag.cs:
* src/TagLib/Mpeg4/File.cs:
* src/TagLib/Mpeg4/BoxHeader.cs: Adapted to new parser.
* src/TagLib/Mpeg4/Boxes/IsoTrackBox.cs: DELETED
* src/TagLib/Mpeg4/Boxes/Box.cs: DELETED
* src/TagLib/Mpeg4/Boxes/FileBox.cs: DELETED
* src/TagLib/Mpeg4/Boxes/IsoMovieBox.cs: DELETED
* src/TagLib/Mpeg4/Boxes/IsoMediaBox.cs: DELETED
* src/TagLib/Mpeg4/Boxes/IsoMediaInformationBox.cs: DELETED
* src/TagLib/File.cs: Make ReadBlock make a a little more sense.
* src/TagLib/Id3v2/Tag.cs: Support tag-wide unsynchronization.
* src/TagLib/Id3v2/SynchData.cs: Add support for unsynching a bytevector.
* src/TagLib/Id3v2/FrameHeader.cs: We don't actually support frame tags.
Don't pretend that we do.
* src/TagLib/Debugger.cs: Fix typo and crasher in code timer.
* src/TagLib/ByteVector.cs: Make Mid a little faster.
* src/TagLib/NonContainer/EndTag.cs:
* src/TagLib/NonContainer/StartTag.cs: End tags should be at least version 4
* src/Makefile.am:
* src/taglib-sharp.mdp:
* taglib-sharp.csproj: Update for new files.
svn path=/trunk/taglib-sharp/; revision=74224
commit 720db6c2ce8a78239a0bb0733d8506106ba3b097
Author: Brian Nickel <bnickel@mono-cvs.ximian.com>
Date: Fri Mar 9 18:13:38 2007 +0000
2007-03-09 Brian Nickel <brian.nickel@gmail.com>
* configure.ac: Fixed version information.
svn path=/trunk/taglib-sharp/; revision=74020
commit 5e0401e40accf5da245ce7f8359f2ad05b00016b
Author: Brian Nickel <bnickel@mono-cvs.ximian.com>
Date: Fri Mar 9 11:29:53 2007 +0000
2007-03-09 Brian Nickel <brian.nickel@gmail.com>
"I do not regret the things I've done, but those I did not do."
* src/TagLib/Id3v2/Tag.cs:
* src/TagLib/Id3v2/FrameFactory.cs:
* src/TagLib/Id3v2/FrameHeader.cs:
* src/TagLib/Id3v2/Header.cs:
* src/TagLib/Id3v2/Frames/RelativeVolumeFrame.cs:
* src/TagLib/Id3v2/Frames/CommentsFrame.cs:
* src/TagLib/Id3v2/Frames/AttachedPictureFrame.cs:
* src/TagLib/Id3v2/Frames/UniqueFileIdentifierFrame.cs:
* src/TagLib/Id3v2/Frames/PrivateFrame.cs:
* src/TagLib/Id3v2/Frames/GeneralEncapsulatedObjectFrame.cs:
* src/TagLib/Id3v2/Frames/TextIdentificationFrame.cs:
* src/TagLib/Id3v2/Frames/UnknownFrame.cs:
* src/TagLib/Id3v2/Frame.cs: Reworked reading/writing code to better support
writing Id3v2.2 and Id2v2.3. This is the first go at it, and there is room
for cleanup in the code, but it works, and it works and it works well.
svn path=/trunk/taglib-sharp/; revision=73998
commit 50d67469ce05d4ce7d17fce881439cc02508f0e8
Author: Brian Nickel <bnickel@mono-cvs.ximian.com>
Date: Fri Mar 9 01:54:47 2007 +0000
2007-03-08 Brian Nickel <brian.nickel@gmail.com>
* src/TagLib/Mpc/File.cs: Inherit NonContainer.File
* src/TagLib/CombinedTag.cs: Add some useful features for NonContainer.*
* src/TagLib/Id3v1/Tag.cs: Add Tag.Size instead of repeated hardcoding of
128.
* src/TagLib/Id3v2/Footer.cs:
* src/TagLib/Id3v2/Header.cs: Throw proper CorruptFileExceptions
* src/TagLib/Mpeg/File.cs: Inherit NonContainer.File
* src/TagLib/WavPack/File.cs: Inherit NonContainer.File
* src/TagLib/NonContainer:
* src/TagLib/NonContainer/Tag.cs:
* src/TagLib/NonContainer/File.cs:
* src/TagLib/NonContainer/EndTag.cs:
* src/TagLib/NonContainer/StartTag.cs: New generic abstracts for files
that can start/end with an assortment of tags. (FLAC, WV, MPC, MP3)
* src/TagLib/Ape/Tag.cs: Read backwards if a footer is found and forwards if
a header is found.
* src/TagLib/Ape/Footer.cs: FooterPresent and IsHeader were read
incorrectly. Also throw proper exceptions while reading.
* src/TagLib/Flac/File.cs: Inherit NonContainer.File
* src/TagLib/Flac/BlockHeader.cs:
* src/TagLib/Flac/Block.cs: Removed from Flac.File, made public.
* src/TagLib/Mpeg4/File.cs: Remove old commented code.
* src/Makefile.am:
* src/taglib-sharp.csproj:
* src/taglib-sharp.mdp:
* taglib-sharp.mds:
* tests/tests.mdp:
* examples/SetPictures.mdp:
* examples/ReadFromUri.mdp: Updates.
svn path=/trunk/taglib-sharp/; revision=73980
commit 638a8773ef6babb4207fc17129b95da3c27d9c89
Author: Brian Nickel <bnickel@mono-cvs.ximian.com>
Date: Mon Mar 5 00:59:31 2007 +0000
2007-03-04 Brian Nickel <brian.nickel@gmail.com>
* src/TagLib/File.cs: We don't use file.file_types. Comment it out to avoid
the warning.
* src/TagLib/Tag.cs:
* src/TagLib/Id3v1/Tag.cs:
* src/TagLib/Id3v2/Tag.cs:
* src/TagLib/Id3v2/FrameFactory.cs:
* src/TagLib/Id3v2/Frames/GeneralEncapsulatedObjectFrame.cs:
* src/TagLib/Id3v2/Frames/TextIdentificationFrame.cs:
* src/TagLib/Debugger.cs:
* src/TagLib/Ape/Tag.cs:
* src/TagLib/Asf/Tag.cs:
* src/TagLib/Asf/ContentDescriptionObject.cs:
* src/TagLib/Mpeg4/AppleTag.cs:
* src/TagLib/Ogg/XiphComment.cs:
* docs/MonodocNodeConfig.cs:
* tests/fixtures/TagLib.CollectionTests/StringListTest.cs:
* tests/fixtures/TagLib.CollectionTests/IntListTest.cs:
* examples/ReadFromUri.cs: Use string.Empty instead of "".
* src/TagLib/Id3v2/Frames/CommentsFrame.cs: Support broken COMM frames that
don't contain a comment description string.
svn path=/trunk/taglib-sharp/; revision=73697
commit 7edb701b614ced81d2cee17180197efb2e88c32c
Author: Brian Nickel <bnickel@mono-cvs.ximian.com>
Date: Wed Feb 21 20:17:39 2007 +0000
2007-02-12 Brian Nickel <brian.nickel@gmail.com>
* src/TagLib/File.cs: Added support for read sharing in ReadStream. This
should eliminate a problem in Windows where files couldn't be read while
they were playing. Solution by Ion Todirel.
* src/TagLib/Id3v2/Frames/TextIdentificationFrame.cs: Strip all empty
strings from the end of the FieldList. This should fix strings that were
badly tagged, with either a nil character or the sum total of the ID3v1
string attached. May fix banshee bug #410116.
* tests/Makefile.am: Removed line blocking distcheck
svn path=/trunk/taglib-sharp/; revision=73276
commit 815bd6d7ac68b1629fd0be0b86194205fe2ef1cb
Author: Brian Nickel <bnickel@mono-cvs.ximian.com>
Date: Tue Feb 13 03:56:10 2007 +0000
2007-02-12 Brian Nickel <brian.nickel@gmail.com>
* src/TagLib/ByteVector.cs: Fix support for Latin1.
* taglib-sharp.csproj: Work on Windows.
svn path=/trunk/taglib-sharp/; revision=72728
commit 8756a473fa6c667fc55bfdf56b9eacab54c39b99
Author: Brian Nickel <bnickel@mono-cvs.ximian.com>
Date: Mon Feb 12 20:07:50 2007 +0000
2007-02-12 Brian Nickel <brian.nickel@gmail.com>
* src/TagLib/File.cs: Remove ReadOnly checking. This is to add compatability
with the .NET Compact Framework and to remove some ugly code. Libraries
using TagLib# should check file writability for themselves if they want
the writable status before Save() is called. Also use more compatable
Array.Copy().
* src/TagLib/Mpeg/File.cs: Comment out unused method.
* src/TagLib/ByteVector.cs: Use more compatable Array.Copy()
* src/TagLib/ReadOnlyException.cs: Removed because unused.
* src/AssemblyInfo.cs.in: Update copyright.
* src/AssemblyInfo-windows.cs: Update version and copyright.
* src/Makefile.am:
* src/taglib-sharp.mdp:
* taglib-sharp.csproj: Update files.
svn path=/trunk/taglib-sharp/; revision=72686
commit 3d0a431324e1913d77e79835a120b7f35b7b2b18
Author: Brian Nickel <bnickel@mono-cvs.ximian.com>
Date: Mon Feb 12 01:10:41 2007 +0000
2007-02-10 Brian Nickel <brian.nickel@gmail.com>
* src/TagLib/Id3v2/Tag.cs:
* src/TagLib/Id3v2/FrameFactory.cs:
* src/TagLib/Id3v2/Frames/RelativeVolumeFrame.cs:
* src/TagLib/Id3v2/Frames/CommentsFrame.cs:
* src/TagLib/Id3v2/Frames/AttachedPictureFrame.cs:
* src/TagLib/Id3v2/Frames/UniqueFileIdentifierFrame.cs:
* src/TagLib/Id3v2/Frames/PrivateFrame.cs:
* src/TagLib/Id3v2/Frames/GeneralEncapsulatedObjectFrame.cs:
* src/TagLib/Id3v2/Frames/TextIdentificationFrame.cs:
* src/TagLib/Id3v2/Frames/UnknownFrame.cs:
* src/TagLib/Id3v2/Frame.cs:
* src/TagLib/ByteVector.cs: VASTLY improved the loading of ID3v2 tags by
breaking API compatability. (This isn't a major concern at the moment.)
Removed a major piece of code which was causing about 80% of the read time.
* src/TagLib/Debugger.cs: Added new way to test for slow code blocks.
svn path=/trunk/taglib-sharp/; revision=72636
commit 316a7c6ca649172d5c4056462b57b0de5f0ddb0e
Author: Brian Nickel <bnickel@mono-cvs.ximian.com>
Date: Sat Feb 10 19:09:52 2007 +0000
2007-02-10 Brian Nickel <brian.nickel@gmail.com>
* src/TagLib/Mpeg/File.cs: Fix bug introduced on 2007-01-26. If a file
lacked an Id3v2 tag, TagLib read the whole file. Initial analysis shows this
being marginally faster than the even older version.
* src/TagLib/Id3v2/Frames/RelativeVolumeFrame.cs:
* src/TagLib/Ape/Tag.cs:
* src/TagLib/Ogg/XiphComment.cs:
* src/TagLib/Ogg/File.cs: Abolish Hashtable. ArrayList is next.
svn path=/trunk/taglib-sharp/; revision=72582
commit 46b8662f783314ca5821473484137f04eb93c6cc
Author: Brian Nickel <bnickel@mono-cvs.ximian.com>
Date: Mon Jan 29 19:41:33 2007 +0000
2007-01-29 Brian Nickel <brian.nickel@gmail.com>
* examples/ReadFromUri.cs: Remove accidental commenting out.
svn path=/trunk/taglib-sharp/; revision=71907
commit 745e88d2b9f894d23ef22f285fafe10c285c9f42
Author: Brian Nickel <bnickel@mono-cvs.ximian.com>
Date: Sat Jan 27 06:11:01 2007 +0000
2007-01-26 Brian Nickel <brian.nickel@gmail.com>
CLEANUPS! For the most part, internal code has been cleaned up to be less
hackish. One major feature is the obsoleting of SetValid and IsValid. If
a file is invalid, it will now throw a CorruptFileException.
* src/TagLib/Mpc/Properties.cs:
* src/TagLib/Mpc/File.cs: Better search functions.
* src/TagLib/File.cs: Clean out and Obsolete bad code.
* src/TagLib/Id3v1/Tag.cs: Cleaner functions.
* src/TagLib/Mpeg/Properties.cs:
* src/TagLib/Mpeg/XingHeader.cs:
* src/TagLib/Mpeg/File.cs:
* src/TagLib/Mpeg/Header.cs: Better search functions, calculations, and
exceptions.
* src/TagLib/WavPack/Properties.cs:
* src/TagLib/WavPack/File.cs: Use better search functions.
* src/TagLib/Ape/Footer.cs: Throw better exception.
* src/TagLib/Flac/File.cs: Fix padding calculation.
* src/TagLib/Asf/PaddingObject.cs:
* src/TagLib/Asf/File.cs:
* src/TagLib/Asf/HeaderObject.cs:
* src/TagLib/Asf/FilePropertiesObject.cs:
* src/TagLib/Asf/ContentDescriptionObject.cs:
* src/TagLib/Asf/ExtendedContentDescriptionObject.cs: Throw better
exceptions.
* src/TagLib/Mpeg4/Boxes/FullBox.cs:
* src/TagLib/Mpeg4/Boxes/IsoMovieHeaderBox.cs:
* src/TagLib/Mpeg4/Boxes/IsoSampleEntry.cs:
* src/TagLib/Mpeg4/Boxes/FileBox.cs:
* src/TagLib/Mpeg4/Boxes/Box.cs:
* src/TagLib/Mpeg4/Boxes/IsoSampleDescriptionBox.cs:
* src/TagLib/Mpeg4/File.cs: Read bigger blocks and less often.
* src/TagLib/Ogg/XiphComment.cs: Support "XX/XX" values in Track and Disc.
* src/TagLib/Ogg/File.cs:
* src/TagLib/Ogg/Vorbis/Properties.cs:
* src/TagLib/Ogg/Vorbis/File.cs:
* src/TagLib/Ogg/Flac/File.cs: Obsolete Set/IsValid and throw useful
exceptions.
* docs/en/TagLib.Id3v1/Tag.xml:
* docs/en/TagLib.Id3v2/FrameFactory.xml:
* docs/en/TagLib.Mpeg/Header.xml:
* docs/en/TagLib.Mpeg/Properties.xml:
* docs/en/TagLib.Mpeg/File.xml:
* docs/en/TagLib/UnsupportedFormatException.xml:
* docs/en/TagLib/ByteVector.xml:
* docs/en/TagLib/ReadOnlyException.xml:
* docs/en/TagLib/SupportedMimeType.xml:
* docs/en/TagLib/AudioProperties.xml:
* docs/en/TagLib/File.xml:
* docs/en/index.xml:
* docs/en/TagLib.Asf/FilePropertiesObject.xml:
* docs/en/TagLib.Asf/StreamPropertiesObject.xml:
* docs/en/TagLib.Mpeg4/Box.xml:
* docs/en/TagLib.Mpeg4/Properties.xml:
* docs/en/TagLib.Mpeg4/IsoMovieHeaderBox.xml:
* docs/en/TagLib.Mpeg4/File.xml: Doc updates.
* examples/ReadFromUri.cs: Add timer, clean output, and avoid crash.
svn path=/trunk/taglib-sharp/; revision=71776
commit 3d6a2ae571c6d109d0e9ee1815cb5adddac694c6
Author: Brian Nickel <bnickel@mono-cvs.ximian.com>
Date: Mon Jan 8 06:10:51 2007 +0000
2007-01-07 Brian Nickel <brian.nickel@gmail.com>
* src/TagLib/File.cs: Throw ReadOnlyException when it makes sense.
* src/TagLib/Id3v2/Frames/AttachedPictureFrame.cs: Fix for UTF16.
* src/TagLib/Id3v2/Frames/GeneralEncapsulatedObjectFrame.cs:
* src/TagLib/Id3v2/FrameFactory.cs:
* src/TagLib/Id3v1/Tag.cs:
* src/TagLib/Id3v2/Frames/TextIdentificationFrame.cs:
* src/TagLib/Mpeg/XingHeader.cs:
* src/TagLib/Mpeg/Header.cs: Improvements from TagLib.
* src/TagLib/Flac/Picture.cs:
* src/TagLib/Flac/File.cs: Massive code rewrite. Added support for Picture
Block.
* src/TagLib/Mpeg4/Boxes/IsoHandlerBox.cs: Fix typo.
* src/Makefile.am: Add new files.
* examples/ReadFromUri.cs: Update for changes in TagLib.Tag
svn path=/trunk/taglib-sharp/; revision=70624
commit ec64c4c5a5d703015c47f374e8fa07de824ca1ab
Author: Miguel de Icaza <miguel@gnome.org>
Date: Sun Dec 31 21:21:07 2006 +0000
Ran through the Monodoc updater, and exclude compiler generated types
svn path=/trunk/taglib-sharp/; revision=70295
commit 40e8172b550e081a5279855a26a3caa8a6d88f06
Author: Aaron Bockover <abockover@novell.com>
Date: Tue Dec 26 23:28:45 2006 +0000
2006-12-26 Aaron Bockover <abockover@novell.com>
* src/TagLib/CorruptFileException.cs: Added new exception
* src/TagLib/Mpeg4/File.cs:
* src/TagLib/Ogg/Vorbis/File.cs: Guard against nullrefs, if necessary
parts are null, throw a CorruptFileException instead to avoid seg violation
* tests/fixtures/TagLib.FormatTests/IFormatTest.cs: Added interface for
the format test
* tests/fixtures/TagLib.FormatTests/*.cs: Implement IFormatTest,
added TestCorruptionResistance
* tests/samples/corrupt/*: Added some 'corrupt' samples
svn path=/trunk/taglib-sharp/; revision=70098
commit 47a28d7d84a4a070ff8f52a66de345927d5de489
Author: Brian Nickel <bnickel@mono-cvs.ximian.com>
Date: Fri Dec 15 16:51:10 2006 +0000
2006-12-15 Brian Nickel <brian.nickel@gmail.com>
* src/TagLib/Mpeg/Properties.cs:
* src/TagLib/Mpeg/Header.cs: Made some changes based on KDE bug 135459,
which should hopefully improve the accuracy of length reporting.
svn path=/trunk/taglib-sharp/; revision=69535
commit 37f793eeeec12ac5c8f75bcd370bac0a7a1e9804
Author: Brian Nickel <bnickel@mono-cvs.ximian.com>
Date: Thu Dec 14 20:44:42 2006 +0000
2006-12-14 Brian Nickel <brian.nickel@gmail.com>
* src/TagLib/Mpeg/Header.cs: Fixed typo causing MP3 channels to always
equal 1.
svn path=/trunk/taglib-sharp/; revision=69510
commit b684f5efafcc62372b175ff517d50c278ca9dbe1
Author: Aaron Bockover <abockover@novell.com>
Date: Tue Nov 14 05:04:04 2006 +0000
2006-11-13 Aaron Bockover <abock@gnome.org>
* src/TagLib/SupportedMimeType.cs: Load mime types in static constructor
* src/TagLib/FileTypes.cs: File type loader that initializes the
SupportedMimeType support
* src/TagLib/File.cs: Use FileTypes.AvailableTypes
* src/Makefile.am: Added src/TagLib/FileTypes.cs
svn path=/trunk/taglib-sharp/; revision=67813
commit b4024f8550657e7dffbac1b9a736b7b76c086228
Author: Brian Nickel <bnickel@mono-cvs.ximian.com>
Date: Mon Nov 6 20:15:19 2006 +0000
2006-11-06 Brian Nickel <brian.nickel@gmail.com>
* src/TagLib/Id3v2/Tag.cs:
* src/TagLib/Id3v2/FrameHeader.cs:
* src/TagLib/Id3v2/Frame.cs:
* src/TagLib/ByteVector.cs:
* src/TagLib/Ape/Tag.cs:
* src/TagLib/Flac/File.cs:
* src/TagLib/Asf/Tag.cs:
* src/TagLib/Asf/HeaderObject.cs:
* src/TagLib/Asf/StreamPropertiesObject.cs:
* src/TagLib/Asf/FilePropertiesObject.cs:
* src/TagLib/Asf/ContentDescriptionObject.cs:
* src/TagLib/Asf/ExtendedContentDescriptionObject.cs:
* src/TagLib/Asf/Object.cs:
* src/TagLib/Asf/Guid.cs:
* src/TagLib/Asf/ContentDescriptor.cs:
* src/TagLib/Mpeg4/Boxes/FullBox.cs:
* src/TagLib/Mpeg4/Boxes/IsoChunkLargeOffsetBox.cs:
* src/TagLib/Mpeg4/Boxes/Box.cs:
* src/TagLib/Mpeg4/Boxes/IsoHandlerBox.cs:
* src/TagLib/Mpeg4/Boxes/IsoChunkOffsetBox.cs:
* src/TagLib/Mpeg4/AppleTag.cs:
* src/TagLib/Mpeg4/BoxHeader.cs: Improve performance by not using plus
operator so much. Less allocations.
* tests/fixtures/TagLib.FormatTests/Id3BothFormatTest.cs: Fixed multiformat
tests. Removed Tag Count test.
svn path=/trunk/taglib-sharp/; revision=67413
commit 34d49ce11c840b8b90abcd73b424943b17e47baa
Author: Brian Nickel <bnickel@mono-cvs.ximian.com>
Date: Sat Nov 4 00:21:47 2006 +0000
2006-11-03 Brian Nickel <brian.nickel@gmail.com>
* src/TagLib/ByteVector.cs: Use Boyer-Moore String Searching Algorithm
to speed things up a little. (Very little.)
svn path=/trunk/taglib-sharp/; revision=67335
commit 503227407e544c3d58c5ffb4afa88ad73f026fbe
Author: Aaron Bockover <abockover@novell.com>
Date: Tue Oct 31 02:17:59 2006 +0000
2006-10-30 Aaron Bockover <abock@gnome.org>
* src/TagLib/IntList.cs:
* src/TagLib/ByteVector.cs:
* src/TagLib/StringList.cs:
* src/TagLib/ByteVectorList.cs: Use generics, refactored code, massive
optimizations; all collections except ByteVector derives new ListBase<T>
* src/TagLib/ListBase.cs: New generic base collection
* src/Makefile.am: Updated
* tests/fixtures/PerformanceTest.cs: Updated
svn path=/trunk/taglib-sharp/; revision=67170
commit 342ba48b943df40d1fdbacb6f0e9388cb0d33e8e
Author: Brian Nickel <bnickel@mono-cvs.ximian.com>
Date: Tue Oct 31 00:04:23 2006 +0000
2006-10-20 Brian Nickel <brian.nickel@gmail.com>
* src/TagLib/Mpc/Properties.cs: Fix property reading.
* src/TagLib/Mpc/File.cs: Fix total brokenness.
* src/TagLib/Mpeg/File.cs: Fix reading with no ID3v2 Tag.
* src/TagLib/Mpeg4/AppleTag.cs: Fix reading of ID3v1 Genres.
* tests/fixtures/TagLib.FormatTests/MpcFormatTest.cs: Fixed test. (I think.)
svn path=/trunk/taglib-sharp/; revision=67165
commit 63599534be2ed6e644bea1706c887c660e19a718
Author: Aaron Bockover <abockover@novell.com>
Date: Sun Oct 29 20:33:01 2006 +0000
Updated
svn path=/trunk/taglib-sharp/; revision=67109
commit 764ea91e974856e2c8661019df9ee7ed7c8695d2
Author: Aaron Bockover <abockover@novell.com>
Date: Sun Oct 29 20:31:02 2006 +0000
2006-10-29 Aaron Bockover <abock@gnome.org>
* tests/: Added more tests (IntList, StringList), restructured layout
svn path=/trunk/taglib-sharp/; revision=67108
commit fb2068e7b1366a1bd18fb47ed2ec8535a5f79b6d
Author: Aaron Bockover <abockover@novell.com>
Date: Sun Oct 29 20:13:34 2006 +0000
Updated header
svn path=/trunk/taglib-sharp/; revision=67104
commit 64de9fb6c4ad4d1603d6ae357e69e59a1e5c79d7
Author: Aaron Bockover <abockover@novell.com>
Date: Sun Oct 29 16:52:30 2006 +0000
2006-10-29 Aaron Bockover <abock@gnome.org>
* src/TagLib/File.cs: Do not use reflection (Assembly.GetTypes) to find
file formats, instead use a static type table. Assembly.GetTypes leaks
types on the heap that will never be GCed (saves about 200KB of heap);
this means that if a new type is added, it must be entered in the static
type table for it to be available. Also this improves startup time.
* src/TagLib/Asf/Properties.cs: Suppress unused variable warning
svn path=/trunk/taglib-sharp/; revision=67099
commit 63e440b62f8d11a35d2323de13c563793869828b
Author: Aaron Bockover <abockover@novell.com>
Date: Sun Oct 29 16:46:18 2006 +0000
2006-10-29 Aaron Bockover <abock@gnome.org>
* tests/samples: Organized into supported and unsupported formats, added
vector.bin as data for a checksum test of ByteVector
* tests/Makefile.am: Set up NUnit console test driver, can be
run with 'make run-test'
* tests/AssemblyInfo.cs:
* tests/ConsoleUi.cs: NUnit console test driver
* tests/CodeTimer.cs: Timing utility
* tests/fixtures/*FormatTest.cs: File format reading test fixtures
* tests/fixtures/ByteVectorTests.cs: Extensive tests for ByteVector
* tests/tests.mdp: MonoDevelop project for tests that allows running
NUnit tests with in the IDE for graphical results, recommended for
running tests as history is logged here (preferred over 'make run-test')
* configure.ac: NUnit detection, optional
* examples/tangerine-use-taglibsharp.patch: Removed, tangerine now
uses taglib-sharp instead of entagged-sharp
* examples/Makefile.am:
* examples/ListSupportedMimeTypes.cs: New example
* taglib-sharp.mds: Restored MonoDevelop solution
svn path=/trunk/taglib-sharp/; revision=67098
commit a387cfa83f5b0122408d9e77df076c5712d333b1
Author: Brian Nickel <bnickel@mono-cvs.ximian.com>
Date: Fri Oct 20 22:08:05 2006 +0000
2006-10-20 Brian Nickel <brian.nickel@gmail.com>
* src/TagLib/File.cs: Include the name of the file throwing the exception
in LocalFileAbstraction.
* src/TagLib/Mpeg/Header.cs: Make frame length logic match Lame (from
TagLib Devel List).
* examples/ReadFromUri.cs: Read multiple files.
svn path=/trunk/taglib-sharp/; revision=66851
commit 7c65b1e3359c80ae3e00f165a9457c7fa3725b42
Author: Brian Nickel <bnickel@mono-cvs.ximian.com>
Date: Thu Oct 12 19:45:23 2006 +0000
2006-10-12 Brian Nickel <brian.nickel@gmail.com>
* src/TagLib/Mpeg4/Boxes/IsoChunkLargeOffsetBox.cs:
* src/TagLib/Mpeg4/Boxes/IsoChunkOffsetBox.cs:
* src/TagLib/Mpeg4/AppleTag.cs: Fixed a bug where changing tag size would
devalidate offsets for data before the tag.
* examples/BatchSet.cs:
* examples/Makefile.am: Add a simple program to update tags on multiple
files.
svn path=/trunk/taglib-sharp/; revision=66637
commit 4968b78314405e4b878faf0a9d5b47a771714e48
Author: Aaron Bockover <abockover@novell.com>
Date: Sun Oct 8 16:32:19 2006 +0000
Marked as static, whoops
svn path=/trunk/taglib-sharp/; revision=66417
commit 026beee347579dc34c26e516125f96ff052e01f5
Author: Aaron Bockover <abockover@novell.com>
Date: Sun Oct 8 16:31:27 2006 +0000
Marked as static, whoops
svn path=/trunk/taglib-sharp/; revision=66416
commit 127da072a6b41f50bb93fdddbbab6ba20bd1c4fa
Author: Aaron Bockover <abockover@novell.com>
Date: Sun Oct 8 16:30:59 2006 +0000
Marked as static, whoops
svn path=/trunk/taglib-sharp/; revision=66415
commit 7f2a0783af2cbec5e268214e61ee64c59734da68
Author: Aaron Bockover <abockover@novell.com>
Date: Sun Oct 8 16:12:14 2006 +0000
2006-10-08 Aaron Bockover <abock@gnome.org>
* src/TagLib/SupportedMimeType.cs: Added extension support
svn path=/trunk/taglib-sharp/; revision=66413
commit 6b20faff04a2c0689dc5ac4c7b0b2c8bcc46f263
Author: Aaron Bockover <abockover@novell.com>
Date: Sun Oct 8 15:54:08 2006 +0000
2006-10-08 Aaron Bockover <abock@gnome.org>
* src/TagLib/SupportedMimeType.cs: Added AllMimeTypes static enumerator
svn path=/trunk/taglib-sharp/; revision=66411
commit 987e2f6423e6299e3f99a7ba2385f7d7889faec5
Author: Brian Nickel <bnickel@mono-cvs.ximian.com>
Date: Mon Sep 25 19:38:15 2006 +0000
2006-09-25 Brian Nickel <brian.nickel@gmail.com>
* src/TagLib/CombinedTag.cs: Fixed a bug in CombinedTag.get_Pictures
* configure.ac: Don't break the gac on binary compatable versions.
svn path=/trunk/taglib-sharp/; revision=65890
commit 38c1059d8556f642d33c5f90726b6d062a4efdaf
Author: Brian Nickel <bnickel@mono-cvs.ximian.com>
Date: Wed Sep 20 19:49:25 2006 +0000
2006-09-20 Brian Nickel <brian.nickel@gmail.com>
* src/TagLib/Mpc/File.cs: Added mime types.
* src/TagLib/Wavpack/File.cs: Added mime types.
svn path=/trunk/taglib-sharp/; revision=65739
commit 32df28a7eb4dd136b60ec5f1e0289eca88a9bde8
Author: Brian Nickel <bnickel@mono-cvs.ximian.com>
Date: Wed Sep 20 19:23:29 2006 +0000
2006-09-20 Brian Nickel <brian.nickel@gmail.com>
* src/TagLib/ByteVector.cs: Fixed big endian StringType.UTF16
not to fail on big endian. (Confusing naming scheme by Microsoft.)
svn path=/trunk/taglib-sharp/; revision=65737
commit dfc58a4e6b53aca6e7b4c6b000f53703bf9d10e4
Author: Brian Nickel <bnickel@mono-cvs.ximian.com>
Date: Sun Sep 17 23:51:09 2006 +0000
2006-09-17 Brian Nickel <brian.nickel@gmail.com>
* src/TagLib/Asf/Tag.cs: Added generic picture support.
* docs/en/*: Updated docs.
svn path=/trunk/taglib-sharp/; revision=65556
commit 41b7226a730f12a5852ca0507ab4e7dcff1fcc23
Author: Brian Nickel <bnickel@mono-cvs.ximian.com>
Date: Fri Sep 15 09:15:08 2006 +0000
2006-09-15 Brian Nickel <brian.nickel@gmail.com>
* src/TagLib/Picture.cs:
* src/TagLib/Tag.cs:
* src/TagLib/CombinedTag.cs:
* src/TagLib/File.cs:
* src/TagLib/Id3v2/Tag.cs:
* src/TagLib/Id3v2/Frames/AttachedPictureFrame.cs:
* src/TagLib/ByteVector.cs:
* src/TagLib/Mpeg4/Boxes/Box.cs:
* src/TagLib/Mpeg4/Boxes/IsoHandlerBox.cs:
* src/TagLib/Mpeg4/Boxes/AppleDataBox.cs:
* src/TagLib/Mpeg4/AppleTag.cs:
* src/TagLib/Ogg/XiphComment.cs: Add generic picture support to TagLib#. This
currently supports MP3 and M4A tags although support can and will be added
for other tag types in the future.
* src/Makefile.am:
* taglib-sharp.mds:
* taglib-sharp.csproj:
* examples/ReadFromUri.cs:
* examples/Makefile.am:
* examples/SetPictures.mdp:
* examples/SetPictures.cs:
* examples/ReadFromUri.mdp: New examples from Aaron Bockover.
* src/TagLib/Mpeg4/Boxes/IsoChunkLargeOffsetBox.cs:
* src/TagLib/Mpeg4/Boxes/IsoChunkOffsetBox.cs: Eliminate a nasty bug where
changes to 'mdat' offsets, ie. any file size change, broke MP4 files.
svn path=/trunk/taglib-sharp/; revision=65440
commit 958b10a1f238c8dc931f236a708178d5eb9b3e34
Author: Brian Nickel <bnickel@mono-cvs.ximian.com>
Date: Mon Sep 11 22:45:30 2006 +0000
2006-09-11 Brian Nickel <brian.nickel@gmail.com>
* src/TagLib/Mpeg4/File.cs: Added "audio/mp4" to types.
svn path=/trunk/taglib-sharp/; revision=65256
commit eb2bb5eb1d9a79c3e8939509b854bac2fb9ebc9e
Author: Aaron Bockover <abockover@novell.com>
Date: Sat Sep 2 03:27:10 2006 +0000
2006-09-01 Aaron Bockover <abockover@novell.com>
* examples/covers/: Added sample cover art files
svn path=/trunk/taglib-sharp/; revision=64751
commit f4b2d423ddd4a78e991606b7d557003fb9df7fa7
Author: Aaron Bockover <abockover@novell.com>
Date: Sat Sep 2 03:25:24 2006 +0000
2006-09-01 Aaron Bockover <abockover@novell.com>
* tests/: Added test sample audio files
svn path=/trunk/taglib-sharp/; revision=64750
commit f61e41ec8ef34c86017b2a51acdde203769c3cc3
Author: Aaron Bockover <abockover@novell.com>
Date: Fri Sep 1 17:56:56 2006 +0000
2006-09-01 Aaron Bockover <abockover@novell.com>
* configure.ac: Added ASM_VERSION; added DISTCHECK_CONFIGURE_FLAGS so
distcheck target works properly as user (--disable-docs is passed on
distcheck now)
* src/AssemblyInfo.cs.in: Use ASM_VERSION instead of VERSION to get
build revisions in version string
* examples/Makefile.am: Added EXTRA_DIST, fixed distcheck build bug
svn path=/trunk/taglib-sharp/; revision=64730
commit e1eba14cc33103bbe9e7a2710355b3a02ab3b3a7
Author: Brian Nickel <bnickel@mono-cvs.ximian.com>
Date: Thu Aug 31 22:22:26 2006 +0000
Corrected an invalid frame conversion and attempting a better method for
populating ByteVectors.
svn path=/trunk/taglib-sharp/; revision=64669
commit 9126fb7e24dabaabdf2b86bdb8a8d0ba50b75594
Author: Brian Nickel <bnickel@mono-cvs.ximian.com>
Date: Tue Aug 29 02:48:25 2006 +0000
Fixed up the reading of WM/PartOfSet to avoid crashes.
svn path=/trunk/taglib-sharp/; revision=64505
commit cc7f29b882471f8c31bb430af7b95f61b28cd2c9
Author: Aaron Bockover <abockover@novell.com>
Date: Mon Aug 28 02:12:07 2006 +0000
2006-08-27 Aaron Bockover <abockover@novell.com>
* src/TagLib/ReadOnlyException.cs: New exception
* src/TagLib/File.cs:
* src/TagLib/Mpc/File.cs:
* src/TagLib/Mpeg/File.cs:
* src/TagLib/WavPack/File.cs:
* src/TagLib/Flac/File.cs:
* src/TagLib/Asf/File.cs:
* src/TagLib/Mpeg4/AppleTag.cs:
* src/TagLib/Mpeg4/File.cs:
* src/TagLib/Ogg/File.cs:
* src/TagLib/Ogg/Vorbis/File.cs:
* src/TagLib/Ogg/Flac/File.cs: Save is now void, throws exceptions
when a problem has arisen instead of eventually returning false, masking
the source of the problem
* taglib-sharp.csproj:
* src/Makefile.am: Updated
svn path=/trunk/taglib-sharp/; revision=64456
commit 42bdfaa70eeca125a269416619dd8d6f7ebe0b92
Author: Aaron Bockover <abockover@novell.com>
Date: Sat Aug 26 00:33:46 2006 +0000
2006-08-25 Aaron Bockover <abockover@novell.com>
* examples/Makefile.am: Added Makefile.am, was missing from forge
repository
svn path=/trunk/taglib-sharp/; revision=64396
commit ed83b1cacfd4339faaeb9bba0a7052695708d38b
Author: Aaron Bockover <abockover@novell.com>
Date: Sat Aug 26 00:25:52 2006 +0000
Initial import of taglib-sharp; moved from forge
svn path=/trunk/taglib-sharp/; revision=64394
|