Age | Commit message (Collapse) | Author | |
---|---|---|---|
2017-11-21 | Apply recent fix of the AdLib percussion map made by Joel Yliluoma | Wohlstand | |
2017-11-18 | Automatically add "reset all" into begin of every track | Wohlstand | |
This will avoid damaged sound caused by controllers state came from end of song | |||
2017-11-18 | Avoid a flood of missing bank debug messages, show every message once | Wohlstand | |
2017-11-18 | Don't even try to print missing patch warning without of a debug log hook | Wohlstand | |
2017-11-18 | OUCH! Fix an accidental fallthrough | Wohlstand | |
2017-11-18 | Tiny fixes | Wohlstand | |
2017-11-18 | Add the XG support into drum note length fixer algorithm | Wohlstand | |
2017-11-17 | Small optimize of XG percussion bank handling code | Wohlstand | |
also potential lose of bank ID of non-XG channel | |||
2017-11-17 | Let XG SFX1/SFX2 use LSB==1 range of percussion instruments of WOPL file | Wohlstand | |
2017-11-17 | Added handling of XG percussion bank numbers | Wohlstand | |
2017-11-16 | Merge branch 'master' of git@github.com:Wohlstand/libADLMIDI.git | Wohlstand | |
2017-11-16 | Clean-up and beautifying | Wohlstand | |
2017-11-15 | Don't set a track's delay to the global waiter, it's BAD idea | Wohlstand | |
Last track which has 45000 ticks to wait makes song be silent for a while | |||
2017-11-12 | libADLMIDI now is buildable under OpenWatcom except of some workarounds | Wohlstand | |
- 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-10 | Ability to quit from Classic ADLMIDI under DOS by ESC key hit | Wohlstand | |
2017-11-09 | Resolve weird crash caused by Tetris inside ADLMIDI2 and other changes | Wohlstand | |
- 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-08 | Fixed zero four-operators bug when using a bigger non-GM bank | Wohlstand | |
2017-11-07 | Fix a bug which overrides loopStart with seek destination position | Wohlstand | |
2017-11-07 | Fixed Android compilation | Wohlstand | |
2017-11-07 | Custom WOPL now supports multiple banks | Wohlstand | |
Feel free to create something like GS or XG bank :wink: | |||
2017-11-07 | New API, classic ADLMIDI, and CMake | Wohlstand | |
- 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-05 | Tri-state for deep-tremolo/vibrato/sm/adlib-percussion modes | Wohlstand | |
By default every flag will have "auto" type which means mode will be set in dependence on a bank. | |||
2017-11-05 | Don't apply a too-short percussion note fix on IMF/CMF and RSXX musics. | Wohlstand | |
2017-11-05 | Small beautifying | Wohlstand | |
2017-11-05 | Fix of infinite notes are appearing after events sort with 0-length notes | Wohlstand | |
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-05 | Use longer minimal real time delay in the drum note length fixer | Wohlstand | |
2017-11-05 | Oops, 15 tick length, not 1! | Wohlstand | |
2017-11-05 | Fix a big trougle of too short percussion notes | Wohlstand | |
This imperfection existed a whole age in most of MIDI players over OPL2/OPL3 chips, it means beginning of a new era! | |||
2017-11-04 | Fix pseudo-4op double-voice instrument playing with two equal voices | Wohlstand | |
2017-11-04 | Added support for playing of Electronic Arts's MUS files | Wohlstand | |
2017-11-03 | Failed attempt to fix two-voice instruments with same instrument ID | Wohlstand | |
Still not working :-( | |||
2017-11-01 | Added hooks and meta-info: title, copyright, track titles and markers | Wohlstand | |
2017-10-27 | Repair the ability to skip silence in a begin, | Wohlstand | |
...But keep it be togglable through macro definition | |||
2017-10-26 | Continue works on loop points and some clean-up | Wohlstand | |
- 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-25 | Parse & validate loop events in load time than in playing time | Wohlstand | |
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-25 | Small re-factoring of new MIDI event classes for correctness | Wohlstand | |
- MidiTrackPos renamed into MidiTrackRow - TempoMarker renamed into TempoChangePoint | |||
2017-10-25 | Prevent possible going far far away after end of track memory block | Wohlstand | |
This will prevent possible crash on attempt to parse wrong or damaged MIDI file | |||
2017-10-25 | Small optimization of seeking process | Wohlstand | |
Don't do lots of loops when is possible to iterate all previous events in one run | |||
2017-10-25 | Clean-up | Wohlstand | |
- 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-24 | Added working seekability! | Wohlstand | |
Testing and stabilizing is needed | |||
2017-10-24 | Absolute time position now is known! | Wohlstand | |
2017-10-24 | Fixed IMF playing! | Wohlstand | |
2017-10-24 | Use MidiEvent enums where are raw event types are was used | Wohlstand | |
2017-10-24 | More info about meta-events | Wohlstand | |
2017-10-24 | Absolute per-event time position calculation is works! | Wohlstand | |
2017-10-23 | Experimental time position calculation based on in-track tempo events | Wohlstand | |
2017-10-23 | Prepare to implement seekability - pre-parse all MIDI events before play | Wohlstand | |
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-21 | Fixed MSVC2015 build | Wohlstand | |
2017-10-18 | Wave recording in demo tool and disable loop by default | Wohlstand | |
2017-10-18 | Smooth finalizing, rewinding, and a bit more crash safety | Wohlstand | |
* 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 |