Difference between revisions of "Dev:Contribute to Code"

From Synfig Studio :: Documentation
Jump to: navigation, search
m (Text replace - '[[' to '{{l|')
m (Text replace - ']]' to '}}')
Line 1: Line 1:
{{l|Category:Code]]
+
{{l|Category:Code}}
 
== Introduction ==
 
== Introduction ==
  
You should know by the {{l|History|history]], that this program was initially written by an animation company, {{l|History|Voria Studios]]. Since the code of Synfig was released under {{l|License|GPL licence]] and turned into an open source project, there have been made some modifications to the code, which allows you to remove bugs and to add some new functionality.  
+
You should know by the {{l|History|history}}, that this program was initially written by an animation company, {{l|History|Voria Studios}}. Since the code of Synfig was released under {{l|License|GPL licence}} and turned into an open source project, there have been made some modifications to the code, which allows you to remove bugs and to add some new functionality.  
  
 
The only documentation you can get, is the source-code itself and the automatically generated [http://synfig.org/api/ API docs] by [http://www.doxygen.org doxygen].
 
The only documentation you can get, is the source-code itself and the automatically generated [http://synfig.org/api/ API docs] by [http://www.doxygen.org doxygen].
Line 13: Line 13:
 
Please add here links to wiki pages where it is explained how to do common tasks to contribut to code. Don't paste here things you want to know or need help. Use the other section for that.  
 
Please add here links to wiki pages where it is explained how to do common tasks to contribut to code. Don't paste here things you want to know or need help. Use the other section for that.  
  
* {{l|Source:Adding a Layer|Adding Layers to Synfig]]: this guide aids you to understand, how the layers work and how to add a new layer type.
+
* {{l|Source:Adding a Layer|Adding Layers to Synfig}}: this guide aids you to understand, how the layers work and how to add a new layer type.
* {{l|Source:Adding a Panel-Part I| Adding Panels to Synfigstudio]]: This guide explains, how to add a new panel and the objects on it.
+
* {{l|Source:Adding a Panel-Part I| Adding Panels to Synfigstudio}}: This guide explains, how to add a new panel and the objects on it.
  
 
== Things you want to know about the code ==
 
== Things you want to know about the code ==
Line 21: Line 21:
  
 
* Q: Is there anywhere any kind of overview? Any sort of brief description of what each program does/is? Is synfigstudio the GUI for synfig? What's the ETL?
 
* Q: Is there anywhere any kind of overview? Any sort of brief description of what each program does/is? Is synfigstudio the GUI for synfig? What's the ETL?
: A: There is a [http://synfig.org/api/ Source code API documentation]. The only documentation comes from the comments of the code. Synfigstudio is the GUI to edit the synfig format files. Synfig is the command line to render the files. Both use the libsynfig library provided by the synfig-core code. So Synfigstudio is more than a simple wrapper for synfig. ETL is the "Extended Template Library". It doesn't produce any binary file, just provide templates to be used by the rest of code. {{l|User:Genete|Genete]] 10:10, 8 July 2008 (EDT)
+
: A: There is a [http://synfig.org/api/ Source code API documentation]. The only documentation comes from the comments of the code. Synfigstudio is the GUI to edit the synfig format files. Synfig is the command line to render the files. Both use the libsynfig library provided by the synfig-core code. So Synfigstudio is more than a simple wrapper for synfig. ETL is the "Extended Template Library". It doesn't produce any binary file, just provide templates to be used by the rest of code. {{l|User:Genete|Genete}} 10:10, 8 July 2008 (EDT)
 
* Q: Is it a sane project to port Synfig ui to Qt?
 
* Q: Is it a sane project to port Synfig ui to Qt?
: A: I don't know. It depends on the knowledge of QT you have and if it has the same interface functionality.{{l|User:Genete|Genete]] 10:10, 8 July 2008 (EDT)
+
: A: I don't know. It depends on the knowledge of QT you have and if it has the same interface functionality.{{l|User:Genete|Genete}} 10:10, 8 July 2008 (EDT)
  
 
==Documenting the code ==
 
==Documenting the code ==
Line 33: Line 33:
 
== Getting the source ==
 
== Getting the source ==
  
Check out the {{l|Source code|source code]] page.
+
Check out the {{l|Source code|source code}} page.

Revision as of 08:44, 8 September 2009

Category:Code

Introduction

You should know by the history, that this program was initially written by an animation company, Voria Studios. Since the code of Synfig was released under GPL licence and turned into an open source project, there have been made some modifications to the code, which allows you to remove bugs and to add some new functionality.

The only documentation you can get, is the source-code itself and the automatically generated API docs by doxygen. This page tries to collect all the knowledge acquired by the current developers and to create typical guides for common tasks which would allow you to add new features and make the program grow.

Feel free to add here all the information you can get from the experience of reading and modifying the source code or simply add your request to get more details from coders more familiar with the source. Hopefully they will be able to tell you, how it works and where to dive in.

Common tasks

Please add here links to wiki pages where it is explained how to do common tasks to contribut to code. Don't paste here things you want to know or need help. Use the other section for that.

Things you want to know about the code

Please add here a brief description of the things you want to know about the code and how to accomplish some task. Someone else will surely know it, and can help you to start developing on synfig.

  • Q: Is there anywhere any kind of overview? Any sort of brief description of what each program does/is? Is synfigstudio the GUI for synfig? What's the ETL?
A: There is a Source code API documentation. The only documentation comes from the comments of the code. Synfigstudio is the GUI to edit the synfig format files. Synfig is the command line to render the files. Both use the libsynfig library provided by the synfig-core code. So Synfigstudio is more than a simple wrapper for synfig. ETL is the "Extended Template Library". It doesn't produce any binary file, just provide templates to be used by the rest of code. Genete 10:10, 8 July 2008 (EDT)
  • Q: Is it a sane project to port Synfig ui to Qt?
A: I don't know. It depends on the knowledge of QT you have and if it has the same interface functionality.Genete 10:10, 8 July 2008 (EDT)

Documenting the code

It would be a good thing, if all the code documentation and what is being discovered were confirmed and inserted directly in the source code itself. This would allow doxygen to generate the API docs easily.

Please follow these doxygen rules to add documentation to the source code.

Getting the source

Check out the source code page.