# [メタ情報] # 識別子: 右クリックでFinalCutProを開く_exe # 補足: env終了 # [/メタ情報] 要約: このテキストは、AutomatorワークフローとPythonスクリプトを利用し、Finderで選択したムービーファイルをFinal Cut Pro (FCP) に迅速にインポートする仕組みを解説しています。 ワークフローは、選択されたムービーファイルを引数として、`/usr/local/bin/python3`でPythonシェルスクリプトを実行します。このスクリプトは、渡されたファイルごとに以下の処理を行います。 1. ムービーファイルの絶対パスを`file://`形式のURLに変換します。 2. FCPXML 1.10の厳密な仕様に合わせたXMLコンテンツを動的に生成します。このXMLは、ムービーファイルをアセットとして登録し、「Quick Import」イベント内にアセットクリップとして配置するよう記述されています。`media-rep`タグも適切に追加されます。 3. 生成されたXMLを`/tmp/fcp_quick_import.fcpxml`という一時ファイルに書き出します。 4. `open -a "Final Cut Pro" [一時XMLファイルパス]`コマンドを実行し、FCPを起動(または前面に表示)させ、このFCPXMLファイルを読み込ませます。 これにより、Finderから直接複数のムービーファイルをFCPの指定イベントに手軽にインポートすることが可能になります。 Automator FinalCutProで開く.workflow ムービーファイル Finder.app シェルスクリプトを実行 /usr/local/bin/python3 引数として ``` #!/usr/bin/env python3 # -*- coding: utf-8 -*- """ Finderで選択したムービーファイルをFinal Cut Pro (FCP) へ即座にインポートするスクリプト (FCPXML 1.10 構造動的生成) """ import sys import urllib.parse import os import subprocess import tempfile for file_path in sys.argv[1:]: if not os.path.exists(file_path): continue # 絶対パスを取得し、URLスキーマ用にエンコード(スラッシュは維持) abs_path = os.path.abspath(file_path) file_url = "file://" + urllib.parse.quote(abs_path, safe='/') file_name = os.path.basename(file_path) # FCPXML 1.10の厳密な仕様に合わせた記述(media-repタグを追加) xml_content = f""" """ # 一時ファイルとして書き出し xml_path = os.path.join(tempfile.gettempdir(), "fcp_quick_import.fcpxml") with open(xml_path, "w", encoding="utf-8") as f: f.write(xml_content) # FCPを起動して生成したXMLを渡す subprocess.run(["open", "-a", "Final Cut Pro", xml_path]) ```