Synfig Developers Docs

Synfig Developers Docs

Synfig developers docs Synfig developers May 26, 2021 Contents: 1 Contributing guidelines 3 1.1 Ways to contribute............................................3 1.2 Contributing code changes........................................4 1.3 Thank You................................................6 2 Setting up your preferred IDE7 2.1 Setting up Netbeans IDE for Synfig Development............................7 2.2 Setting up QtCreator IDE for Synfig development........................... 12 3 Code structure 17 3.1 Overview................................................. 17 3.2 synfig-core................................................ 18 4 Building Synfig using command line 25 4.1 Dependencies............................................... 25 4.2 Preparing Environment.......................................... 26 4.3 Building Synfig using Autotools..................................... 29 4.4 Building Synfig Using CMake...................................... 31 5 Packaging Synfig for distribution 33 5.1 Packaging using Autotools........................................ 33 5.2 Packaging using CMake......................................... 34 6 Tutorials 37 6.1 Adding a Render progress bar...................................... 37 6.2 Adding a Sound notification....................................... 42 6.3 Creating a custom widget........................................ 45 6.4 How to add new Dock Window..................................... 46 7 Release procedure 49 7.1 Preparation................................................ 49 7.2 Apply latest translations......................................... 49 7.3 Update NEWS files............................................ 49 7.4 Update version number.......................................... 50 7.5 Build packages.............................................. 50 7.6 Write press release............................................ 50 7.7 Finish repository changes........................................ 50 i 7.8 Publish packages............................................. 51 7.9 Update flatpak and snap packages.................................... 51 7.10 Publish announcement.......................................... 51 7.11 Close related bugs............................................ 52 8 Roadmap 53 8.1 Rendering................................................ 53 8.2 Bones system............................................... 53 8.3 Animation tools............................................. 53 8.4 Sound................................................... 54 8.5 Other................................................... 54 9 Google Summer of Code 55 9.1 Google Summer of Code 2019...................................... 55 9.2 Google Summer of Code 2020...................................... 63 9.3 Google Summer of Code 2021...................................... 72 10 Projects 81 10.1 Control handling exported values during copy-pasting [IN PROGRESS]................ 81 10.2 Google Season of Docs [DECLINED].................................. 82 10.3 Export for web via Lottie [IN PROGRESS]............................... 83 10.4 Better Shortcuts [DRAFT]........................................ 104 10.5 Skeleton Tool (GSoC-2020) [IN PROGRESS]............................. 105 11 List of hotkeys 107 11.1 Global hotkeys.............................................. 107 11.2 Local hotkeys............................................... 107 12 Random notes 109 12.1 Building Synfig for production...................................... 109 12.2 How to login to docker image?...................................... 109 13 Code of Conduct 111 13.1 Values we Appreciate.......................................... 111 13.2 Our Pledge................................................ 112 13.3 Our Standards.............................................. 112 13.4 Our Responsibilities........................................... 112 13.5 Scope................................................... 112 13.6 Enforcement............................................... 113 13.7 Attribution................................................ 113 14 Indices and tables 115 ii Synfig developers docs Note: IMPORTANT Please have a look at our contributing guidelines here Contents: 1 Synfig developers docs 2 Contents: CHAPTER 1 Contributing guidelines Hi there! Interested in contributing to Synfig? We’d love your help. Synfig is an open source project, built one contribution at a time by users like you. Please read these guidelines carefully, it will help you and us to save precious time later. As you prepare to join our community, you should find out what this project is about - if you didn’t do this already. We highly recommend to become familiar with existing Synfig functionality before you start any coding. You can start with beginner’s tutorials. Also, you can request a free access to our video training course, which allow you to grab all basics in the shortest time. Note: • Download Synfig -> https://www.synfig.org/download-stable/ • Join Synfig Forum -> https://forums.synfig.org/ • We use GitHub to manage our repository. If you’re not familiar with git/GitHub, we strongly recommend following a tutorial, such as this one. 1.1 Ways to contribute Whether you’re a developer, a designer, or just a Synfig devotee, there are lots of ways to contribute. Here’s a few ideas: • Install Synfig on your computer and kick the tires. Does it work? Does it do what you’d expect? If not, open an issue and let us know. • Comment on some of the project’s open issues. Have you experienced the same problem? Know a work around? Do you have a suggestion for how the feature could be better? • Read through the documentation, and ask the community(on forum or GitHub), any time you see something confusing, or have a suggestion for something that could be improved. 3 Synfig developers docs • Browse through the Synfig discussion forum, and lend a hand answering questions. There’s a good chance you’ve already experienced what another user is experiencing. • Find an open issue (especially those labeled help wanted/good first issue), mention yourself in the comment with the interest to work on the issue and submit a proposed fix. If it’s your first pull request, we promise we won’t bite, and are glad to answer any questions. • Help evaluate open pull requests, by testing the changes locally and reviewing what’s proposed. • Open an issue if you found something that needs a fix (Please don’t forget to mentioned if you want to work on the issue you opened or have started working for a fix!) Note: • Synfig issue tracker -> https://github.com/synfig/synfig/issues • Some beginner issue to ensure you can use synfig.. • Want easy projects? Check out our list of “good first issues”. 1.2 Contributing code changes 1.2.1 1. Get code and prepare your working tree Warning: • Before you start working on any issue kindly ensure that someone else is not already working on it by looking at comments. • If no one is working on that issue drop a comment to let everyone know you will be working on it. • We know your time is precious :) Fork the project by clicking “Fork” in the top right corner of synfig/synfig. Clone the repository locally git clone https://github.com/<you-username>/synfig Create a new, descriptively named branch to contain your change git checkout-b my-awesome-feature 1.2.2 2. Making code changes Learn how to build Synfig here - https://synfig-docs-dev.readthedocs.io/en/latest/common/building.html Make sure to read about code structure - https://synfig-docs-dev.readthedocs.io/en/latest/common/structure.html Don’t forget to configure IDE. We recommend to use NetBeans. Here are video instructions on how to configure it - https://www.youtube.com/watch?v=SNkdiSxBV_s Now, have fun, hack away. • make sure to follow the code style used in the module you are contributing to 4 Chapter 1. Contributing guidelines Synfig developers docs • before committing and pushing the changes, test the code both manually and automatically with the automated test suite if applicable 1.2.3 3. Commit message style guidelines When done, commit your changes. • commits should be descriptive in nature • the message should explain the nature of the change 1.2.4 4. Submitting a pull request • The smaller the proposed change, the better. If you’d like to propose two unrelated changes, submit two pull requests. • The more information, the better. Make judicious use of the pull request body. Describe what changes were made, why you made them, and what impact they will have for users. • If this is your first pull request, it may help to understand GitHub Flow. Push the branch (you have created it) to your GitHub fork: git push origin my-awesome-feature Create a pull request (from now on we will shorten it often to just PR) by visiting https://github.com/<your- username>/synfig and following the instructions at the top of the screen: • from your forked repository of the project select your branch and click “New Pull Request” • check the changes tab and review the changes again to ensure everything is correct • write a concise description of the PR, if an issue exists for Note: While creating the PR please mention the issue number. For example, to close an issue numbered 123, you could use the phrase “Closes #123” or “Closes: #123” in your pull request description or commit message. Once the branch is merged into the default branch, the issue will close. • after submitting your PR, check back again whether your PR has passed our required tests • if the tests fail for some reason, try to fix them and if you get stuck ask for help. • if the tests pass, maintainers

View Full Text

Details

  • File Type
    pdf
  • Upload Time
    -
  • Content Languages
    English
  • Upload User
    Anonymous/Not logged-in
  • File Pages
    119 Page
  • File Size
    -

Download

Channel Download Status
Express Download Enable

Copyright

We respect the copyrights and intellectual property rights of all users. All uploaded documents are either original works of the uploader or authorized works of the rightful owners.

  • Not to be reproduced or distributed without explicit permission.
  • Not used for commercial purposes outside of approved use cases.
  • Not used to infringe on the rights of the original creators.
  • If you believe any content infringes your copyright, please contact us immediately.

Support

For help with questions, suggestions, or problems, please contact us