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
|
Stable versions
---------------
4.5.0 (20210606):
Changes by Alice Rowan:
- xmp_load_module_from_callbacks and xmp_test_module_from_callbacks
added to api
- fix xmp_set_position et al. when used during loops, pattern delay
- make xmp_set_position() consistently clear pattern break/jump vars
- avoid shell command injection when calling external unmo3 or unrar
- fix volume event handling for FAR modules
- fix GDM loader to correctly handle empty notes
- fix GDM fine effects
- fix incorrect handling of GDM speed effect
- implement GDM surround effect
- add support for DSMI 0.8 and 0.9 AMF modules
- fix incorrect DSMI AMF volume and note 0x7f handling
- fix DSMI AMF track 0 remapping bug
- fix DSMI AMF speed effect and pan command conversions
- fix IMAGO Orpheus channel panning and status values
- fix S3M ADPCM4 samples
- fix OctaMED 'tracker compatibility' tempos, more accurate OctaMED
8-channel mode BPM tables.
- ignore MED volume/slide effects with param of 0, fix speed bound.
- improve MOD loader checks for Mod's Grave WOW files
- fix Schism Tracker version date calculation
- fix MED2 BPM handling
- fix MED modules with pattern lengths > 256
- fix MED instrument corruption
- allow up to 512 rows in X-Tracker patterns
- add support for DigiBooster Pro pan envelopes
- fix DigiBooster Pro volume envelope number of points
- fix fine effects for DigiBooster Pro modules
- fix loading DigiBooster Pro modules with large sample chunks
- fix IT bug where Cxx on same row as SBx would not be ignored
- fix IT bug where Qxy would ignore the volume parameter
- fix IT sample global volume and sample vibrato
- fix two IT bugs related to note off and volume handling
- fix event out-of-bounds reads due to invalid key values
- fix multiple out-of-bounds reads/writes, memory corruptions,
uninitialized reads and hangs in several loaders (thanks to
Lionel Debroux for providing fuzz files)
- fix xmp_release_module double frees when invoked multiple times
- check external sample file names before opening them
- make it possible to disable module depacker functionality
- make it possible to disable prowizard module loaders
Changes by viiri:
- fix samples corruption in STM modules
- support more versions of STM modules
Changes by Özkan Sezer:
- add new xmp_syserrno call to the api
- xmp_get_format_list() now returns const char* const*, not char**
(no ABI change)
- xmp_test_module, xmp_load_module, xmp_set_instrument_path and
xmp_smix_load_sample() now accept const char* path parameters
(no ABI change)
- xmp_load_module_from_memory() now accepts a const void* memory
param (no ABI change)
- xmp_load_module_from_memory() no longer accepts sizes <= 0.
- explicitly document that callers of xmp_load_module_from_file()
are responsible for closing their own file.
- remove nonportable use of fdopen in xmp_load_module_from_file()
- fix a seek issue with xmp_load_module_from_memory
- fix memory-io functions' error handling
- fix number of envelope points sanity check in IMF loader
- rewrite the UMX loader
- revise sanity checks to prevent oob reads in s404 depacker
- fix vorbis depacker to function properly on big endian systems
- fix windows static library builds
- fix win64 compatibility in ptpopen
- fix build with C89 compilers
- fix issues related to visibility attributes
- fix compatibility with old gcc, mingw, djgpp
- fix warnings in configure script
- fix Watcom C build on OS/2
- fix Amiga build
- several code clean-ups
Changes by Carsten Teibes:
- fix lite build mod loader symbols
Changes by NoSuck:
- add new xmp_set_row() call to skip replay to the given row
- IT: T00 now repeats previous slide
- prevent clobbering of muted channels' volumes in IT modules
- clamp number of IT envelope nodes at load time
- fix IT message (comment) length miscalculation
- fix IT volume panning effect
- fix mute status on player creation
Changes by Cameron Cawley:
- fix sanity check in Digital Symphony loader
- fix and enable the Coconizer loader
- support compiling for Windows with OpenWatcom
Changes by Ghabry:
- add xmp_test_module_from_memory and xmp_test_module_from_file
calls to api
Fix problems reported by Ralf Hoffmann:
- fix MMD3 instrument type sanity check
- fix strictness of MOD pattern data tester
- fix loading of XMLiTE XM modules
- fix loading of ST modules with invalid names
Fix problems reported by Lionel Debroux:
- fix PTM loader issues
- fix MED4 invalid sample load error
- fix NNA and DCT/DCA issues
Fix problems reported by Dennis Mulleneers:
- handle XM 16-bit samples with odd in-file data
Fix problems reported by Jay Garcia:
- fix smix sample allocation
- force reset of buffer state on player start
Fix problems reported by Vitaly Novichkov:
- fix Emscripten builds
- fix linkage errors with MSVC debug builds
Other changes:
- fix IT pattern delay volume reset bug (read row events only
once per row)
- fix volume, pitch and pan slides lagging behind one frame
- fix tempo assignment in module scan to fix seek issues/crashes
- fix double free in case of ADPCM sample load error
- code refactoring and cleanup
- add new xmp_set_tempo_factor() call to set the replay tempo
multiplier
- fix XM keyoff with instrument
- fix loading xm instruments with more than 16 samples
4.4.1 (20161012):
Fix issues reported by Saga Musix:
- fix MDL c5spd to preserve base periods
- fix MDL sample decoder loop with corrupted data
- fix MASI loader OPLH and PPAN subchunks parsing
Other changes:
- fix MacOS Tiger build issues (reported by Misty De Meo)
- fix sample loop corner case (reported by knight-ryu12)
- fix set pan effect in multichannel MODs (reported by Leilei)
- fix global volume on module loop (reported by Travis Evans)
- fix IT pan right value (by NoSuck)
- fix MASI effects based on OpenMPT PSM loader
- fix memory leak in XMs with 256 patterns
- fix anticlick when rendering only one sample
- fix anticlick in His Master's Noise instruments
- fix anticlick in MED synth instruments
4.4.0 (20160719):
Fix bugs caught in the OpenMPT test cases:
- fix XM arpeggio in FastTracker 2 compatible mode
- fix IT bidirectional loop sample length
- fix MOD vibrato and tremolo in Protracker compatible mode
Fix multichannel MOD issues reported by Leilei:
- fix XM replayer note delay and retrig quirk
- fix XM replayer channel pan
- fix MOD loader period to note conversion
Fix issues reported by Lionel Debroux:
- fix virtual channel deallocation error handling
- fix S3M global volume effect
- fix IT envelope reset on tone portamento
- fix IT voice leak caused by disabled envelope
- fix IT volume column tone portamento
- fix XM envelope position setting
- fix FT2 arpeggio+portamento quirk with finetunes
- fix mixer anticlick routines
- accept S3M modules with invalid effects
Fix issues reported by Saga Musix:
- fix 669 effects when no instrument number is specified
- fix 669 effects to be frequency-based
- fix 669 initial tempo
Other changes:
- fix S3M channel reset on sample end (reported by Alexander Null)
- fix Noisetracker MOD speed setting (reported by Tero Auvinen)
- fix IT loader DCA sanity check (reported by Paul Gomez Givera)
- fix IT envelope reset after offset with portamento
- fix bidirectional sample interpolation
- fix mixer resampling and tuning issues
- add Antti Lankila's Amiga 500 modeling mixer
- add support to filter effect E0 in Amiga mods
- add flags to configure player mode
- add option to set the maximum number of virtual channels
- add frequency-based "period" mode
- add support to IT sample sustain loop
- limit Oktalyzer modules to MOD note range
- remove broken synth chip and Adlib emulation suport
- code refactoring and cleanup
4.3.13 (20160417):
Fix bugs caught in the OpenMPT test cases:
- fix IT volume column fine volume slide with row delay
Other changes:
- fix MOD vs XM set finetune effect
- fix IT old instrument volume
- fix IT panbrello speed
- fix IT random pan variation left bias
- fix IT default pan in sample mode (reported by Hai Shalom)
- fix S3M set pan effect (reported by Hai Shalom and Johannes Schultz)
- code refactoring and cleanup
4.3.12 (20160305):
Fix bugs caught in the OpenMPT test cases:
- fix IT note off with instrument
- fix IT note recover after cut
- fix IT instrument without note after note cut event
- fix IT pan reset on new note instead of new instrument
- fix IT volume swing problems
- fix XM glissando effect
- fix Scream Tracker 3 period limits
- fix Scream Tracker 3 tremolo memory
Other changes:
- fix IT pattern break in hexadecimal (reported by StarFox008)
- fix S3M subsong detection (reported by knight-ryu12)
- fix S3M/IT special marker handling (reported by knight-ryu12)
- fix Galaxy Music System 4.0 song length (reported by AntonZab)
- fix tone portamento memory without note (reported by NoSuck)
- fix IT pan swing limits
- Add TrackerPacker v1 format converter
- Add TrackerPacker v2 format converter
- Add ProPacker 1.0 format converter
4.3.11 (20160212):
Fix bugs caught in the OpenMPT test cases:
- fix FT2 XM arpeggio clamp
- fix FT2 XM arpeggio + pitch slide
- fix XM tremor effect handling
- fix XM tremor recover after volume setting
- fix IT instrument after keyoff
- fix S3M first frame test in pattern delay
- fix Protracker tone portamento target setting
- fix Protracker arpeggio wraparound
- fix Protracker finetune setting
Other changes:
- fix range of MMD effect 9 (reported by Lamar McLouth)
- fix Visual C++ build (reported by Jochen Goernitz)
- fix invalid sample offset handling in Skale Tracker XM (reported by
Vladislav Suschikh)
- fix Protracker sample loop to use full repeat only if start is 0
- fix Scream Tracker 4-channel MOD fingerprinting
- fix lite build with IT support disabled
- fix build with gcc 2.95 in Haiku
4.3.10 (20151231):
Fix bugs reported by Coverity Scan:
- fix out of bounds access in IT/XM/MDL/IMF envelopes
- fix out of bounds read in STX effect decoding
- fix RTM maximum sample name length
- fix AC1D converter number of patterns underflow
- fix PRU2 usage of uninitialized data
- fix Vorbis depacker usage of uninitialized data
- fix negative array index read when setting position
- fix resource leak in MFP loader
- fix resource leak in Chiptracker loader
- fix resource leak in Startrekker loader
- fix resource leak in module load error handling
- fix event decoding in LIQ loader
- fix JVS command parameter in MED synth
- fix 669 effect decoding
- fix memory violation in LZX decompressor
- fix sanity check in PTM orders loading
- add sanity check to smix sample loading
- add sanity check to PP21 format converter
- add sanity check to P40 and P61A format converters
- add sanity check to Zen Packer format converter
- add sanity check to TP3 format converter
- add error handling to many decompressors
- add error handling to many I/O operations
- remove dead code from NO loader
- remove dead code from Soundtracker loader
- remove dead code from GMC format converter
- remove dead code from LZX decompressor
- remove dead code in virtual channel manager reset
- remove unnecessary seeks in format loaders
- prevent division by zero in memory I/O
- change IFF info ID from string to binary buffer
- better IFF error handling
Fix problems caused by fuzz files (reported by Jonathan Neuschäfer):
- add sanity checks to LHA depacker
- add sanity checks to MED3 loader
- add sanity checks to ABK loader
- add sanity checks to Fuchs converter
- add sanity checks to GMC converter
Other changes:
- fix IT envelope release + fadeout (reported by NoSuck)
- fix SFX effects 5, 6, 7, and 8 (reported by Lamar McLouth)
- fix pattern loading in Galaxy 4 and 5 (reported by AntonZab)
- fix memory leak in LZW decompressor (by Chris Spiegel)
- fix tone portamento target setting (reported by Georgy Lomsadze)
- fix IT autovibrato depth (reported by Travis Evans)
- disable ST3 sample size limit (reported by Jochen Goernitz)
- fix crash in Prowizard error handling
- fix IMS sample loop start
- fix LIQ pan setting and surround channel
- add sanity check for IFF chunk size
- refactor ProRunner2 event decoding
4.3.9 (20150623):
Fix bugs caught in the OpenMPT test cases:
- fix IT tone portamento on sample change and NNA
- fix IT tone portamento with offset
Fix problems caused by fuzz files (reported by Lionel Debroux):
- add sanity check to RTM/MMD/MDL/DBM/SFX/MASI/DT loaders
- add sanity check to Starpack/Fuzzac converter
- add sanity check to Oxm/vorbis depacker
- add sanity check to lha/MMCMP/s404 depacker
- fix memory leak in vorbis decoder
Fix problems caused by fuzz files (reported by Jonathan Neuschäfer):
- add sanity check to IT instrument name loader
- add sanity check to IT loader instrument mapping
- add sanity check to AMF module parameters and event loading
- initialize IT loader last event data
Other changes:
- detect Amiga frequency limits in MOD (reported by Mirko Buffoni)
- fix problems in Amiga split channels (reported by Gabriele Orioli)
- fix global volume on restart to invalid row (reported by Adam Purkrt)
- fix Oktalyzer note slide effect (by Dennis Lindroos)
- fix Oktalyzer volume setting in split channels (by Dennis Lindroos)
- fix external sample mixer for IT files (reported by honguito98)
- allow short sample reads (reported by Adam Purkrt)
- address problems reported by clang sanitizer
4.3.8 (20150404):
Fix bugs caught in the OpenMPT test cases:
- fix pre-increment of envelope indexes
- fix IT note release at end of envelope sustain loop
- reset channel flags in case of delay effect
Other changes:
- fix MMD3 16-bit samples (reported by jbb666)
- refactor XM envelopes
- refactor IT envelopes
4.3.7 (20150329):
Fix bugs caught in the OpenMPT test cases:
- fix IT sample mode note cut on invalid sample
- fix IT sample mode note end detection
- fix IT envelope handling with carry and fadeout
- fix IT tone portamento with sample changes
- fix IT initial global volume setting
- fix IT keyoff with instrument in old effects mode
- fix IT filter maximum values with resonance
Other changes:
- fix IT random volume variation
- fix pattern initialization sanity check
- fix ++ pattern handling in IT loader (reported by honguito98)
- fix Soundtracker short rip loading (reported by Shlomi Fish)
- add IT high offset command (SAx)
- add IT surround command (S9x)
- add IT surround channel support
- add IT sample pan setting support
4.3.6 (20150322):
Fix bugs caught in the OpenMPT test cases:
- fix IT volume column volume slide effect memory
- fix IT default filter cutoff on new note
- fix IT filter envelope memory
Fix crashes with fuzzed files (reported by Lionel Debroux):
- add sanity check to MED2/3/4 loader
- add sanity check to STIM/GDM/DBM/LIQ/ICE/PSM/PTM/MGT loader
- add sanity check to MDL/RAD/MGT/IMF/RTM/DT/LIQ/DTM pattern loader
- add sanity check to OKT/IMF/MMD/MDL sample loader
- add sanity check to Archimedes Tracker format test
- add sanity check to Digital Symphony track loader
- add sanity checks to SQSH, bzip2, arc, lha, lzx and S404 depackers
- add sanity check for AMD/STX number of patterns
- add sanity check for DSYM/MMD1/MMD3 number of channels
- add sanity check for MMD1/MMD3 instrument type
- add sanity check for IT old instrument loading
- add sanity checks and fix memory leaks in the Vorbis decoder
Other changes:
- fix instrument number in channel initialization
- fix sample size limit (reported by Jochen Goernitz)
- fix loading of OpenMPT 1.17 IT modules (reported by Dane Bush)
- fix sample number limit (reported by Lionel Debroux)
- fix Oktalyzer split channel replay (reported by Dennis Lindroos)
- fix Oktalyzer sample loop (by Dennis Lindroos)
- fix Oktalyzer note slide up/down effect
- fix ThePlayer pattern decoding
- fix XM loading for MED2XM modules (reported by Lorence Lombardo)
- add support to Amiga split channel loop and volume setting
- add IT random volume variation
- add IT random pan variation
4.3.5 (20150207):
Fix crashes with fuzzed files (reported by Lionel Debroux):
- add sanity check for ST3 S3M maximum sample size
- add sanity check for sample loop start
- add sanity check for speed 0
- add sanity check for invalid XM effects
- add sanity check for maximum number of channels
- add sanity check for number of points in IT envelope
- add sanity check for S3M file format information
- add sanity check for maximum sample size
- add sanity check for invalid envelope points
- add sanity check for basic module parameters
- add sanity check for instrument release after load error
- add sanity check for XM header size
- add sanity check for XM/IT/S3M/MTM/RTM parameters and sample size
- add sanity checks to inflate and lha decompressors
- add more tests to 669 and NO file detection
- fix mixer index overflow with large samples
- fix prowizard data request response
- fix EU/NP1/NP2/NP3 prowizard depackers
- fix crash on attempt to play invalid sample
- fix infinite loop in break+delay quirk
- reset module data before loading module
Other changes:
- fix loop processing error in scan (reported by Lionel Debroux)
- fix minimum BPM value for MED (reported by cspiegel)
- fix sample loop adjustment (by Emmanuel Julien)
4.3.4 (20150111):
Fix bugs caught in the OpenMPT test cases:
- fix XM keyoff+delay combinations
- fix XM fine pitch slide with pattern delay
- fix XM vibrato rampdown waveform
- fix XM volume column pan with keyoff and delay
- fix XM pan envelope position setting
- fix channel volume and instrument initialization
- fix end of module detection inside a loop
Fix bugs reported by Francisco Pareja-Lecaros:
- fix MASI (PSM) volume command
- fix MASI (PSM) note number parsing
- fix Noisetracker note limit detection
Other changes:
- fix overflow in linear interpolator (reported by Jochen Goernitz)
- fix MTM invalid track load (reported by Douglas Carmichael)
- add ProPacker 3.0 loader
4.3.3 (20141231):
Fix bugs caught in the OpenMPT test cases:
- fix XM note delay volume with no note or instrument set
- fix XM out-of-range note delays with pattern delays
Other changes:
- fix XM envelope loop length (reported by Per Törner)
- fix big-endian detection in configuration (by Andreas Schwab)
4.3.2 (20141130):
Fix bugs caught in the OpenMPT test cases:
- fix IT invalid instrument number recovery
- fix IT note retrig on portamento with same sample
- fix XM portamento target reset on new instrument
- fix XM portamento with offset
- fix XM pan slide memory
- fix XM tremolo and vibrato waveforms
- fix MOD pattern break with pattern delay
- fix MOD Protracker offset bug emulation
- fix tremolo rate
Other changes:
- fix IT portamento after keyoff and note end
- fix IT fadeout reset on new note
- fix IT pattern row delay scan
- fix MOD/XM volume up+down priority (reported by Jason Gibson)
- fix MOD fine volume slide memory (reported by Dennis Lindroos)
- fix set sample offset effect (by Dennis Lindroos)
- fix Windows temp file (reported by Andreas Argirakis & Eric Lévesque)
- add emulation of the FT2 pattern loop bug (by Eugene Toder)
- allow loading of packed formats from memory
- allow loading of OpenMPT MOD files with large samples
- enable offset bug emulation by default for Protracker MODs
- code cleanup
4.3.1 (20141111):
Fix bugs caught in the OpenMPT test cases:
- fix IT filter envelope range
- fix IT envelope carry after envelope end
- fix XM note off with volume command
- fix XM K00 effect handling
- fix XM portamento with volume column portamento
- fix XM keyoff with instrument
- fix XM note limits
Fix bugs reported by Andreas Argirakis:
- fix MOD false positive for UNIC Tracker modules
- fix EMOD instrument finetune
- fix UNIC Tracker instrument finetune test
- fix NoisePacker1 loader
Other changes:
- fix IT tone portamento in first note (reported by Jan Engelhardt)
- fix XM invalid memory access in event reader
- fix STM empty note event read
- fix ABK loader test in Win32
- fix MOD period range enforcing (reported by Jason Gibson)
- fix ST2.6 speed effect (reported by Saga Musix)
- fix corner case memory leak in S3M loader
- fix retrig of single-shot samples after the end of the sample
- fix crash in envelope reset with invalid instrument
- fix module titles and instrument names in Mac OS X
- fix row delay initialization on new module
- refactor depacking code
- code cleanup
4.3.0 (20140926):
Fix bugs reported by Sami Jumppanen:
- fix MED4 instrument numbering
- fix MED effect FFF (turn note off)
- fix MED synth finetune effect
Fix bugs reported by Alexander Null:
- fix fine volume slide memory
- fix IT portamento after note end in sample mode
- fix S3M portamento after note end
Fix bugs caught in the OpenMPT test cases:
- add XM and IT envelope loop and sustain point quirk
- fix Amiga limits for notes with finetune
- fix XM invalid offset handling
- fix XM note release reset on new volume
- fix XM pattern loader to honor header size
- fix XM fine volume slide effect memory
- fix XM fine pitch slide effect memory
- fix XM finetune effect
- fix IT portamento if offset effect is used
- fix IT NNA on invalid sample mapping
- fix IT filter envelope index reset
- fix IT envelope carry on note cut events
- fix IT envelope reset on new instrument
- fix IT instrument change on portamento in compatible GXX mode
- fix IT unmapped sample parsing
- fix IT filter cutoff reset
Other changes:
- add API call to load a module from a file handle
- add API call to set default pan separation value
- add OpenMPT test cases to regression test suite
- add AMOS Music Bank loader (by Stephen Leary)
- refactor memory I/O calls
- read OctaMED annotation and song info text
- fix segfault in mixer caused by sample position overflow
- fix MED synth pitch slide reset on new note
- fix MED synth volume change during wait command
- fix MED synth envelope loop handling (reported by Stefan Martens)
- fix OctaMED SS default pitch transpose (reported by Karl Churchill)
- fix OctaMED instrument name loading
- fix XM, S3M, IT and MED offset effect handling
- fix IT fadeout and envelope reset on new virtual channel
- fix S3M shared effect parameter memory
- fix S3M default pan positions
- fix S3M set BPM effect with values < 32 (reported by Kyu S.)
- fix incorrect Noisetracker effect filtering (reported by Kyu S.)
- fix period limits for (possibly non-Amiga) Protracker clones
- fix loop counter reset on play buffer reset
- fix finetune effect
4.2.8 (20140714):
Fix bugs reported by Sami Jumppanen:
- fix OctaMED decimal volume decoding
- fix MED4 sampled instrument octave range
- fix mishandling of MED4 effect FFD
- fix MED synth waveform command CHD
Other changes:
- fix sequence number reset on player start
- fix stray notes in XM (reported by Andreas Argirakis)
- limit note number to avoid crash (reported by Bastian Pflieger)
- disable recursive file decompression
4.2.7 (20140412):
- add support for XM with ADPCM samples (reported by mk.bikash)
- add OctaMED effect 2E (reported by Andreas Argirakis)
- fix MMD2/3 note event mapping (reported by Andreas Argirakis)
- fix XM set pan effect
- fix IT disabled instrument pan
4.2.6 (20140407):
Fix bugs reported by Andreas Argirakis:
- add OctaMED 2 to 7 octave IFFOCT sample loader
- fix volume in MED synth instruments
- fix OctaMED V5 MMD2 sample transpose
Other changes:
- fix double free in module loaded from memory (by Arnaud Troël)
- fix old Soundtracker sample loops (reported by Dennis Lindroos)
- fix Win64 portability issues (reported by Özkan Sezer)
- fix OctaMED 3 octave limit for sampled instruments
- fix OctaMED hold/decay event support
- fix OctaMED vibrato effect depth
- fix IT tempo slide effect
- fix Visual C++ nmake build issues
- refactor OctaMED event reader
- generate Android NDK static libraries
4.2.5 (20140302):
- fix Oktalyzer sample numbering (reported by Andreas Argirakis)
- fix XM delay effect with invalid instrument
- disable incomplete Graoumf Tracker loader
- disable incomplete TCB Tracker loader
- code refactor for core mod player library subset
4.2.4 (20140222):
Fix bugs reported by Justin Crawford:
- fix XM note and envelope retrig on delay effect
- fix XM keyoff reset on new note event
- fix retrig effect frame counter
- fix envelope update after manually set point
Other changes:
- fix Chiptracker pattern decoding (reported by Andreas Argirakis)
- fix AMF sample loop end
- fix false positives in Slamtilt format test
- refactor S3M arpeggio effect memory
- disable incomplete DMF loader
- disable incomplete DTT loader
- address clang-analyzer warnings
4.2.3 (20140118):
- remove limit of samples in RTM loader
- fix S3M length bug introduced in 4.2.1 (reported by Misty De Meo)
- fix MDL effect decoding
- fix MDL envelope decoding
- fix MDL fadeout setting when envelopes are disabled
- fix MDL instrument vibrato depth
- fix MDL sample loop size
- fix MDL fine volume slide effect
- fix MacOS X dylib versioning
4.2.2 (20140111):
- re-enable Falcon MegaTracker loader
- fix DIGI Booster finetune (reported by Andreas Argirakis)
- fix tempo in BPM mode MMD modules (reported by Andreas Argirakis)
- fix crash in zip depacker
- fix MED4 large (>64KB) sample loading
- fix MED4 sample loop flag setting
- fix MMD Protracker-compatible volume slide effect
- fix number of channels in GDM loader
- fix number of channels in MED4 loader
- fix instrument name setting in MDL loader
- replace LZX decompressor code with LGPL version from XAD
4.2.1 (20131229):
Many fixes by Vitamin/CAIG:
- fixes in memory I/O layer
- improve loading of many module formats including XM and S3M
- fix resource leak in case of invalid module structure
- portability fixes
Other changes:
- disable YM2149 emulator
- disable poorly implemented and rarely used module formats
- fix mod loop setting in very small loops (reported by Misty De Meo)
- fix linear period mode vibrato handling
- refactor vibrato effect processing
- code cleanup
4.2.0 (20131109):
- ignore invalid Noisetracker effects
- add API call to load a module from a buffer in memory
- add API call to read the player state (loaded, playing, etc)
- add API call to set the player master volume
- add API calls to reserve channels and play instruments on them
- add loader for His Master's Noise modules
- fix loop parameter in xmp_play_buffer()
- fix MED synth volume slide reset on new note
- fix instrument mapping in IT old instrument format
- fix number of tracks in IT loader
- fix LHA depacker header parsing
- fix thread-unsafe Archimedes Tracker loader
- fix thread-unsafe Digital Tracker loader
- fix handling of loader errors
- fix S3M 16-bit sample replay
- refactor handling of format-specific instrument and channel data
- refactor MED synth command interpreter
- rewrite SQSH depacker code
- disable rarely used ZOO depacker
- disable rarely used ALM loader
- code cleanup
4.1.5 (20130527):
Fix bugs reported by Andreas Falkenhahn:
- fix OctaMED decay event and effect decoding
- fix The Player 6.0A pattern depacking
- fix Oktalyzer instrument to sample mapping
4.1.4 (20130519):
- fix array initialization in IT loader (reported by Jacques Philippe)
- remove regression tests from the distribution package
- address license issues in md5 digest code
- address Visual C++ portability issues
- code cleanup
4.1.3 (20130511):
- fix envelope reset on new instrument (reported by ArtRemix)
- fix JMP END sequences in MED synth wave table
- fix IT portamento after note cut
- fix IT and XM envelope resets
- refactor virtual channel code
- code cleanup
4.1.2 (20130504):
- fix Graoumf Tracker arpeggio, set linear volume and set number
of frames effects (reported by Misty De Meo)
- fix MTM sample fine tuning
- fix unsigned conversion sample range when downmixing
- fix memory leaks when attempting to load corrupted modules
- refactor note slide effect code
4.1.1 (20130428):
- add XM set envelope position effect
- fix XM note with no instrument after keyoff
- fix detection of compiler flags
- fix library symbol versioning in OS X (by Douglas Carmichael)
- fix loss of precision in portamento (reported by Misty De Meo)
- fix OS X, Solaris and BeOS/Haiku build issues
4.1.0 (20130420):
- add API call to fill equally-sized data chunks with PCM data
- add configurable player parameter to disable sample loading
- add configurable player parameter to set/get current module flags
- changed maximum sampling rate to 49170 Hz
- fix floating point values in lowpass filter
- fix buffer overflow in MASI loader (reported by Douglas Carmichael)
- fix simultaneous volume slide up and down
- fix IT vs XM vibrato rate using quirk
- fix IT portamento after note cut (reported by Benjamin Shadwick)
- fix segfault in AMD module loader (reported by Jacques Philippe)
- fix memory leak in AMD module loader
- fix sequence scanner to prevent listing empty sequences
- fix build issues in Cygwin (reported by Benjamin Shadwick)
- fix pkg-config library definition
- fix loop count reset when restarting module
- fix MMD0-3 pitch slides (reported by Simon Spiers)
- fix MED4 pattern reading (reported by Simon Spiers)
- fix MED2/3/4 portamento effect
- fix Stonecracker depacker
- fix IT envelopes with no envelope points
- fix XM invalid instrument event (reported by Banjamin Shadwick)
4.0.4 (20130406):
- fix IT volume column slide to note
- fix IT pan setting effect
- fix IT vibrato effect depth
- fix IT portamento after fadeout
- fix IT panbrello waveform setting
- fix tremolo effect depth
- fix random waveform generator
4.0.3 (20130331):
- add module quirks for well-known cases
- add built-in zoo depacker
- add IT pan slide effect
- add IT panbrello effect
- fix IT pan setting effect (reported by Jan Engelhardt)
- fix IT fine vibrato effect
- fix MED BPM mode tempo setting
- fix global volume slides
- fix bidirectional sample loops
- fix sequence entry points
- rescan sequences if timing flag is changed
4.0.2 (20130223):
- add IT volume column vibrato
- add IT pattern row delay effect
- add fine global volume slide effect
- fix IT instrument vibrato depth and sweep
- fix IT past note effects
- fix IT fadeout values
- fix IT fadeout event loading
- fix period range for values lower than 8
- fix global volume slides
- fix channel volume setting
- fix multi-retrig effect counter
- fix invalid sample number access
- fix memory access violation in MMCMP depacker
- fix global volume setting in module scan
- reset virtual channel flags on creation
- change maximum number of mixer voices to 128
4.0.1 (20130216):
- fix license issues reported by Jan Engelhardt
- minor documentation updates
4.0.0 (20130213):
- split library and application in different packages
- remove OSS sequencer support
- remove platform-specific device drivers
- remove all global data, make library code fully thread-safe
- remove configuration files (moved to front-end)
- remove support to uLaw-encoded output
- remove bogus lzma file detection (by Bodo Thiesen)
- extend note range to full 10-octave range
- extensive code refactoring
- rewrite MMCMP decompressor to be endian-safe
- replaced IT sample decompressor with public domain version
- add cubic spline sample interpolation
- add built-in zip file decompressor
- add built-in gzip file decompressor
- add built-in compress file decompressor
- add built-in bzip2 file decompressor
- add built-in xz file decompressor
- add built-in lha file decompressor
- add built-in vorbis sample decoder
- add support to IT envelope carry
- add support to IT sample vibrato
- add ASYLUM Music Format V1.0 loader
- add regression tests
- fix interpolation and sample loop processing
- fix S404 depacker integration
- fix note delay effect
- fix FT2 old instrument volume quirk
- fix XM tone portamento with finetune (reported by Rakesh Sewgolam)
- fix instrument envelope loops (Storlek test #24)
- fix IT tremor effect (Storlek tests #12 and #13)
- fix IT global volume (Storlek test #16)
- fix IT stray tone portamento handling (Storlek test #23)
- fix IT unified pitch slide memory (Storlek test #25)
- fix IT retrigger effect (Storlek test #15)
- fix IT filters
- fix IT fadeout event handling
- fix persistent slide down effect
3.5.0 (20120127):
- fix AMF 1.0 module loading (reported by Andre Timmermans), probe
for sample loop size
- fix AMF 1.1+ sample loops when loop start is zero
- fix AMF track index including track 0 as empty track (reported by
Andre Timmermans)
- fix AMF tremolo effect (reported by Andre Timmermans)
- fix AMF pitchbend effects (reported by Andre Timmermans)
- fix AMF volume slide effect
- fix AMF track allocation
- fix OpenBSD driver configuration
- fix patern delay + pattern break command (reported by The Welder)
- fix memory leaks found by cppcheck (reported by Paul Wise)
- fix XM note cut on invalid instrument (reported by Benjamin Shadwick)
- fix invalid memory access in case of mismatched track/pattern lengths
- fix uninitialized values when loading BoobieSqueezer XM modules
- fix subinstrument mapping for certain parameters
- fix invalid memory access in The Player loader
- fix plugin for Audacious 2.5.4
- add support to DSMS mod files
- add YM2149 emulator and improved chip sound support
- add support to ZX Spectrum AY-3-8192 chiptunes
- add ZX Spectrum Soundtracker module loader
3.4.1 (20110813):
- test for unused but set variable warning in gcc (needed to
build on MacOS X, reported by Misty De Meo)
- fix format specifiers in CoreAudio driver messages (reported
by Misty De Meo)
- build audacious3 driver if system has Audacious 2.5
- change dependency generation flags for clang (reported by Misty
De Meo)
- fix OXM module loading
3.4.0 (20110808):
- fix reported elapsed time with looped modules
- fix portamento of mapped instruments (reported by Null Vista)
- add MED2 (MED 1.12) module support
- add Noiserunner module support
- add support for MED4 synth instruments (reported by Tim Newsham)
- fix MED4 Soundtracker-compatible tempo setting (Song2.med)
- fix Audacious plugin crash if module is invalid (reported by
Dominik Mierzejewski)
- fix Audacious plugin seek widget position setting
- remove nonexistent Modplug Tracker IT quirk (reported by Johannes
Schultz, voice samples shouldn't play in Deep in Her Eyes remake)
- fix Startrekker Packer loader
- fix IT215 compressed sample loader (reported by Ben "GreaseMonkey"
Russell)
- use start/stoptimer also for pause in OSS driver (by Test Rat)
- identify modules created with munch.py in IT loader
- OctaMED MMD0/1/2/3 tempo fixes (by Francis Russell)
- MMD0/1 note limit fix (by Francis Russell)
- improve latency in ALSA driver output
- Audacious 2.4 API 17 plugin fixes
- add Audacious 3.0 plugin (by Michael Schwendt)
3.3.0 (20101202):
- change MED BPM mode tempo setting (reported by Lorence Lombardo)
- fix OSS driver fragment setting
- add interactive loop toggle (requested by Emanuel Haupt)
- add filter to prevent loading NoiseRunner modules as Protracker
- add NoiseRunner loader (requested by Johan Samuelsson)
- add improved Impulse Tracker fingerprinting (from Schism Tracker)
- add Archimedes Tracker StasisMod effects support (Tom Hargreaves)
- add tarball decompressor (Tom Hargreaves)
- limit uncompression recursion (Tom Hargreaves)
- fix Tracker Packer 3 loader (Tom Hargreaves)
- fix load issue with BoobieSqueezer XMs (reported by Null Vista)
- fix modinfo tempo/bpm setting
- fix Zip file detection (Tom Hargreaves)
- fix Archimedes Tracker effects (Tom Hargreaves)
- update Audacious plugin to API 16
- code cleanup
3.2.0 (20100530):
- Digital Symphony fixes by Tom Hargreaves
- Archimedes Tracker fixes by Tom Hargreaves
- add shared logarithmic volume table for Archimedes formats
- fix default Archimedes formats pan (RLLR instead of LRRL)
- add Coconizer file loader
- portability fixes for BeOS and Haiku
- code cleanup and optimizations
- Android port using NDK
- fix time echoback event for MED
- fix module time count not reseting at new module
- make zipfile detection stricter (by Solomon Peachy)
- fix DSMI loader volume event (by Solomon Peachy)
- initialize formats only once
- fix build with Audacious plugin API 13
- fix seek in Audacious plugin
3.1.0 (20100107):
- implement MED4 instrument transposition
- fix build with MSVC++ 2008
- fix bogus information in winamp plugin file info display
- fix Audacious plugin dialog stacking order (by Michael Schwendt)
- add Titanics Player prowizard loader
- add SKYT Packer prowizard loader
- add Novotrade Packer prowizard loader
- add Hornet Packer prowizard loader
- fix empty instruments in Digital Illusions loader
- fix silent Liquid Tracker module bug
- add Magnetic Fields Packer loader
- add The Player 6.1a prowizard loader
- add StoneCracker S404 decompressor (from amigadepacker)
- add extra Funktracker file tests to prevent false positives
- add Polly Tracker module loader
- code cleanup and optimizations
3.0.1 (20091221):
- better handling of corrupted modules
- load Real Tracker RTMM 1.12 modules (tested with odyssey.rtm)
- fix tuning of Real Tracker modules
- fix Real Tracker patern decoding
- fix segfault in modules with 0 orders or 0 channels
- fix loading of MED4 module patterns with less than 32 lines
- fix memory leak when loading corrupt MED4 files
3.0.0 (20091210): 13 years after the 0.09b release
- allow parallel build (R.I.P. 1996 buildsystem)
- implement the long postponed open player loop
- generate win32 project files when packaging distfile
- remove callback driver
- split unified flags/quirks into separate variables
- add elapsed time echoback event
- add option to display elapsed and remaining time
- implement IT volume column fine effects quirk (Storlek test #6)
- fix bmp plugin build
- fix FreeBSD build (by swell k)
- fix terminal handling in Cygwin (by daniel åkerud)
- add OpenMPT id to S3M loader
- add Epic MegaGames MUSE data decompression
- add Galaxy Music System (Jazz Jackrabbit 2 J2B) module loader
- fix parsing of driver-specific parameters
- fix GDM length, number of patterns and number of samples
- fix memory access error in MDL sample depacker
- fix ProRunner1 samples size
- OSS driver resets the DSP device on exit (by Andrew Church)
- fix handling of PT portamento+vslide effect (by Andrew Church)
- move driver init from player core to main application or plugin
- Epic MegaGames MASI loader fixes
- add Amiga TuneNet plugin (by Chris Young)
- fix Module Protector loader
- fix lha depacking in Amiga (reported by Chris Young)
- fix clang build (by swell k)
- add support for xz decompressor (by swell k)
- add built-in LZX decompressor
- remove pause-related functions from player core
- fix build in Solaris 10 and Sun Studio 12 Update 1 C++ compiler
(reported by Douglas Carmichael)
- fix plugin to work with Audacious 2.2 (reported by Götz Waschk)
- fix invalid and uninitialized data accesses reported by Valgrind
- fix memory leaks reported by Valgrind
2.7.1 (20090718):
- fix -l option in manpage (debian bug #442147)
- fix endianism in MDL sample depacking (reported by Gürkan Sengün)
- fix loading of MOD2XM 1.0 modules (reported by Gürkan Sengün)
- add some sanity checks in XM module loading
- fix IT note cut and delay (Storlek test #22)
- increase period resolution for better tuning (reported by Mirko
Buffoni and Gürkan Sengün)
- allow lower BPM settings (fixes Lemmings 2 circus music)
2.7.0 (20090711):
- add StarTrekker packer loader (untested, need samples)
- extended key range to IT octave 9 (fixes beek-my_eleventh_year.it,
reported by Mirko Buffoni)
- ignore tempo/bpm settings to 0 in module scan (fixes albacore.it,
reported by Storlek)
- implement IT T0x and T1x tempo slides
- process effects in IT muted channels (Storlek test #10)
- generalized delayed event support (Storlek test #8)
- emulate "always store instrument" IT bug (Storlek test #8)
- add extra click removal step in mixer routines
- fix loop size in GMC loader (reported by Mirko Buffoni)
- GMC loader code cleanup
- store in-file comments
- apply amplification in the final downmix
- set sample format to unsigned on 8-bit wav file output
- attempt to handle BPM-based MED tempos a bit better
- add option to use the IT LPF as a click/noise filter
- deprecate $HOME/.xmprc, use $HOME/.xmp/xmp.conf instead
- reintroduce modules.conf, move SYSCONFDIR back to /etc/xmp
- display checksum for platforms where cksum(1) not readily available
- add filter quirk for rn-alone.it
- reintroduce manual setting for vblank timing in Amiga modules
- add vblank quirk for mod.siedler ii (by Daniel Åkerud)
- don't crash if SoundSmith instruments not found
2.6.2 (20090630):
- Promizer 1.8a loader code cleanup
- fix portamento to skip first frame of each row
- fix periods in instruments with finetune
2.6.1 (20090627):
- fix XMMS plugin build (reported by Götz Waschk)
- add Chibi Tracker fingerprint to IT loader (info by Storlek)
- add Schism Tracker fingerprint to S3M loader (info by Storlek)
- fix Modplug Tracker/OpenMPT identification in IT loader
- IT instrument and sample modes use same quirks (Storlek test #9)
- transposed period scale base down one semitone (Storlek test #1)
- remove previous portamento in SpaceDebris.mod fix
- add unified pitch slide/portamento memory (Storlek test #3)
- no Amiga limits for multichannel mods (fixes Bending CD61)
2.6.0 (20090625):
- cleanup: remove rarely used Unix IPC code that difficults porting
- cleanup: remove per-module configuration that nobody uses
- cleanup: moved Prowizard depacking to loader section
- don't abort loading if IT sample magic not found (fixes loading
of use-brdg.it and use-funk.it, reported by Mirko Buffoni)
- multichannel mods written with Scream Tracker don't use Amiga note
limits (fixes Earth Mountains, reported by Samuli Sorvakko)
- fix start option in DeusEx's .umx files (by erlk ozlr)
- add OpenBSD sndio driver (by Thomas Pfaff)
- fix memory leak: free extra pattern allocated by the XM loader
- fix memory leak: free temporary pointer arrays in the IT loader
- fix memory leak: free temporary pointer arrays in the S3M loader
- fix memory leak: free header and filename when file is invalid
- fix memory leak: free temporary buffer in MDL loader
- fix memory leak: move UNIC check to test section of mod loader
- fix memory leak: free Digital Symphony extra empty track
- fix memory leak: free Music Module Compressor buffers
- fix memory access violation freeing list nodes using list_for_each
- fix memory access violation in MDL track allocation
- fix memory access violation in MDL sample decompression
- fix memory access violation in LIQ pattern loading
- fix memory access violation in P18A format test
- fix free of unallocated block in IT sample-only mode
- fix buffer overflow in OXM/DTT loaders (reported by Luigi Auriemma)
- rename oss_mix driver to oss and alsa_mix to alsa
- restrict MMD0/MMD1 non-synth instrument note range to 3 octaves
(reported by Daniel Åkerud and Mirko Buffoni)
- assume wav driver if output filename ends in .wav
- fix volume slides with 00 parameter (by Mirko Buffoni)
- fix crash when S3M C2spd is zero (by Mirko Buffoni)
- merged Mirko Buffoni's Windows Visual C++ port
- don't process tone portamento in first frame of each row, fixes
Space Debris.mod (by Mirko Buffoni)
- add amplification factor option (by Mirko Buffoni)
- improved Winamp plugin (by Mirko Buffoni)
- don't unlink open files (for Windows port, by Mirko Buffoni)
- add experimental DxF/DFx handling with volume slides in all frames
- add better Archimedes .arc compressed file test
- reverted to older YM3812 emulator for license compliance
- fix byte swap error in HSC to SBI Adlib OPL2 instrument conversion
- fix Reality Adlib tracker loader
- implement Adlib OPL2 synth volume setting
- improve tempo, tuning and envelope of HSC modules
- fix scanning of patterns containing short tracks
- don't play notes outside the valid 8 octave note range
- enable The Player 5.0A loader (tested with Full Moon mods)
- enable ProPacker 2.1 loader (tested with Cool World mods)
- fix endianism issues in The Player 5.0 and 6.0 loaders
- fix AMF track remapping error
- enable instrument retriggering quirk in IT loader
- configuration file moved back to /etc
- fix estimated tempo for S3M/IT modules with BPM changes
2.5.1 (20071207): 11 years after xmp 0.09a, the first public release!
- fix Winamp plugin default sampling rate (reported by Mirko Buffoni)
- Winamp plugin number of channels fixed by Mirko Buffoni
- recognize TakeTracker TDZ4 modules (reported by Lorence Lombardo)
- fix crash in anticlick when pan amplitude is set to 100% (reported
by Mirko Buffoni)
- extend playable octave range (fixes replay of octave 9 notes in
beek-my_eleventh_year.it, reported by Mirko Buffoni)
- Protracker-style sample loops only valid with loop start 0 (fixes
M.K. Amegas conversion and others, reported by Mirko Buffoni)
- reset fadeout on new instrument fetch (fixes echo in "pain of lace"
pat 0 ch 2-3, reported by Mirko Buffoni)
- add quirk for simultaneous volume slide up and down (M.K. allows it
but S3M doesn't, fixes Red Dream.mod reported by Ralf Hoffmann)
- Impulse Tracker in sample mode has instrument priority quirk
- fix IT far right (64) stereo channel panning
- merge Amiga port improvements by Johan Samuelsson
- merge Amiga xfdmaster.library support by Chris Young
- Amiga port also buildable for AROS (AHI driver not tested)
- fix global track parsing in DMF loader (fixes mok-trea.dmf, reported
by Lorence Lombardo)
- fix Winamp plugin to use the equalizer (reported by Mirko Buffoni)
- skip 0xfe and 0xff S3M/IT control patterns at load time
- fix scan of pattern break in the last pattern of the module
- add BPM quirk for XMs converted with MED2XM (fixes Fascinated.xm,
reported by Lorence Lombardo)
- merge Windows patch for decompression by Mirko Buffoni
2.5.0 (20071127):
- remove DMP-specific effect from MOD loader
- extend Protracker sample loops to Noisetracker and Startrekker
- FLT loader recognizes Startrekker FLTM modules (only PCM channels)
- implement support for Startrekker/ADSC AM synth instruments
- fixed cast to signed type in finetune display
- fixed Protracker 3 IFFMODL loader (process VERS chunk manually)
- added support to Protracker sample loops in the Protracker 3 loader
- added PulseAudio driver (using the simple API)
- remove restrictive tests for Soundtracker modules (fixes
99redballoons.mod and atmosfer4.mod, reported by Adric Riedel)
- fixed infinite loop control (allows full replay time of 11:04 for
Gryzor's extended Global Trash 3.mod, reported by Adric Riedel)
- use floating point period generation for the software mixer
- fix S3M tempo/bpm setting effect (fixes seaside_hotel.s3m)
- MinGW32 build fixes and new Windows driver (based on MikMod)
- merged Amiga AHI driver written by Lorence Lombardo
- don't read commands from terminal in Windows and Amiga
- reset parameter in case of MDL "no effect" (saa.mdl pos 13 ch 9
plays correctly, reported by Gürkan Sengün)
- fixed wav and file drivers binary file creation for win32
- add support for Octamed V6 16bit samples (fixes instruments in
LaEsperanza.mmd3, reported by Lorence Lombardo)
- enforce minimum allowed BPM to prevent large frames (fix crash with
MED2XM modules such as Fascinated.xm, reported by Lorence Lombardo)
- fixed conversion of big-endian 16-bit samples in big-endian machines
- fixed decompression of 16-bit IT samples in big-endian machines
- added experimental Winamp plugin
- added handler for Ultra Tracker sample type 20 (fixes seasons.ult,
reported by Lorence Lombardo)
- fixed instrument parameter handling in MED4 loader
- added Generic Digital Music (GDM) loader
- plugin code cleanup, remove mode button and hold buffer
- merged AmigaOS4 patches by Chris Young
2.4.1 (20071029):
- fixed portamento after keyoff problem in metamorph_part_ii.xm
where new note is not recognized (reported by Adric Riedel)
- implement Protracker-style sample loops: first play entire sample,
then play the loop (needed to play MeNoWantMiseria.mod correctly,
reported by Adric Riedel)
- fixed finetune test in UNIC Tracker detection to prevent false
positive with all that she wants.mod (reported by Adric Riedel)
- fixed test for ?CHN and ??CH TakeTracker/FastTracker2 modules
- fixed data type in the XM loader to work in 64-bit systems
- don't ignore effect on event with invalid instrument (fixes tempo
in 39.mod pos 11, reported by Adric Riedel)
- removed restrictive tests for Ultimate Soundtracker (false negative
in Karsten Obarski's sleepwalk and others, reported by Adric Riedel)
- minimum sample size changed from 5 to 4 bytes, childhood.it actually
has 4 byte samples (reported by Adric Riedel)
- cut effect doesn't retrigger sample (fixes Comic Bakery Remix pos 1
ch 3, reported by Adric Riedel)
- allow period 162 in ST mods (for blueberry.mod UST, reported by AR)
- fixed period interpolation using real log function instead of table
2.4.0 (20071025):
- added Oktalyzer note slide and fine note slide effects
- added Oktalyzer arpeggio 3, arpeggio 4 and arpeggio 5 effects
- added MED synth programmable arpeggio commands ARP and ARE
- added MED synth vibrato commands VBS, VBD and VWF
- added module probe method without loading (Audacious plugin can
test for files while a module is playing)
- added persistent effects for 669, FNK and FAR
- fixed MED synth volume slide commands CHD and CHU
- fixed detuning in short samples with bidirectional loop by adjusting
the loop size to match forward loop size
- fixed sound cut bug when changing samples in the MED synth (don't
reset channel on attempt to set invalid sample position)
- fixed identification of IIgs MegaTracker modules
- fixed 669 persistent vibrato and portamento effects
- fixed FAR persistent vibrato/portamento and pattern break effects
- fixed sample loading in FAR modules
- fixed multi-retrig effect processing (see cyberculosis.xm ch 7)
- fixed segfault when output file is specified but driver isn't
- fixed XM sample loop size in XMs made with Digitrakker
- revert CoreAudio driver pause patch (fix memory management problem)
- reset MED synth program at each new note event
- removed filesize-based module format detection
- replaced XANN loader with Prowizard XANN depacker
- reorganized internal data to remove lots of global variables
- changed all loaders to load module from relative offset
- changed UMX depacker to be a real loader (using relative offsets)
- ported Audacious plugin to the Audacious 1.4.0 API
- fixed sample offset on portamento after keyoff (Decibeter - Cosmic
'Wegian Mamas.xm plays correctly now)
- fixed length of XM loops (jt_xmas.xm no longer out of tune)
- fixed Audacious plugin to display duration when adding to playlist
- fixed memory access violations reported by Valgrind
- split XMMS/BMP/Audacious plugin source
- invalid patterns in sequence ignored instead of aborting replay
- fixed load of DBM 16-bit samples (reported by Ralf Hoffmann)
- fixed DBM envelope offset error (reported by Ralf Hoffmann)
- disabled AMF volslide effect (problems with CannonFodder2-Done.AMF)
- fixed MMD1/MMD3 loaders to skip invalid synth instruments (reported
by Ralf Hoffmann, Misanthropy.MED loads correctly)
- fixed number of patterns in Funktracker modules
- added Funktracker persistent portamento and volume slide effects
- fixed offset effect with parameter 00 (reported by Adric Riedel)
- changed volume dynamic range to fix steps in volume ramps (tested
with departure soundtrack.xm, reported by Adric Riedel)
- set priority to slide down when volume slide up and down is used,
fixes Skaven's 2nd Reality blast (reported by Douglas Carmichael)
2.3.2 (20071009):
- added ModPlug Tracker IT quirk: ignore sample global volume (fixes
speech in "Deep In Her Eyes Remake", reported by Douglas Carmichael)
- added PTM/IMF note slide effects and PTM note slide + retrig effect
- added partial support to MED synth sounds (ported from xmp 2.1.0)
- added experimental BeOS driver based on the CoreAudio driver
- fixed copy of overlapping memory areas in IT loader
- fixed initialization of channel flags before loading module
- fixed PTM sample loop size (tested with abnormality.ptm)
- fixed PTM effects translation (PTM-specific effects were ignored)
- fixed effects settings in AIX and OSX CoreAudio drivers (reported
by Douglas Carmichael and Chris Cox)
- fixed pause in OSX CoreAudio driver
- fixed Fuchs Tracker prowizard loader format detection
- fixed --time option time counter for MED files
- decoupled PT3 PTDT and MOD loader
2.3.1 (20071005):
- added PTM global volume effect
- fixed output filename setting in wav output
- fixed size field setting in wav driver
- fixed configure option --sysconfdir (reported by Douglas Carmichael)
- fixed major bug in anticlick routine generating clicks in the
right audio channel (reported by Douglas Carmichael)
- changed rampdown time in Hipolito's anticlick algorithm (removes
clicks from PM's 2nd Reality, reported by Douglas Carmichael)
- changed default file name when writing to WAV to <modname>.wav
2.3.0 (20071002):
- added runtime endianism detection
- added extractor for Epic Games' Unreal UMX files
- added workaround for S3M "Return of Litmus" 0x87 quirk (reported
by Ralf Hoffmann)
- added DigiBooster Pro module loader
- added Fmod OXM depacker (depends on oggdec)
- enabled Tracker Packer 3 prowizard loader
- enabled The Player 4.x prowizard loader
- removed reverse-endian sample reading options and XMP_CTL_BIGEND
- fixed semantics of big/little endian options, moved to file driver
- fixed memory corruption in Quadra Composer module loader
- fixed Quadra Composer vibrato, offset and jump effects
- fixed endianism problem in KSM and Zen Packer loaders
- fixed transposition of Digital Tracker module notes
- fixed build for QNX Neutrino 6.3.2
- fixed OSS sequencer driver timing (reported by Reynir Stefansson)
- fixed BMP/Audacious plugin to build also as XMMS plugin
- fixed Impulse Tracker identification in S3M loader
- fixed Module Protector test to recognize mods from "Made In Croatia"
- fixed crash when scanning modules with length zero (bug #1800766)
- fixed driver detection in NetBSD (don't try to build OSS driver)
- fixed crash when restart value is invalid (reported by Ralf Hoffmann)
- fixed handling of S3M pattern 0xfe (reported by Ralf Hoffmann)
- fixed data size in MMD3 pattern sequence loading
- fixed MMD1/MMD3 invalid/unhandled effect translation
- fixed MMD1/MMD3 mixing buffer size setting (for PrivInv.med)
- fixed Soundtracker 15-instrument module tracker fingerprinting
- format management code cleanup
- prowizard code cleanup
2.2.1 (20070917):
- added IT tracker fingerprinting
- enabled track volumes (fixes znm-believe.it, reported by Jon Rafkind)
- fixed DESTDIR and config file location (by Adam Sampson)
- fixed volume overdrive in the Megatracker loader
- fixed probing order of PW-packed and Arc
- raised sample number limit from 255 to 1024 (fixes megaman.xm
tempo and missing instruments reported by Jon Rafkind)
- build plugin files as PIC
2.2.0 (20070915):
- added more module format specs
- added CD61 Octalyser module support
- added Flextrax FLX module detection
- added TCB Tracker module loader
- added Digital Tracker DTM module loader
- added Digital Tracker FA04/6/8 module support
- added Real Tracker module loader
- added X-Tracker module loader
- added portable, 64bit-safe MMD0/1/2/3 MED loader
- added Graoumf Tracker GTK module loader
- added old Liquid Tracker "NO" module loader
- added OSX CoreAudio driver
- added S3M/PTM/IMF/LIQ/IT fine vibrato effect
- added Archimedes Tracker loader
- added Arc/!Spark depacker
- added ArcFS depacker
- added Archimedes VIDC sample converter
- added Digital Symphony module loader
- added Megatracker module loader
- added Desktop Tracker module loader
- added Zoo depacker
- added MED3 module loader
- added MED4 module loader
- added IIgs ASIF sample converter
- added IIgs SoundSmith/MegaTracker loader
- added Audacious plugin
- enabled WAV writer
- enabled IMF filter effects
- enabled Game Music Creator prowizard converter
- removed broken shared lib generation
- removed packed structures
- replaced non-free PowerPack depacker with Kyzer's PD version
- replaced list management in IFF loader with kernel list helpers
- replaced XMMS plugin with Beep Media Player plugin
- fixed long-standing bug in S3M BPM handling, "Panic" plays correctly
- fixed MDL effects translation
- fixed MDL pattern order loading missing first pattern
- fixed MDL memory corruption in envelope initialization
- fixed MDL 16-bit sample depacking (reported by Paul Wise)
- fixed MDL multisampled instrument mapping
- fixed MDL note event keyoff (gothlord.mdl plays better)
- fixed XM and MDL sample loop size
- fixed XM BPM setting (speedup.xm plays correctly)
- fixed LIQ effects and 16-bit sample loading
- fixed S3M pan settings
- fixed IT old instrument volume mode setting
- fixed IT 16-bit sample loading (reported by Henrik Pauli)
- fixed IT effect S00 and delta sample loading (fixes O4UFRDMX.IT)
- fixed multi-retrig effect (reported by Henrik Pauli)
- fixed infinite loop scan (reported by Zbigniew Luszpinski)
- fixed Sinaria sample size and finetune
- fixed issues with OpenBSD
- fixed issues with 64-bit machines
- fixed loading of big-endian 16-bit samples
- using Asle's Prowizard to handle packed MODs
2.1.1 (unreleased):
- added more module format specs
- added MO3 unpacking support
- added file detection to the XMMS plugin
- added Beep Media Player support to the XMMS plugin
- added Epic Megagames PSM module support
- added Epic Megagames old PSM (Silverball) module support
- added DSMI/DMP Advanced Module Format support
- added support to Ultimate Soundtracker modules
- added ALSA 0.9/1.0 sound output support
- fixed recursive decrunching of module files
- fixed QNX6 portability issues (by Mike Gorchak)
- fixed heavy memory leak in the XMMS plugin
- fixed --time command-line parameter
- fixed portamento-after-keyoff bug (Jeronen Tel's "Nine One One"
now plays correctly)
- fixed IFF file loading to avoid data alignment errors
- fixed endianism issues in MDL loader
- updated OPL emulation (by Mike Gorchak)
- default verbosity level changed to 1
- default sound mode set to stereo
- disabled MED loader (nonportable, didn't work well)
2.1.0 (unreleased):
- Added Takuya Ooura's FFT code
- Added scope/spectrum analyser modes to xxmp
- Fixed dynamic driver loading to honour the configuration prefix
- Added --with-esd option to the configuration script for esd in
FreeBSD (reported by Nate Dannenberg <natedac@kscable.com>)
- Added xxmp panel and module info to XMMS info box
- Fixed YM3812 emulator output in mono and stereo modes
- Reordered extra libraries in Makefile.rules to build correctly in
IRIX 6.5.10/gcc 2.95.2 (reported by Johan Hattne <hattne@ibg.uu.se>)
- Added aRts driver
- Added NAS driver (based on Martin Denn's mpg123 NAS driver)
- Added experimental QNX4 driver based on Mike Gorchak's nspmod port
- Added experimental win32 driver based on Tony Million's mpg123 driver
- Added NEO Software/Electronic Rats HSC module loader
- Added Liquid Tracker module 0.0 and 1.0 support
- Added callback driver for plugins
- XMMS plugin changed to use the callback driver
- Added Images Music System support
2.0.4 (20010119):
- Added driver for synthesized sounds
- Added Tatsuyuki Satoh's YM3812 emulator
- Added support to The Player 6.0a modules (using Sylvain "Asle"
Chipaux's P60A loader)
- Added seek capability to XMMS plugin
- Added (very) experimental AIX driver
- Added envelope point sanity checks (fixed "Beautiful Ones" IT
envelope bug reported by Chris Cox)
- Added support to dynamic linked drivers (for better packaging)
- Added option to package only DFSG-compliant code
- Fixed audioio.h detection in OpenBSD 2.8 (by Chris Cox
<cox.family@sk.sympatico.ca>)
- Max. filter cutoff value changed from 254 to 253 to avoid problems
in "Beautiful Ones")
- Fixed external drivers problem with the XMMS plugin (reported by
greg <gjones@computelnet.com>)
- Fixed xmp_ord_set() bug (was calling XMP_ORD_PREV)
- Fixed period calculation algorithm (that was an OLD bug!)
- Started adding support to MED 1.11, 1.12, 2.00 and 3.22
- Replaced RPM spec with Dominik Mierzejewski's version
2.0.3 (20001229):
- Fixes for enabling/disabling features in configure.in
- gcc 2.96/glibc 2.2 related fixes by Dominik Mierzejewski
<dmierzej@elka.pw.edu.pl>
- Support for RAR packed files by Michael Doering <mldoering@gmx.net>
- Improved powerpacker decrunching by Michael Doering
- IT lowpass filters for the software mixer
- Fixed "yes/no" switch in xmp-modules.conf
- XMMS plugin in big-endian machines fixed by Griff Miller II
<griff.miller@positron.com>
- Updated RPM specfile
2.0.2 (20000506):
- Fixes in the NetBSD driver (by Michael <skumle@grin.dk>)
- Fixed sample size for MED synth instruments
- Fixed the set offset effect for (offset > sample length) bug
reported by Igor Krpanic <krpa@renata.irb.hr>
- Fixed configuration file loading in OS/2 (by Kevin Langman
<langman@earthling.net>)
- Fixed S3M tone portamento bug introduced in 2.0.1
- Fixed option --fix-sample-loops
- Improved Noisetracker and Octalyser module detection
- Fixed UNIC tracker and Mod's Grave module detection
- Fixed Protracker song detection
- Event loading in S3M fixed by Rudolf Cejka
<cejkar@dcse.fee.vutbr.cz>
- ALSA 0.5 driver fixed by Rob Adamson <R.Adamson@fitz.cam.ac.uk>
- Added experimental XMMS plugin
- Removed calls to tempnam(3)
- Big-endian sound output finally fixed?
2.0.1 (20000223):
- Endianism problems in Linux/PPC (Amiga) fixed by Rune Elvemo
<relvemo@grm.hia.no>
- Added enhanced NetBSD/OpenBSD drivers written by Michael
<skumle@grin.dk>
- Fixed sample loop detection bug in the MOD loader
- ALSA 0.5 support fixes by Tijs van Bakel <smoke@casema.net>
- Moved the YM3128 emulator sources to the 2.1 branch (shouldn't
be in the 2.0.0 package)
- Added extra sanity tests for 15 instrument MODs (based on sample
size/loop info), relaxed file size test, added check for NT mods
- Fixed pathname for Protracker song sample loading
- Fixed XM loader for nonstandard mods sent by Cyke O'Path
<cyker@heatwave.co.uk>
- Added workaround for IT fine global volume slides
- Added support for EXO4/EXO8 Startrekker/Audio Sculpture modules
- Added support for Soundtracker 2.6/Ice Tracker modules
- MED synth instruments MUCH better now (but still far from perfection)
- Fixed S3M instrument retriggering on portamento bug reported by
Igor Krpanic <krpa@renata.irb.hr>
2.0.0 (20000202):
- Allocations checked with Electric Fence
- Fixed powerpack decruncher counter initialization
- Number of tracks fixed in the XM loader
- 0 byte allocation fixed in the XM loader
- Vibrato depth fixed (>>1)
- Independent effect memory for XM volume slide effect and volume
column effect
- Disable sample loop when loop end < loop start
- Continue S3M fine effects (e.g. x00 after xF5)
- Loader for Startrekker FLT8 modules
- Pattern loop fixed
- Set offset effect bug fixed (reported by Martin Willers
<M.Willers@tu-bs.de>)
- Sample length in the software mixer
- 669 effects fixed by Miod Vallat <miod@mikmod.darkorb.net>
- Fixed S3M/IT continue arpeggio effect
- Fixed S3M/IT set tempo effect
- Fixed set finetune effect (<<4)
- Fixed S3M and XM global volume settings
- Fixed STX memory leaks
- Added support for XM 1.03 modules in the XM loader
- Speed 0x20 correctly recognized
- STM loader accepts BMOD2STM stms (reported by Bernhard März)
- Fixed wrong number of patterns in FAR loader (reported by Bernhard
März <maerz@rklnw1.ngate.uni-regensburg.de>)
- Fixed IFF chunk buffer allocation for MDL samples
- Fixed sample buffer size for MDL 16 bit samples
- SMIX_C4NOTE changed to from 6947 to 6864 in mixer.h (reported by
Christoph Groth -- fixes Cannon Fodder replaying)
- Ignore garbage in the order list (reported by Spirilis
<hannibal@bitsmart.com> -- fixes dragnet.mod)
- Event fetch now emulates ST3, FT2 and Protracker
- Added virtual channel system (for IT NNAs etc)
- Added loaders for Protracker 3.59 IFFMODL, STMIK 0.2, Promizer 0.1/
2.0/4.0, SoundFX 1.3/2.0, Slamtilt, MED/OctaMED, DIGIBooster, Quadra
Composer, Digital Illusions, Module Protector, Zen Packer, Kefrens
Sound Machine, Heatseeker, Imago Orpheus and Impulse Tracker modules
- Added support for MED synth sounds (incomplete)
- Added support for MED BPM tempos (incomplete)
- S3M loader recognizes Imago Orpheus
- xmprc renamed to xmp.conf
- Configuration for specific mods using xmp-modules.conf
- User configuration stored in $HOME/.xmp
- Protracker effect 9 bug emulation
- Support for Protracker song files
- AWE support for IT filter envelopes
- Filename in the xxmp window title (added by Geoff Reedy
<vader21@imsa.edu>)
- Sample crunching for soundcards with limited memory
(requested by janne <sniff@utanet.fi>)
- Bidirectional loop expansion and 16-bit conversion for AWE
- Added anti-click routines in the mixer (requested by Teemu Kiviniemi
<teemuki@kolumbus.fi>)
- Zirconia's MMCMP decrunching support
- Old volume mode set for awedrv 0.4.3
- Added option --loadonly
- Changed finalvol formula
- MOD loader split in M.K./xCHN, FLT and ST loaders
- xmp_options changed to xmp_control
- Removed redundant code from loaders
- Dropped options -p (period mode), --disable-envelopes, --modrange
and --ntsc
- UNIC and LAX collapsed in a single loader
- Added test for AWE_MD_NEW_VOLUME_CALC definition in oss_seq.c
- Fixed buffer write() after EINTR on SIGSTOP (reported by Ruda Moura
<ruda@helllabs.org>)
- Title line in xxmp fixed by Geoff Reedy <vader21@imsa.edu>
- Tweak configure.in to honour predefined CPPFLAGS in environment
since awe_voice.h moves around in FreeBSD. At the time it is in
/usr/src/sys/gnu/i386/isa/sound/ (by Bjoern Fisher
<bfischer@Techfak.Uni-Bielefeld.DE>)
- Added missing #include "config.h" in main.c (by Bjoern Fisher
<bfischer@Techfak.Uni-Bielefeld.DE>)
- Default mixing rate raised to 44.1 kHz
- Fixed OSS sequencer timing in Linux/Alpha (by Nils Faerber
<nils@unix-ag.org>, reported by Andrew Hobgood <chaos@strange.net>
-- improved using Miodrag Vallat's HZ checking)
- Added native ALSA PCM driver
- Fixed xxmp title wrap
- Fixed 4-bit ADPCM sample decompression
- Solaris driver fixed by Keith Hargrove <Keith.Hargrove@Eng.Sun.COM>
- IRIX driver fixed by Brian Downing <bdowning@wolfram.com>
- Merged OS/2 DART port by Kevin Langman <langman@earthling.net>
- Added BMOD2STM support in STX mods (reported by Miod Vallat)
1.2.0 (Unreleased):
- Added support for 16-bit samples in S3M (reported by Geoff
Reedy <vader21@imsa.edu> and Chris Jantzen <chris@maybe.net>)
- Status display in main.c changed from curr_row/num_rows
to curr_row/max_rows.
- esd driver fixed by Terry Glass <tglass@bigfoot.com>
- (Yet another scanner bugfix) scanner ignores tempo 0
- (Yet another scanner bugfix) estimated time limit extended
from 15 min. to approx. 4 hours (should be sufficient)
- (Yet another scanner bugfix) scanner sets global volume
- (Yet another scanner bugfix) S3M_END test fixed
- Skip to previous module fixed
- Loop start set in bytes in 15 instrument MOD files
- Added return status for failure in decompression
- Temporary file unlink after failed decompression
- Fixed S_ISDIR using wrong argument
- Fixed clear chunk ID buffer in the IFF loader
- Fixed chunk ID test fixed in the IFF loader
- Release the IFF loader linked list after loading
- Init default options in load.c
- Volume echo event normalized to 0x40
- Fixed sample loop in UNIC/LAX modules
- Fixed FAR number of patterns
- Fixed FAR tempo effect
- Fixed FAR effect parameter setting
- STM loader now rejects STX files
- Fixed XM note fadeout value
- Option --fix-sample-loop sets sample loop start in bytes
- Added support for NoisePacker 1/2/3, Digitrakker 0.0/1.0/1.1
and Promizer 1.0/1.8 module formats
- SIGUSR1 and SIGUSR2 handlers for skipping to next/previous
module (requested by Geoff Reedy <vader21@imsa.edu>)
- Recursive module unpacking
- drv_solaris renamed to drv_bsd_sparc
- Other cosmetic changes
1.1.6 (19981019):
- xxmp compilation in FreeBSD fixed by Adam Hodson
<A.Hodson-CSSE96@cs.bham.ac.uk>
- Makefile fixed for bash 2
- S3M global volume setting removed (reported by John v/d Kamp
<blade_@dds.nl>)
- S3M tempo/BPM effect fixed (reported by Joel Jordan
<scriber@usa.net>)
- XM loader checks module version
- XM loader fixed for DEC UNIX by Andrew Leahy
<alf@cit.nepean.uws.edu.au>
- finalvol shifted right one bit to prevent volume overflow with
dh-pofot.xm (Party On Funk-o-tron)
- File uncompression based on magic instead of file suffix
- Loop detection and time estimation improved; --noback
option removed (reported by Scott Scriven <toykeeper@cheerful.com>)
- Invalid values for module restart are ignored (reported by
John v/d Kamp <blade_@dds.nl>)
- Don't play invalid samples and instruments
- Fine effect processing changed to the Protracker standard
instead of FT2 (i.e. effects EB1-EE5 play fine vol slide five times)
- OSS audio driver fragment setting fixed
- Added test for file type before loading
- MOD/XM tempo/BPM setting fixed (reported by Gabor Lenart
<lgb@hal2000.hal.vein.hu>)
- XM loader limits number of samples (needed to play Jeronen Tel's
"Pools of Poison")
- Invalid sample number in instrument map is set to 0xff and ignored
by the player (needed to play Jeronen Tel's "Pools of Poison")
- Jump to previous order in order zero ignored.
- Channel 1 to 10 mute/unmute keys changed
- cfg.mode -1 bias removed
- --ignoreff option removed
- Reserved & unsed fields removed from structures
- S3M tremor effect implemented
- XM keyoff effect implemented
- Experimental (untested) SGI driver
- Experimental (untested) OpenBSD driver
- --nocmd option added by Mark R. Boyns <boyns@sdsu.edu>
- Added support for XM 1.02, Ultra Tracker, ProRunner, Propacker,
Tracker, Unic Tracker, Laxity, FC-M, XANN and AC1D modules
- Added built-in uncompressors for Powerpacker and XPK-SQSH
- Option for realtime priority in FreeBSD added by Douglas
Carmichael <dcarmich@mcs.com>
- Support for 15 bpp in xxmp added by John v/d Kamp <blade_@dds.nl>
1.1.5 (19980321):
- Bidirectional sample loop fixed (reported by Andy Eltsov)
- Set pan effect bug fixed by Frederic Bujon
- Solaris/Sparclinux driver for the AMD 7930 audio chip (tested in
Solaris 2.5.1 and Linux 2.0.33)
- Support for the Enlightened Sound Daemon
- Better SIGSTOP/SIGCONT handling
1.1.4.1 (19980330):
- New URL updated in docs
1.1.4 (19980204):
- Added missing error check in Solaris and HP-UX drivers
- Fixed includes for FreeBSD
- Fixed X setup in the configure script
- Fixed X include path in Makefile.rules and src/main/Makefile
- scan.c replaced by a new version from 1.2.0 development tree
- HP-UX driver works (tested in a 9000/710 with HP-UX 9.05)
- Misc doc updates
1.1.3 (19980128):
- xxmp color #000000 changed to #020202 (needed in Solaris)
- `cmd' type changed to char
- Interactive commands to unmute channels 6, 7 and 8
- MTM loader works in big-endian machines
- Experimental HP-UX support added (not tested)
- Panel background colors changed
- New INSTALL file
- Misc doc updates
1.1.2 (19980105):
- Fixed xxmp palette corruption
- Fixed xxmp error messages
- Misc doc updates
1.1.1 (19980103):
- Fixed coredump in Oktalyzer loader (resetting pattern and
sample counters)
- Fixed coredump with Adlib instruments
- Fixed xxmp window update (added missing XSync, xxmp shows
current pattern and row)
- Fixed color palette in 16 bpp True Color
- Fixed command line arguments -S and -M
1.1.0 (19971224): "The Nightmare Before Christmas" release
- Package license changed to GPL
- Configuration made by GNU autoconf
- Software mixer and /dev/dsp support
- Compiles on FreeBSD 2.2 and Solaris 2.4
- Command line options changed, long options added
- Random play mode added
- AWE reverb and chorus options added
- Support for OPL2 FM synthesizer
- New formats supported: Elyssis Adlib Tracker (AMD), Reality Adlib
Tracker (RAD), Aley's Modules (ALM)
- Support for multiple output devices
- Support for Scream Tracker 3.00 modules (volslides in every frame)
- Support for S3M Adlib instruments
- Support for S3M (very old) signed samples
- Support for S3M pan ("The Crossing" plays correctly)
- Support for S3M global volume
- Support for Oktalyzer 7 bit samples
- Support for IFF modules and variations
- S3M arpeggio kludge removed
- S3M module length adjusted discarding 0xff paterns
- S3M set tempo/BPM effect adjusted
- XM envelope loop bug fixed ("Shooting Star" plays correctly)
- XM 16 bit sample conversion bug fixed ("Hyperdrive" plays correctly)
- Support for XM instruments with 29 byte headers (for "Braintomb")
- AWE32 pan setting fixed
- Glissando in linear period mod bug fixed
- Volume overflow bug fixed (again)
- Tone portamento update bug fixed
- Period setting workaround for panic.s3m
- Pattern jump effect bug fixed
- Oktalyzer loader bugs fixed
- period_to_bend precision loss bug fixed
- Option -s fixed to play with correct tempo/BPM/volume
- Added support for bzip, compress, zip and lha compressed modules
- Added Protracker and Soundtracker wrappers to the MOD loader
- Support for MDZ modules with ADPCM samples
- IPC stuff removed, player engine built as a library
- Fixed memory leak in MOD loader
- Fixed memory leak in oss_seq
- X11 version (xxmp)
- Interactive commands
- xmprc file
1.0.1 (19970419):
- IPC global volume setting bug fixed
- FAR number of patterns bug fixed
- S3M volume setting effect correctly handled (fixes Skaven's
2nd Reality)
- Option to disable dynamic panning to prevent AWE-32 clicking
1.0.0 (19970330): First non-experimental release
- Added option -t (maximum playing time)
- Added option -K to enable IPC
- Test module removed from package
Experimental versions
---------------------
0.99c (19970320): Fixed more bugs reported by Michael Janson
- S3M loader changed to recognize fine and extra fine volume slides
only when the slide nibble is not zero (fixes PM's 2nd Reality)
- XM patterns with 0 (==0xff) rows are being correctly handled
(Wave's Home Vist should play better)
- Tone portamento effect does not reset envelopes (fixes Wave's
Home Visit pattern 0, channels 0 to 5)
- Loop click removal fixed & improved - chipsamples sound smoother
using gmod's method to prevent clicking
- Continue vibrato effect bug fixed
0.99b (19970318): Fixed bugs reported by Antti Huovilainen and Michael Janson
- Extra fine portamento bug fixed (ascent.s3m should play better)
- Volume column tone portamento in XM shifted left 4 bits (fixes
guitar in Zodiak's Status Mooh order 7, channel 7)
- Note delay bug fixed (fixes bass in Jogeir Liljedahl's Guitar
Slinger) - delay was working as note retrig
- Sample offset effect bug fixed (fixes snare drum in Zodiak's
Status Mooh order 0D channel 5) - offset 00 uses previous offset
- New instrument event with same instrument does not retrig the
sample (fixes pad in Romeo Knight's Wir Happy Hippos)
- Global volume limited to 0x40 (fixes fadeout in Zodiak's Reflecter)
- Sample loop adjusted for click removal
- 669 loader changed to use secondary effects for tempo/break
- S3M loader changed to use generic pattern loops (S3M-specific
pattern loop kluge removed from xm_play.c)
- MOD loader fixed - the module may have unused patterns stored
and this situation was confusing the loader
- Effect F changed to recognize 32 frames per row
0.99a (19970313):
- General code review
- Internal module format changed to XXM
- Added endianism correction
- Volume overdrive bug fixed
- Verbosity levels adjusted
- Vibrato implementation bug fixed
- Instrument vibrato sweep implemented
- New module formats supported: STM, 669, WOW, MTM, PTM, OKT, FAR
- Added mute/solo channel command line options
- Tempo 0 ignored
- Lots of cosmetic changes
- Option to reduce sample resolution to 8 bits
- Envelope sustain bug ("Zodiak bug") fixed (reported by Beta)
- Infinite loop in pattern jump bug fixed
0.09e (19970105): Improved S3M support and general bugfixes
- Yet another pattern loop bug fixed
- S3M J00 (arpeggio) effect workaround
- S3M stereo enable/disable implemented
- S3M sample pan bug fixed
- Added warning for S3M Adlib channels
- Improved S3M channel pan handling
- Incremental verbosity option
- Tone portamento behaviour fixed (for "Elimination Part I")
- Added parameter -i to ignore S3M end of module markers
- S3M FFx/F00 (continue fine period slide) effect bug fixed
(bug was audible in the Second Reality opening theme)
- Global volume slide bug fixed
- installbin target fixed in the Makefile
- Volume reset with no instrument for new note bug fixed
(bug was audible in "Knulla Kuk" by Moby)
0.09d (19970101):
- Pattern jump bug fixed
- Added support for ??CH mods - thanks to Toru Egashira
<toru@jms.jeton.or.jp>
- Fine pitchbending effect bug fixed
- Signal handling fixed (again)
- USR1 and USR2 signals changed to ABRT and HUP
- Command line parameter to force MOD octave range
- NTSC timing for MOD files
- Glissando effect implemented
- Retrig and multi-retrig effects bug fixed
- S3M fine volume slide effect translation bug fixed
- S3M C2SPD translation to relnote/finetune bug fixed
- S3M pattern loop fixed
- S3M module loop bug fixed
- Pattern loop (for restart order>=0x7f) bug fixed
- version.o dependencies fixed in the Makefile
0.09c (19970101): broken version (unreleased)
0.09b (19961210):
- Note release and fadeout bug fixed
- Module restart (SIGUSR2) bug fixed
- Octave shift bug fixed ("Move to da beat" plays OK)
- "Squeak" bug fixed (the bug was caused by a tone portamento
with no destination note)
- Pitchbending effect bug fixed ("Crystal Dragon" plays OK)
0.09a (19961207): First public release.
- Panel signal handling fixed
- base_note set with C4 frequency of 130.812 Hz (actually C3)
- GUS_VOICE_POS enabled for AWE_DEVICE (Iwai's patch)
- Envelope fadeout (release) fixed
- Note skip bug corrected after some shotgun debugging
- GUS panning fixed (bypassing sequencer.h)
- Added panning amplitude command line option
- Added a channel pan parameter
- Changed the XM loader to always unpack the patterns
- S3M pan positions fixed
- Timing variables changed to floating point - I really don't like
FP, maybe I've been hacking in assembly language too much
- Added 15-instrument MOD loader
- Added XM finetune interpolation
- Arpeggio bug fixed: pitchbend increments between semitones is 100
and not 128 (why don't they use ROUND numbers?)
- Changed period2bend to prevent lossage in higher octaves
- Pattern loop effect implemented (running_lamer.mod plays OK)
- Auto-detector (?) for 15-instrument MODs (option -f removed)
- Added linear period support
- All source files checked into RCS
Development (unreleased) versions
---------------------------------
0.08 (19961031):
- Increased code mess
- Included Iwai's AWE support
- devices.c created to wrap output devices
- sequencer.c, awe.c and gus.c included in devices.c
- Portability macros set in the Makefile (but not used)
- Manpage draft included in the package
- Added command-line device selector
- Finally got rid of those ridiculous fread()s in xm_load.c
- xm_instrument_header split into xm_instrument_header and
xm_instrument
- Removed OSS macros from xm_play.c
- Volume overflow bug fixed ("Thematic Hymn" plays OK)
- Scream Tracker S3M loader
- Fixed the song length bug
- XM relnotes are working again!
- Added a garbage character filter to the MOD loader
- Floating point stuff removed
- Sequencer sync message support added
- Multiple file entry point bug fixed
- Song loop bug fixed, added a loop-enable option
- Tremolo and extra fine portamento effects fixed
- Player doesn't try to play invalid instruments (and dump core)
- SIGUSR1 and SIGUSR2 handlers added (abort/restart module)
- MOD effects with parameter 0 filtered in the loader (nasty bug)
- Finetunes partially fixed ("Ooo-uh-uh-uh" does not work)
- Started X11 panel (VERY experimental)
- Volume column effect fxp bug fixed
- Envelope retrig on tone portamento bug fixed
- MOD sample loop length fixed
- Finetune in tone portamento bug fixed
0.07 (19961011): We've screwed up XM relnotes in this version. Yuck!
- Sample loop bug fixed
- Extra fine portamento effect implemented
- Global volume set/slide effects implemented
- Pan slide effect implemented
- Delay pattern effect implemented
- Retriggered tremolo/vibrato implemented
- Added tremolo/vibrato waveforms 4, 5 and 6 (no retrigger)
- Stereo reverse/mono command line options are now functional
- Pan slide effect implemented (but does it work?)
- Arpeggio effect implemented
- "Official" Amiga (exponential) periods implemented
- Multi-retrig and delay effects implemented
- Retrig and cut implemented as special cases of multi retrig
- Fixed vibrato/tremolo waveforms
- Added some macros to reduce the code mess
- Finetunes/relnotes processed by the player (and not by the loader)
0.06 (19960924): This version can play most MODs
- Changed a lot of variable names
- Fixed envelope processing
- Fixed pitchbending (SEQ_BENDER vs SEQ_PITCHBEND) bug
- Fixed panning (SEQ_CONTROL vs SEQ_PANNING) bug
- Fixed multisample struct definition bug
- Fixed note number "obi-wan" bug ("Neverending Story" plays OK)
- Fixed tone portamento behavior ("Art of Chrome" plays OK)
- Added MOD finetune support ("Elimination Part I" plays OK)
- Added offset, cut, delay and retrig effects
0.05 and before:
- Lots of changes.
|