aboutsummaryrefslogtreecommitdiff
path: root/src/adlmidi_load.cpp
AgeCommit message (Collapse)Author
2018-06-03BugfixesWohlstand
- Fixed all MSVC 2015/2017 warnings in both 32 and 64 bit builds - Fixed weird behavior when using adl_setHVibrato, adl_setHTremolo, adl_setScaleModulators, and adl_setVolumeRangeModel when passing the -1 "Auto" state - Move arpeggio counter into the MIDIPlay class as originally it was a global static variable which is ugly and danger when running multiple instances of the same library
2018-06-03fix build under dynamic bank map and embedded banks disabledJP Cimalando
2018-06-02dynamic instrument APIJP Cimalando
2018-06-01bank storage inside dynamic mapJP Cimalando
2018-06-01Fix the build on OpenWatcomVitaly Novichkov
[the full-working compiling still not working yet due bug on OW side]
2018-05-31Small polishing of volume model and CMF/RSXX tempoVitaly Novichkov
- Removed "Logarithmic volumes" flag as volume models concept successfuly serves this task. "Logarithmic volumes" flag is useless when we have volume models. - Fixed "too fast" tempo while playing CMF and EA-MUS (aka RSXX) files
2018-05-20TRUE fix of the default MIDI tempoVitaly Novichkov
#91
2018-05-20Polishing default tempo for MIDI files are lacks the tempo eventVitaly Novichkov
#91
2018-05-19Works and fixesVitaly Novichkov
- Fixed an incorrect calculation of 4-op channels and choosing 4-op channels for 2-op only banks - Resolved trouble with automatically chosen flags because of internal confusion
2018-05-16fix the operators loop in WOPL converterJP Cimalando
2018-05-16storing adldata and adlinsdata in unified structuresJP Cimalando
2018-05-06Fixed inability to load another custom bank!Vitaly Novichkov
Damn, this is so silly: Data of new bank data was added to tail of old data as I forgot to clean up that crap before to fill with a new data, damn! (#83)
2018-04-20Use the same WOPL_File parser from OPL3 Bank Editor in libADLMIDIVitaly Novichkov
TODO: port this into Gen-ADLDATA too! No more need to update same file parser twice. Just, copy-paste the same WOPL parser between of OPL3 Bank Editor and libADLMIDI.
2018-04-20Put some another functions into "ADLMIDI_DISABLE_MIDI_SEQUENCER" zoneVitaly Novichkov
Those functions are dead out of disabled MIDI Sequencer code, so, there are must NOT appear in the library when MIDI Sequencer is disabled.
2018-04-10[Experimental] Added support for emulation core switching in real time!Vitaly Novichkov
Due to clunky playback on updated Nuked OPL3 emulator v 1.8, I kept the Nuked OPL3 1.7.4 work in parallel and be a separated switchable emulator.
2018-03-31Small warning fixVitaly Novichkov
2018-03-27Fixed blank instruments fallback in multi-bank supportVitaly Novichkov
2018-03-24Added ability to disable MUS and XMI converters and MIDI SequencerVitaly Novichkov
2018-01-21Copyright year update 2018Vitaly Novichkov
2017-12-18Fixed missing applySetup() calls on bank changesWohlstand
Without calling of that function changed bank will have incorrect setup.
2017-12-16Added realtime API, Experimental, not testedVitaly Novichkov
- Added Real-time public API, needed a test! (try to implement dummy VLC plugin with it) - Added abillity to change deep flags without song restart or a chip reset
2017-11-24Merge branch 'master' into get-rid-of-backup-bufferWohlstand
2017-11-24Small bank reading error message fixWohlstand
2017-11-23Get rid of backup samples bufferWohlstand
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