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 AkPlayingID PostMIDIOnEvent(AkUniqueID in_eventID, AkGameObjectID in_gameObjectID, AkMIDIPost *in_pPosts, AkUInt16 in_uNumPosts, bool in_bAbsoluteOffsets=false, AkUInt32 in_uFlags=0, AkCallbackFunc in_pfnCallback=NULL, void *in_pCookie=NULL, AkPlayingID in_playingID=AK_INVALID_PLAYING_ID)
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).
AKSOUNDENGINE_API AkUInt32 GetIDFromString(const char *in_pszString)
#define AK_MIDI_EVENT_TYPE_NOTE_OFF
AkUInt64 uOffset
Frame offset (in samples) for MIDI event post.
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