ConsLyric
コンソールでいろいろするためのツール/DSL。ConsLyricっていう名前だけど多分そういう用途以外でも使えるはず。
Conslyric Engine
Pythonで記述された実行環境。古いスキーマを渡された場合はそのバージョン特有のバグ含む問題を可能な限りエミュレーションしようとします。
$ conslyric (プログラムのファイル)
デバッグログを有効にする場合:
$ conslyric (プログラムのファイル) -V
Conslyric Schema v1
Conslyric Schemaは、CLI(コマンドラインインターフェース)環境において、歌詞やテキストを楽曲のタイミングと演出ルールに基づいて再生するために設計されたドメイン固有言語(DSL)です。YAML形式で記述され、表示時間、待機時間、色、画面クリアなどの演出制御を宣言的に行います。
1. 基本構造
YAMLデータは、以下の主要なトップレベル要素で構成されます。
| 要素名 | 型 | 必須 | 説明 |
|---|---|---|---|
consLyric |
string | 必須 | スキーマバージョンを指定します(例: 4)。古いバージョンが指定された場合、そのバージョンの動作(バグを含む)をエミュレートしようとします。 |
metadata |
map | 必須 | 再生全体に関する設定情報とデフォルト値を定義します。 |
define |
map | 任意 | 再利用可能な関数(コマンド群)を定義します。 |
run |
array | 必須 | 歌詞の本体と、実行されるすべての演出コマンドを順番に記述します。 |
2. metadata
再生時の全体設定とデフォルト値を定義します。
| キー | 型 | 必須 | 説明 |
|---|---|---|---|
time |
string | 必須 | 楽曲の総再生時間の上限(リミット)を定義します(例: 4m1s)。run配列から計算された全体の表示時間がこの値を超過した場合、実行時に例外が発生します。 |
showDefault |
string | 必須 | 歌詞行が表示されるデフォルトの持続時間(例: 2s)。setRuleで上書きされない場合に適用されます。 |
sleepDefault |
string | 必須 | 歌詞行間のデフォルトの待機時間(例: 3s)。setRuleで上書きされない場合に適用されます。 |
3. define (関数定義)
再利用可能なコマンドのシーケンス(関数)を定義します。
| キー | 型 | 説明 |
|---|---|---|
[関数名] |
map | 任意の関数名をキーとします(例: fastLyric)。 |
type |
string | 必須。 関数であることを示すため、funcと指定します。 |
args |
array | 関数が受け取る引数を定義します。形式は [引数名]:[型](例: showTime:num)。 |
run |
array | 関数が呼び出されたときに実行されるコマンドのリストです。引数は ${引数名} の形式で参照できます。 |
4. run (再生シーケンス)
歌詞と制御コマンドを混在させた配列です。
4.1. 歌詞行
引用符なしで記述された文字列は、表示対象のテキストとして扱われます。その行の持続時間は、直前のsetShowRuleまたはshowDefault、次の行までの待機時間は直前のsetSleepRuleまたはsleepDefaultに基づきます。
4.2. 制御コマンド
以下のコマンド(ディレクティブ)を使用して、表示ルールや画面の状態を操作します。
| コマンド | パラメータ | 動作 | リセットのタイミング |
|---|---|---|---|
setShowRule:[時間] |
時間(例: 0.5s, 2s) |
現在の歌詞行の表示時間を上書き設定します。 | endSection |
setSleepRule:[時間] |
時間(例: 0s, 1s) |
現在の歌詞行の後の待機時間を上書き設定します。 | endSection |
cons:clear |
なし | コンソール画面をクリアします。 | 常に実行されます。 |
cons:setcolor:[色] |
色(例: red, orange) |
以降のテキストの色を設定します。 | cons:color:reset |
cons:color:reset |
なし | テキストの色をデフォルトに戻します。 | 常に実行されます。 |
endSection |
なし | setShowRuleおよびsetSleepRuleで設定された全てのルールを、metadataで定義されたデフォルト値にリセットします。画面クリアは行いません。 |
常に実行されます。 |
[関数名]:[引数] |
map | defineセクションで定義された関数を呼び出します(例: fastLyric: {showTime: 0.2, sleepTime: 0.1})。 |
常に実行されます。 |
Release files for conslyric 0.2.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| conslyric-0.2.0.tar.gz | 9.7 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| conslyric-0.2.0-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 24.1 kB
Release files / conslyric-0.2.0.tar.gz
| Download URL | conslyric-0.2.0.tar.gz |
|---|---|
| Size | 9.7 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
b5a7d79c2007b9e52f62fab982202760a3f74a8dbb4144353043c99c9b85661c
|
|
BLAKE2b-256 checksum How to use checksums |
bd1e6b69503c509bdc88d810fcc06ae5a84dcd007afa3c1551c84846c73118d9
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
uv/0.9.8
|
Release files / conslyric-0.2.0-py3-none-any.whl
| Download URL | conslyric-0.2.0-py3-none-any.whl |
|---|---|
| Size | 14.4 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
8568e7e3a5e5aa8c0609870f0964874769971b3b9d0a2fe59cdaebdf8b29c83a
|
|
BLAKE2b-256 checksum How to use checksums |
b7ae309e67491b568a8fff7593d5e2a788ab1944a962966e9ba5f18855021dcc
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
uv/0.9.8
|