Skip to content

Latest commit

 

History

History
770 lines (499 loc) · 27.6 KB

NEWS

File metadata and controls

770 lines (499 loc) · 27.6 KB
 
Nov 10, 2019
Nov 10, 2019
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
Summary of changes between libmikmod 3.1.20 and libmikmod 3.1.21:
========================================================================
libmikmod v3.1.21 was released on June 12, 2017.
- Fixed lots of possible crashes in the IT, XM, S3M, STM, STX, AMF, IMF,
GDM and MED module loaders.
- Fixed a possible endless loop in the IT loader with malformed files.
- Fixed signed integer overflow leading to crashes in the sample loader.
- Fixed the broken fixed-line comment reader which might possibly lead
to crashes, and also badly translated several song messages. The new
code is adapted from libopenmpt.
- Support for building the Windows version using Open Watcom compiler.
- A few minor OS/2 fixes.
- Other minor fixes/tidy-ups.
Thanks to:
- Lionel Debroux, for providing fuzz files which helped finding defects.
- Johannes Schultz (sagamusix), for allowing us to use a piece of code
from libopenmpt.
Summary of changes between libmikmod 3.1.19 and libmikmod 3.1.20
========================================================================
libmikmod v3.1.20 was released on 31-Aug-2016.
- Fixed windows builds when UNICODE is defined. (Thanks S. Michel).
- RAW file writer: Changed to use ansi stdio functions instead of
posix unistd, for better portability.
- Playercode: Allocate the right channel reverb buffers only if the
mixer is setup for stereo mode. (Helps with ports to memory-tight
platforms. Patch from Andrew Rossignol.)
- Added a configuration option to exclude the hqmixer (off by default.)
- Using locale-insensitive ctype.h and casecmp functions in library.
- Configury: New --disable-alldrv option to disable all of the audio
output drivers. If additional --enable-xxx options are given, the
specified drivers will be enabled.
- Other minor tidy-ups.
Summary of changes between libmikmod 3.1.18 and libmikmod 3.1.19
========================================================================
libmikmod v3.1.19 was released on 15-Nov-2015.
- Handle the FastTracker2 pattern loop (E60) bug. Modules abusing this
bug (roadblas.xm) should play correctly now. Thanks to Eugene Toder.
- AMF loader: Fixed segmentation fault in case of bad sample offsets in
broken files. (sf.net bug #26, thanks to 'Saga' of OpenMPT project for
the report and analysis.)
- AMF loader: Fixed loading of v10 files where sample loop start and end
values must be read as 32 bits, not 16 bits. (Tested with Maelcum's
"the tribal zone" and "the way its gonna b". Noticed in OpenMPT source)
- Fixed a possible undefined behavior in the XM loader.
- Support for OpenBSD sndio.
- Updated configury. The aix, hpux, bsd/sunaudio and sgi audio drivers
are now configurable and not built unconditionally. Haiku support
thanks to Jérôme Duval.
- Documentation update.
- Minor fix/tidy-ups.
Summary of changes between libmikmod 3.1.17 and libmikmod 3.1.18
========================================================================
libmikmod 3.1.18 was released on 31-Aug-2014.
This is a minor maintenance release.
- Build system configuration and packaging simplifications, tidy-ups.
- Several portability tweaks.
- Fix some OS/2 bit rot. (for nostalgia...)
Summary of changes between libmikmod 3.1.16 and libmikmod 3.1.17
==========================================================================
libmikmod 3.1.17 was released on 20-Mar-2014.
This is a minor bugfix / maintenance release.
- ALSA and ESD drivers: Fixed a dlopen() issue.
- Configury, OSS driver: Removed useless check for /dev/sndstat
presence, added <soundcard.h> check to cover all our bases for
less common setups.
- Several configury and makefile clean-ups.
Summary of changes between libmikmod 3.1.15 and libmikmod 3.1.16
==========================================================================
libmikmod 3.1.16 was released on 05-Jan-2014.
This is a minor bugfix / maintenance release.
- Improved ALSA driver.
- mikmod.texi: Fixed document generation using newer texinfo.
- Updates and fixes to configury (autotools).
- Made the wav and raw file writer drivers configurable: the library
can be configured and compiled without any audio output drivers if
so required, except for drv_nos ('nosound') of course.
- Minor compilation fixes against ancient software versions.
- Backported pkg-config file and rpm spec file from HEAD branch.
Summary of changes between libmikmod 3.1.14 and libmikmod 3.1.15
==========================================================================
libmikmod 3.1.15 was released on 28-Nov-2013.
This is a minor bugfix / maintenance release.
- libmikmod.m4: fixed so that it works with C++ compilers.
- S3M loader: Enforce the 64000 bytes sample length limit, which has
been in effect since libmikmod-v3.1.10, only for tracker id 1, i.e.
only if setting the S3MIT_SCREAM flag during track conversion.
- ULT loader: Fix version array size (was 1 less then its initializer.)
- ESD driver: Fix signature for esd_playstream function pointer (const)
- ALSA driver: Remove unused function pointers.
Summary of changes between libmikmod 3.1.13 and libmikmod 3.1.14
==========================================================================
libmikmod 3.1.14 was released on 14-Oct-2013.
This is a minor bugfix / maintenance release.
- Fixed a small memory leak in samples freeing (thanks to S. Michel.)
- Fixed calling the previous position while at position 0 resulting
in an invalid read. (noticed while running mikmod under valgrind.)
- Fix return types for MREADER->Seek and MWRITER->Put to be int, and
not BOOL. (identical functionality but non-misleading.)
- Provided new Visual Studio 6 and Visual Studio 2005 project files.
The latter imports into newer Visual Studio versions, e.g. VS2012.
Summary of changes between libmikmod 3.1.12 and libmikmod 3.1.13
========================================================================
libmikmod-3.1.13 was released on 05-Oct-2013
This is a major bugfix / maintenance release.
BUGFIXES backported from the HEAD branch:
- 64 bit detection fixes.
- Fixes for CVE-2007-6720, CVE-2009-0179, CVE-2009-3995, CVE-2010-2546.
- Fix MikMod_strerror() might read beyond end of a static array.
- Fix looping volume in Player_SetVolume(), based on an old patch by
Yi-Huang Han.
- Fix "unclick" code to consider loop lengths shorter than 16: fixes
crashes seen with several xm files (sf.net bug #12, mpd bug #3425.)
- XM loader now reads songlength amount of orders from the file and
then seeks to mh->headersize+60 (sf.net bug #10.)
- A double driver registration fix.
- MikMod_InfoDriver and MikMod_InfoLoader list print fixes.
- Fix a possible crash on accessing the samples menu in mikmod.
- Fix wav file writer for big endian platforms.
- Fix wav file writer to output a correct rifflength in header.
CLEANUPS backported from the HEAD branch:
- Updated configury, proper support for cross-compilation, support for
building in a separate directory, support latest autotools.
- Fix BOOL type use all over the source.
- Multiple compiler warning fixes, other small cleanups.
PLATFORM SPECIFIC stuff backported from the HEAD branch:
- Linux: backport ALSA driver from HEAD branch to support contemporary
ALSA versions.
- Unix: ESD driver updates from Fedora, now require >= 0.2.18.
- Unix: minor OSS fixes.
- Windows: fixes/updates, win64 fully supported. MinGW[-w64] fully
supported along with MSVC and LCC. new standalone MinGW makefile with
cross-compilation support.
- Windows: dllexport/dllimport attributes work properly for MinGW[-w64],
as well as windows compilers. Static builds using MSVC, LCC, etc are
now named mikmod_static.lib. When compiling against static libmikmod,
MIKMOD_STATIC should be defined so that dllimport wouldn't be assumed.
- GCC elf and macho symbol visibility attributes now supported.
- Linux: the old Alsa-0.3.x/0.4.x driver is now retired. the source is
still in the drivers directory but not tested, nor will be maintained
any more.
- Linux: the old sam9407 and ultra drivers haven't been maintained for
quite some time and they now default to disabled in the configury.
the ultra driver had got an update in the 3.2.0 (libmikmod3) releases,
which won't be back merged to libmikmod2.
- Misc: the pipe and stdout drivers are now configurable.
Summary of changes between libmikmod 3.1.11-a and libmikmod 3.1.12
========================================================================
libmikmod-3.1.12 was released on 15/12/2007
This is bugfix release by denis111(keygenmusic).
BUGFIXES
- libmikmod no more hangs on loading XM modules with incorrect number of
instrumens.
- modules with more then 255 orders are now supported
Summary of changes between libmikmod 3.1.11 and libmikmod 3.1.11-a
========================================================================
libmikmod-3.1.11-a was released on 05/03/2004
Most of my work and attention goes on the 3.2.x series, but I still receive
occasional bug reports and patchs for the 3.1.11 version. There are not enough
changes to make a full release, but many people may find this patch useful.
BUGFIXES
- libmikmod playback now works correcly on amd64 (type size problem)
- fixed warning issued by automake >= 1.8
- config.sub and config.guess updated
Summary of changes between libmikmod 3.1.10 and libmikmod 3.1.11 (Thiers):
==========================================================================
libmikmod 3.1.11 was released on 01/21/2004.
This is a small maintenance release. I know there are not many changes,
but since it has been a very long time since the last one, and meanwhile
libmikmod changed maintainer, I think it is justified.
THANKS
- Ingo Saitz, the maintainer of the mikmod packages for debian, for
bugfixes.
- Frank Loemker, for the lcc-win32 stuff and fixes for the direct sound
driver.
BUGFIXES
- Playback problems in MODs of length >128. This fixes the file beatwave.mod. Thanks
to Emmanuel Coirier for pointing this out.
- Applied debian patches:
- Fix for broken volume fadeouts of IT instruments
- Fixed configure test for pthread
- devfs support for Linux OSS
- Makefile for lcc-win32. To compile libmikmod with lcc-win32 a rather new
version is needed. I currently use version 3.7 compiled on Jan 20 2002.
A version half a year old did not work. To compile
- check that you have the lcc bin directory in the PATH
(and no other compiler bin dirs),
- change to libmikmod-3.1.11/win32,
- check Makefile.lcc for any needed changes, and
- use make -f Makefile.lcc.
- Different fixes for the direct sound driver:
- Pausing did only work for half of the buffer.
- Restarting the player did not work as the output thread was removed
in DS_PlayStop().
- Removed busy waiting for end of thread.
- Sound output is started immediately on the first call to DS_Update()
to be consistent with other non threaded drivers.
- Different small clean ups.
- In MikMod_Reset() the raw output driver driver did not use the
filename set via the cmdline.
Summary of changes between libmikmod 3.1.9 and libmikmod 3.1.10 (Arlanc):
=========================================================================
libmikmod 3.1.10 was released on 01/24/2002.
This version is yet another bugfix release. I have more contributions coming,
especially a native MacOS X driver, that will not be present in 3.1.10 but
will be in 3.1.11.
THANKS
- Most of the bugs mentioned below have been squished by ``UFO'',
Holger Jakob, Thomas Neumann, Mark Page and Juan Linietsky.
BUGFIXES
- Systematic coredumps on library initialization and calls to
MikMod_InfoDriver have been eliminated. Sorry, and thanks to Shlomi
Fish for the best fix.
- The fix for spurious effect memory for portamentos in MOD files shouldn't
have been applied to the ``porta to note'' (effect 3) effect. Fixed in this
release. In the process, the aforementioned fix was perfected, as it
broke a few modules by accident.
- IT Panbrello effect with random wave did not work.
- IT Tempo slide (T0x, T1x) was not updated accurately, and the effect memory
was not implemented. The only tempo slide command which worked accurately
was T10, which is a no-op (-:
- IT effect SC0 (cut note with no delay) is now correctly interpreted as SC1.
- XM effect 6 (porta + volume slide) didn't have memory.
- ProTracker effect F (change speed or bpm) should now be correctly handled
when its value is 32, depending on the module type (some formats will use
it as a speed value, others as a bpm value).
- XM playback stopped when reaching pattern 255 in the order list.
- Corrupted envelopes in XM instruments are detected and some repair is
attempted.
- Some valid AMF, IMF and IT modules refused to load.
- Fine volume slide effects in volume column of IT modules, when using the
effect memory (i.e. A0 and B0) were misinterpreted as AF and BF, thus
causing unwanted large slides.
- Portamento to note effect in volume column of IT modules was not rendered
correctly.
- S3M files marked as created by ScreamTracker will honour the limit of 64000
bytes (not 64KB!) for sample length and sample offset effect position.
- Loops in instrument envelopes were processed one tick too fast.
- In-song message in FAR modules were not displayed correctly.
- ProTracker effect E9 (Retrig) was not played correctly.
NEW FEATURES
- Modules which are not panning-aware (not using any panning effects and
with the tracker's default panning) use a recentered panning, so as to
sound better with headphones. Suggested by Urpo Lankinen.
- Retrigger and panning effects are now recognized in FAR modules.
- All arpeggio effects are now played in OKT modules.
- FLT8 modules (8 channel StarTrekker) are now recognized and played.
PLATFORM SPECIFIC
- The Windows DirectSound driver has been improved and will use less
resources during playback.
- The native audio driver for NetBSD and OpenBSD should work better with
recent versions of these systems, as well as with old sound cards such
as the SoundBlaster Pro.
- Mac OS X is supported, although no native sound driver is available for
it yet, thanks to Juha Kaunisto.
- Dynamically loading drivers is now supported on HP-PA systems running
under HP-UX, as well on systems using the a.out binary file format.
Summary of changes between libmikmod 3.1.8 and libmikmod 3.1.9 (Vorey):
=======================================================================
libmikmod 3.1.9 was released on 02/14/2000.
This version is a bugfix release, and was primarily considered as a public
patch for 3.1.8 (namely, version 3.1.8-a). However, due to the very important
bug fix in XM playback, among other things, it's worth being 3.1.9...
THANKS
- Many thanks to ``UFO'', Thomas Neumann, James Kehl and Vito Caputo for their
help, code and feedback.
- Special thanks to Gerd Rausch, for writing both the Linux sam9407 driver and
the associated Mikmod driver. Nice work !
- Thanks to Bastien Nocera for letting me do some tests under Linux/PPC.
BUGFIXES
- Envelopes weren't loaded correctly for IMF and XM modules. In the average
case, the first envelope point was correct, the remaining half points were
bogus, and the other half completely random. This fix is definitely worth
the upgrade.
- In MOD files, effect 0xc (set channel volume) with effect parameter 0xff was
misplayed as a note cut.
- In MOD files too, effects 0x1, 0x2 and 0x3 (portamentos) with effect
parameter 0x00 were using the command memory, but these commands do not have
effect memory for MOD files.
- The Wuzamod check for STM modules wasn't present in 3.1.8, despite what the
release notes said )-:
- Enabling the envelope (with an effect) for a sample with no associated
envelope would cause immediate coredumps. Now fixed.
- Panning was ignored in GDM modules.
- Sample rate was incorrect for STM and STX modules.
- Arpeggio memory (for IT modules) was ignored.
- Tempo slide for IT modules was not processed correctly.
- Toggling surround sound didn't have effect until the driver was reset.
NEW FEATURES
- New loader for Amiga Oktalyzer (.OKT) modules.
- UNI loader recognizes recent APlayer modules (.APUN format level 0x104).
- Due to popular request, the function Player_LoadTitleFP() has been added to
the library.
- Under Unix systems, make targets "check" and "uninstall" have been added.
However, due to a bug in automake, "make uninstall" will only work correctly
with the next release of automake (or the current CVS tree).
- New output driver for sam9407-based soundcards under Linux, featuring
hardware playback.
PLATFORM SPECIFIC
- Support for the latest Linux Ultra driver development versions (2.99) has
been added. Also, a few bugs in this driver have been fixed.
- The DirectSound driver (win32) shipped with the previous release didn't
compile. It should now - at least things are better !
- The OSS driver from 3.1.8 didn't work very well with some versions of the
Linux kernel, as well as under Linux/PPC. The problems should be gone now.
Also, the OSS driver now handles multi-soundcard configurations.
Summary of changes between libmikmod 3.1.7 and libmikmod 3.1.8 (Tence):
=======================================================================
libmikmod 3.1.8 was released on 10/25/1999.
THANKS
- Many thanks (in no particular order) to Frank Loemker, Bjornar Henden, Joshua
Shagam, Vito Caputo, Thomas Neumann, Zach Metzinger, and Kevin Langman for
their help, code and feedback.
- Special thanks to Andrew Zabolotny for his huge work on the OS/2 drivers.
The rest of your code is not lost, it will go into 3.2...
BUGFIXES (more details can be found in file ``PROBLEMS'')
- IT global volume slide effect was played too fast.
- IT effect S6x (pattern delay for x ticks) was misunderstood as SEx (pattern
delay for x rows).
- Finetune effect was not handled correctly for some XM modules.
- Software mixer incorrectly produced extra clicks in interpolated mode (fix by
Frank Loemker).
- Under Unix systems, the piped output driver (drv_pipe), as well as the output
to file drivers (drv_raw, drv_wav) had security issues if the libmikmod
application is setuid root.
- Trying to read data from a file, with the data not located at offset 0,
didn't work correctly since 3.1.5.
- Almost any text file beginning with "if" was considered as a valid module by
Player_LoadTitle(), yet hopefully rejected when trying to load it.
- AMF effect 4 and variants lacked memory.
- IT modules featuring patterns with less than 32 rows could not be loaded.
- Some samples and effects in APlayer converted modules (.apun) were not played
correctly.
- Linefeeds in the song message in IT modules weren't loaded correctly.
NEW FEATURES
- IMF effect XE (ignore envelope) implemented.
- Support for uLaw output with the OSS driver, for Linux/sparc.
- Started to modularize semaphore usage when possible. The Player_LoadTitle()
function can be used while a module is playing without causing a short pause
in playback.
- STM modules with the Wuzamod signature can now be loaded.
- More ``slightly corrupted'' XM modules can be loaded.
PLATFORM SPECIFIC
- libmikmod 3.1.7 didn't compile out of the box under IRIX (sorry !)
- The EsounD driver didn't compile under Solaris
- Solaris driver forced playback to either headphone or speaker, instead of
using the current output setting as default. This is now fixed.
- Under SunOS 4, libmikmod should compile with the non-ansi C compiler bundled
by default.
- The ALSA driver now works with ALSA 0.4.
- The OSS driver should now work with Linux/ppc.
- Under OS/2, the MMPM/2 and DART driver have been almost rewritten by Andrew
Zabolotny and work much better. And they are now somewhat configurable, too.
- libmikmod 3.1.8 should work as a DLL under win32 environments. And the
non-directX driver is now registered in MikMod_RegisterAllDrivers().
Summary of changes between libmikmod 3.1.6 and libmikmod 3.1.7 (Sauxillanges):
==============================================================================
libmikmod 3.1.7 was released on 06/28/1999.
THANKS
- Anders Bjoerklund did a terrific job of creating a Macintosh driver !
I'm proud to add the MacOS to the list of supported systems.
- Bjornar Henden provided a non-directX driver for Windows NT users. This
makes libmikmod more portable than ever. Thanks a lot !
- Simon Hosie contributed speed optimizations and bug fixes to the software
mixer. Thanks for your work !
- Timo Taipalus pointed out several severe problems and helped me to get rid
of them. Thanks for your efforts !
BUGFIXES (more details can be found in file ``PROBLEMS'')
- Very long samples were truncated when played with the normal software
mixer.
- Invalid notes using non-existent instruments caused the current note to
be retrigged instead of being ignored.
- Porta to note effects did not restart the sample envelopes.
- Note cut with non empty volume column on the same row resulted in the note
cut being ignored.
- Disabling/enabling envelopes had no effect.
- 15 instrument modules embedding a ``Music Channel BBS'' ad were rejected.
- Huge (>64Kb) sample offsets were ignored with the hiqh quality mixer.
- Delay note effect was incorrectly converted to pattern jump, and porta to
note was incorrectly converted to tremor, for GDM modules.
- Dual effect Lxx in S3M and IT was misconverted to L00 (this bug was
introduced in 3.1.5-beta2, thanks to Timo Taipalus for noticing it)
- Pitch envelope was not played accurately (IT).
- XM modules in format 1.03 couldn't be loaded.
- XM modules with the tracker name empty made the library coredump on some
platforms.
- Set finetune effect (E5x) wasn't handled correctly for XM modules.
- Fine slides (X1x,X2x) didn't play correctly for XM modules (thanks to Frank
Loemker for reporting it).
- If the MikMod_InitThreads() function was called more than once, the library
did not behave correctly.
- Sample loops were not computed correctly for Oktalyzer modules.
NEW FEATURES
- Modules can be played with a speed shift (suggested by Roope Anttinnen).
- MikMod_Init() and MikMod_Reset() have been extended to pass specific
parameters to the drivers. This makes libmikmod 3.1.7 incompatible with the
previous versions, but updated libmikmod-based players will be released soon.
The shared library version has increased (now 2.0). This number scheme is
going to be as crazy as ncurses' one...
PLATFORM SPECIFIC
- It was not possible to create a multithreaded library on FreeBSD (fix by
Roope Anttinnen).
- HP-UX driver used to reset mixer settings at initialization.
- Added MacOS support, thanks to Anders Bjoerklund.
- Solaris driver now works on Solaris/Intel edition.
Summary of changes between libmikmod 3.1.5 and libmikmod 3.1.6 (Romegier):
==========================================================================
libmikmod 3.1.6 was released on 03/24/1999.
BUGFIXES
- When the library was built thread-safe, calls to Player_SetPosition
resulted in a deadlock.
- The OSS driver was too strict and didn't allow OSS to select a different
playback frequency.
- A volume bug has been removed from the module player (thanks to Thomas
Neumann for the report).
NEW FEATURES
- Volume ramping has been ported from the high quality mixer to the regular
mixer, and is enabled when interpolated mixing is requested. You should hear
less clicks in interpolated mode from now ! (Suggested by Bjornar Henden)
- The UNI loader recognizes APlayer format 1.3 modules.
PLATFORM SPECIFIC
- The NetBSD and OpenBSD driver should work with recent NetBSD and OpenBSD
versions.
- Some Windows code has been merged. Feedback will be appreciated. Note that,
as I don't have a windows development system (and no plan to have one in the
near future), I can't test or debug the Windows part myself.
Summary of changes between libmikmod 3.1.2 and libmikmod 3.1.5 (Pradelles):
===========================================================================
libmikmod 3.1.5 was released on 03/01/1999.
THANKS
- Many thanks to Lutz Roeder and Uwe Thoma, who send me the description of
the Imago Orpheus file format (IMF), as well as some of Imago's code, which
made the creation of the IMF loader a pure C exercise (-:
- Many thanks to Claudio Matsuoka, Tobias Gloth, C. Ray C. and Ben Collver for
their contributions and bug reports.
- Also big thanks to Jan Havelka for his help in tracking and fixing bugs.
- I almost forgot to thank Cedric Hebert for pointing out the gcc 2.x
optimization options bug !
- And as a last-minute add-on, Kev Vance submitted a GDM loader.
BUGFIXES
- The OSS driver used much more memory than necessary without reason.
- Samples longer than 1 Mb were not played correctly. However, the fix now
requires that your C compiler provides a 64 bit integer type. As a result,
libmikmod will not compile anymore on AIX with old versions of xlC.
- Samples with ping pong loops could make the library segfault on some rare
conditions. This bug was also present in MikIT and in the module plugin
of winamp, which are also based on old MikMod 3 sources...
- The sample loaders will now load samples with extra information blocks in
them, and has been made more robust.
- More checks to detect empty song messages.
- The song message loading routine was bugged and could make the library
coredump.
- AMF modules in formats 1.0, 1.2 and 1.3 couldn't be loaded.
- MED loader now loads instrument names and song message if they exist.
- More check have been added to the 15 instrument MOD loader to prevent it
from hanging on non-mod files ; let me know if you still experience
problems with it.
- STM loader rejected STM created by MOD2STM ; the last pattern was never
played ; also, in some STM modules the samples were not loaded correctly.
- XM modules in format 1.02 couldn't be loaded.
- Envelope sustain loops in XM modules were not processed correctly.
- Porta to note using the command memory used sometimes an incorrect value
when playing AMF, IT, S3M and ULT modules.
- Volume slides for IT (Dxx) and XM (Axx) modules didn't continue in the
background.
- Porta down effect in the volume column of IT modules was not played
correctly.
- Problems occuring when compiling libmikmod when an older version of libmikmod
is installed are now fixed.
DOCUMENTATION FIXES
- The documentation incorrectly referred to PAN_MIDDLE instead of PAN_CENTER.
NEW FEATURES
- On platforms that support POSIX.4 threads, the library is now thread-safe.
- Depending on your system's capabilities, ALSA and EsounD driver can now
be dynamically loaded when a libmikmod application is run, so if you built
your binary with the shared ALSA or EsounD libraries (which is the default),
it will run on other systems lacking those libraries.
- New loaders for GDM (General Digital Music), IMF (Imago Orpheus) and STX
(STMIK 0.2) modules.
- UNI loader is back, for those who need to play the ``Acid Tetris'' songs.
- S3M loader correctly identifies S3M modules created by Impulse Tracker
an Imago Orpheus.
- IT effect T (slide tempo) is now implemented.
- The driver for the Linux Ultrasound project (the ancestor of ALSA) is back,
too.
- The selection of the standard or high-quality software mixer is now made at
runtime.
- New interfaces Voice_Get{Frequency,Panning,Volume} and
Player_GetChannelPeriod (this one is for x11amp's MikMod plugin).
- Due to the addition of the new driver and loaders, library version has
increased.
PLATFORM SPECIFIC
- Compiling with gcc 2.x under Linux on x86 platforms performed aggressive
optimizations which had nasty interferences with the channel volumes on
some modules. Hopefully this is now fixed, so gcc users will get the same
sound quality as egcs users.
I apologize to everyone told me of this volume problem for the time it took
me to figure out where it came from.
Previous versions of libmikmod were bundled with the MikMod player ; refer to
its ``NEWS'' file for older changes information.