Age | Commit message (Collapse) | Author |
|
|
|
lround is C99 and C++11, not C++98!
|
|
TODO:
- implement C bindings for most of class functions
- test it in work on any different synthesizer
|
|
|
|
|
|
- Fixed all MSVC 2015/2017 warnings in both 32 and 64 bit builds
- Fixed weird behavior when using adl_setHVibrato, adl_setHTremolo, adl_setScaleModulators, and adl_setVolumeRangeModel when passing the -1 "Auto" state
- Move arpeggio counter into the MIDIPlay class as originally it was a global static variable which is ugly and danger when running multiple instances of the same library
|
|
|
|
|
|
|
|
[the full-working compiling still not working yet due bug on OW side]
|
|
- Removed "Logarithmic volumes" flag as volume models concept successfuly serves this task. "Logarithmic volumes" flag is useless when we have volume models.
- Fixed "too fast" tempo while playing CMF and EA-MUS (aka RSXX) files
|
|
#91
|
|
#91
|
|
- Fixed an incorrect calculation of 4-op channels and choosing 4-op channels for 2-op only banks
- Resolved trouble with automatically chosen flags because of internal confusion
|
|
|
|
|
|
Damn, this is so silly: Data of new bank data was added to tail of old data as I forgot to clean up that crap before to fill with a new data, damn! (#83)
|
|
TODO: port this into Gen-ADLDATA too!
No more need to update same file parser twice. Just, copy-paste the same WOPL parser between of OPL3 Bank Editor and libADLMIDI.
|
|
Those functions are dead out of disabled MIDI Sequencer code, so, there are must NOT appear in the library when MIDI Sequencer is disabled.
|
|
Due to clunky playback on updated Nuked OPL3 emulator v 1.8, I kept the Nuked OPL3 1.7.4 work in parallel and be a separated switchable emulator.
|
|
|
|
|
|
|
|
|
|
Without calling of that function changed bank will have incorrect setup.
|
|
- 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
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
- 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
|
|
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
|
|
|
|
|
|
Feel free to create something like GS or XG bank :wink:
|
|
- 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.
|
|
|
|
By default every flag will have "auto" type which means mode will be set in dependence on a bank.
|
|
|
|
TODO: Implement support for tri-states per deep-tremolo, deep-vibrato flags
|
|
|
|
|
|
- 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
|
|
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
|
|
- 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)
|