aboutsummaryrefslogtreecommitdiff
path: root/src/adlmidi_load.cpp
AgeCommit message (Collapse)Author
2018-06-21Small clean-up in a custom bank loading functionVitaly Novichkov
2018-06-21Fixed C++98 bulidVitaly Novichkov
lround is C99 and C++11, not C++98!
2018-06-21Move MIDI sequencer into completely separated classVitaly Novichkov
TODO: - implement C bindings for most of class functions - test it in work on any different synthesizer
2018-06-20Move file reader into the separated header fileVitaly Novichkov
2018-06-19get chip base on level with OPNMIDIJP Cimalando
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)