Rietveld Code Review Tool
Help | Bug tracker | Discussion group | Source code | Sign in
(475)

Side by Side Diff: scm/output-lib.scm

Issue 4527086: Implements multiple-line non-cross-staff glissandi (Closed)
Patch Set: Adds proper property definition. Created 13 years, 11 months ago
Left:
Right:
Use n/p to move between diff chunks; N/P to move between comments. Please Sign in to add in-line comments.
Jump to:
View unified diff | Download patch
« no previous file with comments | « scm/define-grobs.scm ('k') | no next file » | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 ;;;; This file is part of LilyPond, the GNU music typesetter. 1 ;;;; This file is part of LilyPond, the GNU music typesetter.
2 ;;;; 2 ;;;;
3 ;;;; Copyright (C) 1998--2011 Jan Nieuwenhuizen <janneke@gnu.org> 3 ;;;; Copyright (C) 1998--2011 Jan Nieuwenhuizen <janneke@gnu.org>
4 ;;;; Han-Wen Nienhuys <hanwen@xs4all.nl> 4 ;;;; Han-Wen Nienhuys <hanwen@xs4all.nl>
5 ;;;; 5 ;;;;
6 ;;;; LilyPond is free software: you can redistribute it and/or modify 6 ;;;; LilyPond is free software: you can redistribute it and/or modify
7 ;;;; it under the terms of the GNU General Public License as published by 7 ;;;; it under the terms of the GNU General Public License as published by
8 ;;;; the Free Software Foundation, either version 3 of the License, or 8 ;;;; the Free Software Foundation, either version 3 of the License, or
9 ;;;; (at your option) any later version. 9 ;;;; (at your option) any later version.
10 ;;;; 10 ;;;;
(...skipping 772 matching lines...) Expand 10 before | Expand all | Expand 10 after
783 ;; fret boards 783 ;; fret boards
784 784
785 (define-public (fret-board::calc-stencil grob) 785 (define-public (fret-board::calc-stencil grob)
786 (grob-interpret-markup 786 (grob-interpret-markup
787 grob 787 grob
788 (make-fret-diagram-verbose-markup 788 (make-fret-diagram-verbose-markup
789 (ly:grob-property grob 'dot-placement-list)))) 789 (ly:grob-property grob 'dot-placement-list))))
790 790
791 791
792 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; 792 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
793 ;; glissando
794
795 (define-public (glissando::before-line-breaking grob)
796 (let* ((l (glissando::internal-before-line-breaking grob LEFT))
797 (r (glissando::internal-before-line-breaking grob RIGHT))
798 (bd `((left . ,l) (right . ,r))))
Neil Puttock 2011/05/31 16:41:01 This overwrites any user overrides for left-broken
799 (ly:grob-set-property! grob 'bound-details bd)))
800
801 (define-public (glissando::internal-before-line-breaking grob dir)
802 (let* ((bound-details (ly:grob-property grob 'bound-details))
803 (dir-sym (if (eqv? dir LEFT) 'left 'right))
804 (other-sym (if (eqv? dir LEFT) 'right 'left))
805 (details (assoc-get dir-sym
806 bound-details))
807 (other (assoc-get other-sym
808 bound-details))
809 (extra-dy (assoc-get 'extra-dy details 0.0))
810 (bound (ly:spanner-bound grob dir))
811 (common-y (ly:grob-common-refpoint grob bound Y))
812 (y (+ (interval-center (ly:grob-extent bound common-y Y))
813 (/ (* dir extra-dy)
814 2))))
815 (cons (cons 'Y y) details)))
816 ····
817 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
793 ;; scripts 818 ;; scripts
794 819
795 (define-public (script-interface::calc-x-offset grob) 820 (define-public (script-interface::calc-x-offset grob)
796 (ly:grob-property grob 'positioning-done) 821 (ly:grob-property grob 'positioning-done)
797 (let* ((shift (ly:grob-property grob 'toward-stem-shift 0.0)) 822 (let* ((shift (ly:grob-property grob 'toward-stem-shift 0.0))
798 (note-head-location 823 (note-head-location
799 (ly:self-alignment-interface::centered-on-x-parent grob)) 824 (ly:self-alignment-interface::centered-on-x-parent grob))
800 (note-head-grob (ly:grob-parent grob X)) 825 (note-head-grob (ly:grob-parent grob X))
801 (stem-grob (ly:grob-object note-head-grob 'stem))) 826 (stem-grob (ly:grob-object note-head-grob 'stem)))
802 827
(...skipping 136 matching lines...) Expand 10 before | Expand all | Expand 10 after
939 (list))))) 964 (list)))))
940 965
941 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; 966 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
942 ;; laissez-vibrer tie 967 ;; laissez-vibrer tie
943 ;; 968 ;;
944 ;; needed so we can make laissez-vibrer a pure print 969 ;; needed so we can make laissez-vibrer a pure print
945 ;; 970 ;;
946 (define-public (laissez-vibrer::print grob) 971 (define-public (laissez-vibrer::print grob)
947 (ly:tie::print grob)) 972 (ly:tie::print grob))
948 973
OLDNEW
« no previous file with comments | « scm/define-grobs.scm ('k') | no next file » | no next file with comments »

Powered by Google App Engine
RSS Feeds Recent Issues | This issue
This is Rietveld f62528b