diff --git a/interface.py b/interface.py
index e28e444..93a8d3d 100644
--- a/interface.py
+++ b/interface.py
@@ -235,14 +235,15 @@ def status():
'empty': False,
'play': not var.bot.is_pause,
'mode': var.playlist.mode,
- 'volume': var.db.getfloat('bot', 'volume')})
+ 'volume': var.bot.volume_set})
+
else:
return jsonify({'ver': var.playlist.version,
'current_index': var.playlist.current_index,
'empty': True,
'play': not var.bot.is_pause,
'mode': var.playlist.mode,
- 'volume': var.db.getfloat('bot', 'volume')})
+ 'volume': var.bot.volume_set})
@web.route("/post", methods=['POST'])
@@ -405,12 +406,14 @@ def post():
log.info("web: volume up to %d" % (var.bot.volume_set * 100))
elif action == "volume_set_value":
if 'new_volume' in request.form:
- # new_volume is slider value ranging from 0-100
- var.bot.volume_set = (int(request.form['new_volume']) * 0.01)
- if var.bot.volume_set > 1:
+ if float(request.form['new_volume']) > 1:
var.bot.volume_set = 1
- elif var.bot.volume_set < 0:
+ elif float(request.form['new_volume']) < 0:
var.bot.volume_set = 0
+ else:
+ # value for new volume is between 0 and 1, round to two decimal digits
+ var.bot.volume_set = round(float(request.form['new_volume']), 2)
+
var.db.set('bot', 'volume', str(var.bot.volume_set))
log.info("web: volume set to %d" % (var.bot.volume_set * 100))
diff --git a/templates/index.html b/templates/index.html
index 7a6c415..4925416 100644
--- a/templates/index.html
+++ b/templates/index.html
@@ -70,8 +70,9 @@
+ min="0" max="1" step="0.01" value="0.5"
+ onchange="setVolumeDelayed(this.value)">
+