ableton_todo
Ableton Live の TODO ツール
ableton_todo(拡張機能名は Track Notes)は、Ableton Live のトラックを右クリックして、そのトラック専用のメモと TODO を書き留められる拡張機能です。トラックごとに、メモとやることを手元で管理できます。
概要
トラックのタイトルバーを右クリックして「Track Notes…」を選ぶと、メモ・TODO・履歴をタブで切り替えられるパネルが開きます。TODO は追加・完了・編集・削除ができ、各項目に作成・更新の日時が付きます。
保存のたびにメモと TODO の全体を履歴として記録し、「この状態を復元」で過去の内容に戻せます。グループトラックでは、子トラックのメモと TODO を読み取り専用で一覧できます。データは Live のプロジェクトごとに別々のデータベースへ保存されるため、曲ごとにメモが分かれます。
対象は、Extension 対応ビルドの Ableton Live です。SDK は beta(ベータ版)で、トラックの識別にトラック名を使うため、Live 上で直接トラック名を変えるとメモは引き継がれません。保存はパネルの「保存」ボタンか Cmd/Ctrl+S で確定する方式で、自動保存ではありません。
アーキテクチャ
- 構成
- TypeScript 製の Ableton Live 拡張機能です。拡張本体(Node.js)がトラックの右クリックメニューを登録し、メモの画面は WebView 上の単一 HTML で表示します。esbuild でバンドルし、.ablx アーカイブとして配布用にパッケージ化できます。
- 仕組み
- パネルを開くときに保存済みの状態を画面へ渡し、閉じるときに編集後の内容を JSON で受け取って保存します。保存はひとつのトランザクションにまとめ、失敗したときは元に戻します。
- データ
- メモ・TODO・保存履歴を、SQLite に持ちます。プロジェクトごとに別のデータベースで、日時は拡張側で付けます。ネイティブアドオンのビルドは不要です。
- 制約
- トラックの識別はトラック名です。同名のトラックが2つあると、メモと TODO を共有します。SDK に現在の Live Set を取得する API がないため、プロジェクトの識別には小さなマーカーファイルをプロジェクトへ取り込む方法を使います。
- 対応環境
- Ableton Live(Extension 対応ビルド)と、最近の Node.js が必要です。
- 種別
- Ableton Live の TODO ツール
- 区分
- LAB(個人制作・実験)
- 状態
- 開発中
- 担当
- 企画・設計・開発
- 技術
- TypeScript
- Node.js
- Ableton Extensions SDK
- SQLite
- esbuild
- WebView(HTML)