Quantcast
Channel: Adobe Community : Popular Discussions - Lightroom SDK
Viewing all 53524 articles
Browse latest View live

List exported images as text and send as email

$
0
0

Hi, I have a problem that I hope you can help me with as it would greatly ease my workflow:

 

After shooting newly hired staff each month, I usually have a large amount of images that needs to be edited by other employees that have indirect access to the same folder that I export my images to (in order to make ID-cards ect.). By indirect I mean that they use a specific program to access the folder.

 

I would like to be able export these images directly from Lightroom to the specified folder and at the same time make a list of the filenames that I can send as an email to the HR-department.

 

Is there a simple solution to this? - Is it possible for instance to make a Lightroom export action open up my email program and produce a list of exported images (just the filenames as text) which then can be inserted into the email?


Plugin to export XMP

$
0
0

I'm new to Lightroom plugin development, but I am quite familiar with the Lightroom application, SQL, and Lua. I really dislike how Lightroom does not allow XMP sidecar files for JPGs, even though that situation hardly occurs, it bothers me. So, decided to try to make a plugin and although the documentation is pretty good, there aren't many forums to ask for help.

 

Here is what I think I need to know how to do:

 

  1. Is there a way of getting at the SQLite database directly?

    The SQLite table Adobe_AdditionalMetadata has an xmp text column. It seems like it would be simple to export this to an .xmp file. I don't see any way of accessing it via the LR API though. Access each develop setting individually sucks because I'd have to construct the XML file, and even then, I wouldn't be able to access snapshots.

  2. Is there a way I could trigger an export of the XMP file?

    It seems as though the LR API works off context menu events, not Lightroom events.

 

Any suggestions are greatly appreciated. Thank you!

Feature Request: Refresh Image View

$
0
0

I am writing a plugin that changes an image externally, however its not updated in Lightroom until its rolled over with the mouse or otherwise selected.

 

So, the external changes are not appearing as I would like in Lightroom.

 

If there was a way to "goose" Lightroom into refreshing the thumbnail or whatever view was being presented, that would be awesome.

 

Thanks in advance,

Rob

Ligthroom create a book plugin

$
0
0

Hi guys,

 

I would like to create a plugin like Blurb to create books and send them on my server.

Have you got informations about ?

Where I should start ?

 

Thanks

 

Alan

Set system path on Mac?

$
0
0

I'm helping with a plugin that uses some open source command line tools. The plugin ships with all the dependencies bundled into a "bin" directory which works fine in Windows but the Mac searches the system path when these programs are called. Mac users were told to install the files in /usr/bin but now with "El Capitan" that isn't possible. It also seems that the plugin cannot access anything installed in /usr/local/bin even though it is in the system path.

 

Even before "El Capitan" we were discussing ways for the Mac version to behave like the Windows version and use the files installed in the plugin's "bin" directory.

 

 

    if MAC_ENV then        local exportPath = 'export PATH="'        local toolsPath = LrPathUtils.child(_PLUGIN.path, 'bin"')        local systemPath = ':$PATH'        local searchPath = exportPath..toolsPath..systemPath
--        LrTasks.execute(searchPath) -- this doesn’t work

 

The script calls this dependency check:

 

-- Check for Mac dependencies
function MLProcess.checkDependencies()    return "exec which dcraw exiftool"
end

 

The only way it will work on "El Capitan" is if dcraw and exiftool are installed in /usr/bin. Some users are skilled enough to turn off System Integrity Protection to install the tools but that shouldn't be necessary. Another workaround is to start Lightroom from a shell script that sets the path for that session before launching LR. Here's an example:

 

LR.command

export PATH="/Library/Application Support/Adobe/Lightroom/Modules/cr2hdr.lrplugin/bin":$PATH
/Applications/Adobe\ Lightroom/Adobe\ Lightroom.app/Contents/MacOS/Adobe\ Lightroom

 

Of course these are just workarounds--how can the system path be set? Is it even possible?

Creative SDK - Image Editor UI Authentication/Login (iOS)

$
0
0

down votefavorite

 

 

I was wondering if anyone could clarify something for us. Our startup is looking at an photo enhancer/editor - and I'm curious about the Adobe Image Editor UI, but was quite put off by making users have and Adobe account and having to log in. I have looked at all the documentation, sample code and it all points to the "Integrating the Authentication Component" here https://creativesdk.adobe.com/docs/ios/#/articles/gettingstarted/index.html. Is not the client-id/client-secret enough to know the billing scenario for us?

In fact, even ONE external login would kill user experience for our offering.I understand that the Cloud components would require separate logins, but we just want Image Editor UI, nothing else (and willing to pay for this obviously).

What I want to know is, would the users of our app have to login and (us) manage login state (with adobe) every time they want to use the Image Editor? If anyone could point me to the right documentation it would be great. I plan to write the wrappers for React Native once I can confirm this (yes, I'll open source it as well once I'm done).

Thanks

Communication between a LR plugin and an iOS app over a LAN

$
0
0

I want to create a plugin for Lightroom 6+ (this is new to me) that allows two way communication to take place between LR and an iOS app. The iOS device would be on the same local network.

 

What is the best method of accomplishing this? I was thinking about using LRSocket, this is the most direct method? I assume with this method the iOS app would need to act as the server and the LR plugin would be the connecting client? But, all the documentation and examples I’ve found, regarding general LRSocket usage, imply that localhost is used. This would make communication with an iOS device over WiFi impossible?

How to define smart collection rules to match a folder's path?

$
0
0

I was hoping to define a tree of (smart) collections to match my folders tree, but coming up with a search criteria to match the folder path is proving difficult at best, impossible at worst.

 

Any ideas?


Why applyDevelopPreset doesnt refresh Lr's preview

$
0
0


Hi all

 

My plug-in has a couple sliders. When a slider is changed then I change some parameters and apply new preset. like as

 

catalog:withWriteAccessDo(Title,function()

     local presetNew = LrApplication.addDevelopPresetForPlugin( _PLUGIN, Title, settingsNew)

     photo:applyDevelopPreset(presetNew, _PLUGIN)

...

 

On my end all work fine. But my testers have the follow problem. Often, when they move a slider and a preset is applied, the Lr's parameters are changed, Lr's histogram is refreshed BUT Lr's preview is still old.

 

I tried to call

 

photo:deleteSmartPreview()

photo:buildSmartPreview()

 

but no effect.

 

Also I tried to call catalog:withWriteAccessDo asynchronously

catalog:withWriteAccessDo(Title,function() ...end , {4.0,nil,'asynchronous'})

 

but also no effect.

 

Does somebody met with this problem and has any idea how to fix it?

Loading native code lua modules

$
0
0
I'm trying to load a C lua module into my Lightroom Plugin. Unfortunately I can't get it to work and keep getting the error:

An internal error occurred
Could not load toolkit script: PluginGUI-OSX

This is an Objective-C code lua library and the error occurs on the following line in my lua script:

require 'PluginGUI-OSX'

I've also tried preceding this with the following, but still I get no luck:

package.path = package.path..";./?/init.lua;./?.so"

Has anyone ever had luck trying this? Or does anyone on the Lightroom team know it to be impossible?

Thanks in advance

Rich

LR 5 functions, methods, and properties not in LR 4 docs

$
0
0

While we're waiting for the SDK docs, I scanned for functions, methods, and properties not documented in the LR 4 SDK.  Here's what I found:

 

LrCatalog

Methods:

assertHasReadAccess

buildSmartPreviews (array of LrPhoto)

createPublishService

createVirtualCopies

getPhotoByLocalId

withReadAccessDo

 

Properties:

allPhotos

hasCatalogAccess

hasReadAccess

hasWriteAccess

path

targetPhoto

targetPhotos

 

LrCollection

Methods:

getSearchDescription

 

LrController

nextPhoto

previousPhoto

showBezel

showGrid

showLoupe

startSlideshow

stopSlideshow

triggerCapture

 

LrDialogs

closeFloatingDialogsForPlugin

presentFloatingDialog

presentWebViewDialog

showBezel (string message, [number fadeDelay])

showStringsDialog

 

LrDigest

HMAC

MD4

MD5

SHA1

SHA256

SHA384

SHA512

 

LrLogger

Methods:

configure

restoreConfiguration

saveConfiguration

wrapMethodWithTrace

wrapMethodsWithTrace

 

Properties:

_actions

_name

_savedConfigurations

will_debug

will_error

will_info

will_trace

will_warn

 

LrPhoto

Methods:

applyDevelopSnapshot

buildSmartPreview

deleteDevelopSnapshot

deleteSmartPreview

getDevelopSnapshots

locationIsPrivate

readMetadata

requestJpegThumbnail

saveMetadata

withSettingsForPluginDo

 

Properties:

countStackInFolderMembers

countVirtualCopies

isInStackInFolder

isVirtualCopy

localIdentifier

masterPhoto

path

stackInFolderIsCollapsed

stackInFolderMembers

stackPositionInFolder

uuid

virtualCopies

 

LrPhotoPictureView

makePhotoPictureView

 

LrPlugin

nativeFunction

 

LrPublishService

delete

getAllRemoteIds

promptEditDialog

 

LrPublishedCollection

Methods:

getSearchDescription

publishSelected

setSearchDescription

 

LrPublishedCollectionSet

Methods:

delete

 

LrPublishedPhoto

Methods:

getDevelopSettingsDigest

getMetadataDigest

 

LrTableUtils

debugDumpTable

 

LrUUID

generateUUID

 

LrView

Methods:

path_control

square_button

 

LrXml

xmlElementToSimpleTable

 

I didn't examine the classes LrExportContext, LrExportRendition, LrExportSession, LrExportSettings, LrFilterContext, LrVideoExportPreset, LrWebViewFactory.

lrHttp.post keeps timing out after large upload attempt

$
0
0

I have written a lightroom plugin to upload photos to google cloud storage. I am trying to follow the recommended process outlined in the following link, specifically going for resumable upload. Upload Objects - Cloud Storage — Google Cloud Platform

 

Here is an outline of my current steps:

 

  1. Within exportServiceProvider.processRenderedPhotos I wait for the photo to be rendered and then I read the photo file into memory using io.open. This can be up to 10 megabytes.
  2. I then do a post to GCS to get a resumable session URI (this works great)
  3. Using the session URI I then perform a lrHttp.post(uri, fileData, headers, 'PUT')
    1. So this tries to PUT the entire multi-megabyte file to GCS in one request.
    2. Sometimes it works in one go and the entire file is uploaded successfully
    3. In other cases the PUT times out which is an expected scenario because the file is quite large
  4. In the case of a timeout I am supposed to send another empty PUT request that figures out how much of the file was successfully transferred so I can resume from there
    1. This lrHttp.post(uri,'',headers,'PUT') more often then not, times out after about a minute. Each subsequent attempt can also timeout after a minute. Eventually the call will succeed and return the expected information. The strange thing is if I do this simple PUT request from an external source such as curl or  www.requestmaker.com it returns immediately every time so the problem does not seem to be on Google Cloud Storage end.
  5. Here is the specific error I am getting:

     error:

       errorCode: timedOut

       name: The request timed out.

       nativeCode: -1001

 

My only guess is that the original lightroom PUT is somehow severely backed up from the original request and it takes a long time for it to work through its memory before being able to successfully make another request, despite the fact that it returned from execution.

 

I would like to use lrHttp.postMultipart and point it at a file. However, my attempts to do that would also inevitably timeout and GCS does not support a resumable option with postMultipart vs 'PUT'.

 

I am looking for an explanation of this phenomenon or a better approach for uploading large image files to GCS while gracefully handling inevitable timeouts and connectivity issues.

 

I am currently using lightroom version 6.5

Read metadata from file

$
0
0

Hi,

 

I have a plugin which executes ExifTool for some selected pictures. After ExifTool returns, I would like to reload the metadata from the changed files, so the change becomes visible to the user right away.

Basically, let my plugin perform the task of right-clicking an image and choose 'Metadata' -> 'Reload metadata from file'.

 

Unfortunately I haven't found a way in the API to do so. Can you point me to the right place?

 

Thanks,

Alex

Read barcode or QR code inside image and save it in the file as metadata

$
0
0

Maybe someone can help me with this question...

 

All product photos contain a barcode or QR-code. It is visible inside the image.

The customer is looking for a way (a plug-in) that is able to find the code inside the image, read it and place the information found in a preselected Metadata field of the image it self.

Can anyone tell me if this already exists or is there anyone who can develop it? If yes, than please let me know

 

Regards,

Pieter

Export Module & LR2 Mogrify: which modules to use and in what order?

$
0
0

As a follow on to my previous thread: How do I modify the behaviour of "Image Sizing" Module in Export

answered by  Eric Scouten and  Tim Armes.

 

The answer was LR2 Mogrify (version 4) does what I want.

 

However it has stimulated some more questions?

 

a) Both Mogrify and Ligthroom export can do for example sharpening and colour profile.

 

   Does it matter which ones I use, particularly if I use mogrify to re-size the image?

 

b) Which leads to the more general question

     If I'm using mogrify and some of the Lightroom export capabilities

     What the order of execution for the various modules?

    

     How (in one's own plug-in) do you control the order of execution?

 

Best wishes

 

Terry Hewitt


Question: Where is config.lua?

$
0
0

LrLogger api-doc says there's a config.lua for configuring loggers. Where???

 

Rob

?:0: attempt to call upvalue '?' (a nil value)

$
0
0

I can't seem to get rid of this error (' ?:0: attempt to call upvalue '?' (a nil value) ').  What is "?:0:" ?

 

Thanks in advance for any help!

 

script:

 

local LrApplication = import 'LrApplication'
local LrDialogs = import 'LrDialogs'
local LrFileUtils = import 'LrFileUtils'
local catalog = LrApplication.activeCatalog()
local LrTasks = import 'LrTasks'

 


    function searchNtag()
        local targPhotos = catalog.getAllPhotos()
        for _, photo in ipairs(targPhotos) do
            local status = photo:getPropertyForPlugin('com.jonathonlefaive.tagstatus', 'tagboolean')
            if status then
                if status == nil then
                    local location = photo:getRawMetadata('path')
                    if LrFileUtils.isDeletable(location) == true then
                        photo:setPropertyForPlugin('com.jonathonlefaive.tagstatus', 'tagboolean', false, 2)
                    else
                        photo:setPropertyForPlugin('com.jonathonlefaive.tagstatus', 'tagboolean', true, 2)
                    end
                end
            end
        end
    end

 

function task()
    catalog.withPrivateWriteAccessDo(searchNtag)
end

 

LrTasks.startAsyncTask(task)

Feature Request: Ability to detect which tab user has selected in tab view

$
0
0

'Twould be nice if the tab the user has selected could be restored when a dialog box with a tab view is re-presented.

 

Or is there a way and I'm just brain-dead at the moment?

 

Thx,

R

What is root-pixels.db used for?

$
0
0

I mostly understand previews.db, but root-pixels.db is still a mystery - any ideas?

 

I mean it seems like redundent info from previews.db, plus jpegData which only has like 10 bytes of data - hmm...

Plugin for deleting NEF/raw files based on rating

$
0
0

The huge size of NEFs is causing a major problem for me with backups.  What I would love to be able to do is to rate my images in Lightroom and then delete the NEFs (i.e. raw files) for images that are less than 4 stars.  I want to keep raw files around for those really great shots to process enlargements etc but for 90% of the images keeping the jpg around is enough.

 

Rob Cole has a plugin that deletes jpgs associated with raw files (almost the oposite of what I want to do) but it doesn't filter based on rating.  He even provides the source code - thanks Rob - but this seems to be part of a much larger framework so it might be more trouble to modify his code than start from scratch for this "little" task.

 

I'm a proficient C# developer but I'm new to Lua and particularly Lightroom plugins.

 

It seems like this would be very straightforward to do but getting started wtih plugins seems to be a pretty steep learning curve.

What I would like to do is to:

  1. Select a number of images in Lightroom (i.e. multiple folders in the library).
  2. Launch plugin (not sure what type of plugin would be appropriate)
  3. Loop through each image in the selection and if the rating is <4 stars (photo:getFormattedMetadata??), delete the corresponding .NEF file while keeping the .jpg. (LrFileUtils.delete??)

 

 

It looks like there are Export plugins and Publish plugins but neither of these seem to be what I want.  I don't want Lightoom to actually export or publish the files, I just want to process them. What is the best way to get started with this - is there an example template that gets me most of the way there with this?

 

What about this task is going to be hard - i.e. what problem am I going to run into that I don't forsee? (I'm only doing this on Windows if that helps/hurts)

 

Sorry if this is a total nube question but sometimes just getting started on a project is the hardest part.

 

Thanks,

Viewing all 53524 articles
Browse latest View live


<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>