Old 09-22-2017, 05:38 AM   #121
lexaproductions
Human being with feelings
 
Join Date: Jan 2013
Posts: 1,126
Default

Hi me2beats

There already are actions for "go to region ###" and "go to marker ###" in In the action list. and I use those function a lot to navigate in projects using action markers.

But I think it would be more flexible to just have a "go to measure ###". Would it be hard to do?
lexaproductions is offline   Reply With Quote
Old 09-22-2017, 08:07 PM   #122
hopi
Human being with feelings
 
hopi's Avatar
 
Join Date: Oct 2008
Location: Right Hear
Posts: 15,618
Default

me2 can you plz look at the Searcher thread? I would like to use it but get the error I have posted in that thread...
__________________
...should be fixed for the next build... http://tinyurl.com/cr7o7yl
https://soundcloud.com/hopikiva
hopi is offline   Reply With Quote
Old 09-23-2017, 03:24 AM   #123
me2beats
Human being with feelings
 
me2beats's Avatar
 
Join Date: Jul 2015
Location: Yekaterinburg, Russia
Posts: 400
Default

Quote:
Originally Posted by lexaproductions View Post
I think it would be more flexible to just have a "go to measure ###". Would it be hard to do?
Hi! Pls check:
Go to measure.lua
Move cursor to measure.lua
Go to measure 8.lua
Move cursor to measure 8.lua

Quote:
Originally Posted by hopi View Post
me2 can you plz look at the Searcher thread? I would like to use it but get the error I have posted in that thread...
Hi!
I'll pm you soon
__________________
My Reapack Repo
Donation
me2beats is offline   Reply With Quote
Old 09-23-2017, 08:43 AM   #124
hopi
Human being with feelings
 
hopi's Avatar
 
Join Date: Oct 2008
Location: Right Hear
Posts: 15,618
Default

Thanks for the PM and for the 0.96 searcher versions... they work...

What a useful script! Great idea...

I can now so easily find other tracks in other projects and just drag and drop them from Searcher into the current project, ready to use as new track.
__________________
...should be fixed for the next build... http://tinyurl.com/cr7o7yl
https://soundcloud.com/hopikiva
hopi is offline   Reply With Quote
Old 09-28-2017, 02:40 PM   #125
Arthur McArthur
Human being with feelings
 
Arthur McArthur's Avatar
 
Join Date: Sep 2016
Location: Toronto
Posts: 744
Default

Hi me2beats, 3 new requests:

go to end of project no seek
go to start of project no seek
delete small notes at the end and the beginning of midi items (a way to get rid of those tiny notes that get created when splitting a midi item in two)
Arthur McArthur is offline   Reply With Quote
Old 09-29-2017, 12:28 PM   #126
me2beats
Human being with feelings
 
me2beats's Avatar
 
Join Date: Jul 2015
Location: Yekaterinburg, Russia
Posts: 400
Default

Quote:
Originally Posted by Arthur McArthur View Post
Hi me2beats, 3 new requests:

go to end of project no seek
go to start of project no seek
delete small notes at the end and the beginning of midi items (a way to get rid of those tiny notes that get created when splitting a midi item in two)
Delete small notes at item edges (active take).lua
Delete small notes at item edges (MIDI Editor).lua
https://imgur.com/hkQ3rMo

Move cursor to start of project.lua
Move cursor to end of project.lua
__________________
My Reapack Repo
Donation
me2beats is offline   Reply With Quote
Old 10-05-2017, 02:30 PM   #127
Arthur McArthur
Human being with feelings
 
Arthur McArthur's Avatar
 
Join Date: Sep 2016
Location: Toronto
Posts: 744
Default

Thank you!
Arthur McArthur is offline   Reply With Quote
Old 11-22-2017, 07:58 AM   #128
lexaproductions
Human being with feelings
 
Join Date: Jan 2013
Posts: 1,126
Default

Hello Sir.
I'd like to know if it would be a big job for you to rewrite this script in LUA?

Code:
// Big Tempo and Beat indicator (EEL script by Vindes)
// Right click on window -> select what items to show (and automatically save state)
// Left click on window -> cycle through formats of Time display

// Initial values
font_name = "Arial";
window_w = 300;
window_h = 150;
format = 2;
font_size = 0;
show_time = show_tempo = show_beat = 1;
show_marker = 0;
lock_to_cursor = 0;

function init(window_w, window_h)
(
  get_action_context(#filename, sectionID, cmdID, mode, resolution, val);
  match ("*\\%s.eel", #filename, #script_name);

  HasExtState(#script_name, "window_size") ? ( GetExtState(#state_value, #script_name, "window_size") ;
  match ("%ix%i@%i,%i:%i", #state_value, window_w, window_h, wx, wy, dock_state); );

  gfx_init(#script_name, window_w, window_h, dock_state, wx, wy);
  font_size = (window_h - 15) / 3;
  gfx_setfont(1, font_name, font_size);
  gfx_a = 1; gfx_r = 1; gfx_g = 1; gfx_b = 1; gfx_clear = 0x303030; 

  show_region = HasExtState(#script_name, "show_region");
  show_marker = HasExtState(#script_name, "show_marker");
  show_time = HasExtState(#script_name, "show_time");
  show_tempo = HasExtState(#script_name, "show_tempo");
  show_beat = HasExtState(#script_name, "show_beat");
  lock_to_cursor = HasExtState(#script_name, "lock_to_cursor");
);

function run()
(
  GetPlayState() == 0 || GetPlayState() == 2 || lock_to_cursor ? the_time = GetCursorPosition() : the_time = GetPlayPosition2();
  line_space = font_size / 10;
  line_count = 0;
  gfx_y = line_space;
  
  format_timestr_pos(the_time, #time_string, 1);
  match ("%i.%i.%i", #time_string, measure, beat, fraction);
  TimeMap_GetTimeSigAtTime(0, the_time, timesig_num, timesig_denom, tempo);
  

// Show Marker and/or Region
  show_marker || show_region ? (
//    EnumProjectMarkers(int idx, bool &isrgn, &pos, &rgnend, #name, int &markrgnindexnumber);
    GetLastMarkerAndCurRegion(0, the_time, marker_index, region_index);
    region_index >= 0 ? ( EnumProjectMarkers3(0, region_index, 1, 0, 0, #region_name, 0, region_color) ) :
        ( #region_name = "- no region -" ; region_color = 0x707070 ) ;
    marker_index >= 0 ? ( EnumProjectMarkers3(0, marker_index, 0, 0, 0, #marker_name, 0, marker_color) ) : 
        ( #marker_name = "- no marker -" ; marker_color = 0x707070 ) ;

    show_region ? (
      region_color ? (gfx_r = (region_color & 0xff) / 0xff; gfx_g = (region_color & 0xff00) / 0xff00; gfx_b = (region_color & 0xff0000) / 0xff0000) :
        ( gfx_r = 1; gfx_g = 1;  gfx_b = 1) ;

      gfx_measurestr(#region_name, str_w, str_h);
      gfx_x = 0.5*(gfx_w - str_w);
      gfx_printf(#region_name);
      line_count += 1;    gfx_y += gfx_texth + line_space;
      );
    
    show_marker ? (
    gfx_measurestr(#marker_name, str_w, str_h);

    marker_color ? (gfx_r = (marker_color & 0xff) / 0xff; gfx_g = (marker_color & 0xff00) / 0xff00; gfx_b = (marker_color & 0xff0000) / 0xff0000) :
      ( gfx_r = 1; gfx_g = 1;  gfx_b = 1) ;
    gfx_x = 0.5*(gfx_w - str_w);
    gfx_printf(#marker_name);
    line_count += 1;    gfx_y += gfx_texth + line_space;
    );
  );

// Show Time  
  show_time ? (
    format_timestr_pos(the_time, #time_string, format) ;
    format == 2 ?  sprintf (#time_string, "%u.%2u", measure, beat) ; // not sure why this is necessary - format 2 supposed to be like this
    gfx_measurestr(#time_string, str_w, str_h);
    
    gfx_r = 1; gfx_g = 1;  gfx_b = 1; 
    gfx_x = 0.5*(gfx_w - str_w);
    gfx_printf(#time_string);
    line_count += 1;    gfx_y += gfx_texth + line_space;
  );

// Show Tempo and time signature line
  show_tempo ? (

    #bpm = ""; #bpm2 = " bpm 4/4 ";
    #bpm += sprintf(#, "%0.1f", tempo);
    strcat (#bpm2, #bpm);
 
    gfx_measurestr(#bpm2, w_bpm, 0);  // this is just to calculate how to center it
  
    gfx_x = 0.5*(gfx_w - w_bpm);
    gfx_r = 1; gfx_g = 1;  gfx_b = 0.5;
 
    gfx_printf(#bpm);
 
    gfx_b= 1; gfx_a = 0.5;
    gfx_printf(" bpm");
    gfx_a = 1; gfx_r=0.5; gfx_g = 1; gfx_b = 0.5;
    gfx_printf(" %i/%i", timesig_num, timesig_denom);
    line_count += 1; gfx_y += gfx_texth + line_space;
  );

// Show which beat we're on
  show_beat ? (
    gfx_x = font_size / 4 + (beat - 1) * (gfx_w - font_size) / (timesig_num - 1) ;
    beat == 1 ? ( gfx_r = 1; gfx_b = 0.2; gfx_g = 0.2; gtx_a = 1) : (gfx_r = 1; gfx_b = 1; gfx_g = 1; gfx_a = 1) ;

    gfx_setfont(1, font_name, font_size, 'b');  
    gfx_printf("%i",beat);
    line_count += 1; gfx_y += gfx_texth + line_space;  
   
  );
  
// Use left mouse click to cycle through time formats
  mouse_state == 0 && mouse_cap == 1 && mouse_x > 5 && mouse_x < gfx_w - 5 && mouse_y > 5 && mouse_y < gfx_h - 5 ? (
    mouse_state = 1;
    format < 5 ? format += 1 : format = 0;
  );
  
  mouse_cap == 0 ? mouse_state = 0;
  
// Use right mouse select which lines to show
  mouse_state == 0 && mouse_cap == 2 && mouse_x > 5 && mouse_x < gfx_w - 5 && mouse_y > 5 && mouse_y < gfx_h - 5 ? (
    #menu_string = "";
    show_region ? strcat(#menu_string, "!Region|") : strcat(#menu_string,"Region|");
    show_marker ? strcat(#menu_string, "!Marker|") : strcat(#menu_string,"Marker|");
    show_time ? strcat(#menu_string, "!Time|") : strcat(#menu_string,"Time|");
    show_tempo ? strcat(#menu_string, "!Tempo|") : strcat(#menu_string,"Tempo|");
    show_beat ? strcat(#menu_string, "!Beat|") : strcat(#menu_string,"Beat|");
    lock_to_cursor ? strcat(#menu_string, "!Lock to Edit cursor|") : strcat(#menu_string,"Lock to Edit cursor|");
    
    menu_choice = gfx_showmenu(#menu_string);
    
    menu_choice == 1 ? (
      show_region = !show_region; show_region ? SetExtState(#script_name, "show_region", "on", 1) : DeleteExtState(#script_name,"show_region",1);
      ) : menu_choice == 2 ? (
      show_marker = !show_marker; show_marker ? SetExtState(#script_name, "show_marker", "on", 1) : DeleteExtState(#script_name,"show_marker",1);
      ) : menu_choice == 3 ? (
      show_time = !show_time; show_time ? SetExtState(#script_name, "show_time", "on", 1) : DeleteExtState(#script_name,"show_time",1);
      ) : menu_choice == 4 ? (
      show_tempo = !show_tempo; show_tempo ? SetExtState(#script_name, "show_tempo", "on", 1) : DeleteExtState(#script_name,"show_tempo",1);
      ) : menu_choice == 5 ? (
      show_beat = !show_beat; show_beat ? SetExtState(#script_name, "show_beat", "on", 1) : DeleteExtState(#script_name,"show_beat",1);
      ) : menu_choice == 6 ? (
      lock_to_cursor = !lock_to_cursor; lock_to_cursor ? SetExtState(#script_name, "lock_to_cursor", "on", 1) : DeleteExtState(#script_name,"lock_to_cursor",1);
      ) : menu_choice == 7 ? (
      show_time = !show_time;
      ) : menu_choice == 8 ? (
      show_time = !show_time;
      );
    
    dock_state = gfx_dock(-1, wx, wy, ww, wh);

    sprintf (#state_value, "%ix%i@%i,%i:%i", gfx_w, gfx_h, wx, wy, dock_state);
    SetExtState(#script_name, "window_size", #state_value, 1);
    
  );
  
  mouse_cap == 0 ? mouse_state = 0;

  font_size = (gfx_h - 15) / line_count; 
  gfx_setfont(1, font_name, font_size );
 
  gfx_update();
  gfx_getchar() >= 0 ? defer("run();");
);

init(window_w, window_h);
run();

https://forum.cockos.com/showthread.php?t=194997

I'm also trying to do these fixes to the script:
https://forum.cockos.com/showpost.ph...8&postcount=25

Thanks!
lexaproductions is offline   Reply With Quote
Old 12-13-2017, 02:36 AM   #129
DynamicK
Human being with feelings
 
Join Date: Nov 2017
Location: Gloucestershire, UK
Posts: 223
Default

Just discovered you amazing list of scripts. Many Thanks
DynamicK is offline   Reply With Quote
Old 12-17-2017, 09:17 PM   #130
_Stevie_
Human being with feelings
 
_Stevie_'s Avatar
 
Join Date: Oct 2017
Location: Black Forest
Posts: 5,054
Default

Thanks indeed, subscribing!
__________________
My Reascripts forum thread | My Reascripts on GitHub
If you like or use my scripts, please support the Ukraine: Ukraine Crisis Relief Fund | DirectRelief | Save The Children | Razom
_Stevie_ is offline   Reply With Quote
Old 02-15-2018, 03:52 AM   #131
skippertag
Human being with feelings
 
Join Date: Jun 2015
Posts: 474
Default

Hello me2!

I'm having a request for something that I really need but I'm currently not able to do it on my own as I'm not experienced enough. This request does need to mix a JSFX and a ReaScript together.

Before I tell you more about it I'd like to ask if you do know both languages? I heard from another scripter that he knows ReaScript but is not good enough in JSFX to create something cool there... that's the reason why I ask :-)

There is a JSFX that is (after a surely not perfect but working for me tweak) doing what I want it to do....more than less actually ;-) and then there are your Scripts to transpose Midi and Audio Tracks while directly moving the midi events in the midi items (which is what the JSFX is lacking..)

I want to take the database (Instrument Ranges) of the JSFX and the way that the transposition is working when events fall out the range and then let your script doing the real transpositions within the midi items with regards to the ranges of the instruments.

Would that be possible and would you have time and lust to do it?

Many thanks in advance

Last edited by skippertag; 02-15-2018 at 09:17 AM.
skippertag is offline   Reply With Quote
Old 05-03-2018, 11:03 AM   #132
zookthespook
Human being with feelings
 
Join Date: Mar 2015
Location: India Mumbai
Posts: 816
Default

If any techno\edm producer got hands on your stutter script ..that person will abandona all daws and become a slave to reaper and a your fan for life !

Your scripts are bringing surgical precision and ease to my edit workflow
many many thanks

cheers
zook
zookthespook is offline   Reply With Quote
Old 05-23-2018, 11:25 AM   #133
EpicSounds
Human being with feelings
 
EpicSounds's Avatar
 
Join Date: Jul 2009
Posts: 7,568
Default

Hi !

found a bug with

Script: me2beats_Set items length to 2 (stretch items).lua
and Script: me2beats_Set items length to 0.5 (stretch items).lua


I'm using them on grouped items on separate tracks but the scripts are stretch/shrinking twice.

The items get rate of 4x or 0.250x

Lokasenna said "Reaper won't let the script select the items individually because of the grouping, which the script doesn't expect, and it just goes ahead for "each" item and does its thing."

and offered to fix if necessary.

BTW, I'm using the script to quickly put sections of my video into timelapse. If it could also work with ripple editing it would save me even more time.
__________________
REAPER Video Tutorials, Tips & Tricks and more at The REAPER Blog
EpicSounds is offline   Reply With Quote
Old 05-23-2018, 03:15 PM   #134
Sju
Human being with feelings
 
Join Date: Jun 2015
Posts: 685
Default

Quote:
Originally Posted by zookthespook View Post
If any techno\edm producer got hands on your stutter script ..that person will abandona all daws and become a slave to reaper and a your fan for life !
Wow that mousewheel stutter is way cool! thanks for letting me know and thanks to me2beats of course, awesome stuff!
Sju is offline   Reply With Quote
Old 06-12-2018, 01:48 PM   #135
barbaroja
Human being with feelings
 
barbaroja's Avatar
 
Join Date: Jul 2009
Posts: 429
Default

Reporting that move envelope up and down do not work as of now.
barbaroja is offline   Reply With Quote
Old 06-18-2018, 02:45 PM   #136
EpicSounds
Human being with feelings
 
EpicSounds's Avatar
 
Join Date: Jul 2009
Posts: 7,568
Default

Having an issue with the Select Chord under mouse script, it is often extending note lengths to the full length of the item if there is any overlapping notes.



The other thing, name your undo!



- EDIT
The problem is actually because I'm overlapping the notes and it seems that many other scripts would have the same problem here.

Solution - MIDI Editor menu - Options - ✔️ Automatically correct overlapping notes
__________________
REAPER Video Tutorials, Tips & Tricks and more at The REAPER Blog

Last edited by EpicSounds; 06-18-2018 at 03:39 PM.
EpicSounds is offline   Reply With Quote
Old 06-19-2018, 04:10 PM   #137
barbaroja
Human being with feelings
 
barbaroja's Avatar
 
Join Date: Jul 2009
Posts: 429
Default

Is it possible for the insert smart track to also preserve track grouping, VCA options as the selected track?
barbaroja is offline   Reply With Quote
Old 06-28-2018, 03:16 PM   #138
Vincent Sermonne
Petit manitou
 
Vincent Sermonne's Avatar
 
Join Date: Feb 2009
Location: Gémenos France
Posts: 7,347
Default folder for sel track

Your script to create a folder of selected tracks does not work if the tracks are scattered

__________________
Vincent
http://www.tchackpoum.fr
Vincent Sermonne is offline   Reply With Quote
Old 11-08-2019, 04:48 PM   #139
Joe90
Human being with feelings
 
Join Date: Aug 2019
Posts: 853
Default

I've realised recently when using this script 'me2beats_Split notes (select right).lua' for splitting notes across multiple midi parts, it is not splitting them all, only the 'top' layer of notes (i.e whatever was last selected when you opened the multiple midi parts). The standard 'split notes' function works correctly, but I really prefer the 'select right' behaviour when splitting, it feels much more intuitive to me.

Anyone know if there's a tweak I can make to this script so it works on all selected midi parts, or if me2beats is still active on this forum?

Thanks.
Joe90 is offline   Reply With Quote
Old 12-03-2019, 02:14 AM   #140
Triode
Human being with feelings
 
Triode's Avatar
 
Join Date: Jan 2012
Posts: 1,180
Default Select all tracks in selected track groups.lua

Hi me2beats

I use your "Select all tracks in selected track groups.lua" script regularly.
Is it easy to mod it so that it only selects the tracks in the group if that group is actually activated? This would allow turning individual groups within groups on and off and make your script's use more granular.

Many thanks
__________________
Mixing / Brush and Beater Drums Online: www.outoftheboxsounds.com
Triode is offline   Reply With Quote
Old 01-05-2020, 12:56 PM   #141
Buy One
Human being with feelings
 
Buy One's Avatar
 
Join Date: Sep 2019
Posts: 1,132
Default

All scripts which are supposed to save MIDI editor view

me2beats_Save MIDI editor view, slot 1.lua
me2beats_Save MIDI editor view, slot 2.lua
me2beats_Save MIDI editor view.lua

throw an error

Quote:
me2beats_Save MIDI editor view.lua:31: attempt to call a nil value (field 'GetTrackChunk')
Buy One is online now   Reply With Quote
Old 03-08-2020, 12:02 PM   #142
Skorobagatko
Human being with feelings
 
Skorobagatko's Avatar
 
Join Date: Mar 2017
Location: Ukraine, Kyiv
Posts: 546
Default

...Copy focused FX (with automation) to selected tracks.lua:136: attempt to concatenate a nil value (global 'fx_chain_start')

How to fix this?
Skorobagatko is offline   Reply With Quote
Old 03-10-2020, 06:56 AM   #143
dsyrock
Human being with feelings
 
dsyrock's Avatar
 
Join Date: Sep 2018
Location: China
Posts: 565
Default

Having an issue in using:
me2beats_Copy active take envelopes.lua
me2beats_Paste envelopes to active takes of selected items.lua

If I use the copy script on an item that contains take FX, when I use the paste script, I get a wrong message.
dsyrock is offline   Reply With Quote
Old 04-07-2020, 11:25 AM   #144
Reflected
Human being with feelings
 
Reflected's Avatar
 
Join Date: Jul 2009
Posts: 3,294
Default

Hey me2beats
I tried this action:
"Record - toggle wait for MIDI note"

the problem is that the first note is not being played or even count in the recording.
can this be solved?
Reflected is offline   Reply With Quote
Old 10-10-2020, 08:39 PM   #145
PMan
Human being with feelings
 
Join Date: Aug 2019
Posts: 646
Default

Greetings me2beats,

Your MIDI editing scripts are great! I use 'select odd' and 'select even' all the time.

I'm having problems with the "set MIDI velocity" script. It works, but after running it, the focus switches to the main window, and I have to click in the MIDI editing window to do switch the focus back to it.

Can you help me with this?
PMan is offline   Reply With Quote
Old 01-01-2021, 01:40 PM   #146
o_e
Human being with feelings
 
o_e's Avatar
 
Join Date: May 2016
Posts: 681
Default Transpose selected track audio items or midi items notes

Hi,

Thanks for your scripts!

Is is possible to modify the script mentioned in the title so that it works like a classical sampler (do not preserve the pitch) so that when I type in -12 the sample gets one octave lower and get the double length?

Thank for a hint!

ole
o_e is offline   Reply With Quote
Old 01-07-2021, 04:58 AM   #147
Buy One
Human being with feelings
 
Buy One's Avatar
 
Join Date: Sep 2019
Posts: 1,132
Default

Quote:
Originally Posted by o_e View Post
Hi,

Thanks for your scripts!

Is is possible to modify the script mentioned in the title so that it works like a classical sampler (do not preserve the pitch) so that when I type in -12 the sample gets one octave lower and get the double length?

Thank for a hint!

ole
Not a solution, but a suggestion, try these SWS extension actions

Xenakios/SWS: Resample pitch shift item one semitone down
Xenakios/SWS: Resample pitch shift item one semitone up
Buy One is online now   Reply With Quote
Old 10-13-2023, 01:41 AM   #148
Ideosound
Human being with feelings
 
Ideosound's Avatar
 
Join Date: Oct 2017
Location: U.K
Posts: 542
Default

For the script:

Script: me2beats_Set items volume.lua

Is it possible to add an option so the script gui remembers the last inputted value? At least whilst the Reaper project is open? That would be really useful to set it to store the last volume you wanted rather than typing in each time if you are using the script on more than one item regularly.
Ideosound 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 04:58 AM.


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