Information about the project files.
Root directory. Contains cool files.
Python module setup.py
and MANIFEST.in
are here.
There is a Makefile with convenient targets.
GitHub files, like workflows.
Documentation. Docs are generated with Python sphinx and hosted on ReadTheDocs.
Example recordings for testing.
Source code for everything.
Main module and global utilities.
__init__.py
: Module file.cpp.py
: Handles C++ library compiling and loading.logger.py
: Logging utilities.main.py
: Main entry point.settings.py
: Class for convenient settings access.utils.py
: Global utilities.
C++ header files for C++ libraries.
pr_image.hpp
: Image class for interacting with raw unsigned char data.pr_math.hpp
: Math utilities.pr_piano.hpp
: Utilities relating to rendering, e.g. piano dimensions.pr_random.hpp
: Random number generator utilities.
Files that render the video.
effect.py
: Effect base class for OOP internally.midi.py
: Parse MIDI.blocks.py
,blocks.cpp
: Rendering blocks.glare.py
,glare.cpp
: Rendering glare.keyboard.py
: Rendering keyboard.
Rendering pipeline.
render.py
: Calling effects to render the video.video.py
: Class for managing video frames and calling FFmpeg to compile the video.lib.py
: Load and initialize C++ libraries.
PianoRay viewer files. Currently in development.
Small scripts, like style checks.
Testing files, like test JSON settings.