2D vector animation editor written from scratch in modern C++ & Qt

caryoscelus d36aafe5d3 update status 5 vuotta sitten
data f2985c1a8a Add basic icon 6 vuotta sitten
studio eae0e09014 File path editor 6 vuotta sitten
thirdparty b515e78ac1 Update Qt-Color-Widgets 6 vuotta sitten
.gitignore 6eb865622c git-ignore renders/ 6 vuotta sitten
.gitmodules 70fa3690d2 Add Qt-Color-Widgets 7 vuotta sitten
BUILDING.md 076b02c315 Rename BUILD.md to BUILDING.md 7 vuotta sitten
CMakeLists.txt 15c023683d Version bump 6 vuotta sitten
COPYING.gpl3 7f8466a23a GPL3 7 vuotta sitten
README.md d36aafe5d3 update status 5 vuotta sitten
moc_test.h eddb082afc Add script to test whether moc is modern enough 7 vuotta sitten
replace_nested_namespaces.sh 4cb97ea4d6 Add scripts to replace nested namespace with old syntax in headers 7 vuotta sitten
replace_nested_namespaces_in_headers.sh 4cb97ea4d6 Add scripts to replace nested namespace with old syntax in headers 7 vuotta sitten
test_moc.sh eddb082afc Add script to test whether moc is modern enough 7 vuotta sitten

README.md

RainyNite studio

RainyNite is a free/libre software 2d vector animation tool in development.

STATUS

The new project repository is here, although it might still be not ready for use by the time you see this link.

Over the course of RN development i've come to conclusion that a large part of it was needlessly reinvented DSL, ineffectively implemented in C++. At this point i'm considering option of porting it to Haskell or possibly another functional platform. In case you have an existing files that you'd like to preserve, please contact me.

Usage examples

Screenshots

bouncing ball editing screenshot sunrise editing screenshot

Build instructions

These instructions assume unix-like environment.

The build process itself is usual CMake procedure, but there are quite a few dependencies and code is split across repositories.

Modules:

Dependencies

Core:

  • lib2geom (yes, you need my fork at the moment; also you need to build & install dynamic library)
  • boost
  • fmt
  • catch (bundled in repository)
  • rapidjson (bundled as git module)
  • yaml-cpp (bundled as git module)

Editor:

Runtime renderer dependency:

  • Inkscape - used to render SVG output of RainyNite "renderer"; can be replaced with other command line SVG renderer
  • ffmpeg: optional, for waveform generation

Build process

The easy way is to clone united repository and run update_and_build.sh script.

However, if you're interested in development, you may find it more convenient to setup build directories yourself. Build process is mostly usual CMake routine, except for a few caveats. You can look them up at [BUILDING.md][BUILDING.md] or in build script.

License

Code license is GPLv3+:

This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation, either version 3 of the License, or
(at your option) any later version.

This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
GNU General Public License for more details.

You should have received a copy of the GNU General Public License
along with this program.  If not, see <http://www.gnu.org/licenses/>.

Full license text is available in COPYING.gpl3.

Third-party modules may have its own license terms apply.

All original non-code content is licensed under CC-BY-SA 4.0 unless noted otherwise.

pulse.webm soundtrack uses heartbeat sound by Benboncan, which is available at https://freesound.org/people/Benboncan/sounds/108207/.