|
|
|
02-25-2020, 03:47 PM
|
#1
|
Human being with feelings
Join Date: Dec 2017
Posts: 152
|
bfut custom scripts / questions etc.
Find my Lua: Convert MIDI notes to items scripts here.
This thread is for everything that doesn't belong in the above.
Last edited by tufb; 11-15-2022 at 02:32 PM.
|
|
|
02-25-2020, 03:53 PM
|
#2
|
Human being with feelings
Join Date: Dec 2017
Posts: 152
|
Quote:
Originally Posted by Vagelis
Hi! those are some useful scripts thanks! I 'd like to ask would it be possible to replace take under mouse instead of the whole item? That would be useful for comping.
|
Let me know, if that's what you have in mind. Cheers
bfut_Replace active take under mouse cursor with selected item active take.lua (Version 0.1)
Quote:
Originally Posted by Vagelis
Yes exactly this but without the annoying pop up dialog Your script works great so far ! Really useful for comping and not only Huge thanks !
Now came up another idea for comping that could be also very useful: a similar script to SWS/FNG: Rotate selected media items positions and lengths but for takes and not for the whole item that would exchange the take sources without replacing them.
Again, thanks a lot for your interest and work!!
|
Quote:
Originally Posted by Vagelis
(...) It could very useful for comping because when we split an item while comping in order to choose a part of the take, if we want to change its position, we have to move the whole item, while with this action we could just exchange the take positions without overwriting one of the takes as the other script.
|
Very rough draft:
bfut_Rotate selected items active takes (Version 0.1)
Note1: If you're working with grouped items, you'll have to toggle OFF "Options > Item grouping enabled"
Note2: I've only tested superficially, so far.
Note3: Untested for various flavors of locked items.
Cheers
Last edited by tufb; 02-29-2020 at 02:23 PM.
|
|
|
03-09-2020, 02:13 AM
|
#3
|
Human being with feelings
Join Date: Mar 2013
Posts: 181
|
Thank you for your script.
Would it be possible to modify a script to work like this?
|
|
|
03-18-2020, 09:17 AM
|
#4
|
Human being with feelings
Join Date: Dec 2017
Posts: 152
|
Hi PelF, thanks for your feedback. Hope you're not affected by the pandemic! This is a reversed version of the rotation script. Once again, a very rough functional draft:
bfut_Rotate selected items active takes (reverse) (version 0.1)
|
|
|
07-01-2020, 03:12 PM
|
#5
|
Human being with feelings
Join Date: Dec 2017
Posts: 152
|
New:
bfut_Extract loop section under mouse cursor to new item
@version 1.0
@about
HOW TO USE:
1) Hover mouse over looped media item.
2) Run the script.
Features: takes into account take playrate and take start position offset
As requested by forum user, justcosmic1.
Updated:
bfut_Split looped item into separate items
@version 1.2
@about
HOW TO USE:
1) Select media item(s).
2) Run the script.
@changelog
+ obey take source start offset
Initial version released in early 2018.
Features: ignores locked items, takes into account take playrate and take start position offset
Installation
Directly from https://github.com/bfut/ReaScripts or
Copy and paste this URL in Extensions > ReaPack > Import repositories:
Code:
https://github.com/bfut/ReaScripts/raw/main/index.xml
Then install in Extensions > ReaPack > Browse packages.
Last edited by tufb; 11-18-2020 at 11:49 AM.
|
|
|
07-02-2020, 02:58 AM
|
#6
|
Human being with feelings
Join Date: Oct 2017
Location: Larisa, Greece
Posts: 3,827
|
Wow going to try now those looping scripts, thanks a lot!
Edit: they are working very good so far
Last edited by Vagelis; 07-02-2020 at 03:04 AM.
|
|
|
07-02-2020, 08:03 PM
|
#7
|
Human being with feelings
Join Date: Dec 2013
Posts: 109
|
Quote:
Originally Posted by tufb
New:
bfut_Extract loop section under mouse cursor to new item
@version 1.0
@about
HOW TO USE:
1) Hover mouse over looped media item.
2) Run the script.
Features: takes into account take playrate and take start position offset
Per request by forum user, justcosmic1.
Updated:
bfut_Split looped item into separate items
@version 1.2
@about
HOW TO USE:
1) Select media item(s).
2) Run the script.
@changelog
+ obey take source start offset
Initial version from early 2018.
Features: ignores locked items, takes into account take playrate and take start position offset
Installation
Directly from https://github.com/bfut/ReaScripts or
Copy and paste this URL in Extensions > ReaPack > Import repositories:
Code:
https://github.com/bfut/ReaScripts/raw/master/index.xml
|
Couldn't resist trying this before I went to bed!
It's fantastic - I love it!
Can I be cheacky and ask for a version that retains pooling for MIDI data!?
Anyway - thank you again - stuff like this just absolutely transforms the Reaper UI experience and workflow!
|
|
|
07-03-2020, 12:31 AM
|
#8
|
Human being with feelings
Join Date: Dec 2017
Posts: 152
|
You're welcome. Reaper optionally creates MIDI source data pools at copy only, and never at split. This may require a Feature Request.
Right now, you can replace an extracted section with the original looped item, using bfut_Replace item under mouse cursor with selected item.lua. For multiple such operations, consider my Copy and replace selected items scripts.
Pooling must be toggled ON.
1) The looped item (take start offset = 0)
2) After applying bfut_Extract loop section under mouse cursor to new item.lua
3) After applying bfut_Replace item under mouse cursor with selected item.lua, with pooling toggled ON
Last edited by tufb; 07-03-2020 at 05:35 AM.
|
|
|
07-03-2020, 08:22 AM
|
#9
|
Human being with feelings
Join Date: Dec 2013
Posts: 109
|
So if I make a custom action containing those 2 scripts it should amount to what I was requesting?
I'm guessing that approach must be under the hood of X-Raym's script which slices all loops in a selected looped item to pooled MIDI (he also has one that does to non pooled).
In any case I'll try making a custom action from those 2 scripts and see what happens and report back
|
|
|
07-03-2020, 09:20 AM
|
#10
|
Human being with feelings
Join Date: Dec 2017
Posts: 152
|
Not sure, I think the step-by-step from above would work.
|
|
|
07-06-2020, 06:02 PM
|
#11
|
Human being with feelings
Join Date: Dec 2013
Posts: 109
|
I've given the above a try - but so far without success.
maybe something small I'm not getting quite right.
I also thought maybe there could be something in X-Raym's script that could be combined with yours (his splits all loops out to separate pooled items)
however his is in eel not lua and upon looking at them in code it's definitely over my head
Anyway I will first see if there's anything in the above steps that I am not executing properly.
|
|
|
07-06-2020, 07:11 PM
|
#12
|
Human being with feelings
Join Date: Dec 2013
Posts: 109
|
OK So I think I am getting an idea of what I need to do to get it to work:
Toggling on pool MIDI
Then your extract looped item script
Then select the previous item to the left of mouse cursor
Then your replace item under mouse cursor with selected item
Then the same, but with the item to the right of mouse cursor (next item)
So I was able to kind of manually simulate this.
I saw an action (Alt+V) which pastes pooled data regardless of prefernces - but it pastes at play or edit cursor and same length of the copied item so it's not that useful - just wish it were possible to see inside the script to see how they did that "regadless of preferences setting"bit!
Meanwhile I see how a request to devs for "keep items pooled when splitting"
would be a way cleaner way to do things! So I have put that request in and I'll update you if I hear anything back.
Last edited by justcosmic1; 07-06-2020 at 07:53 PM.
|
|
|
07-07-2020, 01:04 PM
|
#13
|
Human being with feelings
Join Date: Dec 2017
Posts: 152
|
That would be awesome, if that FR was implemented at some point. Have fun, and would love hear back if you find any issues.
edit:
I found a much easier workaround:
1) Make sure that the looped item is in some MIDI pool
2) Then apply bfut_Extract loop section under mouse cursor to new item.lua. Done.
Last edited by tufb; 07-07-2020 at 02:33 PM.
|
|
|
07-07-2020, 03:26 PM
|
#14
|
Human being with feelings
Join Date: Dec 2013
Posts: 109
|
I found another thread requesting the same feature and added my request to that: https://forum.cockos.com/showthread....93#post2315393
So clearly this is maybe a request that is coming of age...
regarding your simpler work around; how does that keep the section to the right of the extracted loop pooled ? Or does having it pooled to another item leave all parts pooled ?
And wouldn't you need to add script steps to temporarily make a copy of the original somewhere(?)before the extract script is executed ? (and then steps to delete the additional bit).
I guess to make the whole process fully contained, a script step to toggle on "pool MIDI items..." in preferences would be good.
I am going to investigate the later as someone kindly made a script for me for another check box in preferences (show track controls on armed tracks) which I have on a toolbar button; and the idea was that I might be able to adapt this for other preferences that don't appear already in the actions list.
Will update you if any progress with any of the above...
Last edited by justcosmic1; 07-07-2020 at 03:37 PM.
|
|
|
07-07-2020, 05:39 PM
|
#15
|
Human being with feelings
Join Date: Dec 2013
Posts: 109
|
A dirty hack custo action as per my last post
Custom: Extract_Pooled_Item_from_Looped_Item
"Script: amagalma_Toggle Select all tracks, items or envelope points under mouse (smart select all).eel
Item: Select item under mouse cursor
Edit: Copy items
Track: Insert new track
Item: Paste items/tracks, creating pooled (ghost) MIDI items and automation items regardless of preferences/Media/MIDI and preferences/Media/Automation settings
Item navigation: Select and move to item in previous track
Script: bfut_Extract loop section under mouse cursor to new item.lua
Item navigation: Select and move to item in next track
Item properties: Unlock
Track: Remove tracks"
[Consolidate undo points checked (I found out about that the hard way)]
It's a very dirty hack indeed;lots of steps, creates another track to paste pooled MIDI to (using the Alt+V command that isn't dependent on the preferences setting!)
Then get's to the central function; i.e. your script ; and then the clean up! - unlocks the pasted item (in case it's locked as I often lock stuff to avoid accidentally moving horizontally)...and removes the newly created track and item.
Dirty as heck, but seems to work robustly so far...so it will do until we get the newly requested functionality.
Very well spotted on your behalf about creating another pooled item...yet again the impossible becomes possible in Reaper.
Huge thanks again!
|
|
|
07-08-2020, 01:59 PM
|
#17
|
Human being with feelings
Join Date: Dec 2013
Posts: 109
|
That's great, I'll give it a try and let you know it works as expected or if there are any issues.
Re your questions; I have been on and off over the years yes.
Currently been going through a regrouping phase and hence spending some time getting my audio tools set up for the best work flow and sound possible.
If I had another life time I'd love to program - but I realise that is sometimes better left to specialists...but I like the conceptual design side; in fact I designed a patchbay solution within Filemaker pro when I was designing and installing studio wiring some years back...something I would love at some day to talk to a serious programmer about.
Anyway I'll be cross-fading into a recording phase shortly I hope!
How about your self ?
|
|
|
07-08-2020, 02:46 PM
|
#18
|
Human being with feelings
Join Date: Dec 2013
Posts: 109
|
Works a treat!
Just tried it - works better than my hack!
With my hack you see the flicker of the new track being created and then deleted...and there's a split second delay for the whole thing...
Your script is near instantaeous with no visible flicker...very clean.
|
|
|
07-08-2020, 03:48 PM
|
#19
|
Human being with feelings
Join Date: Dec 2017
Posts: 152
|
You're welcome, thank you for the feedback. My script does just the same by means of the API. Perhaps slightly safer, and will likely remain in the custom folder.
Re career: I kinda sensed that, good luck! As for myself, music has been a lifelong passion, which inevitably led to Reaper and scripting. All strictly as a hobby. That said, this scripting has been a useful skill.
Last edited by tufb; 07-13-2020 at 12:19 PM.
|
|
|
07-08-2020, 04:54 PM
|
#20
|
Human being with feelings
Join Date: Dec 2013
Posts: 109
|
Interesting and diverse skill set you have clearly.
We must definitely keep in touch.
Re keeping the script in the "custom folder" I'm not sure I fully understand.
But maybe it's because it's not the idea way of doing things (due to the lack of pool at split ability at present) - but I was thinking it worked well enough and as I had previously posted about this functionality on the RUG (FB) I was thinking it would be nice to share back some of the helpful scripts I've come accross or that people have generously created in response to requests.
In any case let me know your thoughts
|
|
|
07-09-2020, 02:00 AM
|
#21
|
Human being with feelings
Join Date: Dec 2017
Posts: 152
|
The custom version will not be part of my ReaPack repo (which I update from time to time), and has to be downloaded manually from the link above. Cheers
|
|
|
07-10-2020, 12:22 PM
|
#22
|
Human being with feelings
Join Date: Dec 2017
Posts: 152
|
New custom script:
bfut_Split looped item into separate items (always pool MIDI) (manual download only)
Features:
* support time signature markers
* always pool MIDI items after split
HOW TO USE:
1) Select media item(s).
2) Run the script.
Last edited by tufb; 07-10-2020 at 12:29 PM.
|
|
|
07-10-2020, 04:12 PM
|
#23
|
Human being with feelings
Join Date: Dec 2013
Posts: 109
|
Hey bfut,
I just though I should point out that the graphic in your post above makes it look as if it splits all the loops (like X-Raym's script); rather than just the looped section the mouse is hovering over...
I presume you haven't changed the functionality...
In any case I am really enjoying using this now - the drag to loop feature is WAY more useful with this added functionality.
|
|
|
07-10-2020, 06:40 PM
|
#24
|
Human being with feelings
Join Date: Dec 2017
Posts: 152
|
Quote:
Originally Posted by justcosmic1
I just though I should point out that the graphic in your post above makes it look as if it splits all the loops
|
Well, it does.
This is an update of a script of mine to support time sig markers.
|
|
|
11-15-2020, 08:07 AM
|
#25
|
Human being with feelings
Join Date: Jun 2017
Posts: 248
|
Hi! I love your split loops into copies scripts I use it so much. I just realized that it doesn't seem to work with tempo changes though, I just wanted to see if you had a fix for this? It seems that if the tempo changes anywhere in the project, the loop split will be offset from the looping point. Thanks!
|
|
|
11-15-2020, 05:21 PM
|
#26
|
Human being with feelings
Join Date: Dec 2017
Posts: 152
|
Love the feedback, thanks!
If you're talking about bfut_Split looped item into separate items.lua, then the latest version should support that. Edit: While it's not in the below screencapture, it should also work for playrate changes.
Can you give steps to reproduce or provide a screencapture?
Last edited by tufb; 11-15-2020 at 05:27 PM.
|
|
|
11-15-2020, 06:22 PM
|
#27
|
Human being with feelings
Join Date: Mar 2007
Posts: 4,018
|
Quote:
Originally Posted by tufb
The custom version will not be part of my ReaPack repo (which I update from time to time), and has to be downloaded manually from the link above. Cheers
|
But those direct links to the custom versions do not work.
Any clue, please?
e.g.
https://raw.githubusercontent.com/bf...ol%20MIDI).lua
gives "404: Not Found" error message
|
|
|
11-16-2020, 06:52 AM
|
#28
|
Human being with feelings
Join Date: Dec 2017
Posts: 152
|
I removed them, because I can't support custom scripts at this time. They are all still available for direct download from history, "rc" branch
https://github.com/bfut/ReaScripts/b...ol%20MIDI).lua
With this particular script, it is in fact virtually identical to the official version bfut_Extract loop section under mouse cursor to new item.lua, which can be downloaded with ReaPack from my Github Repo, with the exception of this flag in the code header:
Code:
local CONFIG = {
always_pool_midi = true
}
In the official version, this flag is "false".
Last edited by tufb; 11-16-2020 at 07:00 AM.
|
|
|
11-16-2020, 12:47 PM
|
#29
|
Human being with feelings
Join Date: Dec 2017
Posts: 152
|
Quote:
Originally Posted by DreamDisease
Hi! I love your split loops into copies scripts I use it so much. I just realized that it doesn't seem to work with tempo changes though, I just wanted to see if you had a fix for this? It seems that if the tempo changes anywhere in the project, the loop split will be offset from the looping point. Thanks!
|
Did you use the scripts from my personal GitHub repo or the ones included with ReaPack itself? I have to admit, the latter ones have been neglected by me. Edit: my ReaPack contributions are now up to date.
All my scripts are always up to date in my personal repo.
Last edited by tufb; 11-17-2020 at 04:51 AM.
|
|
|
11-15-2022, 02:38 PM
|
#30
|
Human being with feelings
Join Date: Dec 2017
Posts: 152
|
The 5 year anniversary of my repo is approaching fast. Thought it
is time to dust off and refurbish my first release. These scripts
propagate complex media item arrangements with ease.
Updated:
bfut_Copy items to project markers, remove overlaps.lua
bfut_Copy items within time selection to project markers, remove overlaps.lua
@version 2.2
@changelog
+ bug fixes and performance improvements
Installation as usual.
|
|
|
11-20-2022, 11:37 AM
|
#31
|
Human being with feelings
Join Date: Dec 2017
Posts: 152
|
New:
bfut_Select items of less than 1 sample in length.lua
bfut_Unselect items outside time selection.lua
bfut_Unselect items touching time selection.lua
bfut_Unselect items within time selection.lua
@version 1.0
@changelog
+ initial version
Installation
Directly from https://github.com/bfut/ReaScripts or
Copy and paste this URL in Extensions > ReaPack > Import repositories:
Code:
https://github.com/bfut/ReaScripts/raw/main/index.xml
Then install in Extensions > ReaPack > Browse packages.
|
|
|
04-23-2023, 04:34 AM
|
#32
|
Human being with feelings
Join Date: Dec 2017
Posts: 152
|
New:
bfut_Copy item properties to clipboard.lua
bfut_Paste item properties from clipboard to set selected items property (item volume).lua
bfut_Paste item properties from clipboard to set selected items property (take volume).lua
bfut_Paste item properties from clipboard to set selected items property (pan).lua
bfut_Paste item properties from clipboard to set selected items property (pitch).lua
bfut_Paste item properties from clipboard to set selected items property (playrate).lua
@version 1.0
@changelog
+ initial version
Installation
Directly from https://github.com/bfut/ReaScripts or
Copy and paste this URL in Extensions > ReaPack > Import repositories:
Code:
https://github.com/bfut/ReaScripts/raw/main/index.xml
Then install in Extensions > ReaPack > Browse packages.
|
|
|
04-25-2023, 10:16 AM
|
#33
|
Human being with feelings
Join Date: Dec 2017
Posts: 152
|
Updated:
* bfut_Copy item properties to clipboard.lua
* bfut_Paste item properties from clipboard to set selected items property (fadeinlength).lua
* bfut_Paste item properties from clipboard to set selected items property (fadeinshape).lua
* bfut_Paste item properties from clipboard to set selected items property (fadeoutlength).lua
* bfut_Paste item properties from clipboard to set selected items property (fadeoutshape).lua
* bfut_Paste item properties from clipboard to set selected items property (length).lua
* bfut_Paste item properties from clipboard to set selected items property (snapoffset).lua
* bfut_Paste item properties from clipboard to set selected items property (volume).lua
* bfut_Paste item properties from clipboard to set selected items take property (pan).lua
* bfut_Paste item properties from clipboard to set selected items take property (pitch).lua
* bfut_Paste item properties from clipboard to set selected items take property (playrate).lua
* bfut_Paste item properties from clipboard to set selected items take property (startoffset).lua
* bfut_Paste item properties from clipboard to set selected items take property (volume).lua
@version 1.1
@changelog
+ support more item and item take properties
# move to Items Properties category
These are incompatible with version 1.0.
|
|
|
04-25-2023, 11:31 AM
|
#34
|
Human being with feelings
Join Date: Oct 2011
Posts: 2,924
|
Amazing! Thank you very much!
A little issue with the fadeoutshape script. Nothing happens.
Last edited by ovnis; 04-25-2023 at 02:10 PM.
|
|
|
04-25-2023, 02:10 PM
|
#35
|
Human being with feelings
Join Date: Oct 2011
Posts: 2,924
|
And fadein shape, too.
|
|
|
04-25-2023, 02:25 PM
|
#36
|
Human being with feelings
Join Date: Oct 2011
Posts: 2,924
|
"bfut_Paste item from clipboard to selected items (replace)"
There are no lenght, fade shape and FX replace.
Edited.
|
|
|
04-25-2023, 10:09 PM
|
#37
|
Human being with feelings
Join Date: Dec 2017
Posts: 152
|
Code:
bfut_Copy item properties to clipboard.lua
bfut_Paste item properties from clipboard to set selected items property (fadeoutshape).lua
Quote:
Originally Posted by ovnis
Amazing! Thank you very much!
A little issue with the fadeoutshape script. Nothing happens.
|
Quote:
Originally Posted by ovnis
And fadein shape, too.
|
You're welcome.
Cannot reproduce. Can you share a minimal example project?
Last edited by tufb; 04-25-2023 at 10:18 PM.
|
|
|
04-25-2023, 10:17 PM
|
#38
|
Human being with feelings
Join Date: Dec 2017
Posts: 152
|
Code:
bfut_Copy item to clipboard.lua
bfut_Paste item from clipboard to selected items (replace).lua
Quote:
Originally Posted by ovnis
"bfut_Paste item from clipboard to selected items (replace)"
There are no lenght, fade shape and FX replace.
|
Thank you for your feedback!
Preserving item length is the core feature of this script set. In an example application, a large number of items of various lengths can receive a quick copy+paste update without manual GUI chores.
Mute status is also preserved.
TakeFX and Fadeoutshape are copied straight from the original item. (All GUIDs are being replaced as not to destroy the *.rpp)
|
|
|
04-27-2023, 10:22 AM
|
#39
|
Human being with feelings
Join Date: Dec 2017
Posts: 152
|
Updated:
* bfut_Copy item properties to clipboard.lua
* bfut_Paste item properties from clipboard to set selected items property (fadeinlength).lua
* bfut_Paste item properties from clipboard to set selected items property (fadeinshape).lua
...
* bfut_Paste item properties from clipboard to set selected items take property (pan).lua
* bfut_Paste item properties from clipboard to set selected items take property (pitch).lua
...
@version 1.2
@changelog
+ improved performance
# improved documentation: clarify that the Paste... scripts observe item lock status
I made it so bfut_Copy item properties to clipboard.lua no longer silently fails for items that do not have takes. Instead, default values for takes are used, which makes for more consistent usage. As with many of my other scripts, item lock status is observed.
@ovnis: Maybe one or both of the above were the source of your feedback?
|
|
|
04-28-2023, 05:10 AM
|
#40
|
Human being with feelings
Join Date: Dec 2017
Posts: 152
|
New:
* bfut_Paste item properties from clipboard to set selected items take stretch markers.lua
Updated:
* bfut_Copy item properties to clipboard.lua
* bfut_Paste item properties from clipboard to set selected items property (volume).lua
* bfut_Paste item properties from clipboard to set selected items property (length).lua
* bfut_Paste item properties from clipboard to set selected items property (snapoffset).lua
* bfut_Paste item properties from clipboard to set selected items property (fadeinlength).lua
* bfut_Paste item properties from clipboard to set selected items property (fadeoutlength).lua
* bfut_Paste item properties from clipboard to set selected items property (fadeinshape).lua
* bfut_Paste item properties from clipboard to set selected items property (fadeoutshape).lua
* bfut_Paste item properties from clipboard to set selected items take property (startoffset).lua
* bfut_Paste item properties from clipboard to set selected items take property (volume).lua
* bfut_Paste item properties from clipboard to set selected items take property (pan).lua
* bfut_Paste item properties from clipboard to set selected items take property (playrate).lua
* bfut_Paste item properties from clipboard to set selected items take property (pitch).lua
@version 1.3
@changelog
+ support copy-/pasting stretch markers
+ this script set version is incompatible with any earlier versions
To the best of my knowledge, the new script is the first copy/paste type script for stretch markers.
These are incompatible with earlier versions < 1.3
|
|
|
Thread Tools |
|
Display Modes |
Linear Mode
|
Posting Rules
|
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts
HTML code is Off
|
|
|
All times are GMT -7. The time now is 11:23 PM.
|