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

Audio device. More...

+ Inheritance diagram for CPNS::IAudioLanLocalDevice:
+ Collaboration diagram for CPNS::IAudioLanLocalDevice:

Public Member Functions

virtual operator CPNS::IBaseLocalDevice * () const =0
 
virtual CPNS::IAudioLanManagerGetAudioLanManager ()=0
 Get a reference to the device's AudioLan Manager. More...
 
virtual void RegisterAudioLanNotificationHandler (CPNS::IAudioLanLocalDevice_NotificationHandler *const pHandler)=0
 Register a AudioLocalDevice's notification handler for display notification reception. More...
 
virtual void UnregisterAudioLanNotificationHandler (CPNS::IAudioLanLocalDevice_NotificationHandler *const pHandler)=0
 Unregister a AudioLocalDevice's notification handler. More...
 
virtual void ClearAudioParameterGroups ()=0
 Clear current audio parameter groups. More...
 
virtual void AddAudioParameterGroup (CPNS::uint32 const dwGroupID, CPNS::char8 const *const utf8GroupName, CPNS::uint16 const wParameterArraySize, CPNS::ParameterGroupItem const *const parameterArray)=0
 Add an audio parameter group. More...
 
virtual void AddAudioParameterGroup (CPNS::uint32 const dwGroupID, CPNS::char8 const *const utf8GroupName, CPNS::uint16 const wParameterArraySize, CPNS::ParameterGroupItem const *const parameterArray, CPNS::char8 const *const utf8CommitLabel)=0
 Add an audio parameter group with commit buttons ([Apply][Cancel]) More...
 
virtual CPNS::boolean SetAudioParameterList (CPNS::uint16 const wNumber, CPNS::ISelectorItemList *const pList)=0
 Set the selector list related to the specified parameter. More...
 
virtual CPNS::boolean SetAudioParameter (CPNS::uint16 const wNumber, CPNS::uint16 const wValue, CPNS::CombinedRefreshValueAttributes const attributes=CPNS::Enums::RVA_None)=0
 Change a numeric parameter current value. More...
 
virtual CPNS::boolean SetAudioTextParameter (CPNS::uint16 const wNumber, CPNS::char8 const *const utf8ValueText, CPNS::CombinedRefreshValueAttributes const attributes=CPNS::Enums::RVA_None)=0
 Change a text parameter current value. More...
 
virtual void ClearSourceStreams ()=0
 Clear current source stream resources. More...
 
virtual CPNS::Enums::Errors AddSourceStream (CPNS::uint32 const dwStreamID, CPNS::char8 const *const utf8Name, CPNS::uint16 const wChannelCount)=0
 Add an audio source stream to the device. More...
 
virtual void ClearSourceStreamParameterGroups (CPNS::uint32 const dwStreamID)=0
 Clear current source stream parameter groups. More...
 
virtual void AddSourceStreamParameterGroup (CPNS::uint32 const dwStreamID, CPNS::uint32 const dwGroupID, CPNS::char8 const *const utf8GroupName, CPNS::uint16 const wParameterArraySize, CPNS::ParameterGroupItem const *const parameterArray)=0
 Add an source stream parameter group. More...
 
virtual void AddSourceStreamParameterGroup (CPNS::uint32 const dwStreamID, CPNS::uint32 const dwGroupID, CPNS::char8 const *const utf8GroupName, CPNS::uint16 const wParameterArraySize, CPNS::ParameterGroupItem const *const parameterArray, CPNS::char8 const *const utf8CommitLabel)=0
 Add an source stream parameter group with commit buttons ([Apply][Cancel]) More...
 
virtual CPNS::boolean SetSourceStreamParameterList (CPNS::uint32 const dwStreamID, CPNS::uint16 const wNumber, CPNS::ISelectorItemList *const pList)=0
 Set the selector list related to the specified parameter. More...
 
virtual CPNS::boolean SetSourceStreamParameter (CPNS::uint32 const dwStreamID, CPNS::uint16 const wChannelIndex, CPNS::uint16 const wNumber, CPNS::uint16 const wValue, CPNS::CombinedRefreshValueAttributes const attributes=CPNS::Enums::RVA_None)=0
 Change a numeric parameter current value. More...
 
virtual CPNS::boolean SetSourceStreamTextParameter (CPNS::uint32 const dwStreamID, CPNS::uint16 const wChannelIndex, CPNS::uint16 const wNumber, CPNS::char8 const *const utf8ValueText, CPNS::CombinedRefreshValueAttributes const attributes=CPNS::Enums::RVA_None)=0
 Change a text parameter current value. More...
 
virtual void ClearOutputChannels ()=0
 Clear current output channels resources. More...
 
virtual CPNS::Enums::Errors AddOutputChannel (CPNS::uint32 const dwOutputChannelID, CPNS::char8 const *const utf8Name)=0
 
virtual void ClearOutputChannelsParameterGroups (CPNS::uint32 const dwOutputChannelID)=0
 Clear current source stream parameter groups. More...
 
virtual void AddOutputChannelParameterGroup (CPNS::uint32 const dwOutputChannelID, CPNS::uint32 const dwGroupID, CPNS::char8 const *const utf8GroupName, CPNS::uint16 const wParameterArraySize, CPNS::ParameterGroupItem const *const parameterArray)=0
 Add an source stream parameter group. More...
 
virtual void AddOutputChannelParameterGroup (CPNS::uint32 const dwOutputChannelID, CPNS::uint32 const dwGroupID, CPNS::char8 const *const utf8GroupName, CPNS::uint16 const wParameterArraySize, CPNS::ParameterGroupItem const *const parameterArray, CPNS::char8 const *const utf8CommitLabel)=0
 Add an source stream parameter group with commit buttons ([Apply][Cancel]) More...
 
virtual CPNS::boolean SetOutputChannelParameterList (CPNS::uint32 const dwOutputChannelID, CPNS::uint16 const wNumber, CPNS::ISelectorItemList *const pList)=0
 Set the selector list related to the specified parameter. More...
 
virtual CPNS::boolean SetOutputChannelParameter (CPNS::uint32 const dwOutputChannelID, CPNS::uint16 const wNumber, CPNS::uint16 const wValue, CPNS::CombinedRefreshValueAttributes const attributes=CPNS::Enums::RVA_None)=0
 Change a numeric parameter current value. More...
 
virtual CPNS::boolean SetOutputChannelTextParameter (CPNS::uint32 const dwOutputChannelID, CPNS::uint16 const wNumber, CPNS::char8 const *const utf8ValueText, CPNS::CombinedRefreshValueAttributes const attributes=CPNS::Enums::RVA_None)=0
 Change a text parameter current value. More...
 
virtual void SetCurrentOutputChannelSource (CPNS::uint32 const dwOutputChannelID, CPNS::char8 const *const utf8SourceStreamName, CPNS::uint16 const wSourceStreamChannelIndex)=0
 Informs the network about the current source for the specified output channel. 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

Audio device.

This device is used to host one or more Audio Source or Audio Sink devices.

Member Function Documentation

virtual void CPNS::IAudioLanLocalDevice::AddAudioParameterGroup ( CPNS::uint32 const  dwGroupID,
CPNS::char8 const *const  utf8GroupName,
CPNS::uint16 const  wParameterArraySize,
CPNS::ParameterGroupItem const *const  parameterArray 
)
pure virtual

Add an audio parameter group.

Warning
The message numbers declared in the parameter array must be unique! A message number can't be used more than once for this local device. Selector parameters are automatically assigned to a default Selector Item list that can be overridden using SetAudioParameterList.
Parameters
[in]dwGroupIDthe group application ID
[in]utf8GroupNamethe group name
[in]wParameterArraySizenumber of items in the array
[in]parameterArraythe parameter array
virtual void CPNS::IAudioLanLocalDevice::AddAudioParameterGroup ( CPNS::uint32 const  dwGroupID,
CPNS::char8 const *const  utf8GroupName,
CPNS::uint16 const  wParameterArraySize,
CPNS::ParameterGroupItem const *const  parameterArray,
CPNS::char8 const *const  utf8CommitLabel 
)
pure virtual

Add an audio parameter group with commit buttons ([Apply][Cancel])

Warning
The message numbers declared in the parameter array must be unique! A message number can't be used more than once for this local device. Selector parameters are automatically assigned to a default Selector Item list that can be overridden using SetAudioParameterList.
Parameters
[in]dwGroupIDthe group application ID
[in]utf8GroupNamethe group name
[in]wParameterArraySizenumber of items in the array
[in]parameterArraythe parameter array
[in]utf8CommitLabelNULL to use the default label, anything else to override it.
virtual void CPNS::IAudioLanLocalDevice::AddOutputChannelParameterGroup ( CPNS::uint32 const  dwOutputChannelID,
CPNS::uint32 const  dwGroupID,
CPNS::char8 const *const  utf8GroupName,
CPNS::uint16 const  wParameterArraySize,
CPNS::ParameterGroupItem const *const  parameterArray 
)
pure virtual

Add an source stream parameter group.

Warning
The message numbers declared in the parameter array must be unique! A message number can't be used more than once for this local device. Selector parameters are automatically assigned to a default Selector Item list that can be overridden using SetAudioParameterList.
Parameters
[in]dwOutputChannelIDthe output channel application ID
[in]dwGroupIDthe group application ID
[in]utf8GroupNamethe group name
[in]wParameterArraySizenumber of items in the array
[in]parameterArraythe parameter array
virtual void CPNS::IAudioLanLocalDevice::AddOutputChannelParameterGroup ( CPNS::uint32 const  dwOutputChannelID,
CPNS::uint32 const  dwGroupID,
CPNS::char8 const *const  utf8GroupName,
CPNS::uint16 const  wParameterArraySize,
CPNS::ParameterGroupItem const *const  parameterArray,
CPNS::char8 const *const  utf8CommitLabel 
)
pure virtual

Add an source stream parameter group with commit buttons ([Apply][Cancel])

Warning
The message numbers declared in the parameter array must be unique! A message number can't be used more than once for this local device. Selector parameters are automatically assigned to a default Selector Item list that can be overridden using SetAudioParameterList.
Parameters
[in]dwOutputChannelIDthe output channel application ID
[in]dwGroupIDthe group application ID
[in]utf8GroupNamethe group name
[in]wParameterArraySizenumber of items in the array
[in]parameterArraythe parameter array
[in]utf8CommitLabelNULL to use the default label, anything else to override it.
virtual CPNS::Enums::Errors CPNS::IAudioLanLocalDevice::AddSourceStream ( CPNS::uint32 const  dwStreamID,
CPNS::char8 const *const  utf8Name,
CPNS::uint16 const  wChannelCount 
)
pure virtual

Add an audio source stream to the device.

Remarks
: It is necessary to call ICHAI::RedeclareAllDevices to commit changes.
Warning
: Depending on the audio configuration mode, a sub-device can be created to manage the parameters related to the source streams. This sub-device will take the moduleID of this device + 1. The error code ERR_InvalidModuleID occurs if the expected sub-device moduleID is already used.
Parameters
[in]dwStreamIDthe stream application ID
[in]utf8Namethe stream name
[in]wChannelCountthe number of channels. By default, channels are names "Ch. x" with x [1..wChannelCount]
Returns
CPNS::Enums::ERR_None | CPNS::Enums::ERR_InvalidModuleID | CPNS::Enums::ERR_InvalidStreamID
virtual void CPNS::IAudioLanLocalDevice::AddSourceStreamParameterGroup ( CPNS::uint32 const  dwStreamID,
CPNS::uint32 const  dwGroupID,
CPNS::char8 const *const  utf8GroupName,
CPNS::uint16 const  wParameterArraySize,
CPNS::ParameterGroupItem const *const  parameterArray 
)
pure virtual

Add an source stream parameter group.

Warning
The message numbers declared in the parameter array must be unique! A message number can't be used more than once for this local device. Selector parameters are automatically assigned to a default Selector Item list that can be overridden using SetAudioParameterList.
Parameters
[in]dwStreamIDthe stream application ID
[in]dwGroupIDthe group application ID
[in]utf8GroupNamethe group name
[in]wParameterArraySizenumber of items in the array
[in]parameterArraythe parameter array
virtual void CPNS::IAudioLanLocalDevice::AddSourceStreamParameterGroup ( CPNS::uint32 const  dwStreamID,
CPNS::uint32 const  dwGroupID,
CPNS::char8 const *const  utf8GroupName,
CPNS::uint16 const  wParameterArraySize,
CPNS::ParameterGroupItem const *const  parameterArray,
CPNS::char8 const *const  utf8CommitLabel 
)
pure virtual

Add an source stream parameter group with commit buttons ([Apply][Cancel])

Warning
The message numbers declared in the parameter array must be unique! A message number can't be used more than once for this local device. Selector parameters are automatically assigned to a default Selector Item list that can be overridden using SetAudioParameterList.
Parameters
[in]dwStreamIDthe stream application ID
[in]dwGroupIDthe group application ID
[in]utf8GroupNamethe group name
[in]wParameterArraySizenumber of items in the array
[in]parameterArraythe parameter array
[in]utf8CommitLabelNULL to use the default label, anything else to override it.
virtual void CPNS::IAudioLanLocalDevice::ClearAudioParameterGroups ( )
pure virtual

Clear current audio parameter groups.

After calling this method, the device still hosts a Settings input but no more parameter.

virtual void CPNS::IAudioLanLocalDevice::ClearOutputChannels ( )
pure virtual

Clear current output channels resources.

Remarks
: It is necessary to call ICHAI::RedeclareAllDevices to commit changes.
virtual void CPNS::IAudioLanLocalDevice::ClearOutputChannelsParameterGroups ( CPNS::uint32 const  dwOutputChannelID)
pure virtual

Clear current source stream parameter groups.

After calling this method, the source stream does not expose parameters.

virtual void CPNS::IAudioLanLocalDevice::ClearSourceStreamParameterGroups ( CPNS::uint32 const  dwStreamID)
pure virtual

Clear current source stream parameter groups.

After calling this method, the source stream does not expose parameters.

virtual void CPNS::IAudioLanLocalDevice::ClearSourceStreams ( )
pure virtual

Clear current source stream resources.

Remarks
: It is necessary to call ICHAI::RedeclareAllDevices to commit changes.
virtual CPNS::IAudioLanManager* CPNS::IAudioLanLocalDevice::GetAudioLanManager ( )
pure virtual

Get a reference to the device's AudioLan Manager.

This pointer is valid until the destruction of this device.

virtual void CPNS::IAudioLanLocalDevice::RegisterAudioLanNotificationHandler ( CPNS::IAudioLanLocalDevice_NotificationHandler *const  pHandler)
pure virtual

Register a AudioLocalDevice's notification handler for display notification reception.

Parameters
[in]pHandlerPointer to the application object implementing IAudioLanLocalDevice_NotificationHandler. If pHandler is NULL, clear all registered handlers.
virtual CPNS::boolean CPNS::IAudioLanLocalDevice::SetAudioParameter ( CPNS::uint16 const  wNumber,
CPNS::uint16 const  wValue,
CPNS::CombinedRefreshValueAttributes const  attributes = CPNS::Enums::RVA_None 
)
pure virtual

Change a numeric parameter current value.

These parameters are identified by the message number, which is unique regardless the message type : Modifiers (0x4000 - 0x4FFF), Selectors (0x5000 - 0x5FFF), Text (0x6000 - 0x6FFF).

Remarks
This method does not support Text related parameters!
Parameters
[in]wNumberThe parameter number
[in]wValueNew value
[in]attributesAdditional attributes
Returns
TRUE if the parameter is supported
virtual CPNS::boolean CPNS::IAudioLanLocalDevice::SetAudioParameterList ( CPNS::uint16 const  wNumber,
CPNS::ISelectorItemList *const  pList 
)
pure virtual

Set the selector list related to the specified parameter.

These parameters are identified by the message number, which is unique regardless the message type : Modifiers (0x4000 - 0x4FFF), Selectors (0x5000 - 0x5FFF), Text (0x6000 - 0x6FFF).

Remarks
This method supports only Selector related parameters!
Parameters
[in]wNumberThe parameter number
[in]pListThe list to be used for this parameter
Returns
TRUE if the parameter is supported
virtual CPNS::boolean CPNS::IAudioLanLocalDevice::SetAudioTextParameter ( CPNS::uint16 const  wNumber,
CPNS::char8 const *const  utf8ValueText,
CPNS::CombinedRefreshValueAttributes const  attributes = CPNS::Enums::RVA_None 
)
pure virtual

Change a text parameter current value.

These parameters are identified by the message number, which is unique regardless the message type : Modifiers (0x4000 - 0x4FFF), Selectors (0x5000 - 0x5FFF), Text (0x6000 - 0x6FFF).

Remarks
This method supports only Text related parameters!
Parameters
[in]wNumberThe parameter number
[in]utf8ValueTextNew text value
[in]attributesAdditional attributes
Returns
TRUE if the parameter is supported
virtual void CPNS::IAudioLanLocalDevice::SetCurrentOutputChannelSource ( CPNS::uint32 const  dwOutputChannelID,
CPNS::char8 const *const  utf8SourceStreamName,
CPNS::uint16 const  wSourceStreamChannelIndex 
)
pure virtual

Informs the network about the current source for the specified output channel.

Calling this method results in a notification sent to all devices watching this AudioLan local device.

virtual CPNS::boolean CPNS::IAudioLanLocalDevice::SetOutputChannelParameter ( CPNS::uint32 const  dwOutputChannelID,
CPNS::uint16 const  wNumber,
CPNS::uint16 const  wValue,
CPNS::CombinedRefreshValueAttributes const  attributes = CPNS::Enums::RVA_None 
)
pure virtual

Change a numeric parameter current value.

These parameters are identified by the message number, which is unique regardless the message type : Modifiers (0x4000 - 0x4FFF), Selectors (0x5000 - 0x5FFF), Text (0x6000 - 0x6FFF).

Remarks
This method does not support Text related parameters!
Parameters
[in]dwOutputChannelIDthe output channel application ID
[in]wNumberThe parameter number
[in]wValueNew value
[in]attributesAdditional attributes
Returns
TRUE if the parameter is supported
virtual CPNS::boolean CPNS::IAudioLanLocalDevice::SetOutputChannelParameterList ( CPNS::uint32 const  dwOutputChannelID,
CPNS::uint16 const  wNumber,
CPNS::ISelectorItemList *const  pList 
)
pure virtual

Set the selector list related to the specified parameter.

These parameters are identified by the message number, which is unique regardless the message type : Modifiers (0x4000 - 0x4FFF), Selectors (0x5000 - 0x5FFF), Text (0x6000 - 0x6FFF).

Remarks
This method supports only Selector related parameters!
Parameters
[in]dwOutputChannelIDthe output channel application ID
[in]wNumberThe parameter number
[in]pListThe list to be used for this parameter
Returns
TRUE if the parameter is supported
virtual CPNS::boolean CPNS::IAudioLanLocalDevice::SetOutputChannelTextParameter ( CPNS::uint32 const  dwOutputChannelID,
CPNS::uint16 const  wNumber,
CPNS::char8 const *const  utf8ValueText,
CPNS::CombinedRefreshValueAttributes const  attributes = CPNS::Enums::RVA_None 
)
pure virtual

Change a text parameter current value.

These parameters are identified by the message number, which is unique regardless the message type : Modifiers (0x4000 - 0x4FFF), Selectors (0x5000 - 0x5FFF), Text (0x6000 - 0x6FFF).

Remarks
This method supports only Text related parameters!
Parameters
[in]dwOutputChannelIDthe output channel application ID
[in]wNumberThe parameter number
[in]utf8ValueTextNew text value
[in]attributesAdditional attributes
Returns
TRUE if the parameter is supported
virtual CPNS::boolean CPNS::IAudioLanLocalDevice::SetSourceStreamParameter ( CPNS::uint32 const  dwStreamID,
CPNS::uint16 const  wChannelIndex,
CPNS::uint16 const  wNumber,
CPNS::uint16 const  wValue,
CPNS::CombinedRefreshValueAttributes const  attributes = CPNS::Enums::RVA_None 
)
pure virtual

Change a numeric parameter current value.

These parameters are identified by the message number, which is unique regardless the message type : Modifiers (0x4000 - 0x4FFF), Selectors (0x5000 - 0x5FFF), Text (0x6000 - 0x6FFF).

Remarks
This method does not support Text related parameters!
Parameters
[in]dwStreamIDthe stream application ID
[in]wChannelIndexoptional channel index (depending on the parameter)
[in]wNumberThe parameter number
[in]wValueNew value
[in]attributesAdditional attributes
Returns
TRUE if the parameter is supported
virtual CPNS::boolean CPNS::IAudioLanLocalDevice::SetSourceStreamParameterList ( CPNS::uint32 const  dwStreamID,
CPNS::uint16 const  wNumber,
CPNS::ISelectorItemList *const  pList 
)
pure virtual

Set the selector list related to the specified parameter.

These parameters are identified by the message number, which is unique regardless the message type : Modifiers (0x4000 - 0x4FFF), Selectors (0x5000 - 0x5FFF), Text (0x6000 - 0x6FFF).

Remarks
This method supports only Selector related parameters!
Parameters
[in]dwStreamIDthe stream application ID
[in]wNumberThe parameter number
[in]pListThe list to be used for this parameter
Returns
TRUE if the parameter is supported
virtual CPNS::boolean CPNS::IAudioLanLocalDevice::SetSourceStreamTextParameter ( CPNS::uint32 const  dwStreamID,
CPNS::uint16 const  wChannelIndex,
CPNS::uint16 const  wNumber,
CPNS::char8 const *const  utf8ValueText,
CPNS::CombinedRefreshValueAttributes const  attributes = CPNS::Enums::RVA_None 
)
pure virtual

Change a text parameter current value.

These parameters are identified by the message number, which is unique regardless the message type : Modifiers (0x4000 - 0x4FFF), Selectors (0x5000 - 0x5FFF), Text (0x6000 - 0x6FFF).

Remarks
This method supports only Text related parameters!
Parameters
[in]dwStreamIDthe stream application ID
[in]wChannelIndexoptional channel index (depending on the parameter)
[in]wNumberThe parameter number
[in]utf8ValueTextNew text value
[in]attributesAdditional attributes
Returns
TRUE if the parameter is supported
virtual void CPNS::IAudioLanLocalDevice::UnregisterAudioLanNotificationHandler ( CPNS::IAudioLanLocalDevice_NotificationHandler *const  pHandler)
pure virtual

Unregister a AudioLocalDevice's notification handler.

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