aboutsummaryrefslogtreecommitdiff
path: root/src/adlmidi.cpp
AgeCommit message (Collapse)Author
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
2016-12-06Added Nuked OPL3 emulator (which is more accurate than DosBox's)Wohlstand
Also: - Fixed warnings in the CLang code model plugin for Qt Creator - Fixed bend coefficient which caused incorrect hi-hats in DMX banks
2016-11-15Fixed drums in 4 banksWohlstand
2016-10-23Fixed build on WindowsWohlstand
2016-10-22Apply latest update of ADLMIDIWohlstand
- Added support of playing CMF files
2016-09-02Added a function to retrieve a count of the banksWohlstand
2016-08-06Fixed infinite loop caused by attempt to play blank MIDI-fileWohlstand
2016-08-05Handle 111'th controller as loopStart pointWohlstand
2016-06-13Fixed freezing on IMF playingWohlstand
(my previous implementation of fget() initator sucks, it must return unsigned char inside signed integer container to be able return "-1" on eof)
2016-06-07Continue research at JungleVision file formatWohlstand
2016-05-14Added 68'th bank: default Timbre bank of the Build EngineWohlstand
2016-03-22Fixed file parsing and accuracy of DMX banks playbackWohlstand
2016-03-16More accurate DMX fine tune of second voiceWohlstand
2016-02-07Changes made in January and February 2016Wohlstand
- Fixed freezing on invalid loop points (instead, ignore them!) - Optimized output generating - Instead of 16-bit samples stored into array of 32-bit integers, return true PCM-16bit for convenience and with no confusion!
2015-12-10Allow volume modulationWohlstand