@@ -544,13 +544,20 @@ function initRandomPlaylist(){
544544 // set first track info and tracklist
545545 uiTrackInfo . innerHTML = `<div><b>Song:</b>\u00A0${ songName } </div><div><b>Game:</b>\u00A0${ songGame } </div>`
546546 document . title = `${ songName } - ${ songGame } `
547+ if ( "mediaSession" in navigator ) {
548+ navigator . mediaSession . metadata = new MediaMetadata ( {
549+ title : songName ,
550+ artist : songGame ,
551+ artwork : [ { src : "faviconlg.png" } ] ,
552+ } ) ;
553+ }
554+
547555
548556 for ( let i = 1 ; i < trackIDs . length ; i ++ ) {
549557 const trackIndex = trackIDs [ i ] ;
550558 const listSongName = trackMetadata [ trackIndex ] . name ;
551559 const listSongGame = trackMetadata [ trackIndex ] . game ;
552- document . getElementById ( 'tracklist' ) . innerHTML += `<div class="tracklistItem" data-dex="${ i } "><div><b>Song:</b>\u00A0${ listSongName } </div><div><b>Game:</b>\u00A0${ listSongGame } </div></div>`
553-
560+ document . getElementById ( 'tracklist' ) . innerHTML += `<div class="tracklistItem" data-dex="${ i } "><div><b>Song:</b>\u00A0${ listSongName } </div><div><b>Game:</b>\u00A0${ listSongGame } </div></div>`
554561 }
555562}
556563
@@ -577,6 +584,13 @@ function initNextTrack(){
577584
578585 uiTrackInfo . innerHTML = `<div><b>Song:</b>\u00A0${ songName } </div><div><b>Game:</b>\u00A0${ songGame } </div>`
579586 document . title = `${ songName } - ${ songGame } `
587+ if ( "mediaSession" in navigator ) {
588+ navigator . mediaSession . metadata = new MediaMetadata ( {
589+ title : songName ,
590+ artist : songGame ,
591+ artwork : [ { src : "faviconlg.png" } ] ,
592+ } ) ;
593+ }
580594
581595 document . getElementById ( 'tracklist' ) . removeChild ( document . getElementById ( 'tracklist' ) . querySelectorAll ( '.tracklistItem:not(.deleteMe)' ) [ 0 ] )
582596}
@@ -635,6 +649,13 @@ function initTracklistTrack(dex){
635649 audioPlayer . src = 'tracks/' + currentTrack + '.mp3' ;
636650
637651 document . title = `${ songName } - ${ songGame } `
652+ if ( "mediaSession" in navigator ) {
653+ navigator . mediaSession . metadata = new MediaMetadata ( {
654+ title : songName ,
655+ artist : songGame ,
656+ artwork : [ { src : "faviconlg.png" } ] ,
657+ } ) ;
658+ }
638659
639660 let tracklistItems = document . getElementById ( 'tracklist' ) . getElementsByClassName ( 'tracklistItem' ) ;
640661
@@ -734,6 +755,11 @@ if ('mediaSession' in navigator) {
734755 } ) ;
735756}
736757
758+ // set volume funciton
759+ function volumeSet ( vol ) {
760+ audioPlayer . volume = vol
761+ }
762+
737763
738764// chat functions
739765const params = new URLSearchParams ( window . location . search ) ;
@@ -752,16 +778,21 @@ client.connect().then(() => {
752778
753779client . on ( 'message' , ( wat , tags , message , self ) => {
754780
755- if ( message . startsWith ( "!skip" ) && tags . username == "lowpolyskeleton" ) {
781+ if ( message . startsWith ( "!skip" ) && ( tags . username == "lowpolyskeleton" || tags . mod == true ) ) {
756782 initNextTrack ( ) ;
757783 }
758784
759- if ( message . startsWith ( "!back" ) && tags . username == "lowpolyskeleton" ) {
785+ if ( message . startsWith ( "!back" ) && ( tags . username == "lowpolyskeleton" || tags . mod == true ) ) {
760786 initPreviousTrack ( ) ;
761787 }
762788
763- if ( ( message . startsWith ( "!play" ) || message . startsWith ( "!pause" ) ) && tags . username == "lowpolyskeleton" ) {
789+ if ( ( message . startsWith ( "!play" ) || message . startsWith ( "!pause" ) ) && ( tags . username == "lowpolyskeleton" || tags . mod == true ) ) {
764790 playPause ( ) ;
765791 }
766792
793+ if ( message . startsWith ( "!vol" ) && ( tags . username == "lowpolyskeleton" || tags . mod == true ) ) {
794+ let chatVol = message . split ( "!vol" ) [ 1 ] ;
795+ chatVol = chatVol . trim ( ) ;
796+ volumeSet ( chatVol )
797+ }
767798} ) ;
0 commit comments