بدون توضیح

rexim 40c1d59da6 Tweak video rendering parameters 2 سال پیش
resources e0f9bc5979 Set window icon 2 سال پیش
src 40c1d59da6 Tweak video rendering parameters 2 سال پیش
.gitignore a2e1a153f2 gitignore mp4 files 2 سال پیش
CONTRIBUTING.md 67869c228d Establish contribution policies 2 سال پیش
LICENSE 1d8f712a70 Release everything under MIT 2 سال پیش
README.md e0f9bc5979 Set window icon 2 سال پیش
build_posix_clang.sh 179d2d92b0 Document the build script naming scheme 2 سال پیش
build_windows_mingw.sh 8a6ba615ac Add musializer-logged.bat script for Windows build 2 سال پیش
musializer-logged.bat 8a6ba615ac Add musializer-logged.bat script for Windows build 2 سال پیش
musializer.rc e0f9bc5979 Set window icon 2 سال پیش
rebuild_logo.sh e0f9bc5979 Set window icon 2 سال پیش

README.md

Musializer

THIS SOFTWARE IS UNFINISHED!!! Don't have any high expectations. Read CONTRIBUTING.md if you have a strong irresistable desire to contribute something here.

The project aims to make a tool for creating beautiful music visualizations and rendering high quality videos of them.

Demo

Music by @nu11 from https://soundcloud.com/nu11_ft/nu11-wip-works-2016-2022 at 20:38

https://github.com/tsoding/musializer/assets/165283/8b9f9653-9b3d-4c04-9569-338fa19af071

Build

Dependencies:

  • raylib and all its transitive dependencies.
  • ffmpeg executable available in PATH environment variable. (it is called as a child process)

The project provides a bunch of build shell scripts that have the following naming scheme build_<platform>_<compiler>.sh. Pick the appropriate one.

POSIX

$ ./build_posix_clang.sh
$ ./build/musializer

Keep in mind that the application needs ./resources/ to be present in the folder it is ran from.

Windows

Windows support is at very early stage right now. Since I don't have a convenient Windows Development Environment, I'm cross compiling Musializer with MinGW. See ./build_windows_mingw.sh for more information.

More documentation regarding Windows build is comming soon. For now use your hacking skills to figure it out.

Hot Reloading

Only on Linux for now

$ export HOTRELOAD=1
$ ./build_posix.sh
$ ./build/musializer

Keep the app running. Rebuild with ./build.sh. Hot reload by focusing on the window of the app and pressing r.

The way it works is by putting the majority of the logic of the application into a libplug dynamic library and just reloading it when requested. The rpath (aka hard-coded run-time search path) for that library is set to . and ./build/. See build.sh for more information on how everything is configured.