Difference between revisions of "Dev:Contribute to Code"

From Synfig Studio :: Documentation
Jump to: navigation, search
m (add == Translation mechanism == section)
m (Cleaning)
 
(3 intermediate revisions by one other user not shown)
Line 5: Line 5:
 
== 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 from 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 were made some modifications to the code, which allows you to remove bugs and to add new functionalities.  
  
 
The only documentation you can get, is the source-code itself and the automatically generated [http://download.tuxfamily.org/synfig/api/index.html API docs] by [http://www.doxygen.org doxygen].
 
The only documentation you can get, is the source-code itself and the automatically generated [http://download.tuxfamily.org/synfig/api/index.html API docs] by [http://www.doxygen.org 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.  
 
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.  
 +
 +
    Check Genete [https://drive.google.com/folderview?id=0Bx8g_H3f7qpZZDExNjU0NmEtZWI2Mi00M2UzLWI2OWQtNDUyYmRhOGRiN2Qx&usp=sharing "free synfig stuff"] a mine of things made during his coding period (and not wikiify some???)
  
 
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.
 
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.
  
 
== Easy tasks ==
 
== Easy tasks ==
Contribute to a kind of big project like synfig could look like a migraine at first appearance :
+
Contribute to a kind of big project like Synfig could look like a migraine at first appearance :
  
 
* Check out the bug tracker to [http://www.synfig.org/issues/thebuggenie/synfig/issues/find/saved_search/1/search/1 find any easy labeled task].
 
* Check out the bug tracker to [http://www.synfig.org/issues/thebuggenie/synfig/issues/find/saved_search/1/search/1 find any easy labeled task].
Line 23: Line 25:
  
 
* {{l|Dev: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|Dev: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|Dev:Adding a Panel - Part I| Adding Panels to Synfigstudio}}: This guide explains, how to add a new panel and the objects on it.
+
* {{l|Dev:Adding a Panel - Part I| Adding Panels to Synfig Studio}}: This guide explains, how to add a new panel and the objects on it.
  
 
== Translation mechanism ==
 
== Translation mechanism ==
Synfig and Synfigstudio use [https://en.wikipedia.org/wiki/Gettext Gettext] internationalization and localization (i18n) system.
+
Synfig and Synfig Studio use [https://en.wikipedia.org/wiki/Gettext Gettext] internationalization and localization (i18n) system.
 +
 
 +
Each files located into synfig-core/po/POTFILES.in and synfig-studio/po/POTFILES.in respectively for Synfig and Synfig Studio will take advantage of this mechanism.
 +
 
 +
Note: The resources are translated [https://www.transifex.com/morevnaproject/synfig/ online].
  
Each files located into synfig-core/po/POTFILES.in and synfig-studio/po/POTFILES.in respectively for Synfig and Synfigstudio will take advantage of this mechanism.
+
You can find more information into the {{l|Dev:Translation|Translation}} page
  
 
== Things you want to know about the code ==
 
== Things you want to know about the code ==

Latest revision as of 15:15, 16 February 2020

Introduction

You should know from 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 were made some modifications to the code, which allows you to remove bugs and to add new functionalities.

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.

    Check Genete "free synfig stuff" a mine of things made during his coding period (and not wikiify some???)

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.

Easy tasks

Contribute to a kind of big project like Synfig could look like a migraine at first appearance :

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.

Translation mechanism

Synfig and Synfig Studio use Gettext internationalization and localization (i18n) system.

Each files located into synfig-core/po/POTFILES.in and synfig-studio/po/POTFILES.in respectively for Synfig and Synfig Studio will take advantage of this mechanism.

Note: The resources are translated online.

You can find more information into the Translation page

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.