0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

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

Posted at

もしかしたら公式にアクションが既にあるかもしれないし他にもっといいもの書いてる人がいると思いますが、せっかくなので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ボタンで消せるようになったりします。おっちょこちょいの私は、時々消し忘れて後で全部手動で処理したりしていたので、非常に助かりますね。

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?