Project Rewrite at https://github.com/BrokenSource/ShaderFlow !!
The Interactive Shader Renderer Platform
IMPORTANT NOTE: For the "previous" and currently only working full featured code, see this other branch.
And for the newer shader rendered backend called Sombrero, see this branch. Note that the audio processing code was deprecated and NodeEditor will continue this branch development as well as new audio DSP code.
An Open Source shader rendered platform written in Python, capable of reacting in real time to audio playing on the computer or rendering to video files.
This branch is under heavy development, keep reading for new features and changes, where this is heading, running instructions.
Plan on making MMV truly modular and have an full featured GUI than script files for the end user.
Much like Blender's Composite User Interface based on a Node Editor!!
Also save, load presets, so community work, sharing session files will be possible without much trouble compared to before.
Releases are now possible and builds work targeting:
All only include a single Data directory that stores default Shaders files, presets, fonts, images, nodes.
User directories are created on first execution such as Screenshots, Runtime (configs), Renders.
It auto downloads external dependencies in case you don't have them in system PATH (like FFmpeg both on Windows and Linux).
Yes! Translations are possible now, any contribution is welcome for helping accessibility for everyone.
The percentages of translations are shown on the GUI itself by clicking the bottom left Language button selector.
>> Status of translations:
Main languages, near 100% translated
Proof of Concept
Thanks for HatScripts's Circle Flags for the flags icons used here and on releases!!
The shader render backend is called "Sombrero", I have to overhaul it a bit before rebasing into the GUI and this will take a while, but some of its features:
Edit the Shader nodes interactively, change values per node, hook up keyboard controls for certain values.
Linux might need fuse
installed for mounting the AppImage file. Windows should be a portable binary.
No releases are available for now since "nothing is working" regarding Shaders or the final product.
When we do have releases, grab them from here according to your platform, extract the files and run the main binary. As easy as that!
GNU/Linux
If
python
is not a command or it fails try running with python3
instead.
Open a Terminal in some directory
sudo pacman -Syu python ffmpeg python-poetry git
sudo apt update && sudo apt upgrade && sudo apt install python3 ffmpeg python3-poetry git
git clone https://github.com/Tremeschin/ModularMusicVisualizer.git -b NodeEditor
cd ModularMusicVisualizer
poetry install
poetry run editor
Windows (8+)
You might need to run
python.exe
or python3.exe
than python
on the command line, same with git
and git.exe
.
Add Python 3.X to PATH
.git clone https://github.com/Tremeschin/ModularMusicVisualizer.git -b NodeEditor
Shift + Right Click
empty spot on a empty spot on the extracted folder in Windows Explorer (file manager), click Open PowerShell Here
.(Invoke-WebRequest -Uri https://raw.githubusercontent.com/python-poetry/poetry/master/install-poetry.py -UseBasicParsing).Content | python.exe -
python -m poetry install
python -m poetry run editor
macOS
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"
brew install [email protected] ffmpeg python
python3 -m pip install poetry
git clone https://github.com/Tremeschin/ModularMusicVisualizer.git -b NodeEditor
cd ModularMusicVisualizer
poetry install
poetry run editor
I probably will accept donations in the future when stuff is working (again).
I plan on making MMV a "service" with some very well thought "premium" presets, but the base program and community presets will be my focus, delivering something good for free.
That will require quite some infrastructure so don't take my word here that this will happen, but it's an way to keep the project viable for me in the future (I only study for now).
The Modular Music Visualizer Python code I have written is GPLv3 Licensed, some snippets can be CC or MIT but I always mark and give proper attribution when that happens (it's very rare!).
Shader Files: I might MIT them in the future (the whole thing won't work great outside MMV anyways), for now I'll let you use parts of it if you need, attribution required.
Fonts licenses have their own (FontName License.md
) together with their file.
MMV Logo, I won't be mad if you use it but let's keep it as a "MMV Project" property, it's just there so one can recognize the software a bit better and / or have a default logo image on the visualization bars. Since the project is always evolving, having old videos with the logo doesn't feel optimal because quality on mainstream is usually ahead of the time.
As said previously, the flag icons and distro, social icons on this README are thanks to HatScripts's Circle Flags and edent's SuperTinyIcons.
Attributions are not required but would show gratitude for the project!!
Placeholder
Placeholder
Placeholder
These are not in any order of more important or less important, all have their own crucial role in MMV.
It is quite impossible to list everyone, so check pyproject.toml
for the full list, also some packages depends on others and there are usually multiple contributors to every single one of those.
And others I potentially forgot!