Play Song: Difference between revisions

Jump to navigation Jump to search
m (Undo revision 3459 by Azabiphetamine (talk))
Tag: Undo
 
(6 intermediate revisions by the same user not shown)
Line 7: Line 7:
  | shortcut = P
  | 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.
'''Play Song''' is an event in the '''Sounds tab''' that plays a song. It can only be placed at the beginning of bars.


Line 37: 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 68: Line 87:
== Trivia ==
== Trivia ==


This event is one of two events in the game to not have a "beat" argument, the other being [[Set Crotchets Per Bar]].
* 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 causes the waveform to be a thick line on top of the first song's waveform. This does not affect playback.
* This is the only event in the game that, regardless of zoom, spans two beats visually in the editor's timeline.


{{Navbox
* 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.
| name  = Template:EventNavBox
| title = Events
| listclass = hlist


| group1 = Sound Tab
{{EventNavBox}}
| list1  = {{Navbox|child
  | list1 =
* [[Play Song]]
* [[Set Crotchets Per Bar]]
* [[Play Sound]]
* [[Set Beats Per Minute]]
* [[Set Clap Sounds]]
* [[Set Heart Explode Volume]]
* [[Set Heart Explosion Interval]]
* [[Say Ready, Get, Set, Go!]]
* [[Set Game Sound]]
* [[Set Beat Sound]]
* [[Set Counting Sound]]
* [[Comment]]
}}
| group2 = Gameplay Tab
| list2  = {{Navbox|child
  | list1 =
* [[Add Classic Beat]]
* [[Set Beat Modifiers]]
* [[Add Freetime Beat]]
* [[Pulse Freetime Beat]]
* [[Add Oneshot Beat]]
* [[Set Oneshot Wave]]
}}
| group3 = VFX Tab
| list3  = {{Navbox|child
  | list1 =
* [[Set Theme]]
* [[Set VFX Preset]]
* [[Set Background]]
* [[Set Foreground]]
* [[Set Speed]]
* [[Flash]]
* [[Custom Flash]]
* [[Move Camera]]
* [[Hide Row]]
* [[Move Row]]
* [[Play Expression (Row)]]
* [[Paint Rows]]
* [[Bass Drop]]
* [[Shake Screen]]
* [[Flip Screen]]
* [[Invert Colors]]
* [[Pulse Camera]]
* [[Text Explosion]]
* [[Show Dialogue]]
* [[Show Status Sign]]
* [[Floating Text]]
* [[Change Players' Rows]]
* [[Finish Level]]
* [[Comment]]
* [[Stutter]]
* [[Show Hands]]
* [[Paint Hands]]
* [[Assign Hands]]
* [[Set Playstyle]]
* [[Tag Action]]
* [[Call Custom Method]]
* [[Window Dance (Event)]]
}}
| group4 = Decoration Tab
| list4  = {{Navbox|child
  | list1 =
* [[Move Sprite]]
* [[Paint Sprite]]
* [[Play Expression (Sprite)]]
* [[Show/Hide]]
* [[Comment]]
}}
| group5 = Rooms Tab
| list5  = {{Navbox|child
  | list1 =
* [[Show Rooms Horizontally]]
* [[Move Room]]
* [[Reorder Rooms]]
* [[Mask Room]]
* [[Fade Room]]
* [[Set Rooms Perspective]]
* [[Comment]]
}}
}}

Latest revision as of 08:22, 11 February 2025

Play Song
Screenshot of the Event Icon Play Song
TabSounds
TypePlaySong
Originr1
ShortcutP

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

Properties
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 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.