事件

OffShoot Started

启动 Offshoot 时触发一次。

Example
31/05/2024, 11:52:20 - OffShoot Started: {

}

Disk Added

当新磁盘添加到 Mac 时触发。在 OffShoot 中显示为磁盘的所有内容(包括虚拟驱动器、网络挂载和磁盘映像)都会触发此事件。

Example
15/01/2019, 15:01 - Disk added: {
  "DiskAdded_allowed" = yes;
  "DiskAdded_availableDiskSpace" = 26258243584;
  "DiskAdded_deviceName" = disk11s1;
  "DiskAdded_diskSize" = 32013713408;
  "DiskAdded_hidden" = no;
  "DiskAdded_modelName" = "Multi-Reader -0";
  "DiskAdded_mountedAt" = 20190115150144;
  "DiskAdded_protocolName" = USB;
  "DiskAdded_rootFilePath" = "/Volumes/T2 2";
  "DiskAdded_title" = T2;
  "DiskAdded_volumeKind" = exfat;
}

Disk Removed

当磁盘从您的计算机断开连接时触发。

Example
15/01/2019, 11:40 - Disk removed: {
    "DiskRemoved_rootFilePath" = "/Volumes/T1";
    "DiskRemoved_title" = T1;
    "DiskRemoved_unmountedAt" = 20190115114002;
}

Disk Busy

当磁盘忙碌时触发(例如,当磁盘开始传输数据时)。

Example
15/01/2019, 15:03 - Disk busy: {
    "DiskBusy_rootFilePath" = "/Volumes/T2 1";
    "DiskBusy_title" = T2;
}

Disk Idle

当磁盘变为空闲时触发。当没有传输到该磁盘或从该磁盘的传输正在运行或排队时,磁盘被视为空闲。

Example
15/01/2019, 11:46 - Disk idle: {
    "DiskIdle_diskType" = Destination;
    "DiskIdle_hasFailedTransfers" = NO;
    "DiskIdle_rootFilePath" = "/Volumes/T1";
    "DiskIdle_title" = T1;
}

All Disks idle

当所有磁盘空闲时触发。例如,当所有文件传输完成时。

Example
28/09/2020, 14:08 - All Disks idle: {
}

Transfers added

添加传输时触发。

Example
09/10/2024, 12:22:57 - Transfers added: {
  "transferType" = "Transfer";
  "addedAt" = 20241009122257;
  "transferGroups" = "(
        {
        id = "8B2B36ED-7CAB-4E0A-81C9-E5390C92AA3A";
        sourceLabel = A001;
        sourcePaths = ("/Volumes/UNTITLED");
        transfers = ({
            destinationPath = "/Volumes/T1/A001";
            id = "EC3BC81E-9F22-4F8A-8151-D0B0AAAE6FBE";
            sourceLabel = A001;
            sourcePaths = ("/Volumes/UNTITLED");
            },
            {
                destinationPath = "/Volumes/T2/A001";
                id = "26522986-5D00-491D-B5CA-526440DDB2FD";
                sourceLabel = A001;
                sourcePaths = ("/Volumes/UNTITLED");
            }
        );
    }
)";

File Copy Completed

当单个传输完成时触发。

此事件针对所有传输结束状态(Success(成功)Failed(失败)Warnings(警告)Canceled(取消)Stopped(停止))触发。确保检查脚本中的 FileCopyCompleted_state 变量。

Example
set FileCopyCompleted_state to "{FileCopyCompleted_state}"
if FileCopyCompleted_state is not "Success" then return false

将源文件复制到两个目标位置,将会触发两个独立的 File Copy Completed 事件,以及三个 Disk Idle 事件。

Example
02/01/2022, 11:42 - File copy completed: {
    "FileCopyCompleted_bytesCopied" = 823549835;
    "FileCopyCompleted_destinationPath" = "/Users/Hedge/Project X/CAM A/001";
    "FileCopyCompleted_duration" = "6.256199";
    "FileCopyCompleted_mode" = "Backup";
    "FileCopyCompleted_presetName" = "Project X";
     "FileCopyCompleted_sourceInfo" =     {
        "Source Name" = "Untitled";
        "Location = "London"
        "Counter" = "003"
    };
    "FileCopyCompleted_sourcePaths" = "/Volumes/UNTITLED";
    "FileCopyCompleted_startedAt" = 20190102114226;
    "FileCopyCompleted_state" = Success;
}

所有设置的值都以字符串形式返回。在FileCopyCompleted_sourceInfo的情况下,返回一个JSON对象的字符串。要在AppleScript中使用它,您可以使用以下代码:

set FileCopyCompleted_sourceInfo to "{FileCopyCompleted_sourceInfo}"
set FileCopyCompleted_sourceInfoRecord to run script (do shell script ("echo " & FileCopyCompleted_sourceInfo's quoted form & " | sed -E 's/\"([^\"]+)\"[[:space:]]*:[[:space:]]*/|\\1|:/g' | tr -d '\\n\\r'"))

display alert |Location| of FileCopyCompleted_sourceInfoRecord
display alert |Counter| of FileCopyCompleted_sourceInfoRecord
display alert |Source Name| of FileCopyCompleted_sourceInfoRecord

Verification issue

当 OffShoot 检测到源完整性问题时触发。发生这种情况的原因有两个:

  1. 检测到 Source(来源) 上的不一致读取(MHL校验和不匹配)。
  2. 检测到 Source(来源) 上的不一致读取。
Example
28/09/2020, 14:13 - Verification issue: {
    "VerificationIssue_description" = "Inconsistent read detected on Source (MHL checksum mismatch).";
    "VerificationIssue_filePath" = "/Volumes/UNTITLED/Clips/A001_C00005.mov";
}