aboutsummaryrefslogtreecommitdiff
path: root/src/adlmidi.cpp
AgeCommit message (Collapse)Author
2017-12-16Fix the sample rate initializationVitaly Novichkov
2017-12-16Added experimental VLC pluginVitaly Novichkov
Plugin is made for VLC 2.2.2 Weatherwax (pre-installed in Linux Mint 18.3) Existing issues: - No ability to change codec properties yet, this thing is WIP - By unknown reason, resulted sound has different (RANDOM) sample rate which is different from 44100 Hz
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-12-10Added "TODO" note into "adl_generate" functionVitaly Novichkov
2017-12-01Merge branch 'master' into get-rid-of-backup-bufferWohlstand
2017-11-26Fix a support for tristate flags (Default, Force-On and Force-Off)Wohlstand
2017-11-23Get rid of backup samples bufferWohlstand
2017-11-20Use const char* and const void* as input data typesWohlstand
2017-11-16Clean-up and beautifyingWohlstand
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-09Fixed a small warningWohlstand
2017-11-08Fixed zero four-operators bug when using a bigger non-GM bankWohlstand
2017-11-07Fixed build with usage of DosBox emulatorWohlstand
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-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-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-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-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-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-21Fixed MSVC2015 buildWohlstand
2017-10-18Wave recording in demo tool and disable loop by defaultWohlstand
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
2017-10-17EXPERIMENTAL: Support for custom banks!Wohlstand
TODO: Fix support for real 4-operator support for dynamical instruments which now are silent. 2-op and pseudo-4-op still work fine.
2017-10-09Don't reinterpret same pointer every usage in adl_play()Wohlstand
2017-06-19Fixed compatibility with MSVCWohlstand
2017-02-28Change long double into double because of no necessary for itWohlstand
2017-02-28Fixed wrong very long inter-note delays on 32-bit platformsWohlstand
2017-02-17Attempt to fix incorrect delay calculation on 32-bit systemsWohlstand
2017-02-17Better audio clipping while mixingWohlstand
2017-02-15Fixed logarithmic volumes flag and added support for XMI and MUS formatsWohlstand
MUS playing was totally invalid: the MUS data are completely different from regular MIDI data. Now is added a right converter which results a MIDI data which can be played correctly.
2017-01-16Split adlmidi.cpp now keeps API functions onlyWohlstand
other code has been moved into separated files
2016-12-09Added a changalbe volume ranges modelWohlstand
(to allow banks play sound be more native like to their original implementations)
2016-12-08Little experiment with switchable volume range modelsWohlstand
2016-12-07OoopsWohlstand
Fixed wrong generated sound in some cases. DBOPL has own constructors to initialize it's fields. memset no need here
2016-12-07Fix another Android NDK's warningWohlstand
(this member is already initialized in constructor!)
2016-12-07Fixed another crash and dealing with uninitialized memoryWohlstand
2016-12-07Little refactoring of adl_play() function to fix return size valueWohlstand
2016-12-07Added validation of variable length value on MIDI loadingWohlstand
- (to prevent a weird crash caused by track with no events inside) Also attempt to fix issue #4
2016-12-07Fixed crash in the DosBox versionWohlstand
(because after std::vector's resize, contents is uninitialized, Valgrind has been confirmed that)
2016-12-07Ouch (fixed inverted loop flag, reported in issue #3)Wohlstand
2016-12-06Fixed Android buildWohlstand