CHAILink SDK  Version 1.3
 All Data Structures Files Functions Variables Typedefs Enumerations Enumerator Macros Groups Pages
CLC_Fct_Output.h
Go to the documentation of this file.
1 //*********************************************************
2 // File: CLC_Fct_Output.h
3 // Project: CopperLan CHAILink Client SDK
4 // Version: 1.3
5 // Release Date: 2014/04/15
6 //*********************************************************
7 
8 /********************************************************************
9 Software License Agreement: CHAILink Client source code
10 
11 The software supplied herewith by Klavis Technology (the “Company”) is intended and
12 supplied to you, the Company’s customer, for use solely and exclusively on embedded
13 CopperLan products needing a CHAILink Client.
14  The software is owned by the Company and/or its supplier, and is protected
15  under applicable copyright laws. All rights are reserved. Any use in violation of the
16  foregoing restrictions may subject the user to criminal sanctions under applicable laws,
17 as well as to civil liability for the breach of the terms and conditions of this license.
18 
19 THIS SOFTWARE MUST REMAIN UNMODIFIED. NO WARRANTIES, WHETHER EXPRESS,
20  IMPLIED OR STATUTORY, INCLUDING, BUT NOT LIMITED TO, IMPLIED WARRANTIES OF
21  MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE APPLY TO THIS SOFTWARE
22 IN CASE OF SOURCE CODE CHANGE BY THE CUSTOMER. IN CASE OF SUCH CHANGE, THE
23 COMPANY SHALL NOT BE LIABLE FOR SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES
24 OF ANY KIND.
25 ********************************************************************/
26 
27 #ifndef _CLC_FCT_OUTPUT_H_
28 #define _CLC_FCT_OUTPUT_H_
29 
30 #ifdef __cplusplus
31 extern "C" {
32 #endif
33 
40 
43 
51  CPHOBJECT const hBaseOutput,
52  CPBASEOUTPUTINFO * const pBaseOutputInfo);
53 
59  InOutCapabilities const inCaps,
60  InOutCapabilities const outCaps);
61 
69  CPHOBJECT const hBaseOutput,
70  CPCHAR8 const ** const putf8Name);
71 
78  CPHOBJECT const hBaseOutput,
79  CPCHAR8 const * const utf8Name);
80 
87  CPHOBJECT const hBaseOutput,
88  CPSECTIONID const * const pSectionID);
89 
91 
94 
101  CPHOBJECT const hBaseOutput,
102  CPBOOLEAN const fEnable);
104 
115 
122  CPHOBJECT const hBaseOutput);
123 
131  CPHOBJECT const hBaseOutput);
132 
140  CPHOBJECT const hBaseOutput,
141  SongPosition const position);
142 
150  CPHOBJECT const hBaseOutput,
151  SystemTime const time);
152 
159  CPHOBJECT const hBaseOutput);
160 
168  CPHOBJECT const hBaseOutput,
169  CPBOOLEAN const fEnable);
171 
174 
177  CPHOBJECT const hBaseOutput);
178 
186  CPHOBJECT const hBaseOutput,
187  CPPARAMETERID const * const pParamID);
189 
190 
192 
197 
200 #if defined(ENABLE_OUTPUT)
201 
209  CPHOBJECT const hOutput);
210 
216  CPHOBJECT const hOutput);
217 
218 #if defined(ENABLE_CLOCK)
226  CPHOBJECT const hOutput);
227 
233  CPHOBJECT const hOutput);
234 #endif // defined(ENABLE_CLOCK)
235 
236 #endif // defined(ENABLE_OUTPUT)
237 
239 
242 
249  CPHOBJECT const hOutput,
250  InOutCapabilities const outputCaps);
252 
255 
264  CPHOBJECT const hOutput,
265  CPUINT16 const wBPM,
266  CPUINT8 const bCPQNMultiplier);
267 
275  CPHOBJECT const hOutput,
276  CPUINT16 const wTickCount);
277 
284  CPHOBJECT const hOutput,
285  CPHOBJECT const hInput);
287 
290 
298  CPHOBJECT const hOutput,
299  ClockGeneratorCommands const cmd);
300 
310  CPHOBJECT const hOutput,
311  CPBOOLEAN const fDispatchToAllListeners);
312 
324  CPHOBJECT const hOutput,
325  CPBOOLEAN const fDispatchToAllListeners);
326 
336  CPHOBJECT const hOutput,
337  CPBOOLEAN const fDispatchToAllListeners);
338 
349  CPHOBJECT const hOutput,
350  CPBOOLEAN const fDispatchToAllListeners,
351  CPUINT32 const dwPosition);
352 
363  CPHOBJECT const hOutput,
364  CPBOOLEAN const fDispatchToAllListeners,
365  CPUINT32 const dwPosition);
366 
376  CPHOBJECT const hOutput,
377  CPBOOLEAN const fDispatchToAllListeners);
378 
388  CPHOBJECT const hOutput,
389  CPBOOLEAN const fDispatchToAllListeners);
390 
401  CPHOBJECT const hOutput,
402  CPBOOLEAN const fDispatchToAllListeners,
403  CPBOOLEAN const fState);
405 
411 
417  CPHOBJECT const hOutput);
418 
427  CPHOBJECT const hOutput,
428  CPENDPOINT const * const pDestination);
429 
437  CPHOBJECT const hOutput,
438  CPENDPOINT const * const pDestination);
439 
447  CPHOBJECT const hOutput,
448  CPUINT16 const wDestinationIndex);
449 
458  CPHOBJECT const hOutput,
459  CPUINT16 const wDestinationIndex,
460  CPENDPOINT * const pDestination);
461 
463 
466 
474  CPHOBJECT const hOutput,
475  CPBOOLEAN * const pfIsReady);
476 
489  CPHOBJECT const hOutput,
490  CPHOOKEDOBJECT const hMessage,
491  CPBOOLEAN const fFlush);
492 
505  CPHOBJECT const hOutput,
506  CPMODIFIERMSG const * const pMessageData,
507  CPBOOLEAN const fFlush);
508 
521  CPHOBJECT const hOutput,
522  CPEVENTMSG const * const pMessageData,
523  CPBOOLEAN const fFlush);
524 
537  CPHOBJECT const hOutput,
538  CPSELECTORMSG const * const pMessageData,
539  CPBOOLEAN const fFlush);
540 
553  CPHOBJECT const hOutput,
554  CPTEXTMSG const * const pMessageData,
555  CPBOOLEAN const fFlush);
556 
569  CPHOBJECT const hOutput,
570  CPTEXTMSG const * const pMessageData,
571  CPBOOLEAN const fFlush);
572 
585  CPHOBJECT const hOutput,
586  CPBOOLEAN const fIsLastBlock,
587  CPUINT8 const bSize,
588  CPUINT8 const * const pData,
589  CPBOOLEAN const fFlush);
590 
596  CPHOBJECT const hOutput);
597 
612  CPHOBJECT const hOutput,
613  CPUINT16 const wSignalNumber,
614  CPUINT16 const wOptionalData0,
615  CPUINT16 const wOptionalData1,
616  CPUINT16 const wOptionalData2,
617  CPUINT16 const wOptionalData3,
618  CPCHAR8 const * const utf8OptionalData,
619  CPENDPOINT const * const pOptionalEndPoint);
621 
626 
629 
637  CPHOBJECT const hController,
638  CPCONTROLLERINFO * const pControllerInfo);
639 
646  CPHOBJECT const hController);
648 
651 
652 #if defined(ENABLE_CONTROLLER)
661  CPHOBJECT const hController);
662 
668  CPHOBJECT const hController);
669 #endif // defined(ENABLE_CONTROLLER)
670 
674 
681  CPHOBJECT const hController,
682  CPCONTROLLERASSIGNMENT const * const pAssignment);
683 
689  CPHOBJECT const hController);
690 
698  CPHOBJECT const hController);
699 
709  CPHOBJECT const hController,
710  CPUINT16 const wValue,
711  ControllerSendModes const mode);
712 
726  CPHOBJECT const hController,
727  CPUINT16 const wValue,
728  ControllerSendModes const mode,
729  CPBOOLEAN const fWriteToEnd,
730  CPBOOLEAN const fTouch,
732 
740  CPHOBJECT const hController,
741  CPCHAR8 const * const utf8Value);
742 
745 // is a Selector and if the value is not relative.
755  CPHOBJECT const hController,
756  CPCHAR8 const * const utf8Value,
757  CPBOOLEAN const fWriteToEnd,
758  CPBOOLEAN const fTouch,
760 
773  CPHOBJECT const hController);
774 
787  CPHOBJECT const hController);
788 
796  CPHOBJECT const hController);
797 
799 
801 
803 
804 #ifdef __cplusplus
805 }
806 #endif
807 
808 #endif // _CLC_FCT_OUTPUT_H_
CLC_ErrorCode BaseOutput_EnableSendingDuringGlobalLearning(CPHOBJECT const hBaseOutput, CPBOOLEAN const fEnable)
Allow sending message during global learning.
CLC_ErrorCode Output_ClearDestinations(CPHOBJECT const hOutput)
Clear destinations.
CLC_ErrorCode BaseOutput_SetTimeStampSystemTimeFromGlobalSynchronizedTime(CPHOBJECT const hBaseOutput)
Set timestamp from Global Synchronized Clock (unit is 1us).
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...
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...
CLC_ErrorCode Output_AddDestination(CPHOBJECT const hOutput, CPENDPOINT const *const pDestination)
Add a destination.
CLC_ErrorCode Output_SetCapabilities(CPHOBJECT const hOutput, InOutCapabilities const outputCaps)
Set the output capabilities.
CLC_ErrorCode Output_RegisterClockGeneratorNotificationHandler(CPHOBJECT const hOutput)
Register Clock Generator notification handler for an output.
CLC_ErrorCode Output_RegisterNotificationHandler(CPHOBJECT const hOutput)
Register notification handler for an output.
#define CLC_SDK_API
Definition: CLCm_Platform.h:37
CLC_ErrorCode BaseOutput_SetTimeStampSongPosition(CPHOBJECT const hBaseOutput, SongPosition const position)
Set the timestamp to Song Position value.
CPUINT32 CPHOOKEDOBJECT
Handle on Hooked Object.
Definition: CLCm_Types.h:58
CLC_ErrorCode Controller_Assign(CPHOBJECT const hController, CPCONTROLLERASSIGNMENT const *const pAssignment)
Assign the controller.
Container structure for Section ID Each Input is associated to a SectionID giving information about i...
Definition: CLC_Types.h:67
CLC_ErrorCode BaseOutput_SetName(CPHOBJECT const hBaseOutput, CPCHAR8 const *const utf8Name)
Set the output name.
This structure contains information for a specific output or controller.
Definition: CLC_Types.h:148
CPUINT32 SongPosition
Song Position definition as unsigned 32 bit integer.
Definition: CLCm_Types.h:61
This structure stores data from a text message.
Definition: CLC_Fct_TextMessage.h:55
CLC_ErrorCode
Error code Enumeration. Error codes from 0x01 to 0xFF are related to a CopperLan functions return cod...
Definition: CLCm_Defines.h:469
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.
CLC_ErrorCode Output_Clock_SetPositionImmediate(CPHOBJECT const hOutput, CPBOOLEAN const fDispatchToAllListeners, CPUINT32 const dwPosition)
Set immediately a new clock position.
This structure stores data from an event message.
Definition: CLC_Fct_EventMessage.h:57
char CPCHAR8
Character Type (8 bit signed)
Definition: PlatformTypes.h:66
CLC_ErrorCode Controller_EnterLearningMode(CPHOBJECT const hController)
Enter learning mode. On success, the notification handler NH_CHAI_NOTIFICATION is called signaling CN...
PerformanceMessageAutomationStates
Automation states.
Definition: CLC_Enums.h:1660
CLC_ErrorCode Controller_GetInfo(CPHOBJECT const hController, CPCONTROLLERINFO *const pControllerInfo)
Get Controller Information.
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...
CLC_ErrorCode BaseOutput_EnableAutoTimeStampOnRecording(CPHOBJECT const hBaseOutput, CPBOOLEAN const fEnable)
Enable/disable automatic timestamping during recording session.
CPUINT64 SystemTime
System Time definition as unsigned 64 bit integer.
Definition: CLCm_Types.h:62
unsigned char CPUINT8
Byte Integer (8 bit unsigned)
Definition: PlatformTypes.h:42
This structure stores data from a modifier message.
Definition: CLC_Fct_ModifierMessage.h:61
CLC_ErrorCode Output_IsReadyToSend(CPHOBJECT const hOutput, CPBOOLEAN *const pfIsReady)
Check if the output is ready to send.
CLC_ErrorCode Controller_QueryParameterValue(CPHOBJECT const hController)
Send a query of current parameter value update This is an asynchronous operation, the notification NH...
CLC_ErrorCode Output_Clock_GeneratorCommand(CPHOBJECT const hOutput, ClockGeneratorCommands const cmd)
Control the generator state.
InOutCapabilities
Input & Output capabilities.
Definition: CLC_Enums.h:1145
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 ...
unsigned short CPUINT16
Word Integer (16 bit unsigned)
Definition: PlatformTypes.h:45
CLC_ErrorCode Output_Clock_Run(CPHOBJECT const hOutput, CPBOOLEAN const fDispatchToAllListeners)
Run clock.
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 ...
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.
CLC_ErrorCode Output_Clock_Set(CPHOBJECT const hOutput, CPUINT16 const wBPM, CPUINT8 const bCPQNMultiplier)
Set clock description.
CLC_ErrorCode Controller_RegisterNotificationHandler(CPHOBJECT const hController)
Register notification handler for a controller.
CLC_ErrorCode Output_Clock_Tick(CPHOBJECT const hOutput, CPUINT16 const wTickCount)
Send a clock tick.
unsigned long CPUINT32
Double Word Integer (32 bit unsigned)
Definition: PlatformTypes.h:48
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...
CLC_ErrorCode BaseOutput_QueryCurrentParameterValue(CPHOBJECT const hBaseOutput, CPPARAMETERID const *const pParamID)
Send a query of current parameter value update for the specified parameter.
CLC_ErrorCode BaseOutput_SetSectionID(CPHOBJECT const hBaseOutput, CPSECTIONID const *const pSectionID)
Set the Output section ID.
CLC_ErrorCode Controller_QueryParameterPath(CPHOBJECT const hController)
Queries the currently assigned parameter path. This is an asynchronous operation, the notification NH...
Container structure for Parameter ID. Knowing a ParameterID and its owning Device gives enough inform...
Definition: CLC_Types.h:76
CLC_ErrorCode Output_Clock_State(CPHOBJECT const hOutput, CPBOOLEAN const fDispatchToAllListeners, CPBOOLEAN const fState)
Clock state.
CLC_ErrorCode Output_Clock_SetPositionTrigger(CPHOBJECT const hOutput, CPBOOLEAN const fDispatchToAllListeners)
Trig prepared clock position setting.
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) ...
CPBOOLEAN BaseOutput_IsCompatibleWith(InOutCapabilities const inCaps, InOutCapabilities const outCaps)
Check if the specified input caps are compatible with the specified output caps.
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 ...
ControllerSendModes
Tells how to send the value.
Definition: CLC_Enums.h:181
CLC_ErrorCode Output_UnregisterNotificationHandler(CPHOBJECT const hOutput)
Unregister notification handler for an output.
CLC_ErrorCode Output_Flush(CPHOBJECT const hOutput)
Send pending messages.
Container structure for Endpoint.
Definition: CLC_Types.h:48
CLC_ErrorCode BaseOutput_GetName(CPHOBJECT const hBaseOutput, CPCHAR8 const **const putf8Name)
Get the output name.
CLC_ErrorCode Output_RemoveDestination(CPHOBJECT const hOutput, CPENDPOINT const *const pDestination)
Remove a destination.
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...
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...
CLC_ErrorCode BaseOutput_ClearTimeStamp(CPHOBJECT const hBaseOutput)
Clear any timestamp information.
CLC_ErrorCode BaseOutput_SetTimeStampOffline(CPHOBJECT const hBaseOutput)
Set the timestamp in offline mode.
CLC_ErrorCode Output_GetDestination(CPHOBJECT const hOutput, CPUINT16 const wDestinationIndex, CPENDPOINT *const pDestination)
Get a destination by index.
This structure stores data from a selector message.
Definition: CLC_Fct_SelectorMessage.h:64
CLC_ErrorCode BaseOutput_SetTimeStampSystemTime(CPHOBJECT const hBaseOutput, SystemTime const time)
Set the timestamp to System Time value.
CLC_ErrorCode Output_Clock_Stop(CPHOBJECT const hOutput, CPBOOLEAN const fDispatchToAllListeners)
Stop clock.
ClockGeneratorCommands
Clock generator commands.
Definition: CLC_Enums.h:126
CLC_ErrorCode Output_Clock_SetControllerInput(CPHOBJECT const hOutput, CPHOBJECT const hInput)
Set the companion Clock Controller Input.
CLC_ErrorCode BaseOutput_GetInfo(CPHOBJECT const hBaseOutput, CPBASEOUTPUTINFO *const pBaseOutputInfo)
Get Base Output Information.
Controller assignment structure.
Definition: CLC_Types.h:85
CLC_ErrorCode Output_Clock_SetPositionPrepare(CPHOBJECT const hOutput, CPBOOLEAN const fDispatchToAllListeners, CPUINT32 const dwPosition)
Prepare clock position.
This structure contains information for a specific controller.
Definition: CLC_Types.h:160
CPUINT32 CPHOBJECT
Handle on Object.
Definition: CLCm_Types.h:57
CLC_ErrorCode BaseOutput_QueryCurrentParameterValues(CPHOBJECT const hBaseOutput)
Send a query for all current parameter values refresh to the connected input.///. ...
CLC_ErrorCode Controller_Unassign(CPHOBJECT const hController)
Unassign the controller, back to the preferred settings.
CLC_ErrorCode Output_RemoveDestinationByIndex(CPHOBJECT const hOutput, CPUINT16 const wDestinationIndex)
Remove a destination by specifying its index.
CLC_ErrorCode Controller_UnregisterNotificationHandler(CPHOBJECT const hController)
Unregister notification handler for a Controller.
CLC_ErrorCode Output_Clock_RunFromStart(CPHOBJECT const hOutput, CPBOOLEAN const fDispatchToAllListeners)
Run clock from start.
CLC_ErrorCode Output_UnregisterClockGeneratorNotificationHandler(CPHOBJECT const hOutput)
Unregister Clock Generator notification handler for an output.
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 ...
CLC_ErrorCode Output_Clock_FillIn(CPHOBJECT const hOutput, CPBOOLEAN const fDispatchToAllListeners)
FillIn clock.