| Age | Commit message (Collapse) | Author | 
|---|
|  |  | 
|  | because it is not supported on Android NDK, yet (even C++11 usagae is enabled!) | 
|  | The field B_transpose on drums means note number, and is no need extra calculations
Here is a right specification for AIL's bank format, gotten from AIL 2 sources which are been published by Miles
```
//GTL - "Global Timbre Bank"
struct GTL Head                  // GTL file header entry structure
{
    uint8_t  patch;
    uint8_t  bank;
    uint32_t offset;
}
//- Length is 6 bytes
//Look for timbre until .patch will equal to 0xFF, then look for each instrument
Note:
    DW - Define Word - uint16_t
    DB - Define Byte - uint8_t
BNK             STRUC           ;.BNK-style timbre definition
B_length        dw ?            ; lenght of timbre entry
B_transpose     db ?
B_mod_AVEKM     db ?            ;op_0 = FM modulator
B_mod_KSLTL     db ?
B_mod_AD        db ?
B_mod_SR        db ?
B_mod_WS        db ?
B_fb_c          db ?
B_car_AVEKM     db ?            ;op_1 = FM carrier
B_car_KSLTL     db ?
B_car_AD        db ?
B_car_SR        db ?
B_car_WS        db ?
                ENDS
OPL3BNK         STRUC           ;.BNK-style OPL3 timbre definition
                BNK <>
O_mod_AVEKM     db ?            ;op_2
O_mod_KSLTL     db ?
O_mod_AD        db ?
O_mod_SR        db ?
O_mod_WS        db ?
O_fb_c          db ?
O_car_AVEKM     db ?            ;op_3
O_car_KSLTL     db ?
O_car_AD        db ?
O_car_SR        db ?
O_car_WS        db ?
                ENDS
``` | 
|  | (when bass drums are taking too high tone) | 
|  | 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. | 
|  |  | 
|  | Now this bank is finally works fine! | 
|  | Using BNKs directly results a wrong pitch for the drums and set is incompatible with General Midi, so, some drums has been swapped and copy-pasted | 
|  | other code has been moved into separated files | 
|  | (to allow banks play sound be more native like to their original implementations) | 
|  |  | 
|  | (including this header into Qt application will cause error, because "slots" in Qt just an dummy macro) | 
|  | Fixed wrong generated sound in some cases.
DBOPL has own constructors to initialize it's fields. memset no need here | 
|  | (this member is already initialized in constructor!) | 
|  |  | 
|  |  | 
|  | - (to prevent a weird crash caused by track with no events inside)
Also attempt to fix issue #4 | 
|  | (because after std::vector's resize, contents is uninitialized, Valgrind has been confirmed that) | 
|  |  | 
|  | Small experiment with macros and inlines at first.
I think, is a time to review DosBox's code for optimization tricks to apply on the Nuked | 
|  |  | 
|  | Also:
 - Fixed warnings in the CLang code model plugin for Qt Creator
 - Fixed bend coefficient which caused incorrect hi-hats in DMX banks | 
|  |  | 
|  |  | 
|  | - Added support of playing CMF files | 
|  |  | 
|  |  | 
|  |  | 
|  |  | 
|  | # Conflicts:
#	src/adldata.cpp | 
|  |  | 
|  |  | 
|  | (my previous implementation of fget() initator sucks, it must return unsigned char inside signed integer container to be able return "-1" on eof) | 
|  |  | 
|  | (old IBK with modded bank has been replaced with better OP3 file) | 
|  |  | 
|  |  | 
|  |  | 
|  |  | 
|  |  | 
|  | - Fixed freezing on invalid loop points (instead, ignore them!)
- Optimized output generating
- Instead of 16-bit samples stored into array of 32-bit integers, return true PCM-16bit for convenience and with no confusion! | 
|  | Not only via callback funtion pointer | 
|  |  | 
|  | - small work over updated drum bank
- set usage of Duke Nukem 3D's drum bank to O'Connel's (66) and to Ultimate Soccer Manager's (48) banks | 
|  |  | 
|  |  | 
|  |  | 
|  |  | 
|  | with "NO_OLDNAMES" included <sstream> causes "::iswblank not declared" error | 
|  |  |