リンクをクリップボードにコピー
コピー完了
AdobeのExtendScript(JavaScript)とCEPを使い,Premiere Pro 2018の以下のようなアドオンを作っています.
このとき,wavファイルを自作パネルにてドラッグ&ドロップでimportしようと考えているのですが,ExtendScriptにて絶対パスの取得は可能でしょうか?
ドロップしたペイロードはB64でエンコードされた状態で見えていたりするのでなんとも言いがたいのですが、OS側のフックとかで対応できるかもしれませんね。
Extensions / Add-ons Development こちらだと良い案が出るかもしれません。
リンクをクリップボードにコピー
コピー完了
純粋にV8エンジン側の操作でファイルパスを取得することになります。以下のリンクを参照下さい。
https://github.com/KupinFB/Adobe-HTML-Extension-Drag-and-Drop/blob/master/index.html
リンクをクリップボードにコピー
コピー完了
勘違いしてましたね、OSからのd&dはファイルの中身がそのままエンコードされた状態で来ますからパスは取れないかな。
d&dイベント回りを精査して見ないとなんとも言えませんが、ドロップした段階でファイルのインポートは行われるので動画系の大きなファイルはそれだけ処理に時間がかかるような気がします。
リンクをクリップボードにコピー
コピー完了
やはり難しいですね・・・
プロジェクトのパネルにd&dで直接インポートした時のイベントに割り込むような物が一番確実ですかね?
リンクをクリップボードにコピー
コピー完了
お早い返信ありがとう御座います.
言い忘れていました・・・
リンクをクリップボードにコピー
コピー完了
ドロップしたペイロードはB64でエンコードされた状態で見えていたりするのでなんとも言いがたいのですが、OS側のフックとかで対応できるかもしれませんね。
Extensions / Add-ons Development こちらだと良い案が出るかもしれません。
リンクをクリップボードにコピー
コピー完了
ありがとう御座います.
そちらかこちら(Premiere Pro SDK )のForumにも後日質問してみたいと思います.
リンクをクリップボードにコピー
コピー完了
CEPだとExtensionsですね。SDKフォーラムはネイティブ系を扱うところですから。CEP関連の専門家はこちらに集まっています。
リンクをクリップボードにコピー
コピー完了
そうなんですね.
何から何までありがとう御座います.
リンクをクリップボードにコピー
コピー完了
ちょいと思い出したので追記しておきます。
CEPと言えど中身はChrome Embeded FrameworkですからChrome上で動いているといえます。そして、ファイル操作関連ではセキュリティに関連する問題からファイルパス自体を扱う仕組みが実装されていません。
では、CEPではどうしているかというとcep以下にネイティブファンクションを追加し操作を行うようにしています。たとえば
window.cep.fs.readFile("/testFiles/test.png");
という具合のファイル操作関連関数群が設定されています。
しかしながらドロップされたオブジェクト自体は前にも言及したようにエンコードされた形でファイルの実体が保持されています。ドロップイベントからこの実体を抽出してデコードしファイル保存する事でファイルとして扱えますが、WAVファイルのような容量の大きいものをこういった処理に通すのは現実的ではないようにも思います。
リンクをクリップボードにコピー
コピー完了
アドバイスありがとう御座います.
もしかしたら最終手段としてご指摘のように,ファイルを保存しそれを読み出す形になるかもしれません.