What is Coden?
Coden is a .NET-based framework of libraries and adapters with two main goals:
- Goal 1: Simplify the process of writing plugins for various applications
- Goal 2: Enable one plugin to simultaneously extend multiple software packages
Coden allows developers to write code without worrying about how it is integrated into one or more host programs. It provides a 'neutral' and intuitive setting for writing common tools and extensions to most popular software packages.
Can you give an example?
Consider three of Autodesk's popular computer graphics programs- 3dsmax, Maya, and Softimage. Each one of them is different in its usage and has its own user base. However, all three applications also share a lot of functionality. Each of them has a way of creating new objects (polygon meshes), modifying objects, using 2D and 3D textures, and many other similar functionalities.
However, APIs for each application are different. If, for example, a developer would want to write a plugin that creates their custom object in all three programs they would have to write it 3 times- once for each application.
This means that a developer would need to learn each API beforehand and also do the work 3 times and put three times the effort into maintaining it afterwards. In real world this splits developers up and they end up choosing their favorite API to write for and stick with it.
Coden does not discriminate between application APIs- it allows a developer to write their object creation plugin once and have it work in all three applications. A developer only needs to learn of Coden environment and not worry about maintaining their tools for specific versions of software, operating systems, or platform flavors- it is all done by the framework!
Great! So what can I write with it?
There are a number of plugins that can be written using Coden. These include (but are not limited to) mesh generators and modifiers, textures and image filters, commands, and custom functions/controllers. Please consult the plugins section to get a good overview of exactly what's supported at present time.
Not all applications support a particular plugin type. For example, certain image editing and compositing applications support textures but do not support geometry plugins. Other applications might support geometry plugins but don't provide support for pluggable textures.