3 ms·
The main lesson I learned from that chapter was the importance of a clear plugin interface. Especially for software used by people with different needs. This av
by nick0garvey 6y ago
The main lesson I learned from that chapter was the importance of a clear plugin interface. Especially for software used by people with different needs. This avoids a lot of pull requests into the main code that are unlikely to be maintained.
- dylan604 6y agoYou've used the term plugin interface, but would API be a better fit? Have an API that exposes everything a user would need to see in the UI. Then whatever knob/button/fader/etc can call the same APIs to interact with the data. At that point, you could have a UI on a tablet calling a more powerful laptop/desktop install doing the lifting and connected to monitors/etc. To me, plugins are something that provides additional functionality to the native abilities of the program.
- sethhochberg 6y agoWhen speaking about audio software, people saying plugins do usually mean adding native functionality - plugin formats like VST are implemented as shared libraries that can be called by the host application's hot codepaths (because they are often doing latency sensitive things like processing audio streams). Audacity supports VSTs, AU, and several other major formats for audio processing / instruments, as well as its own proprietary module format. That said, an API around the UI would be great. A lot of commercial audio platforms have moved in this direction, iPad control of commercial mixing consoles and effects processors is common in the industry now. I'd love to see PC-based audio applications go down the same path.
- cmeacham98 6y ago> To me, plugins are something that provides additional functionality to the native abilities of the program. That's what audacity plugins do? I think the most important distinction of a "plugin" is that it can be created, distributed, and installed with no modification or recompile of the Audacity source. Therefore, plugins are relatively easy to use for non-technical users, and can be mixed together with a low fear of conflict. Two separate programs that consume an API, on the other hand, cannot usually be mixed together if both are needed.