Jumpvalley 0.5.0
An app and library that can be used to test and run 3D platformer levels. Currently being made with Godot.
Loading...
Searching...
No Matches
Public Member Functions | Public Attributes | Protected Member Functions | Properties | List of all members
Jumpvalley.Music.MusicZonePlayer Class Reference

MusicPlayer that handles the playback of Playlists with music zones in mind.
Music zone logic is handled like how it is in Juke's Towers of Hell. This means that whenever a player enters a music zone, the zone's playlist gets played.
In order for music to play when the player is outside a music zone, a primary playlist must be set. This playlist will get played when outside of the music zones.

It's important to note that MusicZonePlayer will only update CurrentPlaylist once per process frame for stability reasons (as long as the calling of MusicZonePlayer's _Process() function hasn't been disabled). More...

Inheritance diagram for Jumpvalley.Music.MusicZonePlayer:
Jumpvalley.Music.MusicPlayer

Public Member Functions

void Remove (MusicZone zone)
 Deregisters a music zone from playback.
 
void Add (MusicZone zone)
 Registers a MusicZone for playback by this music player.
 
override void _Process (double delta)
 
new void Dispose ()
 
- Public Member Functions inherited from Jumpvalley.Music.MusicPlayer
virtual void ApplyOverrides (Playlist playlist)
 Method that can be overriden to define how playlists added to this music player should have their properties overriden. By default, overrides defined in the MusicPlayer class are applied here.
 
void RemovePlaylist (Playlist playlist)
 Removes a playlist from this MusicPlayer. This will cause this MusicPlayer to no longer make changes to the removed Playlist.
 
void AddPlaylist (Playlist playlist)
 Adds a playlist to this MusicPlayer. This will let this MusicPlayer make some changes to the added playlist.
 
new void Dispose ()
 

Public Attributes

Vector3 GlobalPosition = Vector3.Zero
 3D position in global-space coordinates that will be used to check whether or not we're currently inside a music zone
 
Node3D BindedNode = null
 If this is set to a node, the node's global-space position will be used to check whether or not we're currently inside a music zone, instead of the global-space position specified at GlobalPosition
 
- Public Attributes inherited from Jumpvalley.Music.MusicPlayer
bool OverrideTransitionTime = false
 Whether or not the a playlist's volume transition time will get set to MusicPlayer.TransitionTime whenever it gets played by this music player.
 
double TransitionTime = 0
 Playlists played by this music player will have their volume transition time set to the value of this variable whenever OverrideTransitionTime is set to true,.
 
bool OverrideLocalVolumeScale = false
 Whether or not the a playlist's LocalVolumeScale will get set to VolumeScale whenever it gets played by this music player.
 
bool OverrideSongStreamHandlingMode = false
 Whether or not playlist handled by this music player should have their Playlist.SongStreamHandlingMode property overriden to the value of this music player's SongStreamHandlingMode variable.
 
bool ShouldSetPlaylistParent
 Whether or not this MusicPlayer should add/remove this music player as a parent when the AddPlaylist and RemovePlaylist methods are called.
 

Protected Member Functions

override void RefreshPlayback ()
 Updates the playback status of the music.
 
- Protected Member Functions inherited from Jumpvalley.Music.MusicPlayer
void OnMusicPlayerSongChanged (SongChangedArgs args)
 

Properties

List< MusicZoneZones = new List<MusicZone>() [get]
 The list of MusicZones that can be played by this MusicZonePlayer
 
- Properties inherited from Jumpvalley.Music.MusicPlayer
List< PlaylistPlaylists [get]
 Playlists currently being handled by this MusicPlayer

 
Playlist CurrentPlaylist [get, protected set]
 The playlist that's currently being played by the MusicPlayer.
 
double VolumeScale [get, set]
 Playlists played by this music player will have their LocalVolumeScale set to the value of this variable whenever OverrideLocalVolumeScale is set to true,.
 
Playlist.SongStreamHandlingModeFlags SongStreamHandlingMode [get, set]
 The song stream handling mode that the playlists handled by this music player should use if OverrideSongStreamHandlingMode is set to true.
 
Playlist PrimaryPlaylist [get, set]
 The MusicPlayer's primary playlist. If set, this playlist will be played whenever IsPlaying is set to true.
 
bool IsPlaying [get, set]
 Whether or not the playlist is currently playing any music
Setting this value to false will stop the music (with the fade transition).
 

Additional Inherited Members

- Events inherited from Jumpvalley.Music.MusicPlayer
EventHandler< SongChangedArgsSongChanged
 Event that's raised when the song currently being played by this instance of MusicPlayer changes.
This event is meant to wrap individual raisings of Playlist's SongChanged event in order to make it easier for developers to adapt to song changes regardless of what Playlist is being played.
 

Detailed Description

MusicPlayer that handles the playback of Playlists with music zones in mind.
Music zone logic is handled like how it is in Juke's Towers of Hell. This means that whenever a player enters a music zone, the zone's playlist gets played.
In order for music to play when the player is outside a music zone, a primary playlist must be set. This playlist will get played when outside of the music zones.

It's important to note that MusicZonePlayer will only update CurrentPlaylist once per process frame for stability reasons (as long as the calling of MusicZonePlayer's _Process() function hasn't been disabled).

Member Function Documentation

◆ Add()

void Jumpvalley.Music.MusicZonePlayer.Add ( MusicZone zone)
inline

Registers a MusicZone for playback by this music player.

Parameters
zoneThe MusicZone

◆ RefreshPlayback()

override void Jumpvalley.Music.MusicZonePlayer.RefreshPlayback ( )
inlineprotectedvirtual

Updates the playback status of the music.

Reimplemented from Jumpvalley.Music.MusicPlayer.

◆ Remove()

void Jumpvalley.Music.MusicZonePlayer.Remove ( MusicZone zone)
inline

Deregisters a music zone from playback.

Parameters
zone

The documentation for this class was generated from the following file: