File Browser Control "Get" models and irs buttons with dynamic clear button
Description
After taking on ToneHunt support I've found NAM newbies often download this plugin but struggle to figure out how to get models. While users like Robert (screenshot below) will do the research or ask in the FB group, I believe a much larger group quietly gives up and leaves NAM for good. I’ve seen this firsthand with several friends I’ve introduced to NAM. To address this issue, this PR adds "Get" buttons to the File Browser Control. These buttons only appear when the File Browser state is empty, replacing the unneeded/redundant "Clear" buttons. The "Get NAM Models" button deep links to ~all the NAM models on ToneHunt~ the "NAM for users" page on neuralampmodeler.com anchored to the share/find section. The "Get IRs" button deep links to ~all the IRs on ToneHunt~ the "NAM for users" page on neuralampmodeler.com anchored to the share/find section. See video demo below:
https://github.com/user-attachments/assets/199de400-0185-4dc0-93f4-6eaeb3734964
While I understand the purpose of the NeuralAmpModelerPlugin is primarily to demo the core tech, I think in reality it is actually a well distributed entry point for NAM consumers and therefore IMO this gap in "getting started" should be solved in some way. We are currently working on offering a search API as well as a webview embed integration for plugin makers to allow their users to directly search/download from ToneHunt. However, that approach may be overkill for the philosophy behind this plugin. Here, I tried to solve the issue as dead simple as possible, with very little code to change/maintain and with as little visual footprint as possible.
Examples:
https://youtu.be/wIPoLLDUMlU?t=41 (This YouTube influencer shares his first impression of the NAM plugin, highlighting confusion around finding models. Notably, this is my top result when searching 'Neural Amp Modeler' on YouTube.)
Related Github Issues: https://github.com/sdatkinson/NeuralAmpModelerPlugin/issues/438 https://github.com/sdatkinson/NeuralAmpModelerPlugin/issues/122 https://github.com/sdatkinson/NeuralAmpModelerPlugin/issues/191 https://github.com/sdatkinson/NeuralAmpModelerPlugin/issues/112 https://github.com/sdatkinson/NeuralAmpModelerPlugin/issues/136
Here are a couple alternative designs we came up with: https://www.figma.com/design/W0gS44o9rBXhplC77vCeBQ/NAM-Plugin-Options?node-id=0-1&p=f&t=BkqVnupGpgSqfVK7-0
PR Checklist
- [x] Did you format your code using
format.bash? - [ ] Does the VST3 plugin pass all of the unit tests in the VST3PluginTestHost? (Download it as part of the VST3 SDK here.)
- [ ] Windows
- [x] macOS
- [ ] Does your PR add, remove, or rename any plugin parameters? If yes...
- [ ] Have you ensured that the plug-in unserializes correctly?
- [ ] Have you ensured that older versions of the plug-in load correctly? (See
Unserialization.cpp.)
@sdatkinson the unserialization doesn't apply to this small UI only change correct? Bit lost there
After downloading and building the latest VST3 SDK, I discovered that the VST3PluginTestHost tool is no longer included in the SDK.
Instead, I used the validator tool provided within the SDK to test the plugin on Mac:
-------------------------------------------------------------
Result: 537 tests passed, 0 tests failed
-------------------------------------------------------------
the VST3PluginTestHost tool is no longer included in the SDK.
Ignore that^, user error - found the Unit Tests - all passing 👍
@sdatkinson per our discussion I've updated the links to go to https://www.neuralampmodeler.com/users#comp-li85mj7o which is the "NAM for users" page anchored on the share/find models section. I believe this is a good choice for now (until a dedicated page or rubric is published). This removes any integration/link with ToneHunt from this PR. Bonus, the copy of that website section could be edited a bit to focus on "finding" primarily and sharing second.
@sdatkinson updated example figma for the NAM website "Find NAM Models" landing: https://www.figma.com/design/W0gS44o9rBXhplC77vCeBQ/NAM?node-id=14-2&p=f
also here's the new branding svg for updating throughout the site:
Ok, I'm on it