summaryrefslogtreecommitdiff
path: root/src/items.h
AgeCommit message (Collapse)AuthorFilesLines
2016-09-18Introduce resizing thresholdsTomas Bzatek1-0/+5
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.
2016-09-17Drop legacy nofullsize and album width/height/quality tagsTomas Bzatek1-11/+0
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.
2016-04-03jpeg-utils: Override artist and owner nameTomas Bzatek1-0/+1
Useful to override previous camera owner name stored in EXIF.
2015-01-25theming: Make custom image size handling fully flexibleTomas Bzatek1-9/+10
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).
2015-01-04generators: Use single function for all templatesTomas Bzatek1-3/+4
This commit makes use of a common function for all template parsing and page writing. The behaviour is controlled by the "item" argument passed in. This allows us to have a single code that generates code for list of items as well as for a single item. In the future, this can be used for e.g. combining thumbnails and large images on the same page. Other than that this commit also brings several other changes: - further clarification of theming setup XML file - <protected_thumbnail> tag has been moved out of the <album> structure into the <index> structure where it functionally belongs. Only whole albums can be protected and the substitute thumbnail is displayed on index pages. - position marker format has been broken out to a constant - added few more FIXMEs to mark places that will change soon - some template variables have been renamed
2014-09-13Introduce properties tableTomas Bzatek1-21/+29
This is a new internal properties storage for attributes that can be defined both in the item and album scope, with the item scope taking priority. The big advantage is a better distinguishment from an undefined, default value. It also makes easier to retrieve attributes with properly defined scope priorities.
2014-03-18Use "override" terminology instead of "fake"Tomas Bzatek1-6/+6
This is a file format break within development branch.
2014-03-18Add support for specifying custom focal length and apertureTomas Bzatek1-0/+4
Similar to using supplied timestamps this is useful for fully manual lenses that don't provide any information to the camera.
2013-04-07Remove unnecessary bitshifting for enum membersTomas Bzatek1-6/+6
2013-04-07Add ability to specify thumbnail square crop hintTomas Bzatek1-1/+12
In simple crop square mode it's sometimes viable to specify position of the square. This is vastly useful for portrait pictures so that you don't crop the head off the body.
2013-03-10Add support for specifying custom dateTomas Bzatek1-0/+2
This essentially means faking the datetime, e.g. when you want to mask original picture date. This commit also changes little bit of datetime conversion, hopefully fixing DST issues. Needs more testing.
2013-03-10Add support for datetime/timezone shiftTomas Bzatek1-0/+2
Simple datetime shift, including EXIF data modification.
2013-02-10Support theme-defined thumbnail for protected albumsTomas Bzatek1-2/+12
2012-12-31Add support for password protected albumsTomas Bzatek1-0/+9
This adds support for simple password protected areas (albums and all subalbums) through webserver HTTP authentication. CGG simply generates .htaccess and password files and it's up to the user to set up the rest on server side. No UI changes at this point. Limited to one user per album for the moment.
2012-12-27Support external EXIF metadataTomas Bzatek1-0/+1
This brings an ability to specify external file to read EXIF/IPTC data from. The motivation was to work around RAW editors randomly stripping some EXIF blocks.
2011-05-29Introduce new theming systemTomas Bzatek1-5/+16
This extends current templating system to another dimension, bringing the possibility to have multiple themes generated at once. The purpose is to be able to switch between multiple designs, from PC to mobile, classic vs. flat view, slideshow, etc. For the moment, only the classic theme is available. Rules: * for switching between themes, place a link inside your template manually - it's not a cgg concern, only your theming infrastructure * don't forget to define different file names for index and album pages across different themes * it's recommended to keep default theme named as "index.*" to avoid showing directory listing on webserver Notes: * some TODOs will be fixed when we have new theme using these advanced features (e.g. pictures in album pages) * TODO: introduce tag/block conditional system, allow custom user defines for each theme/page * TODO: deprecate <show_go_up>, <show_exif_table> and <border style> in favor of conditionals (these tags belong to theming)
2011-03-03Fix atom feed pathsTomas Bzatek1-5/+6
And convert it to use global path info.
2011-01-23Get thumbnail orientation when really neededTomas Bzatek1-4/+0
No need to store generated data during thread work anymore.
2011-01-23Consolidate paths in a separate structTomas Bzatek1-1/+10
This will allow us to pass detailed path info to worker methods. Each path info instance is bound to a currently processed album and directory. Possibly move to struct TItems in the future.
2010-12-12Cleanup header definesTomas Bzatek1-4/+8
2010-12-12items: CleanupTomas Bzatek1-1/+1
2009-09-23Make thumbnail orientation independent of source image orientationTomas Bzatek1-1/+1
2009-09-23Track image orientation separately, outside threadingTomas Bzatek1-0/+1
Also fix forgotten two struct members :-o
2009-09-23Generate source image and thumbnail paths on demandTomas Bzatek1-2/+0
Another step to get rid of writes to unlocked objects during threading.
2009-09-22Track job manager state in a separate listTomas Bzatek1-1/+0
The goal is to get rid of any writes to unlocked objects (album items) during thread work.
2009-05-10Consolidate data typesTomas Bzatek1-21/+21
2009-04-11Support for interspacesTomas Bzatek1-1/+2
2009-03-28Multithreading supportTomas Bzatek1-0/+6
Also made progress output a little bit nicer default = 1 thread at once, for safety reasons I've encountered critical issues with ImageMagick compiled with OpenMP support. Hope that package maintainers are clever. ShittyMagickWandGenesis(), ShittyMagickWandTerminus() :-)
2009-03-07Support for extra (enclosed) files in albums [code]Tomas Bzatek1-0/+1
2009-02-26AutotoolizeTomas Bzatek1-0/+96