diff options
-rw-r--r-- | TODO | 9 | ||||
-rw-r--r-- | examples/comprehensive | 25 | ||||
-rw-r--r-- | examples/logarithmic | 16 | ||||
-rw-r--r-- | examples/textconf | 5 |
4 files changed, 30 insertions, 25 deletions
@@ -4,18 +4,15 @@ High priority: Medium priority: Test, demo and document _ICC_PROFILE - Demo functionise, store and restore + Demo functionise + Demo `None` and `...` in sigmoid Make it possible to have settings depend on sky condicitions. (I have a GPL3 implmenetion of wheter observation in xpybar.) Low priority: - Demo cie_{brigtness,contrast,manipulate} with 3 arguments and - cie_limits with 6 arguments. - Demo `None` and `...` in sigmoid, manipulate, cie_manipulate - and lower_resolution. + Demo make_icc_interpolation Add a section in manual for information on which order to apply settings and how it affects the result. - Demo make_icc_interpolation Document examples in info manual Future stuff: diff --git a/examples/comprehensive b/examples/comprehensive index ec0a42e..29070d4 100644 --- a/examples/comprehensive +++ b/examples/comprehensive @@ -1,13 +1,11 @@ # -*- python -*- -# This example is complete with exceptions for less normal colour -# curve modifiers: nothing else than CIE 1964 10 degree CMF for -# colour temperature, nor use of temporarly linear RGB curves, -# sigmoid correction, or free function modifier, work on individual -# subpixels in CIE xyY colour space. Neither does it # support multiple -# screens, this is normally not an issue because Xinerama is normally -# used to put all monitors on the same screen; # nor does it parse -# options other than -r from ad-hoc settigns, or use monitor identifiation. +# This example covers most of what Blueshift offers. For a complete +# coverage of Blueshift complement this example with: +# backlight, crtc-detection, crtc-searching, logarithmic, +# stored-settings, modes, textconf +# However the are features that are only covered by the info manual: +# Methods for calculating correlated colour temperature # This file is dual-licensed under GNU General Public License @@ -188,10 +186,13 @@ if not panicgate: # colour resolution. `red_x_resolution` is the number of colours # colours there are one encoding axis of the red curve. # `red_y_resolution` is how many colours there are on the -# output axis of the red curve. -red_x_resolution, red_y_resolution = [i_size], [o_size] -green_x_resolution, green_y_resolution = [i_size], [o_size] -blue_x_resolution, blue_y_resolution = [i_size], [o_size] +# output axis of the red curve. `None` means that the default +# resolution should be used, which are `i_size` for *_x_resolution +# and `o_size` for *_y_resolution. `...` means that the value +# above should be used. +red_x_resolution, red_y_resolution = [None], [None] +green_x_resolution, green_y_resolution = [...], [...] +blue_x_resolution, blue_y_resolution = [...], [...] # Negative image settings. `None` means that negative image diff --git a/examples/logarithmic b/examples/logarithmic index 731b27d..62271d9 100644 --- a/examples/logarithmic +++ b/examples/logarithmic @@ -20,14 +20,22 @@ import math linearise() # Make the curves logarithmic. The function applies -# to all colour curves, but you can change them -# individually by specifing three functions: red, -# green and blue. -manipulate(lambda x : math.log(x + 1, 2)) +# to the red (first argument) and green (second +# argument) colour curves. `...` is used to use the +# same value as the argument before it. `None`, +# which is used for the blue colour curve, means +# that no adjustment is made, which is the same +# thing as using `lambda x : x`. +manipulate(lambda x : math.log(x + 1, 2), ..., None) # Switch back to sRGB. standardise() +# Alternatively you can use `cie_manipulate` instead +# of `manipulate`. To to the logaritmisation in the +# CIE xyY colour space. If doing so, do not use +# `linearise`–`standardise`. + # Apply settings, using vidmode. (drm if ttymode else vidmode)() #(drm if ttymode else randr)() diff --git a/examples/textconf b/examples/textconf index 1e00c6b..acddc79 100644 --- a/examples/textconf +++ b/examples/textconf @@ -469,10 +469,9 @@ def periodically(year, month, day, hour, minute, second, weekday, fade): for adjustment in adjustments: adjustment(timepoint, alpha) - r, g, b = r_curve[:], g_curve[:], b_curve[:] - + stored = store() for crtcs, screens, output_adjustments in monitors: - r_curve[:], g_curve[:], b_curve[:] = r, g, b + restore(stored) for adjustment in output_adjustments: adjustment(timepoint, alpha) |