diff --git a/interface.py b/interface.py index e4b01e2..151b70e 100644 --- a/interface.py +++ b/interface.py @@ -71,8 +71,9 @@ def index(): if 'add_file' in request.form and ".." not in request.form['add_file']: item = {'type': 'file', 'path' : request.form['add_file'], + 'title' : 'Unknown', 'user' : 'Web'} - var.playlist.append(item) + var.playlist.append(var.botamusique.get_music_tag_info(item, var.config.get('bot', 'music_folder') + item['path'])) elif ('add_folder' in request.form and ".." not in request.form['add_folder']) or ('add_folder_recursively' in request.form and ".." not in request.form['add_folder_recursively']): try: @@ -106,13 +107,21 @@ def index(): 'user': "Web"}) elif 'delete_music' in request.form: - if len(var.playlist) >= request.form['delete_music']: - var.playlist.pop(request.form['delete_music']) - + if len(var.playlist.playlist) >= int(request.form['delete_music']): + var.playlist.remove(int(request.form['delete_music'])) + + elif 'play_music' in request.form: + if len(var.playlist.playlist) >= int(request.form['play_music']): + var.botamusique.pause() + var.botamusique.launch_music(int(request.form['play_music'])) + elif 'action' in request.form: action = request.form['action'] if action == "randomize": - random.shuffle(var.playlist) + random.shuffle(var.playlist.playlist) + elif action == "stop": + var.botamusique.pause() + return render_template('index.html', all_files=files, diff --git a/static/css/custom.css b/static/css/custom.css new file mode 100644 index 0000000..f2cedf6 --- /dev/null +++ b/static/css/custom.css @@ -0,0 +1,5 @@ +.bs-docs-section{margin-top:4em} +.line{display:flex; margin-bottom:1rem} +.btn-space{margin-right:5px} +.playlist-title{display:inline-block} +.playlist-artwork{display:inline-block; margin-left:5px;} diff --git a/static/image/unknown-album.png b/static/image/unknown-album.png new file mode 100644 index 0000000..50455c5 Binary files /dev/null and b/static/image/unknown-album.png differ diff --git a/templates/index.html b/templates/index.html index 3351c91..2f3062d 100644 --- a/templates/index.html +++ b/templates/index.html @@ -54,13 +54,20 @@ botamusique web interface +
-
+
+ +
+
+
@@ -69,21 +76,28 @@
- Currently Playing : - {% if playlist|length > 0 %} - {% if 'url' in playlist[0] %} - {{ playlist[0]['url'] }} - {% elif 'path' in playlist[0] %} - {{ playlist[0]['path'] }} +

Currently Playing: + {% if playlist.length() > 0 %} + {% if 'url' in playlist.current_item() %} + {{ playlist.current_item()['url'] }} + {% elif 'path' in playlist.current_item() %} + {{ playlist.current_item()['path'] }} {% endif %} {% else %} No music {% endif %} +

+
+
+
+ + +
+
+ + +
-
- - -
@@ -96,16 +110,35 @@ - {% for m in playlist[1:] %} + {% for m in playlist.playlist %} + {% if loop.index0 == playlist.current_index %} + + {% else %} + {% endif %} - + {% endfor %} @@ -128,8 +167,10 @@ + -
+
+
@@ -154,10 +195,12 @@
+
-
+
+
@@ -190,7 +233,10 @@
-
+
+ +
+
@@ -220,6 +266,7 @@
+
{{ loop.index }}{{ m['type'] }}{{ m['type'].capitalize() }} - {% if 'title' in m %} - ({{ m['title'] }}) - {% else %} - No title - {% endif %} +
+ {% if 'thumbnail' in m %} + + {% else %} + + {% endif %} +
+
+ {% if 'title' in m and m['title'].strip() %} + {{ m['title'] }} + {% else %} + {{ m['url'] }} + {% endif %} +
+ {% if 'artist' in m %} + {{ m['artist'] }} + {% else %} + Unknown Artist + {% endif %} +
{% if 'url' in m %} @@ -115,10 +148,16 @@ {% endif %} -
- - -
+
+
+ + +
+
+ + +
+