-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathFieldDefinitions.lua
More file actions
87 lines (71 loc) · 3.97 KB
/
FieldDefinitions.lua
File metadata and controls
87 lines (71 loc) · 3.97 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
--[[============================================================================
FieldDefinitions.lua
╔═══════════════════════════════════════════════════════════════════╗
║ THE ONLY FILE YOU NEED TO EDIT TO ADD / REMOVE FIELDS ║
╚═══════════════════════════════════════════════════════════════════╝
Each field is defined ONCE in a single place.
All other modules (metadata provider, tagset, ExifTool config,
XMP write/read) read definitions from this file.
── Field structure ────────────────────────────────────────────────
{
id = "uniqueId", -- identifier (a-zA-Z, no spaces)
xmpTag = "XmpTagName", -- XMP tag name (PascalCase)
title = "Display name", -- title in the Metadata panel
dataType = "string", -- "string" or "enum"
values = { ... }, -- (optional) values for enum
searchable = true, -- visible in Smart Collection filters
browsable = true, -- visible in Library filters
section = "section_name", -- section name in the Metadata panel
}
── Sections ───────────────────────────────────────────────────────
Fields are grouped into sections displayed as separators in the tagset.
Section names are arbitrary — display order follows the order of
fields in the FIELDS table.
── How to add a new field ─────────────────────────────────────────
1. Add a new entry to the FIELDS table below.
2. Reload the plugin: Plug-in Manager → Disable → Enable.
3. Done — the new field will appear in the Metadata panel, in the tagset,
and will be automatically written/read from XMP.
============================================================================--]]
local FieldDefinitions = {}
FieldDefinitions.FIELDS = {
-- ══════════════════════════════════════════════════════════════
-- Section: Project Information
-- ══════════════════════════════════════════════════════════════
{
id = "eventPromoter",
xmpTag = "eventPromoter",
title = "Event Promoter",
dataType = "string",
searchable = true,
browsable = true,
section = "Photocoder Metadata",
},
{
id = "photoType",
xmpTag = "photoType",
title = "Photo Type",
dataType = "enum",
values = {
{ value = "concert", title = "Concert" },
{ value = "festival", title = "Festival" },
{ value = "portrait", title = "Portrait" },
{ value = "street", title = "Street" },
{ value = "reportage", title = "Reportage" },
{ value = "other", title = "Other" },
},
searchable = true,
browsable = true,
section = "Photocoder Metadata",
},
{
id = "instagramHashtags",
xmpTag = "instagramHashtags",
title = "Instagram Hashtags",
dataType = "string",
searchable = true,
browsable = true,
section = "Photocoder Metadata",
},
}
return FieldDefinitions