Introduction to the output controller and queue management
This page applies to Harlequin v13.1r0 and later; and to Harlequin MultiRIP but not Harlequin Core.
The format of the files is proprietary. This is because they are designed for rapid access from disk and subsequent delivery to an output device, rather than for portability. The information stored in pagebuffer files are familiar to plugin writers, because the headers and rasters passed to plugins provide exactly the same information.
The procedures are generally suitable only for control of pagebuffers created with the same version of the RIP running on the same platform (combination of hardware and operating system).
Full use of the procedures in this chapter requires some knowledge of the structure of pagebuffer
files, especially the file header. These files are fully described in a separate document, supplied under its own non-disclosure agreement. For a discussion of the overall structure and an example pagebuffer
header, see Pagebuffer files.
The control procedures are accessed from PostScript language code using the ProcSet resource HqnThroughputContro
. Resources are described in The PostScript Language Reference Manual, Section 3.9. Using the findresource
operator on a ProcSet
resource category yields a dictionary containing a set of procedures which are used to manipulate the pages in the Output Controller.
For example, the following PostScript language fragment lists to the Monitor window all the pages in the Held Queue of the Output Controller:
/HqnThroughputControl /ProcSet findresource begin
{ = } pgbheldforall end
In all of the procedures, pagebuffer
names are strings with eight hexadecimal digits followed by .PGB
, for example 00002000.PGB
, and refer by implication to files of these names in the SW/PageBuffers
directory (or wherever this is relocated).
Like all objects delivered by findresource
, the HqnThroughputControl
procset is a read-only dictionary. Therefore any PostScript code that needs to use def
must do so in another dictionary. For example:
/HqnThroughputControl /ProcSet findresource begin userdict begin
/myproc { = } bind def
/myproc load pgbheldforall end
end