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
|
Qtractor - An Audio/MIDI multi-track sequencer
----------------------------------------------
ChangeLog
1.5.10 2025-12-19 An Early Winter'25 Release.
- Fixed 'mime-info' file to the correct MIME-type icon names.
- Improved/updated audio clip recording latency compensation.
- Save/load all plugin's paths always as relative only to declared
search paths (cf. View/Options.../Plugins/Paths)
- Audio Insert pseudo-plugins now have an extra user supplied
input parameter: Latency (frames).
- Default Clip Fade-In/Out types (Linear, Quadratic, Cubic) are
now settable as user preference options (cf. View/Options.../
/General/Clips).
- Updated to CLAP v1.2.7
- Updated to VST3 SDK v3.8.0.build.66
1.5.9 2025-10-31 A Halloween'25 Release.
- Main menu and toolbar Edit/Select Mode/Clip, Range, Rectangle
and Automation actions are now self-toggled when triggered.
- Slightly better positioning and centering when just clicking
but not dragging the main and MIDI editor thumb-views around.
- Mixer: temporarily hide/show either Audio or MIDI buses, from
the respective Inputs and/or Outputs rack pane.
- Add underlying platform name (eg. xcb, wayland) to Qt version
string.
1.5.8 2025-08-29 A Late Summer'25 Release.
- When selecting an Aux-Send pseudo-plugin, also highlight the
respective target output bus mixer strip.
- Mitigate and compensate for padding and start-delay/latency to
(lib)RubberBand time-stretching and pitch-shifting processing.
- Avoid warning when auto-saving an extracted archive/zip session.
- Fixed all empty/void audio clips created when aborting an armed
recording session; revisited.
- Added new Track/Height/Minimize menu item.
- Fixed initial Aux-Send audio bus I/O matrix functionality; also
when input channel count is greater than output count.
- Fixed WSOLA time-stretching crashing on greater-than-2-channels
/stereo audio clips.
- Fix misaligned LV2 Atoms.
1.5.7 2025-07-19 A Summer'25 Release.
- Give some slack time to stabilize, when updating or changing
audio bus channel counts, mitigating the probability to fault
when unregistering old and registering new PipeWire/JACK ports
in immediate succession.
- Transport/Loop Set behavior slightly changed, now toggling the
loop range if the edit-head/tail match current loop-start/end.
- Introducing Aux-Send audio bus I/O matrix functionality.
- Corrected greater-than-2-channel audio clip waveform drawing,
while on certain zoom levels, an old bug lurking there since
dawn, quite an example to the evil of too-early optimization ;)
- Draw all audio clip peaks+rms waveforms slightly compressed, so
that low-level signals have improved visibility.
- Warn when saving any type of session into an extracted archive
directory.
1.5.6 2025-06-06 An End-of-Spring'25 Release.
- MIDI clip editor (aka. piano-roll): Transport/Step/Note/Backward,
Forward, now plays the step-selected notes, provided send/Preview
is on and playback is not rolling.
- MIDI Tools: Normalize now finally fixed to an absolute Value,
ie. without a Percent(age) factor applied.
- MIDI Controller Observer: 'Hook' attribute is now on by default.
- MIDI Controller Send pseudo-plugin introduced: accessible from
plugins menu/Inserts/MIDI/Add Controller...
1.5.5 2025-05-21 A Mid-Spring'25 Release.
- Fixed negative time values displayed in tool-tips, when dragging
the rubber-band (lasso) to the left, over the absolute beginning
of the timeline.
- A warning is now issued when an audio self connection is made
(eg. connecting an output bus (or insert send) directly into
an input bus (or insert return).
- Files item selection mode switching corrected.
- Mitigate or postpone a 'too many open files' condition as much
as possible.
- Let muted clips show the "[Mute]" tag as the name label prefix,
so that it's visible even on small clips.
- Stepping up next development cycle (Qt >= 6.9)
1.5.4 2025-04-04 An Early Spring'25 Release.
- Fixed non-zero clip offset conversion on tempo(BPM) time-scale
changes.
- MIDI clip step input and overdubbing now aggregated and fully
undo/redo-able.
- Allow MIDI step input to extend the clip length automatically;
also avoid step input event duplicates (eg. playing chords in
quick succession) leading to potential double-free segfault or
crash.
- Fixed MIDI track state when clips under record/overdubbing are
simply removed.
- Fixed all empty/void audio clips that are created when aborting
an armed recording session.
- MIDI clip editor (aka. piano-roll): simply allow a MIDI track
to be a ghost of itself.
- In addition to clips and markers, automation curves and tempo-
-map nodes now also contribute to the total session length and
status.
- Fixed command line parsing (QCommandLineParser/Option) to not
exiting the application with a segfault when showing help and
version information.
1.5.3 2025-02-09 A Mid-Winter'29 Release.
- MIDI clip editor (aka. piano-roll): mouse cursor pointer shape
now follows the current edit/draw mode permanently.
- Attempt to improve MIDI SPP accuracy by postponing MIDI Continue
command in one 16th note at playback (re)start.
- Specific to (lib)RubberBand time-stretching and pitch-shifting,
formant preserve and finer (R3) engine processing are now added
to audio clip/playback options.
- Resume normal playback state if rolling when transport rewind or
fast-forward is disengaged.
- Custom Style Sheet files (*.qss): all url() paths are considered
relative to style-sheet file location.
- Enforce a fixed size when LV2 plug-in UI no-user-resize feature
is explicitly requested.)
1.5.2 2025-01-17 A New-Year'25 Release.
- Duplex MIDI Clock mode is not allowed anymore.
- Immediate and consecutive plugin parameter changes are now merged
into a single undo-able command, reflecting only the first value
change in the series, dropping the previous old algorithm, which
was dead wrong if not utterly defective.
- Unique track names resolve to the first line only.
- Help/Shortcuts... Search tool gets implemented; all changed MIDI
controller shortcuts are reverted to their previous settings, when
discarding or dismissing the dialog.
- Fixed missing MIDI SPP in some cases.
1.5.1 2024-12-30 An(other) End-of-Year'24 Release.
- Fixed/corrected an awfully bad MIDI metronome and clock timing,
reminiscent from the higher resolution MIDI queueing (in place
since v0.9.30, meaning a two year long disgrace :().
1.5.0 2024-12-16 An End-of-Year'24 Release.
- Clip/Cross Fade may now apply to all (multiple) selected clips.
- Fixed the status-bar session and MIDI clip length BBT format, when
in presence of multiple tempo or time-signature changes.
- Introducing MIDI clip editor (aka. piano-roll) new Transport/Step
/Note/Backward and Forward menu actions, to move the play-head to
previous and next note events, respectively.
- MIDI clip editor (aka. piano-roll) menu Edit/Select Mode/Edit On, Off
and Draw actions are now self-toggled when triggered.
- Plug-in presets menu: now sorted alphabetically.
- When summoned from the menu, the View/Tempo Map-Markers... dialog
positions itself to the current play-head location, instead of the
absolute beginning of the timeline.
- Introducing new application custom theming option: View/Options...
/Display/Options/Custom/Icons theme (directory or folder).
- After a shameful long time, adding a brand new audio clip via the
Clip/New... dialog, is now finally fixed and functional.
- Mixer: reduced track names up to first line break.
- Double-click on slider for default value, replicating the behavior
of middle-click.
- Fixed bug: Aux-Send loses state when reordered in a strip.
- Create/Add new bus below that which is used as source in View/Buses
dialog.
- Mitigate truncated bus names in Aux-Send bus dialog.
- Fixed yet another old bug regarding the flush of all pending MIDI
Note-Off events when playback stops, shuts-off or panics, especially
relevant when playback is resumed anywhere but the absolute beginning
of the timeline (and also after a first loop turn around).
- Schedule an actual and complete refresh on main View/Refresh...,
especially when changing a custom color theme palette on-the-fly.
1.4.0 2024-11-01 A Halloween'24 Release.
- Improved color contrast on track and clip title labels, when given
track foreground and background colors are too similar in lightness.
- Clip/Split now also applies to multiple selected clips, on any other
track than current, if the split point (play-head) is found within.
- Clip Merge/Export... audio clips now taking the internal audio
resolution (ie. 64 frames/period), independent to former JACK
/Pipewire buffer-size/period.
- New Clip Mute state property introduced.
- New MIDI clip tool option: Normalize / Compress.
- Prepping up next development cycle (Qt >= 6.8)
1.3.0 2024-10-04 An Early-Fall'24 Release.
- Use timebase-aware JACK API for relocation; provide `bar_start_tick`
in JACK Transport/Timebase BBT information.
- Always reset the target bus when copying or moving an Aux-Send
insert into an audio output bus.
- Mixer: fixed dangling track removal after one of its buses has
been previously deleted."
- Fixed MIDI clip offset resizing, most especially when drag-moving
the left-edge.
- Audio Aux-Sends inserted on audio output buses are not restricted
to later buses anymore; the only restriction now is that no cyclic
or loop-back routes are allowed; audio output buses are now sorted
internally in-place for correct processing order.
- Update all Aux-Send inserts whenever their respective output bus
gets renamed or deleted.
- User preference option View/Options.../General/Options/Reverse
keyboard modifiers role (Shift/Ctrl), now also applying to the
play-head and/or edit-head/tail re-positioning in the timeline.
- Plug-in name/title alias makes its debut.
- Fixed a partial port-name filtering issue on the MIDI Connections
widget.
- Last selected automation curve color is now persistent and the
default for all later automation curves.
- Connections: connector line colors are now uniquely mapped on a
(readable/output) client name basis.
1.2.0 2024-08-29 A Mid-Summer'24 Release.
- Check whether a LV2 plug-in UI no-user-resize feature is being
explicitly requested.
- Auto-backward is now strictly to the play-head position playback
was last started.
- MIDI clip editor (aka. piano-roll) undo/redo command stack is
now held at the MIDI clip instance level and thus shared and the
same to all respective linked clips; as bonus, it also survives
the main session undo/redo command stack as well.
- MIDI clip editor (View/) Drum Mode option is now persistent on a
clip basis and across sessions.
- Fixed NSM session initialization disabling auto-save and the new
session template features altogether.
- Fixed crash when removing a MIDI track that is currently set as
ghost to open MIDI clip editor(s), or it's been duplicated just
recently.
- New MIDI clip tools: Resize / Join, Split notes.
- Session templates do not impose an audio sample-rate anymore,
now being hopefully sample-rate agnostic; also, the edit-head/
tail cursors, loop-start/end and punch-in/out ranges and state
are now simply ignored on loading and saving session templates.
- MIDI tracks now show the respective audio output bus name, or
dedicated port name whether applicable, under the 'Bus' column
of main tracks left pane, above plugins list-box.
- Mixer: also highlight both input and output bus strips, directly
related to the current highlighted track.
1.1.1 2024-08-05 A Summer'24 Hotfix Release.
- Fixed an incredibly severe bug, introduced very recently, that
deletes all MIDI files belonging to active clips, when closing
and discarding a modified session without saving.
- Fixed MIDI clip recording when note-off events are missing or
not transmitted.
- Fixed a relatively old crash-bug that manifests on undoing
several free-hand drawn events (Edit/Select Mode/Edit Draw)
in the MIDI clip editor (aka. piano-roll).
1.1.0 2024-08-02 A Summer'24 Release.
- Fixed MIDI clip step-input when play-head is located beyond
or after the end of the active looping/cycle range.
- Fixed whole clip selection, implied after dragging the lasso
over the left and before the beginning of timeline.
- Clip/Unlink is now a undo/redo-able command.
- All sessions now honor their designated resolution property
(PPQN aka. ticks-per-beat) not subordinated to former ALSA
sequencer queue anymore, which runs on a higher resolution
still.
- Avoid removing MIDI Track/Channel tree items from the Files
view (eg. via direct [Del] keyboard shortcut when in focus).
- Fixed a probable old issue of spilled and duplicated shortcut
entries (Help/Shortcuts...) between main tracks/timeline and
MIDI clip editor (aka. piano-roll) windows.
- Fixed fade-in/out curve types of clips when copy-pasted over
the main tracks timeline.
- Fixed general plugin scan/cache optimization in face of new
plugins added and/or removed.
- Fixed VST3 Plug-in main/active buses channel count inventory;
also, on updating host parameters, only save and load custom
modified parameter values from current state.
- Fixed a missing display and port-name filtering issue, that
was introduced recently to the MIDI Connections widget only.
1.0.0 2024-06-21 An Unthinkable Release.
- Making up the unthinkable (aka. v1.0.0)
- General plugin scan/cache optimization.
- Improved legibility to all clip title labels (color contrast).
- Save/load the correct order and labeling of audio/MIDI send/
/return pseudo-plugin inserts.
- Fixed a display and port-name filtering issue that was present
ever since on the Connections widget.
0.9.91 2024-05-03 A Spring'24 Release Candidate 2.
- Prepping the unthinkable (aka. v1.0.0-rc2)
- Updated to latest framework level (Qt >= 6.7)
0.9.90 2024-04-12 A Spring'24 Release Candidate.
- Prepping the unthinkable (aka. v1.0.0-rc1)
- MIDI Controller mappings are now shown on floating tool-tips.
- Custom color themes are now file based (*.conf); legacy still
preserved ntl.
- Add default GM, GS and XG standard instruments definition file.
- Old generic "Portuguese" translation (pt) has been corrected to
the more proper "Portuguese (Brazil)" locale (pt_BR).
- Up and Down arrow-keys may now be used to change event values on
the MIDI clip editor current selection (eg. note velocities).
- MIDI clip editor now featuring lollipops for all kind of candy
event values ;).
- Make the minimum width of events on the MIDI clip editor larger,
depending on screen resolution and horizontal zoom setting.
- Avoid issuing equivalent MIDI track channel volume and panning
via GM standard controllers (CC#7 and CC#10 resp.) to mitigate
recursive or positive feedback loops.
- Refined mouse-wheel control step size on the sliders of mixer
strips and generic/stock plugin editor dialogs.
- Fixed the build checks on whether to use old or newer style of
LV2 include headers.
- Introducing colored strips on the time ruler headers for loop
and punch recording ranges.
- Fixed an off-by-one(-pixel) mispositioning of selected events,
while on the MIDI clip editor (aka piano-roll).
0.9.39 2024-01-27 A Winter'24 Release.
- Added build checks on whether to use old or newer style of LV2
include headers.
- Introducing new Transport/Step/Backward and Forward menu actions,
to move the play-head backward and forward, in bar/beat/fraction
(snap-per-beat) steps, respectively.
- Introducing View/Options.../Display/Custom/Style sheet (*.qss)
application theming option.
- Improved MIDI clip editor centering to current mouse pointer
position in main timeline (tracks-view); on both horizontal and
vertical axes.
- LV2 Plug-in Control Input Port-change request extension feature
support added.
- Fixed an old one-off plug-in parameter change command aliasing
(undo/redo).
- Updated copyright headers into the New Year (2024).
0.9.38 2023-12-21 An End-of-Year'23 Release.
- Track Properties (dialog): auto-background color option added.
- Mitigate undifferentiated disablement of up/down arrow buttons,
on tempo and time-signature entry spin-boxes.
- MIDI clip editors (aka. piano-roll) are now raised and centered
to current mouse pointer position in main timeline (tracks-view).
- Remember last Marker color setting in Tempo Map/Markers dialog.
- A colored ribbon is now featured on tracks-list Bus column and
mixer-strip headers; ribbon colors are designated for Audio and
MIDI tracks or buses, given by the respective '10dB' and 'Over'
meter colors.
- Buses'In'/'Out' suffixes are back on mixer-strip header tooltips.
0.9.37 2023-12-05 An End-of-Autumn'23 Release.
- Fixed an ancient hack on session initialization to wait to JACK
service start up, which hang up while on pipewire-jack >= 1.0.0.
- Add default audio metronome sample files.
- Fixed automation curve rescaling across multiple, more than just
one or two, tempo-map node changes.
- New MIDI Tool Resize / Legato duration option added.
- MIDI Clip Editor (aka. piano-roll) thumb-view now taking tempo-map
changes into account.
- Audio metronome is enabled only when both the bar and beat sample
files are provided.
0.9.36 2023-11-10 An Autumn'23 Release.
- Multiple audio and/or MIDI files may now appear as arguments on
the command line and get immediately imported into a new session;
also, any audio or MIDI file may now be promptly imported into a
new session from the main File/Open... dialog.
- New MIDI clip tool option added: Rescale/Invert.
- Introducing brand new MIDI clip tool: Tempo ramp.
- Disable or better hide the Add Tracks option on the MIDI tracks
export dialog.
- Fixed a yearlong bug in MIDI file import/export of tempo, time
and key signatures and markers, to severely wrong locations.
- Enable Aux-Send inserts on output buses, but list possible target
buses only; audio output buses are now listed as possible targets
iif they follow or succeed the source one (in internal processing
order).
- Fixed MIDI tracks latency compensation, now working as expected.
- Show current/total plugins latency on the Track properties dialog,
- Fixed MIDI Step-input for non-zero offset clips.
0.9.35 2023-09-14 An End-of-Summer'23 Release.
- MIDI Step-input is now finally featured on the MIDI clip editor
(aka. piano-roll), provided Clip/Record is on and playback is not
rolling; current snap-to-beat applies; starts/resets to play-head;
Edit/Insert/Step to advance a single step/rest.
- Notes keyed in the MIDI clip editor's virtual piano keyboard may now
be recorded, especially while "overdubbing".
- The official VST3 plug-in SDK is now included in the source tree as
Git submodules.
- Fixed a rounding error on current BBT information passed to plugins
and to JACK transport/timebase.
- When on Track/Auto Deactivate mode, plugins now show a dull, dimmed
lit, green (fake-)LED when in auto-deactivated state.
- Attempt to actually (de)activate plugins once on (de)instantiation.
- Preppings to next development cycle (Qt >= 6.6)
0.9.34 2023-06-08 A Spring'23 Release.
- Fixed the snap-to-beat of new notes entry on the MIDI clip editor
(aka. piano-roll) due on time signature changes.
- Start JACK transport rolling only when metronome Count-in ends.
- Fixed an allegedly old and incorrect 0dBfs notch position on MIDI
track/buses audio meter sidekicks.
- Send/return and Aux-Send inserts now show the proper name and the
target output bus name on the properties editor title respectively.
- Fixed a zero-day blunder that was keeping the real-time process
cycle from having the uniform block-size of 64 frames per period;
(thus, probably ineffective since v0.9.30).
- Multiple MIDI clip tools may now be applied simultaneously, in a
single shot, in the following priority order: quantize, transpose,
normalize, resize, rescale and timeshift.
- Plugin inventory scan now slightly optimized to an allegedly lesser
aggressive cache-invalidation algorithm.
- Do not send/Preview notes on the MIDI clip editor (aka. piano-roll)
when playback is currently rolling.
- Send all pending MIDI Note-Off events when playback stops/shuts-off
(and/or the Panic! button is hit).
- Fixed the internal MIDI file player queue to the highest resolution
possible (PPQN aka ticks-per-beat).
0.9.33 2023-03-27 An Early-Spring'23 Hotfix Release.
- Fixed MIDI recording delay and recorded clip lengths when metronome
Count-in is in effect for recording.
0.9.32 2023-03-25 An Early-Spring'23 Release.
- Downgraded JACK timebase BBT information to nominal PPQN resolution
(aka. ticks-per-beat).
- Make sure all previously saved connections to identical ALSA MIDI
hardware devices are now discriminated and properly restored, even
though the target deviceds have the very same name.
- Fix drag'n'drop in drum mode MIDI clip editor.
- Quick hack to get latency compensation when recording.
- Introducing count-in to audio and MIDI metronomes: View/Options...
/Audio|MIDI/Metronome/Count-in; Transport/Count-in.
- Corrected MIDI metronome bar/beat note durations.
- Give an early reponse upon opening any NSM session.
0.9.31 2023-01-26 A Winter'23 Release.
- Fixed a off-by-one rounding error on MIDI clip offset and lengths
that were leaving some clips unlinked on load.
- LXVST_PATH environment variable now accrues to VST_PATH for Linux-
native VST2 plug-ins search path and not taking over in precedence
anymore.
- Fixed an old mistake on custom aliased CLAP and VST3 plugin paths.
0.9.30 2022-12-30 An End-of-Year'22 Release.
- Plugin latency/delay compensation now in effect immediately after
changing track option (cf. Track/Properties... /Plugins/Latency
compensation).
- Shade-off regions not-in-view from the thumb-views.
- Improved MIDI queue time drift correction resilience and stability
against in-flight tempo changes.
- The main real-time process cycle now runs on uniform block-sizes,
in strides of 64 frames per period, meaning a higher resolution
automation, independent of buffer-size.
- The internal main MIDI engine gets its ALSA sequencer queue to a
higher resolution (PPQN aka ticks-per-beat) and not subordinated
to the current session's anymore.
- Although being deprecated to use, JACK Session support is hopefuly
fixed, once again.
- Better discriminate CLAP Plug-in specific note events and strict
MIDI dialect event processing.
0.9.29 2022-10-05 An Early-Autumn'22 Release.
- Capture same time(stamp) note-off tracking and postponing is now
on trial, hopefully mitigating a legato issue, reported to MIDI
wind instruments (EWI).
- Fixed an old window parenting (aka z-level) issue, related to the
Add Track and Track Properties dialogs and whether called from the
main or mixer menus.
- Fixed the out-of-process plugin scanner terminating too soon and
sometimes miss some very last results.
- Fixed another old bug in MIDI note-off messages not being sent
while playing after a loop region.
- Fixed a pretty ancient bug in the VST(2.x) plug-in program names
inventory, present when building to the VeSTige header (which is
still the default).
0.9.28 2022-09-03 A Late-Summer'22 Release.
- Complete overhaul of the current host time(base)/BBT information
delivered to plug-in types that matter: VST, VST3, CLAP and LV2.
- Improved key-signature editing and display on Tempo Map / Markers
(time-scale) management dialog.
- Fixed plugin selection, when creating and switching initial track
type, from audio to MIDI and vice-versa.
- Fixed typos and updated some old MIDI GM2 Controller names.
- Add current system user-name to the singleton/unique application
instance identifier (when explicitly opted in at build configure
time).
0.9.27 2022-07-07 An Early-Summer'22 Release.
- CLAP plug-in host support introduced.
- Reviewed LV2 plug-in UI Touch feature/interface.
- Auto-unlink MIDI clips when pasted/placed with Ctrl+click/Enter.
- Fixed LV2 plug-ins UI X11 (native) initial size.
- Fixed implicit deactivation when a plugin is removed from chain.
- Fixed audio clip export, normalize and tempo-adjust when audio
file number of channels is disparately greater than respective
track's output bus count.
- Fixed one killer lurking in MIDI Controller... modeless dialog
instantiation.
- Fixed non-effective automation curve node editing.
- Track/Export Tracks... dialog ranges are not capped to current
session-end anymore.
- Fixed MIDI clip editor vertical-zooming when using the [Ctrl+]
mouse-wheel.
- Set auto-backward play-head location also when clicking on main
track-view header/time-ruler and on thumb-view.
- Fixed LV2 plug-in buffer-size initialization, esp. affecting the
ZynReverb LV2 playback.
- Export Tracks dialog last range selection is now remembered.
- Fixed the out-of-process plugin scanner path resolution on some
self-container(ized) formats eg. AppImage and possibly Flatpak.
0.9.26 2022-04-09 A Spring'22 Release.
- Main application icon is now presented in scalable format (SVG).
- Have even more tolerance to JACK buffer-size changes, prompting
for a complete session reload, only when exceeding the double of
the previous/current size.
- Added an additional status-bar label to show the session current
buffer-size (in frames per period).
- Migrated command line parsing to QCommandLineParser/Option
(Qt >= 5.2)
- Make last recorded clip current and suitable target for immediate
loop recording takes switch or navigation.
- Number of takes is now shown on clip titles and tooltips.
- Fixed in-flight transport mode changes.
- Fixed translations path to be relative to application runtime.
0.9.25 2022-01-09 A Winter'22 Release.
- Hopefully fixed an old MIDI off-timing bug noticeable only when
exporting (Track/Export Tracks/Audio...) on large buffer-sizes
(>= 2K frames/period).
- Clip/File Loop Set menu command is now a toggle.
- Fixed problem with punch-in/out and loop-recording being lost when
stopping the play-head right after and between the loop-start and
punch-in points, even though at least one cycle or take is through.
- Dropped autotools (autoconf, automake, etc.) build system.
- A more verbose warning question is issued, on whether to continue
saving to an existing zip/archive directory and accept to replace
and erase all its current data in the future.
- Fixed potential crash on session close or application exit, when
some plugins have been removed.
0.9.24 2021-10-16 An Autumn'21 Release.
- A new option has been added to reset/resend all MIDI track/channel
and buses controllers on playback start (cf. View/Options.../MIDI/
Playback/Reset all controllers on playback start).
- Whenever possible, avoid suggesting Save As... to an extracted
archive/zip directory.
- Fixed an old nasty mistake when renaming session names and then
saving into an archive/zip bundle file (.qtz).
- Fixed Mixer multi-row automatic layout consistency, when adding
new or removing existing tracks or buses.
0.9.23 2021-07-10 An Early-Summer'21 Release.
- Dropped the 'Activate' option on the plug-in Selection dialog,
now being as always on by default.
- Have some tolerance for JACK buffer-size changes, only prompting
to a complete session reload, if increasing in double the initial
period size.
- Introducing plug-in blacklisting, on user discretion (in View
/Options.../Plugins/Blacklist) and on inventory scan (crashed
plug-ins are now automatically blacklisted).
- Added special support for LV2 UI GTK2 plugins based on Gtkmm 2.4
framework.
- All builds default to Qt6 (Qt >= 6.1) where available.
- CMake is now the official build system.
0.9.22 2021-05-14 A Spring'21 Release.
- Fixed one terribly old and overlooked mistake that was preventing
MIDI tracks volume and panning automation to take effect on audio
export.
- All packaging builds switching to CMake.
0.9.21 2021-03-18 An End-of-Winter'21 Release.
- Ignore snap while ALT key is pressed, on the main track-view and
the MIDI clip editors (aka. piano-roll).
- Fixed a FTBFS when native LV2 UI GTK2 support is disabled.
- Fix IPlugView leaks for VST3 plugins.
0.9.20 2021-02-12 A Winter'21 Release.
- Fixed and improved automation curve recording, whenever playback
is rolling (and also when isn't:)).
- Fixed parsing/loading of large session bundle archive/zip files
(.qtz > 2GB).
- Fixed LV2 plug-in UI X11 (native) resize.
- Make NSM state file names independent to session display names,
keeping backward compatibility for old sessions.
- Exiting, quitting or closing the main window while under NSM, now
promptly asks whether to save, discard or cancel as usual.
- Re-improved Mixer multi-row layout.
- Fix incorrect destruction order for VST3 modules.
0.9.19 2020-12-20 A Winter'20 Release.
- Session directory auto-name option added to the session properties
dialog, as convenience.
- Loading and saving a LV2 plugin's state has been vastly improved.
IMPORTANT CAVEAT: From this moment onwards, when loading any newer
saved sessions into older versions of the program, all LV2 plugins
won't get their state restored correctly.
- Track colors saturation introduced as yet another eye-candy option
(cf. View/Options.../Display/Track color saturation)
- Fixed VST3 number of channels query/report.
- Fixed immediate crash when loading untitled or unnamed Instrument
Definitions files (*.ins): base file-name is now taken as default
instrument definition name or title.
- Tempo (BPM) entry may now be specified with arbitrary precision, to
at most 3 decimal positions in fractional part, while integer whole
values are displayed with no decimal point.
- Added option to keep MIDI clip editor windows (aka. piano-roll)
always on top of the main window (cf. View/Options.../General/
Keep editor windows always on top).
- MIDI clip editor status-bar labels are not stretched to whole text
size anymore, most specially for the current file complete path.
0.9.18 2020-10-30 A Fall'20 Release.
- When under NSM, all top-level windows, main, mixer and connections,
will always start hidden.
- Plugin editors (GUIs) that are currently open on a track are now
brought up as top-level windows immediately when a track is made
current or highlighted (and Track / Auto Monitor is in effect).
- MIDI clip editor mouse hovering effect extended to whole current
note line on main view (piano-roll eye-candy++); also, the white
keys on MIDI clip editor's virtual piano keyboard, are now fully
highlighted.
- Plugin search paths (cf. View/Options.../Plugins/Paths) now showing
all the default and actual existing paths, instead of a blank list.
- Undimmed octave divider lines on the piano-roll.
- Fixed potential crash on changing audio output buses channel count.
- Note names display (inside note rectangles) are now an option on
the MIDI clip editor (aka. piano-roll; menu View > Note Names).
0.9.17 2020-09-15 An End-of-Summer'20 Release.
- Early fixing to build for Qt >= 6.0.0 and the C++17 standard.
- Fixed crash when changing an auto-monitored audio track's number
of channels due on switching its audio output bus.
- Avoid a complete track re-open when changing properties, unless
either input or output buses are changed.
- Fixed custom track icon selection when none is currently set.
0.9.16 2020-08-07 A Summer'20 Release.
- Experimental / High resolution plugin automation (14-bit) options
is now also removed from View > Options... > Plugins dialog.
- Audio Clip / Export... now takes into account custom fixed gain
property (shamefully missing for the whole last decade to date).
- Finally indulged on dummy LV2 plug-in CVPort support, just to
avoid certain immediate and sudden crashes when inserting those
kind of 'non-functional' plugins accidentally.
- Bring the Track Export dialog down to Clip Merge/Export as well,
for optional file type and format selection.
- When enabled, do auto-save upon adding or inserting a new plugin.
- Make sure LV2 plug-in UI GTK2 and X11 native support is selected
first by default on top to libsuil.
- Both out-of-process plugin inventory scan and LV2 Dynamic manifest
options have been removed from View > Options... > Plugins dialog.
- Fixed deprecated stuff on an early preparation for Qt6.
0.9.15 2020-06-27 An Early-Summer'20 Release.
- Fixed MIDI tracks export that were missing the end-of-export tail
parameter and bailing out always with default SMF format anyway.
- Fixed VST3 component/controller inter-connection.
- LV2 Atom/Port-event host notification support has been retouched,
but still unofficial though.
- Fixed VST3 audio-processor initialization/activation when a plugin
has no inputs or outputs present.
- Let main window pseudo-asynchronous stabilization re. menus, tools
and status bars, just faster and immediate.
- Fixed MIDI track monitor reinstantiation and reset.
0.9.14 2020-05-07 A Mid-Spring'20 Release.
- Export file type, format and quality are now specific options on
the Track/Export Tracks.../Audio, MIDI dialogs.
- LV2 plug-in UI GTK2 and X11 in Qt5 host native support in addition
and alternative to libsuil.
- Generic plug-in/Properties... dialog now showing each
parameter/property automation status on a skeuomorphic aka. fake and
tiny LED ;)
- LV2 Plug-in Patch parameter/properties automation and MIDI
Controller assignment/learn are now a possibility.
- LV2 Atom/Port-event host notification support has been implemented
(unofficial).
- Fix clean-up of any recording leftovers.
- JACK Transport latency is now taken into account for recording
latency compensation.
- Attempt to force correct audio clip offsets due on recording latency
compensation are not quantized to MIDI metronomic time-scale anymore.
- LV2 Plug-in MIDNAM support introduced.
- Use Shift or Ctrl keyboard modifiers with the mouse-wheel to change
any Direct Access plug-in parameters.
0.9.13 2020-03-28 A Spring'20 Release.
- All meters background color are now customize-able (cf.
View/Options.../Display/Meters, color level "Back").
- Automatic mixer grid layout (multi-row) is now in effect
permanently--being an option no more.
- Always show plugins and meters on track list/left pane as permanent
standard now.
- LV2 UI Request-value feature/interface support has been implemented.
- Audio output monitoring meters are now shown/hidden auto-magically
on MIDI tracks and/or buses--no need for some user preference option
anymore (ie. View/ Options.../Plugins/Instruments/Show audio output
monitoring meters, is now gone).
- Default track height has been slightly increased.
- Track / Duplicate Track... now also takes a MIDI track's audio
meters setting into account.
- VST3 plug-in support introduced.
- Fixed first bar/measure position drawing on the time-scale/grid
across time-signature changes on the MIDI clip editor (aka.
piano-roll).
- Plugins and meters on track list/left pane, are now being set on as
default--maybe going stapled in some near future ;)
- Make man page compression reproducible (after request by Jelle van
der Waa, while on the Vee-Ones, thanks).
- Avoid resetting top or left position when zooming with mouse pointer
is in main tracks or MIDI clip editor (piano-roll) views.
- Make libaubio a build dependency on Debian/Ubuntu; also fix
cross-build check to sizeof(float).
- Bumped copyright headers into the New Year (2020).
0.9.12 2019-12-28 The Winter'19 Release.
- Basic key-signature has been added to tempo, time-signature and
location markers map.
- MIDI Clip editor (aka. piano-roll) horizontal and vertical splitter
sizes, widths and heights resp. are now preserved as user preferences
and also to session state.
- Second attempt to fix the yet non-official though CMake build
configuration.
0.9.11 2019-11-09 The Mauerfall'30 Release.
- MIDI Instrument and patch, bank and program names are now correctly
updated on their respective track -list (left pane) columns.
- Avoid copying/replicating dirty MIDI clip files, for yet
untitled/scratch sessions.
- Transport/Backward commands now honoring edit-tail, loop-end and
punch-out points, when playback is not rolling.
- A session name (sub-)directory is now suggested on every new session
properties dialog.
- Avoid adding any extraneous clip replica when Ctrl +dragging on
either of its edges.
- When using autotools and ./configure --with-qt=..., it is also
necessary to adjust the PKG_CONFIG_PATH environment variable (after a
merge request by plcl aka. Pedro López-Cabanillas, while on qmidinet,
thanks).
- Fixed a potential crash-effect in switching MIDI output buses on
tracks that are set to show audio output monitoring meters.
0.9.10 2019-10-12 Autumn'19 Beta.
- Fixed initial session tempo override when importing a standard MIDI
file.
- An alternate time-signature/meter option is being served to the MIDI
clip editor (aka. piano-roll) and allowing for some poly-rythm/meter
scenarios on a per MIDI clip basis.
- Fixed MIDI "overdub" recording on offset clips.
- MIDI bank and program settings now propagating to all MIDI track's
clips resp.
- Fixed MIDI file format default setting other than SMF Format 0.
- Escape key may now be used to reset time and tempo /time-sgnature
spin-box controls.
- Play-head time and tempo/time-signature controls are now featured in
MIDI clip editor toolbars (aka. piano-roll); time display format is
also separated from the tracks main application view and defaults to
BBT as being most convenient.
- All items in the MIDI clip editor's event list are now enabled,
selectable and editable, no matter the filter settings for the event
views.
- Added alternate yet non-official CMake build option.
- Improved MIDI clip editor (aka. piano-roll) position and size
persistence across session state.
- Fix HiDPI display screen effective support (Qt >= 5.6).
- Mixer, Connections and MIDI clip editor top-level windows shall have
no parent, unless when set as always-on-top tool windows. (REGRESSION)
- Make sure compiler flags comply to c++11 as standard.
0.9.9 2019-07-24 Summer'19 Beta.
- Fixed editing and display of 'Pgm Change' events on the MIDI clip
editor (aka. piano-roll).
- Introducing tempo/beat-detection support on the Clip / Tempo
Adjust... dialog (provided libaubio >= 0.4.1 is available); and now
also featured with some rough visual clues ;).
- Updated for the newer Qt5 development tools (>= 5.13).
- Imply asking for a brand new filename (ie. Save As...) whenever the
session file original sample-rate differs from the current audio
device engine (ie. JACK).
- Configure updated to check for qtchooser availability.
- Fix MIDI through for LV2 plug-ins that have no MIDI output
event/atom ports.
0.9.8 2019-05-31 Spring'19 Beta.
- Plugin-lists and respective plugins state may now be exported and/or
imported as XML files.
- When in Drum Mode, Key and Scale are meaningless and thus
functionally disabled from the MIDI clip editor (aka. piano-roll).
- MIDI clip editor's View > Ghost Track menu option is now finally a
reality: show any existing MIDI track and its respective clips in the
background as dimmed, semi-transparent aka. ghost events.
- Minor update to Debian packaging control file.
- Make sure partially selected clips are reset to whole when
Shift/Ctrl keyboard modifiers are in effect, to prevent extraneous
clip splits or cutaways afterwards.
0.9.7 2019-04-16 Spring-Break'19 Release.
- Re-defined all main application UNIX signal handling.
- Fixed possible crash in drawing clips while rare
loop-recording/takes situations.
- Main window stabilizing is now kind of asynchronous re. menus, tools
and status bars.
- MIDI Controller's Latch mode attribute on tracks and plugins are now
properly saved/loaded as meant to be.
0.9.6 2019-03-20 Pre-LAC2019 Release Frenzy.
- Fixed LV2 UI Touch feature/interface implementation.
- Plugin latency/delay compensation is now introduced as an option to
tracks only (cf. Track/Properties... /Latency compensation).
- Refactored all singleton/unique application instance setup logic
away from X11/Xcb hackery.
- A bit lesser of a naive file-name numbering is now in place to avoid
as much as possible, the piling up of internal curve/automation files
when saving existing sessions.
- Maybe just informational but the original MIDI file format is now
correctly reported across ref-counted linked MIDI clips.
0.9.5 2019-02-14 Valentines'19 Hotfix.
- HiDPI display screen support (Qt >= 5.6; patch by Hubert Figuiere,
thanks).
- Fixed for DSSI plug-ins (eg. fluidsynth-dssi) loss of configuration
state: clear internal config/state keys on release virtual method.
(REGRESSION)
- Fixed for NSM (and JACK) sessions not saving the correct file
references/symlinks of clips that are recorded or created during the
initial and scratch session.
0.9.4 2019-02-07 Winter'19 Beta.
- Drag-moving and copy-pasting existing clips, while over the main
track-view, now shows the respective (audio wave-shapes and MIDI
piano-rolls) graphical representations, as much as possible.
- For good and bad, session name changes now trickle down to
respective audio/MIDI file names as well.
- Audio output monitoring meters may now be shown on MIDI tracks and
buses as a default user preference option (View/
Options.../Plugins/Instruments/Show audio output monitoring meters)
and also in plugin list context sub-menu (Audio/Meters).
- Custom color (palette) themes can be exported to and imported from
external files.
- LV2 plug-in UI GTK2 and X11 in Qt5 host native support are now
enabled on configure by default. (REGRESSION)
- Fixed minimum input value as 10% (was 1%) for audio clip
time-stretching in the Clip / Edit... dialog.
0.9.3 2018-12-07 End of Autumn'18 Beta.
- Auto-backward now skips the end-of-session location.
- Audio clip time-stretching and pitch-shifting limits are now 10-fold
in either direction.
- Custom color (palette) theme editor introduced; color (palette)
theme changes are now effective immediately, except on default.
- Old deprecated Qt4 build support is no more.
- Recover audio and MIDI dedicated port connections when changing any
of the Metronome, Player and/or Control option settings.
- Fix MIDI track (and bus) bank/program reset to none.
- Anti-glitch micro-fade-in is disabled on audio clips with zero
offset.
- Audio and MIDI file players also stopped on Transport / Panic
command.
- LV2 plug-in UI GTK2 and X11 in Qt5 host native support are now
disabled on default configure.
- Get rid of symlink duplicates on the default plugin search paths.
- According to Debian policy and guidelines, the out-of process plugin
scanner (qtractor_plugin_scan) is now installed to $LIBDIR/qtractor.
0.9.2 2018-09-09 Summer'18 Beta.
- AppData/AppStream metadata is now settled under an all permisssive
license (FSFAP); also updated to be the most compliant with latest
freedesktop.org specification and recommendation.
- Fix build for Qt >= 5.11.0 (by David Geiger, thanks); also for some
g++ >= 8.1.1 warnings and quietness.
0.9.1 2018-05-29 Pre-LAC2018 Release Frenzy.
- Displaying MIDI note(on) events as diamonds instead of simple
rectangles (aka. Drum Mode) is now being introduced as an optional
MIDI track property (Drums) and as a MIDI clip editor (piano-roll)
visual option (cf. View/Drum Mode).
- Extended multi-selection is now supported on all the Connections
client/port lists, allowing for multiple (dis)connections at once.
- Added LV2 UI sample-rate option support.
- Always reset all internal dedicated MIDI controllers, eg. MIDI track
volume (CC#7) and panning (CC#10), on Transport/Panic and after
rendering export to aud1io (ie. Track/Export Tracks/Audio...) as
needed to reset MIDI instrument plugins to nominal session state.
- Fix, detect and preserve MIDI Bank-select method across MIDI
track/clips editing operations.
- Fixed MIDI track and clip note min/max display range while recording
and also when duplicating tracks.
- Added "All files (*.*)" filter to every file requestor dialog,
wherever missing.
- The tiny zoom-magnifier icons have been revamped.
0.9.0 2018-03-22 Early Spring'18 Beta.
- New View/Options.../Plugins/Experimental/Show plugins on track
list/left pane option is in effect on tracks that are tall enough in
height for their plugins list to fit on the Bus column.
- Fixed a day-zero bug over the MIDI Insert (Send/Return)
pseudo-plugin, which was duplicating MIDI events onto the next LV2
plugin in chain, causing strange hanging notes, mutes, retriggerings
and what not.
- MIDI track and clip note min/max range display now fixed.
- MIDI Program Change events (PC) now have their proper program number
as parameter, instead of value, on the internal MIDI event
representation.
- Merging MIDI clips while on SMF Format 0 has been fixed: was merging
always onto the same MIDI channel (2), most often the wrong one,
resulting in an empty or blank clip.
- When importing from standard MIDI files (SMF), set track names from
Mtrk TRACKNAME meta-events instead of filename.
- Avoid asking to save as to existing or just newly created clip
file-names, whenever possible.
- Disable singleton/unique application instance setup logic when the
display server platform is not X11.
- Whether to use native file browser/requester dialogs is now an
effective option when launching under NSM session management (was once
disabled initially).
- Content files are now saved as symlinks when saving to JACK and/or
NSM session directories/folders.
- Trying to get CC14 MSB+LSB (course+fine) running status on, no
matter whether each pairing event are under 200ms apart.
- Possible VST plug-in GUI reparenting hack/fix on Qt5/Xcb.
0.8.6 2018-01-30 Winter'18 Beta.
- Added LV2_UI_updateRate option support.
- Added brand new option to deactivate plugins only if they can
produce sound cf. main menu Track/Auto Deactivate (by Andreas Müller
aka. schnitzeltony, thanks).
- Workaround native file dialogs hang up by setting parent widget to
NULL; it should be noted that dialogs now get an own entry in the
task-bar (also by Andreas Müller aka. schnitzeltony, thanks).
- Added ARM NEON acceleration support (by Andreas Müller aka.
schnitzeltony, thanks).
- Track count "limit" and a "Delta" mode flag, for momentary and
encoded controllers support, have been added to MIDI Controllers
generic mapping (cf. View/Controllers...; after an original
pull-request by Holger Dehnhardt, thanks).
- A little hardening on the configure (autoconf) macro side.
- Pinned current/hi-lighted track dangling after removal.
- An anti-flooding timer is now in place in MIDI Controller assignment
(aka. MIDI learn) dialog.
- Add MMC Track input monitor support.
- New user preference option: View/Options.../General/Options/Reverse
keyboard modifiers role (Shift/Ctrl), applied to main transport
re-positioning commands: Transport/Backward, Forward, etc.
- VST Time/Transport information is now also updated as on playing
when in audio export aka. freewheeling mode.
- LXVST_PATH environment variable now takes precedence over VST_PATH
as Linux-native VST plug-ins search path.
- MIDI Controllers mapped to non-toggling shortcuts now work as
one-shot triggers, independent of MIDI event value.
0.8.5 2017-12-04 Autumn'17 Beta.
- Audio clip gain and panning properties are now taken into
consideration when hash-linking (aka. ref-counting) their back-end
buffers.
- New out-of-process plug-in inventory scan and cache option,
replacing the old (aka. dummy) VST plug-in scan option and extending
its function to all other plug-in types: LADSPA, DSSI and also LV2
(cache only).
- A File System browser and tree-view is finally integrated as a
dockable-widget on the main application window (cf. main menu View /
Window / File System).
- Drag-and-dropping of session, audio and MIDI files over the main
track-list (left pane) is now possible, allowing for yet another quick
means to open a new session or add new tracks to the current session.
- MIDI input/capture time-stamping has been fixed as much to avoid
missing inbound events, when play-head is near the loop-end point and
the loop-start is set below the absolute first half-a-second
(<0.5sec).
- LV2 Time/Transport speed information is now set on rolling when in
audio export aka. freewheeling mode.
- Added *.SF3 to soundfont instrument files filter, on View >
Instruments... > Import... file dialog.
- A brand new View/Options.../Display/Meters/Show meters on track
list/left pane option has been added.
0.8.4 2017-09-20 End of Summer'17 Beta.
- Assigned MIDI Controllers to plug-in's Activate switch are now
finally saved and (re)loaded properly across sessions.
- Audio clip panning option property is now being introduced.
- Out-of-process (aka. dummy) VST plug-in inventory scanning now
restarts automatically and resumes processing in case of a premature
exit/crash; VST plug-in inventory scan/cache persistency is now in
place.
- Desktop entry specification file is now finally independent from
build/configure template chains.
- Updated target path for freedesktop.org's AppStream metainfo file
(formerly AppData).
- Changing the View/Options.../Display/Custom/Style theme takes effect
immediately unless it's back to "(default)".
- Slightly slower but better approximation to IEEE 32bit floating
point cubic root ie. cbrtf().
0.8.3 2017-06-30 Stickiest Tauon Beta.
- Make sure any just recorded clip filename is not reused while over
the same track and session. (CRITICAL)
- LV2 Plug-in worker/schedule interface ring-buffer sizes have been
increased to 4KB.
- Fixed track-name auto-incremental numbering suffix when modifying
any other track property.
- WSOLA vs. (lib)Rubberband time-stretching options are now
individualized on a per audio clip basis.
- Long overdue, some brand new and fundamental icons revamp.
- Fixed a tempo-map node add/update/remove rescaling with regard to
clip-lengths and automation/curve undo/redo.
- Fixed a potential Activate automation/curve index clash, or
aliasing, for any plug-ins that change upstream their parameter count
or index order, on sessions saved with the old plug-in versions and
vice-versa.
0.8.2 2017-05-10 Stickier Tauon Beta.
- Track-name uniqueness is now being enforced, by adding an
auto-incremental number suffix whenever necessary.
- Attempt to raise an internal transient file-name registry to prevent
automation/curve files to proliferate across several session load/save
(re)cycles.
- Track-height resizing now meets immediate visual feedback.
- A brand new user preference global option is now available:
View/Options.../Plugins/Editor/Select plug-in's editor (GUI) if more
than one is available.
- More gradient eye-candy on main track-view and piano-roll canvases,
now showing left and right edge fake-shadows.
- Fixed the time entry spin-boxes when changing time offset or length
fields in BBT time format that goes across any tempo/time-signature
change nodes.
- French (fr) translation update (by Olivier Humbert, thanks).
0.8.1 2017-02-17 Sticky Tauon Beta.
- The View/Options.../Display/Dialogs/Use native dialogs option is now
set initially off by default.
- All tempo and time-signature labels are now displayed with one
decimal digit, as it was in mostly everywhere else but the time
ruler/scale headers.
- JACK transport tempo and time-signature changes are now accepted,
even though playback is not currently rolling; also, changing (JACK)
Timebase master setting (cf.View/
Options.../General/Transport/Timebase) will take effect immediately,
not needing nor warning for session restart anymore.
- Track/Navigate/Next and Previous menu commands, finally fixed to
wrap around the current track list.
- Current session (JACK) transport mode option switching is now being
made accessible, from the main menu and drop-down toolbar buttons, as
well as user configurable PC-keyboard and/or MIDI controller shortcuts
(cf. Transport/Mode/None, Slave, Master, Full).
- Fixed some auto-backward play-head position flip-flopping, when
opening a new session while the previous was still on rolling/playing
state, hopefully.
- Added French man page (by Olivier Humbert, thanks).
- MIDI clip changes are now saved unconditionally whenever the editor
(piano-roll) is closed or not currently visible.
- Audio clip peak/waveform files re-generation performance,
scalability and resilience have been slightly improved.
- Some sanitary checks have been added to audio clip peak/ waveform
re-generation routine, as much to avoid empty, blank, zero or
negative-width faulty renderings.
- Do not reset the Files tree-view widgets anymore, when leaving any
drag-and-drop operation (annoyingly, all groups and sub-groups were
being closed without appeal).
- Make builds reproducible byte for byte, by getting rid of the
configure build date and time stamps.
0.8.0 2016-11-21 Snobbiest Graviton Beta.
- MIDI clip tools redo/undo processing refactored as much to avoid
replication over multiple hash-linked clips; MIDI clip editor's
floating selection/anchor event stability has been also improved, in
regard to MIDI tools processing range.
- Auto-backward play-head location, when playback was last started, is
now shown on main track-view, as a momentary dark-red vertical line
marker.
- LV2 plug-in parameter optimization: stuff consecutive series of
plug-in's parameter value changes, as much as possible into one single
undo/redo command.
- LV2_STATE__StateChanged is now recognized as a regular atom
notification event and raising the current session dirty flag, as
normal behavior.
- Adjusting clip selection edges is now possible and honored while on
the the main track-view canvas.
- Audio peak file caching and rendering, as far as audio clip
wave-forms are concerned, have been refactored and optimized a couple
of notches higher, on the ephemeral and rather marginal throughput
front ;).
- Fixed a potential crash on the singleton/unique application instance
setup.
- Edit/Select Mode tool-buttons moved into single drop-down
tool-button on the main and MIDI editor's tool-bar.
- Do not reset the current clip selection when updating the main
track-view extents eg. while zooming in or out.
- Automation curve node editing auto-smoothing revisited; also fixed
input MIDI RPN/NRPN running status processing, which was crippling
some plug-in automation curve nodes, when saved in high-resolution
14-bit mode.
- Fixed the visual play-head position (vertical red line) while
zooming in or out horizontally.
- Almost complete overhaul on the configure script command line
options, wrt. installation directories specification, eg. --prefix,
--bindir, --libdir, --datadir and --mandir.
- LV2 Plug-in worker/schedule fix: make request/response ring-buffer
writes in one go, hopefully atomic (suggested patch by Stefan
Westerfeld, while on SpectMorph, thanks).
0.7.9 2016-09-21 Snobbier Graviton Beta
- JACK buffer-size change handling has been deeply improved, now doing
an immediate session restart, while preserving all external
connections as much as possible.
- Introducing an audio and MIDI metronome anticipatory offset, kind of
latency compensation, to respective option settings cf.
View/Options.../Audio, MIDI/Metronome/Offset (latency).
- Fixed LADSPA plug-in preset switching, incidentally broken as NOP,
ever since late Haziest Photon's crash-landed.
- MIDI Track/Instrument cascading menus have been found empty broken
on Qt5 builds, now fixed.
- MIDI RPN/NRPN running status and RPN NULL reset command are now
supported (input only).
- Fixed a sure immediate crash on removing audio buses that are
current targets of any active Aux-Send inserts.
- Fixed yet another old bummer that was reaping off assigned MIDI
controllers on existing track's gain/volume or panning controls, when
adding any single new track.
- Fixed missing feedback on MIDI controllers assigned to any of
monitor, record, mute and solo track/bus state buttons.
- Eye-candy warning: the current clip, not necessarily the one
currently selected, is now highlighted with a solid outline; linked
MIDi clips are also highlighted with an alternate dashed outline.
- SFZ file conversion, and bundling of the respective sample files, is
now supported when saving as zip/archive (*.qtz).
- Fixed track monitor, record, mute and solo dangling states, on
Track/Duplicate command.
- Slight regression on the LV2 State Files abstract/relative file-path
mapping, trading QFileInfo::canonicalFilePath() for
QFileInfo::absoluteFilePath(), and thus skipping all symlink
dereferences in the process.
- Fixed a one first linking/ref-counting glitch, affecting recently
recorded MIDI clips which might have their initial clip length still
un-quantized to MIDI resolution (BBT).
- A brand new and discrete MIDI clip editor command tool has been
added: MIDI Tools/Transpose/Reverse.
- Discretely fixed MIDI Controllers catch-up algorithm.
- Fixed a borderline mistake on plug-in parameter port index mapping
to its corresponding symbolic name, especially if newer plug-in
versions are loaded on older saved sessions.
0.7.8 2016-06-23 Snobby Graviton Beta
- MIDI file track names (and any other SMF META events) are now
converted to and from the base ASCII/Latin-1 encoding, as much to
prevent invalid SMF whenever non-Latin-1 UTF-8 encoded MIDI track
names are given.
- MIDI file tempo-map and location markers import/export is now
hopefully corrected, after almost a decade in mistake, regarding MIDI
resolution conversion, when different than current session's setting
(TPQN, ticks-per-quarter-note aka. ticks-per-beat, etc.)
- Introducing LV2 UI Show interface support for other types than Qt,
Gtk, X11 and lv2_external_ui.
- Prevent any visual updates while exporting (freewheeling) audio
tracks that have at least one plugin activate state automation enabled
for playback (as much for not showing messages like "QObject::connect:
Cannot queue arguments of type 'QVector<int>'"... anymore).
- The common buses management dialog (View/Buses...) sees the
superfluous Refresh button finally removed, while two new button
commands take its place: (move) Up and Down.
- LV2 plug-in Patch support has been added and LV2 plug-ins parameter
properties manipulation is now accessible on the generic plug-in
properties dialog.
- Fixed a recently introduced bug, that rendered all but one plug-in
instance to silence, affecting only DSSI plug-ins which implement
DSSI_Descriptor::run_multiple_synths() eg. fluidsynth-dssi, hexter,
etc.
0.7.7 2016-04-27 Haziest Photon Beta
- LV2 UI Touch feature/interface support added.
- MIDI aware plug-ins are now void from multiple or parallel
instantiation.
- MIDI tracks and buses plug-in chains now honor the number of
effective audio channels from the assigned audio output bus; dedicated
audio output ports will keep default to the stereo two channels.
- Plug-in rescan option has been added to plug-ins selection dialog
(yet another suggestion by Frank Neumann, thanks).
- Dropped the --enable-qt5 from configure as found redundant given
that's the build default anyway (suggestion by Guido Scholz, thanks).
- Immediate visual sync has been added to main and MIDI clip editor
thumb-views (a request by Frank Neumann, thanks).
- Fixed an old MIDI clip editor contents disappearing bug, which
manifested when drawing free-hand (ie. Edit/Select Mode/Edit Draw is
on) over and behind its start/beginning position (while in the lower
view pane).
0.7.6 2016-04-05 Hazier Photon Beta
- Plug-ins search path and out-of-process (aka. dummy) VST plug-in
inventory scanning has been heavily refactored.
- Fixed and optimized all dummy processing for plugins with more audio
inputs and/or outputs than channels on a track or bus where it's
inserted.
- Fixed relative/absolute path mapping when saving/loading custom LV2
Plug-in State Presets.
0.7.5 2016-03-21 Hazy Photon Beta
- Beat unit divisor, aka. the denominator or lower numeral in the
time-signature, have now a visible and practical effect over the
time-line, even though the standard MIDI tempo(BPM) is always denoted
in beats as quarter-notes (1/4, crotchet, seminima) per minute.
- Fixed an old hack on LV2 State Files abstract/relative file-path
mapping when saving custom LV2 Presets (after a related issue on
Fabla2, by Harry Van Haaren, thanks).
- Default PC-Keyboard shortcuts may now be erasable and re- assigned
(cf. Help/Shortcuts...).
- New option on the audio/MIDI export dialog, on whether to add/import
the exported result as brand new track(s).
- Introducing brand new track icons property.
- Old Dry/Wet Insert and Aux-Send pseudo-plugin parameters are now
split into separate Dry and Wet controls, what else could it possibly
be? :)
- Brand new MIDI Insert and Aux-Send pseudo-plugins are now
implemented with very similar semantics as the respective and existing
audio counterparts.
- Implement LV2_STATE__loadDefaultState feature (after pull request by
Hanspeter Portner aka. ventosus, thanks).
- Plugi-ins search paths internal logic has been refactored; an
alternative file-name based search is now in effect for LADSPA, DSSI
and VST plug-ins, whenever not found on their original file-path
locations saved in a previous session.
- Finally added this brand new menu Clip/Cross Fade command, aimed on
setting fade-in/out ranges properly, just as far to (auto)cross-fade
consecutive overlapping clips.
0.7.4 2016-01-28 Tackiest Gluon Beta
- Eye-candy warning: muted/non-soloed tracks are now shaded over the
main thumb-view.
- Faster and crispier VST plugin editor (GUI) idle cycles.
- Fixed all core processing when any plugin has more audio outputs
than channels on a track/bus where it's inserted.
- Added one decimal digit to all percentage input spin-boxes on the
MIDI Tools dialog.
- Added brand new and global option to disable the so called
"catch-up" default behavior (cf. View/Controllers.../Sync).
- Fixed some track control issues related to MIDI Controllers generic
mapping (cf. View/Controllers...).
- Try making Help/Shortcuts... dialog window modeless, as far as under
MIDI Controller, Inputs/Outputs Connections window also gets
accessible enough.
- Fixed some vertical scrolling and play-head line re-drawing glitches
introduced by the recent unlimited slack to editing beyond current
contents length on main tracks view.
- Added one decimal digit to the Pitch-shift spin-box on audio
Clip/Edit... properties dialog window.
- Added application keywords to freedesktop.org's AppData.
- Fixed local keyboard shortcuts on the Files organizer widget actions
and context-menu.
- Improved Mixer multi-row layout (patch by Holger Marzen aka.
bluebell, thanks).
- Fixed the Ctrl+drag/cloning left of a clip when towards near the
beginning of session.
0.7.3 2015-12-29 Tackier Gluon Beta
- Slight increase on the number of decimal digits for the plugin
parameters while on the generic plugin properties dialog. Also applied
to automation curve node value editing.
- Unlimited slack is now in effect on editing over and beyond the
current session or clip contents length, on both the main tracks and
MIDI clip editor (piano-roll) views.
- Ctrl+click and dragging the left or right edges of a clip will now
make it spill over and replicate as many clip clones as it fits in the
left or right horizontal extent.
- Added View/Note Type and Value Type command menus to the MIDI clip
editor (aka. piano-roll) which opens the possibility for discrete
shortcuts to switching views eg. Note Velocity and Controller views
(after a kind request by yubatake, thanks).
- Fixed the conversion and/or override of MIDI clip offsets when
moving and copy/pasting across tempo/time-signature changes.
- Fixed MIDI file track/channel duration estimator, which was giving
quite wrong and way too short reads.
- Fixed a drag-and-drop bug over the main tracks view, when new tracks
were being inserted at the top and not to the bottom as is normally
indicated by the floating visual placeholder.
- Fixed LV2UI_Resize handle from extension_data(LV2_UI__resize), now
passing LV2UI_Handle in first argument to ui_resize(), as found
correct and needed for resizable/scaleable LV2 UI's, most specially to
ssj71's so called Infamous Plugins, thanks.
0.7.2 2015-12-10 Tacky Gluon Beta
- Yet another audio/MIDI time drift correction fix, now giving it some
slack while turnaround looping on tempo changes.
- Prevent x11extras module from use on non-X11/Unix platforms.
- MIDI Track/Instrument cascading pop-up menus have been added, to
main and MIDI clip editor windows.
- VST Plugin preset/bank files support (FXB/FXP) is now being
integrated to the generic Plugin/Properties widget dialog.
- Added new Track/Duplicate menu command.
- Added simple XRUN red indicator to status bar.
- Make sure program change/presets are not selected on possibly
multi-timbral instrument plugins when inserted on a MIDI bus.
- Prefer Qt5 over Qt4 by default with configure script.
- Fixed a potential crash-bug on first enabling either once the audio
or MIDI metronomes.
0.7.1 2015-10-09 Meson Dope Beta
- Fixed an ages old MIDI track/channel instrument mapping (bank,
program) issue that prevented normal all-shut-up messages from being
sent to MIDI output buses/ports on playback stop.
- Messages standard output capture has been improved again, now in
both ways a non-blocking pipe may get.
- Fixed port on MIDI 14-bit controllers input caching.
- Fixed false value readings on the MIDI clip editor (aka. piano
-roll) tool-tips, when dragging a note velocity or controller value
outside the acceptable nominal range (eg. 0-127).
- Added LV2_BUF_SIZE__nominalBlockLength option support (patch by
falktx aka. Filipe Coelho, thanks).
- Fixed wrong initial tempo/time-signature display when session is
loaded from command line.
- LV2 plug-in UI GTK2 and X11 in Qt5 host native support added.
- Transport/Auto Backward feature now honoring (auto return) to same
current location precedence as Transport/Backward.
- Single/unique application instance control adapted to Qt5/X11 (cf.
configure --enable-xunique).
- MIDI Tools/Transpose, Resize duration display format (frames, time
or BBT) have been fixed.
- Build fix for Qt5.5 (patch by KaOS, thanks).
- MIDI Tools/Quantize et al. are tentatively being corrected to take
event times as relative to THE beginning of session, instead of MIDI
clip start location.
0.7.0 2015-07-24 Muon Base Beta
- Complete rewrite of Qt4 vs. Qt5 configure builds.
- Revised MIDI Controlllers catch-up algorithm.
- Mixer multi-row layout gets a little bit of a fairness fix.
- Non-continuous MIDI Controllers now have their Hook and Latch
options disabled as those are found not applicable,
- As an alternative to PC-keyboard shortcuts, MIDI controllers are now
also assignable and configurable for any of the main menu command
actions, all from the same old configuration dialog
(Help/Shortcuts...).
- Fixed missing Track and Clip sub-menus from Edit/context-menu that
were found AWOL ever since after the Lazy Tachyon beta release (>
0.6.6).
- An off-by-one bar position (as in BBT, bar, beat and ticks) has been
purportedly fixed as long as LV2 Time/Position atom event transfer
goes.
- French (fr) translation line to desktop file added (patch by Olivier
Humbert, thanks).
- A new top-level widget window geometry state save and restore
sub-routine is now in effect.
- Improved MIDI clip editor resilience across tempo and time-
signature changes.
- Keyboard shortcuts configuration (Help/Shortcuts...) now lists
complete menu/action path where available.
- Fixed in-flight VST plugin editor (GUI) resizing.
- Added support to LV2UI_portMap extension, found really handy for the
cases where you have multiple plugins with different port
configurations and a single common UI to drive them all (pull request
by Hanspeter Portner aka. ventosus, thanks).
0.6.7 2015-05-27 Lepton Acid Beta
- MIDI clip editor (aka. piano-roll) position, size, and view /event
type criteria are now persistent, across session and user preferences
application state.
- Generic plugin form widget position is now also preserved across
open/save session cycles.
- MIDI clip editor resilience is about to get an improvement, re. it
doesn't close on stopping record/overdub anymore.
- Introducing (JACK) Timebase master setting as an option to Transport
mode (cf. View/Options.../General/Transport /Timebase).
- LV2 plug-in MIDI/Event support now slanted for deprecation.
- Spanish (es) translation added, by David Reyes Pucheta.
- It's live: audio track export (cf. Track/Export Tracks/ Audio...)
has been deeply refactored to finally include MIDI track/instrument
plugins rendering (aka. freeze) on selected audio output buses on
mix-down.
- MIDI file player now does (N)RPN 14-bit controller events.
- Track properties dialog output bus switch fix/optimization; also
fixed multiple DSSI instance reference count on close.
- Fixed for some strict tests for Qt4 vs. Qt5 configure builds.
- German (de) translation update (by Guido Scholz, thanks).
0.6.6 2015-03-29 Lazy Tachyon Beta
- MIDI clip record/reopen to/from SMF format 0 has been fixed.
- LV2 and VST plugins GUI editor widget position is preserved across
hide/show cycles.
- Added application description as freedesktop.org's AppData.
- Added a "Don't ask this again" prompt option to zip/archive extrated
directory removal/replace warning messages.
- MIDI clip editor (aka. piano-roll) gets lingering notes properly
shown while on record/overdubbing.
- Current highlighted client/port connections are now drawn with
thicker connector lines.
- Fixing segfaults due to QClipboard::mimeData() returning an invalid
null pointer while on Qt5 and Weston.
- Return of an old hack/fix for some native VST plugins with GUI
editor, on whether to skip the explicit shared library unloading on
close and thus avoid some mysterious crashes on session and/or
application exit.
- Force reset of plugin selection list when any of the plugin search
paths change (in View/Options.../Plugins/Paths).
- Recursive VST plugin search is now in effect for inventory and
discovery on path sub-directories (VST only).
- Non-dummy scannig for regular VST, non-shell plugins, were doomed to
infinite-loop freezes on discovery, now fixed.
0.6.5 2015-01-30 Fermion Ray Beta
- Connections lines now drawn with anti-aliasing; connections splitter
handles width is now reduced; the MIDI connections splitter pane sizes
are now saved and restored properly.
- Extended multi-selection is now featured on the track-list (main
left-pane), primarily allowing for group mute/solo (and monitor)
switching.
- Track-list (left pane) header column widths are now saved and made
persistent across application power cycle (double -click reverts to
the old original default).
- Minor fixes on the MIDI clip event list editor, also making sure the
current event is visible on the piano-roll view.
- As long to prevent asynchronous mistakes to JACK transport state
changes, an internal slack-delay is now introduced after
self-initiated transport commands (eg. start/stop).
- The MIDI clip editor (aka. piano-roll) was missing to clear or reset
the current selection when no shift/ctrl keyboard modifier is in
effect.
- VST-shell sub-plugins are now supported (as suggested by abique aka.
Alexandre Bique, thanks).
- MIDI clip record/overdubbing is now possible (Clip/Record on the
main menu or File/Record from the MIDI clip editor.
- Make sure some audio sample file encodings (eg. old Ogg Vorbis) does
not head-start on audio peak generation.
0.6.4 2014-11-24 Baryon Throne Beta
- Fixed some old loop-recording clip drawing glitches.
- Current assigned track/channel instrument definition names for MIDI
controllers, note keys, RPN and NRPN, are now in effect on the MIDI
clip editor drop-down lists, whether available.
- Clip/Take/Range... input dialog values are now properly sanitized as
long to prevent invalid take/folding ranges.
- Audio capture/export file type default now set to "wav".
- Extending punch-in/out over loop-recording/takes modes.
- Make audio tracks monitoring always flow while playback is rolling,
independently of their mute/solo state.
- Fixed undo/redo conversion of audio clip offsets under (automatic)
time-stretching eg. due on tempo changes. (ticket by Holger Marzen,
thanks).
- Latch/momentary MIDI Controllers toggle mode introduced (a request
by AutoStatic aka. Jeremy Jongepier, thanks).
- JACK client/port pretty-name (metadata) support is being seamlessly
introduced.
- Audio frame/MIDI time drift correction is now an option on
View/Options.../MIDI/Playback/Enable MIDI queue time drift correction.
- Transport auto-backward feature now honoring last position playback
was started.
- Introducing brand new application user preferences on
View/Options.../Display/Options/Custom style and color themes (eg.
"KXStudio", by Filipe Coelho aka. falkTX).
- Mixer widget gets automatic multi-row strip layout.
- Clip fade-in/out now follows time-stretch resizing, via
shift/ctrl+click and drag one of its edges.
- Fixed a typo causing FTBFS when VST plug-in support is explicity
disabled (./configure --disable-vst).
0.6.3 2014-09-22 Armed Hadron Beta
- Make the mouse-wheel to scroll the plugin list views, when not
hovering a direct-access parameter slider.
- Mixer widget gets (un)dockable Inputs and Outputs panels, also with
their respective title captions.
- Plugin instantiation is now constrained as much to prevent any audio
channel output overriding.
- Existing plugin presets may now be selected right(-click) from
plugin list context-menu (ticket by Harry van Haaren, thanks).
- So-called "painting" over multiple selected event values, while on
the MIDI clip editor view pane below the main piano-roll (eg. note
velocities, controller values, etc.) is now split into two similar
painting modes, whether the sub-menu Edit/Select Mode/Edit Draw is set
on (free-hand) or off (linear).
- Drag-and-copy of plug-in instances across tracks or buses (ie.
cloning) now also copies the direct access parameter setting (ticket
by Holger Marzen, thanks).
- File/Save As... now prompts and suggests an incremental backup name
for existing sessions files.
- Zooming in/out increment is now augmented by whether shift /ctrl
keyboard modifiers are set (on a ticket request by Holger Marzen,
thanks).
- LV2 Time position event messages for plugin atom ports that support
it is now being implemented.
- Attempt to break extremely long audio file peak generation on
session close or program exit (as reported by EternalX, thanks again).
- MIDI Controllers Hook and Invert properties are now properly saved
for tracks (after bug report by Nicola Pandini, thanks).
- A segmentation fault when closing with VST plugins open has been
hopefully fixed (after a patch by EternalX, thanks).
- Messages standard output capture has been slightly improved as for
non-blocking i/o, whenever available.
- Automation curve node editing has been slightly improved in regard
to time positioning and resolution.
0.6.2 2014-07-07 Boson Walk Beta
- Prevent linear and spline automation curve modes for all integer
valued subjects. Also, make sure those values are rounded to the
nearest integer away from zero.
- Fixed save of LV2 Presets for plugins with state files.
- A man page has beed added (making up Gürkan Sengün's work on debian,
thanks).
- When moving plugins by eg. drag-and-dropping across tracks,
automation curves were being left behind, maybe leading to
unpredictable mistaken behavior. Hopefully, not anymore.
- Translations install directory change.
- Automation curves are now automatically re-adjusted to tempo map
node changes (after a ticket by Holger Marzen, thanks).
- Audio/MIDI files or plugins found missing on session load are now
subject for an explicit modal warning message and prompt for an
immediate session backup salvage.
- Changing instrument plugin programs is now an undo/redo-able command
operation, especially for DSSI but also for plugins that come with the
LV2 Programs interface extension support
(http://kxstudio.sourceforge.net/ns/lv2ext/programs).
- Drawing, selecting and/or resizing of MIDI note events that extend
across tempo/time-signature changes is now made a bit more correctly
over the MIDI clip editor (aka. piano-roll), especially regarding to
current snap-to-beat setting (after an outstanding ticket by yubatake,
thanks).
- Once again, audio frame/MIDI time drift correction has been slightly
refactored to improve MIDI input monitor and timing.
- Discrete automation curve node values may now be edited via a
numerical entry floating spin-box on double-click (as yet another
request by AutoStatic aka. Jeremy Jongepier, thanks).
- Pressing shift/ctrl keyboard modifiers while double-clicking on a
plugin list entry now briefly reverses the current View
/Options.../Plugins/Editor/Open plugin's editor (GUI) by default
option preference.
- Fixed an old crash lurker when switching output buses that implied a
change on the number of audio channels, while on tracks that have
(auto-)monitor turned on and at least one active plugin in chain (yet
another ticket by AutoStatic aka. Jeremy Jongepier, thanks).
- MIDI Controller assignment (aka MIDI learn) and/or automation of
plugins (de)activation state has been added (as requested by
AutoStatic aka. Jeremy Jongepier, thanks).
- LV2 UI Idle and Show interfaces support added.
- Allow the build system to include an user specified LDFLAGS (patch
by Alessio Treglia aka. quadrispro, thanks).
O.6.1 2014-04-29 Bitsy Sweet Beta
- New user preference option added as View/Options.../Display
/Transport/Hold auto-scrolling (follow play-head) on edits (after
requests by Holger Marzen and Louigi Verona, thanks).
- All color chooser dialogs were missing proper titles.
- Audio peak file re-generation and clean-up has been hopefully fixed
and cache optimized (re. drawing audio clip waveforms).
- Fixed initial session snap-per-beat setting on main toolbar.
- Clip/Export...'ed files are now made persistent, no questions asked
(after a ticket by Oliver Kester, thanks).
- Portuguese (pt) translation added (by Esteban Viveros, thanks).
0.6.0 2014-03-21 Byte Bald Beta
- New user option added: on whether to save plugins automation values
with higher resolution as possible, using 14-bit NRPN: cf.
View/Options.../Plugins/Experimental/High resolution plugin automation
(default=off).
- Generic native plugin dialogs now shows an additional "About" last
page where authorship credits are due.
- A new user preference option is now in place for whether to use
desktop environment's own native file requester/browser dialogs
(View/Options.../Display/Dialogs/Use native dialogs).
- A bit of slack have been introduced to put "Follow Playhead" (aka.
auto-scroll view mode) on hold, while doing in-flight selection edit
moves.
- Fixed some user interface related annoyances while on the MIDI
Controllers mappings (ie. View/Controllers...).
- Fixed port origin on MIDI RPN/NRPN 14-bit controllers input.
- A discretionary plug-in unique identifier have been devised for when
more than one from the same type are inserted on a bus or track chain,
avoiding destructive clashing of automation data.
- Horizontal scrolling shift+mouse-wheel direction now reversed.
- LV2 Dyn(amic)-manifest support is now optional (default=off); cf.
View/Options.../Plugins/Experimental/LV2 Dynamic Manifest support).
- The following options, although decieved on View/Options... as
global configuration options, were always and still are proper session
instance properties: (JACK) Transport mode, MMC mode, MMC device, MIDI
SPP and MIDI Clock modes, are now shown there reflecting the current
open session state.
- A couple of run-time circumventions have been hacked in, both
strictly related to when NSM session management is in charge: 1) the
new session template feature is disabled (was aborting initial NSM new
client additions); 2) the native (as from the desktop environment eg.
KDE) file browser/requester dialogs are disabled (were taking too long
to list the current directory on first time invocation).
- Update current automation/curve nodes selection while changing
horizontal (time axis) zoom levels.
- One liner's attempt to make it consistent behaviour on resizing and
moving multiple selected notes or events while on the MIDI clip editor
(aka. piano-roll; after a ticket request from Daniel MacDonald aka.
danboid, thanks).
- Introducing tiny quarter-note/crotchet/seminima/beat icon on all
snap-to-beat selection items get a new icon :).
- Corrected some audio buffering boundary conditions that were causing
dead-loops/freezes while merging some audio clips.
- Session auto-save period was chronically reduced to one third of its
user setting; non critical but fixed now.
0.5.12 2013-12-31 Mike November
- Fixed another off-by-one MIDI plugin chain timing bug, delaying the
actual playback of the first MIDI event, whenever it started at the
same and as long as the initial play-head position (after another
ticket by Holger Marzen, thanks again).
- A new LV2 host convention is in effect on plugins that expose
multiple AtomPort's in either direction: only the first input or
output declared AtomPort is eligible to convey regular MIDI data
events (introduced while trying Frank Kober's forthcoming QmidiArp LV2
suite of plugins, thanks).
- Zooming with shift/ctrl+mouse-wheel and pointing over the main
tracks view or MIDI clip editor time ruler header's now fixed.
- A rare freezing loop condition has been fixed on the oldest of MIDI
file save/write routines (after a ticket and solution by Tuomas
Airaksinen, thanks again).
- Copy/paste now preserving clip names (ticket by Holger Marzen,
thanks).
- Scaling of whole tempo map with a given factor has been added,
through a spin-box and button in Tempo Map / Markers dialog, after a
long overdue patch by Tuomas Airaksinen, thanks again.
- When issued from main tracks view (ie. Clip/Tools menu) MIDI clip
tools are now a bit more crash-resilient re. undo/redo- ability.
- Session auto-save / crash-recovery support is now on trial as in
View/Options.../General/Session/Auto-save current working session
every 10 minutes (default on).
- Plugin-list chain context-menu now includes MIDI instrument audio
output options to existing non-dedicated output buses, any other than
the previous hard-wired default (eg. Master).
- Tracks export now allows for the mix-down/merge of multiple
audio/MIDI output buses (Track/Export Tracks).
- When adding new tracks, try preserving the last selected bus names,
while not the default Master ones (after a suggestion from danboid
aka. Daniel MacDonald, thanks).
- More preparations for Qt5 configure build.
- Brand new thumb-(over)view toolbar widget added to MIDI clip editor
window (aka. piano-roll overview).
- General MIDI RPN/NRPN 14-bit controller support is now being
introduced on real-time MIDI input parsing, on standard MIDI file I/O,
on MIDI Controller options and, of course, on MIDI clip and event list
editor.
- Pretty innocent nitpick on most thread cleanup routines.
0.5.11 2013-10-07 Lima Oscar
- Adding a track now inserts it after the current one, if any; one can
also drag and move a track below the last one in the track list (main
view left pane).
- Extended Edit/Select Mode/Automation: multi-selection mode, cut,
copy, paste and delete of current track's automation curve nodes, now
reached implementation ready status.
- Another old silent bug bites the dust: changing track names were
dropping any track gain/volume and panning automation curves when
saving the session.
- A primeval processing bug has been sorted out: aux-sends to audio
output buses that just appear to be after the input bus where they're
inserted were being left muted and silent (on a ticket follow-up by
Holger Marzen, thanks).
- Fixed a sure crash bug exposed when processing of aux-send plugins
when inserted too early on audio input buses chain (after a ticket
report by Holger Marzen, thanks).
- Allow the build system to include an user specified CFLAGS (patch by
Cristian Morales Vega, thanks).
- Shift/Ctrl keyboard modifiers now set to extend current clip
selection while in main track view's Edit/Select Mode/Range, Rectangle
modes.
- Main Edit/Select Mode/Automation icon retouched to look a bit more
obvious and intuitive, hopefully ;)
- Allow to change the velocities/values of the current selected events
which have the exact same onset times and hide beyhond each other on
the MIDI clip editor's pane below the main view piano-roll (ie. the
one that represents MIDI event values as a bar chart).
- Fixed some problematic playback/export muting and annoying cleanup
freezing, due on audio tracks with too many clips eg. more than
hundred clip splits (hopefully fixes an issue reported by Louigi
Verona, thanks).
- LV2 UI resize feature support/control added.
- Fixed dedicated MIDI control and MIDI metronome port connection
restore conflict (thanks to jhammen catch & patch:).
- New user preference option added: reverse middle-button role to
Shift/Ctrl keyboard state, in special regard to edit-head/tail vs.
play-head positioning while on the main track and MIDI clip editor
(aka. piano-roll) views.
0.5.10 2013-07-18 Kilo Papa
- Default drum-key note names are now properly showing on MIDI tracks
that are assigned to known drum/percussive instrument patches (eg.
SoundFont 2 (.sf2) bank 128).
- Time display format (frames, clock-time or BBT) may now be changed
from the context-menu on any time entry spin-box.
- LV2 plugin support is now tightly tied to liblilv; the same tie
applies to LV2 plugin UI support and libsuil and vice-versa.
- Mixer buses racks (ie. left/input and right/output panes) are now
both kept fixed-width when whole mixer window is resized.
- Unconditional LV2 Dyn(amic)-manifest support has been added.
- Main track-view Edit/Insert, Remove/Range dialog is now being
introduced with optional applicability to Clips, Loop, Punch in/out,
Automation, Tempo-map and/or Markers.
- New range removal editing tool, split/moving clips backward at the
specified edit-head/tail interval (Edit/Remove/Range, Track Range)--by
Tuomas Airaksinen, thanks.
- Andy Fitzsimon's original icon from opencliparts.org makes it
through as the default standard scalable format (SVG).
- Automation's back in effect on Track/Export Tracks.../Audio.
- Reversed Shift/Ctrl keyboard modifier roles on middle-button
clicking over the main track and MIDI clip editor views (aka.
piano-roll) in regression to original old semantics.
- Color selection actions now have a brand new palette icon.
- Make sure main track-view and MIDI clip editor selection is only
cleared on specific discrete commands.
- Try keeping the original session file in most recent files menu
list, despite current version auto-incremental backup mode is in
effect.
- Fixed non-zero clip offsets upon tempo/time-scale changes.
- Some sympathy to extreme dark color (read black) schemes is now
indulged on empty backgrounds.
0.5.9 2013-06-06 Juliet Quebec
- Auto-incremental version numbering of backup session files; brand
new versioning mode option added.
- Fixed one long as ever MIDI file export bug, which was about washing
all self-induced MIDI bank-select (CC#0, CC#32) and program-change
(PC#) events into MIDI channel 1, regardless of the source
track/channel.
- Fixed initial sample-rate settlement on plugin chains for all tracks
and buses whenever a session file original sample-rate differs from
the current audio device engine (ie. JACK).
- New German (de) translation added (by Guido Scholz, thanks).
- Now accepting JACK transport tempo and time-tignature changes while
in slave transport mode.
- Fix ref-count and auto-removal of created files that result from
clip merge/export when session is closed but not saved.
- MIDI track instrument bank/program selection, from plugin UIs that
support it, is now effectively and complete.
- Custom connections for dedicated audio outputs from all plugin
chains in MIDI tracks or buses are back in business, hopefully restored
gain on session load (ticket by yuba, thanks).
- Track Properties dialog now dirty after any plugin related change
(another head-up by yuba, thanks again).
- Tempo Map/Markers dialog is not set initially dirty anymore.
- Audio buses plugin state's persistance were found AWOL: while being
properly saved as usual, were being restored to default on every
session reload (as noticed by yuba, thanks).
- NSM (Non Session Management) support is being introduced.
- The MIDI clip editor (aka. piano-roll) gets a brand new rescale
mode: ctrl+dragging the right edge of a note now rescales all times
and duration of all the subsequent selected notes (after an
interesting idea/ticket by Joel Leclerc, thanks).
- The new MIDI clip editor rescale mode also applicable to event
values (eg. note velocities, pitch-bend), while ctrl+dragging the
edges of an event vertical bar.
- VST plugin (GUI) idle timer makes a comeback.
- Hard-wired LV2 UI selection order for plugins which supply more than
one option (lv2_external_ui gets always honored first then, as
provided via libsuil, X11, GTK and last but not least, Qt4).
0.5.8 2013-03-19 India Romeo
- Dropped old audio ramping spin-locks as its glitching reduction
weren't that effective anymore.
- Audio bus and track gain may now be set for amplification again,
from +0dB up to +6dB, while using the Mixer strip sliders/faders (an
old function found missing ever since pre-TYOQA).
- Basic LV2 X11 UI support has been added through libSUIL but only
really effective if plugins doesn't support the LV2 External UI
extension in addition which takes precedence on any case.
- Improved precision tolerance on the Tempo Map / Markers dialog.
- Reinstated and fixed (old) warning and impending re-conversion on
loading session files which the original sample-rate differs from
current audio device engine (aka. JACK).
- LV2 Plugin State/Preset name discrimination fix (after a ticket by
Jiri Prochaszka aka. Anchakor, thanks:)
- Linked/ref-counted audio clips must not overlap and now must have a
buffer-size worth of a gap between each other.
- Something fishy has been detected in the SSE (not so) optimized code
from SoundTouch's-inspired WSOLA time-stretching.
- Splitting clips apart is now easier than ever: a brand new entry
enters the main menu scene: Edit/Split (Ctrl+Y) splits up clips
according to current range/rectangular selection.
- Audio clip offsets are now properly corrected when time-stretching
is applied via Shift/Ctrl+dragging any of the clip edges.
- One semi-colon typo was hiding proper descrimination of peak files
used to draw distinct waveforms of time-stretched audio clips.
- Track automation curves are now also affected by Edit/Insert/Range
commands.
- Finally, some visual feedback is shown while audio track export is
running, in he form of a main status progress bar.
- New user option: save backup versions of existing session files.
- Default session directory now set to regular file's path on load.
- A convenient minimum slack duration has been fixed for MIDI SysEx
messages.
- LV2 Time/position information is now asynchronously fed back into
their parameter (control input) ports when designated.
- LV2 State is now properly restored for plugins inserted on buses,
probably solving the Calf Fluidsynth SoundFont information missing on
buses ticket, reported by Albert Graef, thanks.
- Fixed an immediate null pointer crash on creating a parentless new
group while on the files organizer widget.
- Preparations for future Qt5 migration.
0.5.7 2012-12-27 Hotel Sierra
- Loop and punch in/out ranges may now get set simultaneously, may
even overlap each other. However, punch in/out range recording will
always prevail over any loop recording takes.
- LV2 Worker/Schedule now supporting multi-instance vs. single-UI
scenarios.
- LV2 Options and Buf-size extension support added.
- Fixed an off-by-one-tick bug on MIDI file input which was leaving
spurious zero-length runt notes at the end of a MIDI clip, if a
note-on coincides with the ending/split point (on ticket issued by
Jonathan H. Pickard, thanks).
- Good old SLV2 library support for LV2 plug-ins (libslv2) is now
irrevocably deprecated, or better said, completely wiped-out from the
LV2 host code, now considered extinct.
- LV2 UI parameter updates are now asynchronously detached from the
source GUI widget thread, in attempt to improve cross-GUI-toolkit
responsiveness, specially focused on LV2 plugins with a GTK based UI
(eg. amsynth, triceratops, etc.).
- Make sure LV2 UI parameters (input control ports) get updated when
loading a genuine LV2 state preset.
- Improved the (custom) tempo spin-box widget signal(ing) processing
and dispatching.
- Show proper pointing cursor and location tool-tip while dragging any
of the time ruler markers (including latest location markers/bar).
- On saving as an archive/zip session file (suffix .qtz) include only
those files that are actually referenced by live clips arrangement.
- Ongoing integration of location markers infrastructure (time-scale
and MIDI-file support).
- Free-hand/linear retouching of event values, while on the MIDI clip
editor's view pane below the main piano-roll (eg. note velocities), is
now possible provided the target events are selected, otherwise the
usual painting edit sub-mode applies (cf. menu Edit/Select Mode/ Edit
Draw).
- The MIDI clip editor now senses which target view pane has focus for
general selection commands (cf. Edit/Select/None, All, Invert, Range)
whether the main piano-roll or the event value (velocities) view.
- Mouse middle-button clicking is back in business on main track-view
and on MIDI clip editor views (piano-roll) as an immediate play-head
(re)positioning command or merge/reset the edit-head/tail cursors if
Shift/Ctrl keyboard modifiers are pressed.
- Formerly protected, class qtractorClip::FadeFunctor is now public in
an shot-in-the-dark attempt to fix clang builds (as reported by Jekyll
Wu, thanks).
- Override all sub-classed widgets mouse-pointer event handlers to be
isolated from base widget style and/or window management.
0.5.6 2012-10-02 Golf Tango
- Day 1 post-release fix: LV2 plugins with a GTK GUI were not shown
due to their respective widget (GdkWidget) being prematurely and
unexpectedly destroyed when raised (via libsuil).
- The dedicated audio outputs setting for instrument plugins was not
in effect as default global option for new MIDI tracks, now fixed,
hopefully (thanks to danboid aka. Daniel MacDonald persistence).
- An immediate Files widget cleanup option is now made available, as
to select and remove all unused file entries.
- MIDI track (un)solo/mute reset clip event sequence fixing; definite
regression to MIDI track's occasional muting bug while clip editing
and playback is rolling.
- Apologies due on this one: Shift/Ctrl keyboard modifiers are back in
business to change MIDI events currently selected in one single step
while on MIDI clip editor (aka. piano-roll). Sorry.
- Japanese (ja) translation added (by Takashi Sakamoto).
- General time-scale bar, beat and tempo rounding fixing.
- Keyboard shortcuts configuration (Help/Shortcuts...) now checks and
warns for already assigned key sequences.
- The View/Snap menu is now listed as fully accessible actions, making
each snap-per-beat setting assignable to a keyboard shortcut (after a
feature request by danboid aka. Daniel MacDonald, thanks).
- Fixed MIDI resize tool, now applying symmetric proportional changes
to pitch-bend event values [-8191, +8191].
- Fixed re-loading of LV2 Presets that are newly created/saved during
current session; actually delete and remove a LV2 Preset if found in
the file-system (as suggested by Jiri Prochaszka aka. Anchakor, thanks
again).
- Preset drop-down list is now sorted, on plugin properties dialog.
- After a long absence, edit(blue) cursor vertical lines are back on
the MIDI clip editor views (aka. piano-roll).
- LV2 1.0.0 compliance phase II: LV2 State Files support completed.
- Updated to newer LV2 External UI extension support (now maintained
by Filipe Coelho aka. falktx).
- Brand new editing tool: empty range insertion, split/moving clips or
events forward the specified edit-head/tail interval, defaults to next
measure or bar (cf. menu Edit/Insert/Range, Track Range).
- Don't show the waiting cursor anymore when loading any plugins which
might have a nice native editor (GUI) and options are set to show it.
- MIDI clip editor now hopefully rid of random but persistent muting,
a slight regression to editing while playback is rolling.
- A MIDI file player's bug, evident while transport rolling in looped
mode, has been fixed with yet another oneliner patch (kind by Jiri
Prochaszka aka. Anchakor, thanks again).
- LV2 plugins with a Qt4 GUI (guess what or whom?) are now guaranteed
to some reasonable window type like Qt::Widget but not Qt::Dialog nor
Qt::Popup, preventing those from standing always on top while on some
window managers or desktop environments (a simple addition by Jiri
Prochaszka aka. Anchakor, thanks).
- MIME type icons support for session (*.qtr *.qtr), template (*.qtt)
and zip/archive (*.qtz) are now being introduced.
- LV2 State Files feature support is shamelessly getting real trial,
now letting files referenced in LV2 plugin states to be seamlessly
included when saving to a zip/archive file bundle (.qtz suffix).
- Added some virtual destructor stubs to shut up gcc 4.7 warnings.
- Improved plugin state resilience, now finally with parameter name
matching, specifically targeted on loading old sessions or plugin
preset files (.qtx), preserving old saved plugin states as much as
possible in face of rogue or discrete parameter index renumbering, due
naturally on any plugin's life cycle ie. upgrades etc.;)
- Added some more snap-to-beat divisors (Beat/14, /21 and /28) due on
feature request ticket, while dropping highest, probably useless one
(Beat/128).
- New French (fr) translation added (by Yann Collette, thanks).
- Slight late optimization on vertical zebra/grid lines drawing.
0.5.5 2012-06-15 Foxtrot Uniform
- Auto-monitored MIDI tracks were missing their pass-through to their
respective MIDI output bus plugin chains, now fixed and letting any
multi-timbral instrument plugin to get a peek from auto-monitoring.
- New user option/preference to whether to open a plugin's editor
(GUI) by default, when available (cf. View/Options.../Plugins/Editor).
- Clicking and/or dragging for rubber-band selection on main
track-view canvas doesn't change the edit-head and -tail positions
anymore.
- Backward and Forward transport commands now have an additional stop
at first clip start point.
- LV2 Atom/MIDI buffering support is finally entering the scene; LV2
Worker/Schedule support is also included in a bold attempt to convey
non-MIDI event transfers between plugin and its UI.
- MIDI Clip editor (aka. piano-roll) and MIDI Tools fix: avoid note-on
events of zero velocity, which conventionally equates to a dangling
note-off event and dropped into oblivion sooner or later. There's no
more need for Shift/Ctrl keyboard modifier to change in one single
step all the MIDI events that are currently selected (now consistent
with drag-move).
- LV2 Presets support now entering effective operational status; a new
local option has been added (cf. View/Options.../Plugins/Paths/LV2
Presets directory; default is ~/.lv2).
- Dropped XInitThreads() head call as it was never useful but on those
early days of JUCE VST plugins.
- Italian (it) translation added (by Massimo Callegari, thanks).
- Clip fade-in/out dragging now follows snap-to-beat setting.
- Late modern eye-candy indulgence: alternate shaded stripes, on every
other bar as in a "zebra" background option for the main tracks and
MIDI clip editor views (cf. View/Snap/Zebra).
- LV2 Time/position information is now being supported through special
designated plugin input ports (after suggestion by Filipe Coelho aka.
falktx). Additionally, the time/position information report has been
corrected and complemented for VST plugins.
- Audio vs. MIDI time drift correction has been slightly improved
against rogue tempo changes across looping cycles.
- Honor tempo/timing on MIDI instrument plugins. Happy regression fix
on getting MIDI note-offs at looping ends back in business; all the
necessary bumming for MIDI plugins to play nice in face of tempo
changes and whenever playback is started from anywhere but the
beginning of the time-line (ie. frame zero); thanks to rvega aka.
Rafael Vega, for the heads-up).
- Audio clip wave-forms were being displayed in inverted phase (ie.
upside-down) all this time ever since day one. What a shame! :)
- LV2 Programs interface is getting initial experimental status, to
let LV2 instrument plugins get on par with the DSSI and VST crowd for
MIDI bank/program instrument inventory and selection support (a
sidetrack complot with Filipe Coelho aka. falktx, thanks:).
- Dropped the old but entirely useless LV2 URI-unmap feature, now
being superseded by official LV2 URID (un)mapper.
- Russian (ru) translation added (by Alexandre Prokoudine, thanks).
- SLV2 deprecation process started, effective now at configure time.
- Added include <unistd.h> to shut up gcc 4.7 build failures (patch by
Alessio Treglia).
- Another approach avoiding recursive observer widget updates. Also
applies to mixer, monitor and track state buttons.
- Update to latest LV2 state extension (by David Robillard, thanks).
- Loop-recording/take number displayed on clip title, respectively.
- Make(ing) -jN parallel builds now available for the masses.
- A one buffer period slack on audio engine's loop turn-around logic
might just have fixed an illusive report on loop-recording/takes going
progressively out-of-sync, most notably when recording under large
audio buffer period sizes (>= 1024 frames/buffer).
- Editing MIDI while playback is rolling, doesn't mute the track any
more, adding a point to the live editing experience.
- Finer granularity for direct access parameter mouse wheel changes.
- Dropped a dumb optimization for short full-cached multiple linked
/ref-counted audio clips which were incidentally out-of-sync after
rewind/backward playback. Once again and uncertain to be the last take
on this, got fixed (probably related to some oddity reported by Louigi
Verona, thanks).
0.5.4 2012-03-01 Echo Victor
- Direct access plugin/insert parameter changing tool-tip added.
- A Transport/Panic action enters the scene, in a nostalgic attempt to
emulate the all-MIDI-track-shut-off command of those drop-dead and
primordial MIDI sequencers of all time. Now finally a keyboard
shortcut and mouse click-away ;)
- MIDI editor command redo/undo adjustment now effective on all other
channel events besides notes, which overlap at the same event time.
- A new File/Unlink menu action is now made available from the MIDI
clip editor (aka. piano-roll) for detaching the current linked/ref-
counted MIDI clip into a new auto-incremented SMF filename.
- Some audio/MIDI content/media-file resource management is entering
the scene, taking care of some file-system house-keeping, this gets
evident on unsaved/dead recorded files being automatically removed from
the file-system, on session close.
- Killed the old and entirely deprecated LV2 Save/Restore and Persist
feature/extensions support.
- Auto-monitored MIDI events are now merged/queued correctly into the
instrument plugin playback queue, avoiding sudden crashes, hopefully.
- Awesome patch from Albert Graef, thanks, which makes most MIDI SysEx
to get through MIDI instrument plugins at last; applies to DSSI and
LV2 plugins only.
- LV2 URID map/unmap feature support added.
- Plugin parameter value redo/undo command aliasing fix.
- Double-clicking in plugin list item now show/activates the plugin's
editor window (was toggling visibility/activation).
- Plugin path settings have been fixed again, with special regards to
an effective LV2_PATH environment variable settlement.
- Session properties dialog now asks to create a new session directory
if the given one does not currently exist.
- MIDI note names and their respective octave numbers are now compliant
with the ISO standard where middle C (60) is now C4 (was C3).
- Fixed audible glitch/pop at the beginning of an audio clip with long
quadratic or cubic shaped fade-in (reported by Lougi Verona, thanks).
- MIDI Controller Auto-Hook patch by Alessandro Preziosi, thanks.
- Make sure all MIDI note-off are always queued after their respective
note-on events when buffering for MIDI input of instrument plugins,
event though for zero duration MIDI note events (hopefully fixing the
hanging notes bug reported by Albert Graef, thanks).
- LV2 MIDI-fx plugin support has been repaired.
- Single-track clip selection logic corrected again, fixing multi-clip
selection drag/move across an odd number of distinct tracks (after a
bug report by Louigi Verona, on linux-audio-dev, thanks).
- MMC Locate time-code hour bit-field fix; MMC Locate now also on loop
turnarounds (patches by Albert Graef, thanks).
- Looping across multiple linked/ref-counted audio clips was
incredibly broken with complete out-of-sync playback. Hopefully fixed
now, with auto-unlinking/cloning all the affected audio clip buffers.
- Audio clip overlapping detection off-by-one(-frame) fix.
- MIDI Tools/Resize value ramp mode has been added (mocking the
'resize to range' feature request by Daniel MacDonald aka. danboid).
0.5.3 2011-12-28 Delta Whisky
- Fixed initial LV2 plugin UI widget/window titles.
- Attempt to get any brand new LV2 plugins Qt4 enabled UI's working on
either slv2 and lilv build modes ;) (nailed by falkTX, thanks).
- Current clip is ultimately inferred from the one under the play-head
position and current selected track; the last one clicked over and/or
selected still has precedence (following request by Loiugi Verona).
- Drag-moving clips horizontally with the keyboard arrow-keys just got
a step better with a fixed minimum of one pixel, depending still on
the current snap-per-beat setting and horizontal zoom level (as
suggested by Louigi Verona, thanks).
- Get maximum and minimum peak values back when drawing audio
waveforms.
- Automation play/feedback has been missed to show on those plugins
that provide their own GUI, now on par with all the rest 'homebrew'
widgets (eg. generic plugin properties dialog).
- All plugin parameters automation and selection were left
inaccessible until the generic native plugin dialog is eventually
shown, now fixed.
0.5.2 2011-12-16 Charlie X-ray
- Fixed a probably old lurking destructive bug, which was incidental
to when an invalid or non audio file is imported, intentionally or by
mistake, into new or existing audio clips (eg. importing a MIDI file
where an audio file is expected).
- Force audio file closing to occur on the very same disk-write (sync)
thread, possibly mitigating an old random crash issue lurking in the
vorbis reference encoder (recording) re. the non thread-safeness of
the vorbis_analysis() final call.
- Fixed extraordinary shadow-playback of audio clips which extent were
longer than the respective audio file length.
- Default session file format option now promoted (see View/Options...
/General/Session) in the way of whether file suffix gets honored upon
session open or save (.qtr, .qts or .qtz). This brand new option also
applies for default state file format on a JACK-session salvage
context.
- The View/Options... (aka. user preferences) dialog sees a new
arranjement in layout, with some options moving into this brand new
tab page called General.
- LV2 State extension support has been added, which shall replace old
LV2 Persist extension interface in the near future. It also replaces
the LV2 Files extension from now on (thanks to Dave Robillard).
- Dirty MIDI clips are now auto-saved when MIDI track properties get
changed through its own dialog.
- Fixed one probable too old crash when canceling a new/add track
dialog.
- MIDI SysEx event list editing is now fixed.
- Once again, make sure all recorded clips start and end at the very
same position when multiple track recording is turned on/off, while
playback is still rolling.
- Fixed Makefile.in handling installation directories to the configure
script eg. --datadir, --localedir.
- Possible attempt to improve in-flight recording clip display,
especially when looping and MIDI clips are involved.
- MIDI clip revision (re)numbering paranoia has been improved as much
to avoid MIDI file clashes as much as possible while editing multiple
MIDI clips which reference the same SMF and track/channel.
- Creating new or updating existing buses with exact same names of any
current dedicated inputs/outputs (which are implemented as special
covert buses) is now disallowed.
- Loop-recording/takes functionality is now ready for the masses and
accessible from brand new Clip/Take menu (Select, First, Previous,
Next, Last, Reset and Range...; the latter is actually being provided
as bonus feature :) as to fold any given clip into so-called takes,
simulating loop-recording mode over an arbitrary range).
- Loop-recording/takes infrastructure integration is sneaking in: all
clips recorded under a loop/cycle range may now get split (folded)
into one or more so-called takes. A new option is now provided, as to
select which take is about to retain after the recording ends, either
the First or the Last one. Just turn this mode off (None) and keep
with the old recording behavior, where clips are laid out unfolded
through the timeline, as usual (see menu View/Options.../Display/Loop
recording mode).
- Improved robustness in face of disabled audio buses when global
maximum number of JACK (audio) ports is surpassed.
- Improved single-track clip selection status logic.
- Clip/Unlink action is now available for detaching linked/ref-counted
MIDI clips, renaming and saving into auto-incremental SMF filenames.
- Temporary session archive directory now (pre)fixed with program name
(eg. /tmp/qtractor).
- Fixed VST GUI editor window title on first show.
- Fixed build for ancient VST-SDK 2.3 (32bit only).
0.5.1 2011-10-05 Bravo Yankee
- More LADISH support: SIGTERM signal is nowrapped for graceful
application close.
- Improved paste-repeat snap precision when dealing with large repeat
counts.
- Czech (cs) translation added, by Pavel Fric.
- Added a few snap-to-beat divisors (unusual Beat/5, Beat/7, Beat/9
and Beat/10) for completeness sake.
- Such a simple change of mind with a visual twist: the "A" track
automation button/menu has now been moved to the right-most, as it
belongs ;)
- Auto-connection of dedicated audio outputs is now optional for
default audio master bus, metronome, player and MIDI instrument plugin
dedicated audio outputs.
- Finally, after a pitiful large brain-dead period, generic plugin
forms are now showing all possible controllable plugin parameters
featuring a paged, tabbed dialog, whenever applicable.
- Special hack/fix for JUCE based native VST plugins, which are the
most actually found with a GUI editor, skipping explicit shared
library unloading and thus avoiding some mysterious crashes on session
close and/or application exit.
- Support for MIDI-fx plugins (native VST and/or LV2) is now
implemented and functional (intra-chain only).Instrument plugin
bank/program selection was found broken or dead in the water,
specially on VSTi, now finally fixed again.
- VST plugin parameter value display on generic form is now back in
business (were dead regarding value changes).
- All plugin's provided GUI editors are now honored by being popped up
first, instead of the usual but good old generic plugin form.
- Long overdue implementation of a dedicated MIDI file player is now
accessible from the MIDI files widget; one can play the whole SMF or
just a single track or channel.
- Update to a newer VeSTige header, probably fixing an old 32 vs. 64
bit mismatch.
- Avoid JACK session filenames/paths to be ever shown; also avoid all
buses ports (re)connections when JACK sessions are (re)loaded, given
the fact that session management will take care of just that; more
also, untitled/default session names are now also picked up to match
current LADISH project name, obviously given by LADISH_PROJECT_NAME
environment variable, whenever present (as suggested by Nedko
Ardaunov).
- Paste-repeat floating selection has been fixed (was showing only the
last repeated selection).
- Coherence of tempo changes on audio and MIDI clips, whether
automatic time-stretching is in effect, has been slightly improved,
hopefully fixed.
- Bold attempt to get linked (aka. ref-counted) audio and MIDI clips
into practice.
- Main track view now showing all clips above the grid.
- Added support for both new and older (deprecated uri)
lv2_external_ui extension (by Nedko Ardaunov).
- Following yet another great idea, and implementation, by Holger
Dehnhardt, who already brought us the new aux-send insert plugin,
thanks again, the so-called direct access control option is now
featured for any plugin parameter right from plugin listings eg. mixer
strips.
- General resource consumption and management has been slightly
improved, due to internal buses allocation optimization.
- Fixed nasty crash-bug that was severely affecting all sessions that
had at least one insert (pseudo-)plugin on any audio input bus.
- All automation curve nodes are now relocated whenever disparate
session sample-rate is detected on load.
- New aux-send/insert pseudo-plugin is now introduced, allowing to
route any track audio output to any other audio output bus besides the
nominal one -- thanks to an original implementation from Holger
Dehnhardt.
- New immediate edit/loop-range settings from current clip extents,
accessible on the main menu (Clip/Range Set, Loop Set) and from MIDI
clip editor menu as well (File/Range Set, Loop Set).
- MIDI Names XML files (*.midnam) may now be imported into MIDI
instrument definitions.
- Avoid cursor reset while editing MIDI events list (fixes bug
reported by Frank Neumann).
- Just some typos fixing (patch by c-korn).
- Track view automation curve editing mode has been slightly fixed,
now allowing for other previously existing point-and-click mouse
operations.
- Default automation curve mode is now preserved (following a
suggestion by Alexandre Prokoudine, thanks).
0.5.0 2011-07-22 Alpha Zulu (TYOQA)
- MIDI controller learn/catch-up sees the way in: MIDI controller
changes are now only effective after catching-up with their respective
program parameters, avoiding abrupt jumps and keeping a safe and
continuous behavior.
- Track/Height menu is now featured, giving access to Increase,
Decrease or Reset the current track height.
- All changes to audio gain and panning on tracks and buses are now
applied following a piece-wise linear ramp, reducing the old nasty
clicks, pops or zipper artifacts that might be awfully audible on some
situations, most specially on automation.
- All zooming in/out is now relative to either the viewport center or
current mouse cursor position if found laying inside.
- TYOQA! the underground sources have emerged:... after years in the
making, track automation, or dynamic curves as some like to call, is
finally a reality, tricky but real ;)
- Audio clip anti-glitch/ramp-smoothing effect is now slightly
independent of current buffer-size period.
- Once buried under the Edit menu, Clip menu has been finally promoted
to top main menu.
- Debugging stacktrace now applies to all working threads.
- Fixed muted loop playback on audio clips ending coincidentally with
the loop-turn/end point.
- Old/deprecated JACK port latency support added to audio recording
latency compensation.
- Audio clip merge/export lock-ups now untangled.
- LV2 extension headers update.
- Fixed configure of newer LV2 host implementation stack (LILV) when
older (SLV2) is not present.
0.4.9 2011-05-26 The Final Dudette
- Session file format saved on JACK session has been reverted to
archive/zip bundle one (.qtz) now using temporary extraction directory
when loading an existing JACK session.
- Main toolbar time and tempo widgets get their visual extents a bit
more theme-friendlier ;).
- Some current working directory trickery is now in place avoiding
JACK session directories to ever be picked as default, as much as
possible.
- Ghost-playbacks are now avoided on audio clips that are artificially
extended beyond their own audio file lengths.
- Recording clips now shown in a reddish shade; also, it's all now
shown a bit more correctly, regarding the lead and within looping
range.
- Custom tempo spin-box widgets now honoring the decimal point cursor
positioning for integral up/down tempo value stepping.
- Audio recording latency is now compensated via automatic clip
offsetting.
- Audio peak file generation is now pipelined on a single unique
thread, instead of old one per audio clip file basis.
- MIDI tempo/time-signature map import problem has been hopefully
fixed.
- Session and track names are now sanitized from slashes (fixes bug#
625798@bugs.debian.org).
- Mouse wheel effect to sliders is now reversed.
- An appropriate export filename is now suggested as default (Track
/Export Tracks...).
- Follow-playhead automatism is now temporarily suspended while mouse
cursor hovering prompts for any editing action (applies to main track
view and MIDI clip editor/piano-roll).
- Audio vs. MIDI time drift correction now takes jack_frame_time() as
audio time reference.
- Audio buffering internal synchronization logic gets it bartered:
three bools for a single byte flag.
- Connections are now preserved as possible when changing bus
properties (View/Buses.../Update).
- A rare audio clip looping out-of-sync condition got squared,
hopefully the last ;)
- Yet again, the audio clip buffer/disk-streaming optimization has
been almost completely redrawn: now there's one thread per audio
track.
- Not replacing a session directory that already exists on loading an
archive file (.qtz) is now fixed with an usable brand new untitled
session.
- The major thread optimization has been slightly improved: the audio
clip buffer/disk-streaming thread is now served in a FIFO manner (was
LIFO).
- Custom time/tempo spin-box widget change fixup.
- Audio clip filename change segfault/crash fixed.
- Make sure all clips in multiple recording tracks start and end at
the very same position whenever recording is already engaged and
rolling.
- Hopeful fix to a potential audio buffering race condition, which was
a probable cause of random muted clips.
- Avoid recursive observer widget value updates.
- Almost complete rewrite of the main track-view selection and
redrawing logic, taking advantage of the fundamentally static
graphical backstore.
- Autonomic resizing of mixer bus splitter sizes.
- Improved timing for monitored MIDI events being buffered though MIDI
instrument plugins, while playback/transport is rolling.
- Audio peak/waveform is now slightly tweaked from the early
optimization days (master C++ guru has always said that was root of
all evil anyway :).
- MIDI controller mapping now with "Invert" value option. Also, new
"Inputs" and "Outputs" buttons have been added as helpers for MIDI
control port connections access.
- Main left pane vertical splitter resize hack, avoiding some track
list update re-entrancy.
- Inserting a LV2 instrument/synth plugin on an audio track or bus
were causing immediate crash, now fixed (give or take some event
buffer stub).
- Plugin Activate All/Deactivate All menu fixing.
- Make sure given session directory has all the necessary access
permission (read/write) while on session properties dialog.
- Dedicated audio outputs setting for instrument plugins inserted on
the MIDI track properties dialog were not being honored, now fixed.
- Force update/close of all MIDI clips and their respective editors
(piano-roll) if open, when changing the global session tempo (BPM).
- Removed the misleading "(Any)" special channel value while on MIDI
controllers/learn dialog.
- Floating tool-tips now being shown also while on mouse
rubber-banding (drag-select).
- Audio clip pitch-shifting change fixing; also, tooltips now showing
semitones units instead of a clueless percentage.
- Rendering audio wave-forms while recording is now a little bit
smoother than before.
- New main track-view clip selection tool: invert current selection
(Edit/Select/Invert). The MIDI clip editor (piano-roll) also gets
proper range selection tool (Edit/Select/Range).
- More eye-candy: muted/non-soloed tracks are now slightly shaded on
the main track-view.
- A major hidden optimization has been implanted: all audio clip
buffer/disk-streaming threads are finally merged into a single
multiplexing thread (was one thread per audio clip longer than 3 sec.
which was quite wasteful and creepy;).
- All plugin list view changes are now properly signaled to track
properties and bus manager dialogs and enable their respective
acceptance.
- Two brand new MIDI tools make their appearance: Scale-Quantize and
Snap-to-Scale. The later may be readily accessible from the MIDI clip
editor toolbar and menu (check View/Toolbars/Scale and View/Scale).
- Mixer track strips are now completely redone whenever a track gets
moved or re-ordered on main track list-view.
- Transport auto-backward option is now honored whenever a new session
gets loaded.
- LV2 extension headers update.
- Got rid of recent QX11EmbedContainer bloating, while introducing
gtk_init() as for LV2 GTK UI support stabilization.
- Tempo tap helper button was added to View/Tempo Map... dialog.
- Executable DSSI plug-in GUI detection fixed.
- Backout default session directory after cleaning up extracted
archive/zip bundle session (.qtz).
- Files widget item selection feedback/focus fix.
- MIDI editor anchor event floating tool-tip fix.
- Probable fix for GtkStyle usage detection (might be gentoo
specific).
0.4.8 2011-01-18 The Fiery Demigoddess
- MIDI controller mapping/learn is now possible on all mixer controls
(monitor, gain, panning, record, mute, solo).
- An internal rewrite (aka. refactoring) have been carried out, making
sure that all track state action buttons (R, M, S) are now all under
the observer pattern umbrella.
- Single track range selection is now available on main menu
(Edit/Select/Track Range; default keyboard shortcut: Ctrl+Shift+R);
additionally to vertical range and horizontal track actions
(Edit/Select/Range, Track) all these operations can now toggle over
the previous selection.
- Direct clip selection from Files list item has been brute-forcefully
implemented (after being challenged by Jiri Prochaszka aka Anchakor:).
- Files tree widget sticky "New Group" item fixed.
- A new menu option has been added (View/Tool Tips) to show/hide a
floating tool-tip while dragging, moving, resizing or pasting selected
clips or events over the main tracks view and MIDI clip editor (piano-
roll) respectively, displaying current target position and status.
- Attempt to reset audio/MIDI time drift compensator on every engine
start and loop turnaround.
- Moving the punch-out marker over the main track time ruler was
failing to shrink the punch-in/out range, now it does (not).
- MIDI clip tools (quantize, transpose, normalize, randomize, resize,
rescale and the new timeshift) are now all accessible from the main
tracks view (Edit/Clip/Tools menu) and apply to all events on current
selected clip(s).
- LV2 Persist extension support is being introduced.
- A new timeshift MIDI tool has been added, after an awesome patch by
Jiri Prochaszka aka Anchakor; applies to selected events between edit
markers, distorting their time and duration (optionally), either
slowing down and accelerating, based on a given parameter P value.
- Audio clip/buffer pitch-shifting fixes with regard to latency
correction due on the RubberBand library one-pass (real-time)
processing mode.
- New Send Gain and Dry/Wet control parameters have been implemented
for audio Inserts pseudo-plugins.
- MIDI channel/master volume enqueued events are now affected by the
current track/bus volume (0-100%).
- Prevent old rounding error when resetting to plugin parameter
default value with the mouse middle-button click while hovering a
slider widget (observer).
- A quantize percentage has been added to MIDI clip editor quantize
tool (Tool/Quantize...) for time and duration quantization (0% for
none; 100% for full regular quantization).
- Metronome bus/ports are now created at engine start and not when
user switches it on anymore.
- Make sure all audio clip buffers are in sync upon smooth-ramping
going off and playback is rolling.
- Copy-pasting across controller event types is now possible on the
MIDI clip editor (aka piano-roll).
- Finally indulged, the genuine transport stop button makes its
appearance on main toolbar and menu.
- Main tracks grid visibility option (View/Snap/Grid).
- Yet another off-by-one (frame) audio buffer bug got squashed away:
rare symptom was that some audio clips were being left dead silent
right after playback of their first looping period.
- Plugin parameter name/label now a proper attribute of its respective
MIDI Controller observer instance, allowing to be shown on dialog
title (MIDI learn).
- Default session file format saved on JACK session demand is now the
bundle archive/zip one (.qtz).
- Plugin selection dialog now shows whether a plugin features its own
editor (GUI) and/or external state configuration (EXT).
- Help/Shortcuts... window positioning and sizing are now preserved.
- All plugin chain changes over the track properties dialog now sure
counts as a dirty action.
- Newly extracted archive/zip session directories are now removed
automatically from the file-system on session close, prompting the
user for confirmation (cf. View/Options.../Display/Confirm Removals).
- Ctrl+mouse-wheel is now set for zooming in/out, on main track-view
and all applicable MIDI clip editor views (piano-roll), according to
current zoom mode (see View/Zoom Horizontal, Vertical or All for both
ways simultaneously).
- New MIDI clip editor (piano-roll) mouse hovering effect
(eye-candy++).
- After too many a user request, a brand new session archive file type
is being introduced (.qtz) which tries to bundle in one single zip
archive all the media and contents of a session.
- Add that to eye-candy: either loop or punch-in/out outer ranges are
now shaded on the main track-view, thumb-view and MIDI clip editor
(piano-roll) views.
- LV2 GTK UI plug-in hosting is now roaring its ugly head.
- Ignore all initial and decremental notifications of audio engine's
buffer-size changes.
- Internal audio buffer loop points were not being set properly for
non-zero clip offsets, leaving some as severely out-of-sync while
rolling over loop turns. Now fixed again, hopefully.
- Avoid audio peak file clashing when deriving from audio sample files
with distinct absolute paths but the very same file (base)name.
- A new MIDI editor (piano-roll) tool has been added: Rescale event
times, durations and/or values by a percentage between 1 and 1000%
(adapted thanks to patch by Jesse Lucas).
- Attempt to mitigate audio clip sequencing glitches on
single-core/single-thread machines.
0.4.7 2010-09-30 The Furious Desertrix
- While moving multi-selected MIDI events around the clip editor (aka
piano-roll), with help of keyboard arrow keys, that is, was not clear
which one was the so-called "anchor" event, the one which positioning
gets honored for snap-to-beat business. Not anymore: the anchor event
now defaults to the earliest in time or the one the user's last
point(-click)ed.
- MIDI control observer pattern implementation has sneaked in, making
it ready for the so-called and long-awaited "MIDI Learn" feature and
arbitrary MIDI controller assignment, for plugin parameters in
particular.
- MMC DEFERRED PLAY doesn't cause transport state to stop if currently
rolling.
- Audio clip merge processing might have been skipping a few initial
frame blocks, now fixed.
- Clip selection and plugin parameter hash optimization.
- Anti-glitch audio clip macro fade-in/out fixed again.
- New clip fade-in/out slopes (curves) are introduced, partially
adapted and refactored from those easing equations of Robert Penner's
fame.
- Clip fade-in/out non-linear slopes are now shown as actual WYSIWYG
curves.
- Escape key now closes generic plugin widgets as ever found usual
elsewhere.
- Picking nits: unselect current track when clicking on any gray empty
area, also accessible from a new menu item: Track/Navigate/None.
- A nasty and deadly MIDI resolution overflow has been finally fixed,
allowing for long MIDI sequences (1h+) to load correctly on 32bit
machines from now on (was perfectly fine on 64bit though).
- MIDI editor selection hash optimization in face of reasonably huge
event sequences.
- MIDI controller mapping finally refactored to support some other
MIDI event types than just CC (0xBn) ones.
- Nitpicking fix: corrected main track-list (left pane) display when
no track is currently selected.
- libX11 is now being added explicitly to the build link phase, as
seen necessary on some bleeding-edge distros eg. Fedora 13, Debian 6.
- New audio metronome bar and beat sample gain options.
- Progressively, the observer pattern is being finally introduced,
targeting all potentially automation controls and widgets as plain
ground-zero for the (ultra-)long overdue automation feature.
- MIDI controller mapping of still non-existing tracks were being
implicitly assigned to the last, highly numbered, existing track. Now
fixed.
- Moving from old deprecated Qt3'ish custom event post handling into
regular asynchronous signal/slot strategy.
- Muting/soloing tracks while playback is looping was leaving current
audio clip out-of-sync whenever that same track is later un-muted on
any other preceding clip. Now hopefully fixed.
- MIDI Clock support makes its first appearance.
- All tempo (BPM) calculations are now compliant to the MIDI
conventional equivalence between beat and quarter note (1/4, crotchet)
as common standard time division.
- Automatic audio time-stretch option is not enabled by default
anymore.
- Standard warning Apply button is now only shown when dismissing
dialog changes are actually valid.
- Make sure non-dedicated metronome and player buses are properly
reset and reopen when changing regular audio buses (hopefully fixing
bug re. crash after changing audio bus).
- Hopefully, an outrageously old bug got squashed away, which was
causing random impromptu crashes, most often when importing audio
clips while looping and play-head is any near the loop end point.
- General standard dialog buttons layout is now in place.
- Fixed main track view off-limits play-head positioning.
- Main tool-bar Time and Tempo spin-boxes, may now have their colors
correct, as for most non-Qt based theme engines (ie. Gnome). Green
text on black background has been and still is the the intended aspect
design ;)
- MIDI file import and internal sequence representation has been
changed to be inclusive on all bank-select (CC#0,32) and
program-change events which were previously discarded while honoring
MIDI track properties. Interleaved SysEx events are now also preserved
on their original sequence positions instead of squashing a duplicate
into the MIDI bus SysEx setup.
- Attempt to include the VeSTige header by default, as for minimal VST
plugin support.
- JACK transport support has been slightly rewritten, in fact the sync
callback is now in effect for repositioning.
- The MIDI clip editor (piano roll) widget won't be flagged as a tool
window anymore.
- A tempo adjustment tool is making inroads from the menu, as
Edit/Clip/Tempo... (factory shortcut: F7).
- Audio tracks auto-monitoring is now effective on playback.
- Make sure to ask whether a dirty MIDI clip should be saved, upon
resizing or stretching its edges.
- Backward and Forward transport commands are now taking additional
stops on loop points.
- Attempt to optimize track solo/mute redundant transactions, in
special regard to MIDI track events which were being duplicated on
soloing and temporarily muted on unsoloing.
0.4.6 2010-05-21 The Funky Deviless
- Introducing a non-painting edit sub-mode on the MIDI clip editor's
piano-roll (see Edit/Select Mode/Edit Draw menu).
- The MIDI clip editor (aka piano-roll) is now a lot more quiet about
saving its own dirty content, delegating all salvage questions to main
session control.
- Don't show session restart message box when changing JACK transport
mode option anymore.
- Dedicated MIDI control bus switching fixed. Was closing the wrong
bus eventually and crashing the whole show with it.
- MIDI bank/program backout has been corrected on MIDI track
properties dialog rejection (ie. user cancellation).
- MIDI bank select method has been corrected for tracks with no
instrument defined.
- LV2 UI Instance and Data Access extension support added; reduce LV2
external UI parameter value update flickering.
- JACK session infrastructure support.
- Initial widget geometry and visibility persistence logic has been
slightly revised as much to avoid crash failures due to wrong main
widget hidden state.
- Initial mixer widget extents are now set reasonably larger.
- General source tree layout and build configuration change.
- Ever since smooth-ramping introduction that having at least one
input-only buses were causing immediate playback crashes, now
hopefully fixed.
- Refactored for common engine client nomenclature, primarily provided
by JACK, then secondarily passed to ALSA Sequencer, getting rid of the
JackUseExactName requirement and lifting the unique/single instance
restriction in the process.
- Current JACK Transport, MMC Device, and MIDI Song Position pointer
(SPP) control modes are now saved/loaded as part of session option
properties.
- MIDI clip editor's context menu crash on Qt >= 4.6 has been fixed.
- An ancient double-free corruption has been finally fixed at the
audio/MIDI bus connection persistence logic.
- Improved visibility of track state buttons text (R, M, S) when
turned on dark colored themes.
- LV2 Save/Restore extension support kicks off.
- MIDI engine read-ahead period has been shortened to half than it was
since inception--now it's a 500msec cycle.
- MIDI clip editor event list gets its due inline editing, for time,
note, value/velocity and duration columns, just one double-click away
over the target cell ;)
- Add-plugin selection dialog position and extent are now remembered
across invocations and application sessions (tipping by Frank
Neumann).
- MIDI clip time-stretching is now made available through the same
gestures as audio ones, by just shift+dragging either of the clip
edges.
- Drag-and-copying plug-in instances (cloning) is now fixed with
regard to parameter value replication.
- MIDI clip editor snap-per-beat setting is now independent from main
multi-track view; File/Save As... dialog fixed; the current event
selection is now kept floating as long as it's possible after editing
command actions; finally, edit mode has been extended to free-hand
event drawing, chalking off (piano roll) draw mode from the TODO list.
- Swing-quantize has finally made its overdue debut as an additional
MIDI clip editor tool (see Tools/Quantize...).
- Almost since its inception, audio inserts were injecting garbage
random noise when not being activated, now fixed.
- Dedicated audio output ports for MIDI track plugins, now have their
connection persistence back in business due on session load.
0.4.5 2010-01-23 A Friskier Demivierge ;)
- Changing loop points while playback is rolling, with the play-head
any near, was leaving audio clips out-of-sync.
- MIDI event list view was missing some selected items with the very
same onset time, now fixed.
- When failing to detect a SSE enabled build, the CFLAGS variables are
now properly restored to their previous sane state, preventing all
subsequent dependency tests from false positives (bug# 565860
@bugs.debian.org).
- MIDI clip editor (aka piano-roll) multiple selection has been fixed
(again) re. move/paste-snapping consistency.
0.4.4 2010-01-16 The Frisky Demivierge
- For all the DSSI plugins that have output control ports, a host
feedback/update process cycle is now being finally provided: all
output control ports are now marshaled to their respective GUI
process, rather often and when found open/visible.
- MIDI clip editor (aka piano-roll) snap-to-beat behavior on edit mode
is now kind of more like 'filling-in-the-blanks' (as Frank Neumann et
al. wishes ;)
- Fixed MIDI clip editor mistake when reverting to initial clip
length, before closing and discard changes (thanks to Frank Neumann,
for spotting this one).
- LADISH Level 1 support has been added: SIGUSR1 signal trap just
makes it a shortcut to File/Save.
- Avoid parameter value flickering, due to duplicate command
invocation, most evident when changing values massively on native
Linux VSTi plugin editor GUIs (thanks to a detailed report on this
odd behavior, from Mike of linuxDSP.co.uk).
- Another TODO item bites the dust: MIDI event list editor, now
acessible from the MIDI clip editor menu (View/Events)
- Last used session directory is now made current on startup only when
no filename is given on the command line.
- Current snap-to-beat setting (time quantization) now affects the
anchor event only, while dragging, moving and/or pasting multiple
events over the MIDI clip editor (aka piano-roll).
- Make anti-glitch audio clip micro fade-in/outs independent from
current buffer size as much as possible.
- Audio/MIDI engine drift correction gets really sophisticated, with
the help of (now old) ALSA MIDI tempo skew facility.
- Edit/Clip/Import... menu option is now available for expedite clip
insertion from audio and MIDI file requesters.
- Set default session directory effective to file's location.
- Audio track/clip recording process has been target to special
refactorization across the internal audio engine process cycle, in a
late attempt to get self-bounce/recording effective and working
consistently for all track layouts.
- All session related dialogs are now set to window modality, (were
set to default application modality before) allowing for continued
input focus and interaction on all plugin/tool windows.
- An off-by-one nasty old bug fixed in audio clip drawing, was causing
instant crashes on certain zoom levels of the main track view.
- Graphical MIDI clip representation regarding note/pitch range is now
kept as much as possible across clip edits (cut, copy, paste, drag,
move, delete, etc.)
- LV2 plug-in hosting has finally come into actual implementation;
only some and the most basic LV2 plug-in features are supported at the
moment; probably there's no big advantage against the old LADSPA ones;
there's some support for external UIs though; also, LV2 MIDI/Event
bare-bones support is included but chances are it won't build nor work
right on most of the setups out there. It's a WIP host implementation
anyways, as is the whole LV2 spec. for that matter ;)
- Connections filter is now reset when widget is shown through the
View/Connections main menu or toolbar button.
- Audio bus auto-connection option is now applied when creating or
updating, newer or existing buses, respectively.
- Global configuration state is now explicitly saved/committed to disk
whenever View/Options... dialog changes are applied or when a session
is loaded or saved.
- Audio ramping spin-locking makes its smooth stuff, in an attempt to
reduce glitching and crackling when editing (due to its own pseudo
spin-locking) and toggling playback states.
- JACK Transport, MMC Device, and MIDI Song Position pointer (SPP)
control modes are now made optional (View/Options...), allowing for
discretionary configuration: None/Disabled, Slave/Input, Master/Output
or Full/Duplex (default).
- Session files may now be dragged and dropped over the main track
view and get loaded for business as usual (once quietly ignored).
- In an attempt to mitigate potential stack corruption and sudden
crashes, old commented out session pseudo-locks are now back in
business while executing clip editing commands (cut, paste, drag,
move, insert, delete) and playback is currently rolling.
- Adjusted first-time application window size to fit into 800x600
screen size and with reasonable initial dockables layout.
- Avoid duplicate snap-to-grid effect when changing the length of MIDI
clip editor events across non-zero clip offsets (after a glitch
reported by Ralf Mardorf).
- Late audio track processing optimization, suppressing all plugin,
mixer and monitor pass-through activity when given track is muted,
either explicitly or implicitly (ie. other track is in solo state).
- Entering System Exclusive events (SysEx) on the MIDI clip editor
(aka matrix/piano-roll widget), yet something not fully supported
anyway, even though allowed in edit mode, doesn't crash the whole damn
thing anymore, while saving the clip to a file.
- Strict aliasing avoidance, with plain and demanded use of 'union',
as much as to stop nagging warnings from gcc >= 4.4.1 (last seen on
src/qtractorMidiEvent.h hackery).
- Visual correct play-head position while changing zoom levels,
applicable to both main track and MIDI clip editor views.
0.4.3 2009-10-05 The Fussy Doula
- External preset files are not removed nor deleted from the
file-system anymore.
- Connections support for UTF-8 encoded client/port names.
- Force track and clip properties dialog widget to be modal as it
should from their beginning dawn.
- Audio effect send/return aux. inserts are implemented as special
pseudo-plugins (Plugins/Inserts).
- Reset play-head position on auto-backward and keep playback rolling
when continue past end transport option is not set.
- MIDI clip editor (aka piano-roll/matrix aditor) gets better on the
virtual piano keyboard eye-candy side of things ;).
- Plugins are now also referenced by label, avoiding plugin index
clash/misses eg. when plugin object file/path changes or is moved
externally.
- Keyboard focus is now cleared/reset from the main toolbar time and
tempo spin-boxes when editing gets finished (eg. Enter key is
pressed).
- First audio metronome beat/bar now played back correctly.
- Client to/from port (dis)connections now found consistent as good
ol'QjackCtl behavior.
- All dirty open MIDI clip editors are now prompted to save before the
main application closes.
- Mixer level meters get their long deserved gradient look.
- Fixed any ghost clip selections that were haunting the main track
view, specially after undo/redo.
- Increased tolerance on reading corrupt MIDI files (SMF).
- A MIDI SysEx manager is being finally introduced, in some primordial
rather basic form though. MIDI System Exclusive (SysEx) event strings
may now be freely assigned to MIDI output buses only, allowing for
proper setup of external outboard MIDI equipment. Each bus may have an
unlimited SysEx queue that gets sent out on every connection change
(see View/Buses.../MIDI/SysEx...).
- A default MIDI instrument name may now be assigned to any MIDI
output bus (see View/Buses.../MIDI).
- More legacy headers, stdio.h and stdlib.h, are yet again necessary
to build with gcc/g++ >= 4.4 (as patch noted by Alexis Ballier on
Gentoo bug report #274168, thanks).
- Bus manager dialog (View/Buses...) gets new columns on the left pane
buses list as for displaying number of channels and bus mode.
- Crash when updating bus probably fixed.
- Fixed glitch displaying beat snap/grid lines on MIDI clip editor,
incidental to clips located at absolute zero time.
- Overlapped MIDI clips were rendering garbled note events to
DSSI/VSTi plugins, now fixed.
- New MIDI Playback/Queue timer (resolution) option is now available
(see View/Options.../MIDI).
- MIDI instrument definitions may now be imported from plain SoundFont
files.
0.4.2 2009-06-04 The Flaunty Demoness
- The MIDI clip editor (piano-roll/matrix editor), the main track view
as well, have been subject to usability fixing, the most notable
avoids clearing current selection as much as possible when updating
view contents (eg. changing zoom levels does not reset current
selection anymore).
- MIDI tracks channel bank/program and controller stuff are now only
issued when the respective bus connections have changed, seldom on
every playback start.
- MIDI controller mapping infrastructure, with file based
configuration management (see View/Controllers...), is now in place,
following an original contribution from gizzmo aka Mathias Krause.
- Plugin chain buffer reset on playback start/stop is not guarded by a
momentary plugin de/activation anymore.
- Clip export may now be applied to multiple clips, sharing common
refactored code and same semantics as merging of current selected
clips.
- Improved, may be just fixed yet again, audio track export
synchronization and reliability.
- Clip merge is now featured both for audio and MIDI tracks (see
Edit/Clip/Merge...).
- Improved, or better said, fixed (again) the precision of multi-clip
final positioning as result of drag/move and paste operations in main
track view.
- MIDI track program number is now listed in 1-128 range, in an
attempt to be consistent with corresponding MIDI track dialog
drop-down list.
- MIDI editor snap grid lines get slight different color then regular
beat divisions.
- Reset local tempo map cursor on newer MIDI file imports in a
tentative to fix incidental but random crashes.
0.4.1 2009-04-04 The Funky Dominatrix
- MIDI editor command item execution order has been fixed, correcting
the redo/undo adjustment of overlapping note events.
- MIDI clip editor (aka. piano-roll/matrix editor) sees one of its
most wanted features introduced: visual snap grid, now accessible
through View/Snap/Grid option toggle.
- Actual non-zero session length gets back to status bar of main
application window.
- One potential buffer-overflow/memory-corruption crash bug has been
fixed, long due on most audio (down) sample-rate conversions and
affecting audio export in particular.
- MIDI track/channel patch information, ie. bank-select and
program-change events, are now being properly set on MIDI track/clip
export.
- SSE optimization is back in town after being mysteriously disabled
since its dawn :/
- Looping and punch-recording now actively mutual exclusive states:
setting either one unsets the other off and vice- versa. Also,
punch-in/out is now made an undoable command.
- Moving tracks, any track, up or down, were leaving MIDI playback and
meter monitoring completely out-of-sync, now fixed.
- Automatic crash-dump reports, debugger stack-traces (gdb),
back-traces, whatever, are being introduced as a brand new configure
option (--enable-stacktrace) and default enabled on debug build
targets (--enable-debug).
- Audio/MIDI drift correction is now progressive, taking a least
significant differential approach, on every read- ahead cycle and
swallowed on loop turn-arounds, as before.
- Improved Edit/Clip/Normalize and Quantize commands, now affecting
the whole extended multi-clip selection.
- Playback is now being temporarily suspended while either transport
rewind or fast-forward rolling is engaged.
- A bad and shame-on-me bug was fixed: this was hideously affecting
any track/clip playback synchronization, most noticeable after
toggling solo/mute track states while playback is rolling and skipping
the play-head backward over more than one clip under the same track.
- A floating-rectangle flip that showed while dragging new files
beyond the left of main track view is now gone.
- MIDI note event truncation on both track and clip export has been
fixed.
0.4.0 2009-03-13 The Foxy Dryad
- MIDI (re)connections fix; now caring for the ALSA client and port
textual names only, avoiding as much as possible, any reliance on
those volatile client and port numbers.
- Transport/Backward and Forward commands may now reset to immediate
full start or end of session locations, by just pressing the Shift or
Ctrl keyboard modifiers and clicking their respective toolbar buttons.
- Default session/MIDI resolution has been set to 960 ticks per beat
(960 TPQN, where a beat equals a quarter-note); it is worth of note
that the previous default resolution was set to one order of magnitude
lower, ie. 96 TPQN ;).
- Making (dis)connections now also flags session as dirty.
- Internal Audio/MIDI engines queue/time drift correction takes a
brand new approach, specially adapted to rolling tempo/time-signature
changes.
- MIDI monitor refresh-cycle slight internal optimization.
- Converted obsolete QMessageBox forms to standard buttons.
- Transport/Rewind and Fast-forward commands may now be set to double
speed, by pressing the Shift or Ctrl modifiers while clicking their
respective tool buttons.
- MIDI clip editor zoom ratios are now saved and preserved across
sessions.
- Time-signature is now directly accessible from the main tempo
spin-box which also reflects current tempo status.
- Time/frame spin-boxes now allow to step change each field
individually, depending on the cursor beam position.
- Make sure that Transport/Follow playhead option is only effective
when playback is actually rolling.
- Primordial attempt to include MIDI Song Position Pointer (SPP), Song
Start, Stop and Continue sequencing support.
- A completely new time-scale infrastructure is now in place, with
full support for session tempo and time-signature map; this long due
feature is primarily accessible through the main menu, View/Tempo
Map...; also by double-clicking on the the main window and MIDI clip
editor time rulers and left-clicking on the main toolbar
tempo/signature spin-box.
- Moving and resizing individual clips now cares for track proper
ordering and overlapping changes, avoiding nasty out of sequence clips
and other unpredictable effects.
- An expedite MIDI clip quantize command is now available from the
main track view menu (Edit/Clip/Quantize), which simply applies the
current snap-to-beat setting to a MIDI clip range selection.
- Fixed that hideous bug affecting overlapped audio clips when
playhead gets moved backward, causing the playback of those audio
clips in particular, go out of sync.
- Tracks are now limited to their minimum height, specially effective
in face of vertical zooming.
- Zoom mode option introduced (on menu View/Zoom/Horizontal, Vertical,
All).
- Tempo beat type is a new session property; however it is not yet user
modifiable and currently disabled to default MIDI quarter note (1/4).
- All open MIDI clip editor time-scales are now updated and corrected
when the main session time base changes (tempo, time-signature,
resolution, etc.)
- MIDI metronome fixed, preventing duplicate click events.
- MP3 audio file decoding was broken for way too long and falling
short for every file with custom frames, ID3 tags and comments. Got
shamefully fixed.
- Time signature denominator (ie. beat divisor) is now an accessible
and effective session property.
- Attempt to retain original size (clip length) of all audio clips
when changing the global session tempo and automatic time-stretching
is not an option.
0.3.0 2008-12-25 The Fluffy Doll
- Almost complete rewrite of the plugin configuration and parameter
initialization logic.
- MIDI bank/program selection is now taken into account on plugins
initialization and replication.
- Fixed initial parameter values for native VST plugins.
- Track form plugin lists are now properly (re)initialized when track
type changes.
- Generic plugin forms now have the option to show/hide the parameter
widgets through the new "Params" button.
- New auto-monitor toggle option (menu Track/Auto Monitor): the
current selected track is now set on monitor and MIDI channel
omni-mode automagically, as a convenient workflow feature (kindly
suggested by Holborn).
- MIDI clip editor Tools menu is not disabled anymore when there's no
selection, drop-down menu items are instead.
- Make all recorded clips to honor either the punch-out or play-head
accumulated position; resolve all pending MIDI sequence note events
on record stop/close.
- Major silent move: audio plugins chain are now applied in a
pre-fader/meter basis as is usually implied from the mixer strip
layout ie. signal flows from the top to the bottom.
- All MIDI buses may now have plugins inserted so that multi-timbral
synth/sampler plugins get driven to their fullness.
- MIDI track plugin's dedicated audio output bus may now be effective,
as it seems, good old master audio output bus was being used, no
matter what.
- Paste-repeat command has been introduced, now allowing to replicate
and concatenate the clipboard contents over the time-line, with a
given repeat-count and optional period (see menu Edit/Paste Repeat...
on the main and MIDI clip editor windows).
- Normalize tool on MIDI clip editor got rewritten from its previous
brain-dead, useless and utterly wrong operation.
- All time offsets and lengths are now zero-bar/beat based when
displayed in the BBT (bar.beat.ticks) format.
- MMC STEP gets adjusted to current snap-per-beat setting.
- Fixed broken initial buffering that was randomly crippling those
audio clips that fit integrally in cached and while on playback.
- Fix initialization of multiple instances of DSSI plugins which
implement run_multiple_synths (eg. fluidsynth-dssi), preventing an
instant crash on activation.
- Exclude deprecated VST elements from compilation.
- Export tracks dialog has new punch in/out range option.
- Somehow realized that looping and punch-recording are two mutually
exclusive states, at least until loop recording (ie. takes) gets real.
- Fixed crash on tempo change; affecting the WSOLA based
time-stretching on all non-stereo audio clips.
- Incomplete audio peaks were being cached prematurely, fixed.
- Make way for paste/dropping items from the system clipboard over the
main track view. Cut/Copy/Paste/Delete of file items have now this
workaround fixed, wrt. Files widget keyboard shortcuts, respectively.
- Clip gain/volume propriety is now in place and reflected in audio
clip waveform drawing in particular.
- A new hideous progress bar is now lurking in the main status line,
as found convenient to display progress of the also new clip tools
(normalize, export, etc.).
- Clip normalize tool is now available (Edit/Clip/Normalize).
- Audio and MIDI clip file export is now available as a tool (see
Edit/Clip/Export...).
- Punch in/out (range) recording is now in experimental shape, with
minimal settings and functionality, already accessible through the
main menus, transport toolbars and visible on main tracks view and
MIDI editors as magenta colored line markers.
- External MIDI control events for channel volume (7) and channel
panning (10) are now handled properly through session tracks.
- Session file templates make its debut with new usability option, on
whether new sessions are created based on existing template file (see
View/Options.../Display/Session/New session template; nb. session
templates are just regular session files but loaded and saved with no
media content (no clips nor files).
- Grayed/disabled palette color group fix for dark color themes.
- Implicit attempt to flush all pending notes for some, if not most
plugin instruments (eg. VSTi), on playback stop.
- Fait-divers: desktop menu file touched to openSUSE conventions.
- Internal refactoring alert: Session and Options instances are now
being redesigned as singletons, preparing to get out of the way from
the master GUI/MainForm instance.
- Clip drawing methods refactored so let the fade-in/out handles get
seen with transparency over the clip graphics content.
- Reset and continue looping even still when continue past end
transport option is not set and playback is rolling.
0.2.2 2008-10-05 The Flirty Ditz
- Slight optimization in audio and MIDI meters refresh rate.
- Another ancient bug has been squashed: MIDI events were being
recorded even though recording wasn't rolling; spurious event times
were being recorded due to an absent started queue.
- Major fix applied to audio track monitor metering, and most
importantly to plugin processing, correcting tentatively all audio
buffer offsetting and slicing due on loop turnarounds.
- Fixed a potential crash and/or simple record dismissal when changing
properties of a track already armed for recording; prevent record
engaged tracks from editing or removal.
- Lighten up the connections line and highlight colors, as seen to fit
best on some darker background themes.
- Several icons refined with slight transparent shadowing.
- Send/reset all MIDI buses and track controllers (ie. volume and
panning) only when main transport playback is started, avoiding
the pouring on eg. loop, playhead or tempo changes.
- Pressing the Escape key also clears current selection in the main
track-view and MIDI clip editor; resizing multiple events at once
doesn't need help from Shift or Ctrl modifiers anymore.
- DSSI and VSTi plugins get all their default parameters values reset
on MIDI program change.
- Several major fixes have been applied to the MIDI clip editor,
regarding snap precision and correctness, most specially due on
clips which weren't located on exact bar boundaries.
- Brand new usability feature introduced: mute, solo and monitor
toggling may now be applied to all tracks in session at once, when
issued with either the Shift or Ctrl keyboard modifiers, which will
set or reverse respectively all other tracks state.
- Audio buses plugin chain may be also accessed and edited from the
extended bus management dialog (View/Buses...).
- MIDI meter level default color is now set distinct from the old
lime-green one as in audio level meters.
- MIDI clip editor is now a genuine top-level window, fixing all
keyboard shortcut ambiguities with main application window.
- Mixer splitter panes are now collapsible and optionally hidden.
- Make MIDI instrument patch management a little more sane, as for
preventing the accidental insertion of blank instrument names and
automatic default bank/program selection in track properties.
- All connections are now based exclusively on the textual client and
port names, effective in particular to match MIDI bus ports with
disregard to their volatile numerical identification.
- MIDI file (SMF) header endianess fix (PPC users rejoyce:))
- Record armed tracks aren't muted for playback anymore, as this was a
severe crippling nuisance regarding input monitoring and all mighty
user experience after recording a simple take; for instance, as the
bottom line goes, there's no need to un-arm a track from its record
enabled state anymore, for just recorded material get heard on
immediate playback; kick on the jam!
- Playhead position overflow fixed on negative MMC STEP commands.
- Thumb-view width proportions now based on minimal slack session
length instead of the auto-extending track-view contents width.
- Optimize audio clip drawing, most specially on zoomed-out levels.
- Bring the audio peak frames into some sort of cache, preventing
recurrent peak frame buffer reallocation and trashing.
0.2.1 2008-08-30 The Fainty Diva
- Gradient eye-candy now featured for clips, tracks and mixer strips
widget backgrounds, disabled on configure time (--disable-gradient).
- MIDI pitch-bend/wheel events are now captured/recorded properly; in
fact, there was this ancient bug, now squashed, as all MIDI clips
weren't being stored at all if there weren't a single note event
captured.
- MIDI channel translation is finally in effect on monitored tracks,
specially the ones set in omni-channel input mode.
- MIDI open files dialog gets a few more file filter types now.
- Playhead position is now shown, updated and can be also set on the
main toolbar session thumb-view (Shift-click to set the playhead).
- The floating selection, as shown for a clipboard pasting operation,
has been corrected regarding time scale (horizontal zoom) changes,
while in the main track-view. Also fixed final position snapping
precision.
- Current tempo and snap-per-beat setting now survive session cycling.
- DSSI plugins implementing run_multiple_synths (eg. fluidsynth-dssi)
are now formally supported according to the DSSI spec (hopefully);
note that previously one could only have one DSSI plugin instance
loaded in session in any given time, otherwise a sudden crash was in
sure demand when either plugin got activated.
- Audio plugin outputs now overrides each other when the number of
output ports does not match the number of mix-down audio channels
and thus fixing a nasty crash bug in the process.
- All custom font sizes are now set relative to default global font.
- Changing loop points by dragging on the time rulers is now mapped as
undoable/redoable commands as it ought to be ever since.
- Drop-span option (View/Options.../Drop multiple audio files into the
same track) now takes into effect the current session snap-per-beat
setting when concatenating multiple audio clips.
- All plugins get their default bank/program selected on insertion.
- Make record armed tracks muted for playback, a needed regression to
let both audio and MIDI tracks behave consistently regarding input
monitor switching through output.
- Fixed a pretty old and shameless bug regarding MIDI clip recording,
in which cases the queue start time offset was not taken into account,
with captured events being recorded with erratic long delays.
- Almost complete refactoring of the clumsy audio peak file classes,
possibly making it even clumsier but straight nevertheless, with the
noble and final aim to build it in-flight and draw the waveforms
while recording is rolling.
- Recording clips get their initial name labels drawn while
fade-in/out handles are dropped as found pretty useless while
recording.
- Escape key now closes connections and mixer widgets as found usual.
0.2.0 2008-07-18 The Frolic Demoiselle
- MIDI clip filename revision logic is now introduced, thus avoiding
the proliferation of several numbered SMF's on each edit/save; some
lurking bugs were exposed in the MIDI clip externalization method but
promptly squashed.
- Fixed a mouse release event glitch while in drag-and-drop items in
the Files tree list widget.
- A dummy plugin type option has been devised, just to bear with some
troubled behavior of the lovely JUCETICE plugins (View/Options.../
Plugins/Experimental/Dummy VST plugin scan). Bad news are that all,
yes all as in every native VST plugins, are indistinguishable from
being just pure audio effects, either mono or stereo, whatever, and
thus all being considered full-blown stereo VSTi instruments (which
are the vast mainstream and rather interesting majority,
nevertheless:).
- The plugin selection dialog (Add Plugin...) now features the option
whether the selected plugins should be activated on insert.
- Mixer strip titles now have distinguishable type icons, either for
audio or MIDI, and shown on all buses and track strips.
- Major optimization breakthrough: muted audio tracks aren't streamed
any longer, saving precious CPU cycles from decoding, resampling,
pitch-shifting, time-stretching, plugin effects, whatever.
- Incredible as it might be, audio/MIDI track record monitoring is now
mixed (or merged) with rolling playback content, thus not as mutually
exclusive between record and playback states anymore; also, track
mute/solo states doesn't apply to recording material anymore.
- Main form timer slot gets corrected and now independent of current
process buffer-size in regard to JACK transport synchronization.
- All file references in session state file are now stored as relative
paths to main session directory.
- DSSI/VSTi plugin presets can now be explicitly recalled from file
(ie. Open/load preset) through this new tool button whether visible
while in the generic plugin form.
- Due to some trouble with newer Qt >= 4.4 applications regarding font
size configuration, a new global user option is now available to the
rescue: View/Options... /Display/Base font size (default is no-op).
- Logarithmic scale is now taken into effect by control parameter
sliders, in the generic plugin editor dialog as provided by LADSPA
and DSSI plugin types.
- MIDI track bank/program does not default to zero (PC#0) anymore.
- Second attempt for Qt4.4 build support, regarding the bundled atomic
primitives, now corrected and way more seriously :).
- Long due DSSI/VSTi plugin host implementation has taken shape for
MIDI instruments (eg. soft-synth plugins); DSSI reached its full host
implementation and VSTi is already kicking as well.
- DSSI/VSTi plugin presets may now be stored to external XML files,
which should include all parameter values and configuration data
chunks, taken as proper state snapshot and subject for recall.
- Dedicated audio output bus option is now also accessible for all
MIDI instrument plugins, either set globally as a default mode in
View/Options.../Plugins/Instruments or in the plugin context menu for
MIDI tracks, as an undoable command.
- Fixed a potential crash-exception due to freeing a null-pointer,
raised on some ever stringent platforms and while adding tracks to
empty sessions, which is the same to say this was crashing more than
always:).
- Loop turn-around is now taken care of, as this has been found
missing and causing noticeable gapping when un-muting or changing
MIDI track events while in playback.
- An off-by-one bug was fixed while inside MIDI cursor backward seek
method, which was missing all other events that have the same exact
onset timing.
- Attempt to load Qt's own translation support and get rid of the ever
warning startup message, unless built in debug mode. (transaction by
Guido Scholz, while on qsynth-devel, thanks).
- Only one application instance is now allowed to be up and running,
with immediate but graceful termination upon startup iif an already
running instance is detected, which will see its main widget shown
up automatically (Qt/X11 platform only).
- Clip fades have now a slight transparency.
- Avoid loop read-ahead on initial audio clip loading.
- Messages file logging makes its first long overdue appearance, with
user configurable settings in View/Options.../Logging; options dialog
was slightly rearranged and moved the Plugins section into a new tab
page.
- Audio/MIDI drifting correction was missing its own correct and due
(re)initialization whenever playback is (re)started; also, MIDI
metering synchronization has been fixed once again.
- Fixed session cursor backward seeking, specially applicable when
playback passes the end of overlapped clips.
- Fixed potential crash when opening bogus audio files.
- Time-stretch FIFO buffer implementation is now made generic, as
template, fixing a destructor memory leak in the process.
- Include legacy headers, stdlib.h and string.h, where necessary to
build with stricter gcc/g++ >= 4.3.
0.1.3 2008-05-02 The Frugal Damsel
- As one may find convenient sometimes, the global time display format
(frames, time or BBT) may now be changed on the main transport time
spin-box context menu.
- Left-clicking on the track list number column now toggles all track
content clip selection.
- Prevent audio-buffer initialization mashups when editing short audio
clips while playback is rolling and within clip region.
- Audio peak files gets a bit simplified, dropping the peak frame
count from its header; peak waveform graphics are now rendered as
straight lines when over the end of audio file.
- The drop-span option (View/Options.../Drop multiple audio files
into the same track) now also applies when importing tracks (as in
Track/Import Tracks/Audio...) to concatenate multiple audio clips
into one and the same new track.
- Audio and MIDI meter level colors are now user configurable (as
global configuration options, View/Options.../Display/Meters)
- First attempt for Qt4.4 build support, regarding the bundled atomic
primitives, which have changed upstream as advertised (thanks to Paul
Thomas, for spotting this one first time).
- Record monitor switch is now an accessible button option on all
track mixer strips; for visual consistency, the old bus "thru" switch
button has been renamed to "monitor".
- Force track-view position reset to origin on session close.
- Fixed segfault on inserting an external file into files widget.
- Mixer splitter sizes are now better saved/restored when closed.
- Track record monitoring is now a state option, being toggled from
the Track/State/Monitor menu; applies both to audio end MIDI tracks:
when set all input will be pass-through to the current assigned
output bus, including track plug-ins chain.
- Session dialog gets split in its own tab components, between
descriptive, time and view configuration ones.
- Drifting correction among audio and MIDI engines is now back, but
avoided while recording or should it be while looping?
- Time-stretching percent value gets its semantics inverted, as
thought consistent with ones general sense for relative stretching
ie., lower to shrink and higher to make longer. this is a major
up-side-down change and should affect all sessions saved with
time-stretched audio clips.
- Slack space in main tracks and MIDI clip editor views are now
proportional to viewport width, leaving enough room for drag and
moving content past the current session length, specially at the lower
zoom levels.
- Clip end time is now also shown on tool-tip.
- When armed for recording, MIDI tracks are now monitored and filtered
through their own output bus, thus having the same behavior as audio
tracks; this also implies that all record armed tracks won't playback
their current content material when recording is engaged and rolling;
track mute and solo states are now honored on record monitoring.
- Audio clip pitch-shifting makes its first appearance, with the
optional help from Chris Cannam's RubberBand library.
- A new MIDI editor tool is available: note/pitch randomize.
- Avoid (re)setting the default session directory if a session cannot
be open or loaded for some reason.
- Another nastiness bites the dust: a subtle but progressive drifting
has been swept away from the audio buffer looping; zero buffer
flushing is now also taken into account, which was the cause for
serious drifting on time-stretched clips.
- A major digital audio processing bug was tamed: audio clip
fade-in/outs are now linearly piece-wise applied, even at the clip
edges, giving a much smoother rendering and thus mitigating the nasty
click-and-pop artifacts that were in fact due to some early design
optimization with a poor and sloppy implementation.
0.1.2 2008-03-23 The Frantic Dame
- Session length fixed (yet again) while extend recording; also
improved follow-playhead switching while playback/recording.
- Whitespace sanitization gets leaner for all recorded filenames.
- Run-time SSE optimization detection has been improved while on
configure; additionally, IEEE 32bit float specific optimizations have
also sneaked in.
- SSE optimization is now featured over all audio monitoring, and most
specially on audio bus buffering, lowering the CPU burden a bit while
doing track and bus gain, pan, metering and mix-down.
- Fixed MIDI clip move into new track, preserving the original
channel, bank and program whenever possible.
- Fixed session cursor seeking, specially regarding overlapped clips,
once gain.
- The MIDI editor gets new menu access to current MIDI clip track (see
File/Track/Inputs, Outputs, Properties); selection of MIDI events has
also been improved, specially regarding overlapped note events.
- Clip split command enters the stage (see Edit/Clip/Split) about
splitting the current (selected) clip at the current playhead position
(red cursor line).
- Creating new clips from scratch is now finally permitted (see
Edit/Clip/New...); additionally, the clip properties dialog is now
also allowing for changing the filename (and track/channel as special
to MIDI clips).
- Record armed tracks are now properly monitored and fed through their
own output audio bus on mix-down, which includes plug-in effects
processing.
- The files widget get alternating coloured rows.
- VST plug-in preset values are now being restored properly;
individual parameter changes are now being queued for the also
convenient undo/redo command pattern.
- Some audio clip buffer-sync tweaks have sneaked in, improving and
fixing the rendering of full-overlapped, integrally cached and/or
offset clips altogether.
- Stuffed one primordial shot on XInitThreads() at the main head, and
let native VST plug-ins start behaving as they should, or not; this
might be in fact problematic and dangerous for people who won't ever
try the JUCE based plugins as from JUCETICE
(http://www.anticore.org/jucetice), due to some broken locking
mechanism in xcb; thanks anyway to mighty kRAkEn/gORe@JUCETICE for
this precious hint and from who knows best.
- True deterministic session length update has due fixed.
- Track menu has new accessible actions: Track/Inputs - show current
track input bus connections; Track/Outputs - show current track output
bus connections; Track/State/Record - arm current track for recording;
Track/State/Mute - mute current track; Track/State/Solo - solo current
track; Track/Navigate/First - make current the first track;
Track/Navigate/Previous - make current the previous track;
Track/Navigate/Next - make current the next track; Track/Navigate/Last
- make current the last track; Track/Move/Top - move current track to
top; Track/Move/Up - move current track up; Track/Move/Down - move
current track down; Track/Move/Bottom - move current track to bottom;
- View menus have new accessible actions: View/Zoom/In - horizontal
and vertical zoom-in (Ctrl +); View/Zoom/Out - horizontal and vertical
zoom-out (Ctrl -); View/Zoom/Reset - reset both zoom levels to
default; View/Snap - select current snap-per-beat setting;
- Plug-in forms don't auto-open on session reload anymore.
- Keyboard shortcuts icon item (Help/Shortcuts...) sneaks in.
0.1.1 2008-02-16 The Futile Duchess
- After some great user demand, keyboard shortcuts are finally
configurable, as found provisionally under Help/Shortcuts..., for the
main application menu and for the MIDI editor as well.
- Debian package gets SSE optimization disabled as default.
- At least some transport actions get to be non auto-repeatable when
pressed for much too long, as Play and Record, avoiding the tumbling
imposed from the keyboard.
- For the first time ever, jackd auto-start is now allowed (!).
- OSC service support through liblo gets optional at configure time,
now leading the way to proper DSSI plug-in hosting.
- All plug-in widget controls count are now capped to one hundred.
- Plugin paths setup is now made available on the options dialog,
overriding each of respective default settings, as implicit from the
LADSPA_PATH, DSSI_PATH and VST_PATH environment variables (see
View/Options.../Display/Plugin Paths).
- Clip fade-in/out lengths are now kept relative to tempo changes and
also to clip offset and length changes (clip resizes).
- Automatic time-stretching for all audio clips when session tempo
changes, may now be disabled/enabled as a global session option (see
View/Options.../Audio/Playback/Automatic time-stretching).
- Double-clicking on an empty area (de)selects all clips on track.
- MIDI capture (record) quantization is now an option, possibly handy
for some jerky performance musicians, as the one found in myself ;)
(see View/Options.../MIDI/Capture/Quantize).
- The global options dialog (View/Options...) has seen its Display tab
page being moved back and to the right.
- Major rewrite of the plug-in infrastructure, adding primordial
support for DSSI and native VST plug-in flavors.
- Drag-and-drop of plug-in instances are now allowed intra- and
inter-mixer strip chains, either on tracks or buses.
- Turning track record off while recording is rolling was leaving the
session in a inconsistent recording status, now fixed.
- A random but instant crash upon audition/pre-listening player onset
was hopefully fixed.
0.1.0 2008-01-05 The Frivolous Debutante.
- Audio clip time-stretching makes its debut, with code adapted and
refactored from the SoundTouch library, under the (L)GPL umbrella.
- New "Options.../Audio/Playback/Quick seek time-stretching" global
option, providing a quick seek mode (hierarchical search) while doing
all audio buffer time-stretching.
- Changing session tempo will automatically apply the corresponding
time-stretch percent factor to all in-place audio clips. Audio clip
dialog also includes a new time-stretch property setting.
- Tempo changes are now affecting clip offsets correctly, keeping the
clip offset constant in time units (ticks), as are clip start and
length properties already.
- Mixer splitter sizes are now properly saved/restored when hidden.
- Extended multi-selection is now featured on the files widget; all
drag and drop functionality has been almost completely rewritten.
- SSE optimization is now enabled where available (via configure).
- Options for having separate dedicated ports for the audition/pre-
listening player output, audio metronome output, MIDI control
input/output and MIDI metronome output, are now in place.
- A brand new subtle option sneaks in, affecting the drag-and-drop of
the main track-view: View/Options.../Drop multiple audio files into
the same track, whether to drop multiple external files into new or
existing track as concatenated audio clips.
- The audio metronome makes its debut as an alternative to the MIDI
existing one; parameters include bar and beat audio sample files,
accessible from the View/Options.../Audio/Metronome dialog.
- Files widget action refactorization; the files context menu gets its
due item icons and a new menu item for direct audio player
accessibility.
- MIDI time resolution changes (ppqn, ticks per beat) now tries to
keep all session MIDI clip times unchanged as far as possible.
- MIDI channel volume and panning control change events, CC#7 and
CC#10 respectively, are now rendered unfiltered on playback.
- First rendition of the long due implementation of an audition or
pre-listening audio player is now in place; the files window got
this new play/stop control button on its lower-right corner.
- Actual instrument definition note (keys) and controller names are
now in effect on the MIDI editor, whenever applicable.
- Fixed instrument bank selection method, "Bank MSB" (2), which was
broken enough to never send the correct bank number.
- Mouse-wheel horizontal scrolling is now accessible on every view,
while pressing a modifier key (Shift or Ctrl).
- New auto-backward transport option: when enabled the playhead will
be reset backward automatically whenever transport stops playing.
- A suicide-crash has been fixed while invoking the bus dialog from
the respective mixer bus strip context menu.
- Master (default) buses are always set to Duplex mode, being now an
enforced update policy while on the Buses dialog.
- A stupid lockup bug (infinite loop) was spotted on the track bus
assignment method and squashed (thanks, lexridge).
- New keyboard shortcuts for toggling the Connections tool (F8) and
the mighty Mixer tool (F9) windows.
- Avoid showing a context menu while right-clicking on time rulers.
- Audio clip waveform drawing gets additional closing points.
- It is now possible to change the length/size of a clip by dragging
its left or right edges, while in the main track-view. Shift/Ctrl+drag
will also time-stretch to the resulting audio clip length.
- Another off-by-one mistake was corrected, which was causing audio
clips to go out-of-sync on loop turnover boundary; also changed the
loop turnaround strategy, now honoring already cached periods.
- A race-condition has been mitigated in the audio-buffer thread, that
was exposed and lead to sudden application freezing upon changing some
composite audio clip commands.
- Take absolute audio peak values only, making peak files a little bit
shorter and hopefully faster to load and draw as waveforms.
0.0.9 2007-11-30 The Adolescence Prime
- Drag-and-dropping of MIDI files without specific track or channel,
into existing tracks, is now rejected. The drop operation is now
allowed on the track-view blank area only, meaning the same as the
complete MIDI file import into session.
- Record actual MIDI clip length to last play-head position, instead
of time of last event in the recorded sequence.
- Connections item lists gets properly sorted, as intended.
- Clear connection persistance once an explicit discconnection is
issued on any of the (intrinsic) bus ports.
- MIDI output buses now get the panning slider to spit out some GM
system master balance (sysex) messages, being now enabled.
- Mouse hovering on the clip fade-in/out handles, while in the main
track-view, gets its long due cursor pointer feedback.
- Fixed a off-by-one boundary issue on MIDI clip event playback, which
were enqueuing duplicated MIDI events on every read-ahead output
thread processing cycle (1 sec).
- Transport menu and toolbar are now featured on the MIDI Editor.
- Use actual session name when asking to save changed session.
- Transport loop setting keyboard shortcuts swapped: Ctrl+L will set
the loop immediately, and Shift+Ctrl+L will toggle on/off.
- Changing MIDI event duration may now affect MIDI clip duration.
- Alternate sharp-note color lines have returned to MIDI Editor
canvas, as was the shadow color marking the end of MIDI clip.
0.0.8 2007-11-12 The Twelfth Tight
- Bus context menu is now accessible from respective mixer strip.
- Fixed a subtle crash-suicide issue when invoking the bus dialog with
a double-click over the corresponding mixer bus strip; also fixed the
sloppy ganguing mistake when changing mixer bus gain (volume) and
panning values.
- MIDI Omni mode (sort of) makes its entrance as a new MIDI track
property, meaning that is now finally possible for the capture of any
unfiltered MIDI channel event, without regard to the current channel
assignment, which still applies for playback purposes.
- Audio (pass-)through has been also implemented, now being a common
and consistent property of both audio and MIDI buses, provided those
are set in duplex mode (input and output).
- Re-touched follow-playhead and continue-past-end tool icons, again
to be a bit softer and not so bright as to hurt someones eyes.
0.0.7 2007-10-31 The Eleventh Tower
- Suspend auto-follow-playhead while dragging or moving content over
the main track and midi editor views; re-touched follow-playhead and
new continue-past-end tool icons.
- Playback is now forced complete full-stop whenever play-head goes
behind the current session length and/or loop-end and the newer
"continue past end" option is enabled from transport menu.
- Tool/child windows position and size preservation fixed.
- MIDI (pass-)through has been finally implemented, after several kind
requests, it applies as a property of duplex-mode MIDI buses; this new
setting is configurable from the View/Buses... dialog; also from
respective new input bus mixer-strip button; when enabled, implies all
incoming MIDI events at the input bus will pass-through unchanged to
the corresponding output bus, as found useful just for direct
monitoring one's performance without the help of any extra circumvent
or kludgy connections.
- Mouse cursor shape changes accordingly while hovering in header
time-scale rulers, both in main track-view and MIDI editor.
- Track-view clipboard paste action has been refactored, with the user
interface consistent with the same functionality featured on the MIDI
editor: the clipboard selection being pasted now floats at the mouse
pointer and can be moved around before placed into its final position,
either with the mouse or keyboard arrow keys.
- A unitialized member variable bug affecting all MIDI clips has been
discovered and squashed; this one has been lurking for quite some
time and was causing wrong clip editing results, specially when
tempo or meter differs between session and the MIDI file.
- Keyboard step-moving is now allowed while pasting in MIDI editor.
- Track-view clip selection can now be drag-moved into the void
(bottom) view area creating brand new tracks automagically.
- Losing focus resets all current keyboard step-moves in progress,
affecting the main track-view and all MIDI editor as well.
- As done before on the MIDI editor, the main track-view current
selection may be step-wise moved using the keyboard arrow keys and
the enter/insert keys for final placement; horizontal step movement
is quantized according to current snap setting; vertical key-step
movement is only allowed to selected clips belonging to one single
and the same track.
- Immediate session loop setting, accessible from the main menu.
- Track properties dialog gets fixed again in its auto-size treat.
- Another audio-buffer thread bug was scrubbed off, which was causing
spurious and audible garbage on certain loop workloads.
0.0.6 2007-10-09 The Tenth Commencement
- A bit more of precision is achieved over the metronome regular
ticking and both the audio and MIDI monitor meters.
- A rudimentary MIDI metronome is now in place; parameters, like MIDI
channel, bar and beat accent note, velocity and duration, are readily
configurable from the main menu, View/Options... /MIDI/Metronome
dialog.
- Track properties dialog now gets tightly auto-sized, depending
whether its an audio or a MIDI track.
- MIDI clips are now auto-extendable when adding or moving events
beyond the clip length and while in the MIDI Editor, of course.
- MIDI editor current selection can now be step-wise moved using the
keyboard arrow keys and the enter/insert keys as for final placement;
horizontal step movement is subordinated to current snap per beat
setting, no less than unity; vertical step moves are obviously
quantized to the next semitone.
- Get configure to try and detect the correct qmake location and
insert it the search order, so let the qt4 tools take precedence when
--with-qt option is given and older qt3 ones coexist and are found
located ahead in the PATH.
- Drifting correction on audio and MIDI engines was seriously infected
in some kind of snafu conception, as evidence lead to even worse
drifting being detected to much of great despair, specially after
recording and/or bouncing audio tracks from MIDI sequenced material.
Credit must certainly go to Christian Schoenebeck on splatting this
sloppy one on the face.
- MIDI editing actions while playing now get immediate feedback; this
was possible to some internal interface redesign of all MIDI editor
accessory classes, making the MIDI clip now being the main editing
target object instead of just the MIDI event sequence as it was
previously.
- Simple as it could ever be, the build executive summary report is
now given on configure.
- The internal decoded frame list for MPEG 1Audio Layer III (mp3)
audio files (ie. via libmad) has been made one-time cached as global
shared objects, benefitting from the fact that the list is always
completely (re)built during the peak file computation, and thus
speeding up all frame accurate access operations (seek) over this
specific audio file format.
- More eye-candy is sneaking in the MIDI editor: there's new view
options on the View menu: Note Color and Value Color, affecting note
event colors according to pitch and/or velocity.
- New view option on the MIDI editor: on menu View/Note Duration
switches whether events are shown proportional to their durations or
as simple vertical candlesticks.
- New snap-per-beat divisors are now available (Beat/3, 6, 12, 24 and
48), giving support for triplets for the very first time (after a
heads-up suggested patch from Marko, thanks).
0.0.5 2007-09-08 The Ninth Hitch Nail
- MIDI edit tools (quantize, transpose, normalize, randomize, resize)
are all functional and ready for experimentalism; gets in its own
top-level menu and form with named preset store and recall
functionality.
- Main form backward and rewind transport actions are now being
immediately enabled when playing from the session (zero-time) start
position.
- Audio and MIDI export sneaks in and in form and accessible from the
main Track menu.
- MIDI track channel is now properly set on session (re)load; track
background color changes was missing the alpha setting.
- The mix-down buffering was fixed again, now taking multi-track
overlapping clips into consideration (was a lot more broken since
the recent glitch-looping fix).
- Dirty MIDI clip editing control has been fixed but still somewhat
hacky nevertheless.
- First attempt on solving a nasty MIDI editor bug, which was quietly
and severely crippling MIDI files while saving offset edited clips.
- Session loop (re)setting is finally now an undoable command.
- Yet another insidious bug has been swept away from under the carpet:
once again on audio looping, some astonishing old and crappy session
cursor seek-backward statement was lurking to be laid off. Gone now,
simply as it is, growing old on this :)
- A tremendous bug has been fixed: audio looping is now a little more
glitch-free as the mix-down buffering was badly broken even since its
primordial implementation. Rejoice.
- Minor improvements on track-view cursor updates and visual tracking
while recording.
- MIDI editor windows get their keyboard accelerator/shortcuts back in
business, whether opted as tools always on top or not.
- The infamous "Keep tool windows always on top" global option is now
infecting the Connections, Mixer, Plugin and MIDI Editor window
instances with no probable regrets. To be used with discretion, of
course.
- Session update/initialization gets it clean on startup.
- Range selection action (Ctrl+R) is now back in business with the
added bonus of being accessible from all MIDI editor instances too.
- Common edit-head and tail cursor positions are now under common
control and display from all MIDI editor instances; the session
loop-start/end points are now also shown on every time-line and share
the same control behavior across all MIDI editor instances.
0.0.4 2007-07-19 The Eighth Wanderer
- Main toolbar tempo spin-box gets loose from keyboard change tracking
(Qt >= 4.3); custom spin-box compilation fix for Qt 4.1.
- Illusive but nasty Connections/Patchbay item tooltip crash bug has
been hopefully fixed (Qt >= 4.3); QComboBox::editTextChanged() signal
replaces old QComboBox::textChanged().
- Combo-box setup history has been corrected on restore, which was
discarding the very initial default (factory) contents.
- Make debian package build depend on libqt4-dev; win32 console flag
is back to qmake project file.
- MIDI instrument selection (e.g. on track form) gets fixed and
improved.
- Sorting method for the connections port list has been refactored;
potential crash bug fix on connections sorting method.
- Messages class accessor methods constness fix.
- Got rid of some autoconf redundand thingies on configure; late
debian changelog update.
- Desktop categories update: AudioVideo.
- README correction.
0.0.3 2007-06-23 The Seventh Draught
- Crash fix on the connections widget, was a matter of refactoring the
refresh/clear slots.
- Help menu added to MIDI editor form (redirected and same to main
form anyway).
- Clip properties form gets its proper sanity check, querying any
existing clip editor whether its safe to apply the new settings.
- Mixer sliders get their long due valued correction, hopefully.
- Transport backward and play/stop are now made accessible from the
MIDI editor widget, through their keyboard accelerator shortcuts
(backspace and space, respectively).
- Transport actions (play, rec, rew and ffwd) are now kept stable on a
single point, instead of being scattered all over the main form code;
transport visual feedback might get affected, specially regarding the
MMC processing.
- Application icon is now officially installed into
${prefix}/share/pixmaps.
- Spec file is now a bit more openSUSE compliant; just made RPM
requirements as exigent as the new debian ones.
- Paste cursor is now properly preserved after leaving MIDI editor
views.
- Amazingly why this was not spotted before, the main application
logo-icon has been downscaled to the 32x32 pixel standard icon size.
- MIDI clip editor clipboard gets singleton status and is now shared
on all MIDI editor instances. Similarly to the main track-view,
Shift/Ctrl-left-clicking on the MIDI editor views sets the current
session play-head position.
- A desktop entry file has been included on install, at last.
- Clips in main track-view get more info in the form of tooltips.
- Major rounding fix to time-scaling and most specially on all those
internal MIDI I/O methods.
- Extended range selection from the time-ruler and key-list headers is
now possible by click-and-drag the mouse pointer.
- Play-head cursor is now also displayed and/or set position on all
open MIDI clip editors time line view. As in the main application
form, a new local follow play-head option is also featured on the
MIDI editor view menu and toolbar.
- All MIDI file save operations are now logged to main messages and
files are added to the main files list view.
- Initial debianization.
- MIDI capture/record file format (SMF Format 0 or 1) is now an user
option, introducing the new MIDI tab on the global View/Options
dialog.
- A bad old-time session cursor glitch has been apparently fixed.
- Make sure the generic clip properties form is modal.
- Major rewrite and adaptation to the session time-scale properties,
making its way for a brand new command instance: the session-tempo
command.
- Changing the snap-per-beat combobox value on the main window toolbar
does not make it as an undoable command anymore.
- Long due MIDI clip editor integration has come to reality.
- Major rewrite on the MIDI sequence file read/write methods, in
preparation to the coming MIDI clip editor.
- Status-bar session length label now gets rightly updated, while
extended recording, of course.
- Clip properties fade-in/out lengths, gets their old due constraints.
- Main transport time display is now an editable custom spin-box; the
Tempo (BPM) spin-box has seen new colors (green on black).
- Transport time display format option adds the new choice of absolute
frame number, alternative to previous time and BBT.
- The frame-time based spin-boxes, on the clip properties form, were
replaced with a new custom one, allowing for alternate frame, time and
BBT input/display formats.
- Time-scale helper class has been introduced.
0.0.2 2007-05-26 The Sixth Lord
- Audio/MIDI connections gets slightly refactored, contributing for
whole robustness, specially in case of incidental engine shutdown.
- Mixer window gets a minimum default height bump.
- Clip fade-in/out type changes have been properly fixed.
- Complete refactoring of the command class pattern, making it now
derived from QObject and not having a reference to the main form
anymore.
- Inoperative context menu event handler has been removed from the
track-view.
- MIDI sequence note-on event tracking now uses faster QHash class,
instead of original QMap.
- Off-by-one bug fix on MIDI track write method, while parsing
co-incident note-on/off events in the wrong order and thus leaving
note events with an invalid (zero) duration; obviously affecting MIDI
recording in very special circumstances.
- Minor and rather innocuous drop at this time in the MIDI event class
structure: the flags member field.
- Port connections now get their lines correctly drawn; strangely
enough, the connection lines were being painted only for the parent
client items, probably since the Qt4 migration (aka. Halloween files).
- Early clip editing is in place (clip name, start, offset and length
parameters, fade in/out length and type).
- Some menu item text capitalization.
0.0.1 2007-05-07 The Filthy Fifth
- Newer JACK 0.105.0 seems to bitch, probably correctly, about the
return value of the process callback. Make it to bitch no more by
ensuring the JACK client is always issuing the innocuous 0 (zero)
return value.
- Important fixes have been issued, affecting MIDI recording: MIDI
sequence zero-time event insertion; MIDI file pending note-off
processing on write-track method.
- Qt4 migration complete.
0.0.0 2006-10-31 The Halloween Files
|