anchor.diff:  
   /datum/song/proc/shouldStopPlaying(mob/user)
   	if(instrumentObj)
  -		if(!user.canUseTopic(instrumentObj))
  +		if(!user.canUseTopic(instrumentObj, BE_CLOSE, FALSE, NO_TK))
   			return TRUE
   		return !instrumentObj.anchored		// add special cases to stop in subclasses
   	else
  
positive.code: 	else if(href_list["modifyline"])
  		var/num = round(text2num(href_list["modifyline"]),1)
  		var/content = html_encode(input("Enter your line: ", instrumentObj.name, lines[num]) as text|null)
  		if(!content || !in_range(instrumentObj, usr))
  			return
  		if(lentext(content) > MUSIC_MAXLINECHARS)
  			content = copytext(content, 1, MUSIC_MAXLINECHARS)
  
negative.code: 		var/t = ""
  		do
  			t = html_encode(input(usr, "Please paste the entire song, formatted:", text("[]", name), t)  as message)
  			if(!usr.canUseTopic(instrumentObj, BE_CLOSE, FALSE, NO_TK))
  				return
  
  			if(lentext(t) >= MUSIC_MAXLINES * MUSIC_MAXLINECHARS)
  				var/cont = input(usr, "Your message is too long! Would you like to continue editing it?", "", "yes") in list("yes", "no")
  				if(!usr.canUseTopic(instrumentObj, BE_CLOSE, FALSE, NO_TK))
  					return
  				if(cont == "no")
  					break
  		while(lentext(t) > MUSIC_MAXLINES * MUSIC_MAXLINECHARS)
  