aboutsummaryrefslogtreecommitdiff
path: root/src
AgeCommit message (Collapse)Author
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
2017-10-24Absolute time position now is known!Wohlstand
2017-10-24Fixed IMF playing!Wohlstand
2017-10-24Use MidiEvent enums where are raw event types are was usedWohlstand
2017-10-24More info about meta-eventsWohlstand
2017-10-24Absolute per-event time position calculation is works!Wohlstand
2017-10-23Merge branch 'seekability' of git@github.com:Wohlstand/libADLMIDI.git into ↵Wohlstand
seekability
2017-10-23Experimental time position calculation based on in-track tempo eventsWohlstand
2017-10-23Fixed build on older GCCWohlstand
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-21Apply latest release of Sneakernets's DMXOPL bankWohlstand
2017-10-20Small fix of GCC warning in adlmidi_op3.cpp built without embedded banksWohlstand
``` warning: extended initializer lists only available with -std=c++11 or -std=gnu++11 ```
2017-10-20Fixed MinGW Windowd build via CMakeWohlstand
(Issue #26)
2017-10-20Fixed CMake buildWohlstand
2017-10-20Added CMake supportWohlstand
2017-10-19Attempt to fix Windows build of demo MIDI playerWohlstand
(Issue #26)