サードパーティのデータベース管理アプリケーションがお客様に付加価値を提供できることを認識しています。

Engine DJ はこれらのサードパーティ製ツールを公式にはサポートしませんが、Engine DJの環境に互換性があり合理化されたツールを開発者が構築できるように、以下のリソースを作成しました。


Engine DJ では、予期せぬ動作からお客様を守ることに全力を尽くしています。

このリソースにより、当社の製品でサードパーティ製ツールを使用する際に、お客様にポジティブな体験をしていただけることを願っています。



サードパーティ製アプリケーション利用ガイドライン

Engine DJフォルダに変更を加えるサードパーティアプリケーションは、Engine DJと同時に開いてはいけません。

データベースの破損につながる可能性があります。



開発者ガイドライン

  1. Engine Library/Database2 にあるすべての .db ファイルは、スキーマを編集しないでください。
    これを行うと、Engine DJ がデータベースのロードを拒否します。
  2. Engine DJは将来、当社のスキーマに適合しないデータを削除する変更を実施する可能性があります。
  3. サードパーティアプリケーションが追加データを必要とする場合、これは別のデータベースに保存されるべきです。
    Engine Databaseファイルは、実行時にこのデータベースにアタッチされなければいけません。
    名前の競合を避けるため、この拡張データベースは `Database2` フォルダーのサブフォルダーに置きます。
  4. データをEngineデータとバインドするには、Engine Databaseの主キーをテーブルの外部キーとして使用する必要があります。
  5. テーブルで主キーとしてマークされたキーを使用しないでください。
    SQLite の観点からは主キーであっても、Engine DJのビジネスロジックの観点からは正真正銘/自然な主キーではありません。
  6. データをトラックにバインドする必要がある場合は、Track.{originId, origingDatabaseUuid}のペアを使用します。
    これは、Engine用の本物の永続化された結合主キーです。
  7. プレイリストに余分なデータをバインドする必要がある場合は、そのパスを永続化された主キーとして使用してください。
    プレイリストのパスは、空のタイトルを持つルートプレイリストから始まり、プレイリストのタイトルで終わる、すべての親のプレイリストタイトルの順序付けられたシーケンスです。
    この定義が不明確な場合は、PlaylistPath ビューを参照してください。



Engine Database でデータベースをアタッチする方法

SQLite は標準 SQL attach database queries をサポートしています。これらのクエリを使用して、Engine Databaseをエクステンション データベースにアタッチします。


ATTACH "~/Music/Engine Library/Database2/m.db?mode=ro" AS Engine

SELECT Engine.Track.*, YourExtensionTable.*

FROM Engine.Track INNER JOIN YourExtensionTable USING

(origingDatabaseUuid, originId)

SELECT Engine.Playlist.*, YourOtherExtensionTable.*

FROM Engine.PlaylistPath INNER JOIN Engine.Playlist USING(id)

INNER JOIN YourOtherExtensionTable USING(path)


ご質問はこちらまでご連絡ください。 [email protected].