Skip to main content

SSceneBackgroundMusic

Index​

Functions Index​

Function Name
void Play ()
void PlayMP3Stream (string url)
void PlayVorbisStream (string url)
void Stop ()

void OnTrackChange (Closure o)
void OnTrackChange (Action< STrackInfo > trackInfoCallback)

void OnUpcomingTrackChange (Closure o)
void OnUpcomingTrackChange (Action< STrackInfo > trackInfoCallback)

Properties Index​

Property Name
bool Enabled get set
string URL get
SGameObject GameObject get

Functions​

Play​

void Play ()

Plays the radio stream

Space.Host.ExecutingObject.Radio.Play()
--this script will let us click a radio to make it start playing
--(Example: clicking a light switch toggle's a parent light bulb's intensity)
--[Requires a "Shoutcast Streaming" component on the parent of this object]

thisGameObject = Space.Host.ExecutingObject
IsPlaying = false


StartPlaying = function()
thisGameObject.Radio.Play()
IsPlaying = true
end

StopPlaying = function()
thisGameObject.Radio.Stop()
IsPlaying = false
end


OnClick = function()
if IsPlaying then
StopPlaying()
else
StartPlaying()
end
end

thisGameObject.AddClickable()
thisGameObject.Clickable.Tooltip="Toggle Play/Stop"
thisGameObject.Clickable.OnClick(OnClick)

PlayMP3Stream​

void PlayMP3Stream (string url)

Sets the given MP3 stream url as current stream

ParameterTypeDescription
Space.Host.ExecutingObject.Radio.PlayMP3Stream("http://stream.example.org:1234/")

PlayVorbisStream​

void PlayVorbisStream (string url)

Sets the given Vorbis stream url as current stream

ParameterTypeDescription
Space.Host.ExecutingObject.Radio.PlayVorbisStream("http://stream.example.org:1234/")

Stop​

void Stop ()

Stops playing the radio stream

Space.Host.ExecutingObject.Radio.Stop()
--this script will let us click a radio to make it start playing
--(Example: clicking a light switch toggle's a parent light bulb's intensity)
--[Requires a "Shoutcast Streaming" component on the parent of this object]

thisGameObject = Space.Host.ExecutingObject
IsPlaying = false


StartPlaying = function()
thisGameObject.Radio.Play()
IsPlaying = true
end

StopPlaying = function()
thisGameObject.Radio.Stop()
IsPlaying = false
end


OnClick = function()
if IsPlaying then
StopPlaying()
else
StartPlaying()
end
end

thisGameObject.AddClickable()
thisGameObject.Clickable.Tooltip="Toggle Play/Stop"
thisGameObject.Clickable.OnClick(OnClick)

OnTrackChange​

void OnTrackChange (Closure o)
void OnTrackChange (Action< STrackInfo > trackInfoCallback)

Function will be called when track changes.

ParameterTypeDescription
otc = function(trackInfo)
end
Space.Host.ExecutingObject.Radio.OnTrackChange(otc)
--this script will update a UIText object with the track title on track change
--[this GameObject needs a "Shoutcast Streaming"/"SceneBackgroundMusic" component]

thisObj = Space.Host.ExecutingObject

text = Space.Host.GetReference("Text") -- set in Scripting Runtime references

otc = function(trackInfo)
text.UIText.Text = "Track: " .. trackInfo.Title .. " by " .. trackInfo.Artist
end

thisObj.Radio.OnTrackChange(otc)

OnUpcomingTrackChange​

void OnUpcomingTrackChange (Closure o)
void OnUpcomingTrackChange (Action< STrackInfo > trackInfoCallback)

Function will be called when there's an upcoming track change

ParameterTypeDescription
otc = function(trackInfo)

end
Space.Host.ExecutingObject.Radio.OnUpcomingTrackChange(otc)
--this script will update a UIText object with the track title on upcoming track change
--[this GameObject needs a "Shoutcast Streaming"/"SceneBackgroundMusic" component]

thisObj = Space.Host.ExecutingObject

text = Space.Host.GetReference("Text") -- set in Scripting Runtime references

outc = function(upcomingTrackInfo)
text.UIText.Text = "Track: " .. upcomingTrackInfo.Title .. " by " .. upcomingTrackInfo.Artist
end

thisObj.Radio.OnUpcomingTrackChange(outc)

Properties​

Enabled​

bool Enabled get set

Is this component Enabled?

Space.Host.ExecutingObject.Radio.Enabled = true
--clicking this object will Enable/Disable it's Scene Background Music component
thisGameObject = Space.Host.ExecutingObject
component = thisGameObject.Radio

OnClick = function()
component.Enabled = not component.Enabled
end


thisGameObject.AddClickable()
thisGameObject.Clickable.OnClick(OnClick)

URL​

string URL get

URL of the current stream

streamURL = Space.Host.ExecutingObject.Radio.URL
--this script will update a UIText object with the current stream URL
--[this GameObject needs a "Shoutcast Streaming"/"SceneBackgroundMusic" component]

thisObj = Space.Host.ExecutingObject

text = Space.Host.GetReference("Text") -- set in Scripting Runtime references


OnUpdate = function()
text.UIText.Text = thisObj.Radio.URL
end

thisObj.OnUpdate(OnUpdate)

GameObject​

SGameObject GameObject get

Property Description

theGameObject = Space.Host.ExecutingObject.Floor.GameObject