CHAILink SDK  Version 1.3
 All Data Structures Files Functions Variables Typedefs Enumerations Enumerator Macros Groups Pages
CHAI Link client customization

Enable/Disable Asynchronous returns and notifications. More...

Enabling Modules

By disabling following defines, some notifications and associated code can be removed from the CHAILink.

#define ENABLE_DEVICE_LOCAL
 Enable/Disable standard notifications. More...
 
#define ENABLE_DEVICE_COPPERLAN2MIDI
 Enable/Disable CopperLan to Midi device notifications. More...
 
#define ENABLE_DEVICE_VMIDILINKIN
 Enable/Disable VMIDILink In device notifications. More...
 
#define ENABLE_DEVICE_VMIDILINKOUT
 Enable/Disable VMIDILink Out device notifications. More...
 
#define ENABLE_DEVICE_SHAREDDISPLAY
 Enable/Disable shared display device notifications. More...
 
#define ENABLE_DEVICE_SHAREDDISPLAY_CLIENT
 Enable/Disable shared display client device notifications. More...
 
#define ENABLE_INPUT
 Enable/Disable Input notifications. More...
 
#define ENABLE_PARAMETER
 Enable/Disable Parameter notifications for inputs. More...
 
#define ENABLE_OUTPUT
 Enable/Disable Output notifications. More...
 
#define ENABLE_CONTROLLER
 Enable/Disable controller notifications. More...
 
#define ENABLE_PIPE
 Enable/Disable Pipe notifications. More...
 
#define ENABLE_REMOTE_DEVICE
 Enable/Disable Remote Device asynchronous returns and notifications. More...
 

Enabling Features

By disabling following defines, some asynchronous returns, notifications and associated code can be removed from the CHAILink by functionality.

#define ENABLE_NETWORK_SEARCH
 Enable/Disable CHAI asynchronous functions for device search across the network. More...
 
#define ENABLE_SMARTCONNECT_TARGET
 Enable/Disable Device Smart Connect Target notifications. More...
 
#define ENABLE_SNAPSHOT
 Enable/Disable Device Snapshot notifications. More...
 
#define ENABLE_CLOCK
 Enable/Disable Clock related notifications. More...
 
#define ENABLE_SIGNAL
 Enable/Disable Signal notifications for CHAI, devices, inputs and outputs. More...
 
#define ENABLE_GLOBAL_TIMER
 Enable/Disable CHAI Global Timer notifications. More...
 
#define ENABLE_PARAMETER_FEEDBACK
 Enable/Disable parameter feedback (modifier, selector or text) for output. More...
 
#define ENABLE_FLOAT
 Enable/Disable float handling in the CHAI Link client. More...
 
#define ENABLE_RUNTIMECHECK
 Enable/Disable runtime check. More...
 

Messages

By disabling following defines, some notifications and associated code can be removed from the CHAILink. Each defines concern one message's type.

#define ENABLE_MESSAGE_GENERIC
 Enable/Disable Generic message reception on inputs and pipe. More...
 
#define ENABLE_MESSAGE_EVENT
 Enable/Disable Event message reception on inputs and pipe. More...
 
#define ENABLE_MESSAGE_MODIFIER
 Enable/Disable Modifier message reception on inputs and pipe. More...
 
#define ENABLE_MESSAGE_SELECTOR
 Enable/Disable Selector message reception on inputs and pipe. More...
 
#define ENABLE_MESSAGE_TEXT
 Enable/Disable Text message reception on inputs and pipe. More...
 
#define ENABLE_MESSAGE_MIDISYSEX
 Enable/Disable Midi Sysex message reception on standard inputs or pipes. More...
 
#define ENABLE_MESSAGE_ALL
 Enable/Disable all messages reception on inputs and pipe. More...
 

CHAILink message

#define CLMSG_MESSAGESIZE   (400)
 Maximum CHAILink Message Size. Minimum and default value is 400. More...
 

Detailed Description

Enable/Disable Asynchronous returns and notifications.

The CHAI Link client customization can manage the code footprint of the CHAI Link client depending on your needs. As most of modern compilers/linkers provide dead code elimination, the customization process focuses on the handling of asynchronous returns and notifications.

Remarks
Base CHAI notifications are always enabled.