【脚本】item置顶

更新V1.2版,新增在锁定模式下,拖动其他item会显示item位置的参考线,如图
TQhSFhSHMq

脚本主要作用是把一个item的波形进行置顶显示,并且会根据item的位置、长度、边缘、工程的位置、缩放而实时变化显示。具体效果如图

U9q2j3iXrf

在波形窗口里右击,波形颜色会变成绿色,表示已锁定当前选中的item,之后就不会随item选择的变化而改变。

这个脚本可以视为很多人需要的轨道置顶功能的简化版,如果你只需要置顶一个item来做剪辑参考的话,可以试一试。脚本运行后默认放在顶部,你也可以手动拖放到底部,并且只有这两个位置才真正有波形与屏幕位置同步的效果。

真正的轨道置顶脚本还在计划中,等有时间了再写一个

依赖包

SWSJS_ReaScriptAPI64 是两个必须的依赖库

SWS安装方式:从 这里 下载安装包

JS_ReaScriptAPI 安装方式:win用户下载以下文件,解压后放到安装路径下的userplugins文件夹里,重启reaper(其他系统用户请到他Github主页下载 Github)

reaper_js_ReaScriptAPI64.zip (388.2 KB)

脚本

DSY_item置顶.lua (12.1 KB)

脚本已同步更新到我的reapack源中,也可以选择从reapack中下载

Donation

毕竟用爱发电不易,如果我的脚本给你带来了便利,不妨buy me a coffee

如果有需要订制个人化的脚本,请添加以下QQ联系:86989558

我的Reapack源

可以在Reapack里添加这个地址来获取到更多我共享过的脚本

3 Likes

感谢 noiZ,由于 reaper.NF_Win32_GetSystemMetrics 这个 api 在 Linux 下参数不一样的缘故。

之前的报告

报告问题,提示这个错误

DSY_item置顶.lua:66: bad argument #1 to 'new_array' (invalid size)

已经确定

  • 已安装 js api
  • 脚本版本 1.0

操作复现

Peek 2021-12-10 14-16

60 - 66行代码为:

    local scaled_len=wDraw
    local PCM_source = reaper.GetMediaItemTake_Source(take)
    local n_chans = reaper.GetMediaSourceNumChannels(PCM_source)
    local peakrate = scaled_len/len -- pixels/seconds
    local n_spls = math.floor(len*peakrate + 0.5)     
    local want_extra_type = -1--115  -- 's' char
    local buf = reaper.new_array(n_spls*n_chans*2) -- no spectral info

上面的变量打印出来

[n_chans]
1

[peakrate]
0.0

[n_spls]
0

[n_spls*n_chans*2]
0

麻烦再打印一下scaled_len和len的值

已更新一个适配Windows和Linux的版本,但现在我没有条件测试Mac系统下是否能运行,请Mac用户也帮忙测试一下

Mac用户测试可行


可能是我的设置问题,泊坞窗是直接左边顶着头的,暂时没找到在哪设置

重新下一个新版本的,这个属于之前的一个小bug

更新了V1.2版