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

This Local Device is equipped with both MIDI to CopperLan and CopperLan to MIDI translators. More...

+ Inheritance diagram for CPNS::IHybridMIDILocalDevice:
+ Collaboration diagram for CPNS::IHybridMIDILocalDevice:

Public Member Functions

virtual operator CPNS::IBaseLocalDevice * () const =0
 
virtual void Panic ()=0
 Send a CPNS::Enums::SIG_AllNoteOff signal to all connected devices and All Note Off and All Controller Off for all channels to ICP2MIDILocalDevice_NotificationHandler::OnCP2MIDILocalDevice_MIDIMessage notification handler. More...
 
virtual void SetMIDICCMode (CPNS::Enums::MIDICCModes const mode)=0
 Set the MIDI CC MSB/LSB mode. More...
 
virtual void EnableActiveSensing (CPNS::boolean const fEnable)=0
 Enable or disable the MIDI active sensing Active sensing is enabled by default. More...
 
virtual CPNS::boolean IsActiveSensingEnabled ()=0
 Check if MIDI active sensing is enabled. More...
 
virtual CPNS::Enums::Errors DataConsumed ()=0
 Send a DataConsumed on Sys input. More...
 
virtual CPNS::Enums::Errors SendMIDIBlob (CPNS::uint16 const wDataLength, CPNS::byte const *const pData, CPNS::boolean const fFlush, CPNS::uint16 *pwSent=NULL)=0
 Send a MIDI blob. More...
 
virtual void RegisterCP2MIDINotificationHandler (CPNS::ICP2MIDILocalDevice_NotificationHandler *const pHandler)=0
 Register a CP2MIDILocalDevice's notification handler for message reception The CP2MIDILocalDevice's notification handler for message reception is used to forward to the application incoming MIDI translated from the CopperLan network. More...
 
virtual void UnregisterCP2MIDINotificationHandler (CPNS::ICP2MIDILocalDevice_NotificationHandler *const pHandler)=0
 Unregister a CP2MIDILocalDevice's notification handler for message reception. More...
 
- Public Member Functions inherited from CPNS::IBaseLocalDevice
virtual CPNS::ILocalDeviceGetILocalDevice () const =0
 Check LocalDevice type and return an ILocalDevice object pointer if type match. More...
 
virtual CPNS::IMIDI2CPLocalDeviceGetIMIDI2CPLocalDevice () const =0
 Check LocalDevice type and return an IMIDI2CPLocalDevice object pointer if type match. More...
 
virtual CPNS::ICP2MIDILocalDeviceGetICP2MIDILocalDevice () const =0
 Check LocalDevice type and return an ICP2MIDILocalDevice object pointer if type match. More...
 
virtual
CPNS::IHybridMIDILocalDevice
GetIHybridMIDILocalDevice () const =0
 Check LocalDevice type and return an IHybridMIDILocalDevice object pointer if type match. More...
 
virtual
CPNS::IVMIDILinkInLocalDevice
GetIVMIDILinkInLocalDevice () const =0
 Check LocalDevice type and return an IInVMIDILinkLocalDevice object pointer if type match. More...
 
virtual
CPNS::IVMIDILinkOutLocalDevice
GetIVMIDILinkOutLocalDevice () const =0
 Check LocalDevice type and return an IOutVMIDILinkLocalDevice object pointer if type match. More...
 
virtual
CPNS::IVMIDILinkHybridLocalDevice
GetIVMIDILinkHybridLocalDevice () const =0
 Check LocalDevice type and return an IHybridVMIDILinkLocalDevice object pointer if type match. More...
 
virtual
CPNS::ISharedDisplayLocalDevice
GetISharedDisplayLocalDevice () const =0
 Check LocalDevice type and return an ISharedDisplayLocalDevice object pointer if type match. More...
 
virtual
CPNS::ISharedDisplayClientLocalDevice
GetISharedDisplayClientLocalDevice () const =0
 Check LocalDevice type and return an ISharedDisplayClientLocalDevice object pointer if type match. More...
 
virtual
CPNS::IAudioLanLocalDevice
GetIAudioLanLocalDevice () const =0
 Check LocalDevice type and return an IAudioLanLocalDevice object pointer if type match. More...
 
virtual void SetDisabledDestinationAutoDelete (CPNS::boolean const fAutoDelete)=0
 Enable/disable the automatic deletion of disabled destination after 60 seconds. More...
 
virtual void SetDisabledInternalSnapshot (CPNS::boolean const fDisabled, CPNS::boolean const fAlsoForChildren)=0
 Enable/disable the internal snapshot capability for this device and optionally its descendants By default it is enabled for device hosting outputs, for outputs hosting controllers, and for inputs hosting parameters. More...
 
virtual void SetSectionName (CPNS::SectionID const &sectionID, CPNS::char8 const *const utf8Name)=0
 Set a custom name for the specified section. More...
 
virtual CPNS::UTF8String GetSectionName (CPNS::SectionID const &sectionID)=0
 Get the custom name for the specified section type. More...
 
virtual void FlowControl (CPNS::boolean const fSuspend)=0
 This can be used to notify connected Output that they should suspend or resume sending. More...
 
virtual CPNS::ILocalDeviceAddSubLocalDevice (CPNS::uint16 const wModuleID, CPNS::boolean const fHidden, CPNS::CombinedExtendedDeviceCapabilities const extDevCaps, CPNS::char8 const *const utf8ModelName)=0
 Add a generic sub-device A sub-device get the same identity (BrandID and ModelID) than its root, but it has a unique ModuleID that must be <>0. More...
 
virtual CPNS::IMIDI2CPLocalDeviceAddSubMIDI2CPLocalDevice (CPNS::uint16 const wModuleID, CPNS::boolean const fHidden, CPNS::CombinedExtendedDeviceCapabilities const extDevCaps, CPNS::char8 const *const utf8ModelName)=0
 Add a generic MIDI to CopperLan sub-device A sub-device get the same identity (BrandID and ModelID) than its root, but it has a unique ModuleID that must be <>0. More...
 
virtual CPNS::ICP2MIDILocalDeviceAddSubCP2MIDILocalDevice (CPNS::uint16 const wModuleID, CPNS::boolean const fHidden, CPNS::CombinedExtendedDeviceCapabilities const extDevCaps, CPNS::char8 const *const utf8ModelName)=0
 Add a generic CopperLan to MIDI sub-device A sub-device get the same identity (BrandID and ModelID) than its root, but it has a unique ModuleID that must be <>0. More...
 
virtual
CPNS::IHybridMIDILocalDevice
AddSubHybridMIDILocalDevice (CPNS::uint16 const wModuleID, CPNS::boolean const fHidden, CPNS::CombinedExtendedDeviceCapabilities const extDevCaps, CPNS::char8 const *const utf8ModelName)=0
 Add a generic hybrid MIDI sub-device A sub-device get the same identity (BrandID and ModelID) than its root, but it has a unique ModuleID that must be <>0. More...
 
virtual
CPNS::IVMIDILinkOutLocalDevice
AddSubVMIDILinkOutLocalDevice (CPNS::uint16 const wModuleID, CPNS::char8 const *const utf8PortName)=0
 Add a VMIDILink Out sub-device. More...
 
virtual
CPNS::IVMIDILinkInLocalDevice
AddSubVMIDILinkInLocalDevice (CPNS::uint16 const wModuleID, CPNS::char8 const *const utf8PortName)=0
 Add a VMIDILink In sub-device This kind of Local Device is acting as a local input port, aimed to receive messages from a MIDI Out port automatically created on remote computers. More...
 
virtual
CPNS::IVMIDILinkHybridLocalDevice
AddSubVMIDILinkHybridLocalDevice (CPNS::uint16 const wModuleID, CPNS::char8 const *const utf8PortName)=0
 Add a VMIDILink Hybrid sub-device This kind of Local Device is acting as a local input/output port, aimed to receive and send messages from/to a pair of MIDI Out/In ports automatically created on remote computers. More...
 
virtual
CPNS::ISharedDisplayLocalDevice
AddSubSharedDisplayLocalDevice (CPNS::uint16 const wModuleID, CPNS::boolean const fHidden, CPNS::CombinedExtendedDeviceCapabilities const extDevCaps, CPNS::char8 const *const utf8ModelName)=0
 Add a generic shared display server sub-device A sub-device get the same identity (BrandID and ModelID) than its root, but it has a unique ModuleID that must be <>0. More...
 
virtual
CPNS::ISharedDisplayClientLocalDevice
AddSubSharedDisplayClientLocalDevice (CPNS::uint16 const wModuleID, CPNS::boolean const fHidden, CPNS::CombinedExtendedDeviceCapabilities const extDevCaps, CPNS::char8 const *const utf8ModelName)=0
 Add a generic shared display client sub-device A sub-device get the same identity (BrandID and ModelID) than its root, but it has a unique ModuleID that must be <>0. More...
 
virtual CPNS::IBaseLocalDeviceGetFirstSubDevice ()=0
 Get the first sub-device. More...
 
virtual CPNS::IBaseLocalDeviceGetNextDevice ()=0
 Get next sibling device. More...
 
virtual CPNS::IBaseLocalDeviceGetParentDevice ()=0
 Get parent device. More...
 
virtual
CPNS::CombinedDeviceCapabilities 
GetDeviceCapabilities ()=0
 Get the consolidated capabilities of the device and its children. More...
 
virtual
CPNS::CombinedInOutCapabilities 
GetOutputCapabilities ()=0
 Get the consolidated Output capabilities of the device and its children. More...
 
virtual
CPNS::CombinedInOutCapabilities 
GetInputCapabilities ()=0
 Get the consolidated Input capabilities of the device and its children. More...
 
virtual
CPNS::CombinedDeviceCapabilities 
GetOwnDeviceCapabilities ()=0
 Get the device capabilities. More...
 
virtual
CPNS::CombinedInOutCapabilities 
GetOwnOutputCapabilities ()=0
 Get the Output capabilities. More...
 
virtual
CPNS::CombinedInOutCapabilities 
GetOwnInputCapabilities ()=0
 Get the Input capabilities. More...
 
virtual
CPNS::CombinedExtendedDeviceCapabilities 
GetExtendedDeviceCapabilities ()=0
 Get the extended device capabilities. More...
 
virtual void RegisterNotificationHandler (CPNS::IBaseLocalDevice_NotificationHandler *const pHandler)=0
 Register a Local Device notification handler. More...
 
virtual void UnregisterNotificationHandler (CPNS::IBaseLocalDevice_NotificationHandler *const pHandler)=0
 Unregister a Local Device notification handler. More...
 
virtual void SetSnapshotNotificationHandler (CPNS::IBaseLocalDevice_SnapshotNotificationHandler *const pHandler)=0
 Set a Local Device Snapshot notification handler. More...
 
virtual void SetSmartConnectTargetNotificationHandler (CPNS::IBaseLocalDevice_SmartConnectTargetNotificationHandler *const pHandler)=0
 Set a Local Device notification handler for Smart Connect, Target side. More...
 
virtual CPNS::DeviceID GetDeviceID () const =0
 Get the DeviceID. More...
 
virtual CPNS::Enums::Errors SetExtendeddDevCaps (CPNS::CombinedExtendedDeviceCapabilities const xDevCaps)=0
 Set the device's extended caps. More...
 
virtual
CPNS::CombinedExtendedDeviceCapabilities 
GetExtendedDevCaps () const =0
 Get the extended caps. More...
 
virtual CPNS::DeviceID GetParentDeviceID () const =0
 Get the parent DeviceID. More...
 
virtual CPNS::boolean IsChildOf (CPNS::IBaseLocalDevice *const pCheckDev)=0
 Check if the local device is or is child of another one. More...
 
virtual CPNS::UTF8String GetBrandName ()=0
 Get the Brand name. More...
 
virtual CPNS::UTF8String GetModelName ()=0
 Get the Model name. More...
 
virtual CPNS::Enums::Errors SetCustomName (CPNS::char8 const *const utf8CustomName)=0
 Set the Custom name If not empty, the custom name override the default name. More...
 
virtual CPNS::UTF8String GetCustomName ()=0
 Get the Custom name. More...
 
virtual CPNS::UTF8String GetName (CPNS::Enums::DeviceNameFormats const format)=0
 Get the specified name. More...
 
virtual CPNS::UTF8String GetPath ()=0
 Get the path. More...
 
virtual CPNS::Enums::DuplicateModes GetDuplicateMode () const =0
 Get the duplicate mode. More...
 
virtual CPNS::Enums::Errors SetVisibility (CPNS::boolean const fHidden)=0
 Change device visibility. More...
 
virtual CPNS::Enums::Errors SetStringProperty (CPNS::uint16 const wPropertyNum, CPNS::char8 const *const utf8Value)=0
 Set a text device property. More...
 
virtual CPNS::Enums::Errors SetNumericProperty (CPNS::uint16 const wPropertyNum, CPNS::uint64 const qwValue)=0
 Set a numeric device property. More...
 
virtual CPNS::Enums::Errors GetStringProperty (CPNS::uint16 const wPropertyNum, CPNS::UTF8String &strValue)=0
 
virtual CPNS::Enums::Errors GetNumericProperty (CPNS::uint16 const wPropertyNum, CPNS::uint64 &qwValue)=0
 
virtual CPNS::IOutputAddOutput (CPNS::CombinedInOutCapabilities const outCaps, CPNS::char8 const *const utf8Name, CPNS::SectionID const &sectionID)=0
 Add an Output. More...
 
virtual void ClearOutputs ()=0
 Remove all outputs and associated data (controller definition) More...
 
virtual CPNS::uint16 GetNumOutputs ()=0
 Get the number of Outputs. More...
 
virtual CPNS::IOutputFindFirstOutput ()=0
 Get the first Output. More...
 
virtual CPNS::IOutputFindLastOutput ()=0
 Get the last Output. More...
 
virtual CPNS::IOutputFindPrevOutput (CPNS::uint16 const wOutputID)=0
 Get the prev Output. More...
 
virtual CPNS::IOutputFindNextOutput (CPNS::uint16 const wOutputID)=0
 Get the next Output. More...
 
virtual CPNS::IOutputGetOutputFromID (CPNS::uint16 const wOutputID)=0
 Get the specified Output. More...
 
virtual CPNS::Enums::Errors Flush ()=0
 Flush all outputs. More...
 
virtual CPNS::IInputAddInput (CPNS::CombinedInOutCapabilities const inCaps, CPNS::char8 const *const utf8Name, CPNS::SectionID const &sectionID)=0
 Add an Input. More...
 
virtual void ClearInputs ()=0
 Remove all inputs and associated data (parameter definition) More...
 
virtual CPNS::uint16 GetNumInputs ()=0
 Get the number of Inputs. More...
 
virtual CPNS::IInputFindFirstInput ()=0
 Get the first Input. More...
 
virtual CPNS::IInputFindLastInput ()=0
 Get the last Input. More...
 
virtual CPNS::IInputFindPrevInput (CPNS::uint16 const wInputID)=0
 Get the prev Input. More...
 
virtual CPNS::IInputFindNextInput (CPNS::uint16 const wInputID)=0
 Get the next Input. More...
 
virtual CPNS::IInputGetInputFromID (CPNS::uint16 const wInputID)=0
 Get the specified Input. More...
 
virtual CPNS::IControllerAddController (CPNS::char8 const *const utf8Name, CPNS::CombinedControllerTypes const types, CPNS::Enums::MessageTypes const preferredMsgType, CPNS::uint16 const wPreferredMsgNum, CPNS::uint16 const wGroup, CPNS::SectionID const &sectionID)=0
 Add a controller. More...
 
virtual void ClearControllers ()=0
 Remove all controllers. More...
 
virtual CPNS::uint16 GetNumControllers ()=0
 Get the number of Controller. More...
 
virtual CPNS::IControllerFindFirstController ()=0
 Get the first Controller. More...
 
virtual CPNS::IControllerFindLastController ()=0
 Get the last Controller. More...
 
virtual CPNS::IControllerFindPrevController (CPNS::uint16 const wControllerID)=0
 Get the prev Controller. More...
 
virtual CPNS::IControllerFindNextController (CPNS::uint16 const wControllerID)=0
 Get the next Controller. More...
 
virtual CPNS::IControllerGetControllerFromID (CPNS::uint16 const wControllerID)=0
 Get the specified Controller. More...
 
virtual void UnassignAllControllers (CPNS::boolean const fAlsoForChildren)=0
 Unassign all controllers and clear connections for all related Outputs. More...
 
virtual void LeaveLearningMode ()=0
 Leave learning mode if one of this Device's Controller is currently learning. More...
 
virtual CPNS::boolean IsLearningModeActive ()=0
 Check if learning mode is active for one of this Device's Controllers. More...
 
virtual CPNS::IPipeAddPipe (CPNS::boolean const fSynapse)=0
 Add an Pipe. More...
 
virtual void ClearPipes ()=0
 Remove all pipes. More...
 
virtual CPNS::uint16 GetNumPipes ()=0
 Get the number of Pipes. More...
 
virtual CPNS::IPipeFindFirstPipe ()=0
 Get the first Pipe. More...
 
virtual CPNS::IPipeFindNextPipe (CPNS::uint16 const wPipeID)=0
 Get the next Pipe. More...
 
virtual CPNS::IPipeGetPipeFromID (CPNS::uint16 const wPipeID)=0
 Get the specified Pipe. More...
 
virtual void RegisterSignalNotificationHandler (CPNS::IBaseLocalDevice_SignalNotificationHandler *const pHandler)=0
 Register a Signal reception notification handler. More...
 
virtual void UnregisterSignalNotificationHandler (CPNS::IBaseLocalDevice_SignalNotificationHandler *const pHandler)=0
 Unregister a Signal reception notification handler. More...
 
virtual CPNS::Enums::Errors Signal_Direct (CPNS::DeviceID const &devID, CPNS::uint16 const wSignalNumber, CPNS::uint16 const wOptionalData0, CPNS::uint16 const wOptionalData1, CPNS::uint16 const wOptionalData2, CPNS::uint16 const wOptionalData3, CPNS::char8 const *const utf8OptionalData, CPNS::Endpoint const &optionalEndpoint)=0
 Send a directed signal to the specified device. More...
 
virtual CPNS::Enums::Errors Signal_Broadcast (CPNS::uint16 const wSignalNumber, CPNS::uint16 const wOptionalData0, CPNS::uint16 const wOptionalData1, CPNS::uint16 const wOptionalData2, CPNS::uint16 const wOptionalData3, CPNS::char8 const *const utf8OptionalData, CPNS::Endpoint const &optionalEndpoint)=0
 Send a broadcast signal to all devices. More...
 
virtual CPNS::Enums::Errors SmartConnectTarget_UnassignAndRequestSectionList (CPNS::uint16 const wSessionID, CPNS::DeviceID const &devID)=0
 Query the SmartConnect source side to clear its controller assignments and to reply the consolidated section list. More...
 
virtual CPNS::Enums::Errors SmartConnectTarget_RequestControllerList (CPNS::uint16 const wSessionID, CPNS::DeviceID const &devID, CPNS::SectionID const &sectionID)=0
 Query the SmartConnect source side to reply the controller list related to the specified section instance. More...
 
virtual CPNS::Enums::Errors SmartConnectTarget_AssignController (CPNS::uint16 const wSessionID, CPNS::DeviceID const &devID, CPNS::uint16 const wControllerID, CPNS::ControllerAssignment const &assignment)=0
 Assign the specified controller to a target parameter. More...
 
virtual CPNS::Enums::Errors SmartConnectTarget_AssignOutput (CPNS::uint16 const wSessionID, CPNS::DeviceID const &devID, CPNS::SectionID const &sectionID, CPNS::Endpoint const &targetEndpoint)=0
 Assign the specified source section to a target input. More...
 
virtual CPNS::Enums::Errors SmartConnectTarget_Finished (CPNS::uint16 const wSessionID, CPNS::Enums::Errors const errCode)=0
 Close the SmartConnect session To be called from the SmartConnect target side. More...
 
virtual CPNS::uint32 GetInternalSnapshotDataSize ()=0
 Get the buffer size needed to store this device's internal snapshot data. More...
 
virtual CPNS::Enums::Errors GetInternalSnapshotData (CPNS::byte *const pData, CPNS::uint32 const dwSize)=0
 Get internal snapshot data. More...
 
virtual CPNS::Enums::Errors RestoreInternalSnapshotData (CPNS::byte const *const pData, CPNS::uint32 const dwSize)=0
 Restore internal snapshot data. More...
 
virtual CPNS::Enums::Errors Reply_RequestCollectSnapshotData (CPNS::uint16 const wRequestID, CPNS::Enums::SnapshotBlockPriorities const priority, CPNS::uint32 const dwContextData, CPNS::uint16 const wBlockSize, CPNS::boolean const fLastBlock, void *const pBlockData)=0
 Reply to a snapshot data collect request Call this to terminate a IBaseLocalDevice_SnapshotNotificationHandler::OnBaseLocalDevice_RequestCollectSnapshotData call. More...
 
virtual CPNS::Enums::Errors Reply_RequestRestoreSnapshotData (CPNS::uint16 const wRequestID, CPNS::Enums::Errors const returnCode, CPNS::uint32 const dwContextData)=0
 Reply to a snapshot data restore request Call this to terminate a IBaseLocalDevice_SnapshotNotificationHandler::OnBaseLocalDevice_RequestRestoreSnapshotData call. More...
 
virtual CPNS::Enums::Errors Reply_InvalidRequest (CPNS::uint16 const wRequestID)=0
 Invalid Request Call this to terminate a Request if no valid return can be done. More...
 
- Public Member Functions inherited from CPNS::IObject
virtual CPNS::ICHAIGetCHAI ()=0
 Get a pointer to the CHAI hosting this object. More...
 
virtual void RegisterObjectNotificationHandler (CPNS::IObject_NotificationHandler *const pHandler)=0
 Register an Object's notification handler. More...
 
virtual void UnregisterObjectNotificationHandler (CPNS::IObject_NotificationHandler *const pHandler)=0
 Unregister an Object's notification handler. More...
 
virtual CPNS::Enums::ObjectTypes GetObjectType () const =0
 Get the object type. More...
 
virtual CPNS::uint32 GetHandle () const =0
 Get a unique handle to the object if this object is handled by the trashcan. More...
 
virtual void SetUserDataPtr (void const *const pData)=0
 Set a custom user ptr data. More...
 
virtual void * GetUserDataPtr () const =0
 Get custom user ptr data. More...
 
virtual void SetUserDataUInt32 (const CPNS::uint32 dwData)=0
 Set a custom user uint32 data. More...
 
virtual CPNS::uint32 GetUserDataUInt32 () const =0
 Get custom user uint32 data. More...
 

Detailed Description

This Local Device is equipped with both MIDI to CopperLan and CopperLan to MIDI translators.

It contains 17 Outputs and 17 Inputs, one for channel independent features and one for each MIDI channel. This device gets automatically the DC_CP2MIDI and DC_MIDI2CP device capabilities.

Member Function Documentation

virtual CPNS::Enums::Errors CPNS::IHybridMIDILocalDevice::DataConsumed ( )
pure virtual

Send a DataConsumed on Sys input.

virtual void CPNS::IHybridMIDILocalDevice::EnableActiveSensing ( CPNS::boolean const  fEnable)
pure virtual

Enable or disable the MIDI active sensing Active sensing is enabled by default.

virtual CPNS::boolean CPNS::IHybridMIDILocalDevice::IsActiveSensingEnabled ( )
pure virtual

Check if MIDI active sensing is enabled.

virtual void CPNS::IHybridMIDILocalDevice::Panic ( )
pure virtual

Send a CPNS::Enums::SIG_AllNoteOff signal to all connected devices and All Note Off and All Controller Off for all channels to ICP2MIDILocalDevice_NotificationHandler::OnCP2MIDILocalDevice_MIDIMessage notification handler.

virtual void CPNS::IHybridMIDILocalDevice::RegisterCP2MIDINotificationHandler ( CPNS::ICP2MIDILocalDevice_NotificationHandler *const  pHandler)
pure virtual

Register a CP2MIDILocalDevice's notification handler for message reception The CP2MIDILocalDevice's notification handler for message reception is used to forward to the application incoming MIDI translated from the CopperLan network.

Parameters
[in]pHandlerPointer to the application object implementing ICP2MIDILocalDevice_NotificationHandler. If pHandler is NULL, clear all registered handlers.
virtual CPNS::Enums::Errors CPNS::IHybridMIDILocalDevice::SendMIDIBlob ( CPNS::uint16 const  wDataLength,
CPNS::byte const *const  pData,
CPNS::boolean const  fFlush,
CPNS::uint16 *  pwSent = NULL 
)
pure virtual

Send a MIDI blob.

Remarks
if the blob is not matching a number of MIDI messages, or in case of flow control limitation, the MIDI translator embedded in the device can keep some messages pending. Ensure to call SendMIDIBlob (even with no data) if pwSent does not equals to wDataLength or if flow control has been activated.
Parameters
[in]wDataLengthnumber of bytes in the buffer
[in]pDatapointer to the buffer
[in]fFlushTRUE if the message must be sent directly
[out]pwSentnumber of bytes consumed from the buffer
Returns
CPNS::Enums::ERR_None | CPNS::Enums::ERR_NotReadyToSend | CPNS::Enums::ERR_InvalidArgument
virtual void CPNS::IHybridMIDILocalDevice::SetMIDICCMode ( CPNS::Enums::MIDICCModes const  mode)
pure virtual

Set the MIDI CC MSB/LSB mode.

Default value is MSB.

Parameters
[in]modenew mode to be applied
virtual void CPNS::IHybridMIDILocalDevice::UnregisterCP2MIDINotificationHandler ( CPNS::ICP2MIDILocalDevice_NotificationHandler *const  pHandler)
pure virtual

Unregister a CP2MIDILocalDevice's notification handler for message reception.

Parameters
[in]pHandlerPointer to the application object implementing ICP2MIDILocalDevice_NotificationHandler. If pHandler is NULL, clear all registered handlers.