How to build a recipe

A recipe is a text string with script settings that follows a specific syntax. It contains 21 settings, separated by a ; (semicolon) and an optional blank space for readability.

The full geeky syntax for a recipe looks like this:

[true|false]; [true|false]; [true|false]; [1-7]; [1-4]; [1-3]; [1-2]; [1-3]; [1-2]; [true|false]; [1-9]; [1-9]; [0.5-3.9]; [1-9]; [1-9]; [true|false]; [true|false]; [true|false]; [0-100]; [0-100]; [random|bottomleft|topright]

All 21 settings must always be specified and in the following order (the name of the setting in bold isn’t written in the recipe, only the value):

  1. fancy: If set to true, the script will simulate a scan with visible scan mask edges. If you like a cropped look, set this to false.
  2. eccentric: Set this to true if you want the image to be be able to move from a centered position in the scanner mask. If not, set it to false.
  3. artifacts: If set to true the script will add artifacts at the outside of the mask border, often seen with real film as a consequence of the scanning and editing process. Set it to false for a crisper look.
  4. mask_variant_35mm: The style of scanner mask to use with 2:3 images. The script comes with seven styles, numbered from 1 to 7.
  5. mask_variant_645: The style of scanner mask to use with 4:3 images. The script comes with four styles, numbered from 1 to 4.
  6. mask_variant_67: The style of scanner mask to use with 6:7 images. The script comes with three styles, numbered from 1 to 3.
  7. mask_variant_45: The style of scanner mask to use with 4:5 images. The script comes with two styles, numbered from 1 to 2.
  8. mask_variant_square: The style of scanner mask to use with square images. The script comes with three styles, numbered from 1 to 3.
  9. negative_variant_square: The look of the negative, where 1 has a look drawn from Rolleiflex square formats and 2 from Hasselblad square formats.
  10. matted_crop: If set to true the script will add a white border around a cropped frame. If set to false no border will be added.
  11. border_width_35mm: Border width for 35mm format, when fancy = false.
  12. border_width_645: Border width for 645 format, when fancy = false.
  13. border_width_67: Border width for 6x7 format, when fancy = false.
  14. border_width_45: Border width for 4x5 format, when fancy = false.
  15. border_width_square: Border width for square format, when fancy = false.
  16. burn: If set to true, the script will render a film burn effect in your frame. If set to false, no burn will be rendered and the following two settings will have no effect.
  17. burn_at_opposite_edge: If set to true, the film burn will be placed at the opposite (bottom or right) edge of the frame. If set to false the burn will be placed at the default position.
  18. monochrome_burn: If set to true, a monochrome film burn will be rendered. If set to false a tricolor burn will be rendered.
  19. movement_min: Defines the floor (lowest value) for all possible image movements from a centered position, where 0 is no movement and 100 is maximum movement. Used together with movement_max to define an interval for all possible movements.
  20. movement_max: Defines the ceiling (highest value) for all possible image movements from a centered position, where 0 is no movement and 100 is maximum movement. Used together with movement_min to define an interval for all possible movements.
  21. movement_direction: When set to random the script may move the image relative to the mask in all four directions (up/down/left/right). When set to bottomleft it will only move it towards the bottom left and when set to topright towards the top right.

A actual recipe for the default settings looks like this:

true; true; true; 1; 1; 1; 1; 1; 1; true; 1; 1; 1; 1; 1; false; false; false; 10; 100; random