TOKYO SECRETS 0/7
LAB開発中

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)