View on GitHub

cat-edit-mml

cat-edit-mml

cat-edit-mml

Rustで構築されたMusic Macro Language (MML)用のTUI(テキストユーザーインターフェース)エディタです。

機能

使用技術

インストール

前提条件

ソースからのビルド

git clone https://github.com/cat2151/cat-edit-mml.git
cd cat-edit-mml
cargo build --release

バイナリはtarget/release/cat-edit-mmlに生成されます

使用方法

エディタを実行:

cargo run

またはコンパイル済みバイナリを実行:

./target/release/cat-edit-mml

キーボード操作

MML再生機能

エディタは入力されたMMLコンテンツを自動的に再生します:

再生モード

Ctrl+P キーで2つの再生モードを切り替えることができます:

  1. 現在の音のみモード(デフォルト)
    • 新しく入力した音符のみを再生します
    • 音符を1つずつ確認しながら入力する場合に便利です
    • 例:「c」「d」「e」と入力すると、各音が個別に再生されます
  2. MML全体モード
    • テキスト変更時にMMLコンテンツ全体を再生します
    • 和音やフレーズ全体を確認する場合に便利です
    • 例:「c;e;g」と入力すると、ドミソの和音として再生されます

現在の再生モードはタイトルバーに表示されます。

MMLテンプレート機能

エディタには複数のMMLテンプレートが組み込まれており、F2キーで順番に切り替えることができます:

中身は仮です。現在のMMLの仕様と噛み合っていない仮です。今後修正します

  1. 基本スケール: cdefgab
  2. Cメジャースケール(オクターブ付き): c4d4e4f4g4a4b4>c4
  3. 基本メロディパターン: c4e4g4e4 c4e4g4e4 f4a4>c4<a4 g4b4>d4<b4
  4. ドレミの歌: c4d4e4c4 c4d4e4c4 e4f4g2 e4f4g2
  5. コード進行: ceg4 fac4 gbd4 ceg4
  6. テンポ指定付きメロディ: t120 c8d8e8f8g8a8b8>c8 <b8a8g8f8e8d8c2
  7. マルチトラック: A o4 cdefgab>c\nB o3 c2e2g2c2
  8. 空のテンプレート: (空の状態)

F2キーを押すごとに次のテンプレートに切り替わり、最後のテンプレートの後は最初に戻ります。

関連プロジェクト

開発

テストの実行

cargo test

今後の展望

このprojectが目指すもの

スコープ外

ライセンス

MIT License - 詳細はLICENSEファイルを参照してください