songs2slides

A tool that automatically finds song lyrics and creates lyric slideshows
git clone https://git.ashermorgan.net/songs2slides/
Log | Files | Refs | README

commit 4b33a48cd57c79dde3234fdb6f3d16eb37d6cf62
parent 9d5cc68e06b90505a1e4f9f75dac3e2d026387d1
Author: AsherMorgan <59518073+AsherMorgan@users.noreply.github.com>
Date:   Wed, 22 Jul 2020 13:51:26 -0700

Implement slide-between-songs setting.

Diffstat:
MSongs2Slides/config.py | 1+
MSongs2Slides/core.py | 6++++--
MSongs2Slides/static/settings.js | 2++
MSongs2Slides/templates/settings.html | 4++++
4 files changed, 11 insertions(+), 2 deletions(-)

diff --git a/Songs2Slides/config.py b/Songs2Slides/config.py @@ -1,6 +1,7 @@ defaultSettings = { # Parsing settings "title-slides": True, + "slide-between-songs": True, "lines-per-slide": 4, "remove-parentheses": False, diff --git a/Songs2Slides/core.py b/Songs2Slides/core.py @@ -94,9 +94,11 @@ def ParseLyrics(title, artist, settings): slides[-1] = slides[-1] + "\n" + rawLines[i] slideSize += 1 - # Add blank slide - if (slides[-1] != ""): + # Add/remove blank slide + if (slides[-1] != "" and settings["slide-between-songs"]): slides += [""] + elif (slides[-1] == "" and not settings["slide-between-songs"]): + del slides[-1] # Return parsed lyrics return slides diff --git a/Songs2Slides/static/settings.js b/Songs2Slides/static/settings.js @@ -15,6 +15,7 @@ function onLoad() { function loadSettings(settings) { // Parsing settings document.getElementById("title-slides").checked = settings["title-slides"]; + document.getElementById("slide-between-songs").checked = settings["slide-between-songs"]; document.getElementById("lines-per-slide").value = settings["lines-per-slide"]; document.getElementById("remove-parentheses").checked = settings["remove-parentheses"]; @@ -50,6 +51,7 @@ function saveSettings() { const settings = { // Parsing settings "title-slides": document.getElementById("title-slides").checked, + "slide-between-songs": document.getElementById("slide-between-songs").checked, "lines-per-slide": Number(document.getElementById("lines-per-slide").value), "remove-parentheses": document.getElementById("remove-parentheses").checked, diff --git a/Songs2Slides/templates/settings.html b/Songs2Slides/templates/settings.html @@ -14,6 +14,10 @@ <input type="checkbox" id="title-slides" onchange="saveSettings();"/> </div> <div> + Blank slide between songs: + <input type="checkbox" id="slide-between-songs" onchange="saveSettings();"/> + </div> + <div> Default lines per slide: <input type="number" min="1" step="1" id="lines-per-slide" onchange="saveSettings();"/> </div>