もしかしたら公式にアクションが既にあるかもしれないし他にもっといいもの書いてる人がいると思いますが、せっかくなのでReaScriptなるものを触ってみました。
ReaScriptは簡単に言うと、LuaやPythonで記述されたREAPER上で実行できるスクリプトのことです。今回はLuaで。というかPythonかけません。
以下がコードになります。
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ボタンで消せるようになったりします。おっちょこちょいの私は、時々消し忘れて後で全部手動で処理したりしていたので、非常に助かりますね。