I am aware that a similar feature has been requested before, but I would like to spark some additional discussion on the topic, as well as bring some new ideas, and help work out some roadblocks and challenges that may be faced with this.
The topics in question:
https://www.audiotool.com/board/feature_requests/curated_devices_device
https://www.audiotool.com/board/feature_requests/open_source
What are you proposing?
A way for users to create their own synths, effects, and tools for Audiotool users to add onto their app to be used alongside the rest of Audiotool's resources.
How would it work?
There would be a separate page on the website dedicated to the Audiotool Workshop, and it would be there that you find the user-created devices, labelled as Addons. In order to make sure that you want to use them, each addon could have a demo sample associated with them to give you an idea of what it sounds like. Whether it is a synth, effect, or tool, the demo sample should be a showcase of what it can do. When you find a device you might like, you can click on it to take you to an info page on the addon. In that menu would be its description, its manual, and a demo video (if the creator has provided one) as well as a "add to app" button, instantly making it available to use in your app. If the addon has already been downloaded, the "add to app" button will be the opposite, saying "remove from app".
The addons would be account-bound, making it easier to access your addons from anywhere as long as you have access to your account.
How about collaborations? Wouldn't each collaborator need the same plugins?
When you join a collaboration with a person who has any addons installed, you will be prompted with a message saying something like "This person is using addons in their program. Would you like to download them so that you can use them as well?" The prompt would only show up if their addons do not match with yours. This process would not work backwards. If you join someone who is not using any addons while you have a bunch added, you will not have access to them while you are in their draft.
What if I remove an addon from my app while it's being used in a track?
Any instance of this device would be automatically removed from existing drafts with these removed addons to prevent potential crashes or any failure of the program to load something associated with it. When loading these drafts, you would be prompted with a pop-up saying something like "There are some invalid plugins being used in this draft. Would you like to remove these invalid plugins and all of their tracks?" You could either click "Yes" to do just that, or "No" to cancel loading the draft.
How can you prevent conflicts in the code when you have a bunch of addons?
Things like script errors, and crashes would be bound to occur if you downloaded a bunch of them at once. Unfortunately, there isn't too much that can be done about it, due to the nature of this entire concept. This is a similar scenario to games on Steam that support Steam Workshop (when it's not a vote to get content into the game).
What if I don't want to use these addons?
If for any reason you don't wish to use addons, you can opt out of the Audiotool Workshop completely, which could be toggled at any time.
Comments (6)
There was more I wanted to write, but I ran out of character space lol
What happens if we change the engine so that some Add-Ons become incompatible? (common problem with Firefox extensions and other ecosystems)
Add it as a comment(s)
You could gain a lot of space if you get rid of fluff like "OK, so I've been meaning to write about this for a long time now", "First off, I would like to state that", "I would like to spark some additional discussion", "Please feel free to express your opinions", "Basically, what I have in mind", "This is what I, myself have in mind", "I would not be surprised if this idea ends up getting rejected", etc, etc. That's all obvious. There's also a lot of redundancy. Just get to the point. You can say the same in half the space.
audiotool steam workshop lol
I think this is something that should be done when Audiotool has firmly planted its roots back in. (I'm not sure if this entirely relates, but) The migration from Flash to HTML5 was extremely massive, and yes, if something like that were to happen again, any addons would need to be converted accordingly. At that point, it might not be worth it. However, if Audiotool reaches a point where the engine doesn't need to be majorly updated for a long time, it may be worth experimenting with something like this.