From c5e9ca56d446819bfd42615d2398e3817a286ef9 Mon Sep 17 00:00:00 2001 From: Wohlstand Date: Tue, 3 Dec 2019 15:34:39 +0300 Subject: MidiSequencer: Added PCM streaming code This code piece should simplify a dealing with MIDI libraries TODO: Modify some content of adl_playFormat() to use this feature --- src/midi_sequencer.h | 13 +++++++++++++ 1 file changed, 13 insertions(+) (limited to 'src/midi_sequencer.h') diff --git a/src/midi_sequencer.h b/src/midi_sequencer.h index 3f4b750..4c6693f 100644 --- a/src/midi_sequencer.h +++ b/src/midi_sequencer.h @@ -45,6 +45,19 @@ typedef struct BW_MidiRtInterface /*! User data which will be passed through On-Event hook */ void *onEvent_userData; + /*! PCM render */ + typedef void (*PcmRender)(void *userdata, uint8_t *stream, size_t length); + /*! PCM render hook which catches passing of loop start point */ + PcmRender onPcmRender; + /*! User data which will be passed through On-PCM-render hook */ + void *onPcmRender_userData; + + //! Sample rate + uint32_t pcmSampleRate; + + //! Size of one sample in bytes + uint32_t pcmFrameSize; + /*! Library internal debug messages */ typedef void (*DebugMessageHook)(void *userdata, const char *fmt, ...); /*! Debug message hook */ -- cgit v1.2.3