]> git.donarmstrong.com Git - lilypond.git/blobdiff - ly/music-functions-init.ly
(keepWithTag): add music functions
[lilypond.git] / ly / music-functions-init.ly
index a36284df328dc8b5875bc4e9908a0d469d725fb4..0410976cbb522ec1d64af34914776a7c03ba7cb2 100644 (file)
@@ -48,6 +48,27 @@ makeClusters = #(def-music-function
                (music-map note-to-cluster arg))
 
 
+removeWithTag = 
+#(def-music-function
+  (location tag music) (symbol? ly:music?)
+  (music-filter
+   (lambda (m)
+    (let* ((tags (ly:music-property m 'tags))
+           (res (memq tag tags)))
+       (not res)))))
+             
+keepWithTag =
+#(def-music-function
+  (location tag music) (symbol? ly:music?)
+  (music-filter
+   (lambda (m)
+    (let* ((tags (ly:music-property m 'tags))
+           (res (memq tag tags)))
+       (or
+       (eq? tags '())
+       (memq tag tags))))
+   music))
+
 %{
 
 TODO: