From 07dc00d6c83be5b05f5ec16f1ed36b1cf41b885c Mon Sep 17 00:00:00 2001 From: Han-Wen Nienhuys Date: Thu, 11 May 2000 16:31:37 +0200 Subject: [PATCH] release: 1.3.49 ========== * Small fixes for \cresc and \endcresc * Release properties of unbroken spanners & items after doing handle_broken_smobs (); should conserve a little memory. * Fixed handling of orphaned score-elements. Any element that does not have its Line_of_score as a ancestor in both directions, is silently removed from the output. This guarantees that programming errors don't result in coredumps from Dimension_cache::common_refpoint (): element->line_l () is always a common reference point. * Bugfix: set visibility-lambda of clef and octavation-8 explicitly for default case. Now the octavation 8 is not printed at every barline. 1.3.48. --- CHANGES | 35 +++-- Documentation/faq.texi | 21 +++ Documentation/topdocs/index.tely | 4 +- VERSION | 4 +- config.hh.in | 3 + configure | 2 +- flower/include/libc-extension.hh | 5 + flower/libc-extension.cc | 9 ++ input/bugs/cm.ly | 26 ---- input/test/clefs.ly | 4 +- lily/bezier.cc | 7 - lily/chord.cc | 4 + lily/clef-engraver.cc | 8 + lily/dynamic-engraver.cc | 5 + lily/line-of-score.cc | 27 +++- lily/score-element.cc | 45 ++++-- lily/spacing-spanner.cc | 6 +- ly/deutsch.ly | 2 +- ly/engraver.ly | 2 +- ly/params.ly | 2 +- ly/performer.ly | 6 + ly/spanners.ly | 18 ++- make/out/lilypond.lsm | 8 +- make/out/lilypond.spec | 4 +- scm/generic-property.scm.orig | 255 ------------------------------- scm/lily.scm | 2 +- 26 files changed, 172 insertions(+), 342 deletions(-) delete mode 100644 input/bugs/cm.ly delete mode 100644 scm/generic-property.scm.orig diff --git a/CHANGES b/CHANGES index be6d5a4aa1..e5b73786ac 100644 --- a/CHANGES +++ b/CHANGES @@ -1,15 +1,28 @@ ---- ../lilypond-1.3.48/CHANGES Mon May 8 10:48:49 2000 -++ b/CHANGES Wed May 10 21:46:32 2000 -@@ -1,3 +1,9 @@ +1.3.48.uu1 +========== + +* Small fixes for \cresc and \endcresc + +* Release properties of unbroken spanners & items after doing +handle_broken_smobs (); should conserve a little memory. + +* Fixed handling of orphaned score-elements. Any element that does +not have its Line_of_score as a ancestor in both directions, is silently +removed from the output. This guarantees that programming errors +don't result in coredumps from Dimension_cache::common_refpoint (): +element->line_l () is always a common reference point. + +* Bugfix: set visibility-lambda of clef and octavation-8 explicitly +for default case. Now the octavation 8 is not printed at every +barline. + 1.3.48.mb1 =========== * Changed noteHeadStyle properties to symbols, for example \property Voice.noteHeadStyle = #'cross - 1.3.47.mb2 - =========== - 1.3.47.jcn3 +1.3.47.jcn3 =========== * Rewrite of chord-name production in scheme. There are two major styles @@ -31,9 +44,8 @@ * Added `Mark' interface to text-items that are marks (thanks, HW). -1.3.46.jcn2 -=========== - +1.3.48 +====== 1.3.47.mb2 =========== @@ -46,9 +58,6 @@ "harmonic" and added "baroque" (normal note shapes except for brevis and longa which are square). -1.3.47.mb1 -=========== - * Simplified ly2dvi using the power of the geometry package. * Improved heuristic size calculation of TeX macros. Handles e.g. @@ -59,6 +68,8 @@ * Bugfix: don't hang on zero-duration. +* Various glossary updates (thanks, Christian) + 1.3.47 ====== diff --git a/Documentation/faq.texi b/Documentation/faq.texi index 03b04ab6e9..5934078e7f 100644 --- a/Documentation/faq.texi +++ b/Documentation/faq.texi @@ -308,6 +308,27 @@ tagline="Typeset by GNU LilyPond" @end example +@subsubsection Can I make blank manuscript paper with LilyPond? + +Theoretically, yes but it is easier to do with TeX: + +@example +\def\foo{\hbox{\vrule width 15.0cm height 0.5pt depth 0.0pt} +\nointerlineskip +\vskip 5pt\nointerlineskip} +\def\musicline{\vbox { + \foo\foo\foo\foo\foo +}\par} + +\musicline +\musicline +\musicline +\musicline +\bye + +@end example + + @node Development, Running, How do I -, FAQ - GNU LilyPond FAQs @section Development diff --git a/Documentation/topdocs/index.tely b/Documentation/topdocs/index.tely index a989d8ad21..d8b387b2af 100644 --- a/Documentation/topdocs/index.tely +++ b/Documentation/topdocs/index.tely @@ -101,8 +101,8 @@ by Scarlatti}. Jeff Covey, guitar player and overall nice guy, is putting @uref{http://www4.smart.net/~jcovey/scores/,guitar music} on the net. The @uref{http://sca.uwaterloo.ca/Mutopia/,Mutopia project} is a large archive of public domain sheet music under construction. Dirk -Latterman also put some works on the web +Latterman also put some works +@uref{http://www.alqualonde.de/lilypond.html,on the web}. @html diff --git a/VERSION b/VERSION index 991b5d3fa3..028fbbdc14 100644 --- a/VERSION +++ b/VERSION @@ -1,8 +1,8 @@ PACKAGE_NAME=LilyPond MAJOR_VERSION=1 MINOR_VERSION=3 -PATCH_LEVEL=48 -MY_PATCH_LEVEL=mb1 +PATCH_LEVEL=49 +MY_PATCH_LEVEL= # use the above to send patches: MY_PATCH_LEVEL is always empty for a # released version. diff --git a/config.hh.in b/config.hh.in index 833c0eec00..65772eaae9 100644 --- a/config.hh.in +++ b/config.hh.in @@ -24,6 +24,9 @@ /* define if you have isinf */ #define HAVE_ISINF 0 +/* define if you have isinf */ +#define HAVE_ISINF 0 + /* define if explicit instantiation is needed */ #undef NEED_EXPLICIT_INSTANTIATION diff --git a/configure b/configure index a2f17f4bb3..cf3ea5b4d9 100755 --- a/configure +++ b/configure @@ -2903,7 +2903,7 @@ fi fi -for ac_func in memmem snprintf vsnprintf gettext +for ac_func in memmem snprintf vsnprintf gettext isinf do echo $ac_n "checking for $ac_func""... $ac_c" 1>&6 echo "configure:2910: checking for $ac_func" >&5 diff --git a/flower/include/libc-extension.hh b/flower/include/libc-extension.hh index 06485629e7..5d63e995d5 100644 --- a/flower/include/libc-extension.hh +++ b/flower/include/libc-extension.hh @@ -32,6 +32,11 @@ int vsnprintf (char *str, size_t, char const *format, va_list args); #endif +#if !HAVE_ISINF // BSD extension +int isinf (double x); + +#endif + Byte *memrchr (Byte const * p, int n, char c); Byte *strrev (Byte* byte_l, int length_i); diff --git a/flower/libc-extension.cc b/flower/libc-extension.cc index a06704b182..3986cc8ad0 100644 --- a/flower/libc-extension.cc +++ b/flower/libc-extension.cc @@ -141,3 +141,12 @@ vsnprintf (char *str, size_t, char const *format, va_list args) } #endif + +#if !HAVE_ISINF +int +isinf (double x) +{ + return x && ( x == x/ 2) ; +} + +#endif diff --git a/input/bugs/cm.ly b/input/bugs/cm.ly deleted file mode 100644 index 02e832028f..0000000000 --- a/input/bugs/cm.ly +++ /dev/null @@ -1,26 +0,0 @@ -flauti = \notes \relative c' { - c1 - \break c -} - - -timpani = \notes \relative c' { - c1 c -} - - - -\score { - < - \context StaffGroup ="legni" < - \context Staff ="flauti" \flauti - > - \context StaffGroup ="timpani" < - \notes { - c1 - } - > - > - -} - diff --git a/input/test/clefs.ly b/input/test/clefs.ly index 227b8a931a..364547fed3 100644 --- a/input/test/clefs.ly +++ b/input/test/clefs.ly @@ -11,8 +11,8 @@ \clef "tenor";c'1^"{tenor}" \bar "||"; \clef "baritone";c'1^"{baritone}" \bar "||"; \clef "varbaritone";c'1^"{varbaritone}" \bar "||"; - \clef "G_8";c'1^"{sub 8?}" \bar "||"; - \clef "G^8";c'1^"{sup 8?}" \bar "||"; + \clef "G_8";c'1^"{sub 8?}" c'1 \bar "||"; + \clef "G^8";c'1^"{sup 8?}" c'1 \bar "||"; \clef "bass";c'1^"{bass}" \bar "||"; \clef "subbass";c'1^"{subbass}" \bar "||"; \property Staff.clefStyle="transparent" diff --git a/lily/bezier.cc b/lily/bezier.cc index 6f2c011692..0ced85b840 100644 --- a/lily/bezier.cc +++ b/lily/bezier.cc @@ -9,13 +9,6 @@ #include #include "config.h" -/* - IS_INF tests its floating point number for infiniteness - Ripped from guile's number.c. Solaris has no isinf (). - */ -#if ! HAVE_ISINF - #define isinf(x) ((x) == (x) / 2) -#endif #include "bezier.hh" #include "polynomial.hh" diff --git a/lily/chord.cc b/lily/chord.cc index 8a524f0110..cd4e3e0d87 100644 --- a/lily/chord.cc +++ b/lily/chord.cc @@ -231,6 +231,10 @@ Chord::Chord (Chord const& chord) } +/* + JUNKME. + do something smarter. + */ Array Chord::base_arr (Musical_pitch p) { diff --git a/lily/clef-engraver.cc b/lily/clef-engraver.cc index 8df115231c..de2cb687c7 100644 --- a/lily/clef-engraver.cc +++ b/lily/clef-engraver.cc @@ -224,6 +224,14 @@ Clef_engraver::do_pre_move_processing() if (octavate_p_) octavate_p_->set_elt_property("visibility-lambda", all); } + else + { + SCM beg = scm_eval (ly_symbol2scm ("begin-of-line-visible")); + + clef_p_->set_elt_property ("visibility-lambda", beg); + if (octavate_p_) + octavate_p_->set_elt_property ("visibility-lambda", beg); + } typeset_element (clef_p_); clef_p_ =0; diff --git a/lily/dynamic-engraver.cc b/lily/dynamic-engraver.cc index 7ca99417dd..019ef105db 100644 --- a/lily/dynamic-engraver.cc +++ b/lily/dynamic-engraver.cc @@ -322,6 +322,11 @@ Dynamic_engraver::do_process_music () } s = get_property (span_req_l_drul_[START]->span_type_str_ + "Spanner"); + + + /* + TODO: Use symbols. + */ if (gh_string_p (s)) //&& ly_scm2string (s) != "hairpin") { cresc_p_->set_elt_property ("spanner", s); diff --git a/lily/line-of-score.cc b/lily/line-of-score.cc index b87c716dd0..18596d017d 100644 --- a/lily/line-of-score.cc +++ b/lily/line-of-score.cc @@ -27,6 +27,9 @@ Line_of_score::Line_of_score() Axis_group_interface (this).set_axes (Y_AXIS,X_AXIS); } +/* + Ugh. this is grossly hairy. + */ void Line_of_score::typeset_element (Score_element * elem_p) @@ -45,6 +48,29 @@ Line_of_score::output_lines () unsmob_element (gh_car (s))->do_break_processing (); } + /* + fixups must be done in broken line_of_scores, because new elements are put over there. + */ + for (int i=0; i < broken_into_l_arr_.size (); i++) + { + Score_element *se = broken_into_l_arr_[i]; + + for (SCM s = se->get_elt_property ("all-elements"); + gh_pair_p (s); s = gh_cdr (s)) + { + unsmob_element (gh_car (s))->fixup_refpoint (); + } + } + + /* + needed for doing items. + */ + for (SCM s = get_elt_property ("all-elements"); + gh_pair_p (s); s = gh_cdr (s)) + { + unsmob_element (gh_car (s))->fixup_refpoint (); + } + for (SCM s = get_elt_property ("all-elements"); gh_pair_p (s); s = gh_cdr (s)) { @@ -203,7 +229,6 @@ Line_of_score::pre_processing () void Line_of_score::post_processing () { - fixup_refpoints (get_elt_property ("all-elements")); for (SCM s = get_elt_property ("all-elements"); gh_pair_p (s); s = gh_cdr (s)) { diff --git a/lily/score-element.cc b/lily/score-element.cc index adede15101..c8307754ce 100644 --- a/lily/score-element.cc +++ b/lily/score-element.cc @@ -247,7 +247,7 @@ Score_element::calculate_dependencies (int final, int busy, status_i_= busy; - for (SCM d= get_elt_property ("dependencies"); d != SCM_EOL; d = gh_cdr (d)) + for (SCM d= get_elt_property ("dependencies"); gh_pair_p (d); d = gh_cdr (d)) { unsmob_element (gh_car (d)) ->calculate_dependencies (final, busy, funcptr); @@ -377,17 +377,22 @@ Score_element::handle_broken_smobs (SCM src, SCM criterion) } else { - Score_element * ln = unsmob_element ( criterion); - Line_of_score * line = dynamic_cast (ln); - Score_element * br =0; - Line_of_score * dep_line = sc->line_l (); + + Line_of_score * line = dynamic_cast (unsmob_element ( criterion)); + Line_of_score * dep_line = sc->line_l (); if (dep_line != line) { - br = sc->find_broken_piece (line); + Score_element * br = sc->find_broken_piece (line); return (br) ? br->self_scm_ : SCM_UNDEFINED; } if (!dep_line) return SCM_UNDEFINED; + + if (!sc->common_refpoint (line, X_AXIS) + || !sc->common_refpoint (line, Y_AXIS)) + { + return SCM_UNDEFINED; + } } } else if (gh_pair_p (src)) @@ -438,10 +443,28 @@ Score_element::handle_broken_dependencies() } } + Line_of_score *line = line_l(); - element_property_alist_ - = handle_broken_smobs (element_property_alist_, - line ? line->self_scm_ : SCM_UNDEFINED); + + if (line && common_refpoint (line, X_AXIS) && common_refpoint (line, Y_AXIS)) + { + element_property_alist_ + = handle_broken_smobs (element_property_alist_, + line ? line->self_scm_ : SCM_UNDEFINED); + } + else + { + /* + This element is `invalid'; it has been removed from all dependencies, so + let's junk the element itself. + + */ + element_property_alist_ = SCM_EOL; + set_extent_callback (0, Y_AXIS); + set_extent_callback (0, X_AXIS); + } + + } @@ -609,10 +632,6 @@ Score_element::fixup_refpoint () { Score_element * newparent = parent->find_broken_piece (line_l ()); set_parent (newparent, ax); - if (!newparent) - { - programming_error ("Orphaned score-element."); - } } if (Item * i = dynamic_cast (this)) diff --git a/lily/spacing-spanner.cc b/lily/spacing-spanner.cc index 712ff4dd4d..4379429a68 100644 --- a/lily/spacing-spanner.cc +++ b/lily/spacing-spanner.cc @@ -258,13 +258,13 @@ Spacing_spanner::note_spacing (Paper_column *lc, Paper_column *rc, Moment shorte This should be more advanced, since relative heights of the note heads also influence required correction. - Also might not work correctly ico. multi voices or staff changing voices + Also might not work correctly in case of multi voices or staff + changing voices TODO: lookup correction distances? More advanced correction? Possibly turn this off? - This routine reads the DIR_LIST property of both its L and R arguments. -*/ + This routine reads the DIR-LIST property of both its L and R arguments. */ Real Spacing_spanner::stem_dir_correction (Paper_column*l, Paper_column*r) const { diff --git a/ly/deutsch.ly b/ly/deutsch.ly index f39aa16a33..04effbdb3d 100644 --- a/ly/deutsch.ly +++ b/ly/deutsch.ly @@ -47,6 +47,6 @@ ) -} + \version "1.3.42"; diff --git a/ly/engraver.ly b/ly/engraver.ly index d51ddb210e..68e35d82bc 100644 --- a/ly/engraver.ly +++ b/ly/engraver.ly @@ -103,7 +103,7 @@ RhythmicStaffContext=\translator{ Generic_property_list = #generic-staff-properties - barSize = #'staff-height + barSize = 4.0 * \interline ; \consists "Pitch_squash_engraver"; \consists "Separating_line_group_engraver"; \name RhythmicStaff; diff --git a/ly/params.ly b/ly/params.ly index e0382e13e8..6b0629c7ce 100644 --- a/ly/params.ly +++ b/ly/params.ly @@ -73,7 +73,7 @@ arithmetic_basicspace = 2.0; #'Stem_tremolo::beam-width = 1.5 * \quartwidth ; #'Left_edge_item::visibility-lambda = #begin-of-line-visible -#'Clef_item::visibility-lambda = #begin-of-line-visible + #'Key_item::visibility-lambda = #begin-of-line-visible #'Breathing_sign::visibility-lambda = #begin-of-line-invisible diff --git a/ly/performer.ly b/ly/performer.ly index 3337c51cc8..90eddae484 100644 --- a/ly/performer.ly +++ b/ly/performer.ly @@ -17,6 +17,10 @@ StaffContext = \translator { dynamicStyle = #"dynamic" }; \translator { \StaffContext } +\translator { \StaffContext + \name RhythmicStaff; +} + VoiceContext = \translator { \type "Performer_group_performer"; @@ -57,6 +61,7 @@ GraceContext = \translator { GrandStaffContext = \translator { \type "Performer_group_performer"; \name GrandStaff; + \accepts RhythmicStaff; \accepts Staff; }; \translator { \GrandStaffContext } @@ -117,6 +122,7 @@ ScoreContext = \translator { \accepts Lyrics; \accepts StaffGroup; \accepts ChoirStaff; + \accepts RhythmicStaff; \accepts ChordNames; \consists "Swallow_performer"; }; diff --git a/ly/spanners.ly b/ly/spanners.ly index 8af8a2e57d..331f11c75f 100644 --- a/ly/spanners.ly +++ b/ly/spanners.ly @@ -6,23 +6,25 @@ decr = \spanrequest \start "decrescendo" rc = \spanrequest \stop "crescendo" rced = \spanrequest \stop "decrescendo" -%% urg, these don't work yet. -%% must set manually -xcresc = { -%\spanrequest \start "crescendo" -\property Voice.crescendoText = "cresc." -\property Voice.crescendoSpanner = "dashed" +cresc = \notes { + \commandspanrequest \start "crescendo" ; + \property Voice.crescendoText = "cresc." + \property Voice.crescendoSpanner = "dashed-line" } -xendcresc = { -%\spanrequest \start "crescendo" +endcresc = \notes { +\commandspanrequest \stop "crescendo"; \property Voice.crescendoText = ##f \property Voice.crescendoSpanner = ##f } +%{ + cresc = \spanrequest \start "crescendo" endcresc = \spanrequest \stop "crescendo" +%} + % better name sustainstart/stop? sustaindown = \spanrequest \start "Sustain" sustainup = \spanrequest \stop "Sustain" diff --git a/make/out/lilypond.lsm b/make/out/lilypond.lsm index 4fbde8dde5..eb1af95717 100644 --- a/make/out/lilypond.lsm +++ b/make/out/lilypond.lsm @@ -1,15 +1,15 @@ Begin3 Title: LilyPond -Version: 1.3.48 -Entered-date: 08MAY00 +Version: 1.3.49 +Entered-date: 11MAY00 Description: Keywords: music notation typesetting midi fonts engraving Author: hanwen@cs.uu.nl (Han-Wen Nienhuys) janneke@gnu.org (Jan Nieuwenhuizen) Maintained-by: hanwen@stack.nl (Han-Wen Nienhuys) Primary-site: sunsite.unc.edu /pub/Linux/apps/sound/convert - 1000k lilypond-1.3.48.tar.gz + 1000k lilypond-1.3.49.tar.gz Original-site: ftp.cs.uu.nl /pub/GNU/LilyPond/development/ - 1000k lilypond-1.3.48.tar.gz + 1000k lilypond-1.3.49.tar.gz Copying-policy: GPL End diff --git a/make/out/lilypond.spec b/make/out/lilypond.spec index 0d1645f4f4..ec14eb22b0 100644 --- a/make/out/lilypond.spec +++ b/make/out/lilypond.spec @@ -1,9 +1,9 @@ Name: lilypond -Version: 1.3.48 +Version: 1.3.49 Release: 1 Copyright: GPL Group: Applications/Publishing -Source0: ftp.cs.uu.nl:/pub/GNU/LilyPond/development/lilypond-1.3.48.tar.gz +Source0: ftp.cs.uu.nl:/pub/GNU/LilyPond/development/lilypond-1.3.49.tar.gz Summary: A program for printing sheet music. URL: http://www.cs.uu.nl/~hanwen/lilypond # Icon: lilypond-icon.gif diff --git a/scm/generic-property.scm.orig b/scm/generic-property.scm.orig deleted file mode 100644 index 1506982fb6..0000000000 --- a/scm/generic-property.scm.orig +++ /dev/null @@ -1,255 +0,0 @@ - -; -; Format: -; (cons "Type name" -; (list PROPERTYDESCRIPTIONS)) -; -; where -; PROPERTYDESCRIPTION -; is -; -; (list 'translatorPropertySymbol type-predicate backend-property-symbol) -; -; Descriptions earlier in the list take precedence over later descriptions. -; - - -(define generic-beam-properties - (cons "Beam" - (list - (list 'beamSlopeDamping number? 'damping) - (list 'autoKneeGap number? 'auto-knee-gap) - (list 'autoInterstaffKneeGap number? 'auto-interstaff-knee-gap) - (list 'beamDirAlgorithm symbol? 'beam-dir-algorithm) - (list 'beamHeight number? 'height-hs) - (list 'beamVerticalPosition number? 'y-position-hs) - ) - ) - ) - - -(define generic-stem-properties - (cons "Stem" - (list - (list 'stemVerticalDirection dir? 'direction) - (list 'verticalDirection dir? 'direction) - (list 'stemLength number? 'length) - (list 'flagStyle string? 'flag-style) - (list 'stemCentered boolean? 'stem-centered) - (list 'noStemExtend boolean? 'no-stem-extend) - (list 'stemShorten number? 'shorten) - )) - ) - -(define generic-dot-properties - (cons "Dots" (list - (list 'dotDirection dir? 'direction) - (list 'verticalDirection dir? 'direction) - ) - )) - -(define generic-script-properties - (cons "Script" (list - (list 'articulationScriptVerticalDirection dir? 'direction) - (list 'articulationScriptPadding number? 'padding) - - )) - ) - - - -(define generic-text-properties - (cons "Text_item" (list - (list 'textStyle string? 'style) - (list 'textScriptPadding number? 'padding) - (list 'textVerticalAlignment dir? 'self-alignment-Y) - (list 'textHorizontalAlignment dir? 'self-alignment-X) - (list 'textScriptWordSpace number? 'word-space) - ) - )) - -(define generic-sustain-pedal-properties - (cons "Sustain_pedal" (list - (list 'textScriptPadding number? 'padding) - (list 'sustainPedalPadding number? 'padding)))) - -(define generic-chord-name-properties - (cons "Chord_name" (list - (list 'textScriptWordSpace number? 'word-space) - (list 'chordNameWordSpace number? 'word-space) - (list 'chordNameStyle string? 'style)))) - -(define generic-crescendo-properties - (cons "Crescendo" (list - (list 'dynamicDirection dir? 'direction) - (list 'verticalDirection dir? 'direction) - (list 'dynamicPadding number? 'padding) - (list 'dynamicMinimumSpace number? 'minimum-space) - ))) - -(define generic-dynamic-line-spanner-properties - (cons "Dynamic_line_spanner" (list - (list 'dynamicDirection dir? 'direction) - (list 'verticalDirection dir? 'direction) - (list 'dynamicPadding number? 'padding) - (list 'dynamicMinimumSpace number? 'minimum-space) - ))) - -(define generic-volta-spanner-properties - (cons "Volta_spanner" (list - (list 'voltaVerticalDirection dir? 'direction) - (list 'voltaPadding number? 'padding) - (list 'voltaMinimumSpace number? 'minimum-space) - ))) - -(define generic-bar-properties - (cons "Staff_bar" (list - (list 'barSize number? 'bar-size)) - ) - ) - -; don't do this yet. Depends on whennn the staff is really announced -(define generic-staff-symbol-properties - (cons "Staff_symbol" (list - ) - ) - ) - -(define generic-breathing-sign-properties - (cons "Breathing_sign" - (list - (list 'breathingSignVerticalDirection dir? 'direction) - (list 'verticalDirection dir? 'direction) - ))) - -(define generic-clef-properties - (cons "Clef_item" - (list - (list 'clefStyle string? 'style)) - ) - ) - -(define generic-All-properties - (cons "all" (list (list 'fontSize number? 'fontsize)))) - -(define generic-rest-properties - (cons "Rest" (list (list 'restStyle string? 'reststyle)))) - -(define generic-rest-collision-properties - (cons "Rest_collision" (list (list 'maximumRestCount number? 'maximum-rest-count)))) - -(define generic-tie-properties - (cons "Tie" (list - (list 'tieVerticalDirection dir? 'direction) - (list 'verticalDirection dir? 'direction) -(list 'tieDash number? 'dashed) - ))) - -(define generic-tie-column-properties - (cons "Tie_column" (list - (list 'tieVerticalDirection dir? 'direction) - (list 'verticalDirection dir? 'direction) - ))) - -(define generic-note-column-properties - (cons "Note_column" - (list - (list 'horizontalNoteShift number? 'horizontal-shift) - (list 'forceHorizontalShift number? 'force-hshift) - ))) - -(define generic-collision-properties - (cons "Collision" - (list - (list 'collisionMergeDotted boolean? 'merge-differently-dotted) - ) - ) - ) - -(define generic-slur-properties - (cons "Slur" - (list - (list 'slurVerticalDirection dir? 'direction) - (list 'verticalDirection dir? 'direction) - (list 'slurDash number? 'dashed)))) - -(define generic-timesig-properties - (cons "Time_signature" - (list - (list 'timeSignatureStyle string? 'style)))) - -(define (symbol-or-boolean? s) - (or (boolean? s) (symbol? s))) - -(define generic-tuplet-spanner-properties - (cons "Tuplet_spanner" - (list - (list 'tupletNumberVisibility symbol-or-boolean? 'tuplet-number-visibility) - (list 'tupletBracketVisibility symbol-or-boolean? 'tuplet-bracket-visibility) - )) -) - - - - - -;;;;;;;;;; -;; don't forget to add these to the Generic_property_list property in -;; engraver.ly - -(define generic-voice-properties - (list - generic-stem-properties - generic-breathing-sign-properties - generic-crescendo-properties - generic-dynamic-line-spanner-properties - generic-tie-properties - generic-tie-column-properties - generic-tuplet-spanner-properties - generic-rest-properties - generic-slur-properties - generic-beam-properties - generic-text-properties - generic-sustain-pedal-properties - generic-note-column-properties - generic-script-properties - generic-All-properties - )) - -(define generic-grace-properties generic-voice-properties) -(define generic-staff-properties - (list - generic-text-properties - generic-bar-properties - generic-timesig-properties - generic-clef-properties - generic-collision-properties - generic-sustain-pedal-properties - generic-rest-collision-properties - generic-volta-spanner-properties -; generic-staff-symbol-properties - generic-All-properties - ) - ) -(define generic-grand-staff-properties - (list - generic-text-properties - generic-bar-properties - )) - -(define generic-thread-properties - (list generic-All-properties - generic-dot-properties - ) - - ) - -(define generic-lyrics-properties - (list generic-text-properties - ) -) - -(define generic-chord-staff-properties - (list generic-chord-name-properties - ) -) diff --git a/scm/lily.scm b/scm/lily.scm index e7da9d43a9..d2e5b83c01 100644 --- a/scm/lily.scm +++ b/scm/lily.scm @@ -108,7 +108,7 @@ ((Instrument_name Left_edge_item) . (extra-space 1.0)) ((Left_edge_item Clef_item) . (extra-space 1.0)) ((none Left_edge_item) . (extra-space 0.0)) - ((Left_edge_item Staff_bar) . (extra-space 0.0)) + ((Left_edge_item Staff_bar) . (extra-space 0.0)) ; ((none Left_edge_item) . (extra-space -15.0)) ; ((none Left_edge_item) . (extra-space -15.0)) ((none Clef_item) . (minimum-space 1.0)) -- 2.39.5