Old 11-28-2024, 07:42 AM   #1
LeonBeilmann
Human being with feelings
 
LeonBeilmann's Avatar
 
Join Date: Apr 2022
Posts: 10
Default SlipView - Full item waveform preview in the timeline

Hey everyone,

happy to share my first Script/functionality with you!
SlipView allows it to display the full waveform of one or multiple selected items when pressing a (bindable) key.This was meant with Slip Editing (using ALT to move the contents of an item without moving the item itself) in mind, but can of course also be used to simply show the full waveforms whenever desired.





Key Features
  • Shows the full waveform of a selected media item when pressing a (bindable) key or key combination.
  • The waveform preview will be created relative to the media item for quick orientation within the waveform.
  • It can be set so that the preview will either stop at neighboring items or ignore them.
  • If things get too cluttered, the preview can be created on an entirely new track.
  • If the timeline or a neighboring item is in the way in either direction, it'll compensate towards the other direction.
  • Supports multiple items VERTICALLY: The first selected item of each track will have its preview shown.
  • Supports multiple takes on one item. The selected take will have its preview shown.
  • An activation delay can be set; Only if the keys are pressed longer than the delay the waveform preview will show up.
  • The previews will automatically update if the selected items or takes change.

Requires
SWS, ReaPack, js_ReaScriptAPI extension

Where to get
If you want to support me, you can "purchase" it for whatever price you want via GumRoad:
https://leonbeilmann.gumroad.com/l/SlipView

Otherwise, here's the ReaPack URL
https://raw.githubusercontent.com/LA...main/index.xml

Huge kudos to my colleague Andrej Novosad who first came up with the idea of finding a way to show the full waveform!
Hope you enjoy!

Changelog
Note: You'll have to stop the main script before updating, otherwise ReaPack won't be able to overwrite the file(s)!
Quote:
-- 1.19: - Tweaked: Now also shows items properly in free item positioning
-- 1.18: - Fixed: Crash when using SlipView on a completely empty item
-- 1.17: - Tweaked: Toolbar icons folder is now lowercase (MAC compatibility)
-- 1.14: - Tweaked: Now works properly even if "Trim content behind media items when editing" is enabled
-- - Toggle states should now update once the main routine starts
-- - Lowered cleanup interval from 2 to 1s
-- 1.13: - Added toolbar icons
-- 1.12: - Preview will stay if the mouse cursor leaves the arrange window
-- 1.11: - Added toggle state to main function
-- 1.10: - Preview will only be shown if the cursor is within the arrange view
-- - Preview will now carry over custom colors of items
-- - Removed unused function
-- - Fixed a small bug in settings
-- - Trivial tidying-up of code
-- 1.03: Updated ReadMe for release
-- 1.02: Updated credits for release
-- 1.01: Tweaked settings names
-- 1.00: Initial version

Last edited by LeonBeilmann; Yesterday at 08:35 AM.
LeonBeilmann is offline   Reply With Quote
Old 11-28-2024, 08:30 AM   #2
Vagelis
Human being with feelings
 
Vagelis's Avatar
 
Join Date: Oct 2017
Location: Larisa, Greece
Posts: 4,056
Default

VERY nice!
Vagelis is offline   Reply With Quote
Old 11-28-2024, 08:40 AM   #3
X-Raym
Human being with feelings
 
X-Raym's Avatar
 
Join Date: Apr 2013
Location: France
Posts: 10,350
Default

Interesring idea, and it seems well done !

What is the trick ?


As far as I can see, it create a second item behind the first, so I guess itnalso turn off Display overlapping items and other things like auto -crossfade and ripple.


Bravo for your first script, very original !
X-Raym is offline   Reply With Quote
Old 11-28-2024, 08:42 AM   #4
FeedTheCat
Human being with feelings
 
FeedTheCat's Avatar
 
Join Date: May 2019
Location: Berlin
Posts: 2,391
Default

Wow, that looks amazing! What a nice idea and impressive execution!
__________________
Featured scripts: REAPER Update UtilityLil ChordboxGridbox/Adaptive gridMX TunerRS5K LinkMIDI Editor Magic Donate💝: PayPal|ko-fi
FeedTheCat is offline   Reply With Quote
Old 11-28-2024, 08:47 AM   #5
smandrap
Human being with feelings
 
smandrap's Avatar
 
Join Date: Feb 2021
Location: Right here
Posts: 2,324
Default

Congratulations, very nice
__________________
My Scripts
smandrap is online now   Reply With Quote
Old 11-28-2024, 08:51 AM   #6
vitalker
Human being with feelings
 
vitalker's Avatar
 
Join Date: Dec 2012
Posts: 13,631
Default

Nice idea and even better implementation!
vitalker is online now   Reply With Quote
Old 11-28-2024, 09:19 AM   #7
LeonBeilmann
Human being with feelings
 
LeonBeilmann's Avatar
 
Join Date: Apr 2022
Posts: 10
Default

Thanks for the nice words, everyone!
Totally forgot to mention on here, shame on me, that the original idea came from a colleague of mine, Andrej Novosad. He transitioned from Ableton to Reaper and was the first to create a macro that creates a new track to display the full waveform. I then took it from there and things escalated, haha!

Quote:
Originally Posted by X-Raym View Post
Interesring idea, and it seems well done !

What is the trick ?


As far as I can see, it create a second item behind the first, so I guess itnalso turn off Display overlapping items and other things like auto -crossfade and ripple.


Bravo for your first script, very original !
Yup, it's "just" items being created on the fly, muted for contrast and displaced based on the settings so that it always shows as much of the waveform as possible. "Just" because there obviously is a bit more to it, but that's the basic idea.



Quote:
Originally Posted by FeedTheCat View Post
Wow, that looks amazing! What a nice idea and impressive execution!
Thank youu! I adore your stuff, the chord- and gridbox are my go-tos!
LeonBeilmann is offline   Reply With Quote
Old 11-28-2024, 10:43 PM   #8
tonalstates
Human being with feelings
 
tonalstates's Avatar
 
Join Date: Jun 2020
Posts: 723
Default

So cool! thank you for this, honestly it should be native now that I see it nice one!
tonalstates is offline   Reply With Quote
Old 11-29-2024, 08:32 AM   #9
X-Raym
Human being with feelings
 
X-Raym's Avatar
 
Join Date: Apr 2013
Location: France
Posts: 10,350
Default

the script doesnt report its on/off state on toolbars,


here is how to do it


https://github.com/ReaTeam/ReaScript...script.lua#L22
X-Raym is offline   Reply With Quote
Old 11-29-2024, 08:35 AM   #10
mcoyle
Human being with feelings
 
mcoyle's Avatar
 
Join Date: Jan 2022
Location: Kalamazoo, MI
Posts: 333
Default Holy Slipview, Batman!

This is seriously gonna change my life when it comes to laying in sound effects. Thank you!
__________________
Audio Post Engineer: JennAudio.com
Adjunct Faculty: Columbia College Chicago - Retired!
mcoyle is offline   Reply With Quote
Old 11-29-2024, 10:08 AM   #11
BPBaker
Human being with feelings
 
BPBaker's Avatar
 
Join Date: Oct 2013
Location: Brooklyn, NY
Posts: 285
Default

Cool! Looking forward to trying it!
BPBaker is offline   Reply With Quote
Old 11-29-2024, 10:27 AM   #12
LeonBeilmann
Human being with feelings
 
LeonBeilmann's Avatar
 
Join Date: Apr 2022
Posts: 10
Default

Quote:
Originally Posted by X-Raym View Post
the script doesnt report its on/off state on toolbars,


here is how to do it


https://github.com/ReaTeam/ReaScript...script.lua#L22

Ohh neat, thank youuuu!
Edit: Wait, I just realized I'm doing this already. I think the toggle actions need to be executed once before it works - Could you please check it out and let me know if it still doesn't work for you?
LeonBeilmann is offline   Reply With Quote
Old 11-29-2024, 11:22 AM   #13
Amely_Suncroll
Human being with feelings
 
Amely_Suncroll's Avatar
 
Join Date: Mar 2021
Posts: 92
Default

Super idea!
Amely_Suncroll is offline   Reply With Quote
Old 11-29-2024, 01:49 PM   #14
mpl
Human being with feelings
 
mpl's Avatar
 
Join Date: Oct 2013
Location: Moscow, Russia
Posts: 4,177
Default

Very useful. Would love to see that once at the prerelease thread as a native appearance/editing behaviour option.
mpl is offline   Reply With Quote
Old 11-29-2024, 03:21 PM   #15
mcoyle
Human being with feelings
 
mcoyle's Avatar
 
Join Date: Jan 2022
Location: Kalamazoo, MI
Posts: 333
Default

Quote:
Originally Posted by LeonBeilmann View Post
Wait, I just realized I'm doing this already. I think the toggle actions need to be executed once before it works - Could you please check it out and let me know if it still doesn't work for you?
Because the script isn't active when Reaper first opens, you have to toggle it on every time, correct? In my toolbar, I have an icon to do this, but the toolbar icon doesn't highlight when I click it and it probably should since something is now active. (I'm talking about action _RS1a405.) It would be nice to have that visual feedback.
__________________
Audio Post Engineer: JennAudio.com
Adjunct Faculty: Columbia College Chicago - Retired!
mcoyle is offline   Reply With Quote
Old 11-29-2024, 03:46 PM   #16
LeonBeilmann
Human being with feelings
 
LeonBeilmann's Avatar
 
Join Date: Apr 2022
Posts: 10
Default

Hmm I'm honestly not sure - Will put it on my to-do, I've honestly not put much time into checking the functionality for this. As usual, it comes back to bite me haha Might take a bit because I'll be travelling for work next week.
LeonBeilmann is offline   Reply With Quote
Old 11-29-2024, 05:59 PM   #17
X-Raym
Human being with feelings
 
X-Raym's Avatar
 
Join Date: Apr 2013
Location: France
Posts: 10,350
Default

Quote:
Originally Posted by X-Raym View Post
the script doesnt report its on/off state on toolbars,


here is how to do it


https://github.com/ReaTeam/ReaScript...script.lua#L22



Here is the fix for button state:


https://gist.github.com/X-Raym/a79cc...102f4028571bd5


Diff check against your version:
https://gist.github.com/X-Raym/a79cc...1bd5/revisions
X-Raym is offline   Reply With Quote
Old 11-30-2024, 04:26 AM   #18
X-Raym
Human being with feelings
 
X-Raym's Avatar
 
Join Date: Apr 2013
Location: France
Posts: 10,350
Default

When item is already full source, maybe it is not necessary to import the source item


X-Raym is offline   Reply With Quote
Old 11-30-2024, 05:19 AM   #19
X-Raym
Human being with feelings
 
X-Raym's Avatar
 
Join Date: Apr 2013
Location: France
Posts: 10,350
Default

It would nice also if the ghost item only appears if mouse is over arrange view area,


ALT key can be used in other context like track FX on TCP to remove them, and it is not needed to see the ghost item in this case





It is just a simple check:


Code:
window, segment, details = reaper.BR_GetMouseCursorContext()
if window == "arrange" then
  -- DISPLAY THE GHOST ITEM

end
X-Raym is offline   Reply With Quote
Old 11-30-2024, 12:10 PM   #20
LeonBeilmann
Human being with feelings
 
LeonBeilmann's Avatar
 
Join Date: Apr 2022
Posts: 10
Default

Quote:
Originally Posted by X-Raym View Post
Wait, those toggle actions are two separate toggle actions, and they seem to work fine for me - This script would create and set a toggle action for the main routine, which is not really intended...?




Quote:
Originally Posted by X-Raym View Post
It would nice also if the ghost item only appears if mouse is over arrange view area,
Ohh I like the idea, will do!
LeonBeilmann is offline   Reply With Quote
Old 11-30-2024, 02:35 PM   #21
X-Raym
Human being with feelings
 
X-Raym's Avatar
 
Join Date: Apr 2013
Location: France
Posts: 10,350
Default

this is how i use it





so just a toolbar button display when it is on and when it is off, wich is expected for all background/defer/gui script.
X-Raym is offline   Reply With Quote
Old 11-30-2024, 02:58 PM   #22
LeonBeilmann
Human being with feelings
 
LeonBeilmann's Avatar
 
Join Date: Apr 2022
Posts: 10
Default

Quote:
Originally Posted by X-Raym View Post
[...]
Ohhhh I see now!
Up until now, I honestly didn't even think about adding a toggle state for the main function, even though it's super obvious and makes so much sense!

I just updated the script, check the changelog in the first post.
Also make sure to stop the script before updating via ReaPack, otherwise ReaPack won't be able to overwrite the file(s)!
LeonBeilmann is offline   Reply With Quote
Old 11-30-2024, 03:30 PM   #23
X-Raym
Human being with feelings
 
X-Raym's Avatar
 
Join Date: Apr 2013
Location: France
Posts: 10,350
Default

Quote:
Also make sure to stop the script before updating via ReaPack
When a script is run, its code is interpreted into the ram, nor reapack or reaper should lock it, so you should be able to update even if is running. But you will have to exit it and re-run it to run the update version 😉
X-Raym is offline   Reply With Quote
Old 11-30-2024, 07:26 PM   #24
mcoyle
Human being with feelings
 
mcoyle's Avatar
 
Join Date: Jan 2022
Location: Kalamazoo, MI
Posts: 333
Default

Just updated to 1.12 and the main script toggle works great. Thanks.
__________________
Audio Post Engineer: JennAudio.com
Adjunct Faculty: Columbia College Chicago - Retired!
mcoyle is offline   Reply With Quote
Old Yesterday, 05:00 AM   #25
LeonBeilmann
Human being with feelings
 
LeonBeilmann's Avatar
 
Join Date: Apr 2022
Posts: 10
Default

Thanks for this rabbithole - V 1.13 now contains custom icons (and I don't contain enough of sleep )



Wishing y'all a great start into the week tomorrow.
LeonBeilmann is offline   Reply With Quote
Old Yesterday, 05:42 AM   #26
Daodan
Human being with feelings
 
Join Date: Jan 2011
Posts: 1,359
Default

Nice idea!

Some feedback:

There is an option "Trim content behind media items when editing". When enabled and user stretch item (alt drag item edge) it can be dangerous:


So maybe temporary disabling this option in script is a good idea.

Also showing full source while stretching not so useful by itself so would be great to have an option to show it not when alt+drag performed but only when slip editing performed. Otherwise it will show up when item stretched, envelope points deleted, moved (ctrl+alt = fine movement) and other situation when alt+drag used but full source preview is no useful and sometimes bad:

Sure it can be solved by using additional mouse modifier but the problem is that most modifiers used by default. Add some additional that already in use and you can't find another good modifier (and memory to remember another one). Input it using VK codes also a bit hard.

Another one is that it works well when "offset overlapping..." enabled, but when it's off sometimes the wrong part of item appears muted:


And the last one:

Undo/redo can show temporary item for too long.

I know, it's all complicated. Sorry. Just my feedback
Daodan is offline   Reply With Quote
Old Yesterday, 06:43 AM   #27
LeonBeilmann
Human being with feelings
 
LeonBeilmann's Avatar
 
Join Date: Apr 2022
Posts: 10
Default

Quote:
Originally Posted by Daodan View Post
[...]
Some feedback:
[...]
Oh no worries, feedback like this is more than welcome - It's valid points that helps improve the script and shows me how much stuff in Reaper I don't know about despite using it for over 5 years now

- The trim thing was crucial, fixed it immediately, thanks!
- I also lowered the "cleanup" time from 2 to 1, should remove items returning with undo etc. quicker
- I wasn't even aware that you could stack the items vertically like that. As for the actual visual thing, I don't think this is really fixable and I consider it minor
- The other TAB actions: I think a lot of people (including myself) will not only want to use it when slip editing, but also just to show the waveform in general. I don't want to adapt the script to be this specific, especially since the keybinds allow for some customization.

Again, many thanks!
LeonBeilmann is offline   Reply With Quote
Old Yesterday, 07:14 AM   #28
mcoyle
Human being with feelings
 
mcoyle's Avatar
 
Join Date: Jan 2022
Location: Kalamazoo, MI
Posts: 333
Default

Quote:
Originally Posted by LeonBeilmann View Post
Thanks for this rabbithole - V 1.13 now contains custom icons...
Wake up! Ya got one more tweak to do.

In Linux, folders are case sensitive, so your new icons in "Toolbar_Icons" are in a different folder than the default "toolbar_icons" which makes them invisible to Reaper.

I have manually moved them for now. Thanks for the icons too. Much nicer than the ones I hacked together.
__________________
Audio Post Engineer: JennAudio.com
Adjunct Faculty: Columbia College Chicago - Retired!
mcoyle is offline   Reply With Quote
Old Yesterday, 07:45 AM   #29
X-Raym
Human being with feelings
 
X-Raym's Avatar
 
Join Date: Apr 2013
Location: France
Posts: 10,350
Default

Also unexpected behavior with MIDI items (extended too long)
and empty items (script crash because it miss a "if take" check)


Code:
...aperScripts\Various\LAx_SlipView\LAx_SlipView - Main.lua:181:  bad argument #1 to 'GetMediaItemTakeInfo_Value' (MediaItem_Take  expected)

X-Raym is offline   Reply With Quote
Old Yesterday, 08:16 AM   #30
LeonBeilmann
Human being with feelings
 
LeonBeilmann's Avatar
 
Join Date: Apr 2022
Posts: 10
Default

Quote:
Originally Posted by X-Raym View Post
Also unexpected behavior with MIDI items (extended too long)
and empty items (script crash because it miss a "if take" check)
Thanks! The crash is fixed. Will take a look at the media items next week, maybe.

Quote:
Originally Posted by mcoyle View Post
Wake up! Ya got one more tweak to do.

In Linux, folders are case sensitive, so your new icons in "Toolbar_Icons" are in a different folder than the default "toolbar_icons" which makes them invisible to Reaper.

I have manually moved them for now. Thanks for the icons too. Much nicer than the ones I hacked together.
Oh damn, this was hell to fix... but thanks for giving me the pointer! Could you please confirm it's working now?
LeonBeilmann is offline   Reply With Quote
Old Yesterday, 08:27 AM   #31
mcoyle
Human being with feelings
 
mcoyle's Avatar
 
Join Date: Jan 2022
Location: Kalamazoo, MI
Posts: 333
Default Regarding toobar_icon folder...

Quote:
Originally Posted by LeonBeilmann View Post
Oh damn, this was hell to fix... but thanks for giving me the pointer! Could you please confirm it's working now?
Yes. This is fixed. Thanks.
__________________
Audio Post Engineer: JennAudio.com
Adjunct Faculty: Columbia College Chicago - Retired!
mcoyle is offline   Reply With Quote
Reply

Thread Tools
Display Modes

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off

Forum Jump


All times are GMT -7. The time now is 02:47 AM.


Powered by vBulletin® Version 3.8.11
Copyright ©2000 - 2024, vBulletin Solutions Inc.