Shotgun Desktop

Shotgun Desktop

Shotgun Desktop アプリケーション内で実行されるエンジン
最新バージョン: v2.4.12 (製品)
バージョン番号は、セマンティック バージョニング基準に従っています。
システム名: tk-desktop

注: このドキュメントは、Toolkit の設定を管理するユーザのみが使用可能な機能について説明します。詳細については、『Shotgun 統合ユーザ ガイド』を参照してください。

デスクトップ エンジンは Shotgun Desktop アプリケーション内で実行されるエンジンです。UI 機能を扱い、Toolkit アプリケーションと Shotgun Desktop アプリケーションの橋渡しを行います。

概要ビデオ

次のビデオでは、特長と機能の概要について説明します。

ドキュメント

tk-desktop エンジンは Toolkit アプリケーションを簡単に実行できるアプリケーションです。これはシステム トレイ ベースのウィンドウで、Toolkit の開始、Toolkit のプロジェクトのセットアップ、プロジェクトのパイプラインへのアクセスを簡単に行うことができます。

最初のプロジェクトを既にセットアップしており、次にニーズに合わせて設定する場合は、「次のステップ」のマニュアルを参照してください。

サイト設定とプロジェクト設定

デスクトップ アプリケーションを起動すると、サイト設定用に tk-desktop エンジンが起動されます。この動作を無効にして、その環境の内容を制御することもできますが、通常はこの設定が自動的に管理されます。

Toolkit の基本原則の 1 つは、プロジェクト同士を完全に分離できることです。これは通常、あるプロジェクトに対して行った変更が(配信間近の)他のプロジェクトに悪影響を与えないようにするために行います。このようにプロジェクトを分離するため、特定のプロジェクトのコマンドを実行する場合、デスクトップ エンジンはこのプロジェクト用に初期化された個別の Python インタプリタでコマンドを実行するようにします。

プロジェクトをクリックすると、Python インタプリタはバックグラウンドで起動されます。この Python インタプリタは、プロジェクトが使用できるように設定されているため、起動時にこのプロジェクトの tk-desktop を初期化します。エンジンのこのインスタンスは起動するコマンドを GUI に通知します。

コマンドをクリックすると、このバックグラウンド Python プロセスがコマンドの起動を管理します。これにより、あるプロジェクトで Python 2.6 を実行し、別のプロジェクトで Python 2.7 をテストすることなどが可能です。

カスタム パネルを登録する

パネル ベースの UI がある Toolkit アプリは、実行時に Desktop の内側のタブに自動的にドッキングされます。

Shotgun Panel などのパネル ベースのアプリを Shotgun Desktop でタブとして表示したい場合は、起動時に実行されるように設定します。Desktop がサイト コンテキスト モード(すべてのプロジェクトが表示される)で起動すると、自動起動するよう登録されたすべての項目が起動します。これらの項目にパネルが含まれる場合、ドッキングされます。項目は、設定で定義された順序で処理され、これによりタブの順序が決まります。

たとえば Shotgun Panel を Shotgun Desktop にタブとして表示する場合は、サイト レベルの環境用に次の設定を追加します。

tk-desktop:
  apps:
    tk-multi-shotgunpanel:
      actions_hook: ...
      action_mappings: ...
      location: ...
  location: ...
  run_at_startup:
  - {app_instance: '', name: Apps}
  - {app_instance: tk-multi-shotgunpanel, name: ''}

Apps エントリは特別であり、既定の Apps タブが表示される場所(タブの順序)をコントロールすることに注意してください。

インストールと更新

Shotgun Pipeline Toolkit にこのエンジンを追加する

Project XYZ にこのエンジンを追加するには、asset という名前の環境で次のコマンドを実行します。

> tank Project XYZ install_engine asset tk-desktop

最新バージョンに更新する

この項目が既にプロジェクトにインストールされている場合に最新バージョンを取得するには、update コマンドを実行します。特定のプロジェクトに含まれている tank コマンドに移動し、そこでこのコマンドを実行します。

> cd /my_tank_configs/project_xyz
> ./tank updates

または、tank コマンドを実行し、プロジェクトの名前を指定して、更新チェックを実行するプロジェクトを指定します。

> tank Project XYZ updates

コラボレーションと発展

Shotgun Pipeline Toolkit にアクセスできる場合は、すべてのアプリ、エンジン、およびフレームワークのソース コードにも Github からアクセスできます。これらは Github を使用して格納および管理しています。これらの項目は自由に発展させてください。さらなる独立した開発用の基盤として使用したり、変更を加えたり(その際はプル リクエストを送信してください)、 いろいろと研究してビルドの方法やツールキットの動作を確認してください。このコード リポジトリには、https://github.com/shotgunsoftware/tk-desktop からアクセスできます。

特殊な要件

  • 上記の操作を行うには、Shotgun Pipeline Toolkit Core API バージョン v0.18.143 以降が必要です。

環境設定

以下に、使用するすべての環境設定の概要を示します。これらの設定は、このアプリまたはエンジンを有効にするための環境設定ファイルで定義する必要があります。

software_entity_config_link

タイプ: str

既定値: https://support.shotgunsoftware.com/entries/95443887#Setting%20up%20Application%20Paths

説明: サイトのソフトウェア エンティティを設定する方法を説明した Shotgun サポート記事へのリンクです。

run_at_startup

タイプ: list

既定値: [{u'app_instance': u'', u'name': u'Apps'}]

説明: 起動時に実行するアプリを制御します。これはリストで、各要素は「app_instance」と「name」という 2 つのキーを持つディクショナリになります。app_instance 値は、環境設定ファイルで定義された特定のアプリ インスタンスにこのエントリを接続します。name はデスクトップの起動時に実行するコマンドのメニュー名です。name が「''」の場合は、特定のアプリ インスタンスのすべてのコマンドが開始されます。アプリ ランチャーを含む Apps タブを追加するには、{app_instance: '', name: 'Apps'} というスタートアップ コマンドをリストに追加します。

show_recents

タイプ: bool

既定値: True

説明: 直前にクリックしたコマンドを表示するかどうかを制御します。

debug_logging

タイプ: bool

説明: デバッグ メッセージをロガーに送信するかどうかを制御します。

collapse_rules

タイプ: list

既定値: [{u'menu_label': u'None', u'match': u'Launch $app', u'button_label': u'$app'}]

説明: GUI で 1 つのボタンに複数のコマンドを集約する方法を定義するディクショナリのリストです。各ディクショナリには、登録コマンドの表示名に一致する文字列を示す match、作成するボタンのテキスト ラベルの内容を示す button_label、ボタン メニュー項目のテキスト ラベルの内容を示す menu_label の各キーを設定する必要があります。コマンドをエンジンに追加すると、その表示名が各一致項目と比較されます。一致文字列には「$」形式の変数を含めることもできます。これは、コマンドの表示名に含まれる任意の 1 文字に一致します。この変数「$」は button_label と menu_label で使用可能です。たとえば、「Launch $APP $VERSION」は、「Launch」とそれに続く 2 つの単語で構成された表示名と一致します。表示名が「Launch Maya 2014」の場合はこれと一致します。値「$APP」が「Maya」、「$VERSION」が「2014」と一致します。menu_label が特殊文字列「None」の場合、ボタン名は button_label の値ごとに変換されますが、コマンドに追加されるメニュー項目はありません。複数のコマンドをこの方法でボタンに集約すると、最初のコマンドのみが登録されます。表示名に一致する集約ルールがない場合は、メニューのないボタンとして表示されます。最初の一致ルールにより、ボタンとメニュー ラベルが決定されます。

default_group

タイプ: str

既定値: Studio

説明: グループ設定のいずれの値とも一致しないコマンドの、既定のコマンド グループの名前を管理します。

hook_launch_python

タイプ: hook

既定値: launch_python

説明: このフックは特定のプロジェクトの Python インタプリタの起動を管理します。フックの最初の引数は「project_python」で、起動する Python インタプリタのパスを示します。フックの次の引数は Python pickle のフルパスである「pickle_data_path」で、プロジェクトの tk-desktop エンジンの初期化に必要な情報とデスクトップ GUI への応答が含まれます。3 番目の引数はユーティリティの Python モジュールのパスです。このモジュールは新しいインタプリタにロードし、エンジンの開始に使用する必要があります。

sg_software_entity

タイプ: str

既定値: CustomNonProjectEntity23

説明: ネイティブになるまでのソフトウェア エンティティとして指定された Shotgun CustomNonProjectEntity です。

groups

タイプ: list

説明: どのグループにどんなコマンドを設定するかを定義するディクショナリのリストです。各ディクショナリ項目には、グループの名前を示す name と、グループに追加するコマンドの文字列のリストを示す matches というキーを設定する必要があります。コマンドをエンジンに追加すると、グループの matches リストの各一致項目は、コマンドの表示名に対する、大文字と小文字を区別しない glob 形式の一致として処理されます。一致があった場合は、そのコマンドがグループに追加されます。たとえば、「Maya」は、大文字と小文字に関係なく、表示名に文字列「maya」を含むコマンドに一致します。複数のグループに一致がある場合、コマンドを複数のグループで表示することができます。

フォローする

0 コメント

ログインしてコメントを残してください。