aboutsummaryrefslogtreecommitdiff
path: root/src
AgeCommit message (Collapse)Author
2017-11-14Tiny clean upWohlstand
2017-11-14Tiny fix at XMI2MID converterWohlstand
2017-11-13Continue attempt to make library and demo player runnable under OpenWatcomWohlstand
Because of broken STL containers, are very hard crashes in random places are can't be fixed with a full customizing of those containers.
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-10Small fix of warnings on DJGPPWohlstand
2017-11-10Ability to quit from Classic ADLMIDI under DOS by ESC key hitWohlstand
2017-11-10Added adl_atEnd() functionWohlstand
It is needed to detect the end of song while manually iterating a MIDI ticks
2017-11-09Resolve weird crash caused by Tetris inside ADLMIDI2 and other changesWohlstand
- Move most of inline classes methods into own CC file - Move Input into own header with own CC file to share it with the puzzle game - Created virtual destructors and resolved weak vtable trouble between of Tetris's classes - Remove static declarisons of Tetris class. Instead, let it be member of UserInterface - Fixed forgot note-offs while sorting events row with zero length notes - Fixed crash caused by unsafe access by reference to element of array that was modified/reallocated one or multiple times - Stabilize dealing with zero-length notes
2017-11-09Fixed a small warningWohlstand
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-07Fixed Android compilationWohlstand
2017-11-07Fixed build with usage of DosBox emulatorWohlstand
2017-11-07Update @sneakernets' DMXOPL3 bankWohlstand
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-06Repair instrument testing mode in ADLMIDI-2 utilityWohlstand
2017-11-06Added a header guard for 'adldata.hh'Wohlstand
2017-11-06Comment a useless functionWohlstand
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-05Small beautifyingWohlstand
2017-11-05Fix of infinite notes are appearing after events sort with 0-length notesWohlstand
Also a small optimizing: - Convert Note-ON with zero velocity into Note-OFF event - Don't re-sort row, just put note-off into begin of the row instead
2017-11-05Use longer minimal real time delay in the drum note length fixerWohlstand
2017-11-05Oops, 15 tick length, not 1!Wohlstand
2017-11-05Fix a big trougle of too short percussion notesWohlstand
This imperfection existed a whole age in most of MIDI players over OPL2/OPL3 chips, it means beginning of a new era!
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-04All real 4-operator voices are must be differentWohlstand
2017-11-04Don't use force difference for pseudo-4op voices in GenAdlDataWohlstand
2017-11-04Fix pseudo-4op double-voice instrument playing with two equal voicesWohlstand
2017-11-04Added support for playing of Electronic Arts's MUS filesWohlstand
2017-11-03Add Cartooners's bank recently added into original ADLMIDIWohlstand
2017-11-03Failed attempt to fix two-voice instruments with same instrument IDWohlstand
Still not working :-(
2017-11-01Added hooks and meta-info: title, copyright, track titles and markersWohlstand
2017-10-31Added ability to print name of currently using OPL3 emulatorWohlstand
2017-10-31Small optimize of the IMF validatorWohlstand
2017-10-31Merge branch 'master' into seekabilityWohlstand
# Conflicts: # libADLMIDI-test.pro # src/adlmidi.cpp # src/adlmidi_private.hpp
2017-10-31Optimize and clean-up of adl_play() function and use persistent bufferWohlstand
2017-10-27Repair the ability to skip silence in a begin,Wohlstand
...But keep it be togglable through macro definition
2017-10-27Draft for event hooksWohlstand
That will give ability to implement same ADLMIDI player as originally, but keep library be fully independent from original console tool.
2017-10-26Update @sneakernets's DMXOPL bank to most frashWohlstand
https://github.com/sneakernets/DMXOPL/commit/41c79f772dfa586c0a19eeb4c8bdbfb46b728e4c
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-25Small re-factoring of new MIDI event classes for correctnessWohlstand
- MidiTrackPos renamed into MidiTrackRow - TempoMarker renamed into TempoChangePoint
2017-10-25Prevent possible going far far away after end of track memory blockWohlstand
This will prevent possible crash on attempt to parse wrong or damaged MIDI file
2017-10-25Small optimization of seeking processWohlstand
Don't do lots of loops when is possible to iterate all previous events in one run
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-24Added working seekability!Wohlstand
Testing and stabilizing is needed