こんにちは!GAMの相葉です。表題のとおりです。
まず、設定するロジカルプリセットは3つ。用意したらマクロを組みます。
上記がプリセット内容です。そしてマクロの内容は以下になります。
~解説~
まず、トップノートの選択は案外難しいです。
それは、音楽は下から数えての管理のほうが楽だからです。
なので下のMIDIの選択は比較的楽です。
では下にメロディを持ってきて選択した後、上に持ってくればいいじゃないか、
というのがこのロジカルとマクロになります。
マクロの内容を解説します。
まずMIDIを上下に反転します。そのためのロジカルプリセットが
プロパティ、設定、選択イベント
値1、反転、E3(64)となります。
内容は、E3を中心に選択したMIDIの上下を反転します。
※上の段のフィルター対象がプロパティのままだと、下の段の実行対象値1に
反転という項目が出てきません。なので一度フィルター対象をタイプにした後、
下段の値1を反転にし、再度上の段をプロパティに直します。これはあからさまな公式のミスですね。
全体が上下反転された後なので当然トップノートが下にいきます。よってこれを、
コンテキスト変数の最小ナンバー0で選択します。
そしたら反転されたトップノートが選択状態になるので、それを上下反転し、正常な状態に戻します。
この時、トップノートのみ正常な状態で選択状態になってます。
なのでこの選択状態を利用し、トランスポートの機能でロケーター範囲を選択したMIDIに合わせます。
そしたら、最後のロジカルで、プロパティ、未設定、選択イベント(つまり選択されたイベント以外)
ポジション、ロケーター範囲内(サイクル内?かな)で指定してあげます。その範囲内のみ反転を
実行するという内容になります。
そしてトップノート以外の反転状態を直します。選択状態はトップノートのみとなります。
以下、挙動と注意点。
この動画の通り、選択された範囲のMIDI、トップノートが選択されます。
ただし、マクロの都合上、中途半端に選択された状態だと挙動がおかしくなります。
それは最後のロジカルが選択イベント外にも実行されてしまうからですね。
後、ヒューマナイズをしてたりして、MIDIの連結部が重なってたりすると、
一番下を取得するというコマンド内容になってますので選択が難しくなります。
なので結論から言うと、下書きにしか使えません。
~補足~
覚えておくと便利なコマンド。これらを実装する時の過程に使っていたコマンドです。
正式なコマンド名は忘れたのでこんなのがあるよ程度に。
・選択を反転する
・選択範囲を解除する
・リバース
・反転
最初は選択を反転してこねくりまわしていたのですが、これは範囲が全体に及ぶため、
ロジカルエディタで範囲を調整してあげたわけですね。
後は結局ロジカルを使うことにより選択を反転しなくてもすむようにできたのがでかいです。
リバースと反転、後もう一個、rebirth?だかがあるんですけど、基本的には同じ機能です。
左右の反転ですね。上下には影響しないです。なので今回はロジカルで反転する必要があったわけです。
そしてリバースと反転は若干挙動が異なります。やってみればわかります。
正直に言うと、このロジカルを公開したのはぶっちゃけそこまで使えないからです。
有用なロジカルについては個人で講座を行ってますのでぜひコンタクトよりお問い合わせください。
Discordでレッスンいたします。
以上。
追記。
もしランダマイズなどでMIDIが重なってても拾いたい人用。
ただしこれをするとメロディが拾いやすくなる代わりに振るいにかけにくくなります。
コンテキスト変数の内容は任意の数字となります。
およそ実用的ではないです。
コメント
[…] トップノートのみを選択するロジカルエディタを作りました。 […]