From 93b8726a3db33023f2c5a0cc5efba58583b87fb4 Mon Sep 17 00:00:00 2001 From: Vitaly Novichkov Date: Sat, 16 Dec 2017 04:01:26 +0300 Subject: Added realtime API, Experimental, not tested - 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 --- src/adlmidi_private.hpp | 12 ++++++++++++ 1 file changed, 12 insertions(+) (limited to 'src/adlmidi_private.hpp') diff --git a/src/adlmidi_private.hpp b/src/adlmidi_private.hpp index 46187bc..cb100dc 100644 --- a/src/adlmidi_private.hpp +++ b/src/adlmidi_private.hpp @@ -166,6 +166,7 @@ public: }; class MIDIplay; +struct ADL_MIDIPlayer; class OPL3 { public: @@ -263,6 +264,7 @@ public: void Pan(unsigned c, unsigned value); void Silence(); void updateFlags(); + void updateDeepFlags(); void ChangeVolumeRangesModel(ADLMIDI_VolumeModels volumeModel); void Reset(unsigned long PCM_RATE); }; @@ -300,12 +302,15 @@ struct MIDIEventHooks class MIDIplay { + friend void adl_reset(struct ADL_MIDIPlayer*); public: MIDIplay(); ~MIDIplay() {} + void applySetup(); + /**********************Internal structures and classes**********************/ /** @@ -851,6 +856,12 @@ public: */ double Tick(double s, double granularity); + /** + * @brief Process extra iterators like vibrato or arpeggio + * @param s seconds since last call + */ + void TickIteratos(double s); + /** * @brief Change current position to specified time position in seconds * @param seconds Absolute time position in seconds @@ -950,6 +961,7 @@ private: //void UpdatePortamento(unsigned MidCh) void NoteUpdate_All(uint16_t MidCh, unsigned props_mask); void NoteOff(uint16_t MidCh, uint8_t note); + void UpdateVibrato(double amount); void UpdateArpeggio(double /*amount*/); -- cgit v1.2.3