| Age | Commit message (Collapse) | Author | Files | Lines |
|
|
|
Includes some automake files cleanup and enables extra compiler warnings.
|
|
Let the album thumbnails shine, no need to dim them as we really want
to present the albums.
|
|
Useful for 4k size where additional HiDPI sizes (i.e. 6k and 8k) are
overkill to generate and aren't very common on the market yet.
|
|
Suitable for >30" native 4k screens with no scaling.
|
|
Tested on various common resolutions with standard browser and system toolbars.
|
|
MagickWand comes with a couple of incompatible API changes in version 7.
|
|
Thanks to Sebastian Pipping for nagging me loudly about this!
|
|
The default locale datetime format string may not suit everyone, this
adds possibility to specify custom format. The format string should be
syntactically conforming to strftime(3).
|
|
|
|
A workaround for badly exported images that contain some garbage
at the borders. The amount specifies how many pixels should be shaved
from all borders (i.e. amount of 2 results in 4x4 pixels loss).
Applicable for particular items or whole album (<general> section)
with the following syntax:
<shave amount="1" />
|
|
This works by creating corresponding hidpi image sizes on startup and
letting the machinery generate high resolution images from the source
images (no way to use supplied images). However since browsers expect
exact image dimension multiples for the particular scale factor,
a reference image size (scale factor 1.0x) must be read first, then
cropped to match reference aspect ratio and resized to exact dimensions.
That way pixel-perfect results can be achieved for the chosen scale
factor.
TODO: the CSS background-image: image-set() tags are not supported
on Firefox.
TODO: try the 1.5x scale factor
|
|
EXIF data were read in cases where weren't even used.
|
|
This change brings the possibility to tweak resize options using standard
ImageMagick `convert` command syntax. Separate options are offered for
thumbnails.
|
|
(95% + 5% threshold == 100% source image quality acceptance)
|
|
This is a huge step forward in terms of usability and simplicity.
Image sizes are now determined by browser automatically based
on window width.
As a result the image size switch buttons have been removed and only
a single page is generated (index.html).
Note: in order to make image title, description and EXIF table
dynamically aligned to the image width, "display: table" and relatives
were used. This may not be the best webdesigner practice but it's
an effective and sufficient approach for the moment.
|
|
A new block LIST_PICTURE_ALL_SIZES has been introduced to expose all
available image sizes when iterating through the album items. Image size
availability can be tested by the HAVE_IMG_SIZE_xxx define where "xxx"
is an upper-case image size name as defined in the theme XML file.
Similarly the image standard tags IMG_SIZE_W__xxx, IMG_SIZE_H__xxx and
IMG_SRC__xxx have been introduced as well.
|
|
This change will allow certain blocks to be present multiple times
and processed independently within a single page.
|
|
This commit brings deeper changes to the image sizes concept. The goal
was to allow more flexible input in resizing vs. supplied files mixed
mode. Instead of hard <noresize> flags the decision whether to resize
or copy an image is now based on threshold. While not 100% universal,
it brings more control regarding image size bounds. Also brings a level
of tolerance for specific errors (off-by-one exports).
Image sizes' rules are a bit simpler, hopefully easier to understand.
A lot can be achieved by combination of thresholds.
|
|
All image sizes are now equal, no special treatment (except of
thumbnails).
|
|
This drops the legacy functionality that doesn't really fit into the
new flexible design concept and makes code unnecessarily complicated.
Most of these overrides affected only the "preview" image size anyway.
This also makes the <item src> attribute mandatory as it's being the only
source of metadata (unless overriden or supplied externally).
This unfortunately breaks the so-far 100% album XML files compatibility.
|
|
This adds commandline argument --debug-warn-resize that is useful
for debugging image resizing, particularly for detecting unintended
supplied image resizes.
|
|
Needed for struct tm.tm_gmtoff
|
|
Used by the new fluid theme.
|
|
|
|
Introducing a modern looking theme that changes gallery philosophy a bit.
Instead of having thumbnails on an album page and photos on separate pages
this new design brings emphasis on story telling. Viewer is advised to
go through the whole album sequentially, bringing atmosphere to the whole
set.
All photos are loaded within a single page and keyboard navigation via
left/right arrows is supposed to be used to switch the presentation
mode on.
Three photo sizes are supported now with the 'preview' size being the
default. High resolution size has been introduced for 2560x1440 screens
and larger.
Note that this template uses code from 3rd parties, see CREDITS for
details. I haven't been able to contact anyone behind the TheCodePlayer.com
project so licensing of the breadcrumbs might be an issue.
|
|
Useful to override previous camera owner name stored in EXIF.
|
|
This brings support for copying whole directories when specified in
album extra files or template supplemental files.
|
|
Both MagickWand and exiv2 needs some initialization and cleanup, move
it to jpeg-utils for clean includes in cgg.c.
Also add explicit exiv2 XMP initialization as stated on
http://dev.exiv2.org/projects/exiv2/wiki/Thread_safety:
"The XMP SDK initialization function is not mutex protected, thus
Exiv2::XmpParser::initialize is not thread-safe. Therefore, multi-threaded
applications need to ensure that this XMP function is serialized, e.g.,
by calling them from an initialization section which is run before any
threads are started."
See also https://bugs.kde.org/show_bug.cgi?id=166424
|
|
Logical issue, found by a gcc-5.2.0 warning.
|
|
Turned out that we shouldn't blindly copy all metadata from the supplied
external EXIF file since they belong to a different image. This includes
image size, JPEG compression parameters, rotation etc.
This commit adds tag filtering so that not all tags are copied, retaining
the important ones from the gallery image.
The list of retained tags is by no means complete and is subject to future
tweaks. For the moment this feature is recommended to be turned off (and
is by default).
|
|
|
|
The returned number corresponds with the next picture item ID, for templates
to present related information (i.e. section beginning) for the particular
picture.
|
|
|
|
Let's call this design a "classic" one.
|
|
This changes image size handling a little bit. An optional <fallback size="xxx" />
tag tells the generator to use different image size when an image for the current
image size has not been supplied from the album XML file.
This is effectively used for the legacy <nofullsize> tag fallback. More generally
this is useful for templates showing additional image sizes. Also saves space as
images not having the custom size supplied are not generated from the source image.
|
|
Users are not really supposed to hit any of them, it would indicate
a programmer mistake otherwise.
|
|
The "original" image size presence should not really be reported
when the "preview" image size substitutes it due to its absence
(not defined in the album XML file).
|
|
Similar to the have_image_size() block function this is its
variation operating over the album. The block condition is true
if there's at least one item in the album of the specified
image size.
Respects the legacy "nofullsize" tags.
Takes one mandatory argument of image size name.
|
|
|
|
This can be used to query image size availability for the current item.
While images are normally generated for theme-defined image sizes and
thus guaranteed to be available, this function queries if the image of
defined size has really been supplied in album XML files.
Takes in account the legacy "nofullsize" tags.
Takes one mandatory argument of image size name.
|
|
callback
|
|
... just a matter of personal taste.
Note: this breaks the template API only in current unreleased versions.
|
|
This commit brings full flexibility of custom image size definition and
usage. When a custom image size is defined, it automatically maps to the
album <item> tag arguments. Alternatively, this automatic name matching
can be overriden by <size tagname="..."> theme setup tags.
This allows us to supply image of different sizes that can be also used
in templates.
Legacy behaviour of "fullsize" and "preview" image size fallback is
retained (though not recommended in new theming setups).
|
|
Turned out there was no need for having most of the picture page
closed in a block.
|
|
There may be certain cases where images or thumbnails on album pages
are not needed and textual representation is just fine.
Metadata pulled from the source image files are still processed and
exposed.
|
|
|
|
As per rules defined in the sample default.xml setup file the whole
<picture> theme definiton block is not mandatory anymore. The rest
of the code plays nicely already.
|
|
This mode retains given aspect ratio and crops the area from inside of the
source image.
|
|
|