cat2151 / MML-chord-generator

コード進行(テキスト)からMMLを生成して演奏 http://cat2151.github.io/MML-chord-generator/
MIT License
0 stars 0 forks source link

数字でコードを指定するとき、bVIやbVIIを指定可能にする #42

Closed cat2151 closed 8 years ago

cat2151 commented 8 years ago

* [イメージ] "IV → V → bVI → bVII → I" で、bVIとbVIIが無音にならないようにする * ただしこの実装段階ではbVIとbVIIを書いても、出力がメジャーコードにできないので、中途半端な結果になる。開発中なのでやむなしとしておく * 次に、サブドミナントマイナーと、サブドミナントマイナーの代理コードを記述できるようにする * [イメージ] "IVm → I" を鳴らせる * [イメージ] "IV → V → bVI → bVII → I" で、Key:Cで、後述のモード なら、bVIとbVIIはメジャーコードで鳴る

* 実現方法は 「radioのtriad/seventh/ninth をoff」モードにするプルダウンかradioを追加。

* そのモードにおいては、"IV"のあとに"m"を記述した場合に、それをそのままinputTextに渡す。実現の際にはソース確認しておく * そのモードは、イメージとしては、1234567を、単純にCDEFGABに(bがつけば半音下に)変換してinputTextに渡すだけのものとなる。 * 実現の仕組みを言い換えると、数字でコードを指定するモードにあった機能「1をCへ変換」「2ならmを付与」「mがついていたら無効」を疎結合にして、「2でもmを付与しない」「mがついていても認識する(inputTextのparseの仕組みを可能なら流用、あるいは実装優先で似た処理を作ってGUI動作確認したのちリファクタ)」ようにする、というもの。 * 自動判別は追々、できる範囲で or やらない。「bがある」「mやM7などの指定がある」などでの判別が考えられるが、判別しきれず明示的に選ぶパターンが出てくる想定。なら自動判別させないほうが使いやすい。「判別しきれなかったパターン」をユーザが判別して明示的に選ぶ、というのは、使いづらいと予想される。

cat2151 commented 8 years ago

> 実現方法は 「radioのtriad/seventh/ninth をoff」モードにするプルダウンかradioを追加。

まずここから。デバッグ領域にプルダウンをつける。 「(例)1 2 5 → CM7 - Dm7 - G7 (bVIM7 - bVII7 を認識不可)」 「(例)1 2 5 → C - D -G (bVIM7 - bVII7 を認識可)」

cat2151 commented 8 years ago

実装したのでクローズ