Old 09-09-2017, 09:27 AM   #121
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, big thanks again for your ongoing great scripts. I have 2 new requests:

MIDI: move edit cursor to start of current measure
Main: move edit cursor to start of loop points without seeking
Move cursor to start of current measure (MIDI Editor).lua
Go to start of current measure (MIDI Editor).lua
Move cursor to start of loop.lua
__________________
My Reapack Repo
Donation
me2beats is offline   Reply With Quote
Old 09-09-2017, 11:05 AM   #122
Arthur McArthur
Human being with feelings
 
Join Date: Sep 2016
Location: Toronto
Posts: 482
Default

Quote:
Originally Posted by me2beats View Post
Move cursor to start of current measure (MIDI Editor).lua
Go to start of current measure (MIDI Editor).lua
Move cursor to start of loop.lua
They work great, thanks. Donated
Arthur McArthur is offline   Reply With Quote
Old 09-22-2017, 05:38 AM   #123
lexaproductions
Human being with feelings
 
Join Date: Jan 2013
Posts: 431
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?
__________________
MP 12 Core 3.46GHZ 48GB OSX10.11.6, MBP 15" 2012 OSX10.12, RME Fireface UFX, MCU,
Reaper 5, SD2, Omnisphere, Wave Altiverb, PSP, VB3, Izotope, Scuffham, Soundtoys 5, Slate All Plugins.
lexaproductions is offline   Reply With Quote
Old 09-22-2017, 08:07 PM   #124
hopi
Human being with feelings
 
hopi's Avatar
 
Join Date: Oct 2008
Location: Right Hear
Posts: 15,104
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/angel-rain
hopi is offline   Reply With Quote
Old 09-23-2017, 03:24 AM   #125
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   #126
hopi
Human being with feelings
 
hopi's Avatar
 
Join Date: Oct 2008
Location: Right Hear
Posts: 15,104
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/angel-rain
hopi is offline   Reply With Quote
Old 09-28-2017, 02:40 PM   #127
Arthur McArthur
Human being with feelings
 
Join Date: Sep 2016
Location: Toronto
Posts: 482
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   #128
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   #129
Arthur McArthur
Human being with feelings
 
Join Date: Sep 2016
Location: Toronto
Posts: 482
Default

Thank you!
Arthur McArthur is offline   Reply With Quote
Old 11-22-2017, 07:58 AM   #130
lexaproductions
Human being with feelings
 
Join Date: Jan 2013
Posts: 431
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!
__________________
MP 12 Core 3.46GHZ 48GB OSX10.11.6, MBP 15" 2012 OSX10.12, RME Fireface UFX, MCU,
Reaper 5, SD2, Omnisphere, Wave Altiverb, PSP, VB3, Izotope, Scuffham, Soundtoys 5, Slate All Plugins.
lexaproductions is offline   Reply With Quote
Old 12-13-2017, 02:36 AM   #131
DynamicK
Human being with feelings
 
Join Date: Nov 2017
Location: Gloucestershire, UK
Posts: 220
Default

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

Thanks indeed, subscribing!
__________________
My Reascripts forum thread | My Reascripts on GitHub | Stephan Römer - film composer
If you wish to donate for my scripts: please consider an organization like: animal shelter, doctors without borders, UNICEF, etc...
_Stevie_ is online now   Reply With Quote
Old 02-15-2018, 03:52 AM   #133
skippertag
Human being with feelings
 
Join Date: Jun 2015
Posts: 411
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 03-24-2018, 11:37 AM   #134
Edgemeal
Human being with feelings
 
Edgemeal's Avatar
 
Join Date: Apr 2016
Location: ASU`ogacihC
Posts: 1,457
Default

me2beats_Duplicate tracks without envelopes and items - v1.0

If AI on source track is selected when running script the AI gets destroyed...

EDIT This happens in Reaper v5.77 but not in v5.70. Maybe has something to do with changes in v5.77?...
Code:
v5.77 - March 9 2018
  + Automation items: delete selected automation items when deleting media items


Hope its OK to post here, wasn't sure where to post this.
Edgemeal is offline   Reply With Quote
Old 05-03-2018, 11:03 AM   #135
zookthespook
Human being with feelings
 
Join Date: Mar 2015
Posts: 569
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   #136
EpicSounds
Human being with feelings
 
EpicSounds's Avatar
 
Join Date: Jul 2009
Posts: 5,567
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 online now   Reply With Quote
Old 05-23-2018, 03:15 PM   #137
Sju
Human being with feelings
 
Join Date: Jun 2015
Posts: 686
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   #138
barbaroja
Human being with feelings
 
barbaroja's Avatar
 
Join Date: Jul 2009
Posts: 280
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   #139
EpicSounds
Human being with feelings
 
EpicSounds's Avatar
 
Join Date: Jul 2009
Posts: 5,567
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 online now   Reply With Quote
Old 06-19-2018, 04:10 PM   #140
barbaroja
Human being with feelings
 
barbaroja's Avatar
 
Join Date: Jul 2009
Posts: 280
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-20-2018, 01:36 PM   #141
Edgemeal
Human being with feelings
 
Edgemeal's Avatar
 
Join Date: Apr 2016
Location: ASU`ogacihC
Posts: 1,457
Default

Quote:
Originally Posted by barbaroja View Post
Reporting that move envelope up and down do not work as of now.
The scripts seem to only work correctly when the track does not contain any REAPER envelopes, regardless the 'Move selected envelope up' script always gave me an error until I changed this line,
local chunk = GetTrackChunk(track)
to this,
local chunk = GetTrackChunk(tr)

Win7 w/REAPER v5.80 ~ v5.95

BTW, I updated (fixed?) the scripts (w/workaround code), and posted them here.

Last edited by Edgemeal; 09-11-2018 at 07:05 PM. Reason: Add link to updated scripts
Edgemeal is offline   Reply With Quote
Old 06-28-2018, 03:16 PM   #142
Vincent Sermonne
Human being with feelings
 
Vincent Sermonne's Avatar
 
Join Date: Feb 2009
Location: Marseille France
Posts: 6,004
Default folder for sel track

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

__________________
Vincent
ReaperDrummer
http://www.tchackpoum.fr
Vincent Sermonne is online now   Reply With Quote
Old 11-08-2019, 04:48 PM   #143
Joe90
Human being with feelings
 
Join Date: Aug 2019
Posts: 170
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 online now   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 10:49 AM.


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