Add MacOS .app support via Platypus, change port to 13500
This commit is contained in:
parent
5228cfd279
commit
90b6707cdf
9 changed files with 5357 additions and 6 deletions
5297
build/BAPSicle.platypus
Normal file
5297
build/BAPSicle.platypus
Normal file
File diff suppressed because it is too large
Load diff
|
@ -1,5 +1,5 @@
|
|||
#!/bin/bash
|
||||
brew install tcl
|
||||
cd "$(dirname "$0")"
|
||||
|
||||
pip3 install -r requirements.txt
|
||||
pip3 install -r requirements-macos.txt
|
||||
|
@ -10,3 +10,10 @@ python3 ./generate-build-exe-config.py
|
|||
python3 ./build-exe.py
|
||||
|
||||
bash ./build-exe-pyinstaller-command.sh
|
||||
|
||||
rm ./*.spec
|
||||
|
||||
brew install platypus
|
||||
|
||||
platypus --load-profile ./BAPSicle.platypus --overwrite ./output/BAPSicle.app
|
||||
|
BIN
build/icon.icns
Normal file
BIN
build/icon.icns
Normal file
Binary file not shown.
BIN
build/icon.png
Normal file
BIN
build/icon.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 16 KiB |
27
build/macos-platypus.sh
Normal file
27
build/macos-platypus.sh
Normal file
|
@ -0,0 +1,27 @@
|
|||
#!/bin/bash
|
||||
if [ "$1" == "" ]
|
||||
then
|
||||
echo "DISABLED|BAPSicle Server"
|
||||
echo "----"
|
||||
if curl --output /dev/null --silent --head --fail --max-time 1 "http://localhost:13500"
|
||||
then
|
||||
echo "Status"
|
||||
echo "Config"
|
||||
echo "Logs"
|
||||
echo "----"
|
||||
echo "Stop Server"
|
||||
else
|
||||
echo "DISABLED|Status"
|
||||
echo "DISABLED|Config"
|
||||
echo "DISABLED|Logs"
|
||||
echo "----"
|
||||
echo "Start Server"
|
||||
fi
|
||||
exit
|
||||
fi
|
||||
if [ "$1" == "Stop Server" ]
|
||||
then
|
||||
curl "http://localhost:13500/quit"
|
||||
else
|
||||
./BAPSicle "$1"
|
||||
fi
|
|
@ -28,7 +28,7 @@ nssm set %service_name% AppStopMethodConsole 5000
|
|||
nssm set %service_name% AppStopMethodWindow 5000
|
||||
nssm set %service_name% AppStopMethodThreads 5000
|
||||
nssm set %service_name% DisplayName "BAPSicle Server"
|
||||
nssm set %service_name% Description "The next gen Broadcast and Presenting Suite server! Access settings on port 5000."
|
||||
nssm set %service_name% Description "The next gen Broadcast and Presenting Suite server! Access settings on port 13500."
|
||||
nssm set %service_name% ObjectName LocalSystem
|
||||
nssm set %service_name% Start SERVICE_AUTO_START
|
||||
nssm set %service_name% Type SERVICE_INTERACTIVE_PROCESS
|
||||
|
@ -41,4 +41,4 @@ nssm start %service_name%
|
|||
|
||||
timeout 4 /nobreak
|
||||
|
||||
explorer "http://localhost:5000/"
|
||||
explorer "http://localhost:13500/"
|
||||
|
|
|
@ -1,5 +1,7 @@
|
|||
import multiprocessing
|
||||
import time
|
||||
import sys
|
||||
import webbrowser
|
||||
|
||||
from server import BAPSicleServer
|
||||
|
||||
|
@ -21,4 +23,22 @@ def startServer():
|
|||
sys.exit(0)
|
||||
|
||||
if __name__ == '__main__':
|
||||
startServer()
|
||||
if len(sys.argv) > 1:
|
||||
# We got an argument! It's probably Platypus's UI.
|
||||
try:
|
||||
if (sys.argv[1]) == "Start Server":
|
||||
print("NOTIFICATION:Welcome to BAPSicle!")
|
||||
webbrowser.open("http://localhost:13500/")
|
||||
startServer()
|
||||
if (sys.argv[1] == "Status"):
|
||||
webbrowser.open("http://localhost:13500/status")
|
||||
if (sys.argv[1] == "Config"):
|
||||
webbrowser.open("http://localhost:13500/config")
|
||||
if (sys.argv[1] == "Logs"):
|
||||
webbrowser.open("http://localhost:13500/logs")
|
||||
except Exception as e:
|
||||
print("ALERT:BAPSicle failed with exception:\n", e)
|
||||
|
||||
sys.exit(0)
|
||||
else:
|
||||
startServer()
|
||||
|
|
|
@ -374,7 +374,7 @@ if __name__ == "__main__":
|
|||
# Do some testing
|
||||
in_q.put("LOADED?")
|
||||
in_q.put("PLAY")
|
||||
in_q.put("LOAD:\\Users\\matth\\Documents\\GitHub\\bapsicle\\dev\\test.mp3")
|
||||
in_q.put("LOAD:\\Users\\mstratford\\Documents\\Dev\\GitHub\\bapsicle\\dev\\test.mp3")
|
||||
in_q.put("LOADED?")
|
||||
in_q.put("PLAY")
|
||||
print("Entering infinite loop.")
|
||||
|
|
|
@ -188,7 +188,7 @@ def startServer():
|
|||
channel_p[channel].start()
|
||||
|
||||
# Don't use reloader, it causes Nested Processes!
|
||||
app.run(host='0.0.0.0', port=5000, debug=True, use_reloader=False)
|
||||
app.run(host='0.0.0.0', port=13500, debug=True, use_reloader=False)
|
||||
|
||||
|
||||
def stopServer():
|
||||
|
|
Loading…
Reference in a new issue