Copy link to clipboard
Copied
By default, Lightroom puts up a progress scope:
title: Updating Published Collections
caption: Updating Publish Collection
I'd like to replace it with a better one, or at least modify the caption.
Any ideas?
Thanks,
Rob
Copy link to clipboard
Copied
Is this supposed to be a feature? - that all publish service updates look the same, and progress is very un-informative: it's supposed to just work...
I mean, I can always put up a second progress scope for details - but then there's two of them when there should be only one: yuck.
Copy link to clipboard
Copied
Hey Rob,
I do this:
local progressArgs = {
["title"] = "This is the main title",
}
local progress = exportContext:configureProgress(progressArgs)
for i, rendition in exportContext:renditions() do
--- whatever
progress:setCaption("This is the small text below the progress")
end
Copy link to clipboard
Copied
Optimator,
Have you got this working in a publish service too?
It only works for me when it's being exercised as a reglar export, not as a publish service.
As a publish service its always:
Note: the published collection name is "Publish Collection" in this case, but the caption is always "Updating {collection name}".
As a reglar export:
Same code, similar to your example.
???
Rob
Copy link to clipboard
Copied
I think the problem lies in the fact that, in the case of publishing, the progressScope that you have access to in processRenderedPhotos() is a child of the scope being displayed in Lightroom (the scope being displayed shows the progress of the entire publish operation, spread over one or more published collections, with processRenderedPhotos() being called once for each collection). In the case of a "normal" export, the scope you get and the one being displayed are one in the same.
I realize this doesn't help, but at least may give you some insight into what (I think) is going on.
-Don
Copy link to clipboard
Copied
Hi,
With the help of @Don_mckee's reply, I found a workaround to get the parent scope.
//this is in global
local parentProgressScope
function setParentProgressScope(currrentProgressScope)
if not parentProgressScope then
if not currrentProgressScope:getParentScope() then
parentProgressScope = currrentProgressScope
else
return setParentProgressScope(currrentProgressScope:getParentScope())
end
end
end
//below is in processRenderedPhotos
local progressScope = exportContext:configureProgress({
title = "title"
})
setParentProgressScope(progressScope);
// hereafter parentProgressScope will be the first ancester
//you can change the text as below
parentProgressScope._operation = "replace text for Publishing ...."
//or you can create a progress scope and set as the parent
local childScope = LrProgressScope:new {parent = parentProgressScope}