Hi Jacob,
The RV Screening Room user preferences are split over two locations.
RV Native Preferences
One is pretty easy and well-supported. That method covers all the features in the menus that are settable. Those settings use RV’s preferences which can be found here:
The easiest way to handle these preferences is to just set them interactively and then extract the relevant lines out of your preference file. You can set either a clobber preference path that points to the directory
where your edited preference file exists and that will force your users to take those preferences. A softer approach is to use the override path, which only overrides the initial values.
In your example defaults, Frame Range to Cut Length would be stored in those preferences.
Web-based Settings.
The web panel specific preferences (such as default pages, starred pages, filters) are stored in the local web cache. This is not really a supported location to modify, but if you want to dig, I’ll give you the headstart
.
The web cache is located, on OSX, in ~/Library/Caches/TweakSoftware/RV/local_storage/
In that location, you can find the sqlite databases that the internal web browser uses for local storage for each site.
Check out the contents with something like the following:
$ sqlite3 https_example-site.shotgunstudio.com_0.localstorage
SQLite version 3.24.0 2018-06-04 14:10:15
Enter ".help" for usage hints.
sqlite> .tables
ItemTable
sqlite> .schema ItemTable
CREATE TABLE ItemTable (key TEXT UNIQUE ON CONFLICT REPLACE, value TEXT NOT NULL ON CONFLICT FAIL);
sqlite> select * from ItemTable;
...
This isn’t guaranteed to keep a consistent format, or even to work tomorrow, but if you are willing to take the risk that it might not work or cause other problems if invalid data is in there, authoring those with a default you care about might be a way forward. As this isn’t a supported way of changing preferences, we don’t have the same sort of waterfall preferences that we do on the RV native side. We are also transitioning to Qt5 in RV 7.5.0, which uses a new browser under-the-hood, so if you are writing preferences for versions before 7.5.0, you might want to do extra testing to make sure it works with 7.5.0.