All I can suggest here is probably put this code into script folder with a different name and load it from actions list, like \REAPER\Scripts\MPL Scripts\FX specific\mpl_Rs5kmanager_testv3.lua. Also for macro and childrenchain modules you need related choke and macro JSFX shared at the same place here
Hi MPL,
I recommended your script to some people and they said they couldn't get it to work until they also installed all other RS5k related scripts. Not just your manager and Various_functions.
It seems that there's some more dependencies. Could you check for that?
Hi MPL,
I recommended your script to some people and they said they couldn't get it to work until they also installed all other RS5k related scripts. Not just your manager and Various_functions.
It seems that there's some more dependencies. Could you check for that?
depencies are:
Various functions (must have, GUI and some performance stuff)
rs5k_macro_jsfx (for macro module)
rs5k_choke_jsfx (for choking)
I'll check again, but I tested script withiut jsfx and all was fine except first message, when script xant found mentioned jsfx. I can disable them by default.
I just tried it myself with a clean portable install of Reaper. And I couldn't reproduce the exact problem they described.
They said, after running the script they could only see the tab list on the left side, and clicking seemed to do nothing.
If it's not a missing dependency, I can only imagine that they did not create a track before running the script. At least this leads to only seeing the tab list.
One guy also described that he created several tracks with RS5k on it and was disappointed/surprised that your manager script did not regocnize them.
Well, I don't wanna say that it should work the way he expected it to, I do rather think maybe you should add a small section about how it's actually intended to be used to your first post of this thread.
Quote:
Originally Posted by mpl
I'll check again, but I tested script withiut jsfx and all was fine except first message, when script xant found mentioned jsfx. I can disable them by default.
I'd rather add the jsfx to the installation instructions. I know, it makes it look less clean and easy to install, but I think this would be more straight forward than taking features away which are important.
Probably "Help" button when no track selected would be fine. I'll add that.
Good Idea. Not sure if this will take away all confusion, but it will definitely help!
Quote:
Originally Posted by mpl
Btw Justin seems to fixed undo issues with latest reaper prerelease. Can you check it?
Just tested it with 6.70+dev1116. Unfortunately the problem still persists.
Btw, just to let you know. I'm currently having so much fun with v3! It's really a total game changer to my beat building workflow in Reaper. Everything's so much faster and more intuitive to control than before. Thanks a million, Michael!
Interesting. I just tested it with 6.71re5+ and the pre-release of 6.71. Definitely something has changed, but it's still not working as expected.
I guess one of the counter measures you tried for fixing the problem on your end before realizing it's a Reaper thing, may now cause an issue.
It shows different weird behaviours, but I think this could all be related to your script trying to undo 2 steps at once (and sometimes fails to do so, because there are less than 2 steps available).
But we're definitely getting closer!
Very nice that Justin worked on the problem (and you let him know about it). Appreciate it very much!
Interesting. I just tested it with 6.71re5+ and the pre-release of 6.71. Definitely something has changed, but it's still not working as expected.
I guess one of the counter measures you tried for fixing the problem on your end before realizing it's a Reaper thing, may now cause an issue.
It shows different weird behaviours, but I think this could all be related to your script trying to undo 2 steps at once (and sometimes fails to do so, because there are less than 2 steps available).
But we're definitely getting closer!
Very nice that Justin worked on the problem (and you let him know about it). Appreciate it very much!
In the late evening I'll have some time for it again. But, real short, what I did was the following:
Create a "New kit" with the 'Database map' feature first. Then I used the 'New sample' function or the 'Next/Previous sample' function. If I changed the sample only once and then hit 'Undo' nothing happened. Or well, at least not what I expected. The sample didn't change to the former one. Instead the selection of the pad switched to the last inserted sample of the kit.
When I hit 'Next sample' twice and then undo only once, I end up with my initial sample. So it skipped the one in between.
There where some other things I can't remember so clearly, but I think it's all related to each other.
Like I said, I can make a proper test this evening or tomorrow morning.
Ok, I did some more structured testing. Here are my findings:
Clicking 'Prev spl', 'Next spl' or 'Rand spl' in the 'Sampler' tab does not create entries in the Undo history at all. So undoing those obviously cannot work.
Trying to use the same functions but with the actions you've made for that also shows unexpected behaviour. Here's what I did:
- Create Track
- Drag&drop sample from Media Explorer to C1
- Run Action "mpl_RS5k_manager_Sampler_NextSample.lua"
- Click 'Undo'
Result: Name of the pad changes to previous sample but actual sample stays unchanged
and this:
- Create Track
- Drag&drop sample from Media Explorer to C1
- Run Action "mpl_RS5k_manager_Sampler_NextSample.lua"
- Run Action "mpl_RS5k_manager_Sampler_NextSample.lua"
- Click 'Undo'
Result: It goes back to the initial sample that was dropped to the pad
(That's what I've experienced yesterday, it always seems to go back 2 steps)
The same behaviour is true for those functions:
"mpl_RS5k_manager_Sampler_PreviousSample.lua"
"mpl_RS5k_manager_Sampler_RandSample.lua"
"mpl_RS5k_manager_Database_NewSample.lua"
But note, 'New sample' in 'Database map' is perfectly undoable when clicked with the mouse. Only the action has problems.
Something similar is true for 'New kit'. It sets one undo point which works nicely when clicked by mouse. But using its action:
"mpl_RS5k_manager_Database_NewKit.lua"
it sets undo points for every single pad.
Also I've noticed that 'Lock' in 'Database map' doesn't set an undo point, which potentially can cause issues when undoing 'New kit' by reverting several steps in undo history, right?
Ok, no problem. So I'll wait until you upload 3.04 before testing.
By the way, I found a minor bug:
After you set the loop length in RS5k native GUI, your script crashes when trying to change this value from the manager.
4981: attempt to index a nil value (field '?')
Did a quick test and found a lot of improvement!
Most of the undo stuff is working now I think. Which is really great!
I only found 2 actions to be faulty now.
The "mpl_RS5k_manager_Database_NewKit.lua" action still produces the same behaviour as before I think. It's not undoable. It sets an undo point but reverting doesn't bring back the samples from before. Clicking 'New kit' by mouse works perfectly though...
When using the action "mpl_RS5k_manager_Database_Lock.lua", for some reason it seems to also trigger some kind of 'New kit' command (but the only undo entry is ".../Lock active note"). Locking works, but also, all of the samples, except for the locked ones, get replaced. When using undo afterwards it does not restore the previous 'Lock' state, but gives you back the sample bank you had before.
One more thing:
Quote:
Originally Posted by ief
By the way, I found a minor bug:
After you set the loop length in RS5k native GUI, your script crashes when trying to change this value from the manager.
4981: attempt to index a nil value (field '?')
I looked into this a bit more carefully. And it turns out, that it's not related to the loop parameters specifically. It happens with every parameter under certain conditions. It took me a while to understand the pattern...
Try the following to reproduce it:
- Create an empty track
- start your manager script
- load a sample on a pad
- open the native RS5k GUI of the belonging track/sample
(and here comes the step that took me a while to understand)
- while the native RS5k GUI is focused, select the pad >with an incoming note< from your MIDI device (obviously the preference "Active note follow incoming note" needs to be turned on for this)
- while the RS5k GUI is still in focus, directly click on any parameter in your manager script and try to change it
Then you'll get the crash with the error message I gave above.
Actually this happens no matter which RS5k GUI is focused and no matter which pad you select.
It's simply the combination of having ANY RS5k in focus, selecting ANY pad by incoming note and then directly trying to change ANY parameter in your script.
I just noticed, the error message is not the same as this morning.
Now it's:
4984: attempt to index a nil value (field '?')
I tracked steps in various cases with 3.05, can`t reproduce it (I clicked Virtual keyboard though, maybe thats an issue?)
4984 seems lack of possible error, can you please confirm new error line number?
I tracked steps in various cases with 3.05, can`t reproduce it (I clicked Virtual keyboard though, maybe thats an issue?)
With virtual keyboard there's no problem. Because the error seems to be related to focus. It only happens when focus goes directly from the native RS5k GUI to your script by dragging one of the controls of your manager. When you're using the virtual keyboard to select a new pad, you take the focus away from the RS5k GUI. Hence there's no direct focus change from RS5k to your manager anymore.
Note that the error also does NOT occur when you first click somewhere inside your script before dragging one of the knobs. It's really only happening when going from focus of any RS5k window to directly dragging one of the controls in the script (after selecting a pad by midi input while RS5k is in focus).
Though this exact sequence happens quite often in my personal workflow, I'd still consider it being only a minor bug, because in different workflows it might be rare, and the user can prevent it by one extra click. He/She just has to always remember to do that.
So maybe, if it's really tricky to find the cause of it, don't spend too much time on it...
Quote:
Originally Posted by mpl
4984 seems lack of possible error, can you please confirm new error line number?
100% sure. I copied and pasted the message. Just checked it again anyway - same number.
I guess the cause of this confusion is that you're looking at version 3.05. Which seems to not be available online yet. I can only test with 3.04. Probably you've added or removed some lines in between.
Been using the script a week and i honestly love it. I own XO and havent used it in about a week. Lol few questions and maybe its just me.
1. How do u save a Kit. (I had 1st assumed it was database map slot... but thats not it and please dont tell me its track template.
2. Pitch detection .... soo thats gone or is that the macros tie it down. And can i have that back.
3.database map slot... what are those?
Been using the script a week and i honestly love it. I own XO and havent used it in about a week. Lol few questions and maybe its just me.
1. How do u save a Kit. (I had 1st assumed it was database map slot... but thats not it and please dont tell me its track template.
2. Pitch detection .... soo thats gone or is that the macros tie it down. And can i have that back.
3.database map slot... what are those?
1. When you save track template, you save all tree of samples including RS5k configuration, mappings etc. You have to save parent track only. This is the most safe way rather than doing it from ReaScript.
2. I never had pitch detection in RS5k manager. I`ll look how can I implement it in the future.
3. You can "map" specific pad to a database from media explorer. Like, you can collect all your kick into "kick" database, snare to "snare" database, etc. Then run "New Kit" - it will create a random kit. This feature was ported from Atlas sampler (starting from 0:54): https://youtu.be/ErqPJFUA554?t=54
3.05 was pushed at 8 december of 2022, I updated it myself and all seems fine
Ok, very good. By the time of writing the post I couldn't update to 3.05, but now it's there. Just tested it.
The new line number for the described bug is 4991.
"4991: attempt to index a nil value (field '?')"
But more importantly, it still has the two bugs I've mentioned in earlier posts, regarding the actions for 'New kit' (undo doesn't work) and 'Lock' (seems to trigger 'New kit'). If you could iron out these it would be really great!
I really don't want to annoy you with requests regarding actions, in addition to your already very large and amazing script. But I just honestly think it's very important to make RS5k manager work well with controller-centered workflows. That's just where a lot of fun and potential lies when it comes to sampling, beat making and so on. I mean, essentially your script is a huge leap forward in terms of usability for functions that are already built into Reaper. Optimizing it even further for custom use with shortcuts and controllers seems like a logical consequence of the philosophy behind it. At least that's how I see it.
The new line number for the described bug is 4991.
"4991: attempt to index a nil value (field '?')"
should be fixed at 3.07
Quote:
But more importantly, it still has the two bugs I've mentioned in earlier posts, regarding the actions for 'New kit' (undo doesn't work)
There was not undo for this step for external actions. Button trigger and external action are different sections so please point this in the future if you`ll have issues.
Quote:
and 'Lock' (seems to trigger 'New kit').
this one is more about correct state load. So undo do its job correctly, but the script does not load track state update. This should be also fixed (but I`m not sure, please check).
Quote:
Optimizing it even further for custom use with shortcuts and controllers seems like a logical consequence of the philosophy behind it. At least that's how I see it.
Ideally this should be VST plugin with deep integration rather than reascript, but for now I don`t have enough knowledge to build sampler in VST format.
There was not undo for this step for external actions. Button trigger and external action are different sections so please point this in the future if you`ll have issues.
I know they're different. I thought I was precise enough in my explanations. Some posts ago (post #451) I even listed the actions with their exact names.
Well, I know you're working on so many different things at the same time, reading and writing so many posts every day - so I understand when some things just slip through sometimes. I'll try to be as precise as I can in the future.
Quote:
Originally Posted by mpl
this one is more about correct state load. So undo do its job correctly, but the script does not load track state update. This should be also fixed (but I`m not sure, please check).
Undo 'Lock' works. I did work before already, although you're right about the track state not updating. Now it does. Thanks for that!
But the actual problem I was referring to, is that using the external action for 'Lock' causes a 'New kit' to be generated, in addition to the intended locking function. I described the problem a bit more in detail in post #451.
Quote:
Originally Posted by mpl
Ideally this should be VST plugin with deep integration rather than reascript, but for now I don`t have enough knowledge to build sampler in VST format.
I don't think you would need to build a VST for that. As you know, there a plenty VST samplers out there, and most of them do their thing quite good. There's no real need to add another one to this list.
What I really love about your RS5k manager is it's elegant simplicitly and escpecially the deep integration into Reaper. Which enables me to thoroughly customize everything to fit my specific controllers and workflow needs. I don't really need most of the fancy stuff from the pricey samplers. I'd rather just have some more external Reaper actions to operate your script better without using the mouse.
Like for moving samples, muting and soloing pads, deleting samples, and controlling the 'Macro's. If I could do stuff like this with my controllers, I'd be a really happy man.
First of all, thank you for a great script! However, and it's prob me being thick but how do I (can I) dock this?
Thanks
J
It's basically the same as with all other windows in Reaper. You can just right-click at the top/title bar of RS5k manager and choose "Dock...". After that you can drag it to the location you want it to be.
It's basically the same as with all other windows in Reaper. You can just right-click at the top/title bar of RS5k manager and choose "Dock...". After that you can drag it to the location you want it to be.
I'm on macOS BigSur and Dock a lot of scripts, but for this one, the right-click at the top/title does nothing, no menu, no option to dock it....(Version 3.07). I have the Option to dock in version 2 when clicking to the little arrow in the top left corner....but since version 3, i can't see where is the option to dock.
Also about "You can "map" specific pad to a database from media explorer." , i can't figure out how it work , it seems RS5k don't see my DB's...I cannot edit the DB name in the rs5k Database map...
...so I understand when some things just slip through sometimes...
Sorry, I totally missed that.
Quote:
Originally Posted by ief
But the actual problem I was referring to, is that using the external action for 'Lock' causes a 'New kit' to be generated
Should be fixed.
Quote:
Originally Posted by ief
Like for moving samples, muting and soloing pads, deleting samples, and controlling the 'Macro's. If I could do stuff like this with my controllers, I'd be a really happy man.
Added mute/solo/clear. If I`ll have time I`ll add macro control also soon.
I have the Option to dock in version 2 when clicking to the little arrow in the top left corner....but since version 3, i can't see where is the option to dock.
I don`t know why on MacOS there isn`t that standart menu. So added it to Settings/UI/Dock as button.
Quote:
Originally Posted by Labete
Also about "You can "map" specific pad to a database from media explorer." , i can't figure out how it work , it seems RS5k don't see my DB's...I cannot edit the DB name in the rs5k Database map...
Send me please your reaper.ini and content of /REAPER/MediaDB
Hi MPL, thank you for your continuing development of this script. It's really cool and it already proved useful to me.
Got a question: are the latest version's features (3.08) supposed to be compatible with the 6.72 release or is it still fully compatible only with the +dev releases (i.e. any implemented features not working)?
Also here's a few bugs I found so far (tested on Windows 10 (x64) running Reaper v6.72 x64 and RS5k manager v 3.08):
Bug no. 1:
1. Load up a sample onto a pad
2. Open the macros tab
3. Select the first macro
4. Enable the filter in the sampler
5. Click the frequency dial in the sampler.
6. Click "Add link" (Macro tab)
7. Set the lower limit of the bound parameter to the macro to 80 % (or some other number but keep it above 50 % - for demonstration purposes) and keep the upper limit at 100 %.
8. Nove slowly move the Macro 1 knob from 0 % upwards.
9. Observe how the frequency actually reaches its maximum value of 24 kHz at about 20 % of the Macro 1 knob's value.
I believe it should be so that the Macro 1 knob's 100 % represents the frequency parameter's maximum value. That would mean the in-between values of that knob would have to be scaled. Or is that not right?
Bug no. 2:
Double-clicking to reset a parameter's value unfortunately doesn't work for me.
Bug no. 3:
1. Load 2 samples to 2 pads.
2. Open the Macro tab
3. Select a macro
4. Use the Add selected/all RS5k samplers pitch, obey note_offsets action. The assigned Macro's knob is set to 50 %.
5. Move the macro knob up or down a bit.
6. Right click on the macro knob, type in "50" and press Enter.
7. See how the "Tune" parameter's value is set to "0.08st" instead of "0.00st" as it was at the beginning (before you moved the macro's knob)
The actual value that gets you close to the 0 is 49.95 %. I know that the displayed value on the macro will be "50%" even when I type this more precise number but since double-clicking on the macro knob doesn't do anything for me (I presume it should've reset it to the default value which I also don't know what is - 0%? or 50%?) - see "bug no. 2" - I was forced to type in the number. Naturally I used the number which I saw before I started moving the macro's knob and that number was 50.
I'd also like to request a feature: I'd like to be able to trim each of the selected pad's volume parameter by the same amount. I know I can link the gain parameter of each pad to a macro but that takes time if you have a lot of pads. Maybe adding an action to gain parameter of all selected pads to a macro (like you did for the pitch offset parameter) would be easy to implement?
Sorry, can`t do anything to that, I reduced CPU usage as much as I can. Probably in the future I build something more fast and responsive.
i think i have no problem causing more CPU usage, the problem that i have shown in the screenshots is the refresh rate of the UI like the refresh rate is so low that the Ui is becomes very hard to use
Got a question: are the latest version's features (3.08) supposed to be compatible with the 6.72 release or is it still fully compatible only with the +dev releases (i.e. any implemented features not working)?
At the moment all the features except macro and learn sections (6.69+ afair) will probably work ever down to 6.0 versions.
Quote:
7. Set the lower limit of the bound parameter to the macro to 80 % (or some other number but keep it above 50 % - for demonstration purposes) and keep the upper limit at 100 %.
That values aren`t limits, they are offset and scale (stock REAPER modulation design). I`ll probably change it in the future, to show/edit parameter actual min-max limits.
Quote:
Double-clicking to reset a parameter's value unfortunately doesn't work for me.
UI thing as gdm_music posted above. Same lagging issue. Hopefully someday I`ll fix that.
Quote:
I'd also like to request a feature: I'd like to be able to trim each of the selected pad's volume parameter by the same amount. I know I can link the gain parameter of each pad to a macro but that takes time if you have a lot of pads. Maybe adding an action to gain parameter of all selected pads to a macro (like you did for the pitch offset parameter) would be easy to implement?
Also about "You can "map" specific pad to a database from media explorer." , i can't figure out how it work , it seems RS5k don't see my DB's...I cannot edit the DB name in the rs5k Database map...
Send me please your reaper.ini and content of /REAPER/MediaDB
here it is ...I can't put the full content of mediaDB folder, is too big...
On the database map of rs5k, what ever i do, i have this "not found" for DB Name. I tried to drag and drop one of the DB from media explorer to a pad, or to this page, tried "new kit", tried "new sample"....i don't understand this page.
Also i noticed than if, for exemple, i put one sample from the "DB :Kick" from the media explorer to a pad, the next spl and previous spl scripts react hazardous, sometime it select old sample from a last project and loop, sometime go to next kick but stay in the same folder and loop, one time it worked well or like i hoped (go to next kick on another folder whithin the DB:Kick database).... Does the name of folder in database matter ? what the proper way to name them?
On the database map of rs5k, what ever i do, i have this "not found" for DB Name.
The issue was with your ini file. For some reason you have [reaper_sexplorer] section which contains shortcut mapping data, while normally it is [reaper_explorer]. I added support for that name for 3.10.
Quote:
I tried to drag and drop one of the DB from media explorer to a pad, or to this page, tried "new kit", tried "new sample"....i don't understand this page.
"New kit" triggers for each pad with linked database random sample taken from defined database if any. "New sample" does it only for current pad.
Quote:
Also i noticed than if, for exemple, i put one sample from the "DB :Kick" from the media explorer to a pad, the next spl and previous spl scripts react hazardous, sometime it select old sample from a last project and loop, sometime go to next kick but stay in the same folder and loop, one time it worked well or like i hoped (go to next kick on another folder whithin the DB:Kick database).... Does the name of folder in database matter ? what the proper way to name them?
This buttons trigger next/prev/random sample in the current sample folder. If database is defined, it should do the same thing but for attached database list.
The issue was with your ini file. For some reason you have [reaper_sexplorer] section which contains shortcut mapping data, while normally it is [reaper_explorer]. I added support for that name for 3.10.
"New kit" triggers for each pad with linked database random sample taken from defined database if any. "New sample" does it only for current pad.
This buttons trigger next/prev/random sample in the current sample folder. If database is defined, it should do the same thing but for attached database list.