File Structure
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
GitHub files, like workflows.
docs
Documentation. Docs are generated with Python sphinx and hosted on ReadTheDocs.
examples
Example recordings for testing.
pianoray
Source code for everything.
pianoray/
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.
pianoray/cutils
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.
pianoray/effects
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.
pianoray/render
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/view
PianoRay viewer files. Currently in development.
scripts
Small scripts, like style checks.
tests
Testing files, like test JSON settings.