Harlequin RIP SDK
Programming interfaces in the Harlequin RIP core and SDK

This chapter provides detail about application programming interfaces available in the Harlequin RIP core and SDK, what they provide, and how to use them. There are several foundational APIs that you need to understand and use in order to integrate the RIP. They have implementations in the core library or SDK library:

  • RIP Data Resource (RDR) System describes the RIP Data Resource API, and how it is used to de-couple components, and how customers may take advantage of this to replace or override functionality provided by the core or SDK.
  • Events system describes the Events API, event filtering and handling, and the event types used by the RIP and the SDK.
  • Timeline API provides information about the Timeline API, its use for monitoring internal RIP processes, and the timelines used by the RIP and the SDK.
  • Input queue and source API provides information about the Inputs API, including how to submit jobs for processing, how to override and configure jobs, and how to add new input sources.

The device interface is another foundational API that you need to understand. Devices can implement a wide range of functionality, and are very useful for communicating between the internals of the RIP and the application. There are implementations of many device types in the core and SDK already, but you may need to implement your own device types too:

  • DEVICE interface describes the device interface used to communicate between the RIP and the application, and the devices built-in to the RIP and the SDK.

If you are writing a raster output backend, there are several relevant APIs:

  • Raster backend output API describes the SDK's raster backend API.
  • RIP Farm Raster backend to Raster Manager API describes the raster manager output API, used by raster backends when running as a Scalable RIP to serialise output metadata.
  • eHVD API describes the eHVD event API and the libHVD support library that aims to make it simpler to integrate eHVD functionality into raster backends.
  • Raster store interface describes the raster store API provided by the core, used to save and retrieve chunks of raster for partial painting or HVD element processing.

Some of the APIs allow code in the SDK or application layer to provide extra functionality to the core RIP. You may also want to write your own implementations of these APIs:

When interacting with these APIs, the core may provide pointers to callback APIs that allow your code to allocate memory, unpack data object references, or read and write data streams. These callback APIs are:

The remaining APIs are integration APIs that the core or SDK libraries use to implement functionality. There are implementations of these APIs built into the SDK or core library, and registered automatically by the SDK or core on startup. You can use functionality provided by these APIs if you wish. You are not likely to need to implement these these APIs yourself, but if necessary you can intercept or override the APIs to enhance or change how the core or SDK use these APIs.