লাইটরুম প্লাগইন বিকাশ - এটি কি এটির মূল্য?


28

আমি সম্প্রতি আমার ফটো সংগঠন এবং পরিচালনা ওয়ার্কফ্লোটিকে "কিছুই নয়" থেকে লাইটরুম 4 এ উন্নত করেছি এবং আমি সাধারণত সফ্টওয়্যারটির সাথে খুব সন্তুষ্ট হয়েছি তবে একটি বৈশিষ্ট্য যা এর ঘাটতিতে অনুপস্থিত তা হ'ল স্বয়ংক্রিয়ভাবে কোনও ধরণের ম্যাক্রো বা স্ক্রিপ্ট রেকর্ড করার ক্ষমতা is পুনরাবৃত্তিমূলক কাজগুলি - লাইটরুমে আমার স্থানান্তরকালে, আমি করতে চেয়েছি যে অনেকগুলি পুনরাবৃত্তি কাজ হয়েছে এবং আমি ভাবছি যে এই কয়েকটি কাজের জন্য কীভাবে এলআর প্লাগইন লিখতে হবে তা শিখতে হবে কিনা। আমি যে ধরণের জিনিস স্বয়ংক্রিয় করতে চাই তার উদাহরণ দিতে:

  • স্ট্যাকড RAW + পিএসডি + জেপিজি ফটোগুলির একটি বড় গ্রুপে, জেপিজি এক্সটেনশান সহ প্রতিটি স্ট্যাকের ফাইলটি নির্বাচন করুন এবং এটিকে স্ট্যাকের শীর্ষে করুন
  • কোনও (বিদ্যমান) RAW ফাইল থেকে একটি (বিদ্যমান) জেপিইজি ফাইলটিতে মেটাডেটার একটি গণ অনুলিপি সম্পাদন করুন

আমি স্ক্রিপ্টগুলি লাইটরুমের মধ্যে চিত্রের ব্যবস্থাপনাকে এখনকার চেয়ে আরও সহজ করে তুলতে পারে এমন আরও অনেক উপায় দেখতে পাচ্ছি। আমার প্রশ্নের তারপর তিনটি অংশ রয়েছে:

1) লাইটরুম প্লাগইন লেখা কতটা কঠিন? আমি বেশ কয়েকটি প্রোগ্রামিং ল্যাঙ্গুয়েজে (সি / সি ++, পাইথন, পার্ল) পারদর্শী, তবে লুয়ার সাথে আমি কিছুই করিনি। লাইটরুমের এপিআই কি সহজেই সহজে প্রবেশ করতে পারে এবং এর জন্য কি বিকাশের জন্য কোনও বিশেষ সরঞ্জাম প্রয়োজন?

২) উপরে বর্ণিত যে ধরণের কাজগুলি আমি খুব সহজে বর্ণনা করতে পারি তার জন্য আমি স্ক্রিপ্টগুলি লিখতে পারি?

3) লাইটরুম প্লাগইন বিকাশ শুরু করার জন্য আমি যে কোনও ভাল সংস্থান বা টিউটোরিয়াল পড়তে পারি?


আমি প্লাগইন বিকাশের বিষয়ে বিবেচনা করতে পারি না - সত্যই এটি সন্ধান করা হয়নি - তবে মনে হয় আপনার ব্যবহারগুলি বিশেষত কারও জন্য কোনও কর্মপ্রবাহ থেকে লাইটরুমে যাওয়ার জন্য নয় specifically এটি হ'ল, একবার আপনি এলআর ব্যবহার শুরু করলে আপনার আর কখনও কোনও আরএল থেকে .jpg বা .psd তে মেটা অনুলিপি করার দরকার পড়বে না, উদাহরণস্বরূপ, কারণ এটিই ওয়ার্কফ্লো প্রায়।
ড্যান ওল্ফগ্যাং

এটি সত্য, আমি আমার (তাত্ত্বিকভাবে) যে উদাহরণ দিয়েছি তা আমার প্রাথমিক আমদানি সম্পন্ন হওয়ার পরে আর কখনও করার দরকার হবে না। তবে, সম্ভবত এটি এমন ভবিষ্যতের ক্ষেত্রেও অন্যান্য কাজগুলি স্বয়ংক্রিয় করতে সক্ষম হতে চাই? আমি এই গণনা সম্পর্কে নিশ্চিত নই। তবে যদি প্লাগিনগুলি বিকাশ করা যথেষ্ট সহজ হয় তবে এখন শেখা আমার ক্ষতি করবে না এবং ভবিষ্যতে উপকারী হতে পারে। যদি প্লাগইন বিকাশ জটিল হয়, তবে আমি বিরক্ত করতে চাই না এবং আমি বিশ্বাস করব যে আমার লাইব্রেরিটি তৈরি হওয়ার পরে লাইটরুম আমার যা যা প্রয়োজন তা বেশিরভাগই করবে।
ডেভিড 21

ওহ, হ্যাঁ, অটোমেশন এবং সংযোগের বিকল্পগুলি অসীম। আমি কেবল এটি দেখিয়েছিলাম কারণ, আপনার গ্রন্থাগারের আকারের উপর নির্ভর করে এটি চেষ্টা করার উপযুক্ত নাও হতে পারে (কমপক্ষে, আমার জন্য এটি ছিল না)।
ড্যান ওল্ফগ্যাং

আমি লাইটরুম ব্যবহার করে এটি করার কোনও উপায় জানি না, আপনি আসলে আপনার সমস্ত ফটোগুলির জন্য এক্সআইএফ ডেটা পরিবর্তন করার জন্য একটি প্রোগ্রাম তৈরি করতে পারেন। দয়া করে আর্কাইভ.এমএসএন.এম.সাইক্রোসফট / এক্সচেঞ্জফুইথচর্প এবং স্ট্যাকওভারফ্লো . com / প্রশ্নসন / ৫৮649৯/২ এবং স্ট্যাকওভারফ্লো / প্রশ্নগুলি / ২২69 73 / 73/ how - to- edit - exif- data - in-net দেখুন । আপনি উল্লেখ করেছেন যে আপনি সি ++ জানেন, আমি বিশ্বাস করি আপনি নিজেকে সি #
কে ''

+1, যেহেতু এই প্রশ্নটি আমাকে এই লুয়া sdk :-) দেখার ধারণা দিয়েছে
ফ্রান্সেস্কো

উত্তর:


39

লুয়ার সাথে আমি কিছুই করিনি

লুয়া সম্ভবত আমার জানা সবচেয়ে সহজ এবং পরিষ্কার প্রোগ্রামিং ভাষা। (এবং আমি কয়েকটি জানি ।)

লুয়ার সরলতাও এর সবচেয়ে বড় দুর্বলতা: ডিজাইনের দ্বারা ছোট এবং পরিষ্কার ভাষা হওয়ায় এটি জাভা বা ব্যাটারির মতো শিল্প-গ্রেডের ভাষা থেকে আগত যখন আপনি খুঁজে পেতে আশা করেন তা এতে তৈরি হয় না you' পাইথনের মতো অন্তর্ভুক্ত ভাষা।

লুয়া সি দ্বারা প্রসারিত করার জন্য ডিজাইন করা হয়েছে, এই ক্ষেত্রে লাইটরুমের এসডিকে বোঝায়। এটি দুর্দান্ত যদি লুয়ায় নির্মিত না হয়ে আপনার প্রয়োজনীয় সরঞ্জাম সরবরাহের কাজ অ্যাডোব কাজ করে তবে এখন থেকে এবং সম্ভবত আপনি নিজেকে কাজগুলি করতে বাহ্যিক সরঞ্জামগুলিতে কল করতে পারেন।

লাইটরুম এপিআই কি খুব সহজেই প্রবেশ করতে পারে?

এটি সম্পর্কে একমাত্র কৌশলগত অংশটি হ'ল আপনার উত্স কোডটি একটি নির্দিষ্ট উপায়ে গঠন করতে হবে এবং Info.luaআপনার প্লাগইন সম্পর্কে লাইটরুমকে জানানোর জন্য একটি বিশেষ ফাইল সরবরাহ করতে হবে। এসডিকে ডক্সে এটি সমস্ত ব্যাখ্যা করা হয়েছে । মোটামুটি বিস্তৃত "হ্যালো ওয়ার্ল্ড" প্লাগইন সহ এসডিকে শুরু করার জন্য বেশ কয়েকটি কার্যকরী প্লাগইন অন্তর্ভুক্ত রয়েছে যা দরকারী প্রারম্ভিক কোডের জন্য দাগ দেওয়া যায়।

এটির কি উন্নয়নের জন্য কোনও বিশেষ সরঞ্জামের প্রয়োজন?

আপনি কেবল একটি পাঠ্য সম্পাদক দিয়ে পেতে পারেন।

লাইটরুমে কোনও ডিবাগিং সুবিধা নেই, তবে এসডিকে একটি ডিবাগ লগিং সুবিধা রয়েছে। আপনি এই বার্তাগুলি WinDbgউইন্ডোতে বা Consoleওএস এক্সে ধরতে পারেন ।

আরও সাম্প্রতিক উন্নয়ন হ'ল ওপেন সোর্স জিরো ব্রেন স্টুডিও লুয়া আইডিই। আপনি এটি অন্য পাঠ্য সম্পাদকের পরিবর্তে ব্যবহার করতে পারেন, তবে সত্যিই দুর্দান্ত বিটটি এটি হ'ল এটি আপনার চলমান প্লাগইনে সংযুক্ত করা সম্ভব যা এটি চলতে চলতে আপনাকে এটি ডিবাগ করতে দেয়। আমি এটি চেষ্টা করে দেখেছি এবং এটি ডিবাগিং চক্রের সময় ঠিক করতে / পুনরায় লোড করা / পুনরায় আরম্ভ করতে সহায়তা করে।

উপরে বর্ণিত ধরণের কাজগুলি সহজেই সম্পাদন করতে আমি কি স্ক্রিপ্টগুলি লিখতে পারি?

আমি মনে করি না যে কোনও কাজই কেবল লাইটরুম এসডিকে ব্যবহার করে 100% করণে সক্ষম, তবে এটি আপনার জন্য অনেক কাজ করতে পারে।

জেপিজি এক্সটেনশান সহ প্রতিটি স্ট্যাকের ফাইলটি নির্বাচন করুন এবং এটিকে স্ট্যাকের শীর্ষে করুন

আপনাকে প্রায় পুরো পথ পেতে এখানে কিছু অস্পষ্ট লুয়ার মতো কোড রয়েছে:

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

দুর্ভাগ্যক্রমে, এসডিকে আমি অন্তত এলআর 5 এর মতো অন্তর্নিহিত মন্তব্য লাইনের ক্রিয়া করার কোনও উপায় দেখতে পাচ্ছি না। আমি যে কলটিটি দিয়ে আসতে পারি তার মধ্যে কল করা catalog:setSelectedPhotos(peer), তারপরে স্ট্যাকটিকে পুনরায় অর্ডার করার জন্য নম্বরটি ব্যাজটিতে ক্লিক করতে ব্যবহারকারীর কাছে রেখে দিন।

কোনও (বিদ্যমান) RAW ফাইল থেকে একটি (বিদ্যমান) জেপিইজি ফাইলটিতে মেটাডেটার একটি গণ অনুলিপি সম্পাদন করুন

আপনি বিদ্যমান এসডিকে দিয়ে এর মধ্যে কিছু করতে পারেন তবে সীমাবদ্ধতা রয়েছে।

উদাহরণস্বরূপ, আপনি যখন EXIF ক্ষেত্রের মানটি পড়তে পারেন dateTimeOriginal, এসডিকে নিজেই মান সেট করার কোনও সুবিধা নেই । আমি এটি ধরে নিয়েছি কারণ লাইটরুম বিকাশকারীরা সিদ্ধান্ত নিয়েছিলেন যে এটি কখনও প্রোগ্রামিয়ালি পরিবর্তন করা উচিত নয়, এটি ক্যামেরা থেকে প্রাপ্ত মূল্যবান তথ্য। (কোনও মেটাডেটা থাকলে কেন এমন হওয়া উচিত> ক্যাপচারের সময় সম্পাদনা করুন ... মেনু আইটেমটি আমি জানি না, তবে সেখানে এটি রয়েছে))

তবে, যখনই এসডিকে আপনাকে এই সীমাবদ্ধতার একটির মধ্যে আটকে দেওয়ার চেষ্টা করে, প্রায়শই একটি পালানোর হ্যাচ থাকে। আপনি এক্সিফটুল ইনস্টল করতে পারেন এবং উদাহরণস্বরূপ লুয়া থেকে এটি কল করতে পারেন । এটি একটি নিখুঁত সমাধান নয়, কারণ আপনার তখন ক্যাটালগ মেটাডেটা এবং ছবির মেটাডেটার মধ্যে একটি অসামঞ্জস্যতা রয়েছে তবে লাইটরুম খেয়াল করবে এবং ফটোতে একটি ব্যাজ দেবে, যা ক্লিক করার পরে আপনি ফটো থেকে মেটাডেটা পুনরায় লোড করে দ্বন্দ্বের সমাধান করতে পারবেন।

(আপনি যখন যেমন একটি প্লাগইন ব্যবহার ক্যাটালগ সেটিংস ডায়ালগ বিকল্প সেট "XMP মধ্যে স্বয়ংক্রিয়ভাবে লেখার পরিবর্তন" have করতে চাইবেন। অন্যথা, আপনি সহজে একটি দ্বিমুখী দ্বন্দ্ব, যেখানে উভয় ক্যাটালগ তৈরি করতে করতে এবং ছবি আছে মেটাডেটা পরিবর্তিত হয়েছে। লাইটরুম কীভাবে মেটাডেটার দুটি সেট একীভূত করতে পারে তা জানে না; এটি আপনাকে একটি বাছাই করে তোলে এবং এটির সাথে অন্য মেটাডেটা অনুলিপিটি আবারও লিখে দেয়))


এসডিকে সীমাবদ্ধতা প্রকৃতপক্ষে যথেষ্ট, এই নির্দেশিকা অনুযায়ী সরকারীভাবে সমর্থিত একমাত্র ক্রিয়াগুলি রফতানিতে যোগ বা গন্তব্যগুলি প্রকাশ করা, রফতানিতে অতিরিক্ত পোস্ট প্রসেসিং প্রয়োগ করা বা কাস্টম মেটাডেটা ক্ষেত্র যুক্ত করা হয়। যে কোনও ক্রিয়াকলাপের জন্য কোনও সেটিংস / মান আপডেট করার প্রয়োজন উত্তর হিসাবে বর্ণিত হিসাবে সম্ভবত আপনি চেষ্টা করা এবং আপডেট করা মান সেট না করা অবধি সমর্থিত।
স্টিভেন কানিংহাম

1
@ স্টিভেন কানিংহাম: এই গাইডটি টিউটোরিয়াল ডকুমেন্ট; আপনি এসডিকে দিয়ে যে কাজগুলি করতে পারেন তার সবগুলিই তালিকাভুক্ত করার উদ্দেশ্যে নয় meant প্রোগ্রামার গাইড ছাড়াও এসডিকে একটি এইচটিএমএল রেফারেন্স অন্তর্ভুক্ত রয়েছে। অ্যাডোব সেই রেফারেন্সে ডকুমেন্ট করেছে এমন বেশ কয়েকটি জিনিস রয়েছে যেগুলি আপনি উল্লেখ করেছেন পিডিএফ প্রোগ্রামার গাইডটিতে তারা কভার করেনি। LrPhoto:setRawMetadata()উদাহরণস্বরূপ বিভাগটি দেখুন ।
ওয়ারেন ইয়ং

1
ভাল উত্তর - + 1।
ডি ল্যামবার্ট

4

আমি লাইটরুমকে জানি না (এখনও - এটি আছে তবে এটি এখনও ইনস্টল করেনি) তবে আপনি যা করার চেষ্টা করছেন তার জটিলতার উপর নির্ভর করে আপনি অটোহোটকির মতো কোনও সিস্টেমের প্রশস্ত কীবোর্ড ম্যাক্রো / অটোমেশন সরঞ্জামটি দেখতে চাইতে পারেন । এটি আপনাকে কী-স্ট্রোকের কোনও ক্রম রেকর্ড বা প্রোগ্রাম করতে দেয় যা আপনি বের করতে পারেন এবং তারপরে, আপনি যখন একটি গরম কী টিপেন, এটি সেগুলি আবার আপনার প্রোগ্রামে চালিয়ে দেয় (যেমন লাইটরুম হিসাবে) - যতক্ষণ না প্রোগ্রামটির সাথে সম্পর্কিত - এটি দেখে মনে হচ্ছে আপনি এটি টাইপ মত। এটি আপনাকে আপনার অ্যাপ্লিকেশন প্রোগ্রামগুলিতে কোনও পরিবর্তন না করেই সব ধরণের জিনিস স্বয়ংক্রিয় করতে দেয়।


অবশ্যই একটি প্লাগইন আরও সূক্ষ্ম শস্যযুক্ত অটোমেশন সমাধান সরবরাহ করবে, এটি এক ধরণের চরম অনুপাত এবং ওএস-নির্ভর। আমি ধরে নিই যে উইন্ডোজ এবং ওএসএক্সের মধ্যে প্লাগইনগুলি (কম বেশি) পোর্টেবল।
ফ্রান্সেস্কো

1
@ ফ্রান্সেসকো - আমি নিশ্চিত যে আপনি ঠিক বলেছেন তবে এই পথে যেতে আপনার আরও অনেক বেশি প্রোগ্রামিং দক্ষতা এবং লাইটরুম এপিআইয়ের (বা তারা ম্যাক্রো লেখকদের জন্য ইন্টারফেস বলে যাই হোক না কেন) প্রয়োজন। যদিও ন্যায্য সংখ্যক লোক মাল্টি বুট করে বা ভিএমএস ব্যবহার করে, বেশিরভাগ লোক সম্ভবত একটি ওএসের সাথে লেগে থাকে এবং লিনাক্স, উইন্ডোজ এবং ওএসএক্সের জন্য অনুরূপ ম্যাক্রো প্রসেসর রয়েছে। শক্ত অংশটি ক্রমের ক্রমটি সঠিকভাবে পাচ্ছে। সর্বাধিক সাধারণ জিনিসের জন্য, একটি ম্যাক্রো প্রসেসর থেকে অন্য ম্যাক্রো প্রসেসরের পুনরায় সংস্থান করা খুব কঠিন নয়।
জো

আমি আপনার বক্তব্যটি দেখছি তবে আমার মতে এটি আসল প্রশ্নটি (ওপি লুয়া নয়, কয়েকটি ভাষাতে দক্ষ) কোনও অবস্থাতেই আমি ভাবিনি যে আপনার উত্তরটি হ্রাস পাওয়ার যোগ্য কারণ এটি হাতের সমস্যার সম্ভাব্য সমাধান সরবরাহ করে (এটি একটি ধরণের বাক্স-বিবেচ্য পদ্ধতি, যা আমি বলব)।
ফ্রান্সেসকো

এটি অবশ্যই একটি বৈধ বিকল্প এবং আমি কিছুটা নিয়ে ভাবলাম। আমি মনে করি আমি লাইটরুম-নির্দিষ্ট পদ্ধতির পছন্দ করবো, যার মনে হয় আরও দীর্ঘায়ু হবে - আমি প্রত্যাশা করি যে লাইটরুম এপিআই কোনও ওএস-নির্ভর ম্যাক্রো সমাধানের তুলনায় সংস্করণ থেকে সংস্করণে কম পরিবর্তিত হবে।
ডেভিড

2

আমি কেবল লাইটরুমে ফাইলের নামের উপর ভিত্তি করে ব্যাচ প্রসেসিং কীভাবে করব তা দেখতে চেয়েছিলাম এবং কোনও কারণে এটি এপিআইয়ের মাধ্যমে এটি করা সবচেয়ে সহজ উপায় বলে মনে হয়েছিল। @ ওয়ারেনের পোস্টের ভিত্তিতে আমি কোনও ফর্মের একটি বোতামের জন্য এই অভ্যন্তরীণ লুপটি তৈরি করতে সক্ষম হয়েছি, যেখানে আমি লগিংয়ের জন্য একটি টেক্সটফিল্ডও রাখতে পারি ( logs_field), এবং কিছু ইনপুট মান (যেমন টেক্সটফিল্ড যেমন ফাইলের নাম filenames_fieldএবং কিছু অতিরিক্ত পরামিতি ব্যাচের জন্য অন্তর্ভুক্ত করা যায়) প্রক্রিয়াজাতকরণ rating_field):

f:push_button {
      title = "Update",
      action = function()
        import "LrTasks".startAsyncTask( function()
          logs_field.value = "Starting search\n"

          local catalog = import "LrApplication".activeCatalog()
          catalog:withWriteAccessDo("Batch set rating", function( context )
            for i,photo in ipairs(catalog:getAllPhotos()) do
              for fname in string.gmatch(filenames_field.value, "%w+") do
                if string.find(photo:getFormattedMetadata('fileName'), fname) then
                  logs_field.value = logs_field.value .. "Found filename: " .. fname .. "\n"
                  photo:setRawMetadata('label', rating_field.value)
                  photo:setRawMetadata('colorNameForLabel', rating_field.value)
                end
              end
            end
          end)
          logs_field.value = logs_field.value .. "Done...\n"
        end)
      end
 }

এই টুকরোটি কিছু ফাইলের নাম নিদর্শন মধ্য দিয়ে যেতে হবে, এবং সব ফটো করার জন্য একটি লেবেল প্রয়োগ (যদি আপনি প্রতিস্থাপন করতে চান পারে getAllPhotosসঙ্গে getMultipleSelectedOrAllPhotosযে নিদর্শন মেলে যদি আপনি শুধুমাত্র আপনার ছবি কয়েকটিতে এটি চালানোর জন্য প্রয়োজন)। আমি লাইটরুমের বাইরে ফটোগুলি ইতিমধ্যে ট্যাগ করেছি বলে ফাইলগুলি করতে পেরেছিলাম, তবে ফাইলগুলির নামের উপর ভিত্তি করে সেই ট্যাগগুলিকে এলআর-তে সরানোর সহজ পদ্ধতির দরকার ছিল।

আমি পুরো প্রকল্পটি গিথুবেও রেখেছি , তবে উপরের স্নিপেটটি ফাইলের নাম ভিত্তিক ব্যাচ প্রসেসিংয়ের কাজের জন্য বেস হিসাবে ব্যবহার করা ভাল।

আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.