CHAI SDK  Version 1.3
 All Classes Namespaces Functions Variables Typedefs Enumerations Enumerator Pages
CPNS::IBaseOutput Class Referenceabstract
+ Inheritance diagram for CPNS::IBaseOutput:
+ Collaboration diagram for CPNS::IBaseOutput:

Public Member Functions

CPNS::IOutputGetIOutput () const
 Check Output type and return an IOutput object pointer if type match. More...
 
CPNS::IControllerGetIController () const
 Check Controller type and return an IController object pointer if type match. More...
 
virtual CPNS::IBaseLocalDeviceGetDevice () const =0
 Get the related Local DeviceCHAI. More...
 
virtual void SetDisabledInternalSnapshot (CPNS::boolean const fDisabled)=0
 Enable/disable the internal snapshot capability for this output. More...
 
virtual CPNS::UTF8String GetName () const =0
 Get the Output name. More...
 
virtual void SetName (CPNS::char8 const *const utf8Name)=0
 Set the Output name. More...
 
virtual CPNS::Endpoint GetEndpoint ()=0
 Get the Endpoint related to the output. More...
 
virtual void SetSectionID (CPNS::SectionID const &sectionID)=0
 Set the Output section. More...
 
virtual CPNS::SectionID GetSectionID () const =0
 Get the Output section. More...
 
virtual CPNS::boolean IsCompatibleWith (CPNS::CombinedInOutCapabilities const inCaps)=0
 Check if the output is compatible with the specified input caps. More...
 
virtual
CPNS::CombinedInOutCapabilities 
GetCapabilities () const =0
 Get the Output capabilities. More...
 
virtual CPNS::boolean HasRecordingDestinations ()=0
 Check if the Output has recording destinations. More...
 
virtual void ClearRecordingDestinations ()=0
 Clear all recording destinations. More...
 
virtual CPNS::Enums::Errors AddRecordingDestination (CPNS::Endpoint const &destination)=0
 Add a recording destination There is no effect if the recording destination is already set for the Output. More...
 
virtual CPNS::Enums::Errors RemoveRecordingDestination (CPNS::Endpoint const &destination)=0
 Remove a recording destination. More...
 
virtual CPNS::uint16 GetNumRecordingDestinations ()=0
 Get the number of recording destinations. More...
 
virtual CPNS::Endpoint GetRecordingDestination (CPNS::uint16 const wDestinationIndex)=0
 Get a recording destination. More...
 
virtual void EnableSendingDuringGlobalLearning (CPNS::boolean const fEnable)=0
 Allow sending message during global learning. More...
 
virtual void ClearTimeStamp ()=0
 Clear any timestamp information. More...
 
virtual void SetTimeStampOffline ()=0
 Set the timestamp in offline mode. More...
 
virtual void SetTimeStampSongPosition (CPNS::SongPosition const position)=0
 Set the timestamp to Song Position value. More...
 
virtual void SetTimeStampSystemTime (CPNS::SystemTime const position)=0
 Set the timestamp to System Time value. More...
 
virtual void SetTimeStampSystemTimeFromGlobalSynchronizedTime ()=0
 Set timestamp from Global Synchronized Clock (unit is 1us). More...
 
virtual void EnableAutoTimeStampOnRecording (CPNS::boolean const fEnable)=0
 Enable/disable automatic timestamping during recording session. More...
 
virtual CPNS::Enums::Errors QueryCurrentParameterValues ()=0
 Send a query for all current parameter values refresh to the connected input. More...
 
virtual CPNS::Enums::Errors QueryCurrentParameterValue (CPNS::ParameterID const &paramID)=0
 Send a query of current parameter value update for the specified parameter. 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...
 

Member Function Documentation

virtual CPNS::Enums::Errors CPNS::IBaseOutput::AddRecordingDestination ( CPNS::Endpoint const &  destination)
pure virtual

Add a recording destination There is no effect if the recording destination is already set for the Output.

Warning
calling this method implicitly flush the output before performing the action.
Parameters
[in]destinationthe new destination
Returns
CPNS::Enums::ERR_None | CPNS::Enums::ERR_TooManyDestinations
virtual void CPNS::IBaseOutput::ClearRecordingDestinations ( )
pure virtual

Clear all recording destinations.

virtual void CPNS::IBaseOutput::ClearTimeStamp ( )
pure virtual

Clear any timestamp information.

Warning
this method does not flush data. Possible multipart pending messages will be sent using the previous timestamp information.
virtual void CPNS::IBaseOutput::EnableAutoTimeStampOnRecording ( CPNS::boolean const  fEnable)
pure virtual

Enable/disable automatic timestamping during recording session.

Parameters
[in]fEnableIf enabled (default status), a global synchronized time timestamp is automatically added when recording is armed if no timestamp has been set using one of the SetTimeStamp*** methods.
virtual void CPNS::IBaseOutput::EnableSendingDuringGlobalLearning ( CPNS::boolean const  fEnable)
pure virtual

Allow sending message during global learning.

Parameters
[in]fEnableif TRUE, messages can be sent even the network is performing a global learning
virtual CPNS::CombinedInOutCapabilities CPNS::IBaseOutput::GetCapabilities ( ) const
pure virtual

Get the Output capabilities.

Returns
the capabilities
virtual CPNS::IBaseLocalDevice* CPNS::IBaseOutput::GetDevice ( ) const
pure virtual

Get the related Local DeviceCHAI.

Returns
the local device pointer
virtual CPNS::Endpoint CPNS::IBaseOutput::GetEndpoint ( )
pure virtual

Get the Endpoint related to the output.

Returns
the endpoint
CPNS::IController* CPNS::IBaseOutput::GetIController ( ) const

Check Controller type and return an IController object pointer if type match.

Returns
a pointer to the object's CPNS::IController interface if available
CPNS::IOutput* CPNS::IBaseOutput::GetIOutput ( ) const

Check Output type and return an IOutput object pointer if type match.

Returns
a pointer to the object's CPNS::IOutput interface if available
virtual CPNS::UTF8String CPNS::IBaseOutput::GetName ( ) const
pure virtual

Get the Output name.

Returns
the output name
virtual CPNS::uint16 CPNS::IBaseOutput::GetNumRecordingDestinations ( )
pure virtual

Get the number of recording destinations.

Returns
the number of recording destinations
virtual CPNS::Endpoint CPNS::IBaseOutput::GetRecordingDestination ( CPNS::uint16 const  wDestinationIndex)
pure virtual

Get a recording destination.

Parameters
[in]wDestinationIndexIndex, from 0 to GetNumRecordingDestinations()-1
Returns
Destination's endpoint, or empty Endpoint if wDestinationIndex is out of range
virtual CPNS::SectionID CPNS::IBaseOutput::GetSectionID ( ) const
pure virtual

Get the Output section.

Returns
section value
virtual CPNS::boolean CPNS::IBaseOutput::HasRecordingDestinations ( )
pure virtual

Check if the Output has recording destinations.

Remarks
count the total number of destinations, even those for which the presence on the network is not yet validated.
Returns
TRUE if destination exists
virtual CPNS::boolean CPNS::IBaseOutput::IsCompatibleWith ( CPNS::CombinedInOutCapabilities const  inCaps)
pure virtual

Check if the output is compatible with the specified input caps.

Parameters
[in]inCapsthe input capabilities
Returns
TRUE if ok
virtual CPNS::Enums::Errors CPNS::IBaseOutput::QueryCurrentParameterValue ( CPNS::ParameterID const &  paramID)
pure virtual

Send a query of current parameter value update for the specified parameter.

Remarks
This method returns ERR_TooManyDestinations if more than one destination is currently set.
Returns
CPNS::Enums::ERR_None | CPNS::Enums::ERR_NoDestination | CPNS::Enums::ERR_TooManyDestinations | CPNS::Enums::ERR_Failed
virtual CPNS::Enums::Errors CPNS::IBaseOutput::QueryCurrentParameterValues ( )
pure virtual

Send a query for all current parameter values refresh to the connected input.

Returns
CPNS::Enums::ERR_None | CPNS::Enums::ERR_NoDestination | CPNS::Enums::ERR_TooManyDestinations | CPNS::Enums::ERR_Failed
virtual CPNS::Enums::Errors CPNS::IBaseOutput::RemoveRecordingDestination ( CPNS::Endpoint const &  destination)
pure virtual

Remove a recording destination.

Warning
calling this method implicitly flush the output before performing the action.
Parameters
[in]destinationthe destination to be removed
Returns
CPNS::Enums::ERR_None | CPNS::Enums::ERR_ItemNotFound
virtual void CPNS::IBaseOutput::SetDisabledInternalSnapshot ( CPNS::boolean const  fDisabled)
pure virtual

Enable/disable the internal snapshot capability for this output.

By default it is enabled, so the output destination set and hosted controllers assignment are saved/restored by the internal snapshot.

Parameters
[in]fDisabledIf TRUE, the internal snapshot is disabled for this output.
virtual void CPNS::IBaseOutput::SetName ( CPNS::char8 const *const  utf8Name)
pure virtual

Set the Output name.

Parameters
[in]utf8Namethe new name
virtual void CPNS::IBaseOutput::SetSectionID ( CPNS::SectionID const &  sectionID)
pure virtual

Set the Output section.

Parameters
[in]sectionIDthe new Section ID
virtual void CPNS::IBaseOutput::SetTimeStampOffline ( )
pure virtual

Set the timestamp in offline mode.

By default, time stamp is not in offline mode.

Warning
this method does not flush data. Possible multipart pending messages will be sent using the previous timestamp information.
virtual void CPNS::IBaseOutput::SetTimeStampSongPosition ( CPNS::SongPosition const  position)
pure virtual

Set the timestamp to Song Position value.

Warning
this method does not flush data. Possible multipart pending messages will be sent using the previous timestamp information.
Parameters
[in]positionThe position expressed as a 32 bits number. Unit is (a quarter note / 1920).
virtual void CPNS::IBaseOutput::SetTimeStampSystemTime ( CPNS::SystemTime const  position)
pure virtual

Set the timestamp to System Time value.

Warning
this method does not flush data. Possible multipart pending messages will be sent using the previous timestamp information.
Parameters
[in]positionThe position expressed as a 64 bits number. Unit is 1 us.
virtual void CPNS::IBaseOutput::SetTimeStampSystemTimeFromGlobalSynchronizedTime ( )
pure virtual

Set timestamp from Global Synchronized Clock (unit is 1us).

Warning
this method does not flush data. Possible multipart pending messages will be sent using the previous timestamp information.