Play Song: Difference between revisions
mNo edit summary |
m (Undo revision 3459 by Azabiphetamine (talk)) Tag: Undo |
||
(4 intermediate revisions by the same user not shown) | |||
Line 36: | Line 36: | ||
|- | |- | ||
| Offset || Text Box (Number) || Offset of the song in ms. | | 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''': | |||
{| class="wikitable" | |||
! Custom Method !! Description | |||
|- | |||
| <code>CurrentSongVol(float'''TargetVolume''', float'''FadeTimeSeconds''')</code> || Sets the volume of the most recently played song to '''TargetVolume''' over the time given in '''FadeTimeSeconds'''. | |||
|- | |||
| <code>PreviousSongVol(float'''TargetVolume''', float'''FadeTimeSeconds''')</code> || Sets the volume of the second most recently played song to '''TargetVolume''' over the time given in '''FadeTimeSeconds'''. | |||
|- | |||
| <code>SongVol(string'''filename.ogg*external''', float'''TargetVolume''', float'''FadeTimeSeconds''')</code> || Sets the volume of a specific filename to '''TargetVolume''' over the time given in '''FadeTimeSeconds'''. Can target sound effects from [[Play Sound]]. | |||
|- | |||
| <code>StopSong(int'''FadeTimeInSeconds''')</code> || Like '''CurrentSongVol''', with no volume control. | |||
|- | |||
| <code>OneSongAtATime(bool'''Enabled''')</code> || Stops the previous song as soon as a new '''Play Song''' event is triggered. | |||
|} | |} | ||
Line 67: | Line 87: | ||
== Trivia == | == 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 | * 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. | * 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 causes the waveform to be a thick line on top of the first song's waveform. This does not affect playback. | * 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. | ||
{{EventNavBox}} | {{EventNavBox}} |
Latest revision as of 08:22, 11 February 2025
Play Song is an event in the Sounds tab that plays a song. It can only be placed at the beginning of bars.
Play Song | |
---|---|
Tab | Sounds |
Type | PlaySong |
Origin | r1 |
Shortcut | P |
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.