Go Back   Cockos Incorporated Forums > REAPER Forums > REAPER Bug Reports

Reply
 
Thread Tools Display Modes
Old 09-14-2020, 03:54 PM   #1
X-Raym
Human being with feelings
 
X-Raym's Avatar
 
Join Date: Apr 2013
Location: France
Posts: 9,875
Default BUG: script with command ID 0 - reaper-kb broken

Hi,


So after a reaper-kb reset, I had to manually restore it,


I import all my lau files from Action->New -> Import script

Then I redownload everything via reapack. Actions can be imported in the right context (Main, MIDI) thanks to this method. I surely have action registered in several context now but not sure this is an issue.


My problem is the following : the last action entry (SCR) in my reaper-kb file is shown as state = off and command ID =0, I can't delete it, and if I import new scripts if goes the same.



See how I can't delete it.



Somehow my reaper-kb seems completely broken. I don't know how to fix it.

Impossible to import new action or run the selected one.


What is happening ?


Thanks !

Last edited by X-Raym; 09-14-2020 at 04:37 PM.
X-Raym is offline   Reply With Quote
Old 12-03-2021, 12:31 AM   #2
hans
Human being with feelings
 
Join Date: Aug 2020
Posts: 276
Default

Having the same issue here right now. I have previously been required to restart Reaper after a creation of a custom action to get Reaper to create a valid ID number. Restarting doesn't help anymore. Stays on 0.


Reaper 6.42 dev1202

Last edited by hans; 12-03-2021 at 04:19 AM.
hans is offline   Reply With Quote
Old 12-15-2021, 01:37 AM   #3
hans
Human being with feelings
 
Join Date: Aug 2020
Posts: 276
Default

I uninstalled everything and reinstalled Reaper, loaded my old config and reinstalled SWS.

At this stage, newly created custom actions generates a command ID.

The problem appears when i install Reapack, and synchronize and download all my added repositories from Reapack.

After this, creating new Custom actions wont work. Command ID of the new script is 0, and can't delete or edit the custom actions.

Any ideas what I can do?
hans is offline   Reply With Quote
Old 12-15-2021, 06:07 AM   #4
Justin
Administrator
 
Justin's Avatar
 
Join Date: Jan 2005
Location: NYC
Posts: 15,721
Default

Send a copy of your reaper.ini and reaper-kb.ini files to support at cockos dot com, thanks!
Justin is offline   Reply With Quote
Old 12-15-2021, 06:21 AM   #5
TonE
Human being with feelings
 
Join Date: Feb 2009
Location: Reaper HAS send control via midi !!!
Posts: 4,031
Default

I wrote about same few weeks ago (I guess), Mespotine gave the hint there is a limit of maximum allowed actions for Reaper. Thought this is the reason for this behaviour. In my scenario it is still like that, I am starting new scripts via the menu, takes a bit longer, but better than nothing for now.

I hope the upper limit of allowed actions (if there is any such limit) can be extended, to maximum what is possible technically. Normal devs can not achieve this, but Reaper devs, yes, they can! Thanks friends and music lovers!
TonE is offline   Reply With Quote
Old 12-15-2021, 11:11 AM   #6
X-Raym
Human being with feelings
 
X-Raym's Avatar
 
Join Date: Apr 2013
Location: France
Posts: 9,875
Default

Of course my initial issue has been solved since but I have no clue what I did to solve this, it was a long time ago now!
X-Raym is offline   Reply With Quote
Old 12-15-2021, 11:14 AM   #7
Meo-Ada Mespotine
Human being with feelings
 
Meo-Ada Mespotine's Avatar
 
Join Date: May 2017
Location: Leipzig
Posts: 6,621
Default

Yup. Cfillion and I looked into it a while ago.

The amount of scripts installed, thanks to ReaPack, runs into this limit time and again for more and more users recently.
I think, upping the total number of available command-ids from 16bit to 24bit and giving a huge range of the commandids then available to scripts, extension-actions and custom actions could solve the issue.
Currently, theres a limit somewhat above 10.000 commandids available.
Having some millions available should help for the next couple of years and longer.
__________________
Use you/she/her.Ultraschall-Api Lua Api4Reaper - Donate, if you wish

On vacation for the time being...
Meo-Ada Mespotine is offline   Reply With Quote
Old 12-15-2021, 11:59 AM   #8
TonE
Human being with feelings
 
Join Date: Feb 2009
Location: Reaper HAS send control via midi !!!
Posts: 4,031
Default

Quote:
Originally Posted by Meo-Ada Mespotine View Post
Having some millions available should help for the next couple of years and longer.
Yes, with these only feature requests can compete.
One Million Actions DAW. Reaper.

Welcome to DAW paradise. Friends.
TonE is offline   Reply With Quote
Old 12-15-2021, 03:06 PM   #9
Justin
Administrator
 
Justin's Avatar
 
Join Date: Jan 2005
Location: NYC
Posts: 15,721
Default

Quote:
Originally Posted by Meo-Ada Mespotine View Post
Yup. Cfillion and I looked into it a while ago.

The amount of scripts installed, thanks to ReaPack, runs into this limit time and again for more and more users recently.
I think, upping the total number of available command-ids from 16bit to 24bit and giving a huge range of the commandids then available to scripts, extension-actions and custom actions could solve the issue.
Currently, theres a limit somewhat above 10.000 commandids available.
Having some millions available should help for the next couple of years and longer.
24-bit is probably a no-go, but we could probably make many more slots available
Justin is offline   Reply With Quote
Old 12-16-2021, 01:14 AM   #10
hans
Human being with feelings
 
Join Date: Aug 2020
Posts: 276
Default

I removed some repositories and this solved the issue. I guess I had reached the limit of installed actions.

Thanks!

I'll send you Justin the files anyway if you want to take a look.
hans is offline   Reply With Quote
Old 12-16-2021, 10:00 AM   #11
TonE
Human being with feelings
 
Join Date: Feb 2009
Location: Reaper HAS send control via midi !!!
Posts: 4,031
Default

Wait until you reupdate with Reapack, and all actions come back.
TonE is offline   Reply With Quote
Old 12-16-2021, 10:58 AM   #12
Meo-Ada Mespotine
Human being with feelings
 
Meo-Ada Mespotine's Avatar
 
Join Date: May 2017
Location: Leipzig
Posts: 6,621
Default

Quote:
Originally Posted by Justin View Post
24-bit is probably a no-go, but we could probably make many more slots available
That would be great.

My 24bit suggestion was mainly to keep this fixed on the long run. I can imagine, that even when using 32k of command ids, they will run out in a forseeable future again. The amount of available scripts gets bigger by the day...
__________________
Use you/she/her.Ultraschall-Api Lua Api4Reaper - Donate, if you wish

On vacation for the time being...
Meo-Ada Mespotine is offline   Reply With Quote
Old 12-16-2021, 08:26 PM   #13
Justin
Administrator
 
Justin's Avatar
 
Join Date: Jan 2005
Location: NYC
Posts: 15,721
Default

Yeah though no actual user could ever use 12,000 scripts and custom actions IMO… too much of a “install everything” mentality
Justin is offline   Reply With Quote
Old 12-17-2021, 01:10 AM   #14
Phazma
Human being with feelings
 
Join Date: Jun 2019
Posts: 2,872
Default

Quote:
Originally Posted by Justin View Post
Yeah though no actual user could ever use 12,000 scripts and custom actions IMO… too much of a “install everything” mentality
Yeah that comes with Reapack

But tbh the powerful, synonym-supporting search filter in the action list makes this a not so bad idea in my opinion. When it comes to scripts I tend to “install everything” and often when I might need a certain, more specialized, action, chances are that the search delivers me the perfect script for the task without me even knowing beforehand that I have installed such a script. This saves a lot of time hunting for scripts when they are needed.

EDIT:

Quote:
Originally Posted by Phazma View Post
synonym-supporting search filter
Btw sorry for off-topic but related to this, could we add "erase" as a synonym for remove, delete etc?
(or maybe allow the user to edit/customize the list of synonyms)

Last edited by Phazma; 12-17-2021 at 01:15 AM.
Phazma is offline   Reply With Quote
Old 12-17-2021, 01:34 AM   #15
hans
Human being with feelings
 
Join Date: Aug 2020
Posts: 276
Default

Quote:
Originally Posted by Phazma View Post

But tbh the powerful, synonym-supporting search filter in the action list makes this a not so bad idea in my opinion. When it comes to scripts I tend to “install everything” and often when I might need a certain, more specialized, action, chances are that the search delivers me the perfect script for the task without me even knowing beforehand that I have installed such a script. This saves a lot of time hunting for scripts when they are needed.
Yeah. This is the reason I keep so much installed.
hans is offline   Reply With Quote
Old 12-17-2021, 05:25 AM   #16
schwa
Administrator
 
schwa's Avatar
 
Join Date: Mar 2007
Location: NY
Posts: 15,749
Default

Quote:
Originally Posted by Phazma View Post
(or maybe allow the user to edit/customize the list of synonyms)
You can do this already via a langpack. If you are already using a langpack (to translate strings in REAPER to another language or dialect), edit it; if not, download the sample langpack from landoleet.org. Add or edit this section:

Code:
[actionlist_synonyms]
;0000000000000001=open,display,view,show,hide
;0000000000000002=delete,clear,remove
;0000000000000003=insert,add
;0000000000000004=deselect,unselect
To add "erase" as a synonym for delete:

Code:
[actionlist_synonyms]
;0000000000000001=open,display,view,show,hide
0000000000000002=delete,clear,remove,erase
;0000000000000003=insert,add
;0000000000000004=deselect,unselect
To add another synonym group:

Code:
[actionlist_synonyms]
;0000000000000001=open,display,view,show,hide
0000000000000002=delete,clear,remove,erase
;0000000000000003=insert,add
;0000000000000004=deselect,unselect
0000000000000005=item,thing,object
schwa is offline   Reply With Quote
Old 12-17-2021, 06:30 AM   #17
Phazma
Human being with feelings
 
Join Date: Jun 2019
Posts: 2,872
Default

Quote:
Originally Posted by schwa View Post
You can do this already via a langpack. If you are already using a langpack (to translate strings in REAPER to another language or dialect), edit it; if not, download the sample langpack from landoleet.org. Add or edit this section:
Thanks for this information. I didn't use a langpack before and have downloaded and edited it now.
This is actually a very powerful tool, even if not used for translating, to customize text in Reaper and make some parts easier to understand or less wordy according to personal preference.

As we are at it, may I ask how it works with updates when new features are added? If we want to rename those do we need to download a new version of the langpack template and copy over our existing edits to the new langpack?
Phazma is offline   Reply With Quote
Old 12-17-2021, 08:30 AM   #18
nofish
Human being with feelings
 
nofish's Avatar
 
Join Date: Oct 2007
Location: home is where the heart is
Posts: 12,096
Default

Quote:
Originally Posted by Justin View Post
Yeah though no actual user could ever use 12,000 scripts and custom actions IMO… too much of a “install everything” mentality
My thoughts too tbh but was a bit hesitant to post it. :P
Anyway, not sure if all ReaPack (which I think is currently the main 'cause' for this 'issue' here) users are aware of it, so leaving it here just in case, it's possible to not have all packages installed by default and only install on demand.
https://forum.cockos.com/showpost.ph...28&postcount=8
nofish is offline   Reply With Quote
Old 12-17-2021, 08:31 AM   #19
Meo-Ada Mespotine
Human being with feelings
 
Meo-Ada Mespotine's Avatar
 
Join Date: May 2017
Location: Leipzig
Posts: 6,621
Default

Quote:
Originally Posted by Justin View Post
Yeah though no actual user could ever use 12,000 scripts and custom actions IMO… too much of a “install everything” mentality
Probably XD

Though a "SetShortCut"-function in the API could change that. Having different, changeable shortcut-sets, depending on the current use-case. So some actions are used in one usecase(with a certain shortcut-set), others in another usecase.
Especially hardcore users would use this for their 101-usecases with 150 individual shortcuts each.

Would make 15.150 shortcuttable actions necessary XD

(Purely hypothetical, though...)
__________________
Use you/she/her.Ultraschall-Api Lua Api4Reaper - Donate, if you wish

On vacation for the time being...
Meo-Ada Mespotine is offline   Reply With Quote
Old 12-17-2021, 08:47 AM   #20
X-Raym
Human being with feelings
 
X-Raym's Avatar
 
Join Date: Apr 2013
Location: France
Posts: 9,875
Default

Quote:
Originally Posted by Justin View Post
Yeah though no actual user could ever use 12,000 scripts and custom actions IMO… too much of a “install everything” mentality

This is due to simplicity. It is easier to install 10 repos than to choose manually 100 scripts 😉


I think the main issue is with scripts with install tons of variation from a single file (reapack feature). Some are a bit too exhaustive. For eg, a scriot can generate a Set velocity X to notes and MIDI channel Y, and install 127 * 16 variations. This is definitely overkill and spam the action list (fortunately reapack allows uninstall scripts we don't need) but somehow some users request it (I made a 3 scripts which generates 64 variations each for track VCA group, and it was necessary for the users)


Anyway, having more action ID possible will satisfy everyone :P
X-Raym is offline   Reply With Quote
Old 12-18-2021, 08:31 AM   #21
TonE
Human being with feelings
 
Join Date: Feb 2009
Location: Reaper HAS send control via midi !!!
Posts: 4,031
Default

Quote:
Originally Posted by Justin View Post
Yeah though no actual user could ever use 12,000 scripts and custom actions IMO… too much of a “install everything” mentality
There is simple solution how to solve current situation. If installation of a script and its activation would be separated within Reaper. Thus if I install all Reapack scripts from all Repack repositories in the universe, today and in 10000 years its meaning should be only "copy to my harddisk, in some Scripts subfolder for Reaper". And I should be able to search among those options. But not, that those are active! For this there could be another checkbox per script, by default all unchecked, thus inactive.

Typical workflow would be:
- get all Reapack scripts (example: resulting in 1 Million actions)
- all in action list (can be searched and found)
- all 1 Million actions in passive mode (unchecked)
- whatever you want to use (check/activate) <-- and only those should consume action space. 1 action, and not 1 Million actions.

Using this technique Reaper could get 100 Millions Actions DAW.
Not sure if technically, possible, easy or impossible, difficult.
TonE is offline   Reply With Quote
Old 12-18-2021, 08:38 AM   #22
Justin
Administrator
 
Justin's Avatar
 
Join Date: Jan 2005
Location: NYC
Posts: 15,721
Default

Quote:
Originally Posted by TonE View Post
There is simple solution how to solve current situation. If installation of a script and its activation would be separated within Reaper. Thus if I install all Reapack scripts from all Repack repositories in the universe, today and in 10000 years its meaning should be only "copy to my harddisk, in some Scripts subfolder for Reaper". And I should be able to search among those options. But not, that those are active! For this there could be another checkbox per script, by default all unchecked, thus inactive.

Typical workflow would be:
- get all Reapack scripts (example: resulting in 1 Million actions)
- all in action list (can be searched and found)
- all 1 Million actions in passive mode (unchecked)
- whatever you want to use (check/activate) <-- and only those should consume action space. 1 action, and not 1 Million actions.

Using this technique Reaper could get 100 Millions Actions DAW.
Not sure if technically, possible, easy or impossible, difficult.
Or perhaps, while being transparent to the user, the action command ID could not be registered until it is actually run or bound to something. Let me look at this!
Justin is offline   Reply With Quote
Old 12-18-2021, 09:44 AM   #23
X-Raym
Human being with feelings
 
X-Raym's Avatar
 
Join Date: Apr 2013
Location: France
Posts: 9,875
Default

Quote:
the action command ID could not be registered until it is actually run or bound to something.
Some scripts run other scripts (register in action list) under the hood (this can happen with script with GUI, where one action is for GUI and other are for action perform by the GUI),
this expect command ID to be register, even if it has not be run by the user directly.


I do think that going up to 40 000 actions would actually solve all this for a while in a simpler and predictible way :P
X-Raym is offline   Reply With Quote
Old 12-18-2021, 11:18 AM   #24
Phazma
Human being with feelings
 
Join Date: Jun 2019
Posts: 2,872
Default

Quote:
Originally Posted by Justin View Post
Or perhaps, while being transparent to the user, the action command ID could not be registered until it is actually run or bound to something. Let me look at this!
Yes sounds good. I imagine Reaper just creating an action command ID automatically when an action is run for the first time.
Phazma is offline   Reply With Quote
Old 12-18-2021, 12:37 PM   #25
Buy One
Human being with feelings
 
Buy One's Avatar
 
Join Date: Sep 2019
Posts: 1,134
Default

Quote:
Originally Posted by Phazma View Post
If we want to rename those do we need to download a new version of the langpack template and copy over our existing edits to the new langpack?
There's a language pack merger utility available at https://www.landoleet.org/i8n/

But i personally haven't had luck with it
__________________
https://github.com/Buy-One/REAPER-scripts (175)
REAPER is a DAW whose user guide file is larger than its installation file
Buy One is online now   Reply With Quote
Old 12-18-2021, 12:55 PM   #26
Meo-Ada Mespotine
Human being with feelings
 
Meo-Ada Mespotine's Avatar
 
Join Date: May 2017
Location: Leipzig
Posts: 6,621
Default

Quote:
Originally Posted by Justin View Post
Or perhaps, while being transparent to the user, the action command ID could not be registered until it is actually run or bound to something. Let me look at this!
This sounds like a great idea, as long as it's only for registered actions, not native ones.
__________________
Use you/she/her.Ultraschall-Api Lua Api4Reaper - Donate, if you wish

On vacation for the time being...
Meo-Ada Mespotine is offline   Reply With Quote
Old 12-18-2021, 01:50 PM   #27
Justin
Administrator
 
Justin's Avatar
 
Join Date: Jan 2005
Location: NYC
Posts: 15,721
Default

Quote:
Originally Posted by Meo-Ada Mespotine View Post
That would be great.

My 24bit suggestion was mainly to keep this fixed on the long run. I can imagine, that even when using 32k of command ids, they will run out in a forseeable future again. The amount of available scripts gets bigger by the day...
Actually (it looks like) we can do a lot more than the 16-bit... though, having said that, a lot of things start getting slow with huge numbers of actions.
Justin is offline   Reply With Quote
Old 12-18-2021, 04:36 PM   #28
vitalker
Human being with feelings
 
vitalker's Avatar
 
Join Date: Dec 2012
Posts: 13,333
Default

Quote:
Originally Posted by Phazma View Post
Yes sounds good. I imagine Reaper just creating an action command ID automatically when an action is run for the first time.
And automatically removing it for actions inactive for some time.
vitalker is offline   Reply With Quote
Old 12-19-2021, 12:22 AM   #29
Phazma
Human being with feelings
 
Join Date: Jun 2019
Posts: 2,872
Default

Quote:
Originally Posted by vitalker View Post
And automatically removing it for actions inactive for some time.
That could be dangerous. Imagine you are calling some action from a script that you use rarely and at some point it doesn’t work anymore because the command ID isn’t assigned to the right action anymore and you have no idea what happened.
Phazma is offline   Reply With Quote
Old 12-19-2021, 02:19 AM   #30
amagalma
Human being with feelings
 
amagalma's Avatar
 
Join Date: Apr 2011
Posts: 3,451
Default

Quote:
Originally Posted by Justin View Post
Or perhaps, while being transparent to the user, the action command ID could not be registered until it is actually run or bound to something. Let me look at this!
Would that work for actions called by other actions too? Or only for the ones run manually by the user? I am curious to see what you will come up with!

Quote:
Originally Posted by Justin View Post
Actually (it looks like) we can do a lot more than the 16-bit... though, having said that, a lot of things start getting slow with huge numbers of actions.
Does this mean that the less actions there are in the Action List, the faster Reaper runs?
__________________
Most of my scripts can be found in ReaPack.
If you find them useful, a donation would be greatly appreciated! Thank you! :)
amagalma is offline   Reply With Quote
Old 12-19-2021, 03:17 AM   #31
vitalker
Human being with feelings
 
vitalker's Avatar
 
Join Date: Dec 2012
Posts: 13,333
Default

Quote:
Originally Posted by Phazma View Post
That could be dangerous. Imagine you are calling some action from a script that you use rarely and at some point it doesn’t work anymore because the command ID isn’t assigned to the right action anymore and you have no idea what happened.
It could be assigned again, although it would take more time to run this script.
vitalker is offline   Reply With Quote
Old 12-21-2021, 10:54 AM   #32
Meo-Ada Mespotine
Human being with feelings
 
Meo-Ada Mespotine's Avatar
 
Join Date: May 2017
Location: Leipzig
Posts: 6,621
Default

Quote:
Originally Posted by Justin View Post
Actually (it looks like) we can do a lot more than the 16-bit... though, having said that, a lot of things start getting slow with huge numbers of actions.
Is it because of upping the number of commandids or plain simple 64 million actions are slow because there are 64 million?
__________________
Use you/she/her.Ultraschall-Api Lua Api4Reaper - Donate, if you wish

On vacation for the time being...
Meo-Ada Mespotine is offline   Reply With Quote
Old 12-21-2021, 01:11 PM   #33
Justin
Administrator
 
Justin's Avatar
 
Join Date: Jan 2005
Location: NYC
Posts: 15,721
Default

Quote:
Originally Posted by Meo-Ada Mespotine View Post
Is it because of upping the number of commandids or plain simple 64 million actions are slow because there are 64 million?
Lots of code that assumes more reasonable numbers (e.g. linear searches of things)... can spend time making those scale better but also do we need 64 million actions?
Justin is offline   Reply With Quote
Old 12-21-2021, 02:20 PM   #34
vitalker
Human being with feelings
 
vitalker's Avatar
 
Join Date: Dec 2012
Posts: 13,333
Default

Quote:
Originally Posted by Justin View Post
Lots of code that assumes more reasonable numbers (e.g. linear searches of things)... can spend time making those scale better but also do we need 64 million actions?
I doubt you use action list at all, but it would be cool to have a higher limit. Maybe not 64 million, but at least 1 million.
vitalker 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:26 PM.


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