macのサービスを使ってVLCを複数ウィンドウで開く

投稿者: | 2019-10-08

macOSでサービスを利用して、VLCを複数ウィンドウで開けるようにする。

前書き

以下の方法ではうまくいかない。スクリプトを適切に書き換えれば動くかもしれないが、ドキュメント見づらいので放置。

スクリプトの勉強は、鳶嶋工房 / アップルスクリプティング(Apple Scripting)が非常に参考になる。日本語嬉しい。

断念までの記録

VLC HowTo/Play multiple instances - VideoLAN Wikiによると、VLCの設定からは、複数ウィンドウ(マルチウィンドウ)の設定はできないようだ。

しかし、上記のwikiページにAppleScriptで別のインスタンスとして起動できる、つまり、別のウィンドウとして開けるスクリプトが載っている。

on run
    do shell script "open -n /Applications/VLC.app"
    tell application "VLC" to activate
end run

on open theFiles
    repeat with theFile in theFiles
        do shell script "open -na /Applications/VLC.app " & quote & (POSIX path of theFile) & quote
    end repeat
    tell application "VLC" to activate
end open

AppleScriptはよく分からないが、見た感じ複数ファイルの場合は、それぞれで別インスタンスとして起動するようなので、大量のファイルを間違って開かないように注意しよう。

wikiページでは、これをアプリとして保存して、ファイルを作成したアプリにドラッグ&ドロップすることで、複数ウィンドウを実現しているようだ。

しかし、個人的には、Finderのコンテキストメニューから別ウィンドウで開きたい。これをサービスを利用して実現する。

作り方(作りかけ)

まずはautomatorを起動。画像のようにSpotlight検索を使うと、探す手間が省ける。

spotlightでautomatorを探す

新規書類または新規を選択。ダイアログが表示されるが、メニューから新規を選択すれば消えるので問題ない。

新規を選択

作成するファイルの種類を聞かれるので、サービスを選択し、右下の選択をクリック。(ドラッグ&ドロップにしたいなら、アプリケーション)

サービスを選択

ここでは、サービスを選択した前提で進める。

選択をクリックすると、ダイアログが閉じてautomatorのメインウィンドウが表示される。

まずは、アクションAppleScriptを実行を一番右の欄にドラッグ&ドロップする。下画像参考

applescriptを実行をドラッグ&ドロップする

そして、上のスクリプトの内容を下の画像の所にコピー&ペーストする。すでに書いてあるテンプレートは削除しておく。

さらに、上の方にある、"サービス"は次の選択項目を受け取るの選択項目をファイルまたはフォルダにする。

スクリプトを貼り、受け取る項目をセットアップ

ここまで行ったら、あとはメニューバーのファイル->保存…をクリックして保存するだけでいい。わかりやすい名前にする。これだけで、Finderの右クリックメニューに登録されるはず。 されない時は、スクリプトを検知するのをしばらく待つか、再起動すればいい。

と思ったのだが、

だめだった

serviceとして実行すると、上のスクリプトの、openハンドラが動作せず、runハンドラだけ動いてしまうようだ。serviceの場合どうすればいいのか不明。

なので、これは一旦断念する…

せっかくなので、ドラッグ&ドロップして別ウィンドウを開く場合を今度書いておこう。

ドロップレットなら適切にopenハンドラが動くはず。