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).  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.

In message <CA+9ZNifytTiE9t+macqM1Qr_=t7bial48fv4tkertkp5nfn...@mail.gmail.com> 
on Mon, 30 Jun 2014 12:16:18 +0200, Pascal Obry <pas...@obry.net> said:

pascal> --
pascal> -- page --
pascal> --
pascal> 
pascal> This section is to define the print area. That is the area computed from
pascal> the page size and removing the borders.
pascal> 
pascal> Four controls will be added to add some margins (top, bottom, left,
pascal> right). A possibility to set all margins together is provided. The 
margins
pascal> should be specified in unit (cm, mm, inch) as this is what is most 
needed
pascal> when printing.
pascal> 
pascal> A control to set the alignment (same as watermark) into the print area.
pascal> 
pascal> Changing the borders will change the center display.

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?
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...

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.

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?

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?

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?

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?

-- 
Richard Levitte                         rich...@levitte.org
                                        http://richard.levitte.org/

"Life is a tremendous celebration - and I'm invited!"
-- from a friend's blog, translated from Swedish

------------------------------------------------------------------------------
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