Skip to content

Commit 57e13e0

Browse files
committed
Fix tests
1 parent 4f49a0c commit 57e13e0

File tree

3 files changed

+27
-7
lines changed

3 files changed

+27
-7
lines changed

modules/yup_audio_basics/midi/ump/yup_UMP.h

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -37,12 +37,15 @@
3737
==============================================================================
3838
*/
3939

40+
#include "yup_UMPBytesOnGroup.h"
41+
#include "yup_UMPDeviceInfo.h"
4042
#include "yup_UMPProtocols.h"
4143
#include "yup_UMPTypes.h"
4244
#include "yup_UMPUniversalPacket.h"
4345
#include "yup_UMPUtils.h"
4446
#include "yup_UMPacket.h"
4547
#include "yup_UMPView.h"
48+
#include "yup_UMPPacketBuffer.h"
4649
#include "yup_UMPIterator.h"
4750
#include "yup_UMPackets.h"
4851
#include "yup_UMPMessages.h"
@@ -65,3 +68,4 @@
6568
#include "yup_UMPDispatcher.h"
6669
#include "yup_UMPReceiver.h"
6770
#include "yup_UMPJitterReductionTimestamps.h"
71+
#include "yup_UMPKeyboardState.h"

modules/yup_audio_basics/midi/ump/yup_UMPMidi1ToBytestreamTranslator.h

Lines changed: 21 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -90,7 +90,7 @@ class Midi1ToBytestreamTranslator
9090
if (Utils::getMessageType (firstWord) != 0x00)
9191
{
9292
const auto message = fromUmp (PacketX1 { firstWord }, time);
93-
callback (message);
93+
dispatchMessage (callback, message);
9494
}
9595

9696
break;
@@ -187,10 +187,29 @@ class Midi1ToBytestreamTranslator
187187
void terminateSysExMessage (MessageCallback&& callback)
188188
{
189189
pendingSysExData.push_back (std::byte { 0xf7 });
190-
callback (BytestreamMidiView (pendingSysExData, pendingSysExTime).getMessage());
190+
const BytestreamMidiView view (pendingSysExData, pendingSysExTime);
191+
dispatchMessage (callback, view);
191192
pendingSysExData.clear();
192193
}
193194

195+
template <typename MessageCallback>
196+
static void dispatchMessage (MessageCallback&& callback, const MidiMessage& message)
197+
{
198+
if constexpr (std::is_invocable_v<MessageCallback, const MidiMessage&>)
199+
callback (message);
200+
else
201+
callback (BytestreamMidiView (&message));
202+
}
203+
204+
template <typename MessageCallback>
205+
static void dispatchMessage (MessageCallback&& callback, const BytestreamMidiView& view)
206+
{
207+
if constexpr (std::is_invocable_v<MessageCallback, const MidiMessage&>)
208+
callback (view.getMessage());
209+
else
210+
callback (view);
211+
}
212+
194213
static bool shouldPacketTerminateSysExEarly (uint32_t firstWord)
195214
{
196215
return ! (isSysExContinuation (firstWord)

modules/yup_audio_basics/yup_audio_basics.h

Lines changed: 2 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -135,6 +135,7 @@
135135

136136
//==============================================================================
137137
#include <chrono>
138+
#include <type_traits>
138139

139140
//==============================================================================
140141
#include "buffers/yup_AudioDataConverters.h"
@@ -167,6 +168,7 @@ YUP_END_IGNORE_WARNINGS_MSVC
167168
#include "mpe/yup_MPESynthesiserVoice.h"
168169
#include "mpe/yup_MPESynthesiser.h"
169170
#include "mpe/yup_MPEUtils.h"
171+
#include "midi/ump/yup_UMP.h"
170172
#include "sources/yup_AudioSource.h"
171173
#include "sources/yup_PositionableAudioSource.h"
172174
#include "sources/yup_BufferingAudioSource.h"
@@ -180,8 +182,3 @@ YUP_END_IGNORE_WARNINGS_MSVC
180182
#include "synthesisers/yup_Synthesiser.h"
181183
#include "audio_play_head/yup_AudioPlayHead.h"
182184
#include "utilities/yup_AudioWorkgroup.h"
183-
#include "midi/ump/yup_UMPBytesOnGroup.h"
184-
#include "midi/ump/yup_UMPDeviceInfo.h"
185-
#include "midi/ump/yup_UMPPacketBuffer.h"
186-
#include "midi/ump/yup_UMPKeyboardState.h"
187-
#include "midi/ump/yup_UMP.h"

0 commit comments

Comments
 (0)