Gutenprint / CUPS Dye-sublimation drivers

  • Status Closed
  • Percent Complete
  • Task Type Feature Request
  • Category Common Code
  • Assigned To
    Solomon Peachy
  • Operating System All
  • Severity Low
  • Priority Medium
  • Reported Version 1.0
  • Due in Version Undecided
  • Due Date Undecided
  • Votes
  • Private
Attached to Project: Gutenprint / CUPS Dye-sublimation drivers
Opened by Solomon Peachy - 2018-06-15
Last edited by Solomon Peachy - 2020-01-22

FS#602 - Support combining print jobs

As a way to prevent wasting media, when using 6x8" media, automagically combine consecutive 4x6" jobs to a single 8x6" print and submit that to the printer behind the scenes.

The D90 and Kodak 68xx do this automatically in the printer, and others (eg Mitsu D70 family) do this in the driver.

Extend the backend core to support this generically, and try to add specific support to printers/families that can use this feature.

Closed by  Solomon Peachy
2020-01-22 03:49
Reason for closing:  Implemented
Additional comments about closing:  The backend core now automagically combines multiple pages and copies. For a single job -- in theory the code will handle combining multiple jobs just fine but the CUPS backend architecture won't allow for this.
Solomon Peachy commented on 2018-06-17 12:18

A lot of plubming is needed to see this through:

  1. Split job parsing results/state from main printer context
  2. Explicit job allocation/cleanup lifecycle independent from printing loop
  3. Rearrange arguments passed/out of parsing and main loop
  4. Use of a "job queue" internally instead of a single active job
  5. Move main printing loop to its own independent operational thread
  6. Some sort of daemonization
  7. Ability to pass jobs to new daemon

(5), (6) and (7) are down the line, only needed if we're going to try and do this across independent CUPS print jobs instead of just multiple pages/copies in a single supplied job.

Initial application will be when making multiple copies of a single page to avoid wasting media. 

Solomon Peachy commented on 2018-06-17 17:57

Core infrastructure in place (1-3).

DNP driver now can combine prints when making multiple copies.

Next up: Mitsubishi D70 and 9xxx families.

Solomon Peachy commented on 2018-06-20 18:57

(4) is now partially implemented.

Solomon Peachy commented on 2018-06-21 01:44

D70 family now combines prints.

(4) and (5) are now linked; parsing generates a list and the printing function replays that list.  Each list can be re-printed N times, with each item in the list having its own copy too.

(DNP will take advanage of this for partial matte and panorama features.  Mitsu D90 will use this for Panorama features)

Solomon Peachy commented on 2020-01-21 18:31
Rewrote job combining code. Can now combine arbitrary jobs instead of just copies of the same job, and the decision of when/what to combine is now in common code instead of the backends. Next up: rejiggering job parsing flow to allow multiple pages of the same job to be combined.


Available keyboard shortcuts


Task Details

Task Editing