The Volume envelope needs to be already ON on the tracks or this script will fail.
Code:
function Main()
sel_item_count = reaper.CountSelectedMediaItems( 0 )
for i = 0, sel_item_count - 1 do
sel_item = reaper.GetSelectedMediaItem( 0, i )
sel_item_vol = reaper.GetMediaItemInfo_Value( sel_item, "D_VOL" )--volume
sel_item_time = reaper.GetMediaItemInfo_Value( sel_item, "D_POSITION" )--time
sel_track = reaper.GetMediaItemInfo_Value( sel_item, "P_TRACK" ) -- track
env_name = reaper.GetTrackEnvelopeByName( sel_track, "Volume" )
reaper.InsertEnvelopePoint( env_name, sel_item_time, sel_item_vol, 1, 0, false )
reaper.SetMediaItemInfo_Value( sel_item, "D_VOL", 1 )
end
end
reaper.Undo_BeginBlock()
Main()
reaper.Undo_EndBlock( "Script Item Vol to Envelope", 0 )
Also I started to make scripts like this quarantine, so I may missed somethings hahaha