NOTE: A much simpler GUI-based solution for Windows users has emerged. You no longer have to set up a VM or Bash on Windows unless you really want to!
What's this?About a year ago, I put together
a tutorial for putting custom music into VVVVVV (by generating a vvvvvvmusic.vvv file). The technique used in that tutorial has a serious limitation: it only allows customizing one song, instead of all 16.
However, after that tutorial was made, people figured out how to customize all available song slots! Info Teddy put together a
video tutorial together for this, but it's not especially comprehensive; it only really shows the last step of the process. To most people, generating a complete custom music file seems impenetrable, so I hope to clear things up a bit (for Windows users especially).
The basicsGenerating a custom music file is done using a script written by FIQ, found
here. The bad news is, this script was written to only work on Linux. The good news is, you can still run it on some versions of Windows without using a VM (after installing some prerequisites).
The source music files must have the following names:
0levelcomplete.ogg
1pushingonwards.ogg
2positiveforce.ogg
3potentialforanything.ogg
4passionforexploring.ogg
5intermission.ogg
6presentingvvvvvv.ogg
7gamecomplete.ogg
8predestinedfate.ogg
9positiveforcereversed.ogg
10popularpotpourri.ogg
11pipedream.ogg
12pressurecooker.ogg
13pacedenergy.ogg
14piercingthesky.ogg
predestinedfatefinallevel.ogg
They must be in Ogg Vorbis format. 0levelcomplete and 7gamecomplete are hardcoded by the game not to loop (unless an mmmmmm.vvv file is present due to a bug). You don't have to include every song.
Difficulty-wise, this is more difficult to initially set up than the old technique, but easier to use once that's over with.
InstructionsWindows (10 Anniversary Update or above)
- If you haven't already, install Bash on Ubuntu on Windows.
- Download FIQ's script (again, if you haven't already).
- Create a folder next to binary called "data", and another folder inside that called "music". Place music files in here, but make sure they're in Ogg Vorbis format, and make sure they follow the naming convention above!
- Open a command prompt, and navigate to the FIQ script folder where "binary" is.
- Type bash to launch the bash prompt. The format of the directory display should change ("[username]@[machinename]", forward slashes, dollar sign)
- Type sudo apt-get install libphysfs-dev to install a library used by the script. The terminal will ask for your Bash password. If you've done this before, you can skip it.
- Finally, type ./binary (or sudo ./binary if that doesn't work). If you did everything right, a vvvvvvmusic.vvv will be generated into the data folder!
If you don't want to type "bash" and "sudo ./binary" every time you want to generate the file, you can use
this simple batch file (right click->save as, move next to binary). From there, simply double click "launch.cmd" to run the script. You still have to have everything installed, though; this only automates steps 5 and 7.
Windows (before 10 Anniversary Update)
Coming soon. The really short version: Install a Linux VM and follow the instructions under the Linux tab.
Linux
- If you haven't already, download FIQ's script.
- Create a folder next to binary called "data", and another folder inside that called "music". Place music files in here, but make sure they're in Ogg Vorbis format, and make sure they follow the naming convention above!
- Open a command prompt, and navigate to the FIQ script folder where "binary" is.
- Type sudo apt-get install libphysfs-dev to install a library used by the script. The terminal will ask for your password. If you've done this before, you can skip it.
- Finally, type ./binary (or sudo ./binary if that doesn't work). If you did everything right, a vvvvvvmusic.vvv will be generated into the data folder!
macOS
Unfortunately, I'm not certain how to do this on macOS. I suspect the instructions under the Linux tab might work, but I'm not certain; if anyone could verify this that would be great!
Not all of these are complete yet, but I figured I should post what I have in the meantime.