Improved MIDI timing interface

This commit is contained in:
Jack Andersen
2016-06-07 18:37:21 -10:00
parent 521b490d0f
commit 52c0cca593
5 changed files with 16 additions and 2 deletions

View File

@@ -231,7 +231,8 @@ struct AQSAudioVoiceEngine : BaseAudioVoiceEngine
for (int i=0 ; i<pktlist->numPackets ; ++i)
{
std::vector<uint8_t> bytes(std::cbegin(packet->data), std::cbegin(packet->data) + packet->length);
readProcRefCon->m_receiver(std::move(bytes));
;
readProcRefCon->m_receiver(std::move(bytes), AudioConvertHostTimeToNanos(packet->timeStamp) / 1.0e9);
packet = MIDIPacketNext(packet);
}
}
@@ -533,6 +534,8 @@ struct AQSAudioVoiceEngine : BaseAudioVoiceEngine
return ret;
}
bool useMIDILock() const {return true;}
AQSAudioVoiceEngine()
{

View File

@@ -6,6 +6,8 @@
#include <list>
#include <vector>
struct AudioUnitVoiceEngine;
namespace boo
{
class BaseAudioVoiceEngine;
@@ -15,6 +17,7 @@ class AudioSubmix : public IAudioSubmix, public IAudioMix
{
friend class BaseAudioVoiceEngine;
friend struct WASAPIAudioVoiceEngine;
friend struct ::AudioUnitVoiceEngine;
/* Mixer-engine relationships */
BaseAudioVoiceEngine& m_root;

View File

@@ -6,6 +6,8 @@
#include "boo/audiodev/IAudioVoice.hpp"
#include "AudioMatrix.hpp"
struct AudioUnitVoiceEngine;
namespace boo
{
class BaseAudioVoiceEngine;
@@ -17,6 +19,7 @@ class AudioVoice : public IAudioVoice
friend class BaseAudioVoiceEngine;
friend class AudioSubmix;
friend struct WASAPIAudioVoiceEngine;
friend struct ::AudioUnitVoiceEngine;
protected:
/* Mixer-engine relationships */
@@ -68,6 +71,8 @@ public:
void start();
void stop();
void unbindVoice();
double getSampleRateIn() const {return m_sampleRateIn;}
double getSampleRateOut() const {return m_sampleRateOut;}
};
class AudioVoiceMono : public AudioVoice