From 889137712adc76e16f9d70fd3e0eb242213e1e50 Mon Sep 17 00:00:00 2001 From: dylan-fournier <124598538+dylan-fournier@users.noreply.github.com> Date: Mon, 27 May 2024 12:26:47 -0400 Subject: [PATCH 01/10] Added all app files --- Client/favicon.ico | Bin 0 -> 41662 bytes Client/images/placeholder.png | Bin 0 -> 3681 bytes Client/images/play-pause.png | Bin 0 -> 30330 bytes Client/images/playlist.png | Bin 0 -> 44131 bytes Client/images/search.png | Bin 0 -> 59066 bytes Client/images/settings.png | Bin 0 -> 4612 bytes Client/images/skip.png | Bin 0 -> 55093 bytes Client/index.html | 90 ++++++++++ Client/manifest.json | 15 ++ Client/scripts.js | 329 ++++++++++++++++++++++++++++++++++ Client/styles.css | 170 ++++++++++++++++++ Server/databaseGenerator.py | 78 ++++++++ Server/webbyBits.py | 128 +++++++++++++ 13 files changed, 810 insertions(+) create mode 100644 Client/favicon.ico create mode 100644 Client/images/placeholder.png create mode 100644 Client/images/play-pause.png create mode 100644 Client/images/playlist.png create mode 100644 Client/images/search.png create mode 100644 Client/images/settings.png create mode 100644 Client/images/skip.png create mode 100644 Client/index.html create mode 100644 Client/manifest.json create mode 100644 Client/scripts.js create mode 100644 Client/styles.css create mode 100644 Server/databaseGenerator.py create mode 100644 Server/webbyBits.py diff --git a/Client/favicon.ico b/Client/favicon.ico new file mode 100644 index 0000000000000000000000000000000000000000..bbe20ae4bd01314d37460bc806e3de63524ef029 GIT binary patch literal 41662 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 literal 0 HcmV?d00001 diff --git a/Client/images/placeholder.png b/Client/images/placeholder.png new file mode 100644 index 0000000000000000000000000000000000000000..a68449382b492a3b3fbf8e51375f90e90a33ab25 GIT binary patch literal 3681 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

{C<(D;YPEN&GE%-6u-CWNO1@_a3amhY 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

Z<0?lSd?1nQ^V-0UwpQRaWB?0KO%R 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 literal 0 HcmV?d00001 diff --git a/Client/images/playlist.png b/Client/images/playlist.png new file mode 100644 index 0000000000000000000000000000000000000000..e9ff72a52d203ed35e2e53559a08ca0d054a4966 GIT binary patch literal 44131 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 literal 0 HcmV?d00001 diff --git a/Client/images/search.png b/Client/images/search.png new file mode 100644 index 0000000000000000000000000000000000000000..b3f699ac2d015904b00d5e6db8c91e4e214132d7 GIT binary patch literal 59066 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 literal 0 HcmV?d00001 diff --git a/Client/index.html b/Client/index.html new file mode 100644 index 0000000..e9aee2f --- /dev/null +++ b/Client/index.html @@ -0,0 +1,90 @@ + + + + Jukebox Controller + + + + + + + + +

+

+ +
+
+ +
+
+

Search to find songs!

+ + +
+
+ +
+
+

+ +
+
+ +
+
+

Client Settings (Saved to device)

+
+

Server IP:

+

IP of the device running the song server

+ +
+
+

Alert Time:

+

How long alerts stay on screen for (seconds)

+ +
+

Server Settings (Saved to server)

+
+

Party mode:

+

Add random songs to the queue when it is about to be empty

+ +
+
+

Volume:

+

Volume of the music

+ +
+
+
+ + settings +
+ playlist + play pause + skip + search + +
+ + + \ No newline at end of file diff --git a/Client/manifest.json b/Client/manifest.json new file mode 100644 index 0000000..7ab15d3 --- /dev/null +++ b/Client/manifest.json @@ -0,0 +1,15 @@ +{ + "name": "Jukebox Remote", + "short_name": "Jukebox Remote", + "start_url": "index.html", + "display": "standalone", + "background_color": "#eeeeee", + "theme_color": "#eeeeee", + "orientation": "portrait-primary", + "icons": [ + { + "src": "/favicon.ico", + "type": "image/ico", "sizes": "100x100" + } + ] + } \ No newline at end of file diff --git a/Client/scripts.js b/Client/scripts.js new file mode 100644 index 0000000..3aafbff --- /dev/null +++ b/Client/scripts.js @@ -0,0 +1,329 @@ +let ip +let alertTime = 2 +async function alertText(text="Song Added!") { + alertbox = document.getElementById("alert"); + alertbox.innerHTML = text; + await new Promise(r => setTimeout(r, alertTime*1000)); + alertbox.innerHTML = "" +} +// a lot of this is kinda waffly because i was trying to get +// it to return the right stuff and javascript is asyrcronouse (boo) +async function getFromServer(bodyInfo, source="") { + try{ + const response = await fetch("http://" + ip+"/"+source, { + method: "POST", + body: JSON.stringify(bodyInfo), + headers: { + "Content-type": "application/json; charset=UTF-8" + } + }); + const data = await response.json(); + return await data; + } catch(e) { + if (e == "TypeError: Failed to fetch"){ + alertText("error: NoConnect to Server (is the ip set?)") + } else { + alertText("error: " + e) + } + const response=null; + return response; + } +} + + +//cookie reader is taken from internet because cookies ae too complicated for me +//i still understand how it works though promise just i see no reason to write this from scratch +function getCookie(cname) { + let name = cname + "="; + let decodedCookie = decodeURIComponent(document.cookie); + let ca = decodedCookie.split(';'); + for(let i = 0; i

"; + document.getElementById("playlist-mode").style.display = "block"; + document.getElementById("songlist-mode").style.display = "none"; + document.getElementById("settings-mode").style.display = "none"; + generateVisualPlaylist(); + } else if (buttonType == "se") { + document.getElementById("songlist").innerHTML = "

Search to find songs!

"; + document.getElementById("playlist").innerHTML = ""; + document.getElementById("playlist-mode").style.display = "none"; + document.getElementById("songlist-mode").style.display = "block"; + document.getElementById("settings-mode").style.display = "none"; + } else if (buttonType == "st") { + document.getElementById("songlist").innerHTML = ""; + document.getElementById("playlist").innerHTML = ""; + document.getElementById("playlist-mode").style.display = "none"; + document.getElementById("songlist-mode").style.display = "none"; + document.getElementById("settings-mode").style.display = "block"; + checkSettings() + } else if (buttonType = "pm") { + await getFromServer({setting: "partymode-toggle"}, "settings") + checkSettings(true) + } + + +} + +function searchSongsEnter(e) { + if (e.keyCode == 13) { + searchSongs(document.getElementById("songsearch").value) + } +} + +async function searchSongs(searchTerm){ + let optionslist = [] + + document.getElementById("songlist").innerHTML = "" + searchResults = await getFromServer({search:searchTerm},"search").then() + for (let index in searchResults) { + optionslist.push([index,searchResults[index][0],searchResults[index][1],searchResults[index][2]]); + } + //generate the visual song list + for(let i = 0; i < optionslist.length; i++) { + let newItem = document.createElement("div"); + newItem.className = "item"; + newItem.id = optionslist[i][3]; + let image = document.createElement("img"); + try { + if (optionslist[i][2] == null) { + throw "no image lolz" + } + image.src = optionslist[i][2]; + } catch(err){ + image.src = "./images/placeholder.png"; + } + image.id = String(optionslist[i][3])+" image"; + let head3 = document.createElement("h3"); + head3.innerText = optionslist[i][0]; + let head4 = document.createElement("h4"); + head4.innerText=optionslist[i][1]; + newItem.appendChild(image); + newItem.appendChild(head3); + newItem.appendChild(head4); + document.getElementById("songlist").appendChild(newItem); + //display error if no results + + } + if (optionslist.length == 0) { + document.getElementById("songlist").innerHTML = "

We might not have that one...

"; + } +} +function alertTimeEnter(e){ + if (e.key == "Enter") { + e.preventDefault(); + alertTimeSet(document.getElementById("alerttimetextbox").value); + } +} + +function alertTimeSet(time) { + alertTime = time; + document.cookie = "alertTime="+alertTime+"; path=/;" + alertText("Alerts stay on screen for " + alertTime.toString() + " seconds") +} + +function ipSetEnter(e){ + if (e.key == "Enter") { + e.preventDefault(); + ipSetter(document.getElementById("iptextbox").value) + } +} + +function ipSetter(){ + ipBox = document.getElementById("iptextbox").value + if (ipBox == "") { + alertText("Your IP is set to "+ip) + } else { + if (ipBox.includes(":")) { + port = ipBox.slice(ipBox.indexOf(":")+1) + ip = ipBox; + document.cookie = "ip="+ip+"; path=/;" + alertText("Your IP is now set to "+ip.slice(0, ipBox.indexOf(":"))+" at port "+port) + } else { + ip = ipBox + ":19054" + document.cookie = "ip="+ip+"; path=/;" + alertText("Your IP is now set to "+ipBox+" at port 19054 (Default)") + } + } + +} + +async function checkSettings(skipServer=false) { + //check client stuff first so if the server doesn't exist it can still be changed and seen + if (ip.slice(-5)=="19054") { + document.getElementById("iptextbox").value = ip.slice(0,-6) + } else { + document.getElementById("iptextbox").value = ip; + } + document.getElementById("alerttimetextbox").value = alertTime + partyButtonState = document.getElementById("partymode-button").innerHTML; + x = await getFromServer({setting: "getsettings"}, "settings"); + if (!(skipServer) || partyButtonState=="N/A") { + if (x["partymode"] == false) { + document.getElementById("partymode-button").innerHTML = "Off"; + } else { + document.getElementById("partymode-button").innerHTML = "On"; + } + } else if (document.getElementById("partymode-button").innerHTML == "Off") { + document.getElementById("partymode-button").innerHTML = "On"; + } else { + document.getElementById("partymode-button").innerHTML = "Off"; + } + document.getElementById("volumerange").value = parseInt(x["volume"]) +} + +async function generateVisualPlaylist(conditions="") { + document.getElementById("playlist").innerHTML = "

"; + playlist = await getFromServer(null, "playlist"); + if (playlist.length==0){ + document.getElementById("playlist-alert").innerHTML = "Nothing's Queued..." + } else { + if (conditions=="skip-button") { + playlist.shift() + if (playlist.length==0){ + document.getElementById("playlist-alert").innerHTML = "Nothing's Queued..." + } + } + for (i in playlist) { + let newItem = document.createElement("div"); + newItem.className = "item"; + newItem.id = playlist[i]["file"]; + let image = document.createElement("img"); + try { + if (playlist[i]["art"] == null) { + throw "no image lolz" + } + image.src = playlist[i]["art"]; + } catch(err){ + image.src = "./images/placeholder.png"; + } + image.id = String(playlist[i]["file"])+" image"; + let head3 = document.createElement("h3"); + head3.innerText = playlist[i]["title"]; + let head4 = document.createElement("h4"); + head4.innerText=playlist[i]["artist"]; + let head5 = document.createElement("h5"); + let timeLeft =document.createElement("h5"); + timeLeft.style.fontWeight = 100; + try { + if (i == 0) { + head5.innerHTML="Playing"; + if ((conditions != "skip-button")) { + let mins = Math.floor(playlist[i]["time"]/60); + let secs = Math.floor(playlist[i]["time"]%60); + let durMins = Math.floor(playlist[i]["length"]/60); + let durSecs = Math.floor(playlist[i]["length"]%60); + timeLeft.innerHTML = mins.toString() +":"+ secs.toLocaleString('en-US', {minimumIntegerDigits: 2,useGrouping: false}) + "/"+ durMins.toString()+":"+durSecs.toLocaleString('en-US', {minimumIntegerDigits: 2,useGrouping: false}); + } + } + }catch(err){ + console.log(err) + } + let textdiv = document.createElement("div") + textdiv.className="text" + newItem.appendChild(image); + textdiv.appendChild(head3); + textdiv.appendChild(head4); + textdiv.appendChild(timeLeft); + textdiv.appendChild(head5); + newItem.appendChild(textdiv); + document.getElementById("playlist").appendChild(newItem); + } + } +} + +async function submitSong(songid) { + getFromServer({song: songid}, "songadd") + alertText("Added to Queue") +} +function checkWhatSongWasClicked(e) { + itemId = e.srcElement.id; + if ((itemId.length-itemId.lastIndexOf("image") == 5) && itemId.lastIndexOf("image")!=-1) { + itemId = itemId.slice(0,-6) + } + //i feel like later dylan won't apreciate this + //one of my files was "file.MP3" so it didn't work + if (itemId.slice(-4).toLowerCase() == ".mp3") { + submitSong(itemId); + } +} + +let optionslist = [] + +//sets all de stuff for buttons +document.addEventListener('keydown', function(e){ + if (e.key == "/"){ + document.getElementById("title").scrollIntoView(); + document.getElementById("songsearch").select(); + e.preventDefault() +}}) +document.getElementById("playlist-mode").style.display = "none"; +document.getElementById("settings-mode").style.display = "none"; +//.ontouch for mobile?? +document.getElementById("volumerange").onchange = function() { + getFromServer({setting:"volume",level:this.value}, "settings") + if (this.value == 0) { + alertText("The volume is now set to 0 (Pause?)") + } else { + alertText("The volume is now set to " + this.value.toString()) + } + +} +document.getElementById("settings-button").addEventListener('click',function(){controlButton("st")}); +document.getElementById("play-pause-button").addEventListener('click', function(){controlButton("pp")}); +document.getElementById("playlist-button").addEventListener('click', function(){controlButton("pl")}); +document.getElementById("search-button").addEventListener('click', function(){controlButton("se")}); +document.getElementById("skip-button").addEventListener('click',function(){controlButton("sk")}); +document.getElementById("go-search").addEventListener('click', function(){searchSongs(document.getElementById("songsearch").value)}) +document.getElementById("songsearch").addEventListener('keydown', function(e){searchSongsEnter(e)}); +document.getElementById("iptextbox").addEventListener('keydown', function(e){ipSetEnter(e)}); +document.getElementById("alerttimetextbox").addEventListener('keydown', function(e){alertTimeEnter(e)}); +document.getElementById("partymode-button").addEventListener('click',function(){controlButton("pm")}) +//sets the fact that clicking a song needs to return its id to the function to find it +document.getElementById("songlist").addEventListener('click', function(e){checkWhatSongWasClicked(e)}); +//makes the controls look mostly normal on all screens, best solution i could find, idk man +let tempWidth = document.getElementById('controls').clientWidth; +document.getElementById("controls").style.marginLeft = "-"+String(parseInt(tempWidth/2))+"px"; +//for my use case (my immediate family), they dont know how to set an ip +//using this allows the creator of the link for, a qr code for example, to set the ip before distributing the code, and it would all work smoothly +//example (http://192.168.1.100:8000/?ip=192.168.1.100:19054 sets the ip to the same host at the default port) +//the port must be set manually using this method, but only has to be done once for the url that ends up being shared +let params = new URLSearchParams(location.search); +//tries the url first, then the cookie, then the default +ip = params.get("ip") +if (ip == null || ip=="") { + ip=getCookie("ip") +} +console.log(ip) +if (ip==null || ip==""){ + ip = "" +} +document.cookie = "ip="+ip+"; path=/;" + + +alertTime = getCookie("alertTime") +document.getElementById("alerttimetextbox").value = alertTime +if (alertTime == "") { + alertTime = 2; + document.cookie = "alertTime="+alertTime+"; path=/;" +} \ No newline at end of file diff --git a/Client/styles.css b/Client/styles.css new file mode 100644 index 0000000..71db5a7 --- /dev/null +++ b/Client/styles.css @@ -0,0 +1,170 @@ +/* testing */ + +/* Things that are always visible */ + +body { + background-color: #EEEEEE; +} +* { + font-family: 'arial'; +} +.italic { + font-style: italic; +} +h4 { + font-weight: 100; +} +.clear{ + clear: both; + display: block; + content: ""; + width: 100%; + } +.controls { + max-width: 550px; + min-width: 300px; + position: fixed; + width:100%; + left: 50%; + bottom: 0; + margin: 0 auto; + background-color:inherit; +} + +.alert { + position: fixed; + bottom: 10%; + width: 100%; + text-align: center; + z-index: 1000; + background-color: #EEEEEEd6; +} + +.settings-button { + width: 15%; + max-width: 90px; + position:fixed; + top:0; + right:0; + margin: 3px; + background:inherit; + /* This is a circle background for the circle settings button + So it can display over other text and such */ + border-radius: 50%; +} + +.control-button{ + width:20%; + max-width: 110px; + margin: auto 2%; +} + +.intro { + width: 300px; + margin: auto; + text-align: center; +} + +/* Songlist stuff */ +.songlist { + width: 60%; + min-width: 300px; + margin:auto auto 150px; + display: flex; + flex-wrap: wrap; +} + +.songlist > .item{ + border: 1px solid #333333; + width:30%; + max-width: 200px; + margin: 5px auto; + min-width: 100px; + background-color: inherit; +} + +.songlist > .item > img{ + max-width:200px; + width:100% +} + +.songlist > .item > h3, .songlist > .item > h4{ + margin-left: 2px; + margin-right: 2px; +} + +.searchbox-holder { + width: 20%; + margin: 20px auto 0; + min-width: 250px; + +} +.searchbox { + width: 65%; + margin: 1px; +} +.go-search { + width: 20%; + min-width: 50px; +} +/* playlist mode stuff */ + +.playlist { + width: 60%; + min-width: 300px; + margin:auto auto 150px; +} + +.playlist > .item{ + border: 1px solid #333333; + display: flex; + max-width: 50em; + min-width: 200px; + margin: 5px auto; + height: auto; +} + +.playlist > .item > .text { + display: inline-block; + margin: 0px 3px; +} + +.playlist > .item > img { + display: inline-flex; + max-width: 100px; + width:30%; + margin: 0; + aspect-ratio: 1/1; +} + +.playlist > .item > .text > * { + margin:5% 2px; +} + +/* settings stuff */ + +.settings { + width: 95%; + margin: auto auto 150px; + max-width: 600px; +} + +.settings > .item { + margin-left: 10%; + width:fit-content; + +} + +.settings > .item:not(:last-child) { + padding-bottom: 10px; + border-bottom: 1px solid #333333; +} + +.settings > .lastSet1 { + border-bottom: 0; +} + +#volumerange { + background-color: #4477AA; + color: #4477ff; +} \ No newline at end of file diff --git a/Server/databaseGenerator.py b/Server/databaseGenerator.py new file mode 100644 index 0000000..fac4221 --- /dev/null +++ b/Server/databaseGenerator.py @@ -0,0 +1,78 @@ +import os +from mutagen.easyid3 import EasyID3 +from mutagen.mp3 import MP3 +import requests, ast, time, math, argparse, json + +loading = ["-","\\","|","/"] + +apikeylastfm="YourLastfmKeyHere" + +songFiles = os.listdir(r'./sound') +parser=argparse.ArgumentParser(description="Options for the generation of the song database") +parser.add_argument('-m', '--mode', help='new/update: Remake database or update current', default= "update") +parser.add_argument('-a', '--art', help="True/False: Add art to the database using LastFm (takes minimum 0.25s per song)", default="True") +args = parser.parse_args() +if args.mode == "update": + try: + with open('songDatabase.json', 'r') as handle: + songDatabaseList = json.load(handle) + except: + songDatabaseList=[] + + for i in songDatabaseList: + try: + songFiles.index(i["file"]) != -1 + except: + print("deleted: " + i["file"] + " from database") + songDatabaseList.pop(songDatabaseList.index(i)) + + for i in songDatabaseList: + songFiles.pop(songFiles.index(i["file"])) + print("new songs: " + str(songFiles)) +elif args.mode=="new": + songDatabaseList = [] + +if args.art.lower() == "true": + x = len(songFiles)*0.25 + if x > 60: + print("ETA "+ str(x/60) + " minutes") + else: + print("ETA "+ str(x) + " seconds") + +for i in songFiles: + try: + song = EasyID3("sound/"+i) + title = song['title'][0] + artist = song['artist'][0] + except: + try: + song = i.split("_") + title = song[0] + artist = song[1].split(".")[0] + except: + title = i + artist = None + if args.art.lower() == "true": + try: + image = ast.literal_eval(requests.post(url="http://ws.audioscrobbler.com/2.0/?method=track.getInfo&api_key="+apikeylastfm+"&artist="+artist+"&track="+title+"&format=json").text)["track"]["album"]["image"][1]["#text"] + if image == "": + image = ast.literal_eval(requests.post(url="http://ws.audioscrobbler.com/2.0/?method=track.getInfo&api_key="+apikeylastfm+"&artist="+artist+"&track="+title+"&format=json").text)["track"]["album"]["image"][2]["#text"] + if image == "": + image = None + time.sleep(0.25) + except: + image=None + else: + image=None + try: + length = math.ceil(MP3("sound/"+i).info.length) + except: + length = 0 + if len(songFiles) != 1: + index = (songFiles.index(i))%4 + print("\r" + str(loading[index] + str(math.floor((songFiles.index(i)/(len(songFiles)-1))*100))+ "%"), end='', flush=True) + # each "song" is stored as a dictionary containing the below stuff, and each dictionary is put into a list + songDatabaseList.append({"file":i,"title":title,"artist":artist,"art":image,"length":length}) + +with open('songDatabase.json', 'w') as handle: + json.dump(songDatabaseList, handle) diff --git a/Server/webbyBits.py b/Server/webbyBits.py new file mode 100644 index 0000000..c14db2b --- /dev/null +++ b/Server/webbyBits.py @@ -0,0 +1,128 @@ +from flask import Flask +from flask import request +from flask_cors import CORS +import json,vlc,csv,threading,time,random +random.seed() +global partyMode +global skipNow +global songNext +partyMode = False +songNext = None +skipNow = False +playlist = [] +playlistLock = threading.Lock() +fakeplayer = vlc.Instance() +player = fakeplayer.media_player_new() +# for client side volume to work as well as possible, set system volume to 100 and control in app +player.audio_set_volume(100) +app = Flask(__name__) +CORS(app) +with open('songDatabase.json', 'r') as handle: + songDatabaseList = json.load(handle) + +def queueSong(song): + with playlistLock: + playlist.append(song) +# this is a loop that plays the songs and checks for playlist changes, skips, ect. +def playQueuedSongs(): + global skipNow + global songNext + global partyMode + while True: + with playlistLock: + z = str(player.get_state()) + + if playlist and (z == "State.Ended" or z== "State.Stopped" or z == "State.NothingSpecial" or skipNow == True): + player.stop() + skipNow = False + songNext = playlist.pop(0) + media = fakeplayer.media_new("sound/"+songNext) + player.set_media(media) + player.play() + elif (len(playlist) == 0) and skipNow==True: + skipNow=False + songNext = None + player.stop() + elif (len(playlist) == 0) and (z == "State.Ended" or z == "State.NothingSpecial" or z=="State.Stopped"): + songNext = None + elif (len(playlist)<1) and (partyMode == True): + playlist.append(random.choice(songDatabaseList)["file"]) + time.sleep(1) + +queueThread = threading.Thread(target=playQueuedSongs) +queueThread.daemon = True +queueThread.start() + +@app.route("/controls", methods=['POST']) +def playerControls(): + global skipNow + global media + global partyMode + recieveData=request.get_json(force=True) + if recieveData["control"] != None: + if recieveData["control"] == "play-pause": + player.pause() + return "200" + elif recieveData["control"] == "skip": + skipNow = True + # print(str(player.get_state())) + return "200" + else: + return "400" + +@app.route("/settings", methods=['POST']) +def settingsControl(): + global partyMode + recieveData = request.get_json(force=True) + if recieveData["setting"] == "volume": + player.audio_set_volume(int(recieveData["level"])) + return "200" + elif recieveData["setting"] == "getsettings": + x = {"partymode":partyMode,"volume":player.audio_get_volume()} + return x + elif recieveData["setting"] == "partymode-toggle": + partyMode = not(partyMode) + return "200" + else: + return "400" +@app.route("/search", methods=['POST']) +def searchSongDB(): + recieveData=request.get_json(force=True) + # the way i put the data in a list was really dumb looking back, i could and should have used a list of dictioaries like i was before + # i might try to change it but this layout is embedded deep in the client + tempData = {} + for i in songDatabaseList: + if ((i["title"].lower().find(recieveData['search'].lower())) > -1) or (recieveData['search'] == ""): + tempData[i["title"]] = [i["artist"],i["art"],i["file"]] + try: + if (i["artist"].lower().find(recieveData['search'].lower()) > -1): + tempData[i["title"]] = [i["artist"],i["art"],i["file"]] + except: + pass + + return tempData + +@app.route("/songadd", methods=["POST"]) +def songadd(): + recieveData=request.get_json(force=True) + queueSong(recieveData['song']) + return "200" +@app.route("/playlist", methods=["POST"]) +def getPlaylist(): + global songNext + tempPlaylist = [] + for k in songDatabaseList: + if k["file"] == songNext: + temp = k.copy() + temp["playing"] = True + temp["time"] = player.get_time()/1000 + tempPlaylist.append(temp) + for i in playlist: + for j in songDatabaseList: + if j["file"] == i: + tempPlaylist.append(j) + return tempPlaylist + +if __name__ == "__main__": + app.run(host='0.0.0.0', port='25565') + \ No newline at end of file -- 2.49.1 From 7a22c9efecf9ed3bd4568f02c5c13878eb1d6ba8 Mon Sep 17 00:00:00 2001 From: dylan-fournier <124598538+dylan-fournier@users.noreply.github.com> Date: Mon, 27 May 2024 13:09:00 -0400 Subject: [PATCH 02/10] Cleaned up Generator + readme --- Server/databaseGenerator.py | 5 ++--- readme.md | 1 + 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/Server/databaseGenerator.py b/Server/databaseGenerator.py index fac4221..19f1b67 100644 --- a/Server/databaseGenerator.py +++ b/Server/databaseGenerator.py @@ -2,11 +2,10 @@ import os from mutagen.easyid3 import EasyID3 from mutagen.mp3 import MP3 import requests, ast, time, math, argparse, json - -loading = ["-","\\","|","/"] - +# place your lastfm key in the slot below apikeylastfm="YourLastfmKeyHere" +loading = ["-","\\","|","/"] songFiles = os.listdir(r'./sound') parser=argparse.ArgumentParser(description="Options for the generation of the song database") parser.add_argument('-m', '--mode', help='new/update: Remake database or update current', default= "update") diff --git a/readme.md b/readme.md index 3aff8ca..965eb8a 100644 --- a/readme.md +++ b/readme.md @@ -38,6 +38,7 @@ These are specific details on each section of the app, and how to use them - Art is retrieved from LastFM - Running with `--mode (update/new)` either updates the current database and only adds new songs, or recreates the entire database (update is default) - Running with `--art (True/False)` retrieves art from LastFM or doesn't (True is default) + - *Can only generate one song / 0.25 seconds, to avoid pinging the LastFM server too much* - `songDatabase.json` stores all the information about each song in this format: ``` [ -- 2.49.1 From 9e48753e7475fcfe1b728391b7702fbd4d8fd9fd Mon Sep 17 00:00:00 2001 From: dylan-fournier <124598538+dylan-fournier@users.noreply.github.com> Date: Tue, 28 May 2024 12:13:57 -0400 Subject: [PATCH 03/10] Update readme.md --- readme.md | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/readme.md b/readme.md index 965eb8a..083a9ef 100644 --- a/readme.md +++ b/readme.md @@ -59,6 +59,7 @@ These are specific details on each section of the app, and how to use them ![image](./Screenshot_RAW.png) \ From left to right: - The playlist button shows the current queue of songs + - The currently playing song is identified, and has the duration listed - The play-pause button toggles playing - The skip button goes to the next track - The search button opens the search screen (pictured) @@ -66,6 +67,4 @@ From left to right: - Server IP allows you to change the ip that the site connects to - Alert time changes how long error/confirmation messages are shown for (Default 2s) - Party Mode adds new songs to the queue when the queue has only 1 song in it - - Volume controls the vlc volume of the connected server - - + - Volume controls the VLC volume of the connected server \ No newline at end of file -- 2.49.1 From dcb21d39a9b2d55c5503dfae902b13783870882f Mon Sep 17 00:00:00 2001 From: dylan-fournier <124598538+dylan-fournier@users.noreply.github.com> Date: Tue, 28 May 2024 12:26:17 -0400 Subject: [PATCH 04/10] chaged default port to be correct also bug fixes and readme changes --- .gitignore | 3 ++- Server/webbyBits.py | 4 ++-- readme.md | 1 + 3 files changed, 5 insertions(+), 3 deletions(-) diff --git a/.gitignore b/.gitignore index fcb12f0..245e57a 100644 --- a/.gitignore +++ b/.gitignore @@ -1,2 +1,3 @@ server/sound/ -server/songDatabase.json \ No newline at end of file +server/songDatabase.json +start.bat \ No newline at end of file diff --git a/Server/webbyBits.py b/Server/webbyBits.py index c14db2b..6401a69 100644 --- a/Server/webbyBits.py +++ b/Server/webbyBits.py @@ -17,7 +17,7 @@ player = fakeplayer.media_player_new() player.audio_set_volume(100) app = Flask(__name__) CORS(app) -with open('songDatabase.json', 'r') as handle: +with open('./songDatabase.json', 'r') as handle: songDatabaseList = json.load(handle) def queueSong(song): @@ -124,5 +124,5 @@ def getPlaylist(): return tempPlaylist if __name__ == "__main__": - app.run(host='0.0.0.0', port='25565') + app.run(host='0.0.0.0', port='19054') \ No newline at end of file diff --git a/readme.md b/readme.md index 083a9ef..145ff56 100644 --- a/readme.md +++ b/readme.md @@ -54,6 +54,7 @@ These are specific details on each section of the app, and how to use them - `webbyBits.py` imports the database, runs all music playing, and accepts all commands from clients - Searches return matching songs - Accepts Play-Pause and Skip commands + - Uses port 19054 by default ### Client: ![image](./Screenshot_RAW.png) \ -- 2.49.1 From bc823e2e601fa87a01500102c357658f3ccdf170 Mon Sep 17 00:00:00 2001 From: dylan-fournier <124598538+dylan-fournier@users.noreply.github.com> Date: Tue, 28 May 2024 12:59:25 -0400 Subject: [PATCH 05/10] Cleaned up readme + image --- Screenshot_RAW.png | Bin 31744 -> 31201 bytes readme.md | 5 +++-- 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/Screenshot_RAW.png b/Screenshot_RAW.png index 381e29b55a017ff7abc668578080cbd7203c8489..afa76762c2c29a2108ce1d223c26cc114052997b 100644 GIT binary patch literal 31201 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 literal 31744 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 Bdwu`_ diff --git a/readme.md b/readme.md index 145ff56..97ec5be 100644 --- a/readme.md +++ b/readme.md @@ -11,7 +11,7 @@ The client is a web application that can be hosted on any server, it need not be ### Server Setup: **Pre-setup:** If you want the songs to have art associated with them, it is all hosted on and retrieved from LastFM, and you will need to sign up for a developer app, and put your key in the database generator \ \ -The server side consists of 3 files +The server side consists of 3 files: ``` sound/ @@ -68,4 +68,5 @@ From left to right: - Server IP allows you to change the ip that the site connects to - Alert time changes how long error/confirmation messages are shown for (Default 2s) - Party Mode adds new songs to the queue when the queue has only 1 song in it - - Volume controls the VLC volume of the connected server \ No newline at end of file + - Volume controls the VLC volume of the connected server + - *Because the volume can be controlled in the client, for best usage set your device volume as high as possible and turn it down using this slider* \ No newline at end of file -- 2.49.1 From b82e4266be9e8a975c5197297d1976506ef82f9d Mon Sep 17 00:00:00 2001 From: dylan-fournier <124598538+dylan-fournier@users.noreply.github.com> Date: Wed, 29 May 2024 13:17:02 -0400 Subject: [PATCH 06/10] literally 2 spaces --- Client/scripts.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Client/scripts.js b/Client/scripts.js index 3aafbff..5aa8678 100644 --- a/Client/scripts.js +++ b/Client/scripts.js @@ -10,7 +10,7 @@ async function alertText(text="Song Added!") { // it to return the right stuff and javascript is asyrcronouse (boo) async function getFromServer(bodyInfo, source="") { try{ - const response = await fetch("http://" + ip+"/"+source, { + const response = await fetch("http://"+ip+"/"+source, { method: "POST", body: JSON.stringify(bodyInfo), headers: { -- 2.49.1 From fffe0a20220ad4055173490b9d9942bdd03f0e72 Mon Sep 17 00:00:00 2001 From: dylan-fournier <124598538+dylan-fournier@users.noreply.github.com> Date: Wed, 5 Jun 2024 12:36:15 -0400 Subject: [PATCH 07/10] Update readme.md --- readme.md | 2 ++ 1 file changed, 2 insertions(+) diff --git a/readme.md b/readme.md index 97ec5be..910ff13 100644 --- a/readme.md +++ b/readme.md @@ -27,6 +27,8 @@ webbyBits.py 4. Run `webbyBits.py` You can now connect with the client and use the app as normal. \ +*Make sure you have turned down/off any other apps that might make noise or notification sounds* \ +\ Read on for specific information on each piece of the app. ## Details These are specific details on each section of the app, and how to use them -- 2.49.1 From 1a30a5a31a31e608341f909100065c713ab2a073 Mon Sep 17 00:00:00 2001 From: dylan-fournier <124598538+dylan-fournier@users.noreply.github.com> Date: Wed, 5 Jun 2024 13:20:37 -0400 Subject: [PATCH 08/10] dark mode setting added --- Client/index.html | 9 ++++++++- readme.md | 2 +- 2 files changed, 9 insertions(+), 2 deletions(-) diff --git a/Client/index.html b/Client/index.html index e9aee2f..ffda3ea 100644 --- a/Client/index.html +++ b/Client/index.html @@ -53,6 +53,13 @@ changes visibility with JS-->

Client Settings (Saved to device)

+

Server IP:

IP of the device running the song server

@@ -65,7 +72,7 @@ changes visibility with JS-->

Server Settings (Saved to server)

-

Party mode:

+

Party Mode:

Add random songs to the queue when it is about to be empty

diff --git a/readme.md b/readme.md index 910ff13..264631f 100644 --- a/readme.md +++ b/readme.md @@ -3,7 +3,7 @@ ## Purpose The **Party Jukebox** is a program that allows many people to add music, skip songs, play, and pause from any web device to the same device and playlist. \ This was created for a personal use case for parties, and is a simple, (mostly) functional solution to have a collective playlist for local mp3 files. \ -Main strenghts compared to doing something similar using Spotify are that you can limit the songs that can be played to your selection. Songs can be chosen, but only from a list +Main advantage compared to doing something similar using Spotify is that you can limit the songs that can be played to your selection. Songs can be chosen, but only from a list ## Basic Setup ### Client Setup: The client is a web application that can be hosted on any server, it need not be the same device running the music player. -- 2.49.1 From 776462147a037733678936907c6bb3d9d0c89ae1 Mon Sep 17 00:00:00 2001 From: dylan-fournier <124598538+dylan-fournier@users.noreply.github.com> Date: Thu, 6 Jun 2024 12:47:33 -0400 Subject: [PATCH 09/10] renamed image file --- Screenshot_RAW.png => Screenshot_MAIN.png | Bin readme.md | 2 +- 2 files changed, 1 insertion(+), 1 deletion(-) rename Screenshot_RAW.png => Screenshot_MAIN.png (100%) diff --git a/Screenshot_RAW.png b/Screenshot_MAIN.png similarity index 100% rename from Screenshot_RAW.png rename to Screenshot_MAIN.png diff --git a/readme.md b/readme.md index 264631f..f10f198 100644 --- a/readme.md +++ b/readme.md @@ -59,7 +59,7 @@ These are specific details on each section of the app, and how to use them - Uses port 19054 by default ### Client: -![image](./Screenshot_RAW.png) \ +![image](./Screenshot_MAIN.png) \ From left to right: - The playlist button shows the current queue of songs - The currently playing song is identified, and has the duration listed -- 2.49.1 From f31746ae47d44d585c5b7225bcb425ddae4e1376 Mon Sep 17 00:00:00 2001 From: dylan-fournier <124598538+dylan-fournier@users.noreply.github.com> Date: Mon, 10 Jun 2024 13:21:52 -0400 Subject: [PATCH 10/10] thought i fixed the alertbug but idk --- Client/scripts.js | 4 +++- readme.md | 2 +- 2 files changed, 4 insertions(+), 2 deletions(-) diff --git a/Client/scripts.js b/Client/scripts.js index 5aa8678..2058852 100644 --- a/Client/scripts.js +++ b/Client/scripts.js @@ -4,7 +4,9 @@ async function alertText(text="Song Added!") { alertbox = document.getElementById("alert"); alertbox.innerHTML = text; await new Promise(r => setTimeout(r, alertTime*1000)); - alertbox.innerHTML = "" + if (alertbox.innerHTML == text) { + alertbox.innerHTML = "" + } } // a lot of this is kinda waffly because i was trying to get // it to return the right stuff and javascript is asyrcronouse (boo) diff --git a/readme.md b/readme.md index f10f198..a571016 100644 --- a/readme.md +++ b/readme.md @@ -3,7 +3,7 @@ ## Purpose The **Party Jukebox** is a program that allows many people to add music, skip songs, play, and pause from any web device to the same device and playlist. \ This was created for a personal use case for parties, and is a simple, (mostly) functional solution to have a collective playlist for local mp3 files. \ -Main advantage compared to doing something similar using Spotify is that you can limit the songs that can be played to your selection. Songs can be chosen, but only from a list +The main advantage compared to doing something similar using Spotify is that you can limit the songs that can be played to your selection. Songs can be chosen, but only from a list. ## Basic Setup ### Client Setup: The client is a web application that can be hosted on any server, it need not be the same device running the music player. -- 2.49.1