CHAILink SDK  Version 1.3
 All Data Structures Files Functions Variables Typedefs Enumerations Enumerator Macros Groups Pages
CLC_Fct_Output.h File Reference

Go to the source code of this file.

Functions

Output Identity Handling
CLC_ErrorCode BaseOutput_GetInfo (CPHOBJECT const hBaseOutput, CPBASEOUTPUTINFO *const pBaseOutputInfo)
 Get Base Output Information. More...
 
CPBOOLEAN BaseOutput_IsCompatibleWith (InOutCapabilities const inCaps, InOutCapabilities const outCaps)
 Check if the specified input caps are compatible with the specified output caps. More...
 
CLC_ErrorCode BaseOutput_GetName (CPHOBJECT const hBaseOutput, CPCHAR8 const **const putf8Name)
 Get the output name. More...
 
CLC_ErrorCode BaseOutput_SetName (CPHOBJECT const hBaseOutput, CPCHAR8 const *const utf8Name)
 Set the output name. More...
 
CLC_ErrorCode BaseOutput_SetSectionID (CPHOBJECT const hBaseOutput, CPSECTIONID const *const pSectionID)
 Set the Output section ID. More...
 
CLC_ErrorCode Controller_GetInfo (CPHOBJECT const hController, CPCONTROLLERINFO *const pControllerInfo)
 Get Controller Information. More...
 
CLC_ErrorCode Controller_QueryParameterPath (CPHOBJECT const hController)
 Queries the currently assigned parameter path. This is an asynchronous operation, the notification NH_CONTROLLER_ONPARAMETERPATHREPLY will be called later. More...
 
Send
CLC_ErrorCode BaseOutput_EnableSendingDuringGlobalLearning (CPHOBJECT const hBaseOutput, CPBOOLEAN const fEnable)
 Allow sending message during global learning. More...
 
Timestamp handling

Timestamp information is set before sending a message. Multiple messages can be sent with the same time information if timestamp remains unchanged between two Send. It is possible to set simultaneously a timestamp for each type.

Warning
Manipulating time stamp reset the output buffer. Do not use hereafter methods after beginning a multipart message (send with no flush) to avoid missing message send.
CLC_ErrorCode BaseOutput_ClearTimeStamp (CPHOBJECT const hBaseOutput)
 Clear any timestamp information. More...
 
CLC_ErrorCode BaseOutput_SetTimeStampOffline (CPHOBJECT const hBaseOutput)
 Set the timestamp in offline mode. More...
 
CLC_ErrorCode BaseOutput_SetTimeStampSongPosition (CPHOBJECT const hBaseOutput, SongPosition const position)
 Set the timestamp to Song Position value. More...
 
CLC_ErrorCode BaseOutput_SetTimeStampSystemTime (CPHOBJECT const hBaseOutput, SystemTime const time)
 Set the timestamp to System Time value. More...
 
CLC_ErrorCode BaseOutput_SetTimeStampSystemTimeFromGlobalSynchronizedTime (CPHOBJECT const hBaseOutput)
 Set timestamp from Global Synchronized Clock (unit is 1us). More...
 
CLC_ErrorCode BaseOutput_EnableAutoTimeStampOnRecording (CPHOBJECT const hBaseOutput, CPBOOLEAN const fEnable)
 Enable/disable automatic timestamping during recording session. More...
 
Editing
CLC_ErrorCode BaseOutput_QueryCurrentParameterValues (CPHOBJECT const hBaseOutput)
 Send a query for all current parameter values refresh to the connected input.///. More...
 
CLC_ErrorCode BaseOutput_QueryCurrentParameterValue (CPHOBJECT const hBaseOutput, CPPARAMETERID const *const pParamID)
 Send a query of current parameter value update for the specified parameter. More...
 
Event handling
CLC_ErrorCode Output_RegisterNotificationHandler (CPHOBJECT const hOutput)
 Register notification handler for an output. More...
 
CLC_ErrorCode Output_UnregisterNotificationHandler (CPHOBJECT const hOutput)
 Unregister notification handler for an output. More...
 
CLC_ErrorCode Output_RegisterClockGeneratorNotificationHandler (CPHOBJECT const hOutput)
 Register Clock Generator notification handler for an output. More...
 
CLC_ErrorCode Output_UnregisterClockGeneratorNotificationHandler (CPHOBJECT const hOutput)
 Unregister Clock Generator notification handler for an output. More...
 
CLC_ErrorCode Controller_RegisterNotificationHandler (CPHOBJECT const hController)
 Register notification handler for a controller. More...
 
CLC_ErrorCode Controller_UnregisterNotificationHandler (CPHOBJECT const hController)
 Unregister notification handler for a Controller. More...
 
General
CLC_ErrorCode Output_SetCapabilities (CPHOBJECT const hOutput, InOutCapabilities const outputCaps)
 Set the output capabilities. More...
 
Clock Generator
CLC_ErrorCode Output_Clock_Set (CPHOBJECT const hOutput, CPUINT16 const wBPM, CPUINT8 const bCPQNMultiplier)
 Set clock description. More...
 
CLC_ErrorCode Output_Clock_Tick (CPHOBJECT const hOutput, CPUINT16 const wTickCount)
 Send a clock tick. More...
 
CLC_ErrorCode Output_Clock_SetControllerInput (CPHOBJECT const hOutput, CPHOBJECT const hInput)
 Set the companion Clock Controller Input. More...
 
Clock Controller
CLC_ErrorCode Output_Clock_GeneratorCommand (CPHOBJECT const hOutput, ClockGeneratorCommands const cmd)
 Control the generator state. More...
 
CLC_ErrorCode Output_Clock_RunFromStart (CPHOBJECT const hOutput, CPBOOLEAN const fDispatchToAllListeners)
 Run clock from start. More...
 
CLC_ErrorCode Output_Clock_Run (CPHOBJECT const hOutput, CPBOOLEAN const fDispatchToAllListeners)
 Run clock. More...
 
CLC_ErrorCode Output_Clock_Stop (CPHOBJECT const hOutput, CPBOOLEAN const fDispatchToAllListeners)
 Stop clock. More...
 
CLC_ErrorCode Output_Clock_SetPositionImmediate (CPHOBJECT const hOutput, CPBOOLEAN const fDispatchToAllListeners, CPUINT32 const dwPosition)
 Set immediately a new clock position. More...
 
CLC_ErrorCode Output_Clock_SetPositionPrepare (CPHOBJECT const hOutput, CPBOOLEAN const fDispatchToAllListeners, CPUINT32 const dwPosition)
 Prepare clock position. More...
 
CLC_ErrorCode Output_Clock_SetPositionTrigger (CPHOBJECT const hOutput, CPBOOLEAN const fDispatchToAllListeners)
 Trig prepared clock position setting. More...
 
CLC_ErrorCode Output_Clock_FillIn (CPHOBJECT const hOutput, CPBOOLEAN const fDispatchToAllListeners)
 FillIn clock. More...
 
CLC_ErrorCode Output_Clock_State (CPHOBJECT const hOutput, CPBOOLEAN const fDispatchToAllListeners, CPBOOLEAN const fState)
 Clock state. More...
 
Normal destination handling
Warning
Adding/removing destinations reset the output buffer. Do not manipulate destinations after beginning a multipart message (send with no flush) to avoid missing message send.
CLC_ErrorCode Output_ClearDestinations (CPHOBJECT const hOutput)
 Clear destinations. More...
 
CLC_ErrorCode Output_AddDestination (CPHOBJECT const hOutput, CPENDPOINT const *const pDestination)
 Add a destination. More...
 
CLC_ErrorCode Output_RemoveDestination (CPHOBJECT const hOutput, CPENDPOINT const *const pDestination)
 Remove a destination. More...
 
CLC_ErrorCode Output_RemoveDestinationByIndex (CPHOBJECT const hOutput, CPUINT16 const wDestinationIndex)
 Remove a destination by specifying its index. More...
 
CLC_ErrorCode Output_GetDestination (CPHOBJECT const hOutput, CPUINT16 const wDestinationIndex, CPENDPOINT *const pDestination)
 Get a destination by index. More...
 
Messaging
CLC_ErrorCode Output_IsReadyToSend (CPHOBJECT const hOutput, CPBOOLEAN *const pfIsReady)
 Check if the output is ready to send. More...
 
CLC_ErrorCode Output_Send (CPHOBJECT const hOutput, CPHOOKEDOBJECT const hMessage, CPBOOLEAN const fFlush)
 Send a message with flush control, allowing multipart messages. If the device recording is armed and no time stamp specified yet, a system time stamp is automatically added to the message. More...
 
CLC_ErrorCode Output_SendModifierMessage (CPHOBJECT const hOutput, CPMODIFIERMSG const *const pMessageData, CPBOOLEAN const fFlush)
 Send a modifier message. If the device recording is armed and no time stamp specified yet, a system time stamp is automatically added to the message. More...
 
CLC_ErrorCode Output_SendEventMessage (CPHOBJECT const hOutput, CPEVENTMSG const *const pMessageData, CPBOOLEAN const fFlush)
 Send an event message. If the device recording is armed and no time stamp specified yet, a system time stamp is automatically added to the message. More...
 
CLC_ErrorCode Output_SendSelectorMessage (CPHOBJECT const hOutput, CPSELECTORMSG const *const pMessageData, CPBOOLEAN const fFlush)
 Send an selector message. If the device recording is armed and no time stamp specified yet, a system time stamp is automatically added to the message. More...
 
CLC_ErrorCode Output_SendTextMessage (CPHOBJECT const hOutput, CPTEXTMSG const *const pMessageData, CPBOOLEAN const fFlush)
 Send a text message. If the device recording is armed and no time stamp specified yet, a system time stamp is automatically added to the message. More...
 
CLC_ErrorCode Output_SendMIDISysExMessage (CPHOBJECT const hOutput, CPBOOLEAN const fIsLastBlock, CPUINT8 const bSize, CPUINT8 const *const pData, CPBOOLEAN const fFlush)
 Send a midi SysEx message. For performance, this function does not wait for a response. More...
 
CLC_ErrorCode Output_Flush (CPHOBJECT const hOutput)
 Send pending messages. More...
 
CLC_ErrorCode Output_Signal (CPHOBJECT const hOutput, CPUINT16 const wSignalNumber, CPUINT16 const wOptionalData0, CPUINT16 const wOptionalData1, CPUINT16 const wOptionalData2, CPUINT16 const wOptionalData3, CPCHAR8 const *const utf8OptionalData, CPENDPOINT const *const pOptionalEndPoint)
 Send a multicast signal directed to all devices present in the destination set. More...
 
Controller management
CLC_ErrorCode Controller_Assign (CPHOBJECT const hController, CPCONTROLLERASSIGNMENT const *const pAssignment)
 Assign the controller. More...
 
CLC_ErrorCode Controller_Unassign (CPHOBJECT const hController)
 Unassign the controller, back to the preferred settings. More...
 
CLC_ErrorCode Controller_EnterLearningMode (CPHOBJECT const hController)
 Enter learning mode. On success, the notification handler NH_CHAI_NOTIFICATION is called signaling CNT_GlobalLearningModeRunning If a Learning is requested but already in progress, the method returns ERR_GlobalLearningRunning. More...
 
CLC_ErrorCode Controller_SendValue (CPHOBJECT const hController, CPUINT16 const wValue, ControllerSendModes const mode)
 Send a value using the assigned message. If the assigned message is a Selector, the value is sent in proportional mode (see SelectorMessage_SetProportionalValue) More...
 
CLC_ErrorCode Controller_SendValueWithAutomation (CPHOBJECT const hController, CPUINT16 const wValue, ControllerSendModes const mode, CPBOOLEAN const fWriteToEnd, CPBOOLEAN const fTouch, PerformanceMessageAutomationStates const state)
 Send a value using the assigned message, specifying automation The value is sent in proportional mode (see SelectorMessage_SetProportionalValue) if the assigned message is a Selector and if the value is not relative. More...
 
CLC_ErrorCode Controller_SendTextValue (CPHOBJECT const hController, CPCHAR8 const *const utf8Value)
 Send a text value using the assigned message (only for controllers assigned to text parameter) More...
 
CLC_ErrorCode Controller_SendTextValueWithAutomation (CPHOBJECT const hController, CPCHAR8 const *const utf8Value, CPBOOLEAN const fWriteToEnd, CPBOOLEAN const fTouch, PerformanceMessageAutomationStates const state)
 Send a value using the assigned message, specifying automation (only for controllers assigned to text parameter) The value is sent in proportional mode (see CPNS::ISelectorMessage::SetProportionalValue) if the assigned message. More...
 
CLC_ErrorCode Controller_SendDown (CPHOBJECT const hController)
 Send the message related to the button down action, if any. If the controller has been assigned with a selector: More...
 
CLC_ErrorCode Controller_SendUp (CPHOBJECT const hController)
 Send the message related to the button up action, if any. If the controller has been assigned with a selector: More...
 
CLC_ErrorCode Controller_QueryParameterValue (CPHOBJECT const hController)
 Send a query of current parameter value update This is an asynchronous operation, the notification NH_CONTROLLER_REFRESHCURRENTMODIFIERPARAMVALUE, NH_CONTROLLER_REFRESHCURRENTSELECTORPARAMVALUE or NH_CONTROLLER_REFRESHCURRENTTEXTPARAMVALUE will be called later. More...