From abee80062051164aa4931527a54c07046dbc1394 Mon Sep 17 00:00:00 2001 From: Wohlstand Date: Tue, 6 Dec 2016 20:13:02 +0300 Subject: Added Nuked OPL3 emulator (which is more accurate than DosBox's) Also: - Fixed warnings in the CLang code model plugin for Qt Creator - Fixed bend coefficient which caused incorrect hi-hats in DMX banks --- README.md | 5 +++++ 1 file changed, 5 insertions(+) (limited to 'README.md') diff --git a/README.md b/README.md index 4230d43..baab264 100644 --- a/README.md +++ b/README.md @@ -72,6 +72,11 @@ To build that example you will need to have installed SDL2 library. to play any MIDI via this library. # Changelog +## 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) -- cgit v1.2.3 From fd24385f027c06e16ea2edda6a74ab424bb0290e Mon Sep 17 00:00:00 2001 From: Wohlstand Date: Wed, 7 Dec 2016 11:32:47 +0300 Subject: Ouch (fixed inverted loop flag, reported in issue #3) --- README.md | 14 ++++++++------ 1 file changed, 8 insertions(+), 6 deletions(-) (limited to 'README.md') diff --git a/README.md b/README.md index baab264..e71b870 100644 --- a/README.md +++ b/README.md @@ -43,12 +43,14 @@ You need to make in the any IDE a library project and put into it next files * 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 +* dbopl.h - DOSBOX OPL Emulation header +* nukedopl3.h - Nuked OPL3 Emulation header +* fraction.h - Fraction number handling +* adldata.hh - bank structures definition + +* dbopl.cpp - DOSBOX OPL Emulation code +* nukedopl3.c - Nuked OPL3 Emulation code +* adlmidi.cpp - code of library * adldata.cpp - Automatically generated dump of FM banks from "fm_banks" directory via "gen_adldata" tool -- cgit v1.2.3 From 28a253742adfb1ac6199b0f068701f071db6299b Mon Sep 17 00:00:00 2001 From: Wohlstand Date: Fri, 9 Dec 2016 19:15:39 +0300 Subject: Added a changalbe volume ranges model (to allow banks play sound be more native like to their original implementations) --- README.md | 3 +++ 1 file changed, 3 insertions(+) (limited to 'README.md') diff --git a/README.md b/README.md index e71b870..6e258a7 100644 --- a/README.md +++ b/README.md @@ -74,6 +74,9 @@ To build that example you will need to have installed SDL2 library. to play any MIDI via this library. # Changelog +## 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 -- cgit v1.2.3 From 9cd892706bf782c8a0e47731bd71e629d505c5cf Mon Sep 17 00:00:00 2001 From: Wohlstand Date: Wed, 15 Feb 2017 16:19:08 +0300 Subject: Fixed logarithmic volumes flag and added support for XMI and MUS formats MUS playing was totally invalid: the MUS data are completely different from regular MIDI data. Now is added a right converter which results a MIDI data which can be played correctly. --- README.md | 5 +++++ 1 file changed, 5 insertions(+) (limited to 'README.md') diff --git a/README.md b/README.md index 6e258a7..9562497 100644 --- a/README.md +++ b/README.md @@ -74,6 +74,11 @@ To build that example you will need to have installed SDL2 library. to play any MIDI via this library. # Changelog +## 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) -- cgit v1.2.3 From 04825f095d3c00d1e97924c38654a2c888e7ef9d Mon Sep 17 00:00:00 2001 From: Wohlstand Date: Thu, 16 Feb 2017 19:38:39 +0300 Subject: Update of the readme [ci skip] --- README.md | 19 +++++++++++++++---- 1 file changed, 15 insertions(+), 4 deletions(-) (limited to 'README.md') diff --git a/README.md b/README.md index 9562497..e5a5d1f 100644 --- a/README.md +++ b/README.md @@ -3,7 +3,7 @@ libADLMIDI is a free MIDI to WAV conversion library with OPL3 emulation Original ADLMIDI code: Copyright (c) 2010-2014 Joel Yliluoma -ADLMIDI Library API: Copyright (c) 2015-2016 Vitaly Novichkov +ADLMIDI Library API: Copyright (c) 2015-2017 Vitaly Novichkov Library is based on the ADLMIDI, a MIDI player for Linux and Windows with OPL3 emulation: @@ -41,18 +41,29 @@ 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 +* 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 -* nukedopl3.c - Nuked OPL3 Emulation code +* 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 In the src/midiplay you will found alone CPP file which an example of library usage. -- cgit v1.2.3