Saya belum melakukan apapun dengan Lua
Lua mungkin adalah bahasa pemrograman paling sederhana dan paling bersih yang saya tahu. (Dan saya tahu beberapa .)
Kesederhanaan Lua juga merupakan kelemahan terbesarnya: karena desainnya yang kecil, bahasa yang bersih, tidak memiliki banyak hal bawaan yang ingin Anda temukan ketika berasal dari bahasa tingkat industri seperti Jawa, atau baterai Bahasa -termasuk seperti Python.
Lua dirancang untuk diperpanjang oleh C, yang dalam hal ini berarti SDK Lightroom. Itu bagus jika Adobe melakukan pekerjaan untuk menyediakan alat yang Anda butuhkan yang tidak dibangun ke dalam Lua, tetapi setiap sekarang dan kemudian Anda mungkin akan menemukan diri Anda memanggil alat eksternal untuk menyelesaikan sesuatu.
Apakah Lightroom API mudah dihubungkan
Satu-satunya bagian yang sulit tentang itu adalah Anda perlu menyusun kode sumber Anda dengan cara tertentu dan menyediakan Info.lua
file khusus untuk memberi tahu Lightroom tentang plugin Anda. Itu semua dijelaskan dalam dokumen SDK . SDK mencakup beberapa plugin yang berfungsi untuk memulai, termasuk plugin "hello world" yang cukup rumit yang dapat diambil untuk kode awal yang bermanfaat.
apakah itu memerlukan alat khusus untuk pengembangan?
Anda dapat bertahan hanya dengan editor teks.
Tidak ada fasilitas debugging yang dibangun ke dalam Lightroom, tetapi ada fasilitas debug logging di SDK. Anda dapat menangkap pesan-pesan ini di WinDbg
Windows atau Console
OS X.
Perkembangan yang lebih baru adalah sumber terbuka ZeroBrane Studio Lua IDE. Anda dapat menggunakan ini alih-alih editor teks lain, tetapi bagian yang sangat keren adalah mungkin untuk melampirkannya ke plugin Anda yang sedang berjalan yang memungkinkan Anda men-debug-nya saat dijalankan. Saya sudah mencoba ini, dan itu membantu mengurangi waktu siklus perbaikan / muat ulang / debugging.
Dapatkah saya menulis skrip untuk melakukan jenis tugas yang saya jelaskan di atas dengan mudah?
Saya tidak berpikir kedua tugas itu 100% dapat dilakukan hanya dengan menggunakan Lightroom SDK, tetapi dapat melakukan banyak pekerjaan untuk Anda.
pilih file di setiap tumpukan dengan ekstensi JPG dan jadikan itu bagian atas tumpukan
Berikut ini beberapa kode mirip Lua untuk membuat Anda hampir sampai di sana:
for photo in catalog:getMultipleSelectedOrAllPhotos() do
for peer in photo:stackInFolderMembers() do
if string.find('%.jpg$', peer:getFormattedMetadata('fileName')) then
-- *mumble* move 'peer' photo to top of stack *mumble*
break
end
end
end
Sayangnya, saya tidak melihat cara di SDK untuk melakukan tindakan baris komentar terdalam itu, setidaknya LR 5. Yang terbaik yang bisa saya lakukan adalah menelepon catalog:setSelectedPhotos(peer)
, lalu menyerahkannya kepada pengguna untuk benar-benar mengeklik lencana nomor untuk menyusun ulang tumpukan.
Melakukan salinan massal metadata dari file RAW (yang sudah ada) ke file JPEG (yang sudah ada)
Anda dapat melakukan ini dengan SDK yang ada, tetapi ada batasannya.
Misalnya, saat Anda bisa membaca nilai dateTimeOriginal
bidang EXIF , tidak ada fasilitas di SDK itu sendiri untuk mengatur nilai. Saya berasumsi ini karena pengembang Lightroom memutuskan ini tidak boleh diubah secara program, bahwa ini adalah informasi berharga dari kamera. (Kenapa itu harus terjadi ketika ada Metadata> Edit Capture Time ... item menu yang saya tidak tahu, tapi begitulah.)
Tapi, setiap kali SDK mencoba menjebak Anda dengan salah satu dari keterbatasan ini, sering ada lubang palka untuk melarikan diri. Anda dapat menginstal ExifTool dan memanggilnya dari Lua, misalnya. Itu bukan solusi yang sempurna, karena Anda kemudian memiliki ketidakkonsistenan antara metadata katalog dan metadata foto, tetapi Lightroom akan melihat dan menempelkan lencana pada foto, yang ketika diklik akan memungkinkan Anda menyelesaikan konflik dengan memuat ulang metadata dari foto.
(Anda akan ingin memiliki opsi "Secara otomatis menulis perubahan ke XMP" yang diatur dalam dialog Pengaturan Katalog ketika menggunakan plugin semacam itu. Jika tidak, Anda membuatnya lebih mudah untuk menciptakan konflik dua arah, di mana baik katalog dan metadata foto memiliki berubah. Lightroom tidak tahu cara menggabungkan dua set metadata; itu membuat Anda memilih satu, dan menimpa salinan metadata lainnya dengannya.)