Go Back   Cockos Incorporated Forums > REAPER Forums > REAPER Feature Requests

Reply
 
Thread Tools Display Modes
Old 03-08-2015, 03:48 AM   #1
X-Raym
Human being with feelings
 
X-Raym's Avatar
 
Join Date: Apr 2013
Location: France
Posts: 9,238
Default Better Scripts Management: Importation, Folders, ID, Deletion

Hi!

I came here for a feature request about scripts management.

Context
With the recent EEL opening and the upcoming version of REAPER (v5), scripting in REAPER has never been as easy.
On the ReaScripts subforums, it rains scripts every day. I have myself posted 23 new scripts yesterday.

Before that, I tend to put all my scripts simply in the Scripts subfolder.
Here is what my current script folder looks like:


So, what I have done is simple: folders!



Feels better, uh ?

Poblems
Well, it does, but there is a downside to this. No. There is several huge problems to script reorganization at this current moment:
  • All link to the scripts in REAPER are broken.
  • There is actions in the action panel which link to broken file (and no way to update it) that need to be deleted on by one manually
  • My custom action which used scripts are broken
  • If I re-import all this (more than 177 elements), all scripts command ID will be broken cause it is randomly generated at import.
  • All my buttons related to scripts in my toolbars are broken and need to be recreated from scratch
The two last downsides have some other consequences: we cant properly share toolbars, we can't call scripts ID from other scripts etc...


Feature Request
It become clear than the actual way to manage scripts is not optimized for such huge libraries.

We need to find/propose a way to solve all this issues at once.

I suggest a folder based scripts management, just as VST.
  • You would be able to define Scripts Folder path, and it will auto load at start.
  • CMD id will be named after scripts name only.
Even a script-named based system is not perfect.
What if I want made a batch renaming of my scripts ?
The same problems will occur.

Should we used on online tool provided by Cockos for generating unique HASH for registering every script, using it in a script header comment?
or maybe HASH generation could be used directly into REAPER, and we could "send our hash" to an online database to reference our script ?

I guess ID based on name will be just fine for a moment.

Discussion

That is a complete subject and the actual system cannot satisfy these growing needs. We need to properly discuss about it and define the best suggestions we can make.
I hope we will be able to open this to vote very soon.



It is time bring local scripts management to the next level!


EDIT 2015-03-20:
Vote are open!

Last edited by X-Raym; 03-19-2015 at 04:19 PM.
X-Raym is offline   Reply With Quote
Old 03-08-2015, 04:04 AM   #2
heda
Human being with feelings
 
heda's Avatar
 
Join Date: Jun 2012
Location: Spain
Posts: 6,915
Default

and if you want to update the action of a toolbar button, with the reimported script, it also changes the text of the toolbar button, which is annoying.


if you open an issue I'll vote +1000
heda is offline   Reply With Quote
Old 03-18-2015, 06:02 PM   #3
X-Raym
Human being with feelings
 
X-Raym's Avatar
 
Join Date: Apr 2013
Location: France
Posts: 9,238
Default

I guess I should open the vote anyway, and left Cockos's developers evaluate what it is the best thing to do to answer this emergent need.
What do you think of that, heda?
X-Raym is offline   Reply With Quote
Old 03-19-2015, 02:11 AM   #4
heda
Human being with feelings
 
heda's Avatar
 
Join Date: Jun 2012
Location: Spain
Posts: 6,915
Default

yes
I think Cockos will finally accept this idea. Maybe in some years if we vote it a lot. Patience

jokes apart, I think it is a good idea that at least deserves some discussion here from devs.
heda is offline   Reply With Quote
Old 03-19-2015, 04:21 PM   #5
X-Raym
Human being with feelings
 
X-Raym's Avatar
 
Join Date: Apr 2013
Location: France
Posts: 9,238
Default

@heda
haha :P

I open the votes! Link at bottom of first thread!
X-Raym is offline   Reply With Quote
Old 03-21-2015, 06:34 AM   #6
Argitoth
Human being with feelings
 
Argitoth's Avatar
 
Join Date: Feb 2008
Location: Mesa, AZ
Posts: 2,057
Default

please include script renaming (button to rename file and script title in one go).
__________________
Soundemote - Home of the chaosfly and pretty oscilloscope.
MyReaperPlugin - Easy-to-use cross-platform C++ REAPER extension template
Argitoth is offline   Reply With Quote
Old 03-21-2015, 06:53 AM   #7
Breeder
Human being with feelings
 
Breeder's Avatar
 
Join Date: Nov 2010
Posts: 2,433
Default

Quote:
Originally Posted by Argitoth View Post
please include script renaming (button to rename file and script title in one go).
+1
Please, this would save us a lot of time
Breeder is offline   Reply With Quote
Old 04-07-2015, 06:37 AM   #8
X-Raym
Human being with feelings
 
X-Raym's Avatar
 
Join Date: Apr 2013
Location: France
Posts: 9,238
Default Rename Script and Change Command ID in external Editor

I just succeed to renamed script command ID by exporting a ReaperKeyMap of a script and modify it in Notepad ++ and re-import it back.

From
PHP Code:
SCR 4 0 "bea7ac3f343a84418e6c34a53f8b05cf" "Custom: X-Raym_Create regions from selected takes and from track name.eel" "X-Raym_Create regions from selected takes and from track name.eel" 
to
PHP Code:
SCR 4 0 "X-Raym_CreateRegionFromTakesName" "Custom: X-Raym_Create regions from selected takes and from track name.eel" "X-Raym_Create regions from selected takes and from track name.eel" 


Does someone knew we can do this ?

It may be useful for scripts which need to call scripts.

But there is more !
And we also be able to renamed it this way ! The script path is the third string, the second is how it is called in REAPER !



Edit:
An other exemple, with absolute script path (scripts that are not in scripts folder:
PHP Code:
SCR 4 0 "c24bf8e99f81154f9618f5bc071280c8" "Custom: X-Raym_Select only - Unselect all MIDI notes with same pitch right of the mouse.eel" "G:\REAPER Scripts\REAPER-ReaScripts\MIDI Editor\X-Raym_Select only - Unselect all MIDI notes with same pitch right of the mouse.eel" 
Also notice that if the script file doesn't have space, it appers like this:
PHP Code:
SCR 4 0 "3b270290632573449806995d35d12e58" "Custom: spk_slider_class.eel" spk_slider_class.eel 
Edit:
This way, It may be possible to share my script toolbars ! yeah !

Last edited by X-Raym; 04-07-2015 at 06:45 AM.
X-Raym is offline   Reply With Quote
Old 04-08-2015, 03:21 AM   #9
X-Raym
Human being with feelings
 
X-Raym's Avatar
 
Join Date: Apr 2013
Location: France
Posts: 9,238
Default Tutorial

I just made a full tuto on this subject

Advanced ReaScripts Management: Import and Export Toolbars Buttons linked to Scripts, Change Script Path and Name / ExtremRaym

Cheers !
X-Raym is offline   Reply With Quote
Old 04-08-2015, 04:23 AM   #10
heda
Human being with feelings
 
heda's Avatar
 
Join Date: Jun 2012
Location: Spain
Posts: 6,915
Default

Interesting! I didn't know we could assign custom IDs this way.
I think devs enjoy making us suffer discovering things
heda is offline   Reply With Quote
Old 04-08-2015, 06:19 AM   #11
X-Raym
Human being with feelings
 
X-Raym's Avatar
 
Join Date: Apr 2013
Location: France
Posts: 9,238
Default

@heda
Thanks
I was so happy when I discovered that it works ! :P

Usually, devs hide funny easter eggs. Not features

@Argitoth
Just added script renaming in votes !

Last edited by X-Raym; 04-08-2015 at 10:04 AM.
X-Raym is offline   Reply With Quote
Old 07-21-2015, 11:00 AM   #12
Jeffos
Mortal
 
Jeffos's Avatar
 
Join Date: Dec 2008
Location: France
Posts: 1,969
Default

Quote:
Originally Posted by X-Raym View Post
I just succeed to renamed script command ID by exporting a ReaperKeyMap of a script and modify it in Notepad ++ and re-import it back.

From
PHP Code:
SCR 4 0 "bea7ac3f343a84418e6c34a53f8b05cf" "Custom: X-Raym_Create regions from selected takes and from track name.eel" "X-Raym_Create regions from selected takes and from track name.eel" 
to
PHP Code:
SCR 4 0 "X-Raym_CreateRegionFromTakesName" "Custom: X-Raym_Create regions from selected takes and from track name.eel" "X-Raym_Create regions from selected takes and from track name.eel" 


Does someone knew we can do this ?

It may be useful for scripts which need to call scripts.

But there is more !
And we also be able to renamed it this way ! The script path is the third string, the second is how it is called in REAPER !



Edit:
An other exemple, with absolute script path (scripts that are not in scripts folder:
PHP Code:
SCR 4 0 "c24bf8e99f81154f9618f5bc071280c8" "Custom: X-Raym_Select only - Unselect all MIDI notes with same pitch right of the mouse.eel" "G:\REAPER Scripts\REAPER-ReaScripts\MIDI Editor\X-Raym_Select only - Unselect all MIDI notes with same pitch right of the mouse.eel" 
Also notice that if the script file doesn't have space, it appers like this:
PHP Code:
SCR 4 0 "3b270290632573449806995d35d12e58" "Custom: spk_slider_class.eel" spk_slider_class.eel 
Edit:
This way, It may be possible to share my script toolbars ! yeah !
I'm sorry, but although this trick looks like it works, I don't think it is a good idea...
It's super-non-future-proof and breaks some SWS features already...
Jeffos is offline   Reply With Quote
Old 07-21-2015, 11:12 AM   #13
X-Raym
Human being with feelings
 
X-Raym's Avatar
 
Join Date: Apr 2013
Location: France
Posts: 9,238
Default

@jeffos
Hi !
Quote:
breaks some SWS features already...
Does it ? I don't have any problem with it so far... =/
I was able to share scripts toolbars from Mac to Win and it works great. I know it is a bit "hacky" but it really seems to work fine.

Quote:
I don't think it is a good idea...
The solution may be bad, but it means to satisfy actual needs. Sharing toolsbars or menus linked to scripts is not possible without a way to define a custom ID consistent from one install to another.
What part of the process is wrong ? Having custom ID ? Having custom name ?

Thank you for considering this issue. !
X-Raym is offline   Reply With Quote
Old 08-14-2015, 03:36 AM   #14
X-Raym
Human being with feelings
 
X-Raym's Avatar
 
Join Date: Apr 2013
Location: France
Posts: 9,238
Default

And what if the command ID and the action name were included in the scritpt itself ?

How nice could it be if
  • scripts were loaded as plugins (scan at REAPER start)
  • Alls scripts infos (command ID, Name in Action Panel...) were generated in REAPER from a common script header (as I heda and I already use). If no valid header at scan, command ID could be generated as it is already the case.
Here is a example (some fields are just infos, only name and command ID will be used in REAPER):


Code:
/**
 * ReaScript Name: Template (match file name without extension and author)
 * Description: A template script for REAPER ReaScript.
 * Instructions: Here how to use it.
 * Author: X-Raym
 * Author URl: http://extremraym.com
 * Repository: GitHub > X-Raym > EEL Scripts for Cockos REAPER
 * Repository URl: https://github.com/X-Raym/REAPER-EEL-Scripts
 * File URl: https://github.com/X-Raym/REAPER-EEL-Scripts/scriptName.eel
 * Licence: GPL v3
 * Forum Thread: Script: Script name
 * Forum Thread URl: http://forum.cockos.com/***.html
 * REAPER: 4.76
 * Extensions: SWS/S&M 2.6.0 (facultative field)
 * Command ID: XR_TEMPLATE_SCRIPT
 */



This ill satisfy almost all needs in a very efficient ways, allowing faster-easier scripting sharing, actions management, and toolbars-custom actions with scripts
X-Raym is offline   Reply With Quote
Old 08-14-2015, 05:10 AM   #15
airon
Human being with feelings
 
airon's Avatar
 
Join Date: Aug 2006
Location: Berlin
Posts: 11,741
Default

Hey, I'm all for that.

Getting an updated Colour Swatch script out to users automatically(if they wish) would be great. No forum thread checking, download, copying to script directory... all not necessary.


Automatic scan of scripts and drag'n'drop of scripts on to Reaper copies them to the script directory would be a good start to ease installation.
__________________
(Video)Using Latch Preview - Faderport 16 setup for CSI 1.1 , CSI 3
Website
"My ego comes pre-shrunk" - Randy Thom
airon is offline   Reply With Quote
Old 08-14-2015, 05:57 AM   #16
Jeffos
Mortal
 
Jeffos's Avatar
 
Join Date: Dec 2008
Location: France
Posts: 1,969
Default

I guess a better command ID could be like a crossplatform version of the script path itself: assuming the script stands in the REAPER/Scripts resource directory, this would make everything portable between users, out of the box (toolbars, etc) -- a hash could still be used otherwise.

Anyway, we hear you... Please, just don't hack command IDs for the time being!
Jeffos is offline   Reply With Quote
Old 08-14-2015, 07:18 AM   #17
X-Raym
Human being with feelings
 
X-Raym's Avatar
 
Join Date: Apr 2013
Location: France
Posts: 9,238
Default

Thanks Jeffos, I'm sure we will find a convenient solution !

I will put a note on my article on my website to say "WAIT. THIS IS A HACK. DON'T USE IT".
X-Raym is offline   Reply With Quote
Old 12-14-2015, 06:38 AM   #18
Aleksandr_Oleynik
Human being with feelings
 
Join Date: Jan 2013
Location: Kiev, Ukraine
Posts: 66
Default

Quote:
Originally Posted by Jeffos View Post
I guess a better command ID could be like a crossplatform version of the script path itself: assuming the script stands in the REAPER/Scripts resource directory, this would make everything portable between users, out of the box (toolbars, etc) -- a hash could still be used otherwise.

Anyway, we hear you... Please, just don't hack command IDs for the time being!
And it would be very nice - add ReaScript API:
- Load Script by name Script (* .eel * .lua);
- Get ComandID by name Script (* .eel * .lua);
- Add Shortcuts (key and midi and OSC) by ComandID.
Aleksandr_Oleynik 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 09:26 PM.


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