こんにちは、Takymです。
きっかけ
Audacity をインストールしたら拡張子が「.aup」なファイルが自動的に Audacity に関連付けられてしまいました。
普段、AviUtl も利用するのですが、こちらのプロジェクトファイルの拡張子も「.aup」で
ファイル毎に手動で区別しなければいけなくなってしまいました。
面倒臭いので自動化しようと思い、両者の中身をバイナリエディタで覗いてみました。
プロジェクトファイルの構造
AviUtl のプロジェクトファイルはバイナリファイルで Audacity はXMLファイルでした。
プログラムでの判定がとっても楽なんです。
AviUtl の場合、ファイルの先頭32バイトが
「41 76 69 55 74 6C 20 50 72 6F 6A 65 63 74 46 69 6C 65 20 76 65 72 73 69 6F 6E 20 30 2E 31 38 00」
(ASCIIで「AviUtl ProjectFile version 1.18」)
となっていました。AupLauncher では先頭32バイトがこれと一致するかどうかで判定しています。
また、Audcaity のプロジェクトファイルの判定は先頭の空白を読み飛ばして「<?xml
version="1.0"」(ソースコードを読み直したらversion属性は見ていませんでした)と
一致するかどうかで判定していますが、本来はルート要素の名前で判定するべきでしょう。
AviUtl、Audacity以外に拡張子「.aup」を使うアプリケーションは現時点では僕は知らないのでこれで満足です。
もし他のアプリでも拡張子「.aup」を利用し、対応して欲しい場合は後述するGitHubリポジトリのIssuesで是非報告してください。
スクリーンショット

こちらは設定画面です。
AviUtl の既定の場所はCドライブ直下となっています。
Audacity は64ビット版Windowsでインストールした場合のディレクトリになっています。
また、カスタムプログラムは既定ではメモ帳に設定しておきました。
ダウンロード
- 最新版はこちらからダウンロードできます。
- GitHubリポジトリはこちらです。
- 詳しい説明はこちらにあります。
- 利用規約はこちらをご参照ください。
このソフトウェアはMITライセンスの下で配布されています。詳しくは同梱されているLICENSE.txtをご確認ください。