Skip to content

v0.0.3 アプリ全体の疎結合化、ランチャー、実行ファイル起動命令、マクロを単体スクリプト化

Latest

Choose a tag to compare

@bluemistel bluemistel released this 27 Jun 09:44

内部構造も含めていくつかの改修を行いました。
アップデートはzipファイルを解凍して既存ファイルを上書き保存してください。

今回は今後のアプリの方向性も含めた更新ですのでちょっと長めな文章になります。

追加

image
  • 関連ソフトのランチャー機能(合成音声ソフトや動画編集ソフトを本アプリから起動)
    • マクロ命令 「対象アプリの起動」 を追加。対象アプリ管理に登録した実行ファイル、または命令で指定した exe を起動(起動失敗時はエラー表示、起動中ならスキップ可)。空欄時はスクリプトの対象アプリ、または送信先で選んだ対象アプリの実行ファイルを起動。
    • 対象アプリ管理に「実行ファイル(exe)」を登録。各合成音声ソフトの標準インストール先を既定値として同梱(VOICEVOX はユーザー領域インストールのため空欄)。
    • 連携設定で環境ごとに動画編集ソフト(YMM4 / AviUtl / AviUtl2)の実行ファイルを登録
    • メイン画面ヘッダーに 電源ボタン を追加し、現在の連携環境の動画編集ソフトを起動。
    • 組込マクロ 「合成音声ソフトの起動」 を同梱(組み込み)。

V-Adapterから動画編集ソフトや合成音声ソフトを起動できる、ランチャー用のマクロを追加しました。動画編集ソフトは事前に実行ファイルを登録すればヘッダーの電源ボタンから起動できます。
image
image

合成音声ソフトの起動マクロは「送信先」に設定されているものが起動します。
ただしVOICEVOXはインストール先がユーザーフォルダになるため事前の登録が必要です。

  • 投げ込みの疎結合化(内部アーキテクチャ。編集ソフトへの依存を本体から分離)
    • 編集ソフト非依存の中立契約 DropPayload と差し替え可能な投げ込みアダプタ IImportAdapter を導入。
    • AviUtl / AviUtl2 は組込 gcmz アダプタとして従来どおり動作(挙動不変)。
    • 「外部アダプタ(コマンド)」モード を追加。payload.json を外部コマンドへ渡す参照実装で、有志が Premiere / DaVinci 等のアダプタをアウトオブツリーで作成・配布可能。

v0.0.2までのGCMZDrops, GCMZDrops2との連携部分を切り離し、編集ソフトとの依存部分を切り離しました。動作自体は変わりません。

設計上の狙い:

  • 疎結合 — 本体は「検知 → 正規化 → 受け渡し」のみを担い、編集ソフト固有の操作を持たない。
  • 拡張容易 — 新しい編集ソフト(Premiere / DaVinci 等)対応は、本体を変更せず
    アウトオブツリーの外部アダプタとして有志が作成・配布できる。
  • 意図ベース — ペイロードは fps 依存の具体値(フレーム数など)を持たず「意図」を表現する。
    具体的な数値はアダプタ側が算出する。

この依存部分はいわゆるプラグイン的な作りで有志の方が実装することができます。
専用ドキュメントはDropPayload 仕様 (v1)をご参照ください。

私個人としては ゆっくりムービーメーカー4 のみを使用した編集環境が中心のため、その他の動画編集ソフトに対応するニーズにはお応えできませんが、プログラミング知識があればPremiere / DaVinci 等に対応することができると思います。

マクロ部分(合成音声ソフトとの連携部分)はどの編集ソフトでも変わらないため、これにより実装コストやメンテナンスコストもなるべく抑えられると思います。

良かったら使ってあげてください!