Closed cat2151 closed 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などの指定がある」などでの判別が考えられるが、判別しきれず明示的に選ぶパターンが出てくる想定。なら自動判別させないほうが使いやすい。「判別しきれなかったパターン」をユーザが判別して明示的に選ぶ、というのは、使いづらいと予想される。
> 実現方法は 「radioのtriad/seventh/ninth をoff」モードにするプルダウンかradioを追加。
まずここから。デバッグ領域にプルダウンをつける。 「(例)1 2 5 → CM7 - Dm7 - G7 (bVIM7 - bVII7 を認識不可)」 「(例)1 2 5 → C - D -G (bVIM7 - bVII7 を認識可)」
実装したのでクローズ
* [イメージ] "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などの指定がある」などでの判別が考えられるが、判別しきれず明示的に選ぶパターンが出てくる想定。なら自動判別させないほうが使いやすい。「判別しきれなかったパターン」をユーザが判別して明示的に選ぶ、というのは、使いづらいと予想される。