Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
54 commits
Select commit Hold shift + click to select a range
6f516cf
Replace single apostrophes with double quotation marks. This allows t…
Gotcha26 Feb 8, 2026
51134c3
fix: #49 Proposal for better layout on Externam Module Manager
Gotcha26 Feb 8, 2026
2149329
feat: #12 Keywords filters
Gotcha26 Feb 8, 2026
8c6351e
Layout and factoring
Gotcha26 Feb 8, 2026
2f50bf3
Various warnings
Gotcha26 Feb 9, 2026
02d14bf
fix: #49 Back for developpement options. Better organisation layout too.
Gotcha26 Feb 9, 2026
78a2395
fix: #42 Botton est now representative, status is shorter and the Piw…
Gotcha26 Feb 9, 2026
3a7993f
fix: #46 - Manual sort order
Gotcha26 Feb 9, 2026
8bfba5f
fix: #50 - Refactor `viewForCollectionSettings
Gotcha26 Feb 9, 2026
06f1650
feat: #51 - Album summary
Gotcha26 Feb 13, 2026
df9fe21
fix: #52 - New "private" album wasn't
Gotcha26 Feb 14, 2026
da81c4f
fix: #52 - Update the private status everytime to keep correct attribut
Gotcha26 Feb 14, 2026
403a898
fix: #53 - Keeping information up to date
Gotcha26 Feb 15, 2026
070d56c
fix: #54 - GPS metadata aren't updated
Gotcha26 Feb 15, 2026
90d83a4
Small technical update
Gotcha26 Feb 15, 2026
5e57510
feat: #55 - Allow video publishing
Gotcha26 Feb 16, 2026
7e41f14
fix: #55 - Disable video support over Lr & precheck for the video siz…
Gotcha26 Feb 17, 2026
86b6f6a
fix: #56 - Refactor the Main Page
Gotcha26 Feb 17, 2026
139216f
fix: #56 - Refactor the Main Page
Gotcha26 Feb 17, 2026
17360d7
Phase 1A
Gotcha26 Feb 17, 2026
a572253
Phase 1B
Gotcha26 Feb 17, 2026
b05cc8c
Phase 1C
Gotcha26 Feb 17, 2026
ef93732
Phase 1D
Gotcha26 Feb 17, 2026
e482944
Phase 2
Gotcha26 Feb 17, 2026
38351ed
Phase 3
Gotcha26 Feb 17, 2026
af74a2d
Phase 4
Gotcha26 Feb 17, 2026
e54cd01
Phase 5A + 5B
Gotcha26 Feb 17, 2026
7d4e16e
Phase 5C
Gotcha26 Feb 17, 2026
c2c20b2
Phase 5D
Gotcha26 Feb 17, 2026
559e725
Preparations for tests
Gotcha26 Feb 17, 2026
8fb6834
Major corrections
Gotcha26 Feb 17, 2026
fe12476
Removing the false positive Lr window at the end
Gotcha26 Feb 18, 2026
eede079
Axe 1A β€” HDR detection + auto tonemap + SDR remux optimization
Gotcha26 Feb 18, 2026
ecd2304
Axe 1B β€” setVideoInfo appelΓ© en mode metadata-only via fichier .vtk
Gotcha26 Feb 18, 2026
d6dd3a0
Fix VTK integration: .bat wrapper, force re_upload, addPhotoByRemoteId
Gotcha26 Feb 18, 2026
3c5edc5
Axe 1B β€” PiwigoAPI.setVideoInfo + companion pwg.companion.setVideoInfo
Gotcha26 Feb 18, 2026
155596a
Fix thumbnail from SDR variant + info dialog before transcode
Gotcha26 Feb 18, 2026
bac48ee
Phase 1A & Axe 3 β€” Refactor: VTK integration + hwaccel support + comp…
Gotcha26 Feb 19, 2026
da8476a
Upgrade Companion
Gotcha26 Feb 19, 2026
e599f72
Update Companion with multi-language and better intergration with Boo…
Gotcha26 Feb 19, 2026
fc79558
Cleaning-up
Gotcha26 Feb 19, 2026
bffe655
Last commit with "lightroom_companion" plugin.
Gotcha26 Mar 5, 2026
46d80a1
Cleaning up.
Gotcha26 Mar 5, 2026
c08117e
Merge video-toolkit: take all improvements (video-toolkit is the comp…
Gotcha26 Mar 5, 2026
650a749
Merge remote dev: integrate changes from origin/dev
Gotcha26 Mar 5, 2026
bfa51c5
URL for Fiona
Gotcha26 Mar 5, 2026
db696c9
Delete the lightroom_companion plugin ZIP file.
Gotcha26 Mar 5, 2026
ad1179e
Solve some little warning
Gotcha26 Mar 5, 2026
b12a14c
Solve some little warning (VTK)
Gotcha26 Mar 5, 2026
26f6729
Revert "Solve some little warning"
Gotcha26 Mar 5, 2026
4119f3d
Fix: Restore utils.toPositiveNumber function
Gotcha26 Mar 5, 2026
1aa717b
Fix: Restore log anonymisation + improve keyword filter UX message
Gotcha26 Mar 6, 2026
81c577f
Simplify collection UI: remove unused sync override parameters
Gotcha26 Mar 6, 2026
e840bba
Merge pull request #4 from Gotcha26/dev
Gotcha26 Mar 6, 2026
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -19,6 +19,7 @@ piwigoPublish.lrplugin/PiwigoHelper.lua
# Other files
*.bak
.claude/
claude.md
__pycache__/
cat layout.odt
deploy.sh
Expand Down
129 changes: 0 additions & 129 deletions Auto_update_documentation.md

This file was deleted.

25 changes: 17 additions & 8 deletions piwigoPublish.lrplugin/CustomMetadata.lua
Original file line number Diff line number Diff line change
Expand Up @@ -23,7 +23,7 @@


return {
schemaVersion = 5,
schemaVersion = 6,
metadataFieldsForPhotos = {

{
Expand All @@ -32,7 +32,7 @@ return {
searchable = true,
browsable = true,
id = 'pwHostURL',
title = 'Piwigo Host',
title = "Piwigo Host",
version = 3
},
{
Expand All @@ -41,7 +41,7 @@ return {
searchable = true,
browsable = true,
id = 'pwAlbumName',
title = 'Album Name',
title = "Album Name",
version = 2
},
{
Expand All @@ -50,7 +50,7 @@ return {
searchable = false,
browsable = false,
id = 'pwAlbumURL',
title = 'Album URL',
title = "Album URL",
version = 4
},
{
Expand All @@ -59,7 +59,7 @@ return {
searchable = false,
browsable = false,
id = 'pwImageURL',
title = 'Photo URL',
title = "Photo URL",
version = 4
},
{
Expand All @@ -68,7 +68,7 @@ return {
searchable = true,
browsable = true,
id = 'pwUploadDate',
title = 'Upload Date',
title = "Upload Date",
version = 2
},
{
Expand All @@ -77,7 +77,7 @@ return {
searchable = true,
browsable = true,
id = 'pwUploadTime',
title = 'Upload Time',
title = "Upload Time",
version = 2
},
{
Expand All @@ -86,8 +86,17 @@ return {
searchable = false,
browsable = false,
id = 'pwCommentSync',
title = 'pwCommentSync',
title = "pwCommentSync",
version = 1
},
{
dataType = 'string',
readOnly = true,
searchable = false,
browsable = false,
id = 'pwVideoPreset',
title = "Video Preset",
version = 6
},
}
}
4 changes: 2 additions & 2 deletions piwigoPublish.lrplugin/Info.lua
Original file line number Diff line number Diff line change
Expand Up @@ -37,8 +37,8 @@ return {
-- define custom metadata data for this plugin
PublishSettings = {
publishMetadata = {
{ id = 'myCustomStatus', title = 'Status', type = 'string' },
{ id = 'syncToken', title = 'Token', type = 'string' },
{ id = 'myCustomStatus', title = "Status", type = 'string' },
{ id = 'syncToken', title = "Token", type = 'string' },
},
},

Expand Down
18 changes: 11 additions & 7 deletions piwigoPublish.lrplugin/Init.lua
Original file line number Diff line number Diff line change
Expand Up @@ -51,23 +51,27 @@ _G.utils = require "utils"
_G.PiwigoAPI = require "PiwigoAPI"
_G.PWImportService = require "PWImportService"
_G.PWStatusManager = require "PWStatusManager"
_G.vtk_core = require "vtk_core"
_G.vtk_ui = require "vtk_ui"

-- Global initializations
-- Global initializations
-- Detect macOS vs Windows based on path separator in Lightroom's standard paths
local testPath = LrPathUtils.getStandardFilePath("documents")
_G.MAC_ENV = testPath:find("/") and not testPath:find("\\") or false
_G.prefs = _G.LrPrefs.prefsForPlugin()
-- logger setup
_G.log = import 'LrLogger' ('PiwigoPublishPlugin')
if prefs.debugEnabled == nil then
prefs.debugEnabled = false
end
if prefs.debugToFile == nil then
prefs.debugToFile = false
if prefs.clearLogOnReload == nil then
prefs.clearLogOnReload = false
end
if prefs.debugEnabled then
if prefs.debugToFile then
log:enable("logfile")
else
log:enable("print")
if prefs.clearLogOnReload then
utils.clearLogFiles() -- truncate log at each reload (dev mode)
end
log:enable("logfile")
else
log:disable()
end
Expand Down
2 changes: 2 additions & 0 deletions piwigoPublish.lrplugin/PWCollToSet.lua
Original file line number Diff line number Diff line change
Expand Up @@ -20,6 +20,8 @@
along with this program. If not, see <http://www.gnu.org/licenses/>.
]]

---@diagnostic disable: undefined-global

--*******************************************
local function CollToSet()
log:info("CollToSet")
Expand Down
4 changes: 3 additions & 1 deletion piwigoPublish.lrplugin/PWExtraOptions.lua
Original file line number Diff line number Diff line change
Expand Up @@ -20,6 +20,8 @@
along with this program. If not, see <http://www.gnu.org/licenses/>.
]]

---@diagnostic disable: undefined-global

require "UIHelpers"

-- *************************************************
Expand Down Expand Up @@ -96,7 +98,7 @@ local function main()
f:spacer { height = 1 },
f:row {
f:push_button {
title = 'Set Piwigo Album Cover',
title = "Set Piwigo Album Cover",
tooltip = "Sets selected image as Piwigo album cover ",
action = function(button)
LrTasks.startAsyncTask(function()
Expand Down
30 changes: 6 additions & 24 deletions piwigoPublish.lrplugin/PWImportService.lua
Original file line number Diff line number Diff line change
Expand Up @@ -20,6 +20,8 @@
along with this program. If not, see <http://www.gnu.org/licenses/>.
]]

---@diagnostic disable: undefined-global

local PWIMportService = {}

local SPECIAL_PREFIX = "β€»" -- U+203B Reference Mark used by another plugin to identify super collections
Expand Down Expand Up @@ -394,11 +396,7 @@ local function createTree(nodes, parentSet, publishService, created, childrenInd
if pwDetails.isPiwigo then
local collectionSettings = newCollorSet:getCollectionSetInfoSummary().collectionSettings or {}
-- album settings set to correspond to service being cloned
if propertyTable.syncAlbumDescriptions then
collectionSettings.albumDescription = comment
else
collectionSettings.albumDescription = ""
end
collectionSettings.albumDescription = comment
if status == "private" then
collectionSettings.albumPrivate = true
else
Expand All @@ -409,13 +407,7 @@ local function createTree(nodes, parentSet, publishService, created, childrenInd
local thisCat = PiwigoAPI.pwCategoriesGetThis(propertyTable, remoteAlbumId)
if thisCat then
-- use settings directly from Piwigo, overriding local settings
if propertyTable.syncAlbumDescriptions then
if thisCat.description then
collectionSettings.albumDescription = thisCat.description
else
collectionSettings.albumDescription = ""
end
end
collectionSettings.albumDescription = thisCat.description or ""
if thisCat.status == "public" then
collectionSettings.albumPrivate = false
else
Expand Down Expand Up @@ -476,11 +468,7 @@ local function createTree(nodes, parentSet, publishService, created, childrenInd
if pwDetails.isPiwigo and pwDetails.isSameHost then
-- this is the same Piwigo host then we can copy remote ids etc
local collectionSettings = newCollorSet:getCollectionInfoSummary().collectionSettings or {}
if propertyTable.syncAlbumDescriptions then
collectionSettings.albumDescription = comment
else
collectionSettings.albumDescription = ""
end
collectionSettings.albumDescription = comment
if status == "private" then
collectionSettings.albumPrivate = true
else
Expand All @@ -490,13 +478,7 @@ local function createTree(nodes, parentSet, publishService, created, childrenInd
-- check if remoote album exists and add to collection if so
local thisCat = PiwigoAPI.pwCategoriesGetThis(propertyTable, remoteAlbumId)
if thisCat then
if propertyTable.syncAlbumDescriptions then
if thisCat.description then
collectionSettings.albumDescription = thisCat.description
else
collectionSettings.albumDescription = ""
end
end
collectionSettings.albumDescription = thisCat.description or ""
if thisCat.status == "public" then
collectionSettings.albumPrivate = false
else
Expand Down
7 changes: 7 additions & 0 deletions piwigoPublish.lrplugin/PWSendMetadata.lua
Original file line number Diff line number Diff line change
Expand Up @@ -20,6 +20,8 @@
along with this program. If not, see <http://www.gnu.org/licenses/>.
]]

---@diagnostic disable: undefined-global

--*******************************************
local function SendMetadata()
log:info("SendMetadata")
Expand Down Expand Up @@ -65,6 +67,11 @@ local function SendMetadata()
return false
end

if not useSource then
LrDialogs.message("SendMetadata - Can't find publish collection source", "", "warning")
return false
end

local result = LrDialogs.confirm("Send Metadata to Piwigo",
"Send metadata to Piwigo for " .. #selPhotos .. " photo(s) in album " .. useSource:getName() .. "?", "Ok",
"Cancel")
Expand Down
Loading