aboutsummaryrefslogtreecommitdiff
path: root/Readme.txt
diff options
context:
space:
mode:
Diffstat (limited to 'Readme.txt')
-rw-r--r--Readme.txt73
1 files changed, 55 insertions, 18 deletions
diff --git a/Readme.txt b/Readme.txt
index 06b9135..585e407 100644
--- a/Readme.txt
+++ b/Readme.txt
@@ -3,7 +3,7 @@
==================================================================================
Original ADLMIDI code: Copyright (c) 2010-2014 Joel Yliluoma <bisqwit@iki.fi>
-ADLMIDI Library API: Copyright (c) 2015-2016 Vitaly Novichkov <admin@wohlnet.ru>
+ADLMIDI Library API: Copyright (c) 2015-2017 Vitaly Novichkov <admin@wohlnet.ru>
Library is based on the ADLMIDI, a MIDI player for Linux and Windows with OPL3 emulation:
=========================================
@@ -14,7 +14,9 @@ http://iki.fi/bisqwit/source/adlmidi.html
Differences with original tool
=========================================
* Reverb code has been removed.
-* Doesn't contains platform specific code. Library can be used with various purposes include making of a custom music decoders for a media players and usage with a games
+* Doesn't contains platform specific code.
+ Library can be used with various purposes include making of a custom music decoders
+ for a media players and usage with a games
=========================================
Key features
@@ -43,16 +45,30 @@ You also can build library manually:
You need to make in the any IDE a library project and put into it next files
(or include those files into subfolder of your exist project instead if you want to use it statically):
-adlmidi.h - Library API, use it to communicate with library
-
-dbopl.h - DOSBOX OPL Emulation header
-fraction.h - Fraction number handling
-adldata.hh - bank structures definition
-
-dbopl.cpp - DOSBOX OPL Emulation code
-adlmidi.cpp - code of library
-adldata.cpp - Automatically generated dump of FM banks from "fm_banks" directory
- via "gen_adldata" tool
+* adlmidi.h - Library API, use it to control library
+
+* dbopl.h - DOSBOX OPL Emulation header
+* nukedopl3.h - Nuked OPL3 Emulation header
+* fraction.h - Fraction number handling
+* adldata.hh - bank structures definition
+* adlmidi_private.hpp - header of internal private APIs
+* adlmidi_mus2mid.h - MUS2MID converter header
+* adlmidi_xmi2mid.h - XMI2MID converter header
+
+* dbopl.cpp - DOSBOX OPL Emulation code (used when ADLMIDI_USE_DOSBOX_OPL macro is defined)
+* nukedopl3.c - Nuked OPL3 Emulation code (used by default)
+* adlmidi.cpp - code of library
+* adldata.cpp - Automatically generated dump of FM banks from "fm_banks" directory via "gen_adldata" tool
+* adlmidi_load.cpp - Source of file loading and parsing processing
+* adlmidi_midiplay.cpp - MIDI event sequencer
+* adlmidi_opl3.cpp - OPL3 chips manager
+* adlmidi_private.cpp - some internal functions sources
+* adlmidi_mus2mid.c - MUS2MID converter source
+* adlmidi_xmi2mid.c - XMI2MID converter source
+
+**Important**: Please use DosBox emulator on mobile devices because it requires small CPU power.
+ Nuked OPL synthesizer is very accurate (compared to real OPL3 chip), but it requires much more power
+ device and is high probability your device will lag and playback will be choppy.
=========================================
Example
@@ -72,12 +88,33 @@ To build that example you will need to have installed SDL2 library.
to play any MIDI via this library.
=========================================
-Changelog
+Changelog
=========================================
-1.0.0 2015-10-10
+## 1.2.0 2017-02-15
+ * Fixed 12'th bank where are drums and melodic sets are was swapped
+ * Fxied logariphmic volumes flag which autoreseted to false on playing begin moment
+ * Added TRUE support for MUS and XMI formats (added the conversion functions to make right MIDI data to play it)
+
+## 1.1.1 2016-12-09
+ * Added a changable volume ranges models (Automatic for some banks, Generic, CMF, DMX, Apogee and 9X)
+
+## 1.1.0 2016-12-06
+ * Added Nuked OPL3 emulator which is more accurate (but requires more CPU power, therefore kept ability to use DosBox OPL3 via macro)
+ * Fixed warnings of CLang code model plugin
+ * Fixed bend coefficient which makes hi-hats in DOOM banks be incorrectly
+
+## 1.0.3 2016-08-06
+ * Added handling of 111'th controller as "loopStart" (which used by RPG-Maker)
+ * Fixed infinite loop caused by blank MIDI-files (add extra second of waiting if over 10000 0-waiting loops are been detected)
+ * Fixed damaged playing of IMF files (cased by wrong implementation of getc() function where return type must be int, not unsigned char)
+
+## 1.0.2 2016-03-16
+ * Fixed infinite loop causes swapped loopEnd and loopStart (when loopEnd goes before loopStart)
+ * Fixed sielent volume tracks (when initial voule is zero, tracks wouldn't be playd even after applying fading in volume events)
+ * More accurate fine tuning for second voice for DMX-based banks (playback now is more like original DOOM than before!)
+ * Library's Output data now in short format (no more need to do extra conversions to make 16-bit audio stream from every 16-bit
+ sample stored into each 32-bit integer)
+
+## 1.0.0 2015-10-10
* First release of library
-1.0.1 2015-01-15
- * Fixed freezing on invalid loop points (for cases when loopEnd going before loopStart or both points are at same position)
- * Enabled volume updating while note is playing
-