Richard,

> I noticed that the print module hasn't been talked about for a while,
> at least on email (sorry, I don't do IRC very often at all).

Same here.

>   Came to
> think of it yesterday, while playing around with a friends photo
> printer (a Novajet 750, it takes paper rolls up to 108cm wide).
> 
> As you might imagine, we didn't play directly from darktable, but it
> got me thinking of certain details of this effort, see anotations
> below.

First I have very few free time at the moment so this has not moved
forward since some time. Yet, I'm still motivated to see this integrated
at some point, still lot of work ahead.

> I'm noticing that your example has a specific paper size, A4.  Are you
> planning on giving the user the possibility for printing on
> non-standard paper sizes?

Not on the first implementation. I try to get it simple to have a chance
to propose something will sound implementation and I hope other will
step to enhance the module.

> As an example, I've previously ordered prints for exhibits I've been
> part of from a lab at 30x40cm (there's no ISO paper size that matches
> that exactly) and 23x23cm.  They will interpolate from any image I
> toss them, so that's not really a big deal, but will be the day I
> start using the Novajet a bit more.  It's just to show that standard
> paper sizes don't always cut it...

I understand.

> Also, since we're talking physical sizes (in whatever unit, let's keep
> with cm for now), it might be nice to be able to give the page sizes
> in cm and the printer's optimal dpi and have it figure the amount of
> pixels needed and scale down/interpolate up (bicubic is the more
> popular algorithm, is it not?) the image to fit.

The size is computed by dt and the image is exported (with current
export module) to fit the proper print area in the page. 

> pascal> --
> pascal> -- print --
> pascal> --
> pascal> 
> pascal> This is the final print controls. We have:
> pascal> 
> pascal> - the intent
> pascal> - the printer profile
> pascal> - the style
> 
> Ah, yeah, the style...  I remember asking this question about
> exporting, so it applies here as well...
> 
> When a style is applied and happens to use a module that's already
> used when making the image, will the former replace the values of the
> latter or will it add them?

No, it will be added to it as it is done with the export module style.
The style there is just added into the queue before going through the
pipeline. 

> An example, say I've noticed that whatever the calibration, the
> printed image looks about one step darker than the image on my screen,
> so I'd like to use a style when printing that uses the Exposure module
> and has EV +1.  Now, say that the image I manipulated already had an
> EV correction (say -2, there are times when I want to darken the final
> image), will the image end up being printed hugely overexposed (EV +1)
> or will it be what I expected (EV -1, the sum of -2 and +1)?
> Am I making my question clear?

Yes, should work.

> pascal> The [print] button using Gtk+ dialog.
> pascal> 
> pascal> The print button will open the print dialog and will basiacally do
> pascal> the following:
> pascal> 
> pascal>    - open the standard Gtk+ print dialog
> pascal>      here the user can select/change every option of the printer
> pascal>      (including the resolution)
> pascal> 
> pascal>      the user either Cancel or Print, if the later the following
> pascal>      is done:
> pascal> 
> pascal>        - export to 8bit or 16bit format (using export profile + intent
> pascal>          and possibly the selected style)
> pascal> 
> pascal>        - apply the printer profile if any
> pascal> 
> pascal>        - create the GtkPrintJob and send to printer
> 
> I was going to ask if printing to file would be possible, but I guess
> that's left to this print dialog, right?

Not to file but to PDF if you have a PDF printer configured in CUPS.
Should be enough, right?

> pascal> ==============
> pascal> == Internal ==
> pascal> ==============
> pascal> 
> pascal> * The internal code will be mostly on those files:
> pascal> 
> pascal> src/views/print.c           - the print module itself
> pascal> 
> pascal> src/libs/print_settings.c   - the print dialog as seen on the right
> pascal> 
> pascal> src/imageio/storage/print.c - do the print, a print io not seen on
> pascal>                               export dialog (add a new flag to the
> pascal>                               imageio api to hide it)
> pascal> 
> pascal> An important point is to remember all the printer settings (first 
> section
> pascal> above, the driver settings) from one session to the other. Gtk has
> pascal> support for this.
> 
> Is this in a branch somewhere, or are you currently keeping it to
> yourself?

Yes, but not clean at all :) There is a stack of different
implementation I have tested with gutenprint, cups... just to learn how
all this works as it is the first time I'm using a print API.

Anyway if you want to have a look:

https://github.com/TurboGit/darktable/tree/print-module

-- 
  Pascal Obry /  Magny Les Hameaux (78)

  The best way to travel is by means of imagination

  http://v2p.fr.eu.org
  http://www.obry.net

  gpg --keyserver keys.gnupg.net --recv-key F949BD3B


------------------------------------------------------------------------------
Download BIRT iHub F-Type - The Free Enterprise-Grade BIRT Server
from Actuate! Instantly Supercharge Your Business Reports and Dashboards
with Interactivity, Sharing, Native Excel Exports, App Integration & more
Get technology previously reserved for billion-dollar corporations, FREE
http://pubads.g.doubleclick.net/gampad/clk?id=157005751&iu=/4140/ostg.clktrk
_______________________________________________
darktable-devel mailing list
darktable-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/darktable-devel

Reply via email to