|
|
|
04-14-2020, 02:55 PM
|
#2001
|
Human being with feelings
Join Date: Jun 2019
Posts: 2,872
|
Quote:
Originally Posted by Funkybot
Script Request #2: Export changed preference list.
|
Great idea, +1!
This would help if I show Reaper to someone and he wants to switch over and use it similarly to me.
I would give him my configuration file but he might dislike some or many of my shortcuts and when he later looks up how to do some things he would be lost because nothing works as in the manual. With such a script it could be avoided that he turns to me with every question but he can just check the text file to see what I have changed and revert it easily if he dislikes it.
|
|
|
04-22-2020, 01:16 AM
|
#2002
|
Human being with feelings
Join Date: Jun 2009
Location: Croatia
Posts: 4,528
|
Can someone point me to some code how to convert envelope value from one scaling to another. Is it possible to have 1 general function for that?
For example function is only working in non amp scaling for manipulating with data (insert,modify etc) so only input is converted?
Or everything needs to be converted every time?
Asking for easiest implementation for Area51 Script (things get messy sometimes).
I'm also translating values (for non matching envelopes). But something is not right somewhere:
Code:
local active, visible, armed, inLane, laneHeight, defaultShape, minValue, maxValue, centerValue, type_, faderScaling = reaper.BR_EnvGetProperties(br_env, true, true, true, true, 0, 0, 0, 0, 0, 0, true)
This one returns always same min,max,center no matter what scaling it is. So pasting in fader scaling should be totally broken (since I'm translating), but it is not. But when pasting on amp scaling envelope it gets broken even if I'm converting with scalefrom-scaleto API. So I'm not sure how do I approach this.
Report from fader scaled envelope
Since I'm translating values before inserting this should be broken, but its not, I'm not converting anything here, just raw values + translate
EDIT: Sorry everyone, I've done it (was easier than I thought, but the min max values confused me since they are always returning same):
Code:
function Check_env_scaling(src, dst, val)
local mode_s = reaper.GetEnvelopeScalingMode( src )
local mode_d = reaper.GetEnvelopeScalingMode( dst )
if mode_s ~= mode_d then
if mode_s == 1 and mode_d == 0 then
val = reaper.ScaleFromEnvelopeMode(1, val)
else
val = reaper.ScaleToEnvelopeMode(1, val)
end
end
return val
end
Last edited by Sexan; 04-22-2020 at 02:25 AM.
|
|
|
04-24-2020, 08:38 PM
|
#2003
|
Human being with feelings
Join Date: Sep 2014
Posts: 2,640
|
Quote:
Originally Posted by krahosk
Ready to pay for this.
What I need is a script that:
- displays a GUI of a fretboard (interactive);
- displays the corresponding note in the MIDI Editor when I click a specific fret
- assigns the note a MIDI channel between 1 and 6 according to the string
if possible:
- when I left click on the fretboard, the MIDI editor moves on the the following note;
- when I right click on the fretboard, the MIDI editor stays at the same time position
You can send me a private message.
Merci beaucoup!
|
I was thinking it would be good to be able to scale the size of the GUI I think I could do that with the Lokasenna GUI I will have a play with it. Also I could maybe use native Reaper GUI.
For now another idea is Dfk Custom Toolbar Utility
https://forum.cockos.com/showthread.php?t=231684
you can create buttons as frets and the button is linked to the insert midi note commands or script.
|
|
|
04-24-2020, 10:26 PM
|
#2004
|
Human being with feelings
Join Date: Feb 2020
Posts: 9
|
Script to get peak and average db, for every note and every velocity of a VSTi
As the title say, I'd like to know the peak and average db, for every note and every velocity of a VSTi.
It should play the same notes with same params multiple times (for round robin).
It could be useful to set a real relation between notation dynamics (pp, mf, f, ff...) and velocity according to the VSTi used.
And also to test libraries out there. It could be a great tool. That's why I hope a seasoned reascript dev could do this or at least point out how to do this (I've just learned the basics right now).
I think I could add every note at every velocity through code, but I have no idea at all how to record the decibels (peak and average).
Last edited by Harald_v; 04-24-2020 at 10:38 PM.
|
|
|
04-25-2020, 12:02 AM
|
#2005
|
Human being with feelings
Join Date: Oct 2013
Location: Moscow, Russia
Posts: 3,956
|
Quote:
Originally Posted by Harald_v
but I have no idea at all how to record the decibels (peak and average).
|
SWS Extension API nofish stuff (APis starting at "NF_")
Quote:
reaper.NF_AnalyzeMediaItemPeakAndRMS( item, windowSize, reaper.array_peaks, reaper.array_peakpositions, reaper.array_RMSs, reaper.array_RMSpositions )
|
|
|
|
04-25-2020, 03:48 PM
|
#2006
|
Human being with feelings
Join Date: Feb 2020
Posts: 9
|
Thank you mpl for this quick answer, I'm working on my script, I'll create a new thread when it's done.
|
|
|
04-26-2020, 06:36 AM
|
#2007
|
Human being with feelings
Join Date: Dec 2015
Posts: 30
|
Anyone ever made a dockable volume control for reaper?
|
|
|
05-01-2020, 12:10 AM
|
#2008
|
Human being with feelings
Join Date: Oct 2013
Location: Moscow, Russia
Posts: 3,956
|
Quote:
Originally Posted by jangoux
Anyone ever made a dockable volume control for reaper?
|
Track Inspector by heda and InteractiveToolbar by me.
|
|
|
05-01-2020, 07:28 AM
|
#2009
|
Human being with feelings
Join Date: Jul 2013
Location: Québec
Posts: 482
|
Code:
--[[
Description: Move cursor ahead four seconds.
--]]
reaper.MoveEditCursor(4, false)
cur_pos = reaper.GetCursorPosition()
reaper.SetEditCurPos(cur_pos, false, true)
Somebody ask for a fast forward in play mode, so I create that lua script (btw I'm not a coder).
The problem is that it move the edit cursor and he wan't only the play cursor to move ahead.
Is there a way to move ahead only the play cursor?
|
|
|
05-04-2020, 04:33 AM
|
#2010
|
Human being with feelings
Join Date: May 2019
Posts: 32
|
Hello all!
I was recently watching some Spitfire audio videos on Youtube, and in one of them they showed a way to create a tempo map from recorded midi notes. The catch is that they showed that in Logic.
The idea is that you record without using metronome, and then you are able to select some notes and automatically create a tempo map so the notes you select are exactly on the downbeat of the measure. You can see exactly what I'm talking about here:
https://youtu.be/oxS9SxTXxE4?t=516
Would it be possible to this be done with a script?
User mpl even suggested that the script could even open a window with related options, that would be just fantastic.
|
|
|
05-04-2020, 02:02 PM
|
#2011
|
Human being with feelings
Join Date: Feb 2020
Posts: 62
|
Please help me.
I need script like "Set Time Selection to all Regions".
That will add start of time selection to start of first region in project and end of time selection to end of last (or first, if it's only one in project) region.
|
|
|
05-04-2020, 07:28 PM
|
#2012
|
Human being with feelings
Join Date: Sep 2014
Posts: 2,640
|
Quote:
Originally Posted by ARkaine2
Please help me.
I need script like "Set Time Selection to all Regions".
That will add start of time selection to start of first region in project and end of time selection to end of last (or first, if it's only one in project) region.
|
Try this, it may need modifying if you have markers also.
Code:
retval, num_markers, num_regions = reaper.CountProjectMarkers( 0 )
retval, isrgn, pos_start, rgnend, name, markrgnindexnumber, color = reaper.EnumProjectMarkers3( 0, 0 )
retval, isrgn, pos, rgnend_end, name, markrgnindexnumber, color = reaper.EnumProjectMarkers3( 0, num_regions -1 )
pos_start, rgnend_end = reaper.GetSet_LoopTimeRange2( 0, true, false, pos_start, rgnend_end, 0 )
|
|
|
05-05-2020, 03:00 AM
|
#2013
|
Human being with feelings
Join Date: Feb 2020
Posts: 62
|
Quote:
Originally Posted by MusoBob
Try this, it may need modifying if you have markers also.
Code:
retval, num_markers, num_regions = reaper.CountProjectMarkers( 0 )
retval, isrgn, pos_start, rgnend, name, markrgnindexnumber, color = reaper.EnumProjectMarkers3( 0, 0 )
retval, isrgn, pos, rgnend_end, name, markrgnindexnumber, color = reaper.EnumProjectMarkers3( 0, num_regions -1 )
pos_start, rgnend_end = reaper.GetSet_LoopTimeRange2( 0, true, false, pos_start, rgnend_end, 0 )
|
Thanks, it works, but it works fine only when without markers.
When there's at least one marker it moves time selection to this marker:
If there's region after marker, it moves time selection right to region end.
If there's no regions, it moves time selection before first marker.
How it can be fixed? Need move time selection only to regions.
|
|
|
05-05-2020, 04:12 AM
|
#2014
|
Human being with feelings
Join Date: Sep 2014
Posts: 2,640
|
Try this if it don't work I'll look again in the morning:
Code:
retval, num_markers, num_regions = reaper.CountProjectMarkers( 0 )
for i = 0, num_regions + num_markers do
retval, isrgn, pos, rgnend, name, markrgnindexnumber, color = reaper.EnumProjectMarkers3( 0, i )
if isrgn then first_region = i break end
end
for i = 0, num_regions + num_markers do
retval, isrgn, pos, rgnend, name, markrgnindexnumber, color = reaper.EnumProjectMarkers3( 0, i )
if isrgn then last_region = i end
end
retval, isrgn, pos_start, rgnend, name, markrgnindexnumber, color = reaper.EnumProjectMarkers3( 0, first_region )
retval, isrgn, pos, rgnend_end, name, markrgnindexnumber, color = reaper.EnumProjectMarkers3( 0, last_region )
pos_start, rgnend_end = reaper.GetSet_LoopTimeRange2( 0, true, false, pos_start, rgnend_end, 0 )
|
|
|
05-05-2020, 10:06 AM
|
#2015
|
Human being with feelings
Join Date: Feb 2020
Posts: 62
|
Quote:
Originally Posted by MusoBob
Try this if it don't work I'll look again in the morning:
Code:
retval, num_markers, num_regions = reaper.CountProjectMarkers( 0 )
for i = 0, num_regions + num_markers do
retval, isrgn, pos, rgnend, name, markrgnindexnumber, color = reaper.EnumProjectMarkers3( 0, i )
if isrgn then first_region = i break end
end
for i = 0, num_regions + num_markers do
retval, isrgn, pos, rgnend, name, markrgnindexnumber, color = reaper.EnumProjectMarkers3( 0, i )
if isrgn then last_region = i end
end
retval, isrgn, pos_start, rgnend, name, markrgnindexnumber, color = reaper.EnumProjectMarkers3( 0, first_region )
retval, isrgn, pos, rgnend_end, name, markrgnindexnumber, color = reaper.EnumProjectMarkers3( 0, last_region )
pos_start, rgnend_end = reaper.GetSet_LoopTimeRange2( 0, true, false, pos_start, rgnend_end, 0 )
|
It works fine.
Thanks a lot!
If there will be problems with this script, I'll write in this thread.
Thanks one more time.
|
|
|
05-20-2020, 10:32 PM
|
#2016
|
Human being with feelings
Join Date: Sep 2019
Posts: 7
|
Looper for MIDI notes?
Anyone up for making something like ReaDelay but for MIDI notes? ReaDelay works really well as a looper for audio and I want to be able to do the same thing with MIDI. Here's a link to a quick clip I made demonstrating this
https://youtu.be/wNNRCH0tC0E
Basically the guitar track has a send to the ReaDelay (Looper) track that's only on for the duration of the loop recording, then the looper track turns itself on with volume automation. ReaDelay is also configured to the desired length in 8th notes, and the repeats set to infinite. Hope that's clear in the clip. Using the send means the loop can be locked to the grid and never drift which is really nice.
I'd love to be able to achieve the same functionality but with MIDI notes. Then I can have a VST synth track for example, and then a Looper track similar to the guitar/ReaDelay scenario, but this time sending MIDI from the Looper track to the VST track. Then I can play something like a chord progression for example, and it keeps playing it back into the synth until automation tells it otherwise.
MIDI Note Echo by Time_Waster comes really close to being able to do this, but I ran into problems where sometimes it just ignores however many milliseconds or repeats I put in and just does it's own thing.
https://stash.reaper.fm/v/35309/MIDINoteEcho.jsfx
I think the way it would work would be to have the looper and the synth in the same FX chain on one track (in that order), and a second track that sends it's MIDI info to the instrument track. That way the send can be used to lock the signal to the grid in the same way it does for the guitar/ReaDelay example.
Anyone think this can be done? I will happily buy a case of beer for anyone who can pull this off
Edit: The absolute mad lad u/bobwaht over on Reddit behind the amazing Reflectosaurus delay/reverb plugin was able to do pull this off for me. Here's the code for anyone down the line looking to solve the same issue
Code:
license: MIT
(C) Joep Vanlier 2020
desc:MIDI Delay Thing
slider1:delay_time=1<1,128,1>Delay (quarter notes)
slider2:feedback=0.5<0,1,.0001>Feedback
slider3:nuke_buffer=0<0,1,1>Nuke
slider4:record=1<0,1,1>Record
in_pin:left input
in_pin:right input
out_pin:left output
out_pin:right output
@init
function nuke()
(
note_count = 0;
N_data = 5;
minimal_decay = .01; // At which note level to remove the note
// Reset buffer on init.
midi_buffer = 0;
memset(midi_buffer, 0, 32768);
);
nuke();
@slider
nuke_buffer > 0 ? (
nuke_buffer = 0;
nuke();
);
@block
delay = floor(delay_time * srate * (60/tempo) / ts_num);
note_on = $x90;
note_off = $x80;
while(midirecv(offset, msg, pitch, vel)) (
type = msg & 0xf0;
repeat_this = type == note_on || type == note_off;
// Passthrough
midisend(offset, msg, pitch, vel);
// Store in buffer
repeat_this && record ? (
ptr = midi_buffer + N_data * note_count;
ptr[] = cSample + offset + delay;
ptr[1] = msg;
ptr[2] = pitch;
ptr[3] = vel;
ptr[4] = 1.0;
note_count += 1;
);
);
i = 0;
ptr = midi_buffer;
while(i < note_count) (
alhs = ptr[];
arhs = cSample;
ptr[] >= cSample && ptr[] < (cSample + samplesblock) ? (
ptr[4] *= feedback;
decay_level = ptr[4];
midisend(ptr[] - cSample, ptr[1], ptr[2], ptr[3] * decay_level);
decay_level > minimal_decay ? (
ptr[] += delay;
) : (
memcpy(ptr, ptr + N_data, N_data * (note_count - i + 1));
note_count -= 1;
ptr -= N_data;
i -= 1;
);
);
ptr += N_data;
i += 1;
);
@sample
/* Doing this in @sample was not accurate enough
i = 0;
ptr = midi_buffer;
while(i < note_count) (
alhs = ptr[];
arhs = cSample;
ptr[] == cSample ? (
ptr[4] *= feedback;
decay_level = ptr[4];
midisend(0, ptr[1], ptr[2], ptr[3] * decay_level);
decay_level > minimal_decay ? (
ptr[] += delay;
) : (
memcpy(ptr, ptr + N_data, N_data * (note_count - i + 1));
note_count -= 1;
ptr -= N_data;
i -= 1;
);
);
ptr += N_data;
i += 1;
);*/
cSample += 1;
@gfx
gfx_set(0, 0, 0, 0);
gfx_rect(0, 0, gfx_w, gfx_h);
gfx_setfont(1, "Arial", .5*gfx_h);
gfx_set(1, 1, 1, 1);
gfx_x = 0;
gfx_y = 0;
gfx_printf("Notes");
gfx_x = 0;
gfx_y = .5*gfx_h;
gfx_printf("%d", note_count);
Reflectosaurus: https://redd.it/gumdh8
Last edited by whatsforbreakfast; 06-06-2020 at 01:44 AM.
|
|
|
05-23-2020, 05:18 PM
|
#2017
|
Human being with feelings
Join Date: Jun 2009
Posts: 205
|
Looking for a script that will do sequential marker ID numbering.
For instance, first marker would be '331' and then the next marker I insert would be '332' and so on.
Tinkered with the built in marker actions ('renumbering') and the SWS actions but nothing fit the bill here.
Thank you.
|
|
|
05-25-2020, 01:21 PM
|
#2018
|
Human being with feelings
Join Date: May 2020
Posts: 190
|
Quote:
Originally Posted by zamboknee
Looking for a script that will do sequential marker ID numbering.
For instance, first marker would be '331' and then the next marker I insert would be '332' and so on.
Tinkered with the built in marker actions ('renumbering') and the SWS actions but nothing fit the bill here.
Thank you.
|
Do you need this to renumber markers that already exist or add new ones?
If you need it to make new ones at the beginning of every file, try this and see if it does what you need it to do! I made it for someone else's pipeline but it should work for what you need. By the way, it takes whatever the last number is in the sequence and then adds on to it for additional markers (or it starts at 1 if there is no number at the end).
The script is in the original thread: https://forum.cockos.com/showthread.php?t=236466
Last edited by jkooks; 05-26-2020 at 12:47 PM.
Reason: Ask another question
|
|
|
05-26-2020, 11:51 PM
|
#2019
|
Human being with feelings
Join Date: Aug 2019
Posts: 853
|
Solo and play selected items from mouse cursor position
Hi All,
I'm looking for a way to select an item or multiple items, hit a shortcut, and those items will play soloed from my mouse cursor position until the shortcut is released. The item selection should NOT be dependant on mouse cursor position, as that would exclude using this on multiple items. It should follow the item selection when the script is triggered, and mouse cursor position should be used to show play position only.
Ideally it should work via item soloing, not track soloing, because fast track soloing/unsoloing can cause spikes with APFX in heavy projects, whereas item soloing always works smoothly and instantly, even if you're listening through the exact same chain (don't ask me why, I wish I knew, probably something to do with Reapers ability to contain 64 channels on one track).
There are a few scripts like this already, but none of them work on multiple selected items and also use mouse cursor for play position.
Hopefully someone can help...
|
|
|
05-27-2020, 06:53 AM
|
#2020
|
Human being with feelings
Join Date: Apr 2017
Posts: 96
|
move item to time selection?
is it possible to make this as a script?
i have found scripts that move selected item to time selection with looping
and stretching. but could this be modified to only move the selected item to beginning of time selection without stretch or loop?
|
|
|
05-29-2020, 02:41 AM
|
#2021
|
Human being with feelings
Join Date: Jun 2019
Posts: 2,872
|
Anybody feels like making a script that sets the project tempo to a specific BPM that can be configured in a user input area inside the script?
I have a few BPM values that I use often so I can see myself make a few duplicates of the script with different values and make toolbar buttons with them.
|
|
|
05-29-2020, 02:55 AM
|
#2022
|
Human being with feelings
Join Date: Sep 2019
Posts: 1,114
|
Quote:
Originally Posted by kneipp123
is it possible to make this as a script?
i have found scripts that move selected item to time selection with looping
and stretching. but could this be modified to only move the selected item to beginning of time selection without stretch or loop?
|
Will a custom action do instead?
|
|
|
05-29-2020, 03:17 AM
|
#2023
|
Human being with feelings
Join Date: Sep 2019
Posts: 1,114
|
Adjust take pitch envelope by a set value
Would appreciate a few scripts to adjust take pitch envelope in selected item(s) by 1 st and 1 oct, that is 2 for increase and 2 for decrease.
|
|
|
05-29-2020, 05:32 AM
|
#2024
|
Human being with feelings
Join Date: Sep 2014
Posts: 2,640
|
Quote:
Originally Posted by Phazma
Anybody feels like making a script that sets the project tempo to a specific BPM that can be configured in a user input area inside the script?
I have a few BPM values that I use often so I can see myself make a few duplicates of the script with different values and make toolbar buttons with them.
|
Is this what you mean ?
Code:
bpm = 120
reaper.SetCurrentBPM( 0, bpm, 1 )
|
|
|
05-29-2020, 07:19 AM
|
#2025
|
Human being with feelings
Join Date: Apr 2017
Posts: 96
|
Quote:
Originally Posted by Buy One
Will a custom action do instead?
|
sure. how would i do this?
|
|
|
05-29-2020, 07:55 AM
|
#2026
|
Human being with feelings
Join Date: Sep 2019
Posts: 1,114
|
Quote:
Originally Posted by kneipp123
sure. how would i do this?
|
Quote:
Originally Posted by kneipp123
but could this be modified to only move the selected item to beginning of time selection without stretch or loop?
|
Custom: Move selected or grouped item(s) to start of time selection
Go to start of time selection
Item edit: Move position of item to edit cursor
Custom: Move selected or grouped item(s) to start of time selection 2
Go to start of time selection
Xenakios/SWS: Move selected items to edit cursor
I've also attached a dump of these macros
|
|
|
05-29-2020, 08:03 AM
|
#2027
|
Human being with feelings
Join Date: Apr 2017
Posts: 96
|
thank you very much!
|
|
|
05-29-2020, 08:04 AM
|
#2028
|
Human being with feelings
Join Date: Jun 2019
Posts: 2,872
|
Quote:
Originally Posted by MusoBob
Is this what you mean ?
Code:
bpm = 120
reaper.SetCurrentBPM( 0, bpm, 1 )
|
Exactly, thank you! Knew it was just going to be a one-liner, need to find time to study Reascript so I can do these simple things myself.
|
|
|
05-29-2020, 11:31 AM
|
#2029
|
Human being with feelings
Join Date: Jun 2009
Posts: 205
|
Quote:
Originally Posted by jkooks
Do you need this to renumber markers that already exist or add new ones?
If you need it to make new ones at the beginning of every file, try this and see if it does what you need it to do! I made it for someone else's pipeline but it should work for what you need. By the way, it takes whatever the last number is in the sequence and then adds on to it for additional markers (or it starts at 1 if there is no number at the end).
The script is in the original thread: https://forum.cockos.com/showthread.php?t=236466
|
Already there markers.
|
|
|
05-30-2020, 09:25 AM
|
#2030
|
Human being with feelings
Join Date: Apr 2010
Location: Turkey/Istanbul
Posts: 1,820
|
Save Regions to new Projects?
sorry if this discussed already,
is this possible?
automatically save Regions (or selected regions) to the separate Projects?
|
|
|
05-30-2020, 01:27 PM
|
#2031
|
Human being with feelings
Join Date: Sep 2014
Posts: 2,640
|
Quote:
Originally Posted by timbralzoom
sorry if this discussed already,
is this possible?
automatically save Regions (or selected regions) to the separate Projects?
|
cfillion Copy/paste project markers and/or regions
will paste in new project tab.
In ReaTrak also there is copy region and content.
|
|
|
05-30-2020, 02:20 PM
|
#2032
|
Human being with feelings
Join Date: Apr 2010
Location: Turkey/Istanbul
Posts: 1,820
|
Quote:
Originally Posted by MusoBob
cfillion Copy/paste project markers and/or regions
will paste in new project tab.
In ReaTrak also there is copy region and content.
|
Ah!
sorry, now i see my Q. wasn't clear
i was looking for something like
auto crop to their timeline length and save the selected regions
with tracks and contents to the new individual projects
so a new project for every region..
without re loading the master project after every crop & save.
i think would useful especially for the backup purpose for the large projects
for example i am very happy to work like this..
in the pic. there is currently 20+ episodes of a documentary
(yellow regions each 24 mins length)
and i was looking for an easy way to save that regions individually to the new projects
--again, just for the having separate backups of them .. just in case--
(would great bonus if the region name also applied to project name automatically)
|
|
|
05-30-2020, 02:57 PM
|
#2033
|
Human being with feelings
Join Date: Sep 2014
Posts: 2,640
|
That should be doable if there's nothing already to do it.
It would select the first if it's yellow
Time selection: Crop project to time selection
save project as region name
undo
select next region if yellow
Time selection: Crop project to time selection
save project as region name
undo
select next region if yellow
|
|
|
05-30-2020, 04:36 PM
|
#2034
|
Human being with feelings
Join Date: May 2020
Posts: 190
|
Quote:
Originally Posted by zamboknee
Already there markers.
|
Try this script, it should work. It grabs whatever the last number is in the first marker name and will just add on to it for every existing marker (it skips regions though).
Let me know if there are any issues with this or if you need me to change anything.
|
|
|
05-31-2020, 02:26 AM
|
#2035
|
Human being with feelings
Join Date: Jun 2019
Posts: 2,872
|
Solved.
Last edited by Phazma; 06-07-2020 at 02:33 PM.
|
|
|
06-05-2020, 03:24 PM
|
#2036
|
Human being with feelings
Join Date: Apr 2015
Location: Brussels, Belgium
Posts: 704
|
Copy/Paste area aka Sound Forge?
Hi,
I'm hoping it won't be too difficult to come up with a script that could emulate how Sound Forge (and probably other apps/DAWs?) implements copy/pasting of areas of an item.
It would be much more complicated for me to explain and for you the reader to understand a written explanation vs a simple gif as below.
I'll however at least explain what I'm doing in the gif...
You'll see me first copy a small area and paste it over a larger selection and then - after an 'Undo' - the reverse...a larger area pasted over a smaller selection.
Observe how the destination shrinks or expands to fit the original size.
Can this be done in Reaper...with a script?
Thanks!
|
|
|
06-07-2020, 02:41 PM
|
#2037
|
Human being with feelings
Join Date: Jun 2019
Posts: 2,872
|
Anybody who could make a script that pans a selected take to the left by 10% (and another one for panning to the right by 10%)?
Should behave like this example: I start with a take panned 45%R. I run the left panning script 2 times and the take's pan is set to 25%R. Then I run the right panning script 3 times and the take's pan ends up at 55%R. Lastly I run the left panning script 6 times and the take is set to 5%L.
|
|
|
06-07-2020, 04:38 PM
|
#2038
|
Human being with feelings
Join Date: Sep 2014
Posts: 2,640
|
Code:
newvalue = 0 -- set the value to add
selitem = reaper.GetSelectedMediaItem( 0, 0 )
take = reaper.GetActiveTake( selitem )
pan_value = reaper.GetMediaItemTakeInfo_Value( take, "D_PAN")
reaper.SetMediaItemTakeInfo_Value( take, "D_PAN", pan_value + newvalue )
|
|
|
06-07-2020, 05:26 PM
|
#2039
|
Human being with feelings
Join Date: Jun 2019
Posts: 2,872
|
Quote:
Originally Posted by MusoBob
Code:
newvalue = 0 -- set the value to add
selitem = reaper.GetSelectedMediaItem( 0, 0 )
take = reaper.GetActiveTake( selitem )
pan_value = reaper.GetMediaItemTakeInfo_Value( take, "D_PAN")
reaper.SetMediaItemTakeInfo_Value( take, "D_PAN", pan_value + newvalue )
|
Works great! Thanks for always being helpful!
Btw if anyone else wants to use this script, values are to set between 0 and 1.
Took me a minute to figure out what to input, but is pretty logical.
|
|
|
06-15-2020, 10:37 AM
|
#2040
|
Human being with feelings
Join Date: Apr 2016
Posts: 103
|
Heyho, I just installed this script "Script: amagalma_Toggle take volume envelope visible for all takes of all items in project.lua" but Reaper gives me this one:
...velope visible for all takes of all items in project.lua:147: bad argument #1 to 'SetActiveTake' (MediaItem_Take expected)
But the script is actually working, but the error is a tiny bit annoying. Du you have any idea?
|
|
|
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:33 PM.
|