Photofacts Academy

Photofacts Academy; 100+ Fotografie Cursussen
Fotograferen wordt makkelijker en leuker

Boek

De Fotobijbels; Boeken over Fotografie
101 Praktische fotografietips voor betere foto's

Dick Holtman

Je workflow verbeteren met je eigen Lightroom scripts

dinsdag 1 februari 2022, 14:41 door | 3.886x gelezen | 0 reacties

Ooit gehoord van Lightroom scripts? Iedereen weet dat je Lightroom kunt uitbreiden met plug-ins, maar weinigen kennen de mogelijkheid van eenvoudige scripts. En toch kunnen ze soms enorm handig zijn. Deze blog is voor Lightroom gebruikers die niet bang zijn voor wat techniek.

Wat zijn scripts?


Je kunt scripts zien als lichtgewicht plug-ins. Een stukje code waarmee je een functie kunt uitvoeren, die niet standaard in Lightroom zit. En dat maakt plug-ins en scripts zo belangrijk: je kunt Lightroom uitbreiden en/of taken automatiseren, je workflow verbeteren, handmatige fouten voorkomen en je productie verhogen.

In deze blog laat ik zien hoe je zelf een heel eenvoudig script kunt maken. En wees gerust, het grootste deel van de code die je gaat zien fungeert als kapstok en slechts een enkele regel fungeert als het hart van onze functie. Dat betekent ook dat je kunt variëren op het thema door een enkele regel te vervangen door iets anders.

Dit is zeker geen handleiding; daarvoor is deze blog ongeschikt. Het is meer een kennismaking met of bewustwording van het bestaan van scripts. En wie weet krijgt iemand de smaak te pakken en wordt een nieuwe Lightroom plug-in schrijver geboren.

Wat gaan we maken?


Onze fictieve opdrachtgever heeft aangegeven: als fotograaf wil ik een lijstje krijgen van de bestandsnamen van alle geselecteerde foto's in Lightroom, die ik kan kopiëren naar bijv. mijn mail, Word, Excel of wat voor bestand ook.

Wat heb je nodig?


Je hoeft geen speciale programma's te installeren en ook niets te downloaden om het script te maken. Alles wat je nodig hebt is beschikbaar op je standaard Windows of Mac computer. Verderop zal ik je wel wat tips geven over handleidingen, naslagwerken en programma's die het leven wat makkelijker kunnen maken, maar die zijn geen vereiste.

Stappenplan


Laten we beginnen, ik neem je stap voor stap mee in het proces om ons script te maken en te draaien in Lightroom.

Stap 1: bepaal de scripts directory van Lightroom


Lightroom verwacht dat alle scripts in een bepaalde directory staan. Op het moment dat je in deze directory een script bestand opslaat en Lightroom opnieuw start, zal Lightroom deze vinden en in het menu laten zien, zie onderstaande afbeelding.

De locatie van deze directory verschilt tussen Windows en de Mac. Om deze directory te vinden kun je de volgende handelingen uitvoeren:

  1. Start Lightroom als je dat nog niet gedaan hebt
  2. Open het "Bewerken" menu -> Voorkeuren

Catalogus voorkeuren 01

  • Selecteer het "Voorinstellingen" tabje
    Klik vervolgens op de "Alle andere Lightroom-voorinstellingen tonen" button

  • Catalogus voorkeuren 02 800

  • Selecteer de "Lightroom" directory

  • Catalogus voorkeuren 03

  • Selecteerd de "Scripts" directory

  • Catalogus voorkeuren 04

    Stap 2: maak het script

    Kopieer de onderstaande code en plak deze in een eenvoudige teksteditor als Kladblok of Notepad++ voor Windows of Teksteditor voor de Mac. Let op: gebruik geen Word of iets dergelijks. Sla vervolgens het bestand op onder de naam "Bestandsnamen.lua" in de scripts directory van Lightroom.

    Alle code kun je ook downloaden van mijn repository.

    Nog even ter controle, bekijk het bestand dat je opgeslagen hebt met Kladblok op Windows of Textedit op de Mac, om er zeker van te zijn dat het een eenvoudig tekstbestand is zonder allerlei rare tekens.

    De code


    Om de code zo kort mogelijk te houden, heb ik alle overbodige tekst verwijderd, zoals commentaren. De scripts in mijn mijn repository zijn voorzien van commentaar.

    local LrTasks = import "LrTasks"
    local catalog = import "LrApplication".activeCatalog()
    local LrDialogs = import "LrDialogs"
    local LrView = import "LrView"

    LrTasks.startAsyncTask( function()
        local photos=catalog:getTargetPhotos()
        if #photos == 0 then return end

        varFileName = ""
        for j, photo in ipairs(photos) do
            varFileName =  varFileName .. photo:getFormattedMetadata("fileName") .. "
    "
        end

        local f = LrView.osFactory()
        local c =
            f: row{
                bind_to_object = props,
                f:column {
                    f:edit_field { value = varFileName, width_in_chars = 80, height_in_lines = 10 },
                },
            }

        dialogValue = LrDialogs.presentModalDialog(
            {
                title = "Filenames" ,
                contents = c,
            }
            )
    end)

    Ok, dat is even schrikken.

    Eenmaal van de schrik bekomen, laten we reëel zijn. In ongeveer 30 regels hebben we een programma geschreven dat alle bestandsnamen van de door ons geselecteerde foto's laat zien in Lightroom.
    Verderop gaan wij variëren op dit thema

    Stap 3: herstart Lightroom


    Als je Lightroom hebt draaien terwijl je een script toevoegt, dan ziet Lightroom dit niet. Gewoon even Lightroom afsluiten en opnieuw starten

    Stap 4: draai het script


    Als alles goed is gegaan, dan zie je nu je script staan onder het menu "Scripts" in Lightroom, zie onderstaande afbeelding.

    ScriptDirectory


    Nu kunnen we het script draaien. Selecteer een aantal foto's, open het "Scripts" menu en selecteer vervolgens "Bestandsnamen".

    Als alles goed is gegaan, dan opent zicht een dialoogscherm met daarin de bestandsnamen van de geselecteerde foto's.

    Bestandsnamen dialoog


    Variëren op het thema


    Maar het is nog veel leuker dat je met deze code ook kunt gaan variëren op het thema. Stel je wilt de bestandsnamen inclusief de directory zien, dan hoef je maar één regel te veranderen. Of je wilt een overzicht van de brandpuntafstand, ISO waarde enzovoorts en dit in Excel plakken.

    Voortbordurend op deze code gaan we twee variaties doen:

    1. Bestandsnaam + directory naam
    2. Bestandsnaam + ISO waarde, brandpuntafstand en sluitertijd geschikt om in Excel te plakken.

    Variant 1: bestandsnaam plus directory

    Maak een kopie van het script dat je hierboven gemaakt hebt en sla deze op onder de naam "bestandsnaam plus directory.lua"
    Je kunt dit script ook uit mijn repository downloaden.
    Vervang deze regel
    varFileName = varFileName .. photo:getFormattedMetadata('fileName') .. "
    "

    door deze regel
    varFileName = varFileName .. photo:getRawMetadata('path') .. "" .. photo:getFormattedMetadata('fileName') .. "
    "


    Zoals je ziet plakken we de directory voor de bestandsnaam.
    Kleine toelichting: in de taal Lua kun je teksten (strings) aan elkaar plakken door .. te gebruiken en haal je met het commando photo:getRawMetadata('path') de directory van ieder bestand op. Welke commando's allemaal beschikbaar zijn, vind je in de SDK handleiding. Voor meer informatie zie de volgende paragraaf.

    Niet vergeten, even Lightroom opnieuw opstarten en zie, je hebt nu twee scripts in je menu!

    Variant 2:


    Opnieuw, maak weer een kopie van je eerste script bestand en geef deze de naam "Bestandsnaam plus camera informatie.lua".
    En ook nu geldt dat je dit script ook uit mijn repository downloaden.

    Stel je wilt de sluitertijd, de ISO waarde en de brandpuntafstand van alle geselecteerde foto's kopieren en in Excel plakken.

    Vervang de regel
    varFileName = varFileName .. photo:getFormattedMetadata('fileName') .. "
    "

    door deze regels
    varFileName = varFileName .. photo:getFormattedMetadata('fileName')
    .. " " .. photo:getRawMetadata('aperture') .. " " .. photo:getRawMetadata('focalLength35mm') .. " " .. photo:getRawMetadata('shutterSpeed').. "
    "


    Let op: Hoewel het eigenlijk één regel is, heb ik deze wat netter geformatteerd.

    Niet vergeten, even Lightroom opnieuw opstarten en zie, je hebt nu drie scripts in je menu!

    Achtergrond informatie


    In deze paragraaf vind je meer technische achtergrond informatie voor als je scripts of plug-ins wilt maken.

    Lua


    Lua is de naam van de programmeertaal die Adobe, de maker van Lightroom, heeft gekozen voor het schrijven van scripts en plug-ins.

    Lightroom SDK


    De Lightroom SDK is de programmeerinterface waartegen je je programma's schrijft. Meer informatie kun je hier vinden.

    Je dient vervolgens in te loggen met je Adobe ID. Vervolgens kun je op deze pagina de SDK informatie van Lightroom downloaden. Zoek naar "Lightroom Classic".

    Let op: om de bovenstaande code te draaien hoef je deze informatie niet te downloaden. Echter als je informatie wilt over welke functies allemaal tot je beschikking staan, dan is deze informatie cruciaal.

    SDK download


    Je krijgt dan een ZIP bestand welke je moet uitpakken.

    SDK 01


    De laatste stap om de SDK functie te bekijken is door de "API Reference" directory te openen en vervolgens te dubbel klikken op het bestand "index.html".
    Dit opent je browser waarbij je aan de rechterkant de groepen functies vindt. Onder "Photo" vind je de functies die wij in ons bovenstaande voorbeeld gebruikt hebben.
    Ook kun je hier vinden welke informatie we van een foto nog meer kunnen ophalen, zoals sluitertijd, crop waarden, GPS enz.

    SDK 02 800


    In de directory "Manual" vind je een handleiding voor het schrijven van plug-ins en in de directory "Sample Plugins" vind je voorbeelden van plug-ins.

    Programma's


    Een goede editor vergemakkelijkt het leven van iedere programmeur. Op het internet vind je enorm veel informatie over goede programmeer editors.

    Andere plug-ins


    Voor Lightroom zijn inmiddels heel veel plug-ins geschreven.
    Een bekende marktplaats voor plug-ins is Photographers-toolbox.com, maar er zijn meerdere.

    Zelf heb ik een aantal Lightroom plug-ins geschreven. Voor meer informatie zie:

    Wil jij ook gave foto's maken?

    Probeer twee weken gratis onze online cursussen over fotografie. Je krijgt direct toegang tot meer dan 100 cursussen. Na twee weken vervalt je proeflidmaatschap automatisch. Je zit dus nergens aan vast.

    14 dagen gratis fotografiecursussen kijken

    Dick Holtman

    Over de auteur

    Dick Holtman is getrouwd met een enthousiaste fotografe en een ervaren Lightroom post-processing specialist. Hij werkt al ruim 30 jaar in de IT. Uit deze interesses is het bedrijf LightroomStatistics.com ontstaan. Dick maakte al 11 Lightroom plug-ins die te vinden zijn op de Photographers-Toolbox.com. Ook geeft hij IT en workflow adviezen aan fotografen.

    0 reacties

      Er zijn nog geen reacties op dit artikel.
      Deel als eerste jouw mening over dit onderwerp!

    Deel jouw mening

    Let op: Op een artikel ouder dan een week kan alleen gereageerd worden door geregistreerde bezoekers.
    Wil je toch reageren, log in of registreer je dan gratis.
    Cursus Naaktfotografie met Danyel Weideman
    De Portretbijbel door Elja Trum
    Toon alle artikelen binnen Software

    Photofacts wordt mede mogelijk gemaakt door


    Ontvang wekelijks fotografietips in je inbox

    44.749 fotografie enthousiastelingen ontvangen de tips al!
    Meer over de wekelijkse mail. Of blijf op de hoogte via Facebook. Aanmelding beveiligd met Google reCaptcha.

    Elja Trum

    Elja Trum

    Photofacts; alles wat met fotografie te maken heeft!

    Wil je graag mooiere foto's maken en op de hoogte blijven van ontwikkelingen binnen de fotografie? Photofacts plaatst leerzame artikelen die gerelateerd zijn aan fotografie. Variërend van product-aankondiging tot praktische fotografietips of de bespreking van een website. Photofacts bericht dagelijks over fotografie en is een uit de hand gelopen hobby project van Elja Trum. De artikelen worden geschreven door een team van vrijwillige bloggers. Mocht je het leuk vinden om een of meerdere artikelen te schrijven op Photofacts, neem dan contact op.Meer over Photofacts
    Om Photofacts.nl goed te laten functioneren maken we gebruik van cookies. Bekijk ons cookiebeleid. akkoord