MIDI Integration Example
MIDI events are posted by calling the AK::SoundEngine::PostMIDIOnEvent() function. The following code shows examples of:
- setting initial MIDI parameters,
- posting MIDI events using the event's name (name given to the event by the Wwise user) or the event's ID as defined in "Wwise_IDs.h" (header file generated by Wwise).
#include "Wwise_IDs.h"
(...)
void MIDICallback( bool in_bLastCall )
{
}
Refer to Integration Details - Events for more information regarding events. Refer to Integration Details - MIDI for more information regarding MIDI.
AkUInt8 byType
See AK_MIDI_EVENT_TYPE_* pre-processor definitions.
#define AK_MIDI_EVENT_TYPE_NOTE_ON
AKSOUNDENGINE_API AKRESULT RegisterGlobalCallback(AkGlobalCallbackFunc in_pCallback, AkUInt32 in_eLocation=AkGlobalCallbackLocation_BeginRender, void *in_pCookie=NULL, AkPluginType in_eType=AkPluginTypeNone, AkUInt32 in_ulCompanyID=0, AkUInt32 in_ulPluginID=0)
AkUInt32 AkUniqueID
Unique 32-bit ID.
Configured audio settings.
AKSOUNDENGINE_API AKRESULT PostMIDIOnEvent(AkUniqueID in_eventID, AkGameObjectID in_gameObjectID, AkMIDIPost *in_pPosts, AkUInt16 in_uNumPosts)
AKSOUNDENGINE_API AKRESULT GetAudioSettings(AkAudioSettings &out_audioSettings)
@ AkGlobalCallbackLocation_PreProcessMessageQueueForRender
Start of frame rendering, before having processed game messages.
AkUInt32 uNumSamplesPerFrame
Number of samples per audio frame (256, 512, 1024 or 2048).
AkUInt32 uOffset
Frame offset (in samples) for MIDI event post.
AKSOUNDENGINE_API AkUInt32 GetIDFromString(const char *in_pszString)
#define AK_MIDI_EVENT_TYPE_NOTE_OFF
Tell us about your project. We're here to help.
Register your project and we'll help you get started with no strings attached!
Get started with Wwise