Lua::ReaScript:REAPERで選択したメディアアイテムのフェードイン・フェードアウトの解除

この記事は最終更新日から1年以上が経過しています。

もしかしたら公式にアクションが既にあるかもしれないし他にもっといいもの書いてる人がいると思いますが、せっかくなのでReaScriptなるものを触ってみました。
ReaScriptは簡単に言うと、LuaやPythonで記述されたREAPER上で実行できるスクリプトのことです。今回はLuaで。というかPythonかけません。

以下がコードになります。

OffCrossfade.lua
local SelectedMediasNum = reaper.CountSelectedMediaItems(0)
local count = 0

while count < SelectedMediasNum do
  local media = reaper.GetSelectedMediaItem(0, count)
  reaper.SetMediaItemInfo_Value(media, "D_FADEINLEN", 0, 0)
  reaper.SetMediaItemInfo_Value(media, "D_FADEOUTLEN", 0, 0)
  count = count + 1
end

はい。これだけです。

まず、reaper.CountSelectedMediaItems(ReaProject proj)で現在選択しているメディアアイテムの数を取得します。このとき引数を0にするとActive Projectに対して処理を行うようです。基本0でOK?

reaper.GetSelectedMediaItem(ReaProject proj, Integer SelItem)の第二引数に操作したいメディアアイテムの番号を入れると、そのメディアアイテムを返してくれます。Cなどの配列と同じでインデックスは0から始まるみたいです。

reaper.SetMediaItemInfo_Value(MediaItem item, string parmname, number newvalue)は、メディアアイテム、パラメータ名、新たに設定するパラメータ値を引数にとります。今回はフェードインとフェードアウトを無くしたいので、D_FADEINLENとD_FADEOUTLENをどちらも0にします。パラメータ名については詳しくは公式リファレンス↓
https://www.reaper.fm/sdk/reascript/reascripthelp.html#SetMediaItemInfo_Value

あとはwhileでまわすだけです。おわり!


アクション一覧からでも実行できますが、ショートカットキーを設定すればさらに便利になりますね。
これでメディアアイテムを追加するたびにいらんクロスフェードがついていたのを1ボタンで消せるようになったりします。おっちょこちょいの私は、時々消し忘れて後で全部手動で処理したりしていたので、非常に助かりますね。

ユーザー登録して、Qiitaをもっと便利に使ってみませんか。
  1. あなたにマッチした記事をお届けします
    ユーザーやタグをフォローすることで、あなたが興味を持つ技術分野の情報をまとめてキャッチアップできます
  2. 便利な情報をあとで効率的に読み返せます
    気に入った記事を「ストック」することで、あとからすぐに検索できます
コメント
この記事にコメントはありません。
あなたもコメントしてみませんか :)
すでにアカウントを持っている方は
ユーザーは見つかりませんでした