"juke" controls only the jukebox media handling mechanism itself, and not any media drives, etc. contained within the jukebox. It deals with multiple jukebox types by treating them all as having simple, abstract components; the tapes themselves, slots to hold the tapes, drives which can play, read, or write the tapes, and "mailbox slots" which can be uncovered for people to take tapes in and out of the jukebox, or covered for the jukebox to be able to manipulate the tapes. A lookup table of tapes is maintained, by a small dbm(3) database, however only 3 short interface routines need to be written to add in interface to an existing tape database.
"juke" consists of 3 main binary deliverables, an RPC daemon process which actually controlls the jukebox, an interactive RPC client which allows command line interface to the control of the jukebox, and an API library which provides program callable access to jukebox control. It also comes with an extensive user guide with numerous examples, and an API reference describing the library calls. "juke" is currently being used to control Summus, Exabyte, and DEC DLT media handlers at Fermilab.