Resource

Resource Basics

Resource Name Rejected to OnOne UserFlag
Resource Version 1.0
Category Metadata
Downloads 488
Release Date 7/15/2024 1:05:55 PM
 

Resource Details

Description This script will write the Rejected rating for a selection of thumbs to the XMP as oneone:UserFlag=2
Installation Instructions na
Usage Instructions 1. Select the thumbnails that need to get the UserFlag updated
2. Right click on the thumbnail
3. Select Run Script from Repository -> Metadata -> Rejected to OnOne UserFlag
Changes in this version na
Special Requirements
 

Author Information

Author Name IDimager
 

Script

  procedure HandleImage(AImage: TImageItem);
  var
    AXmp: TXMP;
    AOnOne, AUserFlag: TMacroParam;
  begin
    AXmp := TXMP.Create(False);

    PublicCatalog.LoadXMPForImage(AImage, AXmp, PublicOptions.CachedXMP);

    AOnOne := AXmp.XMPDesign.Params.FindId('onone', False);
    if AOnOne = nil then
      AOnOne := AXmp.XMPDesign.Params.AddParam('OnOne Schema', 'onone', 'http://www.ononesoftware.com/vcb/1.0/', ptGroup, 'onone', dtString, etDefault);

    AUserFlag := AOnOne.SubParams.FindCommand('onone:UserFlag', False);
    if AUserFlag = nil then
      AUserFlag := AOnOne.SubParams.AddParam('User Flag', 'onone:UserFlag', 0, ptVariable, 'onone', dtInteger, etDefault);

    if AImage._Rating = -1 then
      AUserFlag.Content := 2
    else if AUserFlag.Content = 2 then
      AUserFlag.Free;

    if AOnOne.SubParams.Count = 0 then
      AOnOne.Free;

    PublicCatalog.SaveXMPForImage(AImage, AXmp, PublicOptions.CachedXMP);

    AXmp.Free;
  end;

var
  i: Integer;
begin
  if Selected.Count = 0 then
  begin
    Say('Select at least on thumbnail');
    exit;
  end;

  for i := 0 to Selected.Count - 1 do
    HandleImage(Selected.Items[i]);
end;