--- articulate.ly 2008-08-06 04:03:12.000000000 +0100 +++ articulate.staccatissimo.ly 2009-09-30 19:08:35.000000000 +0100 @@ -15,7 +15,7 @@ % http://www.gnu.org/licenses/old-licenses/gpl-2.0.html % % This script tries to make MIDI output from LilyPond a little more realistic. -% It tries to take articulations (slurs, staccato) into account, by +% It tries to take articulations (slurs, staccato, etc.) into account, by % replacing notes with sequential music of suitably time-scaled note plus % skip. % @@ -61,7 +61,7 @@ % * Cope with more ornaments/articulations. % mordents, inverted-turns, etc. % -- accent needs better control of dynamics. -% -- Articulations: mezzo-staccato, staccatissimo, portato. +% -- Articulations: mezzo-staccato, portato. % -- Handling of generic ornaments (in lily, `\stopped'; in % most early music: ornament this note (trill, turn % or mordent as the player wishes)) @@ -83,6 +83,9 @@ % Most modern sources say 1/2 the notated length of a note. #(define ac:staccatoFactor '(1 . 2)) +% How much to compress notes marked staccatissimo. +#(define ac:staccatissimoFactor '(1 . 4)) + % And tenuto (if we ever implement time stealing, this should be >1.0) #(define ac:tenutoFactor '(1 . 1)) @@ -393,6 +396,8 @@ (cond ((string= articname "staccato") (loop ac:staccatoFactor newelements tail actions)) + ((string= articname "staccatissimo") + (loop ac:staccatissimoFactor newelements tail actions)) ((string= articname "tenuto") (loop ac:tenutoFactor newelements tail actions)) ((string= articname "mordent")