ポジティブ・アレルギー

物事を顧みず、ひたすら自身にとって都合の良い部分だけを見て突き進まなければならない、ポジティブ社会への拒絶反応

スポンサーサイト

上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。

REAPER:SWSサイクル・アクション・エディタ

思うところあって、アイテムを左につめるマクロを作ってみた。

cycle_actions_05.gif

このマクロはSWSのサイクル・アクション・エディタ(Cycle action editor)を利用して作成している。

Reaperは元々カスタム・アクションというマクロ作成機能を持っている。サイクル・アクションはそれをさらに強化したものだ。具体的には、ループ処理やトグルのオン・オフ情報をトリガーとした条件分岐、実行するたびに異なった内容の命令を処理させる機能、などを持っている。

以下はサイクル・アクション・エディタについて。

 【目次】
▼(1)サイクル・アクション・エディタの使い方
▼(2)サイクル・アクションが持つ機能について
▼(3)実際の使用例
--<LOOPを用いた例>
--<Stepを用いた例>
--<CONSOLEを用いた例>
--<IF分岐とダミー・トグルを用いた例>
--<IF分岐とエクスクルーシブ・トグルを用いた例>
▼(4)最後に
---------------------------


    ▼(1)サイクル・アクション・エディタの使い方

ここではReaper_Ver.5.1/SWS_Ver.2.8.2を使用している

まずメニューの「ExtentionsからCycle action editor」をクリックし、エディタを開く
Cycle_Action_07.png

エディタ左側の画面を右クリックし、「Add cycle action」からアクションを作成し適当な名前を付ける

Cycle_Action_06a.png

Cycle_Action_12a.png

アクションの名前はダブルクリックすることで再び変更することが可能。

次にエディタの下にある「Action list」ボタンを押してアクション・リストを開き、使用したいアクションを探す
Cycle_Action_08.png

意中のアクションが見つかったらそれを選択。そしてサイクル・アクション・エディタ右側の画面を右クリックして開いたメニューから「Add select action」をクリック
Cycle_Action_09.png

すると先ほどアクション・リストで選択していたアクションが追加される
Cycle_Action_10.png

ひたすらこれを繰り返しマクロを作成していく。

それが終わったらエディタの下にある「Apply」ボタンを押してそのアクションをアクション・リストに登録する
Cycle_Action_13.png

後はこのアクションをツールバーなりショートカットなりマウスの動作なりに割り当てればOK。

マクロを削除したい時は意中のアクションを選択し、右クリック・メニューから「Remove cycle action」をクリック。そして「Apply」をクリックして確定させる。


 ▼(2)サイクル・アクションが持つ機能について

ここまでは普通のアクション・リストと何ら変わりない。

サイクル・アクション特有の機能を利用するためには、エディタ右側の画面を右クリックして表われる「Add step」や「Add statement」から諸宣言をマクロに挿入する必要がある。

Cycle_Action_11.png

宣言には以下のようなものが用意されている。

---「Add step」で挿入

  • !(---Step---)
    この宣言でアクションを隔てることで、実行するごとに隔てられたアクション(群)が順番に実行されるようになる。


---以下は「Add statement」から挿入

  • IF
    直下にあるアクションのトグルがオンだった場合、それ以降からENDIFまでの処理を実行

  • IF NOT
    直下にあるアクションのトグルがオフだった場合、それ以降からENDIFまでの処理を実行

  • IF AND
    直下にある2つのアクションのトグルが両方ともオンだった場合、それ以降からENDIFまでの処理を実行

  • IF NOR
    直下にある2つのアクションのトグルが両方ともオフだった場合、それ以降からENDIFまでの処理を実行

  • IF OR
    直下にある2つのアクションのうち、1つでもトグルがオンになっているものがあった場合、それ以降からENDIFまでの処理を実行

  • IF NAND
    直下にある2つのアクションのうち、1つでもトグルがオフになっているものがあった場合、それ以降からENDIFまでの処理を実行

  • IF XNOR
    直下にある2つのアクションのトグル・ステートが2つとも同じだった場合、それ以降からENDIFまでの処理を実行

  • IF XOR
    直下にある2つのアクションのトグル・ステートが異なっていた場合、それ以降からENDIFまでの処理を実行

  • ELSE
    IFなどと組み合わせて用いる。IFなどで指定した条件以外の条件だった場合、それ以降の処理を実行

  • LOOP(回数指定)
    LOOPとENDLOOPで囲まれた処理を指定した回数だけ繰り返し実行


  • LABEL
    SWSのラベル・プロセッサ(Lebal prossessor)の機能を利用する。ラベル・プロセッサが何なのかはいまいちよく分かっていないが、アイテム・ノートやNotes windowでの表示情報を制御するためのものだと思う。


さらにこれらに加え、サイクル・アクションでは作成したアクション自体をトグル化する機能も持っている。
Cycle_Action_19.png

トグル化しても処理自体の内容が変わるわけではないが、それによって実行するたびにツールバーの表示を変更させることができるようになる。
cycle_actions_04a.gif

この機能はStepを用いてオン・オフ処理を交互に実行するアクションを作成する場合に役立つ。

---------------------

尚、マクロ作成の元になるアクションがトグル・ステートを持っているか否かはアクション・リストの以下の部分で確認できる

Cycle_Action_18.png

トグル・アクションであってもオン・オフ・ステートを持っていないものもあるので注意。また、アクション・リスト以外(ショートカットやUI)からトグルを変更してもリアルタイムではステート表示が変更されないため、現在の正確な状態を把握するためには1度リストを開き直してみる必要がある。



 ▼(3)実際の使用例

<LOOPを用いた例>

以下は冒頭のGifで示したマクロの中身
Cycle_Action_05.png

このマクロで行っている処理は以下の通り――まず予め選択しておいたアイテムの右端にエディット・カーソルを持っていき、次にそのアイテムの右隣にあるアイテムを選択。そしてその新しく選択されたアイテムの左端をエディット・カーソルの位置にあわせる。これでアイテムを左につめるという目的は達せられる。

そしてこのマクロを「LOOP 5~ENDLOOP」で囲むことによって、1度に同じマクロを5回実行させることができるわけだ。

因みに「Move cursor right to~」が2回記載されているのは1度だけだと何故か上手く機能しない場合があるため。


<Stepを用いた例>

以下の画像では、同じアクションを実行しているはずなのに毎回異なったグリッド間隔へと変更されているのが分かると思う。

cycle_actions_01a.gif

このアクションの中身は以下のようになっている
Cycle_Action_14.png

グリッドを変更するアクションが「Step」によって隔てられているのが確認できるだろう。このようにすることで、同じアクションを実行する度に複数の異なった命令を順番に実行していき、最後まで行くとまた最初の命令に戻ってくる、というようなことが可能になる。この機能は命名の由来にもなっている通り、サイクル・アクションが持つ代表的な機能と言ってよいだろう。


<CONSOLEを用いた例>

cycle_actions_02a.gif

マクロの中身
Cycle_Action_15.png

「CONSOLE」の横に記載されている「S1,3」とは、ReaConsoleにおいてトラック1と3を選択するという意味。そして次のアクションで選択したトラックのフェーダーを0dBFSに合わせている。


<IF分岐とダミー・トグルを用いた例>

cycle_muda_01.gif

これはどういうアクションかと言えば――「無駄」をオンにした状態で実行すると1小節ごとに20個のマーカーを追加していき、それをまた順番に消していくという全く無駄な処理を行う。一方「無駄」をオフにして実行すると、1小節ごとに20個のエンベロープ・ポイントを追加する処理を行う。ここで重要な役割を果たしているのがダミー・トグル(Dummy toggle)というアクションだ。

Cycle_Action_16.png

ダミー・トグルというのは、単にトグルのオン・オフ情報のみを送信するというもの。上の画像に見られる「IF」の部分が無駄マクロ、「IFNOT」の部分がエンベロープ追加マクロなわけだが、どちらを実行するかを決定付けているのがこのダミー・トグルのオンオフ情報というわけだ。そして「無駄」ボタンにはこのダミー・トグルを仕込んであるが故に、上のGifで示したような挙動になる。

このように、ダミー・トグルを用いると同じアクションであってもトグルのオンオフによって2種類の異なった命令を切り替えて実行することが可能になる。


<IF分岐とエクスクルーシブ・トグルを用いた例>

以下は一定間隔でアイテムに切り込みを入れるためのマクロ
alternate_cut.gif

どの間隔で切り込みを入れるかは(1/4、1/8などの)ボタンで選択して決めるわけだが、この選択ボタンにはエクスクルーシブ・トグル(Exclusive toggle A01-04)が仕込んである。

エクスクルーシブ・トグルはダミー・トグルの親戚みたいなものだ。エクスクルーシブ・トグルは4つで1組になっていて、どれかのトグル・ステートがオンになると他の3つのステートはオフになるという排他性を持っている(尚、ver.5.1の段階でこのグループは4組用意されている)。よって上のGifのような挙動になるわけだ。

Cycle_Action_17.png

このように、エクスクルーシブ・トグルを用いると同じアクションであってもトグルの切り替えによって4種類の異なった命令を実行することが可能になる。


 ▼(4)最後に

一応ここで例示した幾つかのマクロを置いておこうと思う。

S&M_Cyclactions_export_01.zip

中に入っているマクロは以下の通り。

○アイテムを左に詰めるマクロ
○一定間隔でアイテムに切り込みを入れるためのマクロ
○グリッドを変更するためのマクロ

サイクル・アクション下部の「Import」から読み込み、「Apply」を押してアクション・リストに登録する。上手く行けばリストに以下のような項目が追加される。

Item edit: Delete 5 gaps
Item edit: Delete a gap
Item edit: Cut off at a certain interval
Change grid

日本語で記述するのもなんなので英語にしたが、英語が得意なわけではないので英語Tシャツにありがちな意味不明な英語になっている可能性がある。しかし名前は自分で変更できるので問題ないだろう。

注意点
・アイテムを左につめるマクロである「Item edit: Delete 5 gaps」はそのトラックのアイテムの最後まで行き着くと次のトラックのアイテムにも影響を及ぼし始めるので、最後の方は「Item edit: Delete a gap」で1個ずつつめていく必要がある。また、このアクションを実行する際には先頭のアイテムを予め選択しておかなければならない。

・切り込みを入れるためのマクロは「Exclusive toggle A01-04」をツールバーなどに仕込んでおく必要がある。

 ***

最後にアクション関連で少し気になった点を。

・エディット・カーソルの下にあるアイテムの選択オン・オフやMIDIエディタ上での入力ノートの長さ変更など、基本的であるはずのアクションの幾つかがリストに登録されていない。

・トグルになっていてもステート情報を送ってくれないアクションがある。

・サイクル・アクションだと「Wait ○○ seconds befor next action」(次のアクションを行うまでの間を空けるアクション)が機能しない。普通のカスタム・アクションだとちゃんと機能するので、それで作ったカスタム・アクションをサイクル・アクションに読み込んで使用すると機能することもある。ただし、それを実行すると2,3秒小フリーズする場合がある。

・カスタム・アクションで作成したものをサイクル・アクションで使用すると、登録時に(右クリック・メニューから実行できる)「Explode into individual actions」の実行を促すメッセージが出る。

cycle_actions_03.gif

これは1つにまとめたカスタム・アクションを再び分解するためのものだが、これを実行すると上で挙げた「Wait ○○ seconds befor next action」はサイクル・アクション上で機能しなくなる。実行しないと機能するが、前述したように小フリーズすることがある。

こういった諸問題が改善されればさらに出来ることの可能性が広がるのだが。

コメント

コメントの投稿


管理者にだけ表示を許可する

トラックバック

http://positiveallergy.blog50.fc2.com/tb.php/739-79fbb142
この記事にトラックバックする(FC2ブログユーザー)

 | HOME | 

プロフィール

後正面

Author:後正面
ひきこもりという役割を引き受け
ざるを得なかった一人として
人間について考えてみる。
でも、本当はただの断末魔ブログ。

働けど無職。
-------------------------
※コメントは記事の内容(主題)に関するもののみ受け付けています。また、明らかに政治活動的な性質を持つ内容のコメントはお控え下さい(そういった性質を持つ発言は、それを許容するような姿勢を持つ一部のブログを除いて、自分のブログで行うものだというのが私の基本的な考え方です)。

最近の記事

最近のコメント

最近のトラックバック

月別アーカイブ

カテゴリー

RSSフィード

リンク

このブログをリンクに追加する

FC2カウンター

上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。