From 49feea525f299e2bca6c7f21b877b40e0a2329b1 Mon Sep 17 00:00:00 2001 From: joshuawajnryb Date: Sun, 13 Dec 2020 13:34:33 -0500 Subject: [PATCH] Listen to music while in Office Hours Queue. --- nginx/public/index.html | 18 ++++++++++++--- nginx/public/officeHours.js | 23 ++++++++++++++++++++ src/main/scala/model/OfficeHoursServer.scala | 10 ++++++++- 3 files changed, 47 insertions(+), 4 deletions(-) diff --git a/nginx/public/index.html b/nginx/public/index.html index 5443216..46087fd 100644 --- a/nginx/public/index.html +++ b/nginx/public/index.html @@ -8,22 +8,34 @@
-

Welcome!

-

Name

+

Name



+

Waiting Music

+ + +
- + + + + + + \ No newline at end of file diff --git a/nginx/public/officeHours.js b/nginx/public/officeHours.js index 3514c14..dcd6fa1 100644 --- a/nginx/public/officeHours.js +++ b/nginx/public/officeHours.js @@ -2,6 +2,11 @@ const socket = io.connect("http://localhost:8080", {transports: ['websocket']}); socket.on('queue', displayQueue); socket.on('message', displayMessage); +socket.on('Waiting_music', displayMusic) + +function displayMusic(newMusic){ + document.getElementById("music").innerHTML = newMusic; +} function displayMessage(newMessage) { document.getElementById("message").innerHTML = newMessage; @@ -26,3 +31,21 @@ function enterQueue() { function readyToHelp() { socket.emit("ready_for_student"); } + +function Music(){ + var SongPlaylist = []; + SongPlaylist[0] = "https://www.youtube.com/watch?v=3FsrPEUt2Dg"; + SongPlaylist[1] = "https://www.youtube.com/watch?v=IxuThNgl3YA"; + SongPlaylist[2] = "https://www.youtube.com/watch?v=rblt2EtFfC4"; + SongPlaylist[3] = "https://www.youtube.com/watch?v=DtVBCG6ThDk"; + SongPlaylist[4] = "https://www.youtube.com/watch?v=bEea624OBzM"; + SongPlaylist[5] = "https://www.youtube.com/watch?v=5XcKBmdfpWs"; + SongPlaylist[6] = "https://www.youtube.com/watch?v=EFMD7Usflbg"; + SongPlaylist[7] = "https://www.youtube.com/watch?v=wccRif2DaGs"; + SongPlaylist[8] = "https://www.youtube.com/watch?v=e5MAg_yWsq8"; + SongPlaylist[9] = "https://www.youtube.com/watch?v=SyNt5zm3U_M"; + SongPlaylist[10] = "https://www.youtube.com/watch?v=gxEPV4kolz0"; + + window.open(SongPlaylist[Math.floor(Math.random() * SongPlaylist.length)], '_blank') + socket.emit("music") +} diff --git a/src/main/scala/model/OfficeHoursServer.scala b/src/main/scala/model/OfficeHoursServer.scala index 09ef61b..5eede93 100644 --- a/src/main/scala/model/OfficeHoursServer.scala +++ b/src/main/scala/model/OfficeHoursServer.scala @@ -27,6 +27,7 @@ class OfficeHoursServer() { server.addDisconnectListener(new DisconnectionListener(this)) server.addEventListener("enter_queue", classOf[String], new EnterQueueListener(this)) server.addEventListener("ready_for_student", classOf[Nothing], new ReadyForStudentListener(this)) + server.addEventListener("music", classOf[Nothing], new MusicListener()) server.start() @@ -49,7 +50,7 @@ class DisconnectionListener(server: OfficeHoursServer) extends DisconnectListene override def onDisconnect(socket: SocketIOClient): Unit = { if (server.socketToUsername.contains(socket)) { val username = server.socketToUsername(socket) - server.socketToUsername -= socket + server.socketToUsername -= socket if (server.usernameToSocket.contains(username)) { server.usernameToSocket -= username } @@ -83,4 +84,11 @@ class ReadyForStudentListener(server: OfficeHoursServer) extends DataListener[No } } +class MusicListener extends DataListener[Nothing]{ + override def onData(socket: SocketIOClient, music: Nothing, ackRequest: AckRequest): Unit = { + socket.sendEvent("Waiting_music") + //Listen to music while waiting in Queue! + } +} +