(v13) D_SELECT_DEVICE
This page applies to Harlequin v13.1r0 and later; and to Harlequin MultiRIP but not Harlequin Core
D_SELECT_DEVICE Selector
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;
s_numparams
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.
s_param
Each pointer in this array can be NULL
or can point to a plugin parameter.
s_param[ SELECT_DEV_CAPABILITIES ]
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.
s_param[ SELECT_DEV_CONFIG ]
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)
.
s_param[ SELECT_DEV_DIRECTORY ]
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.