anchor.diff:  	if(!channeltoreserve)
   		return FALSE
   	freejukeboxchannels -= channeltoreserve
  -	var/list/youvegotafreejukebox = list(T, channeltoreserve, jukebox, jukefalloff)
  +	var/list/youvegotafreejukebox = list(T, channeltoreserve, jukebox, jukefalloff, null)
  +
  +	var/sound/song_to_init = sound(T.song_path)
  +	song_to_init.status = SOUND_MUTE
  +	youvegotafreejukebox[JUKE_SOUND] = song_to_init
  +
   	activejukeboxes.len++
   	activejukeboxes[activejukeboxes.len] = youvegotafreejukebox
   
  -	//Due to changes in later versions of 512, SOUND_UPDATE no longer properly plays audio when a file is defined in the sound datum. As such, we are now required to init the audio before we can actually do anything with it.
  -	//Downsides to this? This means that you can *only* hear the jukebox audio if you were present on the server when it started playing, and it means that it's now impossible to add loops to the jukebox track list.
  -	var/sound/song_to_init = sound(T.song_path)
  -	song_to_init.status = SOUND_MUTE
   	for(var/mob/M in GLOB.player_list)
   		if(!M.client)
   			continue
  
positive.code: #define JUKE_CHANNEL 2
  #define JUKE_BOX 3
  #define JUKE_FALLOFF 4
  
  
  SUBSYSTEM_DEF(jukeboxes)
  
negative.code: #undef JUKE_CHANNEL
  #undef JUKE_BOX
  #undef JUKE_FALLOFF
  #undef JUKE_SOUND
  