Play Song
Play Song | |
---|---|
Tab | Sounds |
Type | PlaySong |
Origin | r1 |
Shortcut | P |
Play Song is an event in the Sounds tab that plays a song. It can only be placed at the beginning of bars.
This event isn't restricted to playing songs, but its general purpose is to do so, and playing other things like SFX are better suited for Play Sound.
Usage
Setting | Type | Description |
---|---|---|
Song | Text Box (String) | Filename of the song. Allows internal filenames. |
Song settings | Popup | Settings of the song. Includes volume, pitch, pan, and offset. |
Beats per minute | Text Box (Number) | Beats per minute. Can be overwritten with Set Beats Per Minute at any point. |
Song settings
Setting | Type | Description |
---|---|---|
Volume | Slider with Text Box (Number) | Volume of the song. Ranges from 0% to 300%. 0% doesn't play the song. |
Pitch | Slider with Text Box (Number) | Pitch of the song. Ranges from 0% to 300%. |
Pan | Slider with Text Box (Number) | Panning of the song. Ranges from -100% to 100%. |
Offset | Text Box (Number) | Offset of the song in ms. |
Using multiple Play Song events can make playback in the middle of the chart break the music sometimes.
Advanced
Songs can be modified with some custom methods:
Custom Method | Description |
---|---|
CurrentSongVol(floatTargetVolume, floatFadeTimeSeconds) |
Sets the volume of the most recently played song to TargetVolume over the time given in FadeTimeSeconds. |
PreviousSongVol(floatTargetVolume, floatFadeTimeSeconds) |
Sets the volume of the second most recently played song to TargetVolume over the time given in FadeTimeSeconds. |
SongVol(stringfilename.ogg*external, floatTargetVolume, floatFadeTimeSeconds) |
Sets the volume of a specific filename to TargetVolume over the time given in FadeTimeSeconds. Can target sound effects from Play Sound. |
StopSong(intFadeTimeInSeconds) |
Like CurrentSongVol, with no volume control. |
OneSongAtATime(boolEnabled) |
Stops the previous song as soon as a new Play Song event is triggered. |
Surgery
{ "bar": X, "y": X, "type": "PlaySong", "song": {"filename": "sndOrientalTechno", "volume": 0, "pitch": 0, "pan": 0, "offset": 0}, "bpm": 100, "loop": false },
filename (string)
Song filename. Allows internal filenames with no extension.
volume (integer) (optional)
Goes from 0 to 300.
pitch (integer) (optional)
Goes from 0 to 300.
pan (integer) (optional)
Goes from -100 to 100.
offset (integer) (optional)
Offset of the song. Supports negative values.
bpm (float)
Functions the same way as Set Beats Per Minute.
loop (bool)
Deprecated, non-functional. See this event's History.
History
Trivia
- This event is one of few events that do not have a beat parameter, the others being Set Crotchets Per Bar and Set Heart Explode Volume.
- This is the only event in the game that, regardless of zoom, spans two beats visually in the editor's timeline.
- Placing multiple Play Song events (sometimes) causes the waveform to be a thick line on top of the first song's waveform. This does not affect playback.