aboutsummaryrefslogtreecommitdiff
path: root/src/adlmidi_load.cpp
AgeCommit message (Collapse)Author
2017-11-24Small bank reading error message fixWohlstand
2017-11-21Small fix of IMF length parsingWohlstand
2017-11-20Use const char* and const void* as input data typesWohlstand
2017-11-19Upgrated support for WOPL bank format to v3Wohlstand
2017-11-17Tiny beautifying, againWohlstand
2017-11-16Clean-up and beautifyingWohlstand
2017-11-14Tiny clean upWohlstand
2017-11-12libADLMIDI now is buildable under OpenWatcom except of some workaroundsWohlstand
- Need a different way to create a static library, otherwise it don't wanna be built. - Needed a different custom STL containers (std::vector and std::set) implementation that will work and will don't glitch with a crashes
2017-11-10Incomplete attempt to provide support for OpenWattcom compilerWohlstand
Yeah, I see it lacks A LOT OF things: std::vector lacks .data() member, std::map lacks .count() member, there is no any std::stringstream implementations, etc. SOLUTION: Try to use STLPort to provide missing STL support for this compiler
2017-11-08Fixed zero four-operators bug when using a bigger non-GM bankWohlstand
2017-11-07Fix a bug which overrides loopStart with seek destination positionWohlstand
2017-11-07Custom WOPL now supports multiple banksWohlstand
Feel free to create something like GS or XG bank :wink:
2017-11-07New API, classic ADLMIDI, and CMakeWohlstand
- Attempt to support hardware OPL and add build of classic ADLMIDI into CMake - Added new API functions - Added C++ Extras are needed for classic ADLMIDI player - Error string is no more static. Static variant is kept for initialization errors only.
2017-11-05Use WOPL's bank flags to set deep tremolo and deep vibratoWohlstand
2017-11-05Tri-state for deep-tremolo/vibrato/sm/adlib-percussion modesWohlstand
By default every flag will have "auto" type which means mode will be set in dependence on a bank.
2017-11-05Don't apply a too-short percussion note fix on IMF/CMF and RSXX musics.Wohlstand
2017-11-04Added default states for deep tremolo/vibrato and volume moduelsWohlstand
TODO: Implement support for tri-states per deep-tremolo, deep-vibrato flags
2017-11-04Added support for playing of Electronic Arts's MUS filesWohlstand
2017-10-31Small optimize of the IMF validatorWohlstand
2017-10-26Continue works on loop points and some clean-upWohlstand
- Added more detailed error information while parsing MIDI file - Added abiltiy to retrieve loop points time positions - Added ability to change playing tempo by giving multiplier - Removed old commented code TODO: - implement meta-information store and a way to retreive it - implement hook-ability for every MIDI event - implement ability to mute/solo every channel
2017-10-25Parse & validate loop events in load time than in playing timeWohlstand
Loop events are converting into in-library own types are compact, easier and faster to process without having to re-parse markers or have any extra code in standard event handlers
2017-10-25Clean-upWohlstand
- Move all private variables into MIDIplay class away from public ADL_MIDIPlayer structure - Comment out most of legacy code - Implement new-style ReadVarLenEx for error-checked var-len value reading process TODO: Stabilize this and implement missing fields and API calls (meta-data retreiving)
2017-10-24Fixed IMF playing!Wohlstand
2017-10-23Prepare to implement seekability - pre-parse all MIDI events before playWohlstand
All parsed events will be stored into special time marked containers and will be sorted by type to avoid possible issues caused by incorrect order of meta or note-on/off events, etc. Time markers are needed to easier detect seconds position to seek. TODO: Fix IMF playback
2017-10-21Fixed MSVC2015 buildWohlstand
2017-10-20Fixed CMake buildWohlstand
2017-10-18Smooth finalizing, rewinding, and a bit more crash safetyWohlstand
* Smooth finalizing of song when loop is disabled (old ugly hack has been removed :wink:) * Added an ability to reset song position to begin (very helpful when song reaches the end) * Avoided possible crashes on attempt to fetch sample data without opening of MIDI file
2017-10-17EXPERIMENTAL: Support for custom banks!Wohlstand
TODO: Fix support for real 4-operator support for dynamical instruments which now are silent. 2-op and pseudo-4-op still work fine.
2017-10-08Add support for WOPL banks formatWohlstand
2017-02-28Fixed wrong very long inter-note delays on 32-bit platformsWohlstand
2017-02-16Remove usage of std::shared_ptrWohlstand
because it is not supported on Android NDK, yet (even C++11 usagae is enabled!)
2017-02-15Fixed logarithmic volumes flag and added support for XMI and MUS formatsWohlstand
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.
2017-01-16Split adlmidi.cpp now keeps API functions onlyWohlstand
other code has been moved into separated files