From 0d97631eb0c8b1459a23e8e003705502754969d1 Mon Sep 17 00:00:00 2001 From: Joris Date: Fri, 5 Jan 2024 10:39:24 +0100 Subject: Allow to specify chord multiplier --- src/main.lisp | 23 ++++++++++++++++------- 1 file changed, 16 insertions(+), 7 deletions(-) (limited to 'src') diff --git a/src/main.lisp b/src/main.lisp index d2090e5..2d3007e 100644 --- a/src/main.lisp +++ b/src/main.lisp @@ -71,7 +71,7 @@ (if (eql key 'all) nil - (h "h3" nil (list (part-name key)))) + (h "h3" '(("class" "g-Part__Title")) (list (part-name key)))) children))) ; Chords @@ -109,17 +109,26 @@ nil (cons (chord-row (car xs)) (chord-rows (cdr xs))))) -(defun chord-table (key row) - (part-tags - key - (h "table" '(("class" "g-Chords__Table")) (chord-rows row)))) +(defun chord-table (key x) + (let* ((is-repeat (eql (car x) :repeat)) + (n (if is-repeat (second x) 1)) + (rows (if is-repeat (cddr x) x))) + (part-tags + key + (h + "div" + '(("class" "g-Chords__Section")) + (list + (h "table" '(("class" "g-Chords__Table")) (chord-rows rows)) + (if (> n 1) (h "div" '(("class" "g-Chords__Multiplier")) (list (write-to-string n))) nil)))))) + (defun chord-tables (xs) (if (eql xs nil) nil - (let ((key (car (car xs))) - (rows (cdr (car xs)))) + (let ((key (caar xs)) + (rows (cdar xs))) (cons (chord-table key rows) (chord-tables (cdr xs)))))) (defun chord-tags (chords tonality) -- cgit v1.2.3