Old 04-14-2020, 02:55 PM   #2001
Phazma
Human being with feelings
 
Join Date: Jun 2019
Posts: 2,872
Default

Quote:
Originally Posted by Funkybot View Post
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.
Phazma is offline   Reply With Quote
Old 04-22-2020, 01:16 AM   #2002
Sexan
Human being with feelings
 
Sexan's Avatar
 
Join Date: Jun 2009
Location: Croatia
Posts: 4,528
Default

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.
Sexan is offline   Reply With Quote
Old 04-24-2020, 08:38 PM   #2003
MusoBob
Human being with feelings
 
MusoBob's Avatar
 
Join Date: Sep 2014
Posts: 2,640
Default

Quote:
Originally Posted by krahosk View Post
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.
__________________
ReaTrakStudio Chord Track for Reaper forum
www.reatrak.com
STASH Downloads https://stash.reaper.fm/u/ReaTrak
MusoBob is offline   Reply With Quote
Old 04-24-2020, 10:26 PM   #2004
Harald_v
Human being with feelings
 
Join Date: Feb 2020
Posts: 9
Default 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.
Harald_v is offline   Reply With Quote
Old 04-25-2020, 12:02 AM   #2005
mpl
Human being with feelings
 
mpl's Avatar
 
Join Date: Oct 2013
Location: Moscow, Russia
Posts: 3,956
Default

Quote:
Originally Posted by Harald_v View Post
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 )
mpl is offline   Reply With Quote
Old 04-25-2020, 03:48 PM   #2006
Harald_v
Human being with feelings
 
Join Date: Feb 2020
Posts: 9
Default

Thank you mpl for this quick answer, I'm working on my script, I'll create a new thread when it's done.
Harald_v is offline   Reply With Quote
Old 04-26-2020, 06:36 AM   #2007
jangoux
Human being with feelings
 
Join Date: Dec 2015
Posts: 30
Default

Anyone ever made a dockable volume control for reaper?
jangoux is offline   Reply With Quote
Old 05-01-2020, 12:10 AM   #2008
mpl
Human being with feelings
 
mpl's Avatar
 
Join Date: Oct 2013
Location: Moscow, Russia
Posts: 3,956
Default

Quote:
Originally Posted by jangoux View Post
Anyone ever made a dockable volume control for reaper?
Track Inspector by heda and InteractiveToolbar by me.
mpl is offline   Reply With Quote
Old 05-01-2020, 07:28 AM   #2009
STOP
Human being with feelings
 
STOP's Avatar
 
Join Date: Jul 2013
Location: Québec
Posts: 482
Default

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?
STOP is offline   Reply With Quote
Old 05-04-2020, 04:33 AM   #2010
AlienObserver
Human being with feelings
 
Join Date: May 2019
Posts: 32
Default

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.
AlienObserver is offline   Reply With Quote
Old 05-04-2020, 02:02 PM   #2011
ARkaine2
Human being with feelings
 
ARkaine2's Avatar
 
Join Date: Feb 2020
Posts: 62
Default

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.
ARkaine2 is offline   Reply With Quote
Old 05-04-2020, 07:28 PM   #2012
MusoBob
Human being with feelings
 
MusoBob's Avatar
 
Join Date: Sep 2014
Posts: 2,640
Default

Quote:
Originally Posted by ARkaine2 View Post
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 )
__________________
ReaTrakStudio Chord Track for Reaper forum
www.reatrak.com
STASH Downloads https://stash.reaper.fm/u/ReaTrak
MusoBob is offline   Reply With Quote
Old 05-05-2020, 03:00 AM   #2013
ARkaine2
Human being with feelings
 
ARkaine2's Avatar
 
Join Date: Feb 2020
Posts: 62
Default

Quote:
Originally Posted by MusoBob View Post
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.
ARkaine2 is offline   Reply With Quote
Old 05-05-2020, 04:12 AM   #2014
MusoBob
Human being with feelings
 
MusoBob's Avatar
 
Join Date: Sep 2014
Posts: 2,640
Default

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 )
__________________
ReaTrakStudio Chord Track for Reaper forum
www.reatrak.com
STASH Downloads https://stash.reaper.fm/u/ReaTrak
MusoBob is offline   Reply With Quote
Old 05-05-2020, 10:06 AM   #2015
ARkaine2
Human being with feelings
 
ARkaine2's Avatar
 
Join Date: Feb 2020
Posts: 62
Default

Quote:
Originally Posted by MusoBob View Post
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.
ARkaine2 is offline   Reply With Quote
Old 05-20-2020, 10:32 PM   #2016
whatsforbreakfast
Human being with feelings
 
Join Date: Sep 2019
Posts: 7
Default 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.
whatsforbreakfast is offline   Reply With Quote
Old 05-23-2020, 05:18 PM   #2017
zamboknee
Human being with feelings
 
Join Date: Jun 2009
Posts: 205
Default

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.
zamboknee is offline   Reply With Quote
Old 05-25-2020, 01:21 PM   #2018
jkooks
Human being with feelings
 
Join Date: May 2020
Posts: 190
Default

Quote:
Originally Posted by zamboknee View Post
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
jkooks is offline   Reply With Quote
Old 05-26-2020, 11:51 PM   #2019
Joe90
Human being with feelings
 
Join Date: Aug 2019
Posts: 853
Default 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...
Joe90 is offline   Reply With Quote
Old 05-27-2020, 06:53 AM   #2020
kneipp123
Human being with feelings
 
Join Date: Apr 2017
Posts: 96
Default 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?
kneipp123 is offline   Reply With Quote
Old 05-29-2020, 02:41 AM   #2021
Phazma
Human being with feelings
 
Join Date: Jun 2019
Posts: 2,872
Default

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.
Phazma is offline   Reply With Quote
Old 05-29-2020, 02:55 AM   #2022
Buy One
Human being with feelings
 
Buy One's Avatar
 
Join Date: Sep 2019
Posts: 1,114
Default

Quote:
Originally Posted by kneipp123 View Post
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?
Buy One is online now   Reply With Quote
Old 05-29-2020, 03:17 AM   #2023
Buy One
Human being with feelings
 
Buy One's Avatar
 
Join Date: Sep 2019
Posts: 1,114
Default 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.
Buy One is online now   Reply With Quote
Old 05-29-2020, 05:32 AM   #2024
MusoBob
Human being with feelings
 
MusoBob's Avatar
 
Join Date: Sep 2014
Posts: 2,640
Default

Quote:
Originally Posted by Phazma View Post
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 )
__________________
ReaTrakStudio Chord Track for Reaper forum
www.reatrak.com
STASH Downloads https://stash.reaper.fm/u/ReaTrak
MusoBob is offline   Reply With Quote
Old 05-29-2020, 07:19 AM   #2025
kneipp123
Human being with feelings
 
Join Date: Apr 2017
Posts: 96
Default

Quote:
Originally Posted by Buy One View Post
Will a custom action do instead?
sure. how would i do this?
kneipp123 is offline   Reply With Quote
Old 05-29-2020, 07:55 AM   #2026
Buy One
Human being with feelings
 
Buy One's Avatar
 
Join Date: Sep 2019
Posts: 1,114
Default

Quote:
Originally Posted by kneipp123 View Post
sure. how would i do this?
Quote:
Originally Posted by kneipp123 View Post
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
Buy One is online now   Reply With Quote
Old 05-29-2020, 08:03 AM   #2027
kneipp123
Human being with feelings
 
Join Date: Apr 2017
Posts: 96
Default

thank you very much!
kneipp123 is offline   Reply With Quote
Old 05-29-2020, 08:04 AM   #2028
Phazma
Human being with feelings
 
Join Date: Jun 2019
Posts: 2,872
Default

Quote:
Originally Posted by MusoBob View Post
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.
Phazma is offline   Reply With Quote
Old 05-29-2020, 11:31 AM   #2029
zamboknee
Human being with feelings
 
Join Date: Jun 2009
Posts: 205
Default

Quote:
Originally Posted by jkooks View Post
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.
zamboknee is offline   Reply With Quote
Old 05-30-2020, 09:25 AM   #2030
timbralzoom
Human being with feelings
 
timbralzoom's Avatar
 
Join Date: Apr 2010
Location: Turkey/Istanbul
Posts: 1,820
Default Save Regions to new Projects?

sorry if this discussed already,

is this possible?

automatically save Regions (or selected regions) to the separate Projects?
timbralzoom is offline   Reply With Quote
Old 05-30-2020, 01:27 PM   #2031
MusoBob
Human being with feelings
 
MusoBob's Avatar
 
Join Date: Sep 2014
Posts: 2,640
Default

Quote:
Originally Posted by timbralzoom View Post
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.
__________________
ReaTrakStudio Chord Track for Reaper forum
www.reatrak.com
STASH Downloads https://stash.reaper.fm/u/ReaTrak
MusoBob is offline   Reply With Quote
Old 05-30-2020, 02:20 PM   #2032
timbralzoom
Human being with feelings
 
timbralzoom's Avatar
 
Join Date: Apr 2010
Location: Turkey/Istanbul
Posts: 1,820
Default

Quote:
Originally Posted by MusoBob View Post
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)

timbralzoom is offline   Reply With Quote
Old 05-30-2020, 02:57 PM   #2033
MusoBob
Human being with feelings
 
MusoBob's Avatar
 
Join Date: Sep 2014
Posts: 2,640
Default

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
__________________
ReaTrakStudio Chord Track for Reaper forum
www.reatrak.com
STASH Downloads https://stash.reaper.fm/u/ReaTrak
MusoBob is offline   Reply With Quote
Old 05-30-2020, 04:36 PM   #2034
jkooks
Human being with feelings
 
Join Date: May 2020
Posts: 190
Default

Quote:
Originally Posted by zamboknee View Post
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.
Attached Files
File Type: lua Renumber Marker Names.lua (2.3 KB, 280 views)
jkooks is offline   Reply With Quote
Old 05-31-2020, 02:26 AM   #2035
Phazma
Human being with feelings
 
Join Date: Jun 2019
Posts: 2,872
Default

Solved.

Last edited by Phazma; 06-07-2020 at 02:33 PM.
Phazma is offline   Reply With Quote
Old 06-05-2020, 03:24 PM   #2036
chumbo
Human being with feelings
 
Join Date: Apr 2015
Location: Brussels, Belgium
Posts: 704
Default 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!

chumbo is offline   Reply With Quote
Old 06-07-2020, 02:41 PM   #2037
Phazma
Human being with feelings
 
Join Date: Jun 2019
Posts: 2,872
Default

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.
Phazma is offline   Reply With Quote
Old 06-07-2020, 04:38 PM   #2038
MusoBob
Human being with feelings
 
MusoBob's Avatar
 
Join Date: Sep 2014
Posts: 2,640
Default

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 )
__________________
ReaTrakStudio Chord Track for Reaper forum
www.reatrak.com
STASH Downloads https://stash.reaper.fm/u/ReaTrak
MusoBob is offline   Reply With Quote
Old 06-07-2020, 05:26 PM   #2039
Phazma
Human being with feelings
 
Join Date: Jun 2019
Posts: 2,872
Default

Quote:
Originally Posted by MusoBob View Post
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.
Phazma is offline   Reply With Quote
Old 06-15-2020, 10:37 AM   #2040
Mottemania
Human being with feelings
 
Join Date: Apr 2016
Posts: 103
Default

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?
Mottemania 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 01:49 AM.


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