reaper-oss / sws

The SWS extension is a collection of features that seamlessly integrate into REAPER, the Digital Audio Workstation (DAW) software by Cockos, Inc
MIT License
440 stars 84 forks source link

Recall snapshot 13/14/15/16/17/21 actions missing! #1871

Open manyfew opened 1 month ago

manyfew commented 1 month ago

SWS 2.12.1.3

As you can see in the screenshot, some snapshot recall actions appear to be missing. In addition, is there any reason not to include actions to recall up to, say, 32 snapshots?

SWS recall snapshots missing

Thank you 😀

cfillion commented 1 month ago

The amount of these actions is user-configurable via S&M.ini in the resource directory (SWSSNAPSHOT_GET=n). The default is 12 actions.

Since there are more than 12 that suggests you've already customized that setting in the past. However it is quite strange that some numbers are skipped! (Not happening here & should be impossible, but computers sometimes...)

manyfew commented 1 month ago

The amount of these actions is user-configurable via S&M.ini in the resource directory (SWSSNAPSHOT_GET=n). The default is 12 actions.

Since there are more than 12 that suggests you've already customized that setting in the past. However it is quite strange that some numbers are skipped! (Not happening here & should be impossible, but computers sometimes...)

I'm perplexed, I didn't even know of the existence of such a file. I installed this extension early May and I have not edited the INI file.

I have just inspected the file and I have:

SWSSNAPSHOT_GET=99
SWSSNAPSHOT_SAVE=12

Interestingly, now my actions list shows different snapshot recall numbers:

image

The only thing that seems consistent is actions 1-12, which is consistent with the configuration in the ini file. Now how the numbers above 12 are now different from the screenshot in my first post. I have created 33 snapshots, and I don't think what the following screenshot shows is a coincidence (looks like a bug to me):

image

manyfew commented 1 month ago

After setting SWSSNAPSHOT_GET=99, basically an arbitrary number greater than the number of snapshots I had created, the actions list looks correct and shows SWS: Recall snapshot 1 through SWS: Recall snapshot 99 correctly. The Snapshots window never prevented me from creating more than 12 snapshots even though that was supposed to be the limit.

cfillion commented 1 month ago

Thanks! I found how to duplicate the bug:

  1. Create more than SWSSNAPSHOT_GET=n snapshots
  2. Move up one of these high-numbered snapshots
  3. This causes a mismatch between their ID and their order in the project file
  4. The code that automatically adds additional recall actions skips when an ID is smaller the previous one.

I'll investigate a fix another day.

The Snapshots window never prevented me from creating more than 12 snapshots even though that was supposed to be the limit.

That part is normal: SWSSNAPSHOT_GET=n only sets the default/minimum amount of recall entries in the Action List. It does not impose any limits on snapshots. New recall actions are automatically added at runtime as additional snapshots are created or loaded.

manyfew commented 1 month ago

Ah well spotted! Indeed, I had shuffled my snapshots up and down the list. Thank you for taking the time to look into this 😀