17 #ifndef DISTRHO_PLUGIN_UTILS_HPP_INCLUDED 
   18 #define DISTRHO_PLUGIN_UTILS_HPP_INCLUDED 
   20 #include "DistrhoPlugin.hpp" 
   78 #if DISTRHO_PLUGIN_NUM_OUTPUTS > 0 
  109     uint32_t midiEventCount;
 
  120           remainingMidiEventCount(mc),
 
  134         if (remainingFrames == 0)
 
  138         if (totalFramesUsed == 0)
 
  141             if (remainingMidiEventCount == 0)
 
  143                 frames = remainingFrames;
 
  145                 totalFramesUsed += frames;
 
  150             if (
const uint32_t firstEventFrame = midiEvents[0].frame)
 
  152                 DISTRHO_SAFE_ASSERT_UINT2_RETURN(firstEventFrame < remainingFrames,
 
  153                                                  firstEventFrame, remainingFrames, 
false);
 
  154                 frames = firstEventFrame;
 
  155                 remainingFrames -= firstEventFrame;
 
  156                 totalFramesUsed += firstEventFrame;
 
  167         if (remainingMidiEventCount == 0)
 
  169             frames = remainingFrames;
 
  170             midiEvents = 
nullptr;
 
  173             totalFramesUsed += frames;
 
  178         if (midiEventCount != 0)
 
  179             midiEvents += midiEventCount;
 
  181         const uint32_t firstEventFrame = midiEvents[0].
frame;
 
  182         DISTRHO_SAFE_ASSERT_UINT2_RETURN(firstEventFrame >= totalFramesUsed,
 
  183                                          firstEventFrame, totalFramesUsed, 
false);
 
  186         while (midiEventCount < remainingMidiEventCount)
 
  188             if (midiEvents[midiEventCount].frame == firstEventFrame)
 
  194         frames = firstEventFrame - totalFramesUsed;
 
  195         remainingFrames -= frames;
 
  196         remainingMidiEventCount -= midiEventCount;
 
  197         totalFramesUsed += frames;
 
  203     uint32_t remainingFrames;
 
  204     uint32_t remainingMidiEventCount;
 
  205     uint32_t totalFramesUsed;
 
#define END_NAMESPACE_DISTRHO
Definition: DistrhoInfo.hpp:949
 
#define START_NAMESPACE_DISTRHO
Definition: DistrhoInfo.hpp:943
 
#define DISTRHO_PLUGIN_NUM_OUTPUTS
Definition: DistrhoInfo.hpp:500
 
Definition: DistrhoPluginUtils.hpp:104
 
bool nextEvent()
Definition: DistrhoPluginUtils.hpp:131
 
float * outputs[2]
Definition: DistrhoPluginUtils.hpp:106
 
AudioMidiSyncHelper(float **const o, uint32_t f, const MidiEvent *m, uint32_t mc)
Definition: DistrhoPluginUtils.hpp:114
 
Definition: DistrhoDetails.hpp:891
 
uint32_t frame
Definition: DistrhoDetails.hpp:900