/**
* Returns the HTML for the status UI for this song datum.
*/
/datum/song/proc/instrument_status_ui()
. = list()
. += "
"
. += "
Current instrument: "
if(!using_instrument)
. += "
No instrument loaded!"
else
. += "[using_instrument.name]
"
. += "Playback Settings:
"
if(can_noteshift)
. += "
Note Shift/Note Transpose: [note_shift] keys / [round(note_shift / 12, 0.01)] octaves
"
var/smt
var/modetext = ""
switch(sustain_mode)
if(SUSTAIN_LINEAR)
smt = "Linear"
modetext = "
Linear Sustain Duration: [sustain_linear_duration / 10] seconds
"
if(SUSTAIN_EXPONENTIAL)
smt = "Exponential"
modetext = "
Exponential Falloff Factor: [sustain_exponential_dropoff]% per decisecond
"
. += "
Sustain Mode: [smt]
"
. += modetext
. += using_instrument?.ready()? "Status:
Ready" : "Status:
!Instrument Definition Error!"
. += "Instrument Type: [legacy? "Legacy" : "Synthesized"]
"
. += "
Volume: [volume]
"
. += "
Volume Dropoff Threshold: [sustain_dropoff_volume]
"
. += "
Sustain indefinitely last held note: [full_sustain_held_note? "Enabled" : "Disabled"].
"
. += "
"
/datum/song/proc/interact(mob/user)
var/list/dat = list()
dat += instrument_status_ui()
if(lines.len > 0)
dat += "