CHAI SDK  Version 1.3
 All Classes Namespaces Functions Variables Typedefs Enumerations Enumerator Pages
CPNS::Enums Class Reference

Enums class contains enum declaration. More...

Public Types

enum  AssignControllerAvailableValues {
  ACAV_None = 0x00, ACAV_Up = 0x01, ACAV_Down = 0x02,
  ACAV_UpDown = 0x03
}
 
enum  AsyncResult {
  AR_Done = 0x80, AR_Succeeded = 1 | AR_Done, AR_ToBeContinued = 2,
  AR_LastBatchItem = 3 | AR_Done, AR_Canceled = 4 | AR_Done
}
 Async operation result. More...
 
enum  AudioTypes { AT_Audiolan = 0 }
 Audio types. More...
 
enum  AudioSamplingRates {
  ASR_32000 = 0, ASR_44100, ASR_48000,
  ASR_64000, ASR_88200, ASR_96000,
  ASR_176400, ASR_192000, ASR_Count,
  ASR_Invalid = -1
}
 
enum  AudioResolutions { ARes_16 = 16, ARes_24 = 24 }
 
enum  SmartConnectAsyncResult {
  _SCAR_TaskTerminated_ = 0x80, SCAR_Initiated = 0, SCAR_Finished = 1 | _SCAR_TaskTerminated_,
  SCAR_Canceled = 2 | _SCAR_TaskTerminated_, SCAR_Failed = 3 | _SCAR_TaskTerminated_
}
 SmartConnect Async operation result. More...
 
enum  BaseLocalDeviceNotificationTypes {
  BLDNT_NewDuplicateNumber = 0, BLDNT_FixedDuplicateConflict = 1, BLDNT_Activated = 2,
  BLDNT_Deactivated = 3, BLDNT_NoMoreFreeDuplicate = 4, BLDNT_RootNotFound = 5,
  BLDNT_CustomNameChanged = 6, BLDNT_DuplicateModeChanged = 7, BLDNT_DataConsumedOnMIDISys = 8,
  BLDNT_FlowControlReadyToSend = 9, BLDNT_FlowControlNotReadyToSend = 10
}
 Notification types related to base local devices. More...
 
enum  ClockGeneratorCommands { CGC_RunFromStart = 0x01, CGC_Stop = 0x02, CGC_Run = 0x03 }
 Clock generator commands. More...
 
enum  ClockCommands {
  CC_RunFromStart = 0x01, CC_Stop = 0x02, CC_Run = 0x03,
  CC_SetPositionTrigger = 0x06, CC_FillIn = 0x07, CC_StateOn = 0x08,
  CC_StateOff = 0x09
}
 Clock commands. More...
 
enum  MessageTypes {
  MT_None = 0x0000, MT_Modifier = 0x0001, MT_Selector = 0x0002,
  MT_Text = 0x0004
}
 Performance Message types. More...
 
enum  ControllerAssignReasons {
  CAR_FromApplication = 0x00, CAR_SmartConnect = 0x01, CAR_Learning = 0x02,
  CAR_RemoteAssign = 0x03, CAR_Unassign = 0x04, CAR_TargetRemoved = 0x05,
  CAR_SnapshotRecall = 0x06
}
 Controller assignment reasons. More...
 
enum  ControllerSendModes {
  CSM_Absolute = 0x00, CSM_Relative = 0x01, CSM_RelativeOneWay = 0x02,
  CSM_Proportional = 0x03
}
 Tells how to send the value from a Controller. More...
 
enum  ControllerTypes {
  CT_MsgMod = MT_Modifier << 12, CT_MsgSel = MT_Selector << 12, CT_MsgTxt = MT_Text << 12,
  _CT_MsgFlagsMask_ = 0xF000, _CT_NeedleBalistics_ = 0x0010 | 0x0400, _CT_Peak_ = 0x0020 | 0x0400,
  _CT_Bipolar_ = 0x0040, _CT_Reverse_ = 0x0080, _CT_Relative_ = 0x0100,
  _CT_Zero_ = 0x0200, _CT_Monitor_ = 0x0400, _CT_OptionFlagsMask_ = 0x0FF0,
  CT_XWheel = 0x0001, CT_XWheelZero = 0x0001 | _CT_Zero_, CT_YWheel = 0x0002,
  CT_YWheelZero = 0x0002 | _CT_Zero_, CT_Knob = 0x0003, CT_Encoder = 0x0003 | _CT_Relative_,
  CT_XSlider = 0x0004, CT_YSlider = 0x0005, CT_ZSlider = 0x0006,
  CT_PushButton = 0x0007, CT_PlusMinusButton = 0x0007 | _CT_Relative_, CT_Text = 0x0008,
  CT_List = 0x0009, CT_PedalSwitch = 0x000A, CT_PedalContinue = 0x000B,
  CT_TextIPV4 = 0x000C, _CT_ControllerBaseTypeMask_ = 0x003F, CT_RingMeter = 0x0003 | _CT_Monitor_,
  CT_MeterX = 0x0004 | _CT_Monitor_, CT_MeterXPeak = 0x0004 | _CT_Peak_ | _CT_Monitor_, CT_MeterY = 0x0005 | _CT_Monitor_,
  CT_MeterYPeak = 0x0005 | _CT_Peak_ | _CT_Monitor_, CT_Galvanometer = 0x0006 | _CT_NeedleBalistics_ | _CT_Monitor_, CT_Label = 0x0008 | _CT_Monitor_,
  CT_Led = 0x000A | _CT_Monitor_, _CT_MonitorBaseTypeMask_ = 0x000F, CT_None = 0x0000
}
 Controller types. More...
 
enum  CHAINotificationTypes {
  CNT_Connected = 0, CNT_Disconnected = 1, CNT_LocalFixedDuplicateConflict = 2,
  CNT_LocalDuplicateChanged = 3, CNT_NetworkStable = 4, CNT_NetworkChanged = 5,
  CNT_VNMNotEnoughMemory = 6, CNT_VNMNotCompatible = 7, CNT_GroupsChanged = 8,
  CNT_GlobalLearningModeRunning = 10, CNT_GlobalLearningModeLeaved = 11, CNT_SnapshotSavingRunning = 14,
  CNT_SnapshotRestoreRunning = 15, CNT_SnapshotSavingComplete = 16, CNT_SnapshotRestoreComplete = 17,
  CNT_InvalidKey = 18, CNT_GlobalClockSynchronized = 19, CNT_InternalError = 99
}
 Notifications types for CHAI Used by the CHAI notification handler to inform the application. More...
 
enum  DataConsumeModes {
  DCM_NoDestination, DCM_TooManyDestinations, DCM_NoDataConsumed,
  DCM_UsesDataConsumed
}
 DataConsume modes. More...
 
enum  DataTransferNumbers {
  DTN_CustomZoneStop = 0x8000, DTN_CustomZoneStart = 0xFFFD, DTN_None = 0xFFFE,
  DTN_Any = 0xFFFF
}
 Data transfer message numbers. More...
 
enum  DataTypes {
  DT_Knob16 = 0x0000, DT_MKZ16 = 0x0001, DT_UNS16 = 0x0002,
  DT_UNS32 = 0x1002, DT_UNS64 = 0x2002, DT_SIG16 = 0x0003,
  DT_SIG32 = 0x1003, DT_SIG64 = 0x2003, DT_FP16 = 0x0004,
  DT_FP32 = 0x1004, DT_FP64 = 0x2004, DT_PER16 = 0x0005,
  DT_PER32 = 0x1005, DT_PIT16 = 0x0006, DT_RPIT16 = 0x0007,
  DT_TIME32 = 0x1008, DT_TIME64 = 0x2008, DT_SPAN32 = 0x1009,
  DT_SPAN64 = 0x2009, DT_FRQ16 = 0x000B, DT_FRQ32 = 0x100B,
  DT_720SA16 = 0x000A, DT_360A16 = 0x000C, DT_180A16 = 0x000D,
  DT_SR32 = 0x100E, DT_BPM16 = 0x0011, DT_DC16 = 0x0012,
  DT_MOV16 = 0x0013, DT_DBU16 = 0x0014, DT_CUST16 = 0x00FF,
  DT_CUST32 = 0x10FF, DT_CUST64 = 0x20FF, _DT_Reserved_BRV_ = 0x0800,
  _DT_LengthMask_ = 0xF000, DTL_16 = 0x0000, DTL_32 = 0x1000,
  DTL_64 = 0x2000
}
 CopperLan Data types Data Types are used to identify numeric value format. More...
 
enum  DeviceCapabilities {
  DC_None = 0x00000000, DC_Any = 0xFFFFFFFF, DC_Hidden = 0x00000001,
  DC_CHAI = 0x80000000, DC_CP2MIDI = 0x40000000, DC_MIDI2CP = 0x20000000,
  DC_SupportSnapshot = 0x08000000, DC_SupportInternalSnapshot = 0x04000000, DC_Parent = 0x02000000,
  DC_SharedDisplay = 0x01000000, DC_Controllers = 0x00800000, DC_SmartConnectTarget = 0x00400000,
  DC_CPMusic = 0x00080000, DC_VMIDILink = 0x00040000, DC_Instrument = 0x00020000,
  DC_Percussion = 0x00010000, DC_Effect = 0x00008000, DC_AudioSource = 0x00004000,
  DC_AudioTarget = 0x00002000
}
 Device capabilities. More...
 
enum  ExtendedDeviceCapabilities {
  EDC_None = 0x00000000, EDC_Any = 0xFFFFFFFF, _EDC_CategoryFieldMask_ = 0x0F800000,
  _EDC_CategoryMask_ = 0x0E000000, _EDC_SubCategoryFieldMask_ = 0x007F0000, EDC_Embedded = 0x00000001,
  EDC_FlowControl = 0x00000002, EDC_SupportsNameGenericChange = 0x00000004, EDC_SupportsDuplicateGenericChange = 0x00000008,
  EDC_SupportsGroupsGenericChange = 0x00000010, _EDC_Category_Controller_ = 0x00800000, _EDC_Category_Target_ = 0x01000000,
  _EDC_Instrument_ = 0x00000000, EDC_InstrumentController = (_EDC_Instrument_ + _EDC_Category_Controller_), EDC_InstrumentTarget = (_EDC_Instrument_ + _EDC_Category_Target_),
  EDC_InstrumentControllerTarget = (_EDC_Instrument_ + _EDC_Category_Controller_ + _EDC_Category_Target_), _EDC_Percussion_ = 0x02000000, EDC_PercussionController = (_EDC_Percussion_ + _EDC_Category_Controller_),
  EDC_PercussionTarget = (_EDC_Percussion_ + _EDC_Category_Target_), EDC_PercussionControllerTarget = (_EDC_Percussion_ + _EDC_Category_Controller_ + _EDC_Category_Target_), _EDC_Effect_ = 0x04000000,
  EDC_EffectController = (_EDC_Effect_ + _EDC_Category_Controller_), EDC_EffectTarget = (_EDC_Effect_ + _EDC_Category_Target_), EDC_EffectControllerTarget = (_EDC_Effect_ + _EDC_Category_Controller_ + _EDC_Category_Target_),
  _EDC_SoundProduction_ = 0x06000000, EDC_SoundProductionController = (_EDC_SoundProduction_ + _EDC_Category_Controller_), EDC_SoundProductionTarget = (_EDC_SoundProduction_ + _EDC_Category_Target_),
  EDC_SoundProductionControllerTarget = (_EDC_SoundProduction_ + _EDC_Category_Controller_ + _EDC_Category_Target_), _EDC_PublicAddress_ = 0x08000000, EDC_PublicAddressController = (_EDC_PublicAddress_ + _EDC_Category_Controller_),
  EDC_PublicAddressTarget = (_EDC_PublicAddress_ + _EDC_Category_Target_), EDC_PublicAddressControllerTarget = (_EDC_PublicAddress_ + _EDC_Category_Controller_ + _EDC_Category_Target_), _EDC_Lighting = 0x0A000000,
  EDC_LightingController = (_EDC_Lighting + _EDC_Category_Controller_), EDC_LightingTarget = (_EDC_Lighting + _EDC_Category_Target_), EDC_LightingControllerTarget = (_EDC_Lighting + _EDC_Category_Controller_ + _EDC_Category_Target_),
  _EDC_Theatrical_ = 0x0C000000, EDC_TheatricalController = (_EDC_Theatrical_ + _EDC_Category_Controller_), EDC_TheatricalTarget = (_EDC_Theatrical_ + _EDC_Category_Target_),
  EDC_TheatricalControllerTarget = (_EDC_Theatrical_ + _EDC_Category_Controller_ + _EDC_Category_Target_), _EDC_System_ = 0x0E000000, EDC_SystemController = (_EDC_System_ + _EDC_Category_Controller_),
  EDC_SystemTarget = (_EDC_System_ + _EDC_Category_Target_), EDC_SystemControllerTarget = (_EDC_System_ + _EDC_Category_Controller_ + _EDC_Category_Target_), EDC_Sub_None = 0x00000000,
  EDC_Sub_Perc_AccBassDrum = 0x00010000, EDC_Sub_Perc_BassDrum = 0x00020000, EDC_Sub_Perc_SideStick = 0x00030000,
  EDC_Sub_Perc_AccSnare = 0x00040000, EDC_Sub_Perc_HandClap = 0x00050000, EDC_Sub_Perc_ElecSnare = 0x00060000,
  EDC_Sub_Perc_LowFloorTom = 0x00070000, EDC_Sub_Perc_HiHat = 0x00080000, EDC_Sub_Perc_HighFloorTom = 0x00090000,
  EDC_Sub_Perc_LowTom = 0x000B0000, EDC_Sub_Perc_LowMidTom = 0x000D0000, EDC_Sub_Perc_HiMidTom = 0x000E0000,
  EDC_Sub_Perc_CrashCymbal1 = 0x000F0000, EDC_Sub_Perc_HighTom = 0x00100000, EDC_Sub_Perc_RideCymbal1 = 0x00110000,
  EDC_Sub_Perc_ChineseCymbal = 0x00120000, EDC_Sub_Perc_RideBell = 0x00130000, EDC_Sub_Perc_Tambourine = 0x00140000,
  EDC_Sub_Perc_SplashCymbal = 0x00150000, EDC_Sub_Perc_Cowbell = 0x00160000, EDC_Sub_Perc_CrashCymbal2 = 0x00170000,
  EDC_Sub_Perc_Vibraslap = 0x00180000, EDC_Sub_Perc_RideCymbal2 = 0x00190000, EDC_Sub_Perc_HiBongo = 0x001A0000,
  EDC_Sub_Perc_LowBongo = 0x001B0000, EDC_Sub_Perc_MuteHiConga = 0x001C0000, EDC_Sub_Perc_OpenHiConga = 0x001D0000,
  EDC_Sub_Perc_LowConga = 0x001E0000, EDC_Sub_Perc_HighTimbale = 0x001F0000, EDC_Sub_Perc_LowTimbale = 0x00200000,
  EDC_Sub_Perc_HighAgogo = 0x00210000, EDC_Sub_Perc_LowAgogo = 0x00220000, EDC_Sub_Perc_Cabasa = 0x00230000,
  EDC_Sub_Perc_Maracas = 0x00240000, EDC_Sub_Perc_ShortWhistle = 0x00250000, EDC_Sub_Perc_LongWhistle = 0x00260000,
  EDC_Sub_Perc_ShortGuiro = 0x00270000, EDC_Sub_Perc_LongGuiro = 0x00280000, EDC_Sub_Perc_Claves = 0x00290000,
  EDC_Sub_Perc_HiWoodBlock = 0x002B0000, EDC_Sub_Perc_MuteCuica = 0x002C0000, EDC_Sub_Perc_OpenCuica = 0x002D0000,
  EDC_Sub_Perc_MuteTriangle = 0x002E0000, EDC_Sub_Perc_OpenTriangle = 0x002F0000
}
 Extended device capabilities. More...
 
enum  DeviceDeclarationNotificationTypes { DDNT_DeviceDeclared = 0, DDNT_DeviceModified = 1, DDNT_DeviceRedeclared = 2 }
 Notification types related to device declaration. More...
 
enum  DeviceDiscardedReasons {
  DDR_None = 0x00, DDR_FixedDuplicateConflict = 0x01, DDR_LinkClosed = 0x02,
  DDR_DeviceRemoved = 0x03, DDR_LinkLost = 0x04, DDR_LocalFixedDuplicateConflict = 0x10,
  DDR_Timeout = 0x11, DDR_TooManyNodesInDeviceTable = 0x12, DDR_DuplicateNotUnique = 0x13,
  DDR_CannotModifyDevice = 0x20, DDR_CannotRemoveDevice = 0x21, DDR_CannotDeclareDevice = 0x22,
  DDR_DeviceNotFound = 0x30, DDR_DeviceMachineNotFound = 0x31
}
 Notifications types related to device discarding Used by the CHAI notification handler to inform the application about device removal from the network. More...
 
enum  DeviceNameFormats {
  DNF_None = 0x0000, DNF_Auto = 0x0001, DNF_ModelDuplicate = 0x0002,
  DNF_CustomName = 0x0003, DNF_Brand = 0x0004, DNF_Model = 0x0005,
  DNF_Machine = 0x0006, DNF_BrandModelDuplicate = 0x0007
}
 Device name formats. More...
 
enum  DeviceProperties {
  DP_None = 0x0000, DPS_CHAIVNMVersions = 0x0001, DPS_Path = 0x0002,
  DPS_BrandName = 0x0003, DPS_ModelName = 0x0004, DPS_MAC = 0x0005,
  DPS_Platform = 0x0006, DPN_GetNumInputs = 0x0080, DPN_GetNumOutputs = 0x0081,
  DPN_GetNumDestinations = 0x0082, DPN_GetNumRecordingDestinations = 0x0083, DPN_BranchHasDestinations = 0x0084,
  DPN_VNMVersion = 0x0085, DPN_CHAIVersion = 0x0086, DPN_DuplicateMode = 0x0087,
  DPN_GetNumControllers = 0x0088, DPN_AudioType = 0x00E0, DPN_AudioSamplingRate = 0x00E1,
  DPN_AudioResolution = 0x00E2, _DP_MaxSystemProperties_ = 0x00FF, DPS_SerialNumber = 0x0100,
  DPS_FirmwareVersion = 0x0101, DPS_Description = 0x0102, DPS_ApplicationVersion = 0x0103,
  DPS_SupportContact = 0x0104, DPN_ParamSetUID = 0x4000, DPN_SlotID = 0x4001,
  DPN_AudioIconSource = 0x40E0, DPN_AudioIconTarget = 0x40E1, DP_CustomZoneStop = 0x8000,
  DP_CustomZoneStart = 0xFFFD
}
 Device properties. More...
 
enum  DuplicateModes { DM_Fixed = 0, DM_Auto = 1, DM_Special_KeepValue = 0xFF }
 Duplicate resolution modes. More...
 
enum  Errors {
  ERR_None = 0, ERR_Failed = 1, ERR_ItemNotFound = 2,
  ERR_BadSignature = 3, ERR_Delayed = 4, ERR_InvalidLength = 5,
  ERR_InvalidArgument = 6, ERR_NotSupported = 7, ERR_NoMoreRoom = 8,
  ERR_BadRequestID = 9, ERR_InvalidCall = 10, ERR_BufferOverflow = 11,
  ERR_MissingNotificationHandler = 12, ERR_SentToNotYetValidatedDestination = 13, ERR_Canceled = 14,
  ERR_BadVersion = 15, ERR_InvalidOutputID = 16, ERR_InvalidType = 17,
  ERR_InvalidStatus = 18, ERR_TooManyData = 19, ERR_BadSignalType = 20,
  ERR_NoDestination = 21, ERR_NotEnoughMemory = 22, ERR_TooManyDestinations = 23,
  ERR_TooManyRecordingDestinations = 24, ERR_SnapshotInProgress = 25, ERR_BufferTooSmall = 26,
  ERR_InvalidDevice = 27, ERR_Timeout = 28, ERR_InvalidValue = 29,
  ERR_NotReadyToSend = 30, ERR_GlobalLearningRunning = 31, ERR_NotSmartConnectSource = 32,
  ERR_NotSmartConnectTarget = 33, ERR_SmartConnectAlreadyRunning = 34, ERR_NoSmartConnectSessionRunning = 35,
  ERR_MessageDontSupportMulticast = 36, ERR_OutOfRange = 37, ERR_InvalidEndpoint = 38,
  ERR_BadSessionID = 39, ERR_DeclaringDevices = 40, ERR_NoSource = 41,
  ERR_InvalidName = 42, ERR_InvalidModuleID = 43, ERR_InvalidID = 44
}
 Error codes. More...
 
enum  EventGateModes {
  EGM_GateNone = 0x00, EGM_GateDamp = 0x01, EGM_GateOff = 0x02,
  EGM_GateOn = 0x10, EGM_GateRestart = 0x11, EGM_T_On = 0x12,
  EGM_T_Restart = 0x13
}
 Event message Gate modes. More...
 
enum  EventWaveBoundaries {
  EWB_Start = 0x0000, EWB_Loop = 0x0800, EWB_Full = 0x1000,
  EWB_X = 0x1800
}
 Event Wave Settings boundaries. More...
 
enum  ExplorationCommands {
  _EC_None_ = 0, EC_FindFirst = 0x01, EC_FindNext = 0x02,
  EC_FindPrev = 0x03, EC_FindLast = 0x04, EC_Get = 0x05
}
 Exploration commands. More...
 
enum  FindDeviceOptions { FDO_None = 0x0000, FDO_NoHierarchy = 0x0001, FDO_LocalSearch = 0x0002 }
 Device finding flags, can be combined This combination of values can be handled by CPNS::CombinedFindDeviceOptions. More...
 
enum  GlobalTimerNotificationFlags {
  GTNF_None = 0x0000, GTNF_250ms = 0x0001, GTNF_500ms = 0x0002,
  GTNF_1s = 0x0004, GTNF_5s = 0x0008, GTNF_10s = 0x0010,
  GTNF_Blink500msOn = 0x2000, GTNF_Blink500msOff = 0x4000
}
 Flags for CHAI's global timer notification handler. More...
 
enum  ISCCauses { ISCC_NewSource = 0x00, ISCC_SourceLost = 0x01 }
 Input source change causes Used by the IInput notification handler to inform the application. More...
 
enum  InOutCapabilities {
  IOC_None = 0x00000000, IOC_Any = 0xFFFFFFFF, IOC_Msg_Event = 0x00000001,
  _IOC_Msg_Reserved_ = 0x00000002, IOC_Msg_Modifier = 0x00000004, IOC_Msg_Selector = 0x00000008,
  IOC_Msg_DataTransfer = 0x00000010, IOC_Msg_Text = 0x00000020, _IOC_MsgMask_ = 0x00000FFF,
  IOC_Hidden = 0x00010000, IOC_Transaction = 0x00020000, IOC_ClockControl = 0x00080000,
  IC_ClockListener = 0x00008000, IC_HasParameters = 0x00040000, OC_ClockGenerator = 0x00008000,
  OC_Controller = 0x00040000, _IOC_SpecialMask_ = 0x000FF000, IC_Recording = 0x00100000,
  IC_NoDataConsumed = 0x00200000, OC_Locked = 0x01000000, OC_NoRefresh = 0x02000000,
  OC_SingleTarget = 0x04000000, _IOC_OverlapMask_ = 0x0FF00000, IOC_TimeStamp = 0x10000000,
  IOC_TimeStampPreprocess = 0x30000000, _IOC_TimeStampMask_ = 0x30000000, IOC_MIDISys = 0x40000000,
  IOC_MIDIChannel = 0x80000000, _IOC_MIDIMask_ = 0xC0000000
}
 Input & Output capabilities This combination of values can be handled by CPNS::CombinedInOutCapabilities. More...
 
enum  MIDICCModes { MCCM_MSB = 0x00, MCCM_MSBLSB = 0x01, MCCM_LSBMSB = 0x02 }
 MIDI Control Change MSB/LSB mode. More...
 
enum  MIDI2CPOutputIDs {
  M2COID_Clock = 0, M2COID_Sys = 1, M2COID_Ch1 = 2,
  M2COID_Ch2 = 3, M2COID_Ch3 = 4, M2COID_Ch4 = 5,
  M2COID_Ch5 = 6, M2COID_Ch6 = 7, M2COID_Ch7 = 8,
  M2COID_Ch8 = 9, M2COID_Ch9 = 10, M2COID_Ch10 = 11,
  M2COID_Ch11 = 12, M2COID_Ch12 = 13, M2COID_Ch13 = 14,
  M2COID_Ch14 = 15, M2COID_Ch15 = 16, M2COID_Ch16 = 17
}
 MIDI to CopperLan output IDs Available for CPNS::IMIDI2CPLocalDevice and CPNS::IHybridMIDILocalDevice. More...
 
enum  CP2MIDIInputIDs {
  C2MIID_ClockSys = 0, C2MIID_Ch1 = 1, C2MIID_Ch2 = 2,
  C2MIID_Ch3 = 3, C2MIID_Ch4 = 4, C2MIID_Ch5 = 5,
  C2MIID_Ch6 = 6, C2MIID_Ch7 = 7, C2MIID_Ch8 = 8,
  C2MIID_Ch9 = 9, C2MIID_Ch10 = 10, C2MIID_Ch11 = 11,
  C2MIID_Ch12 = 12, C2MIID_Ch13 = 13, C2MIID_Ch14 = 14,
  C2MIID_Ch15 = 15, C2MIID_Ch16 = 16
}
 CopperLan to MIDI input IDs Available for CPNS::ICP2MIDILocalDevice and CPNS::IHybridMIDILocalDevice. More...
 
enum  Modifiers {
  MOD_Modulation = 0x0001, MOD_BreathControl = 0x0002, MOD_FootControl = 0x0004,
  MOD_PortamentoTime = 0x0005, MOD_SectionLevel = 0x0007, MOD_Balance = 0x0008,
  MOD_Pan = 0x000A, MOD_SwellExpression = 0x000B, MOD_Hold = 0x0040,
  MOD_Sostenuto = 0x0042, MOD_SoftUnacorda = 0x0043, MOD_EnvelopeReleaseTime = 0x0048,
  MOD_EnvelopeAttackTime = 0x0049, MOD_Brightness = 0x004A, MOD_EffectBalance = 0x005B,
  MOD_TremoloDepth = 0x005C, MOD_Pressure = 0x0080, MOD_PitchWheel = 0x0081,
  MOD_DiscCoordinates = 0x0082, MOD_XPadRibbonPosition = 0x0083, MOD_YPadPosition = 0x0084,
  MOD_Distance = 0x0085, MOD_Torsion = 0x0086, MOD_Pitch = 0x0087,
  MOD_Roll = 0x0088, MOD_Yaw = 0x0089, MOD_Pinch = 0x008A,
  MOD_AuxiliaryAlteration = 0x008B, MOD_GForce = 0x008C, MOD_Tension = 0x008D,
  MOD_ActuatorHardness = 0x008E, MOD_Muting = 0x008F, MOD_Displacement = 0x0090,
  MOD_LateralTouch = 0x0091, MOD_Tuning = 0x00A0, MOD_Transpose = 0x00A1,
  MOD_Octave = 0x00A2, MOD_SectionCoarsePitch = 0x00A3, MOD_SectionMediumPitch = 0x00A4,
  MOD_SectionFinePitch = 0x00A5, MOD_OscillatorCoarsePitch = 0x00A6, MOD_OscillatorMediumPitch = 0x00A7,
  MOD_OscillatorFinePitch = 0x00A8, MOD_ResonatingLength = 0x00AE, MOD_OscillatorFrequency = 0x00AF,
  MOD_UnisonSpread = 0x00B0, MOD_VoicePitchRandomness = 0x00B1, MOD_OscillatorMelodyTracking = 0x00B2,
  MOD_SectionMelodyTracking = 0x00B3, MOD_SubGroupLevel = 0x00D0, MOD_AuxiliarySend = 0x00D1,
  MOD_MonitorSend = 0x00D2, MOD_EffectSend = 0x00D3, MOD_ProportionalLevel_XFade = 0x00D4,
  MOD_DualAntagonistLevels = 0x00D5, MOD_EffectFeedback = 0x00D6, MOD_VCABypass = 0x00D8,
  MOD_StereoWidth = 0x00DA, MOD_LFOSpeed = 0x00E0, MOD_LFOWaveAlteration1PWM = 0x00E1,
  MOD_LFOWaveAlteration2 = 0x00E2, MOD_LFODelay = 0x00E3, MOD_LFOSlope = 0x00E4,
  MOD_LFOInitialPhaseStart = 0x00E5, MOD_LFOPhaseLoopPoint = 0x00E6, MOD_LFOLevelClipping = 0x00E7,
  MOD_LFONormalizedClipping = 0x00E8, MOD_LFOCycleRandomness = 0x00E9, MOD_LFORelativePhase = 0x00EB,
  MOD_RotarySpeed = 0x00EE, MOD_FilterCutoffFrequency = 0x00F0, MOD_FilterResonanceQFactor = 0x00F1,
  MOD_FilterBandwidth = 0x00F2, MOD_FilterFeedback = 0x00F3, MOD_FilterMelodyTracking = 0x00F4,
  MOD_Dynamics = 0x00F8, MOD_WaveShaping1PWM = 0x00F9, MOD_WaveShaping2 = 0x00FA,
  MOD_WavePhase = 0x00FE, MOD_NoiseColor = 0x00FF, MOD_Aliasing = 0x0100,
  MOD_ArpeggioPositionRandomness = 0x0109, MOD_ArpeggioRange = 0x010A, MOD_ApreggioFirstNote = 0x010B,
  MOD_ArpeggioPitchRandomness = 0x010C, MOD_GateDuration = 0x010F, MOD_Tempo = 0x0110,
  MOD_Squeeze = 0x0111, MOD_Stretch = 0x0112, MOD_SqueezeStretch = 0x0113,
  MOD_Unassigned = 0x0120, MOD_AutomationSmoothingTimeControl = 0x0130, MOD_AutomationSmoothingSlopeControl = 0x0131,
  MOD_EnvelopeStartLevel = 0x0140, MOD_EnvelopePreAttackLevel = 0x0141, MOD_EnvelopeAttackLevel = 0x0142,
  MOD_EnvelopeSustainLevel = 0x0143, MOD_EnvelopeReleaseLevel = 0x0144, MOD_EnvelopeRelease2Level = 0x0145,
  MOD_EnvelopePreAttackTime = 0x0147, MOD_EnvelopeDecayTime = 0x014A, MOD_EnvelopeRelease2Time = 0x014B,
  MOD_ModulatorAmplitude = 0x0168, MOD_ToneZoneLow = 0x016B, MOD_ToneZoneHigh = 0x016C,
  MOD_HornMinimumSpeed = 0x0170, MOD_HornMaximumSpeed = 0x0171, MOD_HornBrakeTime = 0x0172,
  MOD_BassMinimumSpeed = 0x0173, MOD_BassMaximumSpeed = 0x0174, MOD_BassBrakeTime = 0x0175,
  MOD_HornAccelerationTime = 0x0176, MOD_BassAccelerationTime = 0x0177, MOD_PercussionHarmonics = 0x017A,
  MOD_PercussionLevel = 0x017B, MOD_PercussionDecayTime = 0x017C, MOD_LeakageLevel = 0x017D,
  MOD_KeyClickLevel = 0x017E, MOD_Overdrive = 0x0190, MOD_DMXChannel = 0x0200,
  MOD_PressureToFilterFrequency = 0x0202, MOD_PressureToLevel = 0x0203, MOD_OscillatorToOscillatorModulation = 0x0207,
  MOD_OscillatorSelfModulation = 0x0208, MOD_WaveToFilter = 0x020A, MOD_EnvelopeToOscillatorFrequency = 0x0210,
  MOD_EnvelopeToOscillatorWaveshape = 0x0211, MOD_EnvelopeToFilterFrequency = 0x0212, MOD_LFOToOscillatorFrequency = 0x0218,
  MOD_LFOToOscillatorWaveshape = 0x0219, MOD_LFOToFilterFrequency = 0x021A, MOD_AudioDelayTime = 0x4010,
  MOD_CustomZoneStop = 0x8000, MOD_CustomZoneStart = 0xFFFD, MOD_None = 0xFFFE,
  MOD_Any = 0xFFFF
}
 Modifiers numbers. More...
 
enum  ModifierInformationProfiles {
  MIP_None = 0x0000, _MIP_DM_Mask_ = 0x0007, MIP_DM_Normal = 0x0000,
  MIP_DM_Peak = 0x0001, MIP_DM_VU = 0x0002, MIP_SupportVoiceID = 0x0010,
  MIP_SupportAutomation = 0x0020, MIP_SupportMorphing = 0x0040, MIP_SupportPreLoad = 0x0080,
  MIP_SupportTransaction = 0x0100, MIP_Monitor = 0x0200, MIP_Bipolar = 0x0400,
  MIP_ExpandIndexedParameters = 0x0800, MIP_Reverse = 0x1000, MIP_Administrator = 0x2000,
  MIP_ReadOnly = 0x4000
}
 Modifier information profiles This combination of values can be handled by CPNS::CombinedModifierInformationProfiles. More...
 
enum  ObjectTypes {
  _OT_HookedObjectFlag_ = 0x8000, _OT_ClassMask_ = 0x7F00, _OT_SubtypeMask_ = 0x00FF,
  _OT_GeneralClass_ = 0x0000, _OT_LocalDeviceClass_ = 0x0100, _OT_MessageClass_ = 0x0200,
  _OT_AudioLanClass_ = 0x0300, _OT_InternalClass_ = 0x7F00, OT_Chai = 0x0000 | _OT_GeneralClass_,
  OT_RemoteDevice = 0x0001 | _OT_GeneralClass_ | _OT_HookedObjectFlag_, OT_DeviceEnumerationContext = 0x0002 | _OT_GeneralClass_ | _OT_HookedObjectFlag_, OT_Output = 0x0003 | _OT_GeneralClass_,
  OT_Input = 0x0004 | _OT_GeneralClass_, OT_Pipe = 0x0005 | _OT_GeneralClass_, OT_Controller = 0x0006 | _OT_GeneralClass_,
  OT_Parameter = 0x0007 | _OT_GeneralClass_, OT_Timer = 0x0008 | _OT_GeneralClass_, OT_IndexList = 0x0009 | _OT_GeneralClass_,
  OT_SelectorItemList = 0x000A | _OT_GeneralClass_, OT_ListID = 0x000B | _OT_GeneralClass_ | _OT_HookedObjectFlag_, OT_LocalDevice = 0x0000 | _OT_LocalDeviceClass_,
  OT_MIDI2CPLocalDevice = 0x0001 | _OT_LocalDeviceClass_, OT_CP2MIDILocalDevice = 0x0002 | _OT_LocalDeviceClass_, OT_HybridMIDILocalDevice = 0x0003 | _OT_LocalDeviceClass_,
  OT_SharedDisplayLocalDevice = 0x0004 | _OT_LocalDeviceClass_, OT_SharedDisplayClientLocalDevice = 0x0005 | _OT_LocalDeviceClass_, OT_VMIDILinkInLocalDevice = 0x0006 | _OT_LocalDeviceClass_,
  OT_VMIDILinkOutLocalDevice = 0x0007 | _OT_LocalDeviceClass_, OT_VMIDILinkHybridLocalDevice = 0x0008 | _OT_LocalDeviceClass_, OT_EventMessage = 0x0000 | _OT_MessageClass_ | _OT_HookedObjectFlag_,
  OT_ModifierMessage = 0x0001 | _OT_MessageClass_ | _OT_HookedObjectFlag_, OT_SelectorMessage = 0x0002 | _OT_MessageClass_ | _OT_HookedObjectFlag_, OT_DataTransferMessage = 0x0003 | _OT_MessageClass_ | _OT_HookedObjectFlag_,
  OT_MIDISysexMessage = 0x0004 | _OT_MessageClass_ | _OT_HookedObjectFlag_, OT_DiagnosticTimingMessage = 0x0005 | _OT_MessageClass_ | _OT_HookedObjectFlag_, OT_TextMessage = 0x0006 | _OT_MessageClass_ | _OT_HookedObjectFlag_,
  OT_AudioLanLocalDevice = 0x0000 | _OT_AudioLanClass_, OT_AudioLanManager = 0x0001 | _OT_AudioLanClass_ | _OT_HookedObjectFlag_, OT_AudioLanRemoteController = 0x0002 | _OT_AudioLanClass_ | _OT_HookedObjectFlag_,
  OT_AudioLanRemoteDevice = 0x0003 | _OT_AudioLanClass_ | _OT_HookedObjectFlag_
}
 Object types. More...
 
enum  ODCOperations {
  ODCO_Added = 0x0000, ODCO_Removed = 0x0001, ODCO_Disabled = 0x0002,
  ODCO_Enabled = 0x0003, ODCO_DisabledRemoved = 0x0004, ODCO_AllDestinationsCleared = 0x0005,
  ODCO_RecAdded = 0x1000, ODCO_RecRemoved = 0x1001, ODCO_RecDisabled = 0x1002,
  ODCO_RecEnabled = 0x1003, ODCO_RecDisabledRemoved = 0x1004, ODCO_RecAllDestinationCleared = 0x1005
}
 Operations for Output Destination Change notification. More...
 
enum  PerformanceMessageAutomationStates {
  PMAS_Manual = 0x00, PMAS_Read = 0x01, PMAS_Write = 0x02,
  PMAS_Reserved = 0x03
}
 Automation states. More...
 
enum  PerformanceMessageSources { PMS_Knob = 0x00, PMS_Typed = 0x02, PMS_Modulator = 0x03 }
 Performance message source. More...
 
enum  RefreshValueAttributes {
  RVA_None = 0x0000, RVA_Password = 0x0001, RVA_Hidden = 0x0002,
  RVA_Disabled = 0x0004, RVA_Enabled = 0x0008, RVA_Blink = 0x0010,
  RVA_EnableMoveDown = 0x0020, RVA_EnableMoveUp = 0x0040, RVA_ModifiedValue = 0x0080,
  RVA_ProbablyOutOfSync = 0x4000, RVA_ValidForLearning = 0x8000
}
 Refresh current value attributes This combination of values can be handled by CPNS::CombinedRefreshValueAttributes. More...
 
enum  RelativeMode { RM_Absolute = 0, RM_Relative = 1, RM_RelativeOneWay = 2 }
 Message value relative modes. More...
 
enum  Selectors {
  SEL_BankSelect = 0x0000, SEL_PortamentoSwitch = 0x0041, SEL_Legato = 0x0044,
  SEL_AllSoundOff = 0x0078, SEL_ResetAllControllers = 0x0079, SEL_LocalControl = 0x007A,
  SEL_AllNoteOff = 0x007B, SEL_OmniModeOff = 0x007C, SEL_OmniModeOn = 0x007D,
  SEL_MonoModeOn = 0x007E, SEL_PolyModeOn = 0x007F, SEL_Touch = 0x0085,
  SEL_SectionOctave = 0x00A3, SEL_SectionQuarterTone = 0x00A4, SEL_SectionSemitone = 0x00A5,
  SEL_OscillatorOctave = 0x00A6, SEL_OscillatorQuarterTone = 0x00A7, SEL_OscillatorSemitone = 0x00A8,
  SEL_OscillatorSynchronization = 0x00AA, SEL_Unison = 0x00B0, SEL_Enable = 0x00D7,
  SEL_Bypass = 0x00D8, SEL_LFOControl = 0x00E0, SEL_LFOWaveSelect = 0x00E1,
  SEL_LFOSync = 0x00E2, SEL_RotarySpeed = 0x00EE, SEL_FilterArchitecture = 0x00F0,
  SEL_FilterSlope = 0x00F1, SEL_FilterType = 0x00F2, SEL_Waveform = 0x00F9,
  SEL_Wavetable = 0x00FA, SEL_PitchWheelQuantizing = 0x0100, SEL_ToneQuantizing = 0x0101,
  SEL_OverallPitchQuantizing = 0x0102, SEL_PortamentoCurve = 0x0105, SEL_PortamentoTimeMode = 0x0106,
  SEL_ArpeggioMode = 0x0109, SEL_ArpeggioPatternSelect = 0x010A, SEL_ArpeggioRange = 0x010B,
  SEL_ArpeggioLatch = 0x010C, SEL_PlayDirection = 0x0114, SEL_Unassigned = 0x0120,
  SEL_IndexSetting = 0x0121, SEL_ModifierSetting = 0x0122, SEL_SelectorSetting = 0x0123,
  SEL_EnvelopeDecayReleaseSwitch = 0x0144, SEL_ProgramSelAndLoad = 0x0160, SEL_ProgramFamily = 0x0161,
  SEL_ProgramLibrary = 0x0162, SEL_ProgramSel = 0x0163, SEL_ModulationSource = 0x0168,
  SEL_ModulationDestination = 0x0169, SEL_VoicingMode = 0x016A, SEL_VoiceControl = 0x016B,
  SEL_PolyphonyLimit = 0x016C, SEL_Save = 0x0170, SEL_Load = 0x0171,
  SEL_Delete = 0x0172, SEL_Default = 0x0173, SEL_PercussionSwitch = 0x017B,
  SEL_LeakageSwitch = 0x017D, SEL_KeyClickSwitch = 0x017E, SEL_OrganStopSwitch1 = 0x0180,
  SEL_OrganStopSwitch2 = 0x0181, SEL_OrganStopSwitch3 = 0x0182, SEL_OrganStopSwitch4 = 0x0183,
  SEL_OrganStopSwitch5 = 0x0184, SEL_OrganStopSwitch6 = 0x0185, SEL_OrganStopSwitch7 = 0x0186,
  SEL_OrganStopSwitch8 = 0x0187, SEL_OrganStopSwitch9 = 0x0188, SEL_OrganStopSwitch10 = 0x0189,
  SEL_OrganStopSwitch11 = 0x018A, SEL_OrganStopSwitch12 = 0x018B, SEL_MTC = 0x0209,
  SEL_SongPositionPointer = 0x020A, SEL_SongSelect = 0x020B, SEL_TuneRequest = 0x020E,
  SEL_MIDIDrumNote = 0x020F, SEL_DHCPMode = 0x5000, SEL_AudioSamplingRate = 0x5010,
  SEL_AudioResolution = 0x5011, SEL_AudioModes = 0x5012, SEL_AudioStreamEnabled = 0x5023,
  SEL_AudioSourceStream = 0x5024, SEL_AudioSourceChannel = 0x5025, SEL_AdvancedConfigEnabled = 0x5100,
  SEL_CustomZoneStop = 0x8000, SEL_CustomZoneStart = 0xFFFD, SEL_None = 0xFFFE,
  SEL_Any = 0xFFFF
}
 Selectors numbers. More...
 
enum  SelectorInformationProfiles {
  SIP_None = 0x0000, SIP_ActionTrigger = 0x0001, SIP_SupportVoiceID = 0x0010,
  SIP_SupportAutomation = 0x0020, SIP_SupportMorphing = 0x0040, SIP_SupportPreLoad = 0x0080,
  SIP_SupportTransaction = 0x0100, SIP_Monitor = 0x0200, SIP_StaticList = 0x0400,
  SIP_ExpandIndexedParameters = 0x0800, SIP_GhostValue = 0x1000, SIP_Administrator = 0x2000,
  SIP_ReadOnly = 0x4000
}
 Selector information profiles This combination of values can be handled by CPNS::CombinedSelectorInformationProfiles. More...
 
enum  SnapshotModes { SM_None = 0x0000, SM_Saving = 0x0001, SM_Restoring = 0x0002 }
 Currently running Snapshot modes. More...
 
enum  Signals {
  SIGB_Directed = 0x1000, SIGB_Broadcast = 0x2000, SIGB_Query = 0x4000,
  SIGB_Sys = 0x8000, _SIBG_Mask_ = 0xF000, _SIG_NumberMask_ = 0x0FFF,
  SIG_AllNoteOff = 0x0000 | SIGB_Directed | SIGB_Broadcast, SIG_AllSoundOff = 0x0001 | SIGB_Directed | SIGB_Broadcast, SIG_Busy = 0x0010 | SIGB_Directed | SIGB_Broadcast,
  SIG_Ready = 0x0011 | SIGB_Directed | SIGB_Broadcast, SIG_QReady = 0x0012 | SIGB_Directed | SIGB_Query, SIG_PreloadCommit = 0x0013 | SIGB_Directed | SIGB_Broadcast,
  SIG_PreloadCancel = 0x0014 | SIGB_Directed | SIGB_Broadcast, SIG_MoveGUIToFront = 0x0015 | SIGB_Directed, SIG_LearningCancel = 0x0032 | SIGB_Broadcast,
  SIG_Status = 0x0040 | SIGB_Directed | SIGB_Broadcast, SIG_QStatus = 0x0041 | SIGB_Directed | SIGB_Query, SIG_PlaybackStart = 0x0042 | SIGB_Broadcast,
  SIG_PlaybackEnd = 0x0043 | SIGB_Broadcast, SIG_Pause = 0x0100 | SIGB_Directed, SIG_Resume = 0x0101 | SIGB_Directed,
  SIG_Start = 0x0102 | SIGB_Directed, SIG_Stop = 0x0103 | SIGB_Directed, SIG_UnlockFlowControl = 0x0210 | SIGB_Directed | SIGB_Broadcast,
  SIG_CustomZoneStop = 0x0C00, SIG_CustomZoneStart = 0x0FFD, SIG_None = 0xFFFE,
  SIG_Any = 0xFFFF
}
 Signals numbers. More...
 
enum  SnapshotBlockPriorities {
  SBP_None = 0x00, SBP_Low = 0x40, SBP_AppLow = 0x80,
  SBP_AppMed = 0x90, SBP_AppHigh = 0xA0, SBP_High = 0xC0
}
 Snapshot block priorities. More...
 
enum  SnapshotTypes {
  ST_None = 0x00, ST_InternalSettings = 0x01, ST_ApplicationSettings = 0x02,
  ST_ApplicationAdditionalData = 0x03, ST_ApplicationCurrentPreset = 0x04
}
 Snapshot block types. More...
 
enum  SharedDisplayCaps { SDC_None = 0x0000, SDC_CtrlKeys = 0x0001, SDC_Keyboard = 0x0002 }
 Shared display capabilities This combination of values can be handled by CPNS::CombinedSharedDisplayCaps. More...
 
enum  SharedDisplayCursorTypes { SDCT_None = 0x00, SDCT_On = 0x01, SDCT_Blinking = 0x02 }
 Shared display cursor types. More...
 
enum  SharedDisplayKeyTypes {
  SDKT_None = 0x0000, SDKT_KeyboardEntry = 0x0001, SDKT_Enter = 0x0002,
  SDKT_Up = 0x0003, SDKT_Down = 0x0004, SDKT_Left = 0x0005,
  SDKT_Right = 0x0006, SDKT_Escape = 0x0007, SDKT_Backspace = 0x0008
}
 Shared display key types. More...
 
enum  Texts {
  TXT_SLDisplay = 0x0000, TXT_Status = 0x0080, TXT_Path = 0x0081,
  TXT_DevName = 0x0100, TXT_SectName = 0x0101, TXT_ProgramName = 0x0102,
  TXT_SeqTrack = 0x0200, TXT_ChanStrip = 0x0400, TXT_MixGroup = 0x0401,
  TXT_IPAddress = 0x6000, TXT_IPMask = 0x6001, TXT_MultiCastIPAddress = 0x6002,
  TXT_MultiCastIPPort = 0x6003, TXT_AudioDelayTime = 0x6010, TXT_AudioDelaySamples = 0x6011,
  TXT_AudioStreamName = 0x6020, TXT_AudioChannelName = 0x6021, TXT_AudioStreamStatus = 0x6022,
  TXT_AudioSourcePath = 0x6023, TXT_CustomZoneStop = 0x8000, TXT_CustomZoneStart = 0xFFFD,
  TXT_None = 0xFFFE, TXT_Any = 0xFFFF
}
 Texts numbers. More...
 
enum  TextInformationProfiles {
  TIP_None = 0x0000, TIP_SupportVoiceID = 0x0010, TIP_SupportAutomation = 0x0020,
  TIP_SupportPreLoad = 0x0080, TIP_SupportTransaction = 0x0100, TIP_Monitor = 0x0200,
  TIP_Title = 0x0400, TIP_ExpandIndexedParameters = 0x0800, TIP_RightAlign = 0x1000,
  TIP_Administrator = 0x2000, TIP_ReadOnly = 0x4000, TIP_Password = 0x8000
}
 Text information profiles This combination of values can be handled by CPNS::CombinedTextInformationProfiles. More...
 
enum  TimeStampFlags {
  TSF_None = 0x0000, TSF_SongPosition = 0x0001, TSF_SystemTime = 0x0002,
  _TSK_TypeMask_ = 0x7FFF, TSF_Offline = 0x8000
}
 Timestamp flags This combination of values can be handled by CPNS::CombinedTimeStampFlags. More...
 
enum  TransactionModes {
  TM_TransactionNone = 0x0000, TM_TransactionStart = 0x4000, TM_TransactionRunning = 0x8000,
  TM_TransactionEnd = 0xC000
}
 Transaction modes. More...
 
enum  WarningDomains {
  WD_None = 0x0000, WD_Performance = 0x0001, WD_SoundProduction = 0x0002,
  WD_PublicAddress = 0x0004, WD_Lighting = 0x0008, WD_Theatrical = 0x0010,
  WD_System = 0x0020, WD_Network = 0x1000, WD_CHAI = 0x2000
}
 Warning domains. More...
 
enum  WarningCodes {
  WCB_Top = 0x0000, WCB_High = 0x4000, WCB_Medium = 0x8000,
  WCB_Low = 0xC000, _WCB_Mask_ = 0xC000, WCC_User = 0x0000,
  WCC_Debug = 0x1000, WCC_VNM = 0x2000, WCC_CHAI = 0x3000,
  _WCC_Mask_ = 0x3000, WC_OutOfMemory = 0x0000 | WCC_VNM | WCB_Top, WC_EthernetSendQueueFull = 0x0001 | WCC_VNM | WCB_High,
  WC_EthernetReceiveQueueFull = 0x0002 | WCC_VNM | WCB_High, WC_EthernetSendFailedAPI = 0x0003 | WCC_VNM | WCB_High, WC_EthernetSendFailedPacketTooLarge = 0x0004 | WCC_VNM | WCB_High,
  WC_EthernetMessageListFull = 0x0005 | WCC_VNM | WCB_High, WC_EthernetHeaderListFull = 0x0006 | WCC_VNM | WCB_High, WC_EthernetTooManyRetry = 0x0007 | WCC_VNM | WCB_Low,
  WC_EthernetReceivedFailedPacketTooSmall = 0x0008 | WCC_VNM | WCB_High, WC_EthernetReceivedFailedPacketTooLarge = 0x0009 | WCC_VNM | WCB_High, WC_EthernetReceivedFailedLoopback = 0x000A | WCC_VNM | WCB_High,
  WC_EthernetReceivedFailedACKForNotYetSentMessage = 0x000B | WCC_VNM | WCB_High, WC_EthernetReceivedFailedACKForUnknownMessage = 0x000C | WCC_VNM | WCB_High, WC_EthernetReceivedFailedUnknownVersion = 0x000D | WCC_VNM | WCB_High,
  WC_EthernetReceivedFailedInvalidCRC = 0x000E | WCC_VNM | WCB_Medium, WC_EthernetMessageListAlmostFull = 0x000F | WCC_VNM | WCB_Medium, WC_EthernetMessageListAlmostEmpty = 0x0010 | WCC_VNM | WCB_Medium,
  WC_EthernetReceiveQueueAlmostFull = 0x0011 | WCC_VNM | WCB_Medium, WC_EthernetReceiveQueueAlmostEmpty = 0x0012 | WCC_VNM | WCB_Medium, WC_EthernetReceivedFailedBadVersion = 0x0013 | WCC_VNM | WCB_Medium,
  WC_LinkReceiveInvalidCRC = 0x0030 | WCC_VNM | WCB_Medium, WC_LinkReceiveQueueAlmostFull = 0x0031 | WCC_VNM | WCB_Medium, WC_LinkReceiveQueueFull = 0x0032 | WCC_VNM | WCB_High,
  WC_FlowControl = 0x0033 | WCC_VNM | WCB_Medium, WC_ImpossibleToCreateVMIDI = 0x0034 | WCC_VNM | WCB_High, WC_ImpossibleToCreateVMIDILink = 0x0035 | WCC_VNM | WCB_High,
  WC_TrashcanIsGrowingOutOfControl = 0x0000 | WCC_CHAI | WCC_Debug, WC_TaskNumberIsGrowingOutOfControl = 0x0001 | WCC_CHAI | WCC_Debug, WC_TaskLasting = 0x0002 | WCC_CHAI | WCC_Debug,
  WC_TasknoReply = 0x0003 | WCC_CHAI | WCC_Debug, WC_TooManyDestinations = 0x0100 | WCC_CHAI | WCB_High, WC_TooManyRecordingDestinations = 0x0101 | WCC_CHAI | WCB_High,
  WC_DisabledDestinationRemoved = 0x0102 | WCC_CHAI | WCB_Low, WC_DisabledRecordingDestinationRemoved = 0x0103 | WCC_CHAI | WCB_Low, WC_FCManager_BadMethodID = 0x0F00 | WCC_CHAI | WCB_High,
  WC_ContextManagerNHQueueAlmostFull = 0x0F01 | WCC_CHAI | WCB_Medium, WC_ContextManagerNHQueueFull = 0x0F02 | WCC_CHAI | WCB_High, WC_ContextManagerARHQueueAlmostFull = 0x0F03 | WCC_CHAI | WCB_Medium,
  WC_ContextManagerARHQueueFull = 0x0F04 | WCC_CHAI | WCB_High, _WC_NumberMask_ = 0x0FFF
}
 Warning codes This combination of values can be handled by CPNS::CombinedWarningCodes. More...
 
enum  WatcherPOIs {
  WPOI_None = 0x0000, WPOI_All = 0xFFFF, WPOI_Destinations = 0x0001,
  WPOI_Sources = 0x0002, WPOI_Controllers = 0x0004, WPOI_SmartConnect = 0x0008,
  WPOI_Properties = 0x0010, WPOI_Audio = 0x0020
}
 Watcher's points of interest This combination of values can be handled by CPNS::CombinedWatcherPOIs. More...
 
typedef CPNS::uint64 SectionTypes
 Section types. More...
 

Static Public Attributes

static const SectionTypes SECTCAT_None = 0x0000000000000000ULL
 Category none, should not be assigned. More...
 
static const SectionTypes SECTCAT_Music = 0x1000000000000000ULL
 Category Music. More...
 
static const SectionTypes SECTCAT_Clock = 0x2000000000000000ULL
 Category Clock. More...
 
static const SectionTypes SECTCAT_Settings = 0x3000000000000000ULL
 Category Settings. More...
 
static const SectionTypes SECTCAT_Control = 0x4000000000000000ULL
 Category Parameter control. More...
 
static const SectionTypes SECTCAT_ShowControl = 0x5000000000000000ULL
 Category Control. More...
 
static const SectionTypes _SECT_CategoryMask_ = 0xF000000000000000ULL
 Masks. More...
 
static const SectionTypes _SECTT_TypeMask_ = 0x0FFFFFFFFFFFFFFFULL
 
static const SectionTypes SECT_Master = 0x0000000000000001ULL | SECTCAT_Control
 Master section. Should host the controls/params that act on the other sections part of the same input. More...
 
static const SectionTypes SECT_Envelope = 0x0000000000000002ULL | SECTCAT_Control
 Envelope. More...
 
static const SectionTypes SECT_LFO_ModGen = 0x0000000000000004ULL | SECTCAT_Control
 LFO & modulation generator. More...
 
static const SectionTypes SECT_VCO_WaveGen = 0x0000000000000008ULL | SECTCAT_Control
 VCO, wave generator. More...
 
static const SectionTypes SECT_VCF_Filter_Wah = 0x0000000000000010ULL | SECTCAT_Control
 VCF, filter; wah (not equalizer) More...
 
static const SectionTypes SECT_VCA_LevCtrl_Tremolo = 0x0000000000000020ULL | SECTCAT_Control
 VCA, level control and modulation, tremolo. More...
 
static const SectionTypes SECT_RingModulator = 0x0000000000000040ULL | SECTCAT_Control
 Ring modulator. More...
 
static const SectionTypes SECT_Equalizer = 0x0000000000000080ULL | SECTCAT_Control
 Equalizer. More...
 
static const SectionTypes SECT_DynProc = 0x0000000000000100ULL | SECTCAT_Control
 Dynamic processing, compressor, limiter, expander, noise gate. More...
 
static const SectionTypes SECT_Dist_Overdrv = 0x0000000000000200ULL | SECTCAT_Control
 Distortion, overdrive, fuzz, feedbacker. More...
 
static const SectionTypes SECT_StepSequ = 0x0000000000000400ULL | SECTCAT_Control
 Step sequencer. More...
 
static const SectionTypes SECT_Mixer = 0x0000000000000800ULL | SECTCAT_Control
 Mixer (audio or modulation) More...
 
static const SectionTypes SECT_Delay = 0x0000000000001000ULL | SECTCAT_Control
 Delay, echo, slapback, looper. More...
 
static const SectionTypes SECT_Reverb = 0x0000000000002000ULL | SECTCAT_Control
 Reverberation. More...
 
static const SectionTypes SECT_Arpeg = 0x0000000000004000ULL | SECTCAT_Control
 Arpeggiator, accompaniment generator. More...
 
static const SectionTypes SECT_Chorus_Flanger = 0x0000000000008000ULL | SECTCAT_Control
 Chorus, flanger, phaser. More...
 
static const SectionTypes SECT_Noise = 0x0000000000010000ULL | SECTCAT_Control
 Noise generator. More...
 
static const SectionTypes SECT_Harmonizer = 0x0000000000020000ULL | SECTCAT_Control
 Harmonizer, pitch shifter, harmony generator, pitch corrector. More...
 
static const SectionTypes SECT_Spatializer = 0x0000000000040000ULL | SECTCAT_Control
 Spatializer, panner, rotary. More...
 
static const SectionTypes SECT_Sampler = 0x0000000000080000ULL | SECTCAT_Control
 Sampler (capture & replay) More...
 
static const SectionTypes SECT_Enhancer = 0x0000000000100000ULL | SECTCAT_Control
 Enhancer, aural exciter, harmonics processor. More...
 
static const SectionTypes SECT_Switcher = 0x0000000000200000ULL | SECTCAT_Control
 Switcher, selector, matrix, configurator (audio or modulation) More...
 
static const SectionTypes SECT_Tempo_Timing = 0x0000000000400000ULL | SECTCAT_Control
 Tempo, timing. More...
 
static const SectionTypes SECT_Melody = 0x0000000000800000ULL | SECTCAT_Control
 Melody. More...
 
static const SectionTypes SECT_PerfExpr = 0x0000000001000000ULL | SECTCAT_Control
 Performance Expression Modulation matrix. More...
 
static const SectionTypes SECT_Essential = 0x0000000002000000ULL | SECTCAT_Control
 Essential. More...
 
static const SectionTypes SECT_AudioSettings = 0x0000000004000000ULL | SECTCAT_Control
 Audio global settings. More...
 
static const SectionTypes SECT_AudioSourceStream = 0x0000000008000000ULL | SECTCAT_Control
 Audio source stream settings. More...
 
static const SectionTypes SECT_AudioOutputChannel = 0x0000000010000000ULL | SECTCAT_Control
 Audio output channel settings. More...
 
static const SectionTypes SECT_Other = 0x0800000000000000ULL | SECTCAT_Control
 Other. More...
 
static const SectionTypes SECT_Multipurpose = 0x0FFFFFFFFFFFFFFFULL | SECTCAT_Control
 Multipurpose, generic. More...
 
static const SectionTypes SECT_Settings = 0x0000000000000001ULL | SECTCAT_Settings
 General settings. More...
 
static const SectionTypes SECT_EnhMusic = 0x0000000000000001ULL | SECTCAT_Music
 CopperLan only messaging (CopperLan enhanced musicality) More...
 
static const SectionTypes SECT_MIDI = 0x0000000000000002ULL | SECTCAT_Music
 MIDI messaging (supports only MIDI equivalent messages, no free pitch nor enhanced gating) More...
 
static const SectionTypes SECT_Music = SECT_EnhMusic | SECT_MIDI
 Full CopperLan messaging (supports standard MIDI messaging in addition to the CopperLan enhanced musicality) More...
 
static const SectionTypes SECT_MasterKeyboard = 0x0000000000000004ULL | SECTCAT_Music
 Master keyboard. More...
 
static const SectionTypes SECT_SecondaryKeyboard = 0x0000000000000008ULL | SECTCAT_Music
 Secondary keyboard. More...
 
static const SectionTypes SECT_Pedal = 0x0000000000000010ULL | SECTCAT_Music
 Pedal keyboard. More...
 
static const SectionTypes SECT_Drum = 0x0000000000000020ULL | SECTCAT_Music
 Drum. More...
 
static const SectionTypes SECT_Clock = 0x0000000000000001ULL | SECTCAT_Clock
 Clock. More...
 
static const SectionTypes SECT_DMX = 0x0000000000000001ULL | SECTCAT_ShowControl
 DMX. More...
 
static const SectionTypes SECT_None = 0x0000000000000000ULL
 
static const SectionTypes SECT_Any = 0xFFFFFFFFFFFFFFFFULL
 

Detailed Description

Enums class contains enum declaration.

Use enums instead of raw values to set or get options, parameters, etc.

Member Typedef Documentation

typedef CPNS::uint64 CPNS::Enums::SectionTypes

Section types.

Member Enumeration Documentation

Async operation result.

Enumerator
AR_Done 

Operation done.

Provided data is invalid.

Remarks
The Async handler becomes invalid on notification return.
Warning
This is a regular end of async. Do not confuse with AR_Canceled.
AR_Succeeded 

Operation succeeded.

Remarks
The Async handler becomes invalid on notification return.
AR_ToBeContinued 

Operation succeeded, but not yet terminated.

The notification handler will be called again with the same async pointer.

Warning
The Async handler DO NOT becomes invalid on notification return!!!
AR_LastBatchItem 

Operation succeeded.

This is the last item for this reply batch.

Remarks
The Async handler becomes invalid on notification return.
Warning
It does not mean that no more items are available from the list! It is just the last item of this batch!
AR_Canceled 

Operation canceled.

Remarks
The Async handler becomes invalid on notification return.

Audio types.

Enumerator
AT_Audiolan 

Archwave Audiolan.

Notification types related to base local devices.

Used by the BaseLocalDevice notification handler to inform the application.

See Also
CPNS::IBaseLocalDevice_NotificationHandler::OnBaseLocalDevice_Notification
Enumerator
BLDNT_NewDuplicateNumber 

A new duplicate number was assigned to the device.

BLDNT_FixedDuplicateConflict 

The fixed duplicate number is in conflict with another device on the network.

BLDNT_Activated 

The device is activated and ready to communicate with other devices on the network.

BLDNT_Deactivated 

The device is deactivated and unable to communicate with other devices on the network.

BLDNT_NoMoreFreeDuplicate 

No available duplicate.

BLDNT_RootNotFound 

Root not found.

BLDNT_CustomNameChanged 

Custom name remotely changed.

BLDNT_DuplicateModeChanged 

Duplicate mode remotely changed.

BLDNT_DataConsumedOnMIDISys 

Data consumed on a MIDI Sys output without notification handler.

BLDNT_FlowControlReadyToSend 

Flow control is deactivated for an output without notification handler.

BLDNT_FlowControlNotReadyToSend 

Flow control is activated for an output without notification handler.

Notifications types for CHAI Used by the CHAI notification handler to inform the application.

See Also
CPNS::ICHAI_NotificationHandler::OnCHAI_Notification
Enumerator
CNT_Connected 

The CHAI is connected to the network.

CNT_Disconnected 

The CHAI is disconnected from the network.

CNT_LocalFixedDuplicateConflict 

There is a conflict regarding local device duplicate number set if Fixed mode.

CNT_LocalDuplicateChanged 

A local duplicate conflict has been resolved before device declaration on the network.

CNT_NetworkStable 

The network is stable (no device activation change during last 500ms)

CNT_NetworkChanged 

The network has been changed (machine dis/connected).

A CNT_NetworkStable notification will occur later. Network changed is due to a physical network change. A complete machine, and so a set of devices, just appears or disappears. So a new device enumeration might be useful to identify potential new devices. If any remote device points to a disappeared device, a DeviceDiscarded notification will be called.

CNT_VNMNotEnoughMemory 

The VNM is out of memory.

CNT_VNMNotCompatible 

The VNM is incompatible with this version of the SDK.

CNT_GroupsChanged 

The CHAI groups remotely changed.

CNT_GlobalLearningModeRunning 

Global Learning mode is active. optionalEndpoint's device ID points to the device currently in learning mode.

CNT_GlobalLearningModeLeaved 

Global Learning mode is turned off. optionalEndpoint's device ID points to the device currently in learning mode.

CNT_SnapshotSavingRunning 

Snapshot saving is active.

CNT_SnapshotRestoreRunning 

Snapshot restoring is active.

CNT_SnapshotSavingComplete 

Snapshot saving is complete.

CNT_SnapshotRestoreComplete 

Snapshot restoring is complete.

CNT_InvalidKey 

Invalid SDK Key.

CNT_GlobalClockSynchronized 

Global clock synchronized.

CNT_InternalError 

The CHAI encounter an internal error.

Clock commands.

See Also
CPNS::IInput_ClockListenerControlNotificationHandler::OnInput_ClockCommand
Enumerator
CC_FillIn 

Din-sync compatibility.

CC_StateOn 

Din-sync compatibility.

CC_StateOff 

Din-sync compatibility.

Controller assignment reasons.

See Also
CPNS::IController_NotificationHandler::OnController_Assign
Enumerator
CAR_FromApplication 

Assignment ordered by the application side (CPNS::IController::Assign call)

CAR_SmartConnect 

Issued from a SmartConnect procedure.

CAR_Learning 

Issued from a Learning procedure.

CAR_RemoteAssign 

Assignment issued remotely from 3rd party application.

CAR_Unassign 

Controller reset to its default assignment (CPNS::IController::Unassign call, CPNS::IBaseLocalDevice::UnassignAllControllers, or issued remotely from 3rd party application),.

CAR_TargetRemoved 

The target endpoint is no longer available and has been deleted.

Same cause as CPNS::Enums::ODCO_DisabledRemoved.

CAR_SnapshotRecall 

Issued from a Snapshot recall.

Tells how to send the value from a Controller.

See Also
CPNS::IController::SendValue
Enumerator
CSM_Absolute 

Absolute value.

For Modifiers: full scale value 0x0000 -> 0xFFFF. For Selectors: item related value

CSM_Relative 

Relative value.

For modifiers: the value is simply an offset from the current value. Just cast the CPNS::uint16 value to CPNS::int16. 0x0000 is 0, 0x0001 is 1 and 0xFFFF is -1.

Remarks
If the resulting value is going out of range, it is adjusted by a modulo operation to loop around the effective range.
CSM_RelativeOneWay 

Relative value, one way Similar to relative value, but the final value runs into the terminals instead of looping.

CSM_Proportional 

Proportional value For Modifiers: similar to CSM_Absolute mode For Selectors: the item is selected by a proportional mapping of the 0x0000 -> 0xFFFF value to the number of items in the list.

Remarks
This proportional mode is the one to be used by generic Controllers that does not care about the sent message type.

Controller types.

It is composed of the supported message types and the physical controller description. This combination of values can be handled by CPNS::CombinedControllerTypes.

Enumerator
CT_MsgMod 

Message type flag: the controller is able to manage Modifier messages This value is MT_Modifier << 12.

CT_MsgSel 

Message type flag: the controller is able to manage Selector messages This value is MT_Selector << 12.

CT_MsgTxt 

Message type flag: the controller is able to manage Text messages This value is MT_Text << 12.

_CT_MsgFlagsMask_ 

Use it to mask the supported message types.

_CT_NeedleBalistics_ 

Display option flag: used needle ballistics.

_CT_Peak_ 

Display option flag: display peak values.

_CT_Bipolar_ 

Option flag: provides/display bipolar values.

_CT_Reverse_ 

Option flag: provides/display reversed values.

_CT_Relative_ 

Controller option flag: provides relative value.

_CT_Zero_ 

Controller option flag: the controller returns to 0 automatically.

_CT_Monitor_ 

Option flag: the controller is a monitor and doesn't send any value.

_CT_OptionFlagsMask_ 

Use it to mask the flags.

CT_XWheel 

Controller: vertical wheel.

CT_XWheelZero 

Controller: vertical wheel with return to 0.

CT_YWheel 

Controller: horizontal wheel.

CT_YWheelZero 

Controller: horizontal wheel with return to 0.

CT_Knob 

Controller: knob (potentiometer, sending absolute value)

CT_Encoder 

Controller: encoder (sending relative value)

CT_XSlider 

Controller: horizontal slider, X axis distance sensor.

CT_YSlider 

Controller: vertical slider, Y axis distance sensor.

CT_ZSlider 

Controller: Z axis distance sensor, perpendicular to the control surface.

CT_PushButton 

Controller: push button Usually a push button receives one or both valueDown or valueUp.

If no value is passed, just send an increment.

CT_PlusMinusButton 

Controller: dual buttons (up & down)

CT_Text 

Controller: text editor.

CT_List 

Controller: selection in a list.

CT_PedalSwitch 

Controller: pedal switch.

CT_PedalContinue 

Controller: pedal continue.

CT_TextIPV4 

Controller: IP address text editor (x.x.x.x)

_CT_ControllerBaseTypeMask_ 

Use it to mask the controller basic types.

CT_RingMeter 

Display: ring bar graph.

CT_MeterX 

Display: horizontal bar graph.

CT_MeterXPeak 

Display: horizontal bar graph with peak.

CT_MeterY 

Display: vertical bar graph.

CT_MeterYPeak 

Display: vertical bar graph with peak.

CT_Galvanometer 

Display: galvanometer with needle ballistics.

CT_Label 

Display: text label.

CT_Led 

Display: led.

_CT_MonitorBaseTypeMask_ 

Use it to mask the monitor basic types.

CopperLan to MIDI input IDs Available for CPNS::ICP2MIDILocalDevice and CPNS::IHybridMIDILocalDevice.

DataConsume modes.

See Also
CPNS::IOutput::GetDestinationDataConsumeMode
Enumerator
DCM_NoDestination 

No destination specified.

DCM_TooManyDestinations 

More than one destination specified.

DCM_NoDataConsumed 

The target is not using DataConsumed.

DCM_UsesDataConsumed 

The target is using DataConsumed.

Data transfer message numbers.

Used to identify a data transfer message.

See Also
CPNS::IDataTransferMessage
Enumerator
DTN_CustomZoneStop 

Custom zone stop.

User numbers must be higher than this value

DTN_CustomZoneStart 

Custom zone start.

User numbers should be allocated from here downwards.

CopperLan Data types Data Types are used to identify numeric value format.

See Also
CPNS::IModifierMessage
Enumerator
DT_Knob16 

Knob position, from min (0x0000) to max (0xFFFF)

DT_MKZ16 

Mid-Knob Zero, -max (0x0001), zero (0x8000), +max (0xFFFF)

DT_UNS16 

Unsigned integer 16.

DT_UNS32 

Unsigned integer 32.

DT_UNS64 

Unsigned integer 64.

DT_SIG16 

Signed integer 16.

DT_SIG32 

Signed integer 32.

DT_SIG64 

Signed integer 64.

DT_FP16 

Floating point 16 (based on the IEEE754r revision of the ANSI/IEEE Std 754-1985 document)

DT_FP32 

Floating point 32 (based on the IEEE754r revision of the ANSI/IEEE Std 754-1985 document)

DT_FP64 

Floating point 64 (based on the IEEE754r revision of the ANSI/IEEE Std 754-1985 document)

DT_PER16 

Percentage 16, 2's complement signed value in 1/50th of a percent. -655,36% (0x0000), 0 (0x8000), +655,34%(0xFFFF)

DT_PER32 

Percentage 32, 2's complement signed value in 1/50th of a percent. -42949672,94% (0x00000000), 0 (0x80000000), +42949672,92%(0xFFFFFFFF)

DT_PIT16 

Absolute pitch, 0x0100 is a semitone step. Bits 15 to 8 represent the note number, 185 is the A above the middle C (440Hz), bits 7 to 0 represent the fractional pitch.

DT_RPIT16 

Relative pitch, -128 semitones (0x8000), 0 (0x0000), +127 semitones (0x7FFF)

DT_FRQ16 

Frequency 16, unsigned value, 0.25Hz per step.

DT_FRQ32 

Frequency 32, unsigned value, 1/100000Hz per step.

DT_720SA16 

Angle, signed value, -360° (0x8000), 0° (0x0000), ~360° (0x7FFF)

DT_360A16 

Angle, unsigned value, 0° (0x0000), 180° (0x8000), ~360° (0xFFFF)

DT_180A16 

Angle, unsigned value, 0° (0x0000), 90° (0x8000), ~180° (0xFFFF)

DT_SR32 

Linear Slew Rate, unsigned value, 1 millisecond per step.

DT_BPM16 

Beat per minute, Stopped (0x0000), 1/128th BPM (0x0001), 1BPM (0x0080), 511BPM (0xFF80), ~512BPM (0xFFFF)

DT_DC16 

Disc coordinates, unsigned value, distance from the center incrementing following a clockwise spiral.

DT_MOV16 

Move, signed value, mm/sec par step. -32.767M/sec (0x8001), stopped (0x0000), 1mm/sec (0x0001), +32.767M/sec (0x7FFF)

DT_DBU16 

dB unit, signed value, 1/200th of dB per step, -163?.84dB (0x8000), 0dB (0x0000), +163,835dB (0x7FFF)

DT_CUST16 

Custom 16.

DT_CUST32 

Custom 32.

DT_CUST64 

Custom 64.

Device capabilities.

It can be used for device filtering during enumeration. This combination of values can be handled by CPNS::CombinedDeviceCapabilities.

Enumerator
DC_None 

No capabilities.

DC_Any 

Any capabilities.

DC_Hidden 

The device should be hidden to the user.

Remarks
This capability is not consolidated!
DC_CHAI 

The device is a CHAI device. For standard usage, these devices has to be ignored.

DC_CP2MIDI 

The device has CopperLan to MIDI capabilities, it has 17 inputs. Automatically set for CP2MIDILocalDevices & HybridMIDILocalDevices.

DC_MIDI2CP 

The device has MIDI to CopperLan capabilities, it has 18 outputs. Automatically set for MIDI2CPLocalDevices & HybridMIDILocalDevices.

DC_SupportSnapshot 

DC_SupportSnapshot is automatically set when a snapshot notification handler is set for the device.

DC_SupportInternalSnapshot 

DC_SupportInternalSnapshot is automatically set when a device contains not hidden parameters, controllers and unlocked outputs.

DC_Parent 

DC_Parent is automatically set when a device is a parent device.

DC_SharedDisplay 

The device is a shared display device.

DC_Controllers 

The device is hosting controllers.

This kind of device is automatically a SmartConnect source

DC_SmartConnectTarget 

The device is a Smart Connect target, automatically set when a SmartConnect Target notification handler is set for the device.

DC_CPMusic 

Set automatically if the device is not a MIDI bridge (no DC_CP2MIDI not DC_MIDI2CP) and has IOC_Msg_Event input or output capability.

DC_VMIDILink 

The device is a VMIDILink. It MUST be associated to DC_Hidden and (DC_CP2MIDI and/or DC_MIDI2CP)

DC_Instrument 

The device is related to non-percussion instrument.

DC_Percussion 

The device is related to percussion instrument.

DC_Effect 

The device is related to effect.

DC_AudioSource 

The device is an audio source.

DC_AudioTarget 

The device is an audio target.

Notification types related to device declaration.

Used by the CHAI notification handler to inform the application about device declaration/modification

See Also
CPNS::ICHAINotificationHandler::OnCHAI_DeviceDeclaration
Enumerator
DDNT_DeviceDeclared 

Device declared.

Notified when a root device is declared on the network.

DDNT_DeviceModified 

Device modified (capabilities, name,...)

Notified when a root device is publishing a changed on the network.

DDNT_DeviceRedeclared 

Device redeclared.

Notified after a network change, merging two CopperLan networks, or when a machine appears on the network. In brief, when a VNM is added to the network.

Notifications types related to device discarding Used by the CHAI notification handler to inform the application about device removal from the network.

See Also
CPNS::ICHAI_NotificationHandler::OnCHAI_DeviceDiscarded
Enumerator
DDR_FixedDuplicateConflict 

[Network] Fixed duplicate conflict

DDR_LinkClosed 

[Network] Device removed because an application has been closed

DDR_DeviceRemoved 

[Network] Device removed in an application

DDR_LinkLost 

[Network] Device on a ghost link

DDR_LocalFixedDuplicateConflict 

[Local] Fixed duplicate conflict

DDR_Timeout 

[Local] Timeout between device duplicate resolution reply and device declaration

DDR_TooManyNodesInDeviceTable 

[Local] Maximum number of entry in DeviceTable reached

DDR_DuplicateNotUnique 

[Local] DeviceTable internal error

DDR_CannotModifyDevice 

[Local] Device not found when trying to modify it

DDR_CannotRemoveDevice 

[Local] Device not found when trying to remove it

DDR_CannotDeclareDevice 

[Local] Device not found when trying to declare it

DDR_DeviceNotFound 

[Network] Device not found in the network

DDR_DeviceMachineNotFound 

[Network] Device is on a machine not found in the network

Device name formats.

Used during a CPNS::IRemoteDevice::GetName_Async call to specify the requested name.

Enumerator
DNF_Auto 

Custom name if exists, else the Brand/Model/Duplicate.

DNF_ModelDuplicate 

Combination of model and duplicate number if non zero.

DNF_CustomName 

Custom name.

DNF_Brand 

Brand name.

DNF_Model 

Model name.

DNF_Machine 

Machine name.

DNF_BrandModelDuplicate 

Combination of brand, model and duplicate number if non zero.

Device properties.

Enumerator
DPS_CHAIVNMVersions 

Get a string formated like this: "CHAI:Version VNM:Version".

DPS_Path 

Get a string specifying the device's path: "root-device/sub-device/....".

DPS_BrandName 

Get the brand name.

DPS_ModelName 

Get the model name.

DPS_MAC 

Get the MAC address.

DPS_Platform 

Get the platform type (Windows, Mac...)

DPN_GetNumInputs 

Get the number of Inputs.

DPN_GetNumOutputs 

Get the number of Outputs.

DPN_GetNumDestinations 

Get the number of destinations for not locked and visible outputs.

DPN_GetNumRecordingDestinations 

Get the number of recording destinations for not locked and visible outputs.

DPN_BranchHasDestinations 

Check if the device and its sub-devices have destinations or assigned controllers Value is != 0 if the device or one of its children has some destination or assigned controllers.

DPN_VNMVersion 

Get the version of the VNM hosting the device.

DPN_CHAIVersion 

Get the version of the CHAI hosting the device.

DPN_DuplicateMode 

Get the duplicate mode.

DPN_GetNumControllers 

Get the number of Controllers.

DPN_AudioType 

Audio Device mode (AudioTypes value) Applied to any device (root or sub) having DC_AudioSource or DC_AudioTarget capability.

DPN_AudioSamplingRate 

Audio Device sampling rate (AudioSamplingRates value) Applied to any device (root or sub) having DC_AudioSource or DC_AudioTarget capability.

DPN_AudioResolution 

Audio Device resolution (AudioResolutions value) Applied to any device (root or sub) having DC_AudioSource or DC_AudioTarget capability.

DPN_ParamSetUID 

Get the current parameter set unique ID.

DPN_SlotID 

Slot identification.

Can be used to sort the slots within a rack.

DPN_AudioIconSource 

Audio Device's icon ID for source side.

DPN_AudioIconTarget 

Audio Device's icon ID for target side.

DP_CustomZoneStop 

Custom zone stop.

User numbers must be higher than this value

DP_CustomZoneStart 

Custom zone start.

User numbers should be allocated from here downwards.

Duplicate resolution modes.

Enumerator
DM_Fixed 

The duplicate number is fixed by the APP and cannot be altered by the CHAI.

DM_Auto 

The duplicate number can be modified by the network in case of conflict.

DM_Special_KeepValue 

Special value to be used with CPNS::IRemoteDevice::GenericChange to keep the current value.

Error codes.

Enumerator
ERR_None 

No error.

ERR_Failed 

Operation failed.

ERR_ItemNotFound 

Item not found.

ERR_BadSignature 

Bad signature.

ERR_Delayed 

The requested operation is delayed.

ERR_InvalidLength 

Invalid length.

ERR_InvalidArgument 

Invalid argument.

ERR_NotSupported 

Operation not supported.

ERR_NoMoreRoom 

No more room to add data.

ERR_BadRequestID 

Invalid request ID.

ERR_InvalidCall 

Invalid call, not related to the request.

ERR_BufferOverflow 

Buffer overflow.

ERR_MissingNotificationHandler 

A notification handler is missing.

ERR_SentToNotYetValidatedDestination 

Message has been sent to a destination not yet validated.

ERR_Canceled 

Task canceled.

ERR_BadVersion 

Bad version.

ERR_InvalidOutputID 

Invalid Output ID.

ERR_InvalidType 

Invalid type.

ERR_InvalidStatus 

Invalid internal status.

ERR_TooManyData 

Too many data.

ERR_BadSignalType 

Bad signal type (signal number not according the called method)

ERR_NoDestination 

No destination available.

ERR_NotEnoughMemory 

Not enough memory.

ERR_TooManyDestinations 

Too many destinations.

ERR_TooManyRecordingDestinations 

Too many recording destinations.

ERR_SnapshotInProgress 

Snapshot saving or recall is already in progress.

ERR_BufferTooSmall 

Buffer too small.

ERR_InvalidDevice 

The specified device is invalid.

ERR_Timeout 

Timeout.

ERR_InvalidValue 

Invalid value.

ERR_NotReadyToSend 

Not ready to send.

ERR_GlobalLearningRunning 

Global learning is running.

ERR_NotSmartConnectSource 

The device is not a SmartConnect source.

ERR_NotSmartConnectTarget 

The device is not a SmartConnect target.

ERR_SmartConnectAlreadyRunning 

SmartConnect operation is already running.

ERR_NoSmartConnectSessionRunning 

No SmartConnect session running.

ERR_MessageDontSupportMulticast 

Multicast is not allowed for this message.

ERR_OutOfRange 

Out of range value.

ERR_InvalidEndpoint 

Invalid endpoint.

ERR_BadSessionID 

Invalid session ID.

ERR_DeclaringDevices 

Error during device declaration.

ERR_NoSource 

No source available.

ERR_InvalidName 

invalid name

ERR_InvalidModuleID 

A sub-device creation attempt failed due to a moduleID conflict.

ERR_InvalidID 

The application ID can't be used in this context.

Event message Gate modes.

Enumerator
EGM_GateNone 

No gating information.

EGM_GateDamp 

Same as Gate Off but in percusive mode.

EGM_GateOff 

Set envelope to Release phase.

EGM_GateOn 

Set envelope to Attack phase from the current envelope level. Triggered.

EGM_GateRestart 

Set envelope to Attack phase from the default initial level. Triggered.

EGM_T_On 

Same as Gate On but in percusive mode. Triggered.

EGM_T_Restart 

Same as Gate Restart but in percusive mode. Triggered.

Event Wave Settings boundaries.

Enumerator
EWB_Start 

Wave starts to loop begin.

EWB_Loop 

Wave starts to loop end.

EWB_Full 

Wave starts to loop begin.

If a sample does not have a loop, modes Start and Loop will be considered as being Full.

EWB_X 

Special.

If the sound is a sample, the Wave Boundaries and Start Point are ignored.

Exploration commands.

Enumerator
EC_FindFirst 

Find first item for the specified section. ParamID is not used.

EC_FindNext 

Find next item for the specified section. ParamID is the current parameter.

EC_FindPrev 

Find previous item for the specified section. ParamID is the current parameter.

EC_FindLast 

Find last item for the specified section. ParamID is not used..

EC_Get 

Get specified item from ParamID. SectionID is not used.

Extended device capabilities.

It can not be used for device enumeration filtering. EDC_Category_Target and EDC_Category_Controller bits can be used to determine the device's nature. This combination of values can be handled by CPNS::CombinedExtendedDeviceCapabilities.

Enumerator
EDC_None 

No special caps.

EDC_Any 

Any capabilities.

_EDC_CategoryFieldMask_ 

Category bits mask.

_EDC_CategoryMask_ 

Category mask.

_EDC_SubCategoryFieldMask_ 

Sub-Category bits mask.

EDC_Embedded 

The device is located in an embedded hardware (automatically set by embedded CHAI)

EDC_FlowControl 

The device uses flowcontrol (automatically set by CHAI if SetFlowControlIncomingCapacity was called before with non zero value)

EDC_SupportsNameGenericChange 

The device supports name change.

EDC_SupportsDuplicateGenericChange 

The device supports duplicate information change.

Remarks
Only available for root devices!
EDC_SupportsGroupsGenericChange 

The device supports group change.

Remarks
Changing the group is global for the whole CHAI and will be applied to all local devices handled by the CHAI
_EDC_Category_Controller_ 

Controller identification bit.

_EDC_Category_Target_ 

Target identification bit.

_EDC_Instrument_ 

Instrument, except percussions.

EDC_InstrumentController 

Instrument controller, except percussions.

EDC_InstrumentTarget 

Instruments target, except percussions.

EDC_InstrumentControllerTarget 

Instruments controller + target, except percussions.

_EDC_Percussion_ 

Percussion.

EDC_PercussionController 

Percussion controller.

EDC_PercussionTarget 

Percussion target.

EDC_PercussionControllerTarget 

Percussion controller + target.

_EDC_Effect_ 

Effect.

EDC_EffectController 

Effect controller.

EDC_EffectTarget 

Effect target.

EDC_EffectControllerTarget 

Effect controller + target.

_EDC_SoundProduction_ 

Equipment used in the context of recording an production. Mixers, studio, automation, sound processing...

EDC_SoundProductionController 

Sound production controller.

EDC_SoundProductionTarget 

Sound production target.

EDC_SoundProductionControllerTarget 

Sound production controller + target.

_EDC_PublicAddress_ 

All equipment taking part in the distribution and amplification of sound, plus the processing when directly related to this domain.

EDC_PublicAddressController 

PublicAddress controller.

EDC_PublicAddressTarget 

PublicAddress target.

EDC_PublicAddressControllerTarget 

PublicAddress controller + target.

_EDC_Lighting 

Not all of the non-audio equipment used on stage but only the equipment that generates light.

EDC_LightingController 

Lighting controller.

EDC_LightingTarget 

Lighting target.

EDC_LightingControllerTarget 

Lighting controller + target.

_EDC_Theatrical_ 

Equipment typical of stage and theme parks that involves robotics, pyrotechnics, water control, etc.

EDC_TheatricalController 

Theatrical controller.

EDC_TheatricalTarget 

Theatrical target.

EDC_TheatricalControllerTarget 

Theatrical controller + target.

_EDC_System_ 

This can be equipment used to manage and monitor the snapshot (editing panels, system display, etc)

EDC_SystemController 

System controller.

EDC_SystemTarget 

System target.

EDC_SystemControllerTarget 

System controller + target.

EDC_Sub_Perc_AccBassDrum 

Percussion: Accoustic bass drum (General MIDI 35)

EDC_Sub_Perc_BassDrum 

Percussion: Bass drum (General MIDI 36)

EDC_Sub_Perc_SideStick 

Percussion: Side stick (General MIDI 37)

EDC_Sub_Perc_AccSnare 

Percussion: Accoustic snare (General MIDI 38)

EDC_Sub_Perc_HandClap 

Percussion: Hand clap (General MIDI 39)

EDC_Sub_Perc_ElecSnare 

Percussion: Electric snare (General MIDI 40)

EDC_Sub_Perc_LowFloorTom 

Percussion: Low floor tom (General MIDI 41)

EDC_Sub_Perc_HiHat 

Percussion: Hi hat (General MIDI 42, 44, 46)

EDC_Sub_Perc_HighFloorTom 

Percussion: High floor tom (General MIDI 43)

EDC_Sub_Perc_LowTom 

Percussion: Low tom (General MIDI 45)

EDC_Sub_Perc_LowMidTom 

Percussion: Low-mid tom (General MIDI 47)

EDC_Sub_Perc_HiMidTom 

Percussion: Hi-mid tom (General MIDI 48)

EDC_Sub_Perc_CrashCymbal1 

Percussion: Crash cymbal 1 (General MIDI 49)

EDC_Sub_Perc_HighTom 

Percussion: High tom (General MIDI 50)

EDC_Sub_Perc_RideCymbal1 

Percussion: Ride cymbal 1 (General MIDI 51)

EDC_Sub_Perc_ChineseCymbal 

Percussion: Chinese cymbal (General MIDI 52)

EDC_Sub_Perc_RideBell 

Percussion: Ride bell (General MIDI 53)

EDC_Sub_Perc_Tambourine 

Percussion: Tambourine (General MIDI 54)

EDC_Sub_Perc_SplashCymbal 

Percussion: Splash cymbal (General MIDI 55)

EDC_Sub_Perc_Cowbell 

Percussion: Cowbell (General MIDI 56)

EDC_Sub_Perc_CrashCymbal2 

Percussion: Crash cymbal 2 (General MIDI 57)

EDC_Sub_Perc_Vibraslap 

Percussion: Vibraslap (General MIDI 58)

EDC_Sub_Perc_RideCymbal2 

Percussion: Ride cymbal 2 (General MIDI 59)

EDC_Sub_Perc_HiBongo 

Percussion: Hi bongo (General MIDI 60)

EDC_Sub_Perc_LowBongo 

Percussion: Low bongo (General MIDI 61)

EDC_Sub_Perc_MuteHiConga 

Percussion: Mute hi conga (General MIDI 62)

EDC_Sub_Perc_OpenHiConga 

Percussion: Open hi conga (General MIDI 63)

EDC_Sub_Perc_LowConga 

Percussion: Low conga (General MIDI 64)

EDC_Sub_Perc_HighTimbale 

Percussion: High timbale (General MIDI 65)

EDC_Sub_Perc_LowTimbale 

Percussion: Low timbale (General MIDI 66)

EDC_Sub_Perc_HighAgogo 

Percussion: High agogo (General MIDI 67)

EDC_Sub_Perc_LowAgogo 

Percussion: Low agogo (General MIDI 68)

EDC_Sub_Perc_Cabasa 

Percussion: Cabasa (General MIDI 69)

EDC_Sub_Perc_Maracas 

Percussion: Maracas (General MIDI 70)

EDC_Sub_Perc_ShortWhistle 

Percussion: Short whistle (General MIDI 71)

EDC_Sub_Perc_LongWhistle 

Percussion: Long whistle (General MIDI 72)

EDC_Sub_Perc_ShortGuiro 

Percussion: Short guiro (General MIDI 73)

EDC_Sub_Perc_LongGuiro 

Percussion: Long guiro (General MIDI 74)

EDC_Sub_Perc_Claves 

Percussion: Claves (General MIDI 75)

EDC_Sub_Perc_HiWoodBlock 

Percussion: Hi wood block (General MIDI 77)

EDC_Sub_Perc_MuteCuica 

Percussion: Mute cuica (General MIDI 78)

EDC_Sub_Perc_OpenCuica 

Percussion: Open cuica (General MIDI 79)

EDC_Sub_Perc_MuteTriangle 

Percussion: Mute triangle (General MIDI 80)

EDC_Sub_Perc_OpenTriangle 

Percussion: Open triangle (General MIDI 81)

Device finding flags, can be combined This combination of values can be handled by CPNS::CombinedFindDeviceOptions.

Enumerator
FDO_None 

No special option.

FDO_NoHierarchy 

Do not take care of hierarchy information (pParentDevID is ignored)

FDO_LocalSearch 

Search only locally, on the same machine.

Flags for CHAI's global timer notification handler.

Used by the CHAI's global timer notification handler to inform the application. This combination of values can be handled by CPNS::CombinedGlobalTimerNotificationFlags.

See Also
CPNS::ICHAI_GlobalTimer_NotificationHandler::OnCHAI_GlobalTimer
Enumerator
GTNF_250ms 

Call the application each 250ms.

GTNF_500ms 

Call the application each 500ms.

GTNF_1s 

Call the application each second.

GTNF_5s 

Call the application each 5 seconds.

GTNF_10s 

Call the application each 10 seconds.

GTNF_Blink500msOn 

Call the application each second to signal time to turn on blinking led.

GTNF_Blink500msOff 

Call the application each second to signal time to turn off blinking led.

Input & Output capabilities This combination of values can be handled by CPNS::CombinedInOutCapabilities.

Enumerator
IOC_None 

No capabilities.

IOC_Any 

Any capabilities.

IOC_Msg_Event 

Supports polyphonic Event messages.

Used by Connection tool to match Outputs and compatible Inputs.

IOC_Msg_Modifier 

Supports Modifier messages.

Used by Connection tool to match Outputs and compatible Inputs.

IOC_Msg_Selector 

Supports Selector messages.

Used by Connection tool to match Outputs and compatible Inputs.

IOC_Msg_DataTransfer 

Supports Data Transfer messages.

Used by Connection tool to match Outputs and compatible Inputs.

IOC_Msg_Text 

Supports Text messages.

Used by Connection tool to match Outputs and compatible Inputs.

IOC_Hidden 

The input or output should be hidden to the user.

IOC_Transaction 

The input or output supports transactions.

IOC_ClockControl 

The input or output is a Clock Controller.

Used by Connection tool to match Outputs and compatible Inputs. Automatically set by the CHAI to input having CPNS::IInput_ClockListenerControlNotificationHandler notification handler registered. Used by Connection tool to match Outputs and compatible Inputs.

IC_ClockListener 

The input is a Clock Listener Automatically set by the CHAI to input having CPNS::IInput_ClockListenerControlNotificationHandler notification handler registered.

Used by Connection tool to match Outputs and compatible Inputs.

IC_HasParameters 

The input is exposing parameters.

Automatically set if at least a parameter has been defined for this input

OC_ClockGenerator 

The output is a Clock Generator.

Automatically set by the CHAI to output having CPNS::IOutput_ClockGeneratorNotificationHandler notification handler registered. Used by Connection tool to match Outputs and compatible Inputs.

OC_Controller 

The output is a Controller.

Automatically set for Controllers.

IC_Recording 

The input is a recorder. Automatically set if a IInput_NotificationHandler is registered for the input.

IC_NoDataConsumed 

The input does not need flow control.

Related to MIDISysex and CustomDataTransfer messages. If this flag is set for an input, the sender does not need to wait for the DataConsumed notification before sending the next message.

OC_Locked 

Setting this capability makes the output locked.

A locked output don't allow external destination handling. Only the related application is able to modify the destination set.

OC_NoRefresh 

Setting this capability informs the target that this output is not interested in being notified about parameters current value nor parameter set change.

OC_SingleTarget 

Setting this capability makes the output single targeted.

The output will automatically disconnect previous target when a new one is added.

Remarks
Only applicable to regular destinations. This capability has no impact on recording destinations.
IOC_TimeStamp 

Support Timestamping.

IOC_TimeStampPreprocess 

Support Timestamping and pre-processing.

IOC_MIDISys 

Supports MIDI messages non related to a channel. Used by Connection tool to match Outputs and compatible Inputs.

IOC_MIDIChannel 

Supports MIDI messages related to a channel. Used by Connection tool to match Outputs and compatible Inputs.

Input source change causes Used by the IInput notification handler to inform the application.

See Also
IInput_NotificationHandler
Enumerator
ISCC_NewSource 

A new source has been added to the input.

ISCC_SourceLost 

A source has been lost.

Performance Message types.

MIDI to CopperLan output IDs Available for CPNS::IMIDI2CPLocalDevice and CPNS::IHybridMIDILocalDevice.

MIDI Control Change MSB/LSB mode.

Modifier information profiles This combination of values can be handled by CPNS::CombinedModifierInformationProfiles.

Enumerator
MIP_None 

No profile.

_MIP_DM_Mask_ 

Display dynamics mode mask Use it to mask the display mode value.

MIP_DM_Normal 

Display mode: direct display with no inertia.

MIP_DM_Peak 

Display mode: normal display + peak indicator.

MIP_DM_VU 

Display mode: display with inertia (typically 300ms min to max)

MIP_SupportVoiceID 

Voice ID is supported.

MIP_SupportAutomation 

Automation is supported.

MIP_SupportMorphing 

Morphing is supported.

MIP_SupportPreLoad 

Pre-loading value is supported.

MIP_SupportTransaction 

Transaction is supported.

MIP_Monitor 

This modifier is to be used as monitoring display.

MIP_Bipolar 

This modifier is bipolar (0 is located at the mid-point)

MIP_ExpandIndexedParameters 

Each parameter related to this message should be assigned to distinct controllers (one for each index value) instead of using a single controller associated to an index selection.

MIP_Administrator 

The parameter should be shown only to administrators.

MIP_ReadOnly 

The parameter is not editable.

Modifiers numbers.

Enumerator
MOD_Pressure 
Remarks
The MOD_Pressure message is used by the MIDI polyphonic aftertouch. In this case, a VoiceID information is automatically attached by the MIDITranslator using the reserved range for MIDI backward compatibility (0xFF00 + MIDI note).
MOD_AudioDelayTime 

Audio delay.

MOD_CustomZoneStop 

Custom zone stop.

User numbers must be higher than this value

MOD_CustomZoneStart 

Custom zone start.

User numbers should be allocated from here downwards.

Object types.

Enumerator
_OT_HookedObjectFlag_ 

Mask for easy hooked object identification.

_OT_ClassMask_ 

Mask for object class.

_OT_SubtypeMask_ 

Mask for object sub-type withing a class.

OT_Chai 

Object having a CPNS::ICHAI interface.

OT_RemoteDevice 

Object having a CPNS::IRemoteDevice interface.

OT_DeviceEnumerationContext 

Object having a CPNS::IDeviceEnumerationContext interface.

OT_Output 

Object having a CPNS::IOutput interface.

OT_Input 

Object having a CPNS::IInput interface.

OT_Pipe 

Object having a CPNS::IPipe interface.

OT_Controller 

Object having a CPNS::IController interface.

OT_Parameter 

Object having a CPNS::IParameter interface.

OT_Timer 

Object having a CPNS::ITimer interface.

OT_IndexList 

Object having a CPNS::IIndexList interface.

OT_SelectorItemList 

Object having a CPNS::ISelectorItemList interface.

OT_ListID 

Object having a CPNS::IListID interface.

OT_LocalDevice 

Object having a CPNS::ILocalDevice interface.

OT_MIDI2CPLocalDevice 

Object having a CPNS::IMIDI2CPLocalDevice interface.

OT_CP2MIDILocalDevice 

Object having a CPNS::ICP2MIDILocalDevice interface.

OT_HybridMIDILocalDevice 

Object having a CPNS::IHybridMIDILocalDevice interface.

OT_SharedDisplayLocalDevice 

Object having a CPNS::ISharedDisplayLocalDevice interface.

OT_SharedDisplayClientLocalDevice 

Object having a CPNS::ISharedDisplayClientLocalDevice interface.

OT_VMIDILinkInLocalDevice 

Object having a CPNS::IVMIDILinkInLocalDevice interface.

OT_VMIDILinkOutLocalDevice 

Object having a CPNS::IVMIDILinkOutLocalDevice interface.

OT_VMIDILinkHybridLocalDevice 

Object having a CPNS::IVMIDILinkHybridLocalDevice interface.

OT_EventMessage 

Object having a CPNS::IEventMessage interface.

OT_ModifierMessage 

Object having a CPNS::IModifierMessage interface.

OT_SelectorMessage 

Object having a CPNS::ISelectorMessage interface.

OT_DataTransferMessage 

Object having a CPNS::IDataTransferMessage interface.

OT_MIDISysexMessage 

Internal object handling sysex.

OT_DiagnosticTimingMessage 

Object having a CPNS::IDiagnosticTimingMessage interface.

OT_TextMessage 

Object having a CPNS::ITextMessage interface.

OT_AudioLanLocalDevice 

Object having a CPNS::IAudioLanLocalDevice interface.

OT_AudioLanManager 

Object having a CPNS::IAudioLanAudioManager interface.

OT_AudioLanRemoteController 

Object having a CPNS::IAudioLanRemoteController interface.

OT_AudioLanRemoteDevice 

Object having a CPNS::IAudioLanManager interface.

Operations for Output Destination Change notification.

See Also
CPNS::IOutput_NotificationHandler::OnOutput_DestinationChange
Enumerator
ODCO_Added 

The destination has been added.

Can be used to check if the target device is allowed, or to re-send last messages in order to put the new target in a known state. A destination just added is invalid until ODCO_Enabled is notified. It is safe to send messages after ODCO_Enabled being notified.

ODCO_Removed 

The destination has been removed.

ODCO_Disabled 

The destination has been disabled because it is not reachable.

ODCO_Enabled 

Connection confirmation has been received by the destination input, so the related destination is fully accessible.

ODCO_DisabledRemoved 

The destination has been removed since not reachable for 60 seconds.

ODCO_AllDestinationsCleared 

The output has no more destination.

ODCO_RecAdded 

The recording destination has been added.

Can be used to check if the target device is allowed, or to re-send last messages in order to put the new target in a known state. A destination just added is invalid until ODCO_RecEnabled is notified.

ODCO_RecRemoved 

The recording destination has been removed.

ODCO_RecDisabled 

The recording destination has been disabled because it is not reachable.

ODCO_RecEnabled 

Connection confirmation has been received by the destination input, so the related destination is fully accessible.

ODCO_RecDisabledRemoved 

The recording destination has been removed since not reachable for 60 seconds.

ODCO_RecAllDestinationCleared 

The output has no more recording destinations.

Performance message source.

Enumerator
PMS_Knob 

Modifier value containing raw button position Supports Value data containing raw value (mandatory) and optional typed value.

PMS_Typed 

Modifier value containing value to be applied as is.

Supports Value data containing typed value only.

PMS_Modulator 

Modifier value containing modulation data to be applied on the top of the setting.

Supports Value data containing raw value (mandatory) and optional typed value.

Refresh current value attributes This combination of values can be handled by CPNS::CombinedRefreshValueAttributes.

Enumerator
RVA_Password 

The text value should be masked.

RVA_Hidden 

The parameter should be hidden at this time.

RVA_Disabled 

Force the parameter to be disabled (exclusive with RVA_Enabled)

RVA_Enabled 

Force the parameter to be enabled (exclusive with RVA_Disabled)

RVA_Blink 

The parameter display should be blinking.

RVA_EnableMoveDown 

The value is not the lowest.

RVA_EnableMoveUp 

The value is not the highest.

RVA_ModifiedValue 

The value has been modified and is no more reflecting the actual current value.

RVA_ProbablyOutOfSync 

The value is probably out of sync.

Used with MIDI devices for example, when the feedback value is not necessary known every time.

RVA_ValidForLearning 

This value can be used for global or directed learning.

This is a refresh attribute instead of an information profile to allow parameter behavior changing on the fly.

Message value relative modes.

Selector information profiles This combination of values can be handled by CPNS::CombinedSelectorInformationProfiles.

Enumerator
SIP_None 

No profile.

SIP_ActionTrigger 

The selector does not have a current value, it is aimed to trig action, like a menu.

SIP_SupportVoiceID 

Voice ID is supported.

SIP_SupportAutomation 

Automation is supported.

SIP_SupportMorphing 

Morphing is supported.

SIP_SupportPreLoad 

Pre-loading value is supported.

SIP_SupportTransaction 

Transaction is supported.

SIP_Monitor 

This selector is to be used as monitoring display.

SIP_StaticList 

Tells that the related lists (Selector Item list and Index List) are static and can not change.

It means that these lists can be enumerated once and stored in cache. If this profile bit is not set, the lists should be enumerated on each parameter definition refresh notification.

SIP_ExpandIndexedParameters 

Each parameter related to this message should be assigned to distinct controllers (one for each index value) instead of using a single controller associated to an index selection.

SIP_GhostValue 

The selector can go outside of the items value set in case of relative update (Information profile)

SIP_Administrator 

The parameter should be shown only to administrators.

SIP_ReadOnly 

The parameter is not editable.

Selectors numbers.

Enumerator
SEL_DHCPMode 

IP Network control Values: {"Off", 0}, {"On", 1}.

SEL_AudioSamplingRate 

Audio Sampling rates Example of values: {"44.1 kHz", CPNS::Enums::ASR_44100}, {"48 kHz", CPNS::Enums::ASR_48000}, {"64 kHz", CPNS::Enums::ASR_64000}.

SEL_AudioResolution 

Audio Resolutions Example of values: {"16-bit", CPNS::Enums::ARes_16}, {"24-bit", CPNS::Enums::ARes_24}.

SEL_AudioModes 

Audio Modes This list is typically depending on the hardware capabilities.

SEL_AudioStreamEnabled 

Audio stream enabled Values: {"Off", 0}, {"On", 1}.

SEL_AdvancedConfigEnabled 

Advanced config enabled Values: {"Off", 0}, {"On", 1}.

SEL_CustomZoneStop 

Custom zone stop.

User numbers must be higher than this value

SEL_CustomZoneStart 

Custom zone start.

User numbers should be allocated from here downwards.

Shared display capabilities This combination of values can be handled by CPNS::CombinedSharedDisplayCaps.

See Also
ISharedDisplayClient_NotificationHandler::OnSharedDisplayClient_RequestAccepted
Enumerator
SDC_CtrlKeys 

The display can send back control keys notifications.

See Also
SharedDisplayKeyTypes
SDC_Keyboard 

The display can send back keyboard notifications.

Shared display cursor types.

Enumerator
SDCT_None 

The cursor should be hidden.

SDCT_On 

The cusror should be permanently visible.

SDCT_Blinking 

The cursor should be blinking.

Shared display key types.

See Also
ISharedDisplayClient_NotificationHandler::OnSharedDisplayClient_OnKey
Enumerator
SDKT_None 

No key event.

SDKT_KeyboardEntry 

No special key has been hit, generic standard keyboard data.

SDKT_Enter 

The Enter key has been hit.

SDKT_Up 

The Up arrow key has been hit.

SDKT_Down 

The Down arrow key has been hit.

SDKT_Left 

The Left arrow key has been hit.

SDKT_Right 

The Right arrow key has been hit.

SDKT_Escape 

The Escape key has been hit.

SDKT_Backspace 

The Backspace key has been hit.

Signals numbers.

Enumerator
SIG_AllNoteOff 

All note off (compatible MIDI) Data: None Remark: Mandatory for sound generators.

SIG_AllSoundOff 

All sound off (compatible MIDI) Data: None Remark: Mandatory for sound generators.

SIG_Busy 

Device is busy, can be send stand alone or as a response to SIG_QReady Data: None.

SIG_Ready 

Device is ready, can be send stand alone or as a response to SIG_QReady Data: None.

SIG_QReady 

Queries remote device to reply using SIG_Busy or SIG_Ready Data: None.

SIG_PreloadCommit 

Apply preloaded messages.

SIG_PreloadCancel 

Cancel preloaded messages.

SIG_MoveGUIToFront 

Move the GUI to front in possible.

SIG_LearningCancel 

Cancel a global learning.

An application can broadcast this signal to cancel any global learning in progress.

Warning
This signal is handled internally and not provided to the application side.
SIG_Status 

Device current status, can be send stand alone or as a response to SIG_QStatus Data: wOptionalData0(one of the SignalStatus enum values)

SIG_QStatus 

Queries remote device to reply SIG_Status Data: None.

SIG_PlaybackStart 

Warns that a playback session is starting Data: None.

SIG_PlaybackEnd 

Warns that a playback session is ending Data: None.

SIG_Pause 

Pause a job Data: No mandatory data.

Can be user-defined for a specific product.

SIG_Resume 

Resume a job Data: No mandatory data.

Can be user-defined for a specific product.

SIG_Start 

Start a job Data: No mandatory data.

Can be user-defined for a specific product.

SIG_Stop 

Stop a job Data: No mandatory data.

Can be user-defined for a specific product.

SIG_UnlockFlowControl 

Unlock flow control.

Warning
This signal is handled internally and not provided to the application side.
Remarks
to be used for debugging purpose only!
SIG_CustomZoneStop 

Custom zone stop.

User numbers must be higher than this value

SIG_CustomZoneStart 

Custom zone start.

User numbers should be allocated from here downwards.

Remarks
dont forget to combine SIGB_* values to specify message behaviour

SmartConnect Async operation result.

Enumerator
_SCAR_TaskTerminated_ 

Check this bit to know if the task is about to be terminated.

SCAR_Initiated 

Operation initiated.

Warning
The Async handler DO NOT becomes invalid on notification return!!!
SCAR_Finished 

Operation finished.

Remarks
The Async handler becomes invalid on notification return.
SCAR_Canceled 

Operation canceled.

Remarks
The Async handler becomes invalid on notification return.
SCAR_Failed 

Operation failed The operation failed, can't be initiated by the target side.

Remarks
The Async handler becomes invalid on notification return.

Snapshot block priorities.

Enumerator
SBP_Low 

Blocks to be restored in last position when all important stuff is ready.

Typically connections and other final configuration stuff.

SBP_AppLow 

Normal low application snapshot data blocks.

SBP_AppMed 

Normal medium application snapshot data blocks.

SBP_AppHigh 

Normal high application snapshot data blocks.

SBP_High 

Important data to be restored before normal applications settings.

Currently running Snapshot modes.

Snapshot block types.

Enumerator
ST_InternalSettings 

Internal information.

Applicable to any device having DC_SupportInternalSnapshot capability, but not having DC_Hidden!

ST_ApplicationSettings 

Base application settings.

Applicable to any device having DC_SupportSnapshot capability

ST_ApplicationAdditionalData 

Extra application settings (might be high volume).

Applicable to any device having DC_SupportSnapshot capability

ST_ApplicationCurrentPreset 

Current preset Applicable to any device having DC_SupportSnapshot capability.

Text information profiles This combination of values can be handled by CPNS::CombinedTextInformationProfiles.

Enumerator
TIP_None 

No profile.

TIP_SupportVoiceID 

Voice ID is supported.

TIP_SupportAutomation 

Automation is supported.

TIP_SupportPreLoad 

Pre-loading value is supported.

TIP_SupportTransaction 

Transaction is supported.

TIP_Monitor 

This text is to be used as monitoring display.

TIP_Title 

This is a fake text parameter used to insert a title information in parameter list.

TIP_ExpandIndexedParameters 

Each parameter related to this message should be assigned to distinct controllers (one for each index value) instead of using a single controller associated to an index selection.

TIP_RightAlign 

This text must be right aligned.

TIP_Administrator 

The parameter should be shown only to administrators.

TIP_ReadOnly 

The parameter is not editable.

TIP_Password 

The displayed characters should be replaced by a *.

Texts numbers.

Enumerator
TXT_CustomZoneStop 

Custom zone stop.

User numbers must be higher than this value

TXT_CustomZoneStart 

Custom zone start.

User numbers should be allocated from here downwards.

Timestamp flags This combination of values can be handled by CPNS::CombinedTimeStampFlags.

Enumerator
TSF_None 

No timestamp information.

TSF_SongPosition 

The song position is available.

TSF_SystemTime 

The system time is available.

TSF_Offline 

The message is send offline (in advance)

Transaction modes.

Enumerator
TM_TransactionNone 

No transaction.

TM_TransactionStart 

Transaction begins.

TM_TransactionRunning 

Transaction in progress.

TM_TransactionEnd 

Transaction finished. Time to commit.

Warning codes This combination of values can be handled by CPNS::CombinedWarningCodes.

Enumerator
WCB_Top 

Crucial for the operation or integrity of the system.

Message will be repeated every minute until the warning cause disappears e.g. overheating leading to a switch-off, duplicate conflict, missing target when playing a sequence, ...

WCB_High 

Crucial for the operation or integrity of the system.

e.g. overheating leading to a switch-off, duplicate conflict, missing target when playing a sequence, ...

WCB_Medium 

Information of importance to the user for using the system but having no detrimental effect and not hampering the operation or integrity of the system.

e.g. Auto assignment of a duplicate number

WCB_Low 

Informational or unimportant; has no immediate detrimental effect.

e.g. Addition of a peripheral to a Device, weakening of a backup battery, ...

WCC_User 

User warning.

WCC_Debug 

Debug warning.

WCC_VNM 

VNM warning.

WCC_CHAI 

CHAI warning.

Warning domains.

Enumerator
WD_Performance 

instruments, sound generators and related accessories used by performers

WD_SoundProduction 

equipment used in the context of recording an production. Mixers, studio, automation, sound processing...

WD_PublicAddress 

All equipment taking part in the distribution and amplification of sound, plus the processing when directly related to this domain.

WD_Lighting 

Not all of the non-audio equipment used on stage but only the equipment that generates light.

WD_Theatrical 

Equipment typical of stage and theme parks that involves robotics, pyrotechnics, water control, etc.

WD_System 

This can be equipment used to manage and monitor the snapshot (editing panels, system display, etc)

WD_Network 

Warning related to the network management (duplicate conflict, device lost, etc)

WD_CHAI 

CHAI related warnings.

Watcher's points of interest This combination of values can be handled by CPNS::CombinedWatcherPOIs.

Member Data Documentation

const SectionTypes CPNS::Enums::_SECT_CategoryMask_ = 0xF000000000000000ULL
static

Masks.

const SectionTypes CPNS::Enums::SECT_Arpeg = 0x0000000000004000ULL | SECTCAT_Control
static

Arpeggiator, accompaniment generator.

const SectionTypes CPNS::Enums::SECT_AudioOutputChannel = 0x0000000010000000ULL | SECTCAT_Control
static

Audio output channel settings.

const SectionTypes CPNS::Enums::SECT_AudioSettings = 0x0000000004000000ULL | SECTCAT_Control
static

Audio global settings.

const SectionTypes CPNS::Enums::SECT_AudioSourceStream = 0x0000000008000000ULL | SECTCAT_Control
static

Audio source stream settings.

const SectionTypes CPNS::Enums::SECT_Chorus_Flanger = 0x0000000000008000ULL | SECTCAT_Control
static

Chorus, flanger, phaser.

const SectionTypes CPNS::Enums::SECT_Clock = 0x0000000000000001ULL | SECTCAT_Clock
static

Clock.

const SectionTypes CPNS::Enums::SECT_Delay = 0x0000000000001000ULL | SECTCAT_Control
static

Delay, echo, slapback, looper.

const SectionTypes CPNS::Enums::SECT_Dist_Overdrv = 0x0000000000000200ULL | SECTCAT_Control
static

Distortion, overdrive, fuzz, feedbacker.

const SectionTypes CPNS::Enums::SECT_DMX = 0x0000000000000001ULL | SECTCAT_ShowControl
static

DMX.

const SectionTypes CPNS::Enums::SECT_Drum = 0x0000000000000020ULL | SECTCAT_Music
static

Drum.

const SectionTypes CPNS::Enums::SECT_DynProc = 0x0000000000000100ULL | SECTCAT_Control
static

Dynamic processing, compressor, limiter, expander, noise gate.

const SectionTypes CPNS::Enums::SECT_Enhancer = 0x0000000000100000ULL | SECTCAT_Control
static

Enhancer, aural exciter, harmonics processor.

const SectionTypes CPNS::Enums::SECT_EnhMusic = 0x0000000000000001ULL | SECTCAT_Music
static

CopperLan only messaging (CopperLan enhanced musicality)

const SectionTypes CPNS::Enums::SECT_Envelope = 0x0000000000000002ULL | SECTCAT_Control
static

Envelope.

const SectionTypes CPNS::Enums::SECT_Equalizer = 0x0000000000000080ULL | SECTCAT_Control
static

Equalizer.

const SectionTypes CPNS::Enums::SECT_Essential = 0x0000000002000000ULL | SECTCAT_Control
static

Essential.

const SectionTypes CPNS::Enums::SECT_Harmonizer = 0x0000000000020000ULL | SECTCAT_Control
static

Harmonizer, pitch shifter, harmony generator, pitch corrector.

const SectionTypes CPNS::Enums::SECT_LFO_ModGen = 0x0000000000000004ULL | SECTCAT_Control
static

LFO & modulation generator.

const SectionTypes CPNS::Enums::SECT_Master = 0x0000000000000001ULL | SECTCAT_Control
static

Master section. Should host the controls/params that act on the other sections part of the same input.

const SectionTypes CPNS::Enums::SECT_MasterKeyboard = 0x0000000000000004ULL | SECTCAT_Music
static

Master keyboard.

const SectionTypes CPNS::Enums::SECT_Melody = 0x0000000000800000ULL | SECTCAT_Control
static

Melody.

const SectionTypes CPNS::Enums::SECT_MIDI = 0x0000000000000002ULL | SECTCAT_Music
static

MIDI messaging (supports only MIDI equivalent messages, no free pitch nor enhanced gating)

const SectionTypes CPNS::Enums::SECT_Mixer = 0x0000000000000800ULL | SECTCAT_Control
static

Mixer (audio or modulation)

const SectionTypes CPNS::Enums::SECT_Multipurpose = 0x0FFFFFFFFFFFFFFFULL | SECTCAT_Control
static

Multipurpose, generic.

Remarks
Controller side only, aimed to be assigned to any kind of parameter, whatever their own section type
const SectionTypes CPNS::Enums::SECT_Music = SECT_EnhMusic | SECT_MIDI
static

Full CopperLan messaging (supports standard MIDI messaging in addition to the CopperLan enhanced musicality)

const SectionTypes CPNS::Enums::SECT_Noise = 0x0000000000010000ULL | SECTCAT_Control
static

Noise generator.

const SectionTypes CPNS::Enums::SECT_Other = 0x0800000000000000ULL | SECTCAT_Control
static

Other.

Remarks
Target side only, to be used for parameters not related to a specific section type
const SectionTypes CPNS::Enums::SECT_Pedal = 0x0000000000000010ULL | SECTCAT_Music
static

Pedal keyboard.

const SectionTypes CPNS::Enums::SECT_PerfExpr = 0x0000000001000000ULL | SECTCAT_Control
static

Performance Expression Modulation matrix.

const SectionTypes CPNS::Enums::SECT_Reverb = 0x0000000000002000ULL | SECTCAT_Control
static

Reverberation.

const SectionTypes CPNS::Enums::SECT_RingModulator = 0x0000000000000040ULL | SECTCAT_Control
static

Ring modulator.

const SectionTypes CPNS::Enums::SECT_Sampler = 0x0000000000080000ULL | SECTCAT_Control
static

Sampler (capture & replay)

const SectionTypes CPNS::Enums::SECT_SecondaryKeyboard = 0x0000000000000008ULL | SECTCAT_Music
static

Secondary keyboard.

const SectionTypes CPNS::Enums::SECT_Settings = 0x0000000000000001ULL | SECTCAT_Settings
static

General settings.

const SectionTypes CPNS::Enums::SECT_Spatializer = 0x0000000000040000ULL | SECTCAT_Control
static

Spatializer, panner, rotary.

const SectionTypes CPNS::Enums::SECT_StepSequ = 0x0000000000000400ULL | SECTCAT_Control
static

Step sequencer.

const SectionTypes CPNS::Enums::SECT_Switcher = 0x0000000000200000ULL | SECTCAT_Control
static

Switcher, selector, matrix, configurator (audio or modulation)

const SectionTypes CPNS::Enums::SECT_Tempo_Timing = 0x0000000000400000ULL | SECTCAT_Control
static

Tempo, timing.

const SectionTypes CPNS::Enums::SECT_VCA_LevCtrl_Tremolo = 0x0000000000000020ULL | SECTCAT_Control
static

VCA, level control and modulation, tremolo.

const SectionTypes CPNS::Enums::SECT_VCF_Filter_Wah = 0x0000000000000010ULL | SECTCAT_Control
static

VCF, filter; wah (not equalizer)

const SectionTypes CPNS::Enums::SECT_VCO_WaveGen = 0x0000000000000008ULL | SECTCAT_Control
static

VCO, wave generator.

const SectionTypes CPNS::Enums::SECTCAT_Clock = 0x2000000000000000ULL
static

Category Clock.

const SectionTypes CPNS::Enums::SECTCAT_Control = 0x4000000000000000ULL
static

Category Parameter control.

const SectionTypes CPNS::Enums::SECTCAT_Music = 0x1000000000000000ULL
static

Category Music.

const SectionTypes CPNS::Enums::SECTCAT_None = 0x0000000000000000ULL
static

Category none, should not be assigned.

const SectionTypes CPNS::Enums::SECTCAT_Settings = 0x3000000000000000ULL
static

Category Settings.

const SectionTypes CPNS::Enums::SECTCAT_ShowControl = 0x5000000000000000ULL
static

Category Control.