Fix doublejuke songs (#26802)

* Maybe fix double juke songs?

* Comment out debug

* Fix soundsystems
This commit is contained in:
ShiftyRail
2020-06-13 04:33:25 +02:00
committed by GitHub
parent 240210662c
commit ade19f2fc7
4 changed files with 11 additions and 6 deletions

View File

@@ -14,9 +14,10 @@ var/global/media_receivers=list()
..()
connect_frequency()
/obj/machinery/media/receiver/proc/receive_broadcast(var/url="", var/start_time=0)
/obj/machinery/media/receiver/proc/receive_broadcast(var/url="", var/start_time=0, var/finish_time=0)
media_url = url
media_start_time = start_time
media_finish_time = finish_time
update_music()
/obj/machinery/media/receiver/proc/connect_frequency()

View File

@@ -12,9 +12,10 @@ var/global/media_transmitters=list()
..()
connect_frequency()
/obj/machinery/media/transmitter/proc/broadcast(var/url="", var/start_time=0)
/obj/machinery/media/transmitter/proc/broadcast(var/url="", var/start_time=0,var/finish_time=0)
media_url = url
media_start_time = start_time
media_finish_time = finish_time
update_music()
/obj/machinery/media/transmitter/proc/connect_frequency()
@@ -32,11 +33,11 @@ var/global/media_transmitters=list()
if(freq in media_receivers)
for(var/obj/machinery/media/receiver/R in media_receivers[freq])
if(R.media_crypto == media_crypto)
R.receive_broadcast(media_url,media_start_time)
R.receive_broadcast(media_url,media_start_time,media_finish_time)
//testing("[src]: Sending music to [R]")
for(var/mob/living/carbon/complex/gondola/radio/G in media_receivers[freq])
if(G.media_crypto == media_crypto)
G.receive_broadcast(media_url,media_start_time)
G.receive_broadcast(media_url,media_start_time,media_finish_time)
/obj/machinery/media/transmitter/proc/disconnect_frequency()
var/list/transmitters=list()

View File

@@ -32,7 +32,7 @@
// Broadcasting shit
for(var/obj/machinery/media/transmitter/T in hooked)
// testing("[src] Writing media to [T].")
T.broadcast(media_url,media_start_time)
T.broadcast(media_url,media_start_time, media_finish_time)
if(exclusive_hook)
disconnect_media_source() // Just to be sure.

View File

@@ -7,6 +7,7 @@
***********************/
// Uncomment to test the mediaplayer
//#define DEBUG_MEDIAPLAYER
// Open up VLC and play musique.
@@ -262,7 +263,9 @@ function SetMusic(url, time, volume) {
targetURL = M.media_url
targetStartTime = M.media_start_time
targetVolume = M.volume
if ((targetURL != current_url) && (finish_time > 0) && ((world.time - finish_time) < -10 SECONDS)) // We caught a music. Let's see if we can make a graceful fadeout for the music currently playing. If not, the other music is killed.
var/check_samesong = ((targetURL == current_url) && (finish_time != M.media_finish_time))
var/check_harsh_skip = ((targetURL != current_url) && (finish_time > 0) && ((world.time - finish_time) < - 10 SECONDS))
if (check_samesong || check_harsh_skip) // We caught a music. Let's see if we can make a graceful fadeout for the music currently playing. If not, the other music is killed.
MP_DEBUG("<span class='good'>Should be cutting off music.<span>")
stop_music()
sleep(0.1 SECONDS) // Have to wait for the media player response.