Skip to main content
Skip table of contents


This page applies to Harlequin v13.1r0 and later; and to Harlequin MultiRIP but not Harlequin Core


Parameter: devSelectDeviceParam * selectdevice

The RIP makes this call to select a specific device instance in a multi‐device plugin. The plugin should make the device identified in the call its current device, meaning that any subsequent call to the plugin would be understood to refer to the device named in the last D_SELECT_DEVICE call.

Note: D_FIND_DEVICE_TYPE also sets the current device, acting as an implicit D_SELECT_DEVICE call. This is because plugin dialog selectors do not have a preceding D_SELECT_DEVICE .

The parameter passed with the selector is described below.

      typedef struct devSelectDeviceParam { int32 s_numparams;
      void *s_param[MAX_SELECT_DEV_PARAM];
    } devSelectDeviceParam;


The number of pointer parameters passed in the array s_param . For a given value of s_numparams , only

s_param[0], s_param[1], ..., s_param[s_numparams-1]

of them will be meaningful. The plugin should inspect only those parameters.


Each pointer in this array can be NULL or can point to a plugin parameter.


A pointer to the HqnDeviceCapabilities structure for the current device. The name field here identifies the name of the instantiated device, not the device's type name as in the D_FIND_DEVICE_TYPE call.

The device type can be determined using a deviceFlags element.


A pointer to the DeviceConfig structure for the current device.

s_param[ SELECT_DEV_ADDR ]

A pointer to a null‐terminated string containing the device address to be used. This is taken from the Device Manager dialog. Its content is entirely arbitrary, and can be parsed by the plugin to provide information used to route the output to the appropriate hardware and to distinguish between different devices of the same type. The plugin writer is responsible for documenting what precisely the user should put in the device address.

The string will be empty if this is an auto‐instantiated device. See the description of

DEV_FLAG_INSTANTIATE_ONE_DEVICE in deviceFlags[8] (HqnDeviceCapabilities) .


A pointer to a null‐terminated string containing the path name for the SW directory.

Plugins which send output data to files may use this location to do so. However, they should be implemented so that they can work without being passed a directory name perhaps creating their files at the root level of the disk, or, more likely, by using the plugin dialog mechanism to let the user specify a filename directly.

This entry is only set if the DEV_FLAG_SUPPORTS_DIR bit in deviceFlags[ 0 ] of the

HqnDeviceCapabilities structure is set.

JavaScript errors detected

Please note, these errors can depend on your browser setup.

If this problem persists, please contact our support.