From: Han-Wen Nienhuys Date: Mon, 21 Jun 1999 09:40:38 +0000 (+0200) Subject: release: 1.1.49 X-Git-Tag: release/1.1.49 X-Git-Url: https://git.donarmstrong.com/?a=commitdiff_plain;h=a1d72ee4c631e40978415d31666337beaebceabc;p=lilypond.git release: 1.1.49 --- diff --git a/Documentation/mail.yo b/Documentation/mail.yo index 69e3dd12de..c3d4e894a9 100644 --- a/Documentation/mail.yo +++ b/Documentation/mail.yo @@ -35,7 +35,7 @@ dit(gnu-music-discuss@gnu.org,) mail with subject "subscribe" to email(gnu-music-discuss-request@gnu.org) This list is archived at - lurl(http://www.jab.org/mail/gnu-music-discuss@gnu.org) + lurl(http://www.mail-archive.org/gnu-music-discuss@gnu.org) ) Announces of new versions will be sent to info-gnu-music and diff --git a/Documentation/tex/lilypond-overview-0.2.7.tex b/Documentation/tex/lilypond-overview-0.2.7.tex new file mode 100644 index 0000000000..6ba1a581a3 --- /dev/null +++ b/Documentation/tex/lilypond-overview-0.2.7.tex @@ -0,0 +1,225 @@ +%created by: GNU LilyPond 1.1.48.uu1, at Fri Jun 18 14:13:33 1999 +% +% outputting Score, defined at: +% out-www/lilypond-overview-0.2.7.ly:3:7 +\def\mudelatagline{Lily was here, 1.1.48.uu1}% +\def\LilyPondVersion{1.1.48.uu1}% +\def\mudelapaperbeam_steep_slope{0.200000}% +\def\mudelapaperstem_max{3.000000}% +\def\mudelapaperfont_number-1{8.000000}% +\def\mudelapapermmrest_x_minimum{32.000000}% +\def\mudelapaperhsize{597.507874}% +\def\mudelapaperforced_stem_shorten2{2.000000}% +\def\mudelapaperslur_clip_ratio{1.200000}% +\def\mudelapaperminimum_stem_length3{4.000000}% +\def\mudelapaperlinewidth{-28.452756}% +\def\mudelapaperminimum_stem_length0{0.000000}% +\def\mudelapaperfont_normal{8.000000}% +\def\mudelapapernotewidth{6.600000}% +\def\mudelapaperrestcollision_minimum_dist{3.000000}% +\def\mudelapaperbeam_lengthened{0.800000}% +\def\mudelapaperfont_number{8.000000}% +\def\mudelapaperDOWN{-1.000000}% +\def\mudelapaperslur_clip_angle{100.000000}% +\def\mudelapaperwholewidth{7.920000}% +\def\mudelapaperbarthick_thick{2.400000}% +\def\mudelapapercastingalgorithm{1.000000}% +\def\mudelapaperslur_slope_follow_music_factor{0.800000}% +\def\mudelapaperpostBreakPadding{4.000000}% +\def\mudelapaperscmsetting{(display "\\input lilyponddefs \\musixsixteendefs");% + }% +\def\mudelapaperstemthickness{0.320000}% +\def\mudelapaperinterline{4.000000}% +\def\mudelapaperslur_height_limit{16.000000}% +\def\mudelapapertextheight{611.809858}% +\def\mudelapaperfont_large{12.000000}% +\def\mudelapaperfont_finger{4.000000}% +\def\mudelapaperrulethickness{0.400000}% +\def\mudelapaperstem_length1{10.000000}% +\def\mudelapaperslur_x_minimum{12.000000}% +\def\mudelapaperlinewidth20{557.507874}% +\def\mudelapaperfont_number+1{12.000000}% +\def\mudelapaperMEAN{3.000000}% +\def\mudelapaperpaperfile{a4.ly}% +\def\mudelapapertexsetting{\input lilyponddefs \musixsixteendefs }% +\def\mudelapaperforced_stem_shorten1{2.000000}% +\def\mudelapaperinterbeam4{3.376000}% +\def\mudelapaperminimum_stem_length2{5.000000}% +\def\mudelapapergourlay_maxmeasures{10.000000}% +\def\mudelapaperbeam_dir_algorithm{2.000000}% +\def\mudelapapervsize{844.762323}% +\def\mudelapaperstaffheight{16.000000}% +\def\mudelapapertuplet_thick{0.400000}% +\def\mudelapaperbarthick_score{0.640000}% +\def\mudelapaperbar_thinkern{1.200000}% +\def\mudelapapertie_x_gap{0.800000}% +\def\mudelapapervolta_thick{0.640000}% +\def\mudelapaperrestcollision_minimum_beamdist{1.500000}% +\def\mudelapapertextheight20{764.762323}% +\def\mudelapaperUP{1.000000}% +\def\mudelapaperslur_rc_factor{2.400000}% +\def\mudelapaperarithmetic_basicspace{2.000000}% +\def\mudelapaperslur_thickness{0.560000}% +\def\mudelapaperinterbeam{3.264000}% +\def\mudelapaperindent{31.857593}% +\def\mudelapaperfont_mark{10.000000}% +\def\mudelapaperslur_ratio{0.250000}% +\def\mudelapaperstem_length3{6.000000}% +\def\mudelapaperslur_x_gap{0.800000}% +\def\mudelapaperstem_length0{14.000000}% +\def\mudelapaperfont_Large{10.000000}% +\def\mudelapaperextender_height{0.320000}% +\def\mudelapapercrescendo_shorten{16.000000}% +\def\mudelapaperfont_volta{5.000000}% +\def\mudelapaperforced_stem_shorten3{2.000000}% +\def\mudelapaperslur_clip_height{48.000000}% +\def\mudelapaperquartwidth{5.280000}% +\def\mudelapaperforced_stem_shorten0{2.000000}% +\def\mudelapaperminimum_stem_length1{6.000000}% +\def\mudelapaperslur_slope_damping{0.600000}% +\def\mudelapapermagnification_dynamic{2.000000}% +\def\mudelapaperMEDIAN{4.000000}% +\def\mudelapaperpssetting{(lilyponddefs.ps) findlibfile {exch pop //systemdict /run get exec}% + { /undefinedfilename signalerror }% + ifelse% + }% +\def\mudelapaperbarthick_thin{0.640000}% +\def\mudelapaperbar_kern{1.200000}% +\def\mudelapapertie_x_minimum{12.000000}% +\def\mudelapaperbeam_thickness{1.872000}% +\def\mudelapapertie_slope_damping{0.800000}% +\def\mudelapaperfont_dynamic{10.000000}% +\def\mudelapapergourlay_energybound{100000.000000}% +\def\mudelapaperMAJORITY{2.000000}% +\def\mudelapaperarithmetic_multiplier{4.800000}% +\def\mudelapaperstaffline{0.400000}% +\def\mudelapaperstem_length2{8.000000}% +\def\mudelapaperbarsize{16.000000}% +\input lilyponddefs \musixsixteendefs \turnOnExperimentalFeatures\turnOnPostScript\vbox to 32.0 pt {\hbox{% +\placebox{-24.0 pt }% + {31.8575928008999 pt }% + {\kern0.0 pt \vrule width 143.546637573243 pt depth 0.2 pt height 0.2 pt }% + \placebox{-20.0 pt }% + {31.8575928008999 pt }% + {\kern0.0 pt \vrule width 143.546637573243 pt depth 0.2 pt height 0.2 pt }% + \placebox{-16.0 pt }% + {31.8575928008999 pt }% + {\kern0.0 pt \vrule width 143.546637573243 pt depth 0.2 pt height 0.2 pt }% + \placebox{-12.0 pt }% + {31.8575928008999 pt }% + {\kern0.0 pt \vrule width 143.546637573243 pt depth 0.2 pt height 0.2 pt }% + \placebox{-8.0 pt }% + {31.8575928008999 pt }% + {\kern0.0 pt \vrule width 143.546637573243 pt depth 0.2 pt height 0.2 pt }% + \font\lilyfontA=feta16\lilyfontA\placebox{-20.0 pt }% + {35.8575928008999 pt }% + {\show{86}% + }% + \font\lilyfontB=feta-nummer8\lilyfontB\placebox{-16.0 pt }% + {50.3998138702358 pt }% + {\hbox{3}% + }% + \placebox{-24.0 pt }% + {49.8575928008999 pt }% + {\hbox{4}% + }% + \placebox{-16.0 pt }% + {127.564230374143 pt }% + {\kern0.0 pt \vrule width 0.64 pt depth 8.0 pt height 8.0 pt }% + \placebox{-16.0 pt }% + {174.764230374143 pt }% + {\kern0.0 pt \vrule width 0.64 pt depth 8.0 pt height 8.0 pt }% + \placebox{-27.264 pt }% + {79.5642303741425 pt }% + {\embeddedps{10.0000000000001 0.0 1.872 draw_beam }% + }% + \placebox{-24.0 pt }% + {79.5642303741425 pt }% + {\embeddedps{10.0000000000001 0.0 1.872 draw_beam }% + }% + \placebox{-27.264 pt }% + {69.9642303741424 pt }% + {\embeddedps{10.0000000000001 0.0 1.872 draw_beam }% + }% + \placebox{-24.0 pt }% + {69.9642303741424 pt }% + {\embeddedps{10.0000000000001 0.0 1.872 draw_beam }% + }% + \placebox{-27.264 pt }% + {60.3642303741423 pt }% + {\embeddedps{10.0000000000001 0.0 1.872 draw_beam }% + }% + \placebox{-24.0 pt }% + {60.3642303741423 pt }% + {\embeddedps{10.0000000000001 0.0 1.872 draw_beam }% + }% + \placebox{-16.0 pt }% + {60.5642303741423 pt }% + {\kern-0.16 pt \vrule width 0.32 pt depth 11.264 pt height 1.03836152344995 pt }% + \lilyfontA\placebox{-14.0 pt }% + {60.3642303741423 pt }% + {\show{30}% + }% + \placebox{-16.0 pt }% + {70.1642303741424 pt }% + {\kern-0.16 pt \vrule width 0.32 pt depth 11.264 pt height 1.03836152344995 pt }% + \placebox{-14.0 pt }% + {69.9642303741424 pt }% + {\show{30}% + }% + \placebox{-16.0 pt }% + {79.7642303741425 pt }% + {\kern-0.16 pt \vrule width 0.32 pt depth 11.264 pt height 1.03836152344995 pt }% + \placebox{-14.0 pt }% + {79.5642303741425 pt }% + {\show{30}% + }% + \placebox{-16.0 pt }% + {89.3642303741427 pt }% + {\kern-0.16 pt \vrule width 0.32 pt depth 11.264 pt height 1.03836152344995 pt }% + \placebox{-14.0 pt }% + {89.1642303741427 pt }% + {\show{30}% + }% + \placebox{-24.736 pt }% + {98.7642303741428 pt }% + {\embeddedps{14.8000000000002 0.0 1.872 draw_beam }% + }% + \placebox{-16.0 pt }% + {98.9642303741428 pt }% + {\kern-0.16 pt \vrule width 0.32 pt depth 8.736 pt height 1.03836152344995 pt }% + \placebox{-14.0 pt }% + {98.7642303741428 pt }% + {\show{30}% + }% + \placebox{-16.0 pt }% + {113.364230374143 pt }% + {\kern-0.16 pt \vrule width 0.32 pt depth 8.736 pt height 1.03836152344995 pt }% + \placebox{-14.0 pt }% + {113.164230374143 pt }% + {\show{30}% + }% + \placebox{-16.0 pt }% + {132.404230374143 pt }% + {\kern-0.16 pt \vrule width 0.32 pt depth 6.0 pt height 7.03836152344995 pt }% + \placebox{-8.0 pt }% + {132.204230374143 pt }% + {\show{30}% + }% + \placebox{-16.0 pt }% + {151.688390374143 pt }% + {\kern-0.16 pt \vrule width 0.32 pt depth 5.03836152344995 pt height 8.0 pt }% + \placebox{-22.0 pt }% + {146.604230374143 pt }% + {\show{30}% + }% + \placebox{-16.0 pt }% + {161.204230374143 pt }% + {\kern-0.16 pt \vrule width 0.32 pt depth 6.0 pt height 7.03836152344995 pt }% + \placebox{-8.0 pt }% + {161.004230374143 pt }% + {\show{30}% + }% + }% + \vss}% +\EndLilyPondOutput \ No newline at end of file diff --git a/Documentation/tex/lilypond-overview-0.2.8.tex b/Documentation/tex/lilypond-overview-0.2.8.tex new file mode 100644 index 0000000000..9aa2b0cbad --- /dev/null +++ b/Documentation/tex/lilypond-overview-0.2.8.tex @@ -0,0 +1,320 @@ +%created by: GNU LilyPond 1.1.48.uu1, at Fri Jun 18 14:13:29 1999 +% +% outputting Score, defined at: +% out-www/lilypond-overview-0.2.8.ly:3:7 +\def\mudelatagline{Lily was here, 1.1.48.uu1}% +\def\LilyPondVersion{1.1.48.uu1}% +\def\mudelapaperbeam_steep_slope{0.200000}% +\def\mudelapaperstem_max{3.000000}% +\def\mudelapaperfont_number-1{8.000000}% +\def\mudelapapermmrest_x_minimum{32.000000}% +\def\mudelapaperhsize{597.507874}% +\def\mudelapaperforced_stem_shorten2{2.000000}% +\def\mudelapaperslur_clip_ratio{1.200000}% +\def\mudelapaperminimum_stem_length3{4.000000}% +\def\mudelapaperlinewidth{-28.452756}% +\def\mudelapaperminimum_stem_length0{0.000000}% +\def\mudelapaperfont_normal{8.000000}% +\def\mudelapapernotewidth{6.600000}% +\def\mudelapaperrestcollision_minimum_dist{3.000000}% +\def\mudelapaperbeam_lengthened{0.800000}% +\def\mudelapaperfont_number{8.000000}% +\def\mudelapaperDOWN{-1.000000}% +\def\mudelapaperslur_clip_angle{100.000000}% +\def\mudelapaperwholewidth{7.920000}% +\def\mudelapaperbarthick_thick{2.400000}% +\def\mudelapapercastingalgorithm{1.000000}% +\def\mudelapaperslur_slope_follow_music_factor{0.800000}% +\def\mudelapaperpostBreakPadding{4.000000}% +\def\mudelapaperscmsetting{(display "\\input lilyponddefs \\musixsixteendefs");% + }% +\def\mudelapaperstemthickness{0.320000}% +\def\mudelapaperinterline{4.000000}% +\def\mudelapaperslur_height_limit{16.000000}% +\def\mudelapapertextheight{611.809858}% +\def\mudelapaperfont_large{12.000000}% +\def\mudelapaperfont_finger{4.000000}% +\def\mudelapaperrulethickness{0.400000}% +\def\mudelapaperstem_length1{10.000000}% +\def\mudelapaperslur_x_minimum{12.000000}% +\def\mudelapaperlinewidth20{557.507874}% +\def\mudelapaperfont_number+1{12.000000}% +\def\mudelapaperMEAN{3.000000}% +\def\mudelapaperpaperfile{a4.ly}% +\def\mudelapapertexsetting{\input lilyponddefs \musixsixteendefs }% +\def\mudelapaperforced_stem_shorten1{2.000000}% +\def\mudelapaperinterbeam4{3.376000}% +\def\mudelapaperminimum_stem_length2{5.000000}% +\def\mudelapapergourlay_maxmeasures{10.000000}% +\def\mudelapaperbeam_dir_algorithm{2.000000}% +\def\mudelapapervsize{844.762323}% +\def\mudelapaperstaffheight{16.000000}% +\def\mudelapapertuplet_thick{0.400000}% +\def\mudelapaperbarthick_score{0.640000}% +\def\mudelapaperbar_thinkern{1.200000}% +\def\mudelapapertie_x_gap{0.800000}% +\def\mudelapapervolta_thick{0.640000}% +\def\mudelapaperrestcollision_minimum_beamdist{1.500000}% +\def\mudelapapertextheight20{764.762323}% +\def\mudelapaperUP{1.000000}% +\def\mudelapaperslur_rc_factor{2.400000}% +\def\mudelapaperarithmetic_basicspace{2.000000}% +\def\mudelapaperslur_thickness{0.560000}% +\def\mudelapaperinterbeam{3.264000}% +\def\mudelapaperindent{31.857593}% +\def\mudelapaperfont_mark{10.000000}% +\def\mudelapaperslur_ratio{0.250000}% +\def\mudelapaperstem_length3{6.000000}% +\def\mudelapaperslur_x_gap{0.800000}% +\def\mudelapaperstem_length0{14.000000}% +\def\mudelapaperfont_Large{10.000000}% +\def\mudelapaperextender_height{0.320000}% +\def\mudelapapercrescendo_shorten{16.000000}% +\def\mudelapaperfont_volta{5.000000}% +\def\mudelapaperforced_stem_shorten3{2.000000}% +\def\mudelapaperslur_clip_height{48.000000}% +\def\mudelapaperquartwidth{5.280000}% +\def\mudelapaperforced_stem_shorten0{2.000000}% +\def\mudelapaperminimum_stem_length1{6.000000}% +\def\mudelapaperslur_slope_damping{0.600000}% +\def\mudelapapermagnification_dynamic{2.000000}% +\def\mudelapaperMEDIAN{4.000000}% +\def\mudelapaperpssetting{(lilyponddefs.ps) findlibfile {exch pop //systemdict /run get exec}% + { /undefinedfilename signalerror }% + ifelse% + }% +\def\mudelapaperbarthick_thin{0.640000}% +\def\mudelapaperbar_kern{1.200000}% +\def\mudelapapertie_x_minimum{12.000000}% +\def\mudelapaperbeam_thickness{1.872000}% +\def\mudelapapertie_slope_damping{0.800000}% +\def\mudelapaperfont_dynamic{10.000000}% +\def\mudelapapergourlay_energybound{100000.000000}% +\def\mudelapaperMAJORITY{2.000000}% +\def\mudelapaperarithmetic_multiplier{4.800000}% +\def\mudelapaperstaffline{0.400000}% +\def\mudelapaperstem_length2{8.000000}% +\def\mudelapaperbarsize{16.000000}% +\input lilyponddefs \musixsixteendefs \turnOnExperimentalFeatures\turnOnPostScript\vbox to 38.2 pt {\hbox{% +\font\lilyfontA=feta-nummer8\lilyfontA\placebox{-22.2 pt }% + {50.1287033355679 pt }% + {\hbox{2}% + }% + \placebox{-30.2 pt }% + {49.8575928008999 pt }% + {\hbox{4}% + }% + \placebox{-30.2 pt }% + {31.8575928008999 pt }% + {\kern0.0 pt \vrule width 173.026317573245 pt depth 0.2 pt height 0.2 pt }% + \placebox{-26.2 pt }% + {31.8575928008999 pt }% + {\kern0.0 pt \vrule width 173.026317573245 pt depth 0.2 pt height 0.2 pt }% + \placebox{-22.2 pt }% + {31.8575928008999 pt }% + {\kern0.0 pt \vrule width 173.026317573245 pt depth 0.2 pt height 0.2 pt }% + \placebox{-18.2 pt }% + {31.8575928008999 pt }% + {\kern0.0 pt \vrule width 173.026317573245 pt depth 0.2 pt height 0.2 pt }% + \placebox{-14.2 pt }% + {31.8575928008999 pt }% + {\kern0.0 pt \vrule width 173.026317573245 pt depth 0.2 pt height 0.2 pt }% + \font\lilyfontB=feta16\lilyfontB\placebox{-26.2 pt }% + {35.8575928008999 pt }% + {\show{86}% + }% + \placebox{-22.2 pt }% + {89.1642303741433 pt }% + {\kern0.0 pt \vrule width 0.64 pt depth 8.0 pt height 8.0 pt }% + \placebox{-22.2 pt }% + {122.604230374144 pt }% + {\kern0.0 pt \vrule width 0.64 pt depth 8.0 pt height 8.0 pt }% + \placebox{-22.2 pt }% + {204.243910374144 pt }% + {\kern0.0 pt \vrule width 0.64 pt depth 8.0 pt height 8.0 pt }% + \placebox{-22.2 pt }% + {60.5642303741424 pt }% + {\kern-0.16 pt \vrule width 0.32 pt depth 12.0 pt height 5.03836152344995 pt }% + \placebox{-20.2 pt }% + {60.3642303741424 pt }% + {\show{30}% + }% + \placebox{-16.2 pt }% + {60.3642303741424 pt }% + {\show{30}% + }% + \placebox{-22.2 pt }% + {74.9642303741429 pt }% + {\kern-0.16 pt \vrule width 0.32 pt depth 10.0 pt height 7.03836152344995 pt }% + \placebox{-18.2 pt }% + {74.7642303741429 pt }% + {\show{30}% + }% + \placebox{-14.2 pt }% + {74.7642303741429 pt }% + {\show{30}% + }% + \placebox{-22.2 pt }% + {94.0042303741434 pt }% + {\kern-0.16 pt \vrule width 0.32 pt depth 12.0 pt height 1.03836152344995 pt }% + \placebox{-20.2 pt }% + {93.8042303741434 pt }% + {\show{30}% + }% + \placebox{-22.2 pt }% + {98.8883903741434 pt }% + {\kern-0.16 pt \vrule width 0.32 pt depth -6.96163847655005 pt height 18.0 pt }% + \placebox{-16.2 pt }% + {93.8042303741434 pt }% + {\show{30}% + }% + \placebox{-22.2 pt }% + {108.404230374144 pt }% + {\kern-0.16 pt \vrule width 0.32 pt depth 10.0 pt height 3.03836152344995 pt }% + \placebox{-18.2 pt }% + {108.204230374144 pt }% + {\show{30}% + }% + \placebox{-22.2 pt }% + {113.288390374144 pt }% + {\kern-0.16 pt \vrule width 0.32 pt depth -8.96163847655005 pt height 20.0 pt }% + \placebox{-14.2 pt }% + {108.204230374144 pt }% + {\show{30}% + }% + \placebox{-34.2 pt }% + {146.864070374144 pt }% + {\embeddedps{10.0000000000001 0.0 1.872 draw_beam }% + }% + \placebox{-30.936 pt }% + {146.864070374144 pt }% + {\embeddedps{10.0000000000001 0.0 1.872 draw_beam }% + }% + \placebox{-34.2 pt }% + {137.264070374144 pt }% + {\embeddedps{10.0000000000001 0.0 1.872 draw_beam }% + }% + \placebox{-30.936 pt }% + {137.264070374144 pt }% + {\embeddedps{10.0000000000001 0.0 1.872 draw_beam }% + }% + \placebox{-34.2 pt }% + {127.244230374144 pt }% + {\embeddedps{10.41984 0.0 1.872 draw_beam }% + }% + \placebox{-30.936 pt }% + {127.244230374144 pt }% + {\embeddedps{10.41984 0.0 1.872 draw_beam }% + }% + \placebox{-22.2 pt }% + {127.444230374144 pt }% + {\kern-0.16 pt \vrule width 0.32 pt depth 12.0 pt height -0.961638476550048 pt }% + \placebox{-22.2 pt }% + {127.244230374144 pt }% + {\show{30}% + }% + \placebox{-0.199999999999999 pt }% + {132.328390374144 pt }% + {\show{74}% + }% + \placebox{-22.2 pt }% + {132.328390374144 pt }% + {\kern-0.16 pt \vrule width 0.32 pt depth -10.96163847655 pt height 22.0 pt }% + \placebox{-12.2 pt }% + {127.244230374144 pt }% + {\show{30}% + }% + \placebox{-22.2 pt }% + {137.464070374144 pt }% + {\kern-0.16 pt \vrule width 0.32 pt depth 12.0 pt height -0.961638476550048 pt }% + \placebox{-22.2 pt }% + {137.264070374144 pt }% + {\show{30}% + }% + \placebox{-22.2 pt }% + {147.064070374144 pt }% + {\kern-0.16 pt \vrule width 0.32 pt depth 12.0 pt height -0.961638476550048 pt }% + \placebox{-22.2 pt }% + {146.864070374144 pt }% + {\show{30}% + }% + \placebox{-22.2 pt }% + {151.948230374144 pt }% + {\kern-0.16 pt \vrule width 0.32 pt depth -10.96163847655 pt height 22.0 pt }% + \placebox{-12.2 pt }% + {146.864070374144 pt }% + {\show{30}% + }% + \placebox{-22.2 pt }% + {156.664070374144 pt }% + {\kern-0.16 pt \vrule width 0.32 pt depth 12.0 pt height -0.961638476550048 pt }% + \placebox{-22.2 pt }% + {156.464070374144 pt }% + {\show{30}% + }% + \placebox{-34.2 pt }% + {185.264070374144 pt }% + {\embeddedps{10.41984 0.0 1.872 draw_beam }% + }% + \placebox{-30.936 pt }% + {185.264070374144 pt }% + {\embeddedps{10.41984 0.0 1.872 draw_beam }% + }% + \placebox{-34.2 pt }% + {175.664070374144 pt }% + {\embeddedps{10.0 0.0 1.872 draw_beam }% + }% + \placebox{-30.936 pt }% + {175.664070374144 pt }% + {\embeddedps{10.0 0.0 1.872 draw_beam }% + }% + \placebox{-34.2 pt }% + {166.064070374144 pt }% + {\embeddedps{10.0 0.0 1.872 draw_beam }% + }% + \placebox{-30.936 pt }% + {166.064070374144 pt }% + {\embeddedps{10.0 0.0 1.872 draw_beam }% + }% + \placebox{-22.2 pt }% + {166.264070374144 pt }% + {\kern-0.16 pt \vrule width 0.32 pt depth 12.0 pt height -0.961638476550048 pt }% + \placebox{-22.2 pt }% + {166.064070374144 pt }% + {\show{30}% + }% + \placebox{-22.2 pt }% + {175.864070374144 pt }% + {\kern-0.16 pt \vrule width 0.32 pt depth 12.0 pt height -0.961638476550048 pt }% + \placebox{-22.2 pt }% + {175.664070374144 pt }% + {\show{30}% + }% + \placebox{-22.2 pt }% + {185.464070374144 pt }% + {\kern-0.16 pt \vrule width 0.32 pt depth 12.0 pt height -0.961638476550048 pt }% + \placebox{-22.2 pt }% + {185.264070374144 pt }% + {\show{30}% + }% + \placebox{-0.199999999999999 pt }% + {190.348230374144 pt }% + {\show{74}% + }% + \placebox{-22.2 pt }% + {190.348230374144 pt }% + {\kern-0.16 pt \vrule width 0.32 pt depth -10.96163847655 pt height 22.0 pt }% + \placebox{-12.2 pt }% + {185.264070374144 pt }% + {\show{30}% + }% + \placebox{-22.2 pt }% + {195.483910374144 pt }% + {\kern-0.16 pt \vrule width 0.32 pt depth 12.0 pt height -0.961638476550048 pt }% + \placebox{-22.2 pt }% + {195.283910374144 pt }% + {\show{30}% + }% + }% + \vss}% +\EndLilyPondOutput \ No newline at end of file diff --git a/Documentation/tex/lilypond-overview-0.2.9.tex b/Documentation/tex/lilypond-overview-0.2.9.tex new file mode 100644 index 0000000000..a8834b8c57 --- /dev/null +++ b/Documentation/tex/lilypond-overview-0.2.9.tex @@ -0,0 +1,225 @@ +%created by: GNU LilyPond 1.1.48.uu1, at Fri Jun 18 14:13:37 1999 +% +% outputting Score, defined at: +% out-www/lilypond-overview-0.2.9.ly:3:7 +\def\mudelatagline{Lily was here, 1.1.48.uu1}% +\def\LilyPondVersion{1.1.48.uu1}% +\def\mudelapaperbeam_steep_slope{0.200000}% +\def\mudelapaperstem_max{3.000000}% +\def\mudelapaperfont_number-1{8.000000}% +\def\mudelapapermmrest_x_minimum{32.000000}% +\def\mudelapaperhsize{597.507874}% +\def\mudelapaperforced_stem_shorten2{2.000000}% +\def\mudelapaperslur_clip_ratio{1.200000}% +\def\mudelapaperminimum_stem_length3{4.000000}% +\def\mudelapaperlinewidth{-28.452756}% +\def\mudelapaperminimum_stem_length0{0.000000}% +\def\mudelapaperfont_normal{8.000000}% +\def\mudelapapernotewidth{6.600000}% +\def\mudelapaperrestcollision_minimum_dist{3.000000}% +\def\mudelapaperbeam_lengthened{0.800000}% +\def\mudelapaperfont_number{8.000000}% +\def\mudelapaperDOWN{-1.000000}% +\def\mudelapaperslur_clip_angle{100.000000}% +\def\mudelapaperwholewidth{7.920000}% +\def\mudelapaperbarthick_thick{2.400000}% +\def\mudelapapercastingalgorithm{1.000000}% +\def\mudelapaperslur_slope_follow_music_factor{0.800000}% +\def\mudelapaperpostBreakPadding{4.000000}% +\def\mudelapaperscmsetting{(display "\\input lilyponddefs \\musixsixteendefs");% + }% +\def\mudelapaperstemthickness{0.320000}% +\def\mudelapaperinterline{4.000000}% +\def\mudelapaperslur_height_limit{16.000000}% +\def\mudelapapertextheight{611.809858}% +\def\mudelapaperfont_large{12.000000}% +\def\mudelapaperfont_finger{4.000000}% +\def\mudelapaperrulethickness{0.400000}% +\def\mudelapaperstem_length1{10.000000}% +\def\mudelapaperslur_x_minimum{12.000000}% +\def\mudelapaperlinewidth20{557.507874}% +\def\mudelapaperfont_number+1{12.000000}% +\def\mudelapaperMEAN{3.000000}% +\def\mudelapaperpaperfile{a4.ly}% +\def\mudelapapertexsetting{\input lilyponddefs \musixsixteendefs }% +\def\mudelapaperforced_stem_shorten1{2.000000}% +\def\mudelapaperinterbeam4{3.376000}% +\def\mudelapaperminimum_stem_length2{5.000000}% +\def\mudelapapergourlay_maxmeasures{10.000000}% +\def\mudelapaperbeam_dir_algorithm{2.000000}% +\def\mudelapapervsize{844.762323}% +\def\mudelapaperstaffheight{16.000000}% +\def\mudelapapertuplet_thick{0.400000}% +\def\mudelapaperbarthick_score{0.640000}% +\def\mudelapaperbar_thinkern{1.200000}% +\def\mudelapapertie_x_gap{0.800000}% +\def\mudelapapervolta_thick{0.640000}% +\def\mudelapaperrestcollision_minimum_beamdist{1.500000}% +\def\mudelapapertextheight20{764.762323}% +\def\mudelapaperUP{1.000000}% +\def\mudelapaperslur_rc_factor{2.400000}% +\def\mudelapaperarithmetic_basicspace{2.000000}% +\def\mudelapaperslur_thickness{0.560000}% +\def\mudelapaperinterbeam{3.264000}% +\def\mudelapaperindent{31.857593}% +\def\mudelapaperfont_mark{10.000000}% +\def\mudelapaperslur_ratio{0.250000}% +\def\mudelapaperstem_length3{6.000000}% +\def\mudelapaperslur_x_gap{0.800000}% +\def\mudelapaperstem_length0{14.000000}% +\def\mudelapaperfont_Large{10.000000}% +\def\mudelapaperextender_height{0.320000}% +\def\mudelapapercrescendo_shorten{16.000000}% +\def\mudelapaperfont_volta{5.000000}% +\def\mudelapaperforced_stem_shorten3{2.000000}% +\def\mudelapaperslur_clip_height{48.000000}% +\def\mudelapaperquartwidth{5.280000}% +\def\mudelapaperforced_stem_shorten0{2.000000}% +\def\mudelapaperminimum_stem_length1{6.000000}% +\def\mudelapaperslur_slope_damping{0.600000}% +\def\mudelapapermagnification_dynamic{2.000000}% +\def\mudelapaperMEDIAN{4.000000}% +\def\mudelapaperpssetting{(lilyponddefs.ps) findlibfile {exch pop //systemdict /run get exec}% + { /undefinedfilename signalerror }% + ifelse% + }% +\def\mudelapaperbarthick_thin{0.640000}% +\def\mudelapaperbar_kern{1.200000}% +\def\mudelapapertie_x_minimum{12.000000}% +\def\mudelapaperbeam_thickness{1.872000}% +\def\mudelapapertie_slope_damping{0.800000}% +\def\mudelapaperfont_dynamic{10.000000}% +\def\mudelapapergourlay_energybound{100000.000000}% +\def\mudelapaperMAJORITY{2.000000}% +\def\mudelapaperarithmetic_multiplier{4.800000}% +\def\mudelapaperstaffline{0.400000}% +\def\mudelapaperstem_length2{8.000000}% +\def\mudelapaperbarsize{16.000000}% +\input lilyponddefs \musixsixteendefs \turnOnExperimentalFeatures\turnOnPostScript\vbox to 32.0 pt {\hbox{% +\placebox{-24.0 pt }% + {31.8575928008999 pt }% + {\kern0.0 pt \vrule width 143.546637573243 pt depth 0.2 pt height 0.2 pt }% + \placebox{-20.0 pt }% + {31.8575928008999 pt }% + {\kern0.0 pt \vrule width 143.546637573243 pt depth 0.2 pt height 0.2 pt }% + \placebox{-16.0 pt }% + {31.8575928008999 pt }% + {\kern0.0 pt \vrule width 143.546637573243 pt depth 0.2 pt height 0.2 pt }% + \placebox{-12.0 pt }% + {31.8575928008999 pt }% + {\kern0.0 pt \vrule width 143.546637573243 pt depth 0.2 pt height 0.2 pt }% + \placebox{-8.0 pt }% + {31.8575928008999 pt }% + {\kern0.0 pt \vrule width 143.546637573243 pt depth 0.2 pt height 0.2 pt }% + \font\lilyfontA=feta16\lilyfontA\placebox{-20.0 pt }% + {35.8575928008999 pt }% + {\show{86}% + }% + \font\lilyfontB=feta-nummer8\lilyfontB\placebox{-16.0 pt }% + {50.3998138702358 pt }% + {\hbox{3}% + }% + \placebox{-24.0 pt }% + {49.8575928008999 pt }% + {\hbox{4}% + }% + \placebox{-16.0 pt }% + {127.564230374143 pt }% + {\kern0.0 pt \vrule width 0.64 pt depth 8.0 pt height 8.0 pt }% + \placebox{-16.0 pt }% + {174.764230374143 pt }% + {\kern0.0 pt \vrule width 0.64 pt depth 8.0 pt height 8.0 pt }% + \placebox{-27.264 pt }% + {79.5642303741425 pt }% + {\embeddedps{10.0000000000001 0.0 1.872 draw_beam }% + }% + \placebox{-24.0 pt }% + {79.5642303741425 pt }% + {\embeddedps{10.0000000000001 0.0 1.872 draw_beam }% + }% + \placebox{-27.264 pt }% + {69.9642303741424 pt }% + {\embeddedps{10.0000000000001 0.0 1.872 draw_beam }% + }% + \placebox{-24.0 pt }% + {69.9642303741424 pt }% + {\embeddedps{10.0000000000001 0.0 1.872 draw_beam }% + }% + \placebox{-27.264 pt }% + {60.3642303741423 pt }% + {\embeddedps{10.0000000000001 0.0 1.872 draw_beam }% + }% + \placebox{-24.0 pt }% + {60.3642303741423 pt }% + {\embeddedps{10.0000000000001 0.0 1.872 draw_beam }% + }% + \placebox{-16.0 pt }% + {60.5642303741423 pt }% + {\kern-0.16 pt \vrule width 0.32 pt depth 11.264 pt height 1.03836152344995 pt }% + \lilyfontA\placebox{-14.0 pt }% + {60.3642303741423 pt }% + {\show{30}% + }% + \placebox{-16.0 pt }% + {70.1642303741424 pt }% + {\kern-0.16 pt \vrule width 0.32 pt depth 11.264 pt height 1.03836152344995 pt }% + \placebox{-14.0 pt }% + {69.9642303741424 pt }% + {\show{30}% + }% + \placebox{-16.0 pt }% + {79.7642303741425 pt }% + {\kern-0.16 pt \vrule width 0.32 pt depth 11.264 pt height 1.03836152344995 pt }% + \placebox{-14.0 pt }% + {79.5642303741425 pt }% + {\show{30}% + }% + \placebox{-16.0 pt }% + {89.3642303741427 pt }% + {\kern-0.16 pt \vrule width 0.32 pt depth 11.264 pt height 1.03836152344995 pt }% + \placebox{-14.0 pt }% + {89.1642303741427 pt }% + {\show{30}% + }% + \placebox{-24.736 pt }% + {98.7642303741428 pt }% + {\embeddedps{14.8000000000002 0.0 1.872 draw_beam }% + }% + \placebox{-16.0 pt }% + {98.9642303741428 pt }% + {\kern-0.16 pt \vrule width 0.32 pt depth 8.736 pt height 1.03836152344995 pt }% + \placebox{-14.0 pt }% + {98.7642303741428 pt }% + {\show{30}% + }% + \placebox{-16.0 pt }% + {113.364230374143 pt }% + {\kern-0.16 pt \vrule width 0.32 pt depth 8.736 pt height 1.03836152344995 pt }% + \placebox{-14.0 pt }% + {113.164230374143 pt }% + {\show{30}% + }% + \placebox{-16.0 pt }% + {132.404230374143 pt }% + {\kern-0.16 pt \vrule width 0.32 pt depth 6.0 pt height 7.03836152344995 pt }% + \placebox{-8.0 pt }% + {132.204230374143 pt }% + {\show{30}% + }% + \placebox{-16.0 pt }% + {151.688390374143 pt }% + {\kern-0.16 pt \vrule width 0.32 pt depth 5.03836152344995 pt height 8.0 pt }% + \placebox{-22.0 pt }% + {146.604230374143 pt }% + {\show{30}% + }% + \placebox{-16.0 pt }% + {161.204230374143 pt }% + {\kern-0.16 pt \vrule width 0.32 pt depth 6.0 pt height 7.03836152344995 pt }% + \placebox{-8.0 pt }% + {161.004230374143 pt }% + {\show{30}% + }% + }% + \vss}% +\EndLilyPondOutput \ No newline at end of file diff --git a/Documentation/tex/lilypond-overview.doc b/Documentation/tex/lilypond-overview.doc index 4aea712838..4aa1e759bd 100644 --- a/Documentation/tex/lilypond-overview.doc +++ b/Documentation/tex/lilypond-overview.doc @@ -311,6 +311,7 @@ are called note and rest respectively.\footnote{These names serve a concepts.} The shape of notes and rests indicates their duration (See figure~\ref{noteshapes}) relative to the whole note. + \begin{figure}[h] \begin{center} \begin{mudela} @@ -321,7 +322,7 @@ are called note and rest respectively.\footnote{These names serve a \StaffContext \remove "Staff_symbol_engraver"; \remove "Time_signature_engraver"; - \remove "Bar_engraver"; +% \remove "Bar_engraver"; \remove "Clef_engraver"; } linewidth = -1.; @@ -336,7 +337,7 @@ linewidth = -1.; \StaffContext \remove "Staff_symbol_engraver"; \remove "Time_signature_engraver"; - \remove "Bar_engraver"; +% \remove "Bar_engraver"; \remove "Clef_engraver"; } linewidth = -1.; @@ -352,6 +353,7 @@ linewidth = -1.; \end{center} \end{figure} + Notes are printed in a grid of horizontal lines called \emph{staff} to denote their pitch: each line represents the pitch of from the standard scale (c, d, e, f, g, a, b). The reference point is the @@ -612,7 +614,7 @@ cannot determine the meaning of the notes. \translator { \StaffContext \remove "Time_signature_engraver"; - \remove "Bar_engraver"; +% \remove "Bar_engraver"; \remove "Staff_symbol_engraver"; \remove "Clef_engraver"; \remove "Key_engraver"; diff --git a/Documentation/tex/lilypond-regtest.doc b/Documentation/tex/lilypond-regtest.doc index 6fcd8b45a0..bc70c38b3d 100644 --- a/Documentation/tex/lilypond-regtest.doc +++ b/Documentation/tex/lilypond-regtest.doc @@ -85,6 +85,13 @@ numberOfStaffLines. Ledger lines both on note heads and rests are adjusted. \mudelafile{number-staff-lines.fly} +\section{Spacing} + +In a limited number of cases, LilyPond corrects for optical spacing +effects. In this example, space for opposite pointed stems is adjusted + +\mudelafile{stem-spacing.sly} + \section{Global stuff} Markings that are attached to (invisible) barlines are diff --git a/Documentation/tex/refman.yo b/Documentation/tex/refman.yo index 5711ca323b..1ab6933237 100644 --- a/Documentation/tex/refman.yo +++ b/Documentation/tex/refman.yo @@ -533,14 +533,14 @@ e' ~ e' ~ It is possible to create beams and slurs that cross staffs by switching the context: mudela(fragment,verbatim,center)( -< +\context PianoStaff < \context Staff=one \notes\relative c'{ \stemup [c8 c \translator Staff=two \stemup c c] \translator Staff=one d4( \translator Staff=two )a4 } -\context Staff=two \notes{ \clef bass;} +\context Staff=two \notes{ \clef bass; s1} > ) diff --git a/NEWS b/NEWS index 1b90a27d70..2eedaf8bb1 100644 --- a/NEWS +++ b/NEWS @@ -1,3 +1,30 @@ +pl 48.hwn1 + - \property hshift -> \property horizontalNoteShift (mudela 1.0.21) + - cleaned up collision. \property hshift = 2 now supported. + - Spacing: + * bf: don't divide strength by distance if distance == 0.0 + * cleaned up Spacing_spanner + * simplistic optical illusion spacing for opposite stems. + - don't use Protected_scm for Score_element::element_property_alist_ + - some scsii fixes. + - Lookup cleanups; junked Lookup::paper_l_ + - abc-2-ly: tuplets, guitar chords., chords, + +pl 48.mb2 + - bf: correct accidentals after tied over note. + +pl 48.mb1 + - bf, lookup.cc: Count '{' also directly after a TeX macro + - bf: textstyle->textStyle in all examples. + +pl 48.jcn1 + - bd: interstaff slurs at line break + +pl 48.uu1 + - add a WX field to AFM output. + - add space before ; in AFM output + +********* pl 47.jcn1 - bf: interstaff slurs (urg: more segfaults in scm_gc_mark ()) @@ -267,7 +294,7 @@ pl 37.script2 * G_script_column * G_script_column_engraver - pl 37.script1 +pl 37.script1 - major Script rehack: * G_stem_staff_side_item * G_script diff --git a/TASKS b/TASKS index b52bec1a45..ef7ad3d29a 100644 --- a/TASKS +++ b/TASKS @@ -5,7 +5,7 @@ WHAT IS MUTOPIA? Mutopia is an archive of public domain music, free for all to download, modify and redistribute. It should be based on free -software. It is similar in spirit to the gutenberg archive. +software. It is similar in spirit to the Gutenberg archive. @@ -15,21 +15,16 @@ WHAT NEEDS TO BE DONE - setup submission guidelines, -- acquire mutopia.org domain. - -- setup FTP server - -- cooperate with ABC folks, ftp.gmd.de +- setup FTP/Web server WHO DO WE NEED -Volunteers that want to setup and maintain a website and FTP site. - -Volunteers with enough legal knowledge to write submission guidelines. +Volunteers that want to setup, host and maintain a website and FTP +site. -A project leader. +Volunteers to write submission guidelines, and copyright FAQs. @@ -44,7 +39,7 @@ enough time to take up the task of setting up Mutopia Signed -Han-Wen Nienhys +Han-Wen Nienhuys Jan Nieuwenhuizen [other bigwigs?] diff --git a/TODO b/TODO index ee05f34ea8..3ad59da047 100644 --- a/TODO +++ b/TODO @@ -9,8 +9,8 @@ Most of the items are marked in the code as well Grep for TODO and ugh/ugr/urg. .* BUGS -. * junk separate mudela versioning. -. * petite-ouverture time sig size. +. * junk separate mudela versioning. +. * indent = 0.0 with linewidth=-1.0 . * PostScript . * header for PS enteredby = "bla " . * ps/lily.ps see comments. @@ -63,7 +63,6 @@ I understand your point. It should be changed. . * fix MIDI . * \shape 1st dim skipped? . * turn slope-damping on/off -. * tremolo stuff: tremolo over whole note. . * We need feta-din*.mf files for more sizes than 10. . * fix dynamics decently, ie. use kerning & ligatures. . * dots & rest collisions? @@ -91,7 +90,7 @@ specify the third. Should there be? note + circle = note + 1/4 of its length -5 the circle is like a dot that's not filled in. for example, on + the circle is like a dot that's not filled in. for example, on page three, the c-sharp on the second line should be a quarter with a circle, not a quarter tied to a sixteenth. is this at all possible with lily? @@ -100,7 +99,6 @@ specify the third. Should there be? . * repeat engraver, gallina.ly . * Matanya's tips: -. * spacing for prefatory matter . * accidentals closer to note head . * to space the staffs/staffgroups contained in the score. . * heavier beams? @@ -111,14 +109,11 @@ specify the third. Should there be? . * Slur . * Rhythmic_grouping . * Duration -. * Collision -. * Rest_collision -. * clef grav prop's +. * clef engraver . * parser .* TODO before 1.2 . * Morally pure LilyPond. -. * Remove mutopia ramblings. . * Remove non-free software links. . * Remove meta article LilyPond. . * break priority setting from SCM. @@ -191,10 +186,6 @@ compilation. . * add new glyphs to font.ly . * formatting of input stuff. . * \notes{ a \< b \cr } vs \notes{ a \< b \! } -. * 'hinterfleisch' before bar (e.g. wtk1-fugue2)? -. * Summary of minor spelling irregularities: -. * capitalization/use of underscores in property names -. * fix SkipBars -> skipBars . * broken scripts: lbheel = \script { "bheel" 0 0 -1 0 0 } rbheel = \script { "bheel" 0 0 1 0 0 } @@ -308,6 +299,8 @@ touching it. .* 3RD PARTY BUGS . * GNU diff 2.7: diff -rN does not see a new directory with empty file +. * mf-to-table -> add space before ; in AFM output. (-> check AFM + spec. Is this a bug in afm2tfm?) . * check out GCC signatures? . * glibc 2.0: f = fopen ("/dev/null", "r") diff --git a/VERSION b/VERSION index b8326958da..5364f24d9a 100644 --- a/VERSION +++ b/VERSION @@ -1,7 +1,7 @@ PACKAGE_NAME=LilyPond MAJOR_VERSION=1 MINOR_VERSION=1 -PATCH_LEVEL=48 +PATCH_LEVEL=49 MY_PATCH_LEVEL= # use the above to send patches: MY_PATCH_LEVEL is always empty for a diff --git a/buildscripts/mf-to-table.py b/buildscripts/mf-to-table.py index 2b57d02c6f..7b6ecd183e 100644 --- a/buildscripts/mf-to-table.py +++ b/buildscripts/mf-to-table.py @@ -42,7 +42,7 @@ begin_autometric_re = regex.compile('@{') end_autometric_re = regex.compile('@}') include_re = regex.compile ('(\([a-zA-Z_0-9-]+\.mf\)') autometric_re = regex.compile('@{\(.*\)@}') -version = '0.7' +version = '0.8' postfixes = ['log', 'dvi', '2602gf', 'tfm'] class Feta_file(File): @@ -116,7 +116,7 @@ class Indentable_file(File): self.writeline (lines[-1]) class Afm_file (File): - def print_f_dimen(self, f): + def print_dimen(self, f): f = f * 1000 / self.fontsize dimstr = '%.2f' % f @@ -126,19 +126,23 @@ class Afm_file (File): dimstr = '0.00' self.write( dimstr +' '); - def neg_print_dimen(self, str): - self.print_f_dimen(-atof(str)) - def print_dimen(self, str): - self.print_f_dimen(atof(str)) def def_symbol (self, code, lily_id, tex_id, xdim, ydim): - self.write ('C %s; N %s-%s; B ' % (code, self.groupname, lily_id)) + xdim = map (atof, xdim) + ydim = map (atof, ydim) + + wid = xdim[0] + xdim[1] + self.write ('C %s ; ' % code) + self.write ('WX ') + self.print_dimen (wid) + + self.write (' ; N %s-%s ; B ' % (self.groupname, lily_id)) - self.neg_print_dimen(xdim [0]) - self.neg_print_dimen(ydim [0]) + self.print_dimen(-xdim [0]) + self.print_dimen(-ydim [0]) self.print_dimen(xdim [1]) self.print_dimen(ydim [1]) - self.write (';\n'); + self.write (' ;\n'); def start (self,nm): self.write ('Start%s\n' % nm) diff --git a/input/bugs/Overture.ly b/input/bugs/Overture.ly index 1f6f514837..99c37f13aa 100644 --- a/input/bugs/Overture.ly +++ b/input/bugs/Overture.ly @@ -4,7 +4,7 @@ composer = "Johann Christoph Faber"; piece = "1. Overture"; } -\version "1.0.20"; +\version "1.0.21"; global=\notes{ \time 2/2; diff --git a/input/bugs/bar-space.ly b/input/bugs/bar-space.ly deleted file mode 100644 index 5f01cc9934..0000000000 --- a/input/bugs/bar-space.ly +++ /dev/null @@ -1,16 +0,0 @@ -\version "1.0.20"; - -scales = \notes\transpose c''{ - f2 f f f f f f f f f\break - } - -keys = \notes{ - \key b; s1 \key f; s1 \key f; s1 \key f; s1 \key f; s1 - } - -\score{ - < - \context ChordNames \scales - \context Staff < \scales \keys > - > -} diff --git a/input/bugs/hari-number.ly b/input/bugs/hari-number.ly deleted file mode 100644 index 444d4e3206..0000000000 --- a/input/bugs/hari-number.ly +++ /dev/null @@ -1,32 +0,0 @@ -\score{ - \notes { R1 } - \paper{ - linewidth = 40.0\mm; - -Staff = \translator { - \type "Hara_kiri_line_group_engraver"; - defaultclef = violin; - - \consists "Bar_engraver"; - \consists "Clef_engraver"; - \consists "Key_engraver"; - \consists "Meter_engraver"; - \consists "Local_key_engraver"; - \consists "Staff_sym_engraver"; - \consists "Collision_engraver"; - \consists "Rest_collision_engraver"; -% { - \consists "Bar_column_engraver"; - \consists "Bar_number_engraver"; -% } - \consists "Staff_margin_engraver"; - \consists "Separating_line_group_engraver"; -% \consists "Line_group_engraver"; - - \accepts "Voice"; -} - -% } - } -} - diff --git a/input/bugs/nobreak.ly b/input/bugs/nobreak.ly new file mode 100644 index 0000000000..0636efd789 --- /dev/null +++ b/input/bugs/nobreak.ly @@ -0,0 +1,2 @@ + +\score { \context Staff \notes { c1 \nobreak c1 }} diff --git a/input/bugs/rcol.fly b/input/bugs/rcol.fly new file mode 100644 index 0000000000..e32064445c --- /dev/null +++ b/input/bugs/rcol.fly @@ -0,0 +1,11 @@ +\clef alto; +\time 3/4; +\key F; +[bes'16 r r ges'][es r r ges][es r r ges] | +[bes, r r d][bes r r d][bes r r d]| +[bes r r es][bes r r es][bes r r es]| +[bes r r d][bes r r d][bes r r d]| +[cis r r g'][e r r g][e r r b']| +[g r r bes][g r r bes][g r r bes] | +[g r r a][e r r a][e r r a]| +[d, r r gis][d r r gis][d r r gis]| diff --git a/input/bugs/spacing.ly b/input/bugs/spacing.ly new file mode 100644 index 0000000000..47fb626f7c --- /dev/null +++ b/input/bugs/spacing.ly @@ -0,0 +1,14 @@ +\score { + \notes \transpose c''{ c\longa*1/4 c\breve*1/2 c1 c2 c4 c8 c16 c32 c64 } + \paper { + \translator { + \StaffContext + \remove "Staff_symbol_engraver"; + \remove "Time_signature_engraver"; + \remove "Bar_engraver"; + \remove "Clef_engraver"; + } +linewidth = -1.; + }} + + diff --git a/input/example-3.ly b/input/example-3.ly index 7bbed535f0..950f45ab57 100644 --- a/input/example-3.ly +++ b/input/example-3.ly @@ -1,4 +1,4 @@ -\version "1.0.20"; +\version "1.0.21"; one = \notes\relative c{ c'' d e f diff --git a/input/just-friends.ly b/input/just-friends.ly index 60443d076f..b08f6f3176 100644 --- a/input/just-friends.ly +++ b/input/just-friends.ly @@ -57,4 +57,4 @@ of a certain tune (Jazz, Real Book, for example), like } } -\version "1.0.20"; +\version "1.0.21"; diff --git a/input/keys.ly b/input/keys.ly index f203dedaf1..66e95fd41b 100644 --- a/input/keys.ly +++ b/input/keys.ly @@ -1,4 +1,4 @@ -\version "1.0.20"; +\version "1.0.21"; blah = \notes { diff --git a/input/kortjakje.ly b/input/kortjakje.ly index 376fadc8ba..e88af13ef3 100644 --- a/input/kortjakje.ly +++ b/input/kortjakje.ly @@ -10,7 +10,7 @@ copyright = "public domain"; Tested Features: example file with comments %} -\version "1.0.20"; +\version "1.0.21"; % the % is a comment. diff --git a/input/opus-130.ly b/input/opus-130.ly index 4b43254c49..06ba443e75 100644 --- a/input/opus-130.ly +++ b/input/opus-130.ly @@ -11,7 +11,7 @@ copyright = "public domain"; % \version "1.0.16"; tempi = \notes { - \property Voice.textstyle = "large" + \property Voice.textStyle = "large" s8^"Allegro assai" } diff --git a/input/part.ly b/input/part.ly index e54ca2a201..a0f60f576b 100644 --- a/input/part.ly +++ b/input/part.ly @@ -1,4 +1,4 @@ -\version "1.0.20"; +\version "1.0.21"; part = \notes { c-1 c c c r1*3 diff --git a/input/pedal.ly b/input/pedal.ly index bfd90fea41..514fee0325 100644 --- a/input/pedal.ly +++ b/input/pedal.ly @@ -28,7 +28,7 @@ % \lbheel \lbheel \lfheel \lftoe % \rbheel \rbtoe \rfheel \rftoe -\version "1.0.20"; +\version "1.0.21"; \score{ \notes { diff --git a/input/praeludium-fuga-E.ly b/input/praeludium-fuga-E.ly index a8c26b71f6..1742c1286e 100644 --- a/input/praeludium-fuga-E.ly +++ b/input/praeludium-fuga-E.ly @@ -23,7 +23,7 @@ * organ staff... %} -\version "1.0.20"; +\version "1.0.21"; @@ -203,13 +203,13 @@ breakmusic = \notes { \VoiceContext \name "VoiceThree"; verticalDirection = "1"; - hshift = "1"; + horizontalNoteShift = "1"; } \translator { \VoiceContext \name "VoiceFour"; verticalDirection = "-1"; - hshift = "1"; + horizontalNoteShift = "1"; } \translator { \StaffContext diff --git a/input/rhythm.ly b/input/rhythm.ly index e8ab4e3de6..b0de5a90bd 100644 --- a/input/rhythm.ly +++ b/input/rhythm.ly @@ -7,7 +7,7 @@ TestedFeatures = "multiple meters, beaming, unsynced bars, userdefd engravers"; -\version "1.0.20"; +\version "1.0.21"; ritme = \notes\transpose c'' { \time 4/4; diff --git a/input/scales.ly b/input/scales.ly index 4b00ac05be..18ae6a9844 100644 --- a/input/scales.ly +++ b/input/scales.ly @@ -16,7 +16,7 @@ copyright = "public domain"; % scales with accents. % -\version "1.0.20"; +\version "1.0.21"; blah = \notes { \time 6/8; \transpose c { diff --git a/input/scripts.ly b/input/scripts.ly index 598e45bc38..a78e1f8c25 100644 --- a/input/scripts.ly +++ b/input/scripts.ly @@ -1,5 +1,5 @@ -\version "1.0.20"; +\version "1.0.21"; blah = \notes{ \transpose c'' { diff --git a/input/star-spangled-banner.ly b/input/star-spangled-banner.ly index c018bd523c..49a0e4f3c9 100644 --- a/input/star-spangled-banner.ly +++ b/input/star-spangled-banner.ly @@ -118,4 +118,4 @@ global = \notes { } -\version "1.0.20"; +\version "1.0.21"; diff --git a/input/test/alphabet.ly b/input/test/alphabet.ly index acb8b7ab87..361ec08752 100644 --- a/input/test/alphabet.ly +++ b/input/test/alphabet.ly @@ -121,4 +121,4 @@ xxx\break } } -\version "1.0.20"; +\version "1.0.21"; diff --git a/input/test/auto-staff-switch.ly b/input/test/auto-staff-switch.ly index d176fbc7f2..21cb6c5922 100644 --- a/input/test/auto-staff-switch.ly +++ b/input/test/auto-staff-switch.ly @@ -31,4 +31,4 @@ }} -\version "1.0.20"; +\version "1.0.21"; diff --git a/input/test/bar-scripts.ly b/input/test/bar-scripts.ly index 8990f46868..0eebd74cab 100644 --- a/input/test/bar-scripts.ly +++ b/input/test/bar-scripts.ly @@ -1,5 +1,5 @@ -\version "1.0.20"; +\version "1.0.21"; onestaff = \context Staff = foo\notes { \property Staff.instr = instr diff --git a/input/test/beam-chord.ly b/input/test/beam-chord.ly index 3ad0189aeb..d9553639b5 100644 --- a/input/test/beam-chord.ly +++ b/input/test/beam-chord.ly @@ -1,4 +1,4 @@ -\version "1.0.20"; +\version "1.0.21"; \score{ \notes\transpose c'{ diff --git a/input/test/beam-interstaff.ly b/input/test/beam-interstaff.ly index 4554160c43..41e0adc669 100644 --- a/input/test/beam-interstaff.ly +++ b/input/test/beam-interstaff.ly @@ -30,4 +30,4 @@ } } -\version "1.0.20"; +\version "1.0.21"; diff --git a/input/test/beam-isknee.ly b/input/test/beam-isknee.ly index f71167fdab..342b553526 100644 --- a/input/test/beam-isknee.ly +++ b/input/test/beam-isknee.ly @@ -21,4 +21,4 @@ } } -\version "1.0.20"; +\version "1.0.21"; diff --git a/input/test/beam-pos.ly b/input/test/beam-pos.ly index 6d69d96723..6d2abe6cb4 100644 --- a/input/test/beam-pos.ly +++ b/input/test/beam-pos.ly @@ -1,4 +1,4 @@ -\version "1.0.20"; +\version "1.0.21"; \score{ \notes\transpose c''{ diff --git a/input/test/beams.ly b/input/test/beams.ly index 2e0cbb43ca..819c9cdffe 100644 --- a/input/test/beams.ly +++ b/input/test/beams.ly @@ -6,7 +6,7 @@ copyright = "PD"; TestedFeatures = "beams and beamflags"; } -\version "1.0.20"; +\version "1.0.21"; \score{ < diff --git a/input/test/broken.ly b/input/test/broken.ly index 83b3e26ff7..7c87350096 100644 --- a/input/test/broken.ly +++ b/input/test/broken.ly @@ -5,7 +5,7 @@ TestedFeatures = "This file tests Feta embedded slurs" + "(Feta definitively is not an abbreviation of Font-En-TjA)"; } -\version "1.0.20"; +\version "1.0.21"; shortlong = \notes{ c4()c( c c | diff --git a/input/test/chord-inversion.ly b/input/test/chord-inversion.ly index 29fae53e31..e2d63ff9c2 100644 --- a/input/test/chord-inversion.ly +++ b/input/test/chord-inversion.ly @@ -22,4 +22,4 @@ inversions = \notes\transpose c''\chords{ > } -\version "1.0.20"; +\version "1.0.21"; diff --git a/input/test/chord-table.ly b/input/test/chord-table.ly index 25ffa4bc78..e31e92a57e 100644 --- a/input/test/chord-table.ly +++ b/input/test/chord-table.ly @@ -41,4 +41,4 @@ tab = \notes\transpose c'''\chords{ } -\version "1.0.20"; +\version "1.0.21"; diff --git a/input/test/chords.ly b/input/test/chords.ly index 06cf21a60a..dda0de434d 100644 --- a/input/test/chords.ly +++ b/input/test/chords.ly @@ -1,4 +1,4 @@ -\version "1.0.20"; +\version "1.0.21"; %{ Would this be acceptable/good enough/convenient for entry? diff --git a/input/test/clefs.ly b/input/test/clefs.ly index 4050cbfcd5..de74c39138 100644 --- a/input/test/clefs.ly +++ b/input/test/clefs.ly @@ -1,4 +1,4 @@ -\version "1.0.20"; +\version "1.0.21"; \score { \notes{ diff --git a/input/test/collisions.ly b/input/test/collisions.ly index c938d5bd49..9c8e46f3d8 100644 --- a/input/test/collisions.ly +++ b/input/test/collisions.ly @@ -5,7 +5,7 @@ enteredby = "HWN,JCN"; copyright = "public domain"; Tested = "test the Collision resolution "; } -\version "1.0.20"; +\version "1.0.21"; twovoice = \context Staff \notes < \context Voice=i { \stemdown c4 d e f g2~ g4 a [c8 d e f] c2| } @@ -20,7 +20,7 @@ twovoicesteminvert = \context Staff \notes < threevoice = \context Staff \notes < \context Voice=i { \stemup g4 f e f g a g2 } - \context Voice=ii { \stemup \property Voice.hshift = 1 e2 e2 e2 e2 } + \context Voice=ii { \stemup \property Voice.horizontalNoteShift = 1 e2 e2 e2 e2 } \context Voice=iii { \stemdown c4 d e d c d es } > diff --git a/input/test/defaultbars.ly b/input/test/defaultbars.ly index 5c94ae07bf..664d0bc54d 100644 --- a/input/test/defaultbars.ly +++ b/input/test/defaultbars.ly @@ -1,4 +1,4 @@ -\version "1.0.20"; +\version "1.0.21"; \score { diff --git a/input/test/denneboom.ly b/input/test/denneboom.ly index dc382e07a6..f0105edf90 100644 --- a/input/test/denneboom.ly +++ b/input/test/denneboom.ly @@ -7,7 +7,7 @@ TestedFeatures = "This file tests silly line shapes"; \include "paper20.ly" -\version "1.0.20"; +\version "1.0.21"; oden = \lyrics{ O8 | diff --git a/input/test/dotted-slur.ly b/input/test/dotted-slur.ly index 6b42c3e8f0..1504b5bc12 100644 --- a/input/test/dotted-slur.ly +++ b/input/test/dotted-slur.ly @@ -1,4 +1,4 @@ -\version "1.0.20"; +\version "1.0.21"; \score{ \notes{ diff --git a/input/test/extender.ly b/input/test/extender.ly index ea0587909d..643acb4fcd 100644 --- a/input/test/extender.ly +++ b/input/test/extender.ly @@ -5,4 +5,4 @@ > } -\version "1.0.20"; +\version "1.0.21"; diff --git a/input/test/extra-staff.ly b/input/test/extra-staff.ly index 829c0929b9..b12ab289f5 100644 --- a/input/test/extra-staff.ly +++ b/input/test/extra-staff.ly @@ -42,4 +42,4 @@ extra-staff.ly: } -\version "1.0.20"; +\version "1.0.21"; diff --git a/input/test/find-quarts.ly b/input/test/find-quarts.ly index a9992e2dff..8d88c31f39 100644 --- a/input/test/find-quarts.ly +++ b/input/test/find-quarts.ly @@ -1,4 +1,4 @@ -\version "1.0.20"; +\version "1.0.21"; \score{ \notes \relative c { diff --git a/input/test/font-body.ly b/input/test/font-body.ly index 7e2b30aa53..ad8d70d77c 100644 --- a/input/test/font-body.ly +++ b/input/test/font-body.ly @@ -1,4 +1,4 @@ -\version "1.0.20"; +\version "1.0.21"; FontBody= \notes\transpose c''{ \bar "|:"; @@ -30,7 +30,7 @@ FontBody= \notes\transpose c''{ \transpose c'{ \time 4/4; - \property Voice . textstyle = "finger" + \property Voice . textStyle = "finger" \property Voice . noteHeadStyle = "diamond" c1^"1" d2^"2" e4^"3" \property Voice . noteHeadStyle = "cross" @@ -43,7 +43,7 @@ FontBody= \notes\transpose c''{ a^"0"_"9" a'^\flageolet - \property Voice . textstyle = "roman" + \property Voice . textStyle = "roman" \time 1/2; a2 | \time 3/2; < a1. { s4 \ppp \< s4 \! s4 \fff s4 \> s4 \! s4\ppp} > diff --git a/input/test/font.ly b/input/test/font.ly index c6b011f481..dd65dc0756 100644 --- a/input/test/font.ly +++ b/input/test/font.ly @@ -7,7 +7,7 @@ description = "This file tests the Feta music font"; % "(Feta definitively is not an abbreviation of Font-En-TjA)"; } -\version "1.0.20"; +\version "1.0.21"; \include "font-body.ly" \score{ diff --git a/input/test/font16.ly b/input/test/font16.ly index 6a5c020a00..6701a291be 100644 --- a/input/test/font16.ly +++ b/input/test/font16.ly @@ -7,7 +7,7 @@ description = "This file tests the Feta music font"; % "(Feta definitively is not an abbreviation of Font-En-TjA)"; } -\version "1.0.20"; +\version "1.0.21"; \include "paper16.ly" \include "font-body.ly" diff --git a/input/test/font20.ly b/input/test/font20.ly index c83061d519..d342c427ea 100644 --- a/input/test/font20.ly +++ b/input/test/font20.ly @@ -17,5 +17,5 @@ TestedFeatures = gourlay_maxmeasures =5.; } } -\version "1.0.20"; +\version "1.0.21"; diff --git a/input/test/gourlay.ly b/input/test/gourlay.ly index ab4414da70..f7321e04a4 100644 --- a/input/test/gourlay.ly +++ b/input/test/gourlay.ly @@ -4,7 +4,7 @@ copyright = "PD"; TestedFeatures = "This file tests some nasty Gourlay spacings"; } -\version "1.0.20"; +\version "1.0.21"; %{ diff --git a/input/test/grace.ly b/input/test/grace.ly index 0261511d6e..f74f3b14b5 100644 --- a/input/test/grace.ly +++ b/input/test/grace.ly @@ -1,5 +1,5 @@ -\version "1.0.20"; +\version "1.0.21"; \score{ < diff --git a/input/test/hara-kiri.ly b/input/test/hara-kiri.ly index 5f2ebd04e2..58a1366b38 100644 --- a/input/test/hara-kiri.ly +++ b/input/test/hara-kiri.ly @@ -1,4 +1,4 @@ -\version "1.0.20"; +\version "1.0.21"; toeter_i = \notes\relative c <{ \property Staff.instrument = "Toeters" diff --git a/input/test/incipit.ly b/input/test/incipit.ly index 202b65df42..73bd6aec3b 100644 --- a/input/test/incipit.ly +++ b/input/test/incipit.ly @@ -6,7 +6,7 @@ /Mats B %} -\version "1.0.20"; +\version "1.0.21"; incipit = \notes\relative c'{ diff --git a/input/test/keys.ly b/input/test/keys.ly index e35be1b040..0f0c3c7ec1 100644 --- a/input/test/keys.ly +++ b/input/test/keys.ly @@ -1,4 +1,4 @@ -\version "1.0.20"; +\version "1.0.21"; %{ test key itemv breaking diff --git a/input/test/knee.ly b/input/test/knee.ly index d595ebe82a..37de7fa18d 100644 --- a/input/test/knee.ly +++ b/input/test/knee.ly @@ -1,4 +1,4 @@ -\version "1.0.20"; +\version "1.0.21"; \score{ \notes\relative c'{ [c16 \stemdown c'' \stemboth c,, d] diff --git a/input/test/mark.ly b/input/test/mark.ly index 5dd835a96d..dae0e41ddd 100644 --- a/input/test/mark.ly +++ b/input/test/mark.ly @@ -1,4 +1,4 @@ -\version "1.0.20"; +\version "1.0.21"; global = \notes { s1 | \mark "A"; diff --git a/input/test/memory.ly b/input/test/memory.ly index b49a9e028e..90f508f2fb 100644 --- a/input/test/memory.ly +++ b/input/test/memory.ly @@ -11,5 +11,5 @@ bla = \notes { > \paper { Gourlay_maxmeaures = 2.; } } -\version "1.0.20"; +\version "1.0.21"; diff --git a/input/test/multi-rest.ly b/input/test/multi-rest.ly index 2b30a3e811..aaf3fd8c68 100644 --- a/input/test/multi-rest.ly +++ b/input/test/multi-rest.ly @@ -1,4 +1,4 @@ -\version "1.0.20"; +\version "1.0.21"; voice_one = \notes\transpose c''{ \stemup R1 * 2 | f'4-. r r2 | R1 * 3 | diff --git a/input/test/noteheadstyle.ly b/input/test/noteheadstyle.ly index 852d062afe..3db8223a4b 100644 --- a/input/test/noteheadstyle.ly +++ b/input/test/noteheadstyle.ly @@ -26,4 +26,4 @@ c4 c2 c8 c16 c16 c1 } } -\version "1.0.20"; +\version "1.0.21"; diff --git a/input/test/notemode-chords.ly b/input/test/notemode-chords.ly index 37d6c8ac29..b8652f0582 100644 --- a/input/test/notemode-chords.ly +++ b/input/test/notemode-chords.ly @@ -1,4 +1,4 @@ -\version "1.0.20"; +\version "1.0.21"; \score{ \notes \transpose c''{ diff --git a/input/test/orchestscore.ly b/input/test/orchestscore.ly index 411d7beb95..2887bd11ec 100644 --- a/input/test/orchestscore.ly +++ b/input/test/orchestscore.ly @@ -1,4 +1,4 @@ -\version "1.0.20"; +\version "1.0.21"; m = \notes \relative c''{ c1 | c2 c | c c | c c | c c | c c | c c | c c | diff --git a/input/test/ossia.ly b/input/test/ossia.ly index a43c1ed64b..059cc24019 100644 --- a/input/test/ossia.ly +++ b/input/test/ossia.ly @@ -1,4 +1,4 @@ -\version "1.0.20"; +\version "1.0.21"; \score { diff --git a/input/test/rest-collision.ly b/input/test/rest-collision.ly index e509994d67..607f1daf2b 100644 --- a/input/test/rest-collision.ly +++ b/input/test/rest-collision.ly @@ -34,4 +34,4 @@ restsII = \context Staff \notes { } } -\version "1.0.20"; +\version "1.0.21"; diff --git a/input/test/score-bar-scripts.ly b/input/test/score-bar-scripts.ly index a43bb3d02b..4d5ab9466f 100644 --- a/input/test/score-bar-scripts.ly +++ b/input/test/score-bar-scripts.ly @@ -1,7 +1,7 @@ -\version "1.0.20"; +\version "1.0.21"; onestaff = \context Staff = foo\notes { \property Staff.instr = instr diff --git a/input/test/sleur.ly b/input/test/sleur.ly index e3317a3312..d74f328c4b 100644 --- a/input/test/sleur.ly +++ b/input/test/sleur.ly @@ -5,7 +5,7 @@ TestedFeatures = "This file tests Feta embedded slurs" + "(Feta definitively is not an abbreviation of Font-En-TjA)"; } -\version "1.0.20"; +\version "1.0.21"; shortlong = \notes{ c4()c( c c | @@ -52,7 +52,6 @@ over = \notes\transpose c'{ } under = \notes\transpose c'{ - \stemdown f'( \stemboth d d \stemdown )f' f'( \stemboth c c \stemdown )f' @@ -77,7 +76,6 @@ under = \notes\transpose c'{ } eccentric = \notes\transpose c'{ - \stemup \times 4/7 { f( a' f f f f )f } | \times 4/7 { f( f f f f a' )f } | diff --git a/input/test/slur-bug.ly b/input/test/slur-bug.ly index 94b53b3560..4814daaac7 100644 --- a/input/test/slur-bug.ly +++ b/input/test/slur-bug.ly @@ -1,4 +1,4 @@ -\version "1.0.20"; +\version "1.0.21"; % bug % excentric slur can't handle this ... diff --git a/input/test/slur-damping.ly b/input/test/slur-damping.ly index 7fda627819..313d75a777 100644 --- a/input/test/slur-damping.ly +++ b/input/test/slur-damping.ly @@ -1,5 +1,5 @@ % test damping -\version "1.0.20"; +\version "1.0.21"; \score{ \notes\relative c'{ diff --git a/input/test/slur-interstaff.ly b/input/test/slur-interstaff.ly index 7fe0156d97..90d03844c9 100644 --- a/input/test/slur-interstaff.ly +++ b/input/test/slur-interstaff.ly @@ -38,4 +38,4 @@ } } -\version "1.0.20"; +\version "1.0.21"; diff --git a/input/test/slur-swap.ly b/input/test/slur-swap.ly index 77a2194b79..13abcdd1a1 100644 --- a/input/test/slur-swap.ly +++ b/input/test/slur-swap.ly @@ -1,4 +1,4 @@ -\version "1.0.20"; +\version "1.0.21"; % urg, the direction of the slur gets swapped! \score{ diff --git a/input/test/slurs.ly b/input/test/slurs.ly index 78792b52f9..2bd6626572 100644 --- a/input/test/slurs.ly +++ b/input/test/slurs.ly @@ -1,5 +1,5 @@ -\version "1.0.20"; +\version "1.0.21"; \score{ \notes\transpose c'{ diff --git a/input/test/spacing-2.ly b/input/test/spacing-2.ly index 8ad2b83875..9f0f43243c 100644 --- a/input/test/spacing-2.ly +++ b/input/test/spacing-2.ly @@ -33,4 +33,4 @@ source = "Petits Preludes et Fugues. Urtext. Editions Henry Lemoine, Paris."; } } -\version "1.0.20"; +\version "1.0.21"; diff --git a/input/test/spacing.ly b/input/test/spacing.ly index 4d90e75192..cecb18c9d8 100644 --- a/input/test/spacing.ly +++ b/input/test/spacing.ly @@ -6,7 +6,7 @@ copyright = "public domain"; TestedFeatures = "This file tests various spacings"; } -\version "1.0.20"; +\version "1.0.21"; multipart = \notes \relative c'{ \context StaffGroup < diff --git a/input/test/span-bars.ly b/input/test/span-bars.ly index dd60a13a8b..37d13ef68a 100644 --- a/input/test/span-bars.ly +++ b/input/test/span-bars.ly @@ -1,5 +1,5 @@ -\version "1.0.20"; +\version "1.0.21"; nt = \notes { c1 \break c1 c1 } stuff = \notes \relative c'' < \context Staff = stone { \nt } diff --git a/input/test/staff-margin.ly b/input/test/staff-margin.ly index df215a6cd5..ca8e9dea33 100644 --- a/input/test/staff-margin.ly +++ b/input/test/staff-margin.ly @@ -1,6 +1,6 @@ -\version "1.0.20"; +\version "1.0.21"; \score { diff --git a/input/test/staff-side-slur.ly b/input/test/staff-side-slur.ly index 65e3d68065..ff92e5b0b3 100644 --- a/input/test/staff-side-slur.ly +++ b/input/test/staff-side-slur.ly @@ -18,4 +18,4 @@ } -\version "1.0.20"; +\version "1.0.21"; diff --git a/input/test/staff-size.ly b/input/test/staff-size.ly index 144f638fc9..adf8d50c26 100644 --- a/input/test/staff-size.ly +++ b/input/test/staff-size.ly @@ -14,4 +14,4 @@ > \paper { linewidth = -1.; } } -\version "1.0.20"; +\version "1.0.21"; diff --git a/input/test/stem-spacing.sly b/input/test/stem-spacing.sly new file mode 100644 index 0000000000..0d92baf57f --- /dev/null +++ b/input/test/stem-spacing.sly @@ -0,0 +1,2 @@ + +\time 12/4; c''4 c c c a f' f, a diff --git a/input/test/stem-tremolo.ly b/input/test/stem-tremolo.ly index 7804771d86..6e76092aad 100644 --- a/input/test/stem-tremolo.ly +++ b/input/test/stem-tremolo.ly @@ -1,5 +1,5 @@ -\version "1.0.20"; +\version "1.0.21"; \score{ \notes \transpose c'''{ \stemup diff --git a/input/test/stem.ly b/input/test/stem.ly index 978caa5555..a728939ef8 100644 --- a/input/test/stem.ly +++ b/input/test/stem.ly @@ -8,7 +8,7 @@ of beams"; } -\version "1.0.20"; +\version "1.0.21"; beamintervals = \notes{ \time 7/4; diff --git a/input/test/tchaikovsky.ly b/input/test/tchaikovsky.ly index 9cd65c31c1..6a0dc872ea 100644 --- a/input/test/tchaikovsky.ly +++ b/input/test/tchaikovsky.ly @@ -7,7 +7,7 @@ enteredby = "Maarten Storm"; instrument= "Violoncello"; } -\version "1.0.20"; +\version "1.0.21"; % this is an example of extreme dynamics diff --git a/input/test/test-lyrics.ly b/input/test/test-lyrics.ly index 8f0294019b..f0cc24574e 100644 --- a/input/test/test-lyrics.ly +++ b/input/test/test-lyrics.ly @@ -1,7 +1,7 @@ -\version "1.0.20"; +\version "1.0.21"; $somewhat_long = \lyrics{ - \property Lyrics . textstyle = "roman" + \property Lyrics . textStyle = "roman" AaaaaaA2 BbbbbbB2 CcccccC2 @@ -11,7 +11,7 @@ $somewhat_long = \lyrics{ } $rather_long = \lyrics{ - \property Lyrics . textstyle = "roman" + \property Lyrics . textStyle = "roman" LLLLoooonggggg2 Syyllllaaabbble2 LLLLoooonggggg2 @@ -21,7 +21,7 @@ $rather_long = \lyrics{ } $quite_long = \lyrics{ - \property Lyrics . textstyle = "roman" + \property Lyrics . textStyle = "roman" LLLLLLLLLooooongggggggg2 Syyyyyyyyyyyyylllllllaaaaaabbble2 LLLLLLLLLooooongggggggg2 diff --git a/input/test/thumb.ly b/input/test/thumb.ly index 748e754b83..57dd37d821 100644 --- a/input/test/thumb.ly +++ b/input/test/thumb.ly @@ -7,7 +7,7 @@ % the thumb-script is used in cello music to indicate a note that should % be played with your thumb. -\version "1.0.20"; +\version "1.0.21"; \score { \notes \relative c'' { [ <)b_\thumb b'-3> diff --git a/input/test/tie-bug.ly b/input/test/tie-bug.ly index 1307452524..8df3c3c5a3 100644 --- a/input/test/tie-bug.ly +++ b/input/test/tie-bug.ly @@ -1,4 +1,4 @@ -\version "1.0.20"; +\version "1.0.21"; % middle tie is wrong diff --git a/input/test/tie.ly b/input/test/tie.ly index 61944f4026..61f4c512a3 100644 --- a/input/test/tie.ly +++ b/input/test/tie.ly @@ -1,4 +1,4 @@ -\version "1.0.20"; +\version "1.0.21"; tie = \notes\transpose c''{ diff --git a/input/test/title.ly b/input/test/title.ly index 91fa42cbd3..6058ef4d0a 100644 --- a/input/test/title.ly +++ b/input/test/title.ly @@ -10,7 +10,7 @@ source = "urtext"; instrument= "Instrument"; } -\version "1.0.20"; +\version "1.0.21"; \score{ \notes diff --git a/input/test/transposition.ly b/input/test/transposition.ly index 2271026b71..72efd42818 100644 --- a/input/test/transposition.ly +++ b/input/test/transposition.ly @@ -22,7 +22,7 @@ copyright = "public domain"; } -\version "1.0.20"; +\version "1.0.21"; vOne = \notes \relative c''{ \clef"violin"; diff --git a/input/test/tup.ly b/input/test/tup.ly index aaa005aeec..06b9dc8458 100644 --- a/input/test/tup.ly +++ b/input/test/tup.ly @@ -8,4 +8,4 @@ } } -\version "1.0.20"; +\version "1.0.21"; diff --git a/input/test/updown.fly b/input/test/updown.fly index 69ba825f68..0acf70455b 100644 --- a/input/test/updown.fly +++ b/input/test/updown.fly @@ -8,4 +8,4 @@ {\voicetwo c}> -\version "1.0.20"; +\version "1.0.21"; diff --git a/input/test/vertical-align.ly b/input/test/vertical-align.ly index 52e286e1c2..8295ae22ef 100644 --- a/input/test/vertical-align.ly +++ b/input/test/vertical-align.ly @@ -1,5 +1,5 @@ -\version "1.0.20"; +\version "1.0.21"; \score { \notes < diff --git a/input/test/vertical-text.ly b/input/test/vertical-text.ly index ec9caaf371..f6b98c1072 100644 --- a/input/test/vertical-text.ly +++ b/input/test/vertical-text.ly @@ -15,4 +15,4 @@ } } -\version "1.0.20"; +\version "1.0.21"; diff --git a/input/test/wtk-huh.ly b/input/test/wtk-huh.ly index c9371664a4..5b38a572b0 100644 --- a/input/test/wtk-huh.ly +++ b/input/test/wtk-huh.ly @@ -21,4 +21,4 @@ What's supposed to be demonstrated here? } } -\version "1.0.20"; +\version "1.0.21"; diff --git a/input/tril.ly b/input/tril.ly index b0779db193..e513f364cf 100644 --- a/input/tril.ly +++ b/input/tril.ly @@ -5,7 +5,7 @@ TestedFeatures = "This file tests trills" + "(Feta definitively is not an abbreviation of Font-En-TjA)"; } -\version "1.0.20"; +\version "1.0.21"; \score{ \notes{ diff --git a/input/twinkle-pop.ly b/input/twinkle-pop.ly index b9c21ed950..c7fb240f10 100644 --- a/input/twinkle-pop.ly +++ b/input/twinkle-pop.ly @@ -11,7 +11,7 @@ copyright = "public domain"; Tested Features lyrics and chords %} -\version "1.0.20"; +\version "1.0.21"; melodie = \notes\relative c'' { \clef "violin"; @@ -38,7 +38,7 @@ acc = \chords { } text = \lyrics{ - \property Lyrics . textstyle = "italic" + \property Lyrics . textStyle = "italic" Ah!4 vous dir- ai_- je ma man2 Ce4 qui cau- se mon tour- ment2 diff --git a/input/twinkle.ly b/input/twinkle.ly index 5a10ae11f7..b791a6d665 100644 --- a/input/twinkle.ly +++ b/input/twinkle.ly @@ -19,7 +19,7 @@ traditional song in various languages. Tested Features: lyrics, interleaving lyrics and staffs, repeats %} -\version "1.0.20"; +\version "1.0.21"; melody = \notes \relative c'' { \clef violin; @@ -76,8 +76,8 @@ hegedraagjetekst = \lyrics{ } texte = \lyrics{ - \property Lyrics . textstyle" = "italic" -% \property Lyrics . textstyle" = "roman" + \property Lyrics . textStyle" = "italic" +% \property Lyrics . textStyle" = "roman" Ah!4 vous dir- ai_- je ma- man2 Ce4 qui cau- se mon tour- ment2 Pa-4 pa veut que je rai- son- ne @@ -87,7 +87,7 @@ texte = \lyrics{ } texti = \lyrics{ - \property "Lyrics"."textstyle" = "roman" + \property "Lyrics"."textStyle" = "roman" Twin-4 kle, twin- kle, lit- tle star,2 How4 I won- der what you are.2 Up4 a- bove the world so high,2 diff --git a/lily/bar.cc b/lily/bar.cc index 3c8f78452a..ac4f39243c 100644 --- a/lily/bar.cc +++ b/lily/bar.cc @@ -43,7 +43,7 @@ Bar::get_bar_size () const Molecule* Bar::do_brew_molecule_p () const { - Molecule *output = new Molecule (lookup_l ()->bar (type_str_, get_bar_size ())); + Molecule *output = new Molecule (lookup_l ()->bar (type_str_, get_bar_size (), paper_l ())); return output; } diff --git a/lily/break.cc b/lily/break.cc index 131294f200..afe439cd5d 100644 --- a/lily/break.cc +++ b/lily/break.cc @@ -162,10 +162,10 @@ Break_algorithm::solve () const Array h= do_solve (); if (approx_stats_.count_i_) - *mlog << '\n' << _f ("approximated: %s", approx_stats_.str ()) << endl; + *mlog << '\n' << _f ("approximated %s", approx_stats_.str ()) << endl; if (exact_stats_.count_i_) - *mlog << _f ("calculated exactly: %s", exact_stats_.str ()) << endl; - *mlog << _f ("time: %.2f seconds", timer.read ()) << endl; + *mlog << _f ("calculated %s exactly", exact_stats_.str ()) << endl; + *mlog << _f ("elapsed time %.2f seconds", timer.read ()) << endl; return h; } diff --git a/lily/collision.cc b/lily/collision.cc index 1b1f1be105..1ddff7d2f7 100644 --- a/lily/collision.cc +++ b/lily/collision.cc @@ -23,145 +23,131 @@ Collision::add_column (Note_column* ncol_l) add_element (ncol_l); add_dependency (ncol_l); } -/** - should derive of Array. - */ -static -int idx (int dir, bool h_shift_b) -{ - assert (abs (dir) == 1); - int j = dir > 0 ? 0 : 3; - if (h_shift_b) - j += dir; - return j; -} + /** This complicated routine moves note columns around horizontally to ensure that notes don't clash. This should be done better, probably. - This routine is dedicated to Stine Randmael :-) - + TODO: forced hshift + */ void Collision::do_pre_processing() { - if (clash_l_arr_.size() <= 1) - return; - - /* - [stem up, stem up shifted, stem down shifted, stem down] - */ - Array clash_group_arr_a[4]; // TODO: use drul. - + Drul_array > clash_groups; + Drul_array > shifts; + for (int i=0; i < clash_l_arr_.size(); i++) { - Note_column* c_l = clash_l_arr_[i]; - Direction d = c_l->dir (); - if (!d) - { - warning (_ ("No stem direction set. Ignoring column in clash.")); - continue; - } - - SCM shift = c_l->remove_elt_property (horizontal_shift_scm_sym); - bool shift_b = (shift != SCM_BOOL_F); - clash_group_arr_a[idx (d, shift_b)].push (c_l); + clash_groups[clash_l_arr_[i]->dir ()].push (clash_l_arr_[i]); } - - for (int j=0; j < 4; j++) - { - if (clash_group_arr_a[j].size() > 1) - { - warning (_ ("Too many clashing notecolumns. Ignoring them.")); - return; - } - } + Direction d = UP; do { - if (!clash_group_arr_a[idx (d, false)].size()) - { - clash_group_arr_a[idx (d, false)] = clash_group_arr_a[idx (d, true)]; - clash_group_arr_a[idx (d, true)].clear(); - } - } - while (flip (&d) != UP); - + Array & shift (shifts[d]); + Link_array & clashes (clash_groups[d]); - Interval_t y_extent[4]; - Note_column * col_l_a[4]; - Real x_off [4]; + clashes.sort (Note_column::shift_compare); - for (int j =0 ; j < 4; j++) - { - if (clash_group_arr_a[j].size()) - col_l_a[j] = clash_group_arr_a[j][0]; - else - col_l_a[j] = 0; + for (int i=0; i < clashes.size (); i++) + { + SCM sh + = clashes[i]->remove_elt_property (horizontal_shift_scm_sym); - if (col_l_a[j]) + if (sh == SCM_BOOL_F) + shift.push (0); + else + shift.push (gh_scm2int (SCM_CDR (sh))); + } + + for (int i=1; i < shift.size (); i++) { - y_extent[j] = col_l_a[j]->head_positions_interval(); + if (shift[i-1] == shift[i]) + { + warning (_ ("Too many clashing notecolumns. Ignoring them.")); + return; + } } - - - x_off [j] = 0.0; } + while ((flip (&d))!= UP); + Drul_array< Array < Slice > > extents; + Drul_array< Array < Real > > offsets; + d = UP; do { - x_off[idx (d, true)] = d*0.5; + for (int i=0; i < clash_groups[d].size (); i++) + { + Slice s(clash_groups[d][i]->head_positions_interval ()); + s[LEFT] --; + s[RIGHT]++; + extents[d].push (s); + offsets[d].push (d * 0.5 * i); + } } - while (flip (&d) != UP); - - - // y_extent: smallest y-pos noteball interval containing all balls - // 4 (0..3) groups: stem up/down; shift on/off; - Interval_t middle (y_extent[idx (-1,0)][BIGGER], - y_extent[idx (1,0)][SMALLER]); - Interval_t open_middle (y_extent[idx (-1,0)][BIGGER]+1, y_extent[idx (1,0)][SMALLER]-1); + while ((flip (&d))!= UP); + do { - if (!open_middle.contains_b (y_extent[idx (d,true)])) - x_off[idx (d, true)] = d *1.0 ; - } while ((d *= -1) != 1); - + for (int i=1; i < clash_groups[d].size (); i++) + { + Slice prev =extents[d][i-1]; + prev.intersect (extents[d][i]); + if (prev.length ()> 0 || + (extents[-d].size () && d * (extents[d][i][-d] - extents[-d][0][d]) < 0)) + for (int j = i; j < clash_groups[d].size (); j++) + offsets[d][j] += d * 0.5; + } + } + while ((flip (&d))!= UP); - if (!middle.empty_b() - && middle.length() < 2 && col_l_a[idx (1,0)] && col_l_a[idx (-1,0)]) + /* + if the up and down version are close, and can not be merged, move + all of them again. */ + if (extents[UP].size () && extents[DOWN].size ()) { - // reproduction of bugfix at 3am ? - Note_head * nu_l= col_l_a[idx (1,0)]->head_l_arr_[0]; - Note_head * nd_l = col_l_a[idx (-1,0)]->head_l_arr_.top(); - if (! (nu_l->balltype_i_ == nd_l->balltype_i_ - && nu_l->dots_i_ == nd_l->dots_i_ && middle.length() == 0)) - { + Note_column *cu_l =clash_groups[UP][0]; + Note_column *cd_l =clash_groups[DOWN][0]; + Note_head * nu_l= cu_l->head_l_arr_[0]; + Note_head * nd_l = cd_l->head_l_arr_.top(); + int downpos = cd_l->head_positions_interval ()[SMALLER]; + int uppos = cu_l->head_positions_interval ()[BIGGER]; + + bool merge = + downpos == uppos + && nu_l->balltype_i_ == nd_l->balltype_i_ + && nu_l->dots_i_ == nd_l->dots_i_; + + /* + notes are close, but can not be merged. Shift + */ + if (abs(uppos - downpos) < 2 && !merge) do - { - x_off[idx (d, false)] -= d*0.5; - x_off[idx (d, true)] -= d*0.5; - } - while (flip (&d) != UP); - } + { + for (int i=0; i < clash_groups[d].size (); i++) + { + offsets[d][i] -= d * 0.5; + } + } + while ((flip (&d))!= UP); } Real wid_f = paper_l ()->note_width (); - for (int j=0; j < 4; j++) + do { - if (col_l_a[j]) + for (int i=0; i < clash_groups[d].size (); i++) { - Offset o (x_off[j] * wid_f, 0); - col_l_a[j]->translate (o); + clash_groups[d][i]->translate_axis (offsets[d][i]*wid_f, X_AXIS); } } + while (flip (&d) != UP); } - - void Collision::do_substitute_element_pointer (Score_element*o_l,Score_element*n_l) { diff --git a/lily/crescendo.cc b/lily/crescendo.cc index b499af90b6..1dbe94e3e4 100644 --- a/lily/crescendo.cc +++ b/lily/crescendo.cc @@ -52,7 +52,9 @@ Crescendo::get_symbol () const bool continued = broken[Direction (-grow_dir_)]; - return Molecule (lookup_l ()->hairpin (w_dim, grow_dir_ < 0, continued)); + Real height = paper_l()->staffheight_f () / 6; + + return Molecule (lookup_l ()->hairpin (w_dim, height, grow_dir_ < 0, continued)); } Molecule* diff --git a/lily/g-script.cc b/lily/g-script.cc index d08a76800b..5be3683831 100644 --- a/lily/g-script.cc +++ b/lily/g-script.cc @@ -16,6 +16,7 @@ #include "g-script.hh" #include "lookup.hh" #include "g-staff-side.hh" +#include "paper-def.hh" G_script::G_script () { @@ -46,7 +47,7 @@ G_script::get_molecule(Direction d) const } else if (key == ly_symbol ("accordion")) { - return lookup_l ()->accordion (SCM_CDR(s)); + return lookup_l ()->accordion (SCM_CDR(s), paper_l()->get_realvar(interline_scm_sym)); } else assert (false); diff --git a/lily/g-text-item.cc b/lily/g-text-item.cc index 6f54c2ad0a..6578cf8bb4 100644 --- a/lily/g-text-item.cc +++ b/lily/g-text-item.cc @@ -16,7 +16,7 @@ Molecule* G_text_item::do_brew_molecule_p () const { - Molecule a= paper_l ()->lookup_l(0)->text (style_str_,text_str_); + Molecule a= paper_l ()->lookup_l(0)->text (style_str_,text_str_, paper_l ()); return new Molecule (a); } diff --git a/lily/include/lookup.hh b/lily/include/lookup.hh index a4f60b00e1..e1b827e523 100644 --- a/lily/include/lookup.hh +++ b/lily/include/lookup.hh @@ -17,6 +17,7 @@ #include "box.hh" /** handy interface to symbol table + TODO: move this into GUILE? */ class Lookup { @@ -24,11 +25,11 @@ public: Lookup (); Lookup (Lookup const&); - Molecule simple_bar (String s, Real w) const; + Molecule simple_bar (String s, Real w, Paper_def*) const; Molecule accidental (int, bool cautionary) const; Molecule afm_find (String, bool warn=true) const; Molecule notehead (int, String) const; - Molecule bar (String, Real height) const; + Molecule bar (String, Real height, Paper_def*) const; Molecule beam (Real, Real, Real) const; Molecule clef (String) const; Molecule dashed_slur (Array controls, Real thick, Real dash) const; @@ -37,20 +38,17 @@ public: Molecule fill (Box b) const; Molecule filledbox (Box b) const; Molecule flag (int, Direction) const; - Molecule hairpin (Real width, bool decresc, bool continued) const; - Molecule plet (Real dy, Real dx, Direction dir) const; + Molecule hairpin (Real width, Real height, bool decresc, bool continued) const; + Molecule tuplet_bracket (Real dy, Real dx, Real thick,Real interline, Direction dir) const; Molecule rest (int, bool outside, String) const; - Molecule accordion (SCM arg) const; - Molecule stem (Real y1_pos, Real y2_pos) const; + Molecule accordion (SCM arg, Real interline_f) const; Molecule slur (Array controls) const; - Molecule text (String style, String text) const; + Molecule text (String style, String text, Paper_def*) const; Molecule staff_brace (Real dy) const; Molecule staff_bracket (Real dy) const; - Molecule volta (Real w, bool last_b) const; - Molecule special_time_signature (String, int,int) const; - Molecule time_signature (int n,int d) const; - - Paper_def * paper_l_; + Molecule volta (Real w, Real h, Real il, bool last_b) const; + Molecule special_time_signature (String, int,int, Paper_def*) const; + Molecule time_signature (int n,int d, Paper_def*) const; String font_name_; Adobe_font_metric * afm_l_; diff --git a/lily/include/ly-symbols.hh b/lily/include/ly-symbols.hh index 3c35d42e95..489bcc98e9 100644 --- a/lily/include/ly-symbols.hh +++ b/lily/include/ly-symbols.hh @@ -30,6 +30,7 @@ DECLARE_LY_SYMBOL(dashed); DECLARE_LY_SYMBOL(extremal); DECLARE_LY_SYMBOL(extra_space); DECLARE_LY_SYMBOL(dir_forced); +DECLARE_LY_SYMBOL(dir_list); DECLARE_LY_SYMBOL(extender_height); DECLARE_LY_SYMBOL(filledbox); DECLARE_LY_SYMBOL(fontsize); @@ -61,6 +62,7 @@ DECLARE_LY_SYMBOL(tuplet_thick); DECLARE_LY_SYMBOL(tuplet_visibility); DECLARE_LY_SYMBOL(visibility_lambda); DECLARE_LY_SYMBOL(volta); +DECLARE_LY_SYMBOL(void); DECLARE_LY_SYMBOL(volta_thick); diff --git a/lily/include/note-column.hh b/lily/include/note-column.hh index b8d17a5708..e8fe19a0b1 100644 --- a/lily/include/note-column.hh +++ b/lily/include/note-column.hh @@ -21,6 +21,9 @@ protected: virtual void do_print () const; virtual void do_substitute_element_pointer (Score_element*,Score_element*); public: + + static int shift_compare (Note_column *const &, Note_column*const&); + /** The relative position of the "voice" containing this chord. Normally this would be the same as the stem direction, diff --git a/lily/include/p-score.hh b/lily/include/p-score.hh index e3a5174f94..339b894088 100644 --- a/lily/include/p-score.hh +++ b/lily/include/p-score.hh @@ -14,6 +14,7 @@ #include "parray.hh" #include "lily-proto.hh" #include "music-output.hh" +#include "lily-guile.hh" /** all stuff which goes onto paper. notes, signs, symbols in a score #Paper_score# contains the items, the columns. @@ -27,10 +28,9 @@ class Paper_score : public Music_output /// other elements Link_array elem_p_arr_; - - Link_array to_delete_arr_; Link_array break_helpers_arr_; + SCM protected_scms_; public: Paper_def *paper_l_; @@ -62,21 +62,13 @@ public: /// add a Spanner void typeset_unbroken_spanner (Spanner*); - void schedule_for_delete (Score_element*); virtual ~Paper_score(); protected: - - /* MAIN ROUTINES */ virtual void process(); private: - - - Link_array remove_line (Line_of_score*); - Link_array remove_break_helpers (); - /// before calc_breaking void preprocess(); diff --git a/lily/include/score-element.hh b/lily/include/score-element.hh index 719cc16d8e..2a0a7805ef 100644 --- a/lily/include/score-element.hh +++ b/lily/include/score-element.hh @@ -11,7 +11,6 @@ #include "virtual-methods.hh" #include "directed-graph.hh" #include "graphical-element.hh" -#include "protected-scm.hh" #include "lily-guile.hh" @@ -37,7 +36,16 @@ Boolean (true iff defined) */ class Score_element : public virtual Graphical_element { - Protected_scm element_property_alist_; + + friend class Paper_score; + /** + properties specific for this element. Destructor will not call + scm_unprotect, so as to allow more flexible GC arrangements. The + real alist is in (cdr element_property_alist_), to reduce the + need for more scm_protect calls. + + */ + SCM element_property_alist_; Link_array dependency_arr_; /** The lookup, determined by the font size. Cache this value. diff --git a/lily/include/spacing-spanner.hh b/lily/include/spacing-spanner.hh index b69209d906..0b8b10586a 100644 --- a/lily/include/spacing-spanner.hh +++ b/lily/include/spacing-spanner.hh @@ -22,7 +22,10 @@ public: int col_count () const; protected: virtual Array get_springs () const; - + + Real stem_dir_correction (Score_column*,Score_column*) const; + Real default_bar_spacing (Score_column*,Score_column*,Moment) const; + Real note_spacing (Score_column*,Score_column*,Moment) const; }; #endif /* SPACING_SPANNER_HH */ diff --git a/lily/include/stem.hh b/lily/include/stem.hh index f0e759afac..04dd3f1ce1 100644 --- a/lily/include/stem.hh +++ b/lily/include/stem.hh @@ -104,5 +104,7 @@ protected: virtual void do_pre_processing(); virtual Interval do_width() const; virtual Molecule* do_brew_molecule_p() const; + + void set_spacing_hints () ; }; #endif diff --git a/lily/ineq-constrained-qp.cc b/lily/ineq-constrained-qp.cc index 7de0df5951..3b4bae9baf 100644 --- a/lily/ineq-constrained-qp.cc +++ b/lily/ineq-constrained-qp.cc @@ -212,8 +212,17 @@ Ineq_constrained_qp::constraint_solve (Vector start) const } else if (m<0) { - assert (gradient.norm() < EPS) ; - + Real n =gradient.norm(); + if (n >= EPS) + { + programming_error ("Huh? Gradient should be zero "); + act.degenerate_count_i_ ++; + } + else if (n <0) + { + programming_error ("Huh? Norm should be positive"); + act.degenerate_count_i_++; + } break; } diff --git a/lily/local-key-engraver.cc b/lily/local-key-engraver.cc index 8506350e39..22bb2d1540 100644 --- a/lily/local-key-engraver.cc +++ b/lily/local-key-engraver.cc @@ -58,7 +58,11 @@ Local_key_engraver::process_acknowledged () if (tied_l_arr_.find_l (support_l) && !note_l->forceacc_b_) - continue; + { + if (!forget) + local_key_.set (note_l->pitch_); + continue; + } if (!note_l->forceacc_b_ && local_key_.different_acc (note_l->pitch_)) diff --git a/lily/lookup.cc b/lily/lookup.cc index 11a6d49e94..b28cc21c59 100644 --- a/lily/lookup.cc +++ b/lily/lookup.cc @@ -31,14 +31,12 @@ Lookup::Lookup () { - paper_l_ = 0; afm_l_ = 0; } Lookup::Lookup (Lookup const& s) { font_name_ = s.font_name_; - paper_l_ = 0; afm_l_ = 0; } @@ -137,14 +135,14 @@ Lookup::notehead (int j, String type) const } Molecule -Lookup::simple_bar (String type, Real h) const +Lookup::simple_bar (String type, Real h, Paper_def* paper_l) const { SCM thick = ly_symbol ("barthick_" + type); Real w = 0.0; - if (paper_l_->scope_p_->elem_b (thick)) + if (paper_l->scope_p_->elem_b (thick)) { - w = paper_l_->get_realvar (thick); + w = paper_l->get_realvar (thick); } else { @@ -156,18 +154,19 @@ Lookup::simple_bar (String type, Real h) const Molecule -Lookup::bar (String str, Real h) const +Lookup::bar (String str, Real h, Paper_def *paper_l) const { if (str == "[") return staff_bracket (h); else if (str == "{") return staff_brace (h); - Real kern = paper_l_->get_var ("bar_kern"); - Real thinkern = paper_l_->get_var ("bar_thinkern"); - Molecule thin = simple_bar ("thin", h); - Molecule thick = simple_bar ("thick", h); - Molecule colon = afm_find ("dots-repeatcolon"); + Real kern = paper_l->get_var ("bar_kern"); + Real thinkern = paper_l->get_var ("bar_thinkern"); + + Molecule thin = simple_bar ("thin", h, paper_l); + Molecule thick = simple_bar ("thick", h, paper_l); + Molecule colon = afm_find ("dots-repeatcolon", paper_l); Molecule m; @@ -177,7 +176,7 @@ Lookup::bar (String str, Real h) const } if (str == "scorepostbreak") { - return simple_bar ("score", h); + return simple_bar ("score", h, paper_l); } else if (str == "|") { @@ -325,7 +324,7 @@ Lookup::rest (int j, bool o, String style) const Molecule -Lookup::special_time_signature (String s, int n, int d) const +Lookup::special_time_signature (String s, int n, int d, Paper_def*pap) const { // First guess: s contains only the signature style String symbolname = "timesig-" + s + to_str (n) + "/" + to_str (d); @@ -340,7 +339,7 @@ Lookup::special_time_signature (String s, int n, int d) const return m; // Resort to default layout with numbers - return time_signature (n,d); + return time_signature (n,d,pap); } Molecule @@ -360,20 +359,6 @@ Lookup::filledbox (Box b ) const return m; } -Molecule -Lookup::stem (Real y1, Real y2) const -{ - if (y1 > y2) - { - Real t = y1; - y1 = y2; - y2 = t; - } - Real stem_width = paper_l_->get_var ("stemthickness"); - return filledbox (Box (Interval (-stem_width/2,stem_width/2), - Interval (y1, y2))); -} - /** @@ -387,22 +372,22 @@ static Real mag_steps[] = {1, 1, 1.200, 1.440, 1.7280, 2.074, 2.488}; */ Molecule -Lookup::text (String style, String text) const +Lookup::text (String style, String text, Paper_def *paper_l) const { Molecule m; if (style.empty_b ()) style = "roman"; int font_mag = 1; - Real font_h = paper_l_->get_var ("font_normal"); - if (paper_l_->scope_p_->elem_b ("font_" + style)) + Real font_h = paper_l->get_var ("font_normal"); + if (paper_l->scope_p_->elem_b ("font_" + style)) { - font_h = paper_l_->get_var ("font_" + style); + font_h = paper_l->get_var ("font_" + style); } - if (paper_l_->scope_p_->elem_b ("magnification_" + style)) + if (paper_l->scope_p_->elem_b ("magnification_" + style)) { - font_mag = (int)paper_l_->get_var ("magnification_" + style); + font_mag = (int)paper_l->get_var ("magnification_" + style); } /* @@ -425,9 +410,12 @@ Lookup::text (String style, String text) const for (int i = 0; i < text.length_i (); i++) { - if (text[i]=='\\') - for (i++; (i < text.length_i ()) && isalpha(text[i]); i++) - ; + if (text[i]=='\\') + { + for (i++; (i < text.length_i ()) && isalpha(text[i]); i++) + ; + i--; // Compensate for the increment in the outer loop! + } else { if (text[i] == '{') @@ -480,11 +468,11 @@ Lookup::text (String style, String text) const Molecule -Lookup::time_signature (int num, int den) const +Lookup::time_signature (int num, int den, Paper_def *paper_l) const { String sty = "number"; - Molecule n (text (sty, to_str (num))); - Molecule d (text (sty, to_str (den))); + Molecule n (text (sty, to_str (num), paper_l)); + Molecule d (text (sty, to_str (den), paper_l)); n.align_to (X_AXIS, CENTER); d.align_to (X_AXIS, CENTER); Molecule m; @@ -518,10 +506,9 @@ Lookup::staff_brace (Real y) const } Molecule -Lookup::hairpin (Real width, bool decresc, bool continued) const +Lookup::hairpin (Real width, Real height, bool decresc, bool continued) const { Molecule m; - Real height = paper_l_->staffheight_f () / 6; String hairpin = String (decresc ? "de" : "") + "crescendo"; Atom at (gh_list (ly_symbol (hairpin), @@ -537,22 +524,15 @@ Lookup::hairpin (Real width, bool decresc, bool continued) const } Molecule -Lookup::plet (Real dy , Real dx, Direction dir) const +Lookup::tuplet_bracket (Real dy , Real dx, Real thick, Real interline_f, Direction dir) const { Molecule m; - SCM thick = tuplet_thick_scm_sym; - Real t = 0.1 PT; - if (paper_l_->scope_p_->elem_b (thick)) - { - t = paper_l_->get_realvar (thick); - } - Real interline_f = paper_l_->get_realvar (interline_scm_sym); Atom at (gh_list(tuplet_scm_sym, gh_double2scm (interline_f), gh_double2scm (dx), gh_double2scm (dy), - gh_double2scm (t), + gh_double2scm (thick), gh_int2scm (dir), SCM_UNDEFINED)); m.add_atom (&at); @@ -602,23 +582,16 @@ Lookup::staff_bracket (Real y) const } Molecule -Lookup::volta (Real w, bool last_b) const +Lookup::volta (Real w, Real thick, Real interline_f, bool last_b) const { Molecule m; - SCM thick = volta_thick_scm_sym; - Real t = 0.1 PT; - if (paper_l_->scope_p_->elem_b (thick)) - { - t = paper_l_->get_realvar (thick); - } + Atom at (gh_list (volta_scm_sym, gh_double2scm (w), - gh_double2scm (t), + gh_double2scm (thick), gh_int2scm (last_b), SCM_UNDEFINED)); - Real interline_f = paper_l_->get_realvar (interline_scm_sym); - m.dim_[Y_AXIS] = Interval (-interline_f, interline_f); m.dim_[X_AXIS] = Interval (0, w); @@ -627,12 +600,12 @@ Lookup::volta (Real w, bool last_b) const } Molecule -Lookup::accordion (SCM s) const +Lookup::accordion (SCM s, Real interline_f) const { Molecule m; String sym = ly_scm2string(SCM_CAR(s)); String reg = ly_scm2string(SCM_CAR(SCM_CDR(s))); - Real interline_f = paper_l_->get_realvar(interline_scm_sym); + if (sym == "Discant") { Molecule r = afm_find("scripts-accDiscant"); diff --git a/lily/multi-measure-rest.cc b/lily/multi-measure-rest.cc index b249a1b9a3..26e55b1770 100644 --- a/lily/multi-measure-rest.cc +++ b/lily/multi-measure-rest.cc @@ -92,7 +92,7 @@ Multi_measure_rest::do_brew_molecule_p () const } else if (measures_i_ > 1) { - Molecule s ( lookup_l ()->text ("number", to_str (measures_i_))); + Molecule s ( lookup_l ()->text ("number", to_str (measures_i_), paper_l ())); s.translate_axis (3.0 * interline_f, Y_AXIS); mol_p->add_molecule (s); diff --git a/lily/note-column.cc b/lily/note-column.cc index 26a33eb5cd..5f63501a47 100644 --- a/lily/note-column.cc +++ b/lily/note-column.cc @@ -20,6 +20,17 @@ Note_column::rest_b () const return rest_l_arr_.size (); } +int +Note_column::shift_compare (Note_column *const &p1, Note_column*const&p2) +{ + SCM s1 = p1->get_elt_property (horizontal_shift_scm_sym); + SCM s2 = p2->get_elt_property (horizontal_shift_scm_sym); + + int h1 = (s1 == SCM_BOOL_F) ? 0 : gh_scm2int (SCM_CDR(s1)); + int h2 = (s2 == SCM_BOOL_F) ? 0 : gh_scm2int (SCM_CDR(s2)); + return h1 - h2; +} + Note_column::Note_column() { set_axes (X_AXIS,X_AXIS); @@ -32,18 +43,17 @@ Note_column::sort() head_l_arr_.sort (Note_head::compare); } -Interval_t +Slice Note_column::head_positions_interval() const { - ((Note_column*)this)->sort(); - Interval_t iv; + Slice iv; iv.set_empty (); - - if (head_l_arr_.size ()) - iv = Interval_t(head_l_arr_[0]->position_i_, - head_l_arr_.top()->position_i_); - + for (int i=0; i position_i_; + iv.unite (Slice (j,j)); + } return iv; } diff --git a/lily/p-score.cc b/lily/p-score.cc index 4edfd1b3e9..c48cbddce0 100644 --- a/lily/p-score.cc +++ b/lily/p-score.cc @@ -25,6 +25,7 @@ Paper_score::Paper_score () { + protected_scms_ = scm_protect_object (gh_cons (SCM_BOOL_T, SCM_EOL)); paper_l_ =0; outputter_l_ =0; Line_of_score * line_p = new Line_of_score; @@ -45,6 +46,8 @@ Paper_score::~Paper_score () delete span_p_arr_[i]; for (int i=elem_p_arr_.size (); --i >=0 ; ) delete elem_p_arr_[i]; + + scm_unprotect_object (protected_scms_); } void @@ -53,7 +56,11 @@ Paper_score::typeset_element (Score_element * elem_p) elem_p_arr_.push (elem_p); elem_p->pscore_l_ = this; - + // take over protection. + SCM_CDR(protected_scms_) = gh_cons (elem_p->element_property_alist_, + SCM_CDR (protected_scms_)); + scm_unprotect_object (elem_p->element_property_alist_); + SCM p = elem_p->remove_elt_property (break_helper_only_scm_sym); if (p != SCM_BOOL_F) break_helpers_arr_.push (elem_p); @@ -137,44 +144,6 @@ Paper_score::calc_breaking () -/* - not clean. Should update elem_p_arr_ and span_p_arr_. That would - also repair the stats. - - This may be done efficiently by first sorting the arrays. */ -void -delete_array_contents (Link_array &to_remove, Dictionary &type_stats) -{ - for (int i=0; i < to_remove.size (); i++) - { - Score_element * e = to_remove[i]; - String nm = e->name(); - if (type_stats.elem_b (nm)) - type_stats[nm] ++; - else - type_stats[nm] = 1; - - if (dynamic_cast (e)) - type_stats["Item"] ++; - else if (dynamic_cast(e)) - type_stats["Spanner"] ++; - type_stats["Total"] ++; - /* - */ - - // delete e; //TODO! - } - - to_remove.clear (); - to_remove.tighten_maxsize (); -} - -void -Paper_score::schedule_for_delete (Score_element*e) -{ - to_delete_arr_.push (e); -} - void Paper_score::process () { @@ -194,8 +163,6 @@ Paper_score::process () Array breaking = calc_breaking (); - delete_array_contents (break_helpers_arr_, type_stats); - Paper_stream* paper_stream_p = paper_l_->paper_stream_p (); outputter_l_ = paper_l_->paper_outputter_p (paper_stream_p, header_l_, origin_str_); @@ -226,8 +193,6 @@ Paper_score::process () *mlog << '(' << elem_p_arr_.size () + span_p_arr_.size () << ')'; *mlog << ']' << flush; - - delete_array_contents (to_delete_arr_, type_stats); } // huh? diff --git a/lily/paper-def.cc b/lily/paper-def.cc index e420ed6a47..4cd2101032 100644 --- a/lily/paper-def.cc +++ b/lily/paper-def.cc @@ -49,7 +49,6 @@ Paper_def::Paper_def (Paper_def const&s) for (Hash_table_iter ai(*s.lookup_p_tab_p_); ai.ok (); ai++) { Lookup * l = new Lookup (*ai.val ()); - l->paper_l_ = this; set_lookup (ai.key(), l); } } @@ -165,7 +164,6 @@ Paper_def::set_lookup (int i, Lookup*l) { delete lookup_p_tab_p_->elem (i); } - l ->paper_l_ = this; (*lookup_p_tab_p_)[i] = l; } diff --git a/lily/parser.yy b/lily/parser.yy index edf2ee9557..2bbb8cf18c 100644 --- a/lily/parser.yy +++ b/lily/parser.yy @@ -55,7 +55,7 @@ // mmm Mudela_version oldest_version ("1.0.20"); -Mudela_version version ("1.0.20"); +Mudela_version version ("1.0.21"); void print_mudela_versions (ostream &os) diff --git a/lily/rhythmic-column-engraver.cc b/lily/rhythmic-column-engraver.cc index 5483ff9ace..ed45fef5da 100644 --- a/lily/rhythmic-column-engraver.cc +++ b/lily/rhythmic-column-engraver.cc @@ -80,10 +80,12 @@ Rhythmic_column_engraver::do_pre_move_processing() { if (ncol_p_) { + Scalar sh = get_property ("horizontalNoteShift", 0); // egcs - if (get_property ("hshift", 0).operator bool ()) + if (sh.to_bool () && sh.isnum_b ()) { - ncol_p_->set_elt_property (horizontal_shift_scm_sym, SCM_BOOL_T); + ncol_p_->set_elt_property (horizontal_shift_scm_sym, + gh_int2scm (int (sh))); } typeset_element (ncol_p_); diff --git a/lily/score-element.cc b/lily/score-element.cc index f77f9c9e8c..3215b80930 100644 --- a/lily/score-element.cc +++ b/lily/score-element.cc @@ -43,7 +43,7 @@ Score_element::Score_element() lookup_l_ =0; status_i_ = 0; original_l_ = 0; - element_property_alist_ = SCM_EOL; + element_property_alist_ = scm_protect_object (gh_cons (gh_cons (void_scm_sym, SCM_BOOL_T) , SCM_EOL)); } Score_element::Score_element (Score_element const&s) @@ -51,7 +51,7 @@ Score_element::Score_element (Score_element const&s) { used_b_ = true; original_l_ =(Score_element*) &s; - element_property_alist_ = scm_list_copy (s.element_property_alist_); + element_property_alist_ = scm_protect_object (scm_list_copy (s.element_property_alist_)); dependency_arr_ = s.dependency_arr_; output_p_ =0; status_i_ = s.status_i_; @@ -94,15 +94,15 @@ SCM Score_element::remove_elt_property (SCM key) { SCM s = get_elt_property (key); - element_property_alist_ = scm_assq_remove_x (element_property_alist_, key); + SCM_CDR(element_property_alist_) = scm_assq_remove_x (SCM_CDR (element_property_alist_), key); return s; } void Score_element::set_elt_property (SCM s, SCM v) { - element_property_alist_ = - scm_assoc_set_x (element_property_alist_, s, v); + SCM_CDR(element_property_alist_) = + scm_assoc_set_x (SCM_CDR (element_property_alist_), s, v); } Interval @@ -221,8 +221,6 @@ Score_element::output_processing () pscore_l_->outputter_l_->output_molecule (output_p_, o, classname(this)); - - pscore_l_->schedule_for_delete (this); } /* @@ -307,9 +305,9 @@ Score_element::add_dependency (Score_element*e) e->used_b_ = true; } else - warning("Null dependency added"); - + programming_error ("Null dependency added"); } + void Score_element::substitute_dependency (Score_element* old, Score_element* new_l) { diff --git a/lily/score-engraver.cc b/lily/score-engraver.cc index 8cd17a52d8..250267faf9 100644 --- a/lily/score-engraver.cc +++ b/lily/score-engraver.cc @@ -231,13 +231,11 @@ Score_engraver::do_try_music (Music*r) { if (Break_req* b = dynamic_cast (r)) { + gotcha = true; if (b->penalty_i_ <= Break_req::DISALLOW) break_penalty_i_ = b->penalty_i_; else if (b->penalty_i_ >= Break_req::FORCE) - { - command_column_l_->break_penalty_i_ = b->penalty_i_; - gotcha = true; - } + command_column_l_->break_penalty_i_ = b->penalty_i_; } } return gotcha; diff --git a/lily/slur.cc b/lily/slur.cc index 580974a888..504219f393 100644 --- a/lily/slur.cc +++ b/lily/slur.cc @@ -331,7 +331,14 @@ Slur::get_encompass_offset_arr () const // postbreak if (broken_edge_b (LEFT)) - first--; + { + first--; + /* + interstaff postbreak: slur begins at height of last note + */ + Encompass_info info (encompass_arr_[0], dir_, this); + notes[0][Y_AXIS] += info.interstaff_f_; + } else { Encompass_info info (encompass_arr_[0], dir_, this); @@ -344,6 +351,12 @@ Slur::get_encompass_offset_arr () const notes.push (info.o_ - left); } + /* + interstaff prebreak: slur ends at height of last note + */ + if (broken_edge_b (RIGHT)) + d[Y_AXIS] = notes.top ()[Y_AXIS]; + notes.push (d); return notes; diff --git a/lily/spacing-spanner.cc b/lily/spacing-spanner.cc index 4979c7b5a3..9c77ccea57 100644 --- a/lily/spacing-spanner.cc +++ b/lily/spacing-spanner.cc @@ -39,10 +39,6 @@ Spacing_spanner::scol (int i)const generate springs between columns. - TODO - - * Spacing should take optical effects into account - The algorithm is partly taken from : John S. Gourlay. ``Spacing a Line of Music,'' Technical Report @@ -71,179 +67,185 @@ Spacing_spanner::do_measure (int col1, int col2) const Array meas_springs; - /* - UGR GUR URG. duplicate code for spacing generation. - */ for (int i= col1; i < col2; i++) { - SCM hint = scol (i)->get_elt_property (extra_space_scm_sym); - if (hint != SCM_BOOL_F) - { - hint = SCM_CDR (hint); - - Spring s; - s.item_l_drul_[LEFT] = scol (i); - s.item_l_drul_[RIGHT] = scol (i+1); - Real unbroken_dist = gh_scm2double (SCM_CDR(hint)); + Item * l = scol(i); + Item * r = scol(i+1); + Item * lb = l->find_prebroken_piece (RIGHT); + Item * rb = r->find_prebroken_piece (LEFT); - s.distance_f_ = unbroken_dist; - s.strength_f_ = 2.0; - + Item* combinations[4][2]={{l,r}, {lb,r}, {l,rb},{lb,rb}}; - meas_springs.push (s); + for (int i=0; i < 4; i++) + { + Score_column * lc = dynamic_cast (combinations[i][0]); + Score_column *rc = dynamic_cast (combinations[i][1]); + if (!lc || !rc) + continue; + Spring s; + s.item_l_drul_[LEFT] = lc; + s.item_l_drul_[RIGHT] = rc; - Item * l = scol(i)->find_prebroken_piece (RIGHT); - Item * r = scol(i+1)->find_prebroken_piece (LEFT); - if (l) + SCM hint = lc->get_elt_property (extra_space_scm_sym); + SCM next_hint = rc->get_elt_property (extra_space_scm_sym); + + if (hint != SCM_BOOL_F) { - Spring s; - s.item_l_drul_[LEFT] = l; - s.item_l_drul_[RIGHT] = scol (i+1); - hint = l->get_elt_property (extra_space_scm_sym); - - if (hint == SCM_BOOL_F) - { - programming_error ("No postbreak breakable spacing hint set."); - s.distance_f_= unbroken_dist; - } - else - s.distance_f_ = gh_scm2double (SCM_CDDR(hint)); - - /* - space around barlines should not stretch very much. - */ + hint = SCM_CDDR (hint); + + s.distance_f_ = gh_scm2double (hint); + if (!lc->musical_b ()) s.strength_f_ = 2.0; - meas_springs.push (s); } - - if (r) + else if (!lc->musical_b() && i+1 < col_count()) { - Spring s; - s.item_l_drul_[LEFT] = scol (i); - s.item_l_drul_[RIGHT] = r; - s.distance_f_ = unbroken_dist; - - /* - space around barlines should not stretch very much. - */ + s.distance_f_ = default_bar_spacing (lc,rc,shortest); s.strength_f_ = 2.0; - meas_springs.push (s); } - - if (l&&r) + else if (lc->musical_b()) { - Spring s; - s.item_l_drul_[LEFT] = l; - s.item_l_drul_[RIGHT] = r; + s.distance_f_ = note_spacing (lc, rc, shortest); - hint = l->get_elt_property (extra_space_scm_sym); - if (hint == SCM_BOOL_F) - { - programming_error ("No postbreak breakable spacing hint set."); - s.distance_f_= unbroken_dist; - } - else - s.distance_f_ = gh_scm2double (SCM_CDDR(hint)); - - /* - space around barlines should not stretch very much. - */ - s.strength_f_ = 2.0; - meas_springs.push (s); - } - } - else if (!scol (i)->musical_b() && i+1 < col_count()) - { - Real symbol_distance = scol (i)->extent (X_AXIS)[RIGHT] ; - Real durational_distance = 0; - Moment delta_t = scol (i+1)->when_mom () - scol (i)->when_mom () ; - /* - ugh should use shortest_playing distance - */ - if (delta_t) - { - Real k= paper_l()->arithmetic_constant (shortest); - durational_distance = paper_l()->length_mom_to_dist (delta_t,k); } - symbol_distance += -scol (i+1)->extent(X_AXIS)[LEFT]; - - Spring s ; - s.item_l_drul_[LEFT] = scol (i); - s.item_l_drul_[RIGHT] = scol (i+1); - s.distance_f_ = symbol_distance >? durational_distance; - meas_springs.push (s); - - Item *l = s.item_l_drul_[LEFT]->find_prebroken_piece (RIGHT); - Item *r = s.item_l_drul_[RIGHT]->find_prebroken_piece (LEFT); - Spring sp_orig (s); - if (l) + if (next_hint != SCM_BOOL_F) { - s = sp_orig; - s.item_l_drul_[LEFT] =l ; - meas_springs.push (s); + next_hint = SCM_CADR(next_hint); + s.distance_f_ += gh_scm2double (next_hint); } - - if (l && r) + else { - s = sp_orig; - s.item_l_drul_[RIGHT] = r; - s.item_l_drul_[LEFT] = l; - meas_springs.push (s); + Interval ext (rc->extent (X_AXIS)); + Real correction = ext.empty_b() ? 0.0 : - ext [LEFT]; + + /* + don't want to create too much extra space for accidentals + */ + if (lc->musical_b () && rc->musical_b ()) + correction /= 2.0; + + s.distance_f_ += correction; } + meas_springs.push (s); } } - for (int i=col1; i < col2; i++) + return meas_springs; +} + +/** + Do something if breakable column has no spacing hints set. + */ +Real +Spacing_spanner::default_bar_spacing (Score_column *lc, Score_column *rc, Moment shortest) const +{ + Real symbol_distance = lc->extent (X_AXIS)[RIGHT] ; + Real durational_distance = 0; + Moment delta_t = rc->when_mom () - lc->when_mom () ; + + /* + ugh should use shortest_playing distance + */ + if (delta_t) { - if (scol (i)->musical_b()) - { - Moment shortest_playing_len = scol(i)->shortest_playing_mom_; - if (! shortest_playing_len) - { - warning (_f ("can't find a ruling note at %s", - scol (i)->when_mom ().str ())); - shortest_playing_len = 1; - } - if (! shortest) - { - warning (_f ("no minimum in measure at %s", - scol (i)->when_mom ().str ())); - shortest = 1; - } - Moment delta_t = scol (i+1)->when_mom () - scol (i)->when_mom (); - Real k= paper_l()->arithmetic_constant(shortest); - Real dist = paper_l()->length_mom_to_dist (shortest_playing_len, k); - dist *= (double)(delta_t / shortest_playing_len); + Real k= paper_l()->arithmetic_constant (shortest); + durational_distance = paper_l()->length_mom_to_dist (delta_t,k); + } + return symbol_distance >? durational_distance; +} - Spring sp; - sp.distance_f_ = dist; - sp.item_l_drul_[LEFT] = scol (i); - sp.item_l_drul_[RIGHT] = scol (i+1); - meas_springs.push (sp); +Real +Spacing_spanner::note_spacing (Score_column *lc, Score_column *rc, Moment shortest) const +{ + Moment shortest_playing_len = lc->shortest_playing_mom_; + if (! shortest_playing_len) + { + warning (_f ("can't find a ruling note at %s", + lc->when_mom ().str ())); + shortest_playing_len = 1; + } + if (! shortest) + { + warning (_f ("no minimum in measure at %s", + lc->when_mom ().str ())); + shortest = 1; + } + Moment delta_t = rc->when_mom () - lc->when_mom (); + Real k= paper_l()->arithmetic_constant(shortest); + Real dist = paper_l()->length_mom_to_dist (shortest_playing_len, k); + dist *= (double)(delta_t / shortest_playing_len); - /* - UGH. TODO: more - advanced spacing here. - */ - Spring sp_orig (sp); + dist += stem_dir_correction (lc,rc); + return dist; +} - Item *r = sp.item_l_drul_[RIGHT]->find_prebroken_piece (LEFT); - - if (r) - { - sp = sp_orig; - sp.item_l_drul_[RIGHT] =r ; - meas_springs.push (sp); - } - } + +/** + Correct for optical illusions. See [Wanske] p. 138. The combination + up-stem + down-stem should get extra space, the combination + down-stem + up-stem less. + + 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 + + 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. +*/ +Real +Spacing_spanner::stem_dir_correction (Score_column*l, Score_column*r) const +{ + SCM dl = l->get_elt_property (dir_list_scm_sym); + SCM dr = r->get_elt_property (dir_list_scm_sym); + if (dl == SCM_BOOL_F || dr == SCM_BOOL_F) + return 0.0; + + dl = SCM_CDR (dl); + dr = SCM_CDR (dr); + + if (scm_ilength (dl) != 1 && scm_ilength (dr) != 1) + return 0.; + + dl = SCM_CAR(dl); + dr = SCM_CAR(dr); + + assert (gh_number_p (dl) && gh_number_p(dr)); + int d1 = gh_scm2int (dl); + int d2 = gh_scm2int (dr); + + if (d1 == d2) + return 0.0; + + bool err = false; + Real correction = 0.0; + Real ssc = paper_l ()->get_realvar(ly_symbol ("stemSpacingCorrection")); + + + if (d1 && d2) + { + if (d1 == 1 && d2 == -1) + correction = ssc; + else if (d1 == -1 && d2 == 1) + correction = -ssc; + else + err = true; } - return meas_springs; + + else + err = true; + + if (err) + programming_error ("Stem directions not set correctly for optical correction"); + return correction; } + Array Spacing_spanner::get_springs () const @@ -253,12 +255,14 @@ Spacing_spanner::get_springs () const for (int i=1; i < col_count (); i++) { if (scol (i)->breakable_b ()) - { - springs.concat (do_measure (last_break, i)); - last_break = i; - } + { + springs.concat (do_measure (last_break, i)); + last_break = i; + } } return springs; } + + diff --git a/lily/span-bar.cc b/lily/span-bar.cc index b9a435b4cc..65b57f9620 100644 --- a/lily/span-bar.cc +++ b/lily/span-bar.cc @@ -31,7 +31,7 @@ Span_bar::do_substitute_element_pointer (Score_element*o, Score_element*n) Interval Span_bar::do_width () const { - Molecule m = lookup_l ()->bar (type_str_, 40 PT); + Molecule m = lookup_l ()->bar (type_str_, 40 PT, paper_l ()); return m.extent (X_AXIS); } @@ -109,7 +109,7 @@ Span_bar::do_brew_molecule_p () const Molecule*output = new Molecule; if (!iv.empty_b()) { - output->add_molecule (lookup_l ()->bar (type_str_, iv.length ())); + output->add_molecule (lookup_l ()->bar (type_str_, iv.length (), paper_l ())); output->translate_axis (iv.center (), Y_AXIS); } else diff --git a/lily/spring-spacer.cc b/lily/spring-spacer.cc index df25b4ee33..c9ecb2492e 100644 --- a/lily/spring-spacer.cc +++ b/lily/spring-spacer.cc @@ -404,9 +404,15 @@ Spring_spacer::add_column (Paper_column *col, bool fixed, Real fixpos) if (cols_[idx].pcol_l_ != cr.other_l_) continue; - - connect (idx, this_rank, cr.distance_f_, - cr.strength_f_ / cr.distance_f_); + Real d = cr.distance_f_; + if (fabs (d) < EPS) + { + connect (idx, this_rank, 0.0, 10); // large strength. + programming_error ("requesting zero distance."); + } + else + connect (idx, this_rank, cr.distance_f_, + cr.strength_f_ / cr.distance_f_); } cols_.push (c); diff --git a/lily/stem.cc b/lily/stem.cc index 55b2036269..97fa1565cc 100644 --- a/lily/stem.cc +++ b/lily/stem.cc @@ -244,6 +244,36 @@ Stem::do_pre_processing () set_elt_property (transparent_scm_sym, SCM_BOOL_T); } set_empty (invisible_b ()); + set_spacing_hints (); +} + + + +/** + set stem directions for hinting the optical spacing correction. + + Modifies DIR_LIST property of the Stem's Score_column + + TODO: more advanced: supply height of noteheads as well, for more advanced spacing possibilities + */ +void +Stem::set_spacing_hints () +{ + if (!invisible_b ()) + { + SCM scmdir = gh_int2scm (dir_); + SCM dirlist = column_l ()->get_elt_property (dir_list_scm_sym); + if (dirlist == SCM_BOOL_F) + dirlist = SCM_EOL; + else + dirlist = SCM_CDR (dirlist); + + if (scm_sloppy_memq (scmdir, dirlist) == SCM_EOL) + { + dirlist = gh_cons (scmdir, dirlist); + column_l ()->set_elt_property (dir_list_scm_sym, dirlist); + } + } } @@ -280,8 +310,9 @@ Stem::do_brew_molecule_p () const if (!invisible_b ()) { - Molecule ss =lookup_l ()->stem (stem_y[DOWN]*dy, - stem_y[UP]*dy); + Real stem_width = paper_l ()->get_var ("stemthickness"); + Molecule ss =lookup_l ()->filledbox (Box (Interval (-stem_width/2, stem_width/2), + Interval (stem_y[DOWN]*dy, stem_y[UP]*dy))); mol_p->add_molecule (ss); } diff --git a/lily/time-signature.cc b/lily/time-signature.cc index d5a2b727d8..75bbaa2ee2 100644 --- a/lily/time-signature.cc +++ b/lily/time-signature.cc @@ -26,15 +26,15 @@ Time_signature::do_brew_molecule_p () const if (time_sig_type_str_[0]=='1') { Array tmparr = args_; - return new Molecule( lookup_l ()->time_signature (args_[0], 0)); + return new Molecule( lookup_l ()->time_signature (args_[0], 0, paper_l ())); } else { - return new Molecule( lookup_l ()-> special_time_signature (time_sig_type_str_ ,args_[0], args_[1])); + return new Molecule( lookup_l ()-> special_time_signature (time_sig_type_str_ ,args_[0], args_[1], paper_l ())); } } else - return new Molecule(lookup_l ()->time_signature (args_[0], args_[1])); + return new Molecule(lookup_l ()->time_signature (args_[0], args_[1],paper_l ())); } diff --git a/lily/tuplet-spanner.cc b/lily/tuplet-spanner.cc index 1383acbb1d..3f76d659e1 100644 --- a/lily/tuplet-spanner.cc +++ b/lily/tuplet-spanner.cc @@ -16,6 +16,8 @@ #include "tuplet-spanner.hh" #include "stem.hh" #include "note-column.hh" +#include "dimensions.hh" + Tuplet_spanner::Tuplet_spanner () { @@ -53,7 +55,7 @@ Tuplet_spanner::do_brew_molecule_p () const Real ncw = column_arr_.top ()->extent (X_AXIS).length (); Real w = extent (X_AXIS).length () + ncw; Molecule num (lookup_l ()->text ("italic", - number_str_)); + number_str_, paper_l ())); num.align_to (X_AXIS, CENTER); num.translate_axis (w/2, X_AXIS); Real interline = paper_l ()->get_realvar (interline_scm_sym); @@ -63,16 +65,11 @@ Tuplet_spanner::do_brew_molecule_p () const num.translate_axis (dir_ * interline, Y_AXIS); num.translate_axis (dy/2, Y_AXIS); - - /* if (beam_l_arr_.size () == 1 && !bracket_visibility) - { - num.translate_axis (dir_ * interline, Y_AXIS); - } - */ + Real thick = paper_l ()->get_realvar (tuplet_thick_scm_sym); if (bracket_visibility) { - mol_p->add_molecule (lookup_l ()->plet (dy, w, dir_)); + mol_p->add_molecule (lookup_l ()->tuplet_bracket (dy, w, thick, interline, dir_)); } if (number_visibility) diff --git a/lily/volta-spanner.cc b/lily/volta-spanner.cc index 39d220d442..32c48b9687 100644 --- a/lily/volta-spanner.cc +++ b/lily/volta-spanner.cc @@ -33,16 +33,16 @@ Volta_spanner::do_brew_molecule_p () const if (!column_arr_.size ()) return mol_p; - - Real internote_f = paper_l ()->get_realvar (interline_scm_sym)/2.0; + Real interline_f = paper_l ()->get_realvar (interline_scm_sym); + Real internote_f = interline_f/2; + Real t = paper_l ()->get_realvar (volta_thick_scm_sym); Real dx = internote_f; Real w = extent (X_AXIS).length () - dx; - Molecule volta (lookup_l ()->volta (w, last_b_)); + Molecule volta (lookup_l ()->volta (w, t, interline_f, last_b_)); Real h = volta.dim_.y ().length (); - - Molecule num (lookup_l ()->text ("volta", number_str_)); + Molecule num (lookup_l ()->text ("volta", number_str_, paper_l ())); Real dy = column_arr_.top ()->extent (Y_AXIS) [UP] > column_arr_[0]->extent (Y_AXIS) [UP]; dy += 2 * h; @@ -51,7 +51,7 @@ Volta_spanner::do_brew_molecule_p () const dy = dy >? note_column_arr_[i]->extent (Y_AXIS)[BIGGER]; dy -= h; - Molecule two (lookup_l ()->text ("number", "2")); + Molecule two (lookup_l ()->text ("number", "2", paper_l ())); Real gap = two.dim_.x ().length () / 2; Offset off (num.dim_.x ().length () + gap, h / internote_f - gap); diff --git a/lily/word-wrap.cc b/lily/word-wrap.cc index 49eeb41efd..789117b757 100644 --- a/lily/word-wrap.cc +++ b/lily/word-wrap.cc @@ -99,16 +99,20 @@ Word_wrap::do_solve () const break; } + /* + UGR! bug! + */ if (current.energy_f_ < minimum.energy_f_ || current.energy_f_ < 0) { minimum = current; } - else { // we're one col too far. - break_idx--; - while (allcols[curcol_idx] != breakpoints[break_idx]) - curcol_idx --; - break; // do the next line. - } + else + { // we're one col too far. + break_idx--; + while (allcols[curcol_idx] != breakpoints[break_idx]) + curcol_idx --; + break; // do the next line. + } // add nobreak version of breakable column diff --git a/ly/book-fragment.ly b/ly/book-fragment.ly index 05eb9b5ab4..514693c498 100644 --- a/ly/book-fragment.ly +++ b/ly/book-fragment.ly @@ -1,6 +1,6 @@ % Toplevel initialisation file. -\version "1.0.20"; +\version "1.0.21"; \include "declarations.ly" diff --git a/ly/book-init.ly b/ly/book-init.ly index eaf3e7bf2a..3bba4f0837 100644 --- a/ly/book-init.ly +++ b/ly/book-init.ly @@ -1,6 +1,6 @@ % Toplevel initialisation file. -\version "1.0.20"; +\version "1.0.21"; \include "declarations.ly"; diff --git a/ly/center-fragment.ly b/ly/center-fragment.ly index 65c2f669d3..a5bfb07806 100644 --- a/ly/center-fragment.ly +++ b/ly/center-fragment.ly @@ -1,7 +1,7 @@ % Toplevel initialisation file. -\version "1.0.20"; +\version "1.0.21"; \include "declarations.ly" diff --git a/ly/center.ly b/ly/center.ly index 4d5a0bf5dc..b32c0338a4 100644 --- a/ly/center.ly +++ b/ly/center.ly @@ -1,6 +1,6 @@ % Toplevel initialisation file. -\version "1.0.20"; +\version "1.0.21"; \include "declarations.ly" diff --git a/ly/fragment.ly b/ly/fragment.ly index 13500905ec..57e9bba99e 100644 --- a/ly/fragment.ly +++ b/ly/fragment.ly @@ -1,6 +1,6 @@ % Toplevel initialisation file. -\version "1.0.20"; +\version "1.0.21"; \include "declarations.ly" diff --git a/ly/init.fly b/ly/init.fly index 31215a15ca..13ef9a393b 100644 --- a/ly/init.fly +++ b/ly/init.fly @@ -1,6 +1,6 @@ % Toplevel initialisation file. -\version "1.0.20"; +\version "1.0.21"; \include "declarations.ly" diff --git a/ly/init.ly b/ly/init.ly index 5f652ecdcf..10f2c49593 100644 --- a/ly/init.ly +++ b/ly/init.ly @@ -1,6 +1,6 @@ % Toplevel initialisation file. -\version "1.0.20"; +\version "1.0.21"; \include "declarations.ly"; diff --git a/ly/init.sly b/ly/init.sly index 8f03850e7e..ccd35763e3 100644 --- a/ly/init.sly +++ b/ly/init.sly @@ -1,6 +1,6 @@ % Toplevel initialisation file. -\version "1.0.20"; +\version "1.0.21"; \include "declarations.ly" @@ -10,8 +10,8 @@ \maininput } \paper { - linewidth=-1.0; - indent = 0.0; + linewidth=-1.0; + % indent = 0.0; } \midi{ } } diff --git a/ly/paper16.ly b/ly/paper16.ly index e499491a65..e439ab17b3 100644 --- a/ly/paper16.ly +++ b/ly/paper16.ly @@ -2,7 +2,7 @@ -\version "1.0.20"; +\version "1.0.21"; paper_sixteen = \paper { staffheight = 16.0\pt; diff --git a/ly/paper20.ly b/ly/paper20.ly index 2de985a5f0..90bebc6d7d 100644 --- a/ly/paper20.ly +++ b/ly/paper20.ly @@ -1,7 +1,7 @@ % paper20.ly -\version "1.0.20"; +\version "1.0.21"; paper_twenty = \paper { staffheight = 20.0\pt; diff --git a/ly/params.ly b/ly/params.ly index 845417014a..33fabb80ab 100644 --- a/ly/params.ly +++ b/ly/params.ly @@ -143,8 +143,12 @@ crescendo_shorten = 4.0 * \interline; restcollision_minimum_dist = 3.0; restcollision_minimum_beamdist = 1.5; -postBreakPadding = 1.0*\interline; +% deprecated! +postBreakPadding = 0.0; + +stemSpacingCorrection = 0.5*\interline; \include "engraver.ly"; + diff --git a/ly/property.ly b/ly/property.ly index 7aa173d0b4..979e2e66f0 100644 --- a/ly/property.ly +++ b/ly/property.ly @@ -30,8 +30,8 @@ slurdown = \notes { \property Voice.slurVerticalDirection = \down } -shifton = \property Voice.hshift = 1 -shiftoff = \property Voice.hshift = 0 +shifton = \property Voice.horizontalNoteShift = 1 +shiftoff = \property Voice.horizontalNoteShift = 0 onevoice = { \stemboth \shiftoff @@ -59,33 +59,6 @@ voicefour = \shifton } -onestaff = - \translator Staff=one - - -staffone = { - \translator Staff=one - \property Staff.verticalDirection = \center - \property Staff.hshift = 0 -} - -stafftwo = { - \translator Staff=two - \property Staff.verticalDirection = \center - \property Staff.hshift = 0 -} - -staffthree = { - \translator Staff=three - \property Staff.verticalDirection = \center - \property Staff.hshift = 0 -} - -stafffour = { - \translator Staff=four - \property Staff.verticalDirection = \center - \property Staff.hshift = 0 -} % ugh, cluttering global namespace... diff --git a/make/out/lelievijver.lsm b/make/out/lelievijver.lsm index 0a7d845f6f..ae3de9afdb 100644 --- a/make/out/lelievijver.lsm +++ b/make/out/lelievijver.lsm @@ -1,15 +1,15 @@ Begin3 Titel: LilyPond -Versie: 1.1.48 -Inschrijf datum: 17JUN99 +Versie: 1.1.49 +Inschrijf datum: 21JUN99 Beschrijving: @FLAPTEKST@ Trefwoorden: muziek typezetten midi notatie Auteur: hanwen@stack.nl (Han-Wen Nienhuys) janneke@gnu.org (Jan Nieuwenhuizen) Onderhouden door: hanwen@cs.ruu.nl (Han-Wen Nienhuys) Voornaamste plek: sunsite.unc.edu /pub/Linux/apps - 770k lilypond-1.1.48.tar.gz + 770k lilypond-1.1.49.tar.gz Oorspronkelijke plek: ftp.cs.uu.nl /pub/GNU/LilyPond/development/ - 770k lilypond-1.1.48.tar.gz + 770k lilypond-1.1.49.tar.gz Copi-eer voorwaarden: GPL End diff --git a/make/out/lilypond.lsm b/make/out/lilypond.lsm index f4dc825184..2de95469e3 100644 --- a/make/out/lilypond.lsm +++ b/make/out/lilypond.lsm @@ -1,7 +1,7 @@ Begin3 Title: LilyPond -Version: 1.1.48 -Entered-date: 17JUN99 +Version: 1.1.49 +Entered-date: 21JUN99 Description: LilyPond is the GNU Project music typesetter. This program can print beautiful sheet music from a music definition file. It can also play @@ -14,8 +14,8 @@ Author: hanwen@cs.ruu.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 - 770k lilypond-1.1.48.tar.gz + 770k lilypond-1.1.49.tar.gz Original-site: ftp.cs.uu.nl /pub/GNU/LilyPond/development/ - 770k lilypond-1.1.48.tar.gz + 770k lilypond-1.1.49.tar.gz Copying-policy: GPL End diff --git a/make/out/lilypond.spec b/make/out/lilypond.spec index 24649e39a4..3a3d179375 100644 --- a/make/out/lilypond.spec +++ b/make/out/lilypond.spec @@ -1,9 +1,9 @@ Name: lilypond -Version: 1.1.48 +Version: 1.1.49 Release: 1 Copyright: GPL Group: Applications/Publishing -Source0: ftp.cs.uu.nl:/pub/GNU/LilyPond/development/lilypond-1.1.48.tar.gz +Source0: ftp.cs.uu.nl:/pub/GNU/LilyPond/development/lilypond-1.1.49.tar.gz Summary: A program for printing sheet music. URL: http://www.cs.uu.nl/~hanwen/lilypond Packager: Han-Wen Nienhuys diff --git a/mf/GNUmakefile b/mf/GNUmakefile index 2566a2f5f7..44946caef7 100644 --- a/mf/GNUmakefile +++ b/mf/GNUmakefile @@ -4,7 +4,7 @@ depth = .. STEPMAKE_TEMPLATES=metafont metapost install install-out -EXTRA_DIST_FILES += TODO README feta.mp mfplain.ini +EXTRA_DIST_FILES += README feta.mp mfplain.ini FET_FILES = $(wildcard feta[0-9]*.mf) diff --git a/mf/TODO b/mf/TODO deleted file mode 100644 index 8b13789179..0000000000 --- a/mf/TODO +++ /dev/null @@ -1 +0,0 @@ - diff --git a/mutopia/Coriolan/bassi-part.ly b/mutopia/Coriolan/bassi-part.ly index e90c55e26d..0bca494223 100644 --- a/mutopia/Coriolan/bassi-part.ly +++ b/mutopia/Coriolan/bassi-part.ly @@ -7,7 +7,7 @@ enteredby = "JCN"; copyright = "public domain"; } -\version "1.0.20"; +\version "1.0.21"; \include "global.ly" \include "violoncello.ly" diff --git a/mutopia/Coriolan/clarinetti-part.ly b/mutopia/Coriolan/clarinetti-part.ly index a43c6dfe97..923b3b57c6 100644 --- a/mutopia/Coriolan/clarinetti-part.ly +++ b/mutopia/Coriolan/clarinetti-part.ly @@ -7,7 +7,7 @@ enteredby = "JCN"; copyright = "public domain"; } -\version "1.0.20"; +\version "1.0.21"; \include "global.ly" \include "clarinetti.ly" diff --git a/mutopia/Coriolan/clarinetti.ly b/mutopia/Coriolan/clarinetti.ly index 581cf740e5..aa441a3ba3 100644 --- a/mutopia/Coriolan/clarinetti.ly +++ b/mutopia/Coriolan/clarinetti.ly @@ -9,7 +9,7 @@ copyright = "public domain"; } -\version "1.0.20"; +\version "1.0.21"; \include "clarinetto-1.ly" \include "clarinetto-2.ly" diff --git a/mutopia/Coriolan/clarinetto-1.ly b/mutopia/Coriolan/clarinetto-1.ly index 7645f4172b..dca9983180 100644 --- a/mutopia/Coriolan/clarinetto-1.ly +++ b/mutopia/Coriolan/clarinetto-1.ly @@ -9,7 +9,7 @@ copyright = "public domain"; } -\version "1.0.20"; +\version "1.0.21"; clarinetto1 = \notes \relative c { R1 *2 | d''4-.\ff r r2 | R1 *3 | e4-. r r2 | R1 *3 | diff --git a/mutopia/Coriolan/clarinetto-2.ly b/mutopia/Coriolan/clarinetto-2.ly index 7503d18ada..281418a8fd 100644 --- a/mutopia/Coriolan/clarinetto-2.ly +++ b/mutopia/Coriolan/clarinetto-2.ly @@ -9,7 +9,7 @@ copyright = "public domain"; } -\version "1.0.20"; +\version "1.0.21"; clarinetto2 = \notes \relative c { R1*2 bes''4-.\ff r r2 | R1*3 | cis4-. r r2 | R1 *3 | diff --git a/mutopia/Coriolan/contrabasso-part.ly b/mutopia/Coriolan/contrabasso-part.ly index 0f0a58c52d..8f364a98cc 100644 --- a/mutopia/Coriolan/contrabasso-part.ly +++ b/mutopia/Coriolan/contrabasso-part.ly @@ -7,7 +7,7 @@ enteredby = "JCN"; copyright = "public domain"; } -\version "1.0.20"; +\version "1.0.21"; \include "global.ly" \include "contrabasso.ly" diff --git a/mutopia/Coriolan/contrabasso.ly b/mutopia/Coriolan/contrabasso.ly index c958df6f43..24ee6a2a3c 100644 --- a/mutopia/Coriolan/contrabasso.ly +++ b/mutopia/Coriolan/contrabasso.ly @@ -7,7 +7,7 @@ enteredby = "JCN"; copyright = "public domain"; } -\version "1.0.20"; +\version "1.0.21"; contrabasso = \notes \relative c { % \translator Staff=violoncello diff --git a/mutopia/Coriolan/coriolan.ly b/mutopia/Coriolan/coriolan.ly index aaa82c488b..70a369b32b 100644 --- a/mutopia/Coriolan/coriolan.ly +++ b/mutopia/Coriolan/coriolan.ly @@ -7,7 +7,7 @@ enteredby = "JCN"; copyright = "public domain"; } -\version "1.0.20"; +\version "1.0.21"; \include "global.ly" @@ -66,7 +66,7 @@ strijkers = \context StaffGroup = strijkers_group < \score{ < - \property Score . textstyle = "italic" + \property Score . textStyle = "italic" \$legno \$koper diff --git a/mutopia/Coriolan/corni-part.ly b/mutopia/Coriolan/corni-part.ly index b904ec9b8c..18356afdb4 100644 --- a/mutopia/Coriolan/corni-part.ly +++ b/mutopia/Coriolan/corni-part.ly @@ -7,7 +7,7 @@ enteredby = "JCN"; copyright = "public domain"; } -\version "1.0.20"; +\version "1.0.21"; \include "global.ly" \include "corni.ly" diff --git a/mutopia/Coriolan/corni.ly b/mutopia/Coriolan/corni.ly index dc490a2704..3baa0bff1a 100644 --- a/mutopia/Coriolan/corni.ly +++ b/mutopia/Coriolan/corni.ly @@ -9,7 +9,7 @@ copyright = "public domain"; } -\version "1.0.20"; +\version "1.0.21"; \include "corno-1.ly" \include "corno-2.ly" diff --git a/mutopia/Coriolan/corno-1.ly b/mutopia/Coriolan/corno-1.ly index 5db1f24206..c3ea92df03 100644 --- a/mutopia/Coriolan/corno-1.ly +++ b/mutopia/Coriolan/corno-1.ly @@ -7,7 +7,7 @@ enteredby = "JCN"; copyright = "public domain"; } -\version "1.0.20"; +\version "1.0.21"; corno1 = \notes \relative c { R1 *2 | f''4-.\ff r r2 | R1 *3 | f4-. r r2 | R1 *3 | diff --git a/mutopia/Coriolan/corno-2.ly b/mutopia/Coriolan/corno-2.ly index d05eb04bfd..2461ec83d4 100644 --- a/mutopia/Coriolan/corno-2.ly +++ b/mutopia/Coriolan/corno-2.ly @@ -7,7 +7,7 @@ enteredby = "JCN"; copyright = "public domain"; } -\version "1.0.20"; +\version "1.0.21"; corno2 = \notes \relative c { R1 *2 | d''4-.\ff r r2 | R1 *3 | d4-. r r2 | R1 *3 | diff --git a/mutopia/Coriolan/fagotti-part.ly b/mutopia/Coriolan/fagotti-part.ly index 77cf1e3abf..94fd4fd552 100644 --- a/mutopia/Coriolan/fagotti-part.ly +++ b/mutopia/Coriolan/fagotti-part.ly @@ -9,7 +9,7 @@ copyright = "public domain"; } -\version "1.0.20"; +\version "1.0.21"; \include "global.ly" \include "fagotti.ly" diff --git a/mutopia/Coriolan/fagotti.ly b/mutopia/Coriolan/fagotti.ly index f8d277a584..555c01ef9b 100644 --- a/mutopia/Coriolan/fagotti.ly +++ b/mutopia/Coriolan/fagotti.ly @@ -9,7 +9,7 @@ copyright = "public domain"; } -\version "1.0.20"; +\version "1.0.21"; \include "fagotto-1.ly" \include "fagotto-2.ly" diff --git a/mutopia/Coriolan/fagotto-1.ly b/mutopia/Coriolan/fagotto-1.ly index 096176e765..fcdb906da0 100644 --- a/mutopia/Coriolan/fagotto-1.ly +++ b/mutopia/Coriolan/fagotto-1.ly @@ -9,7 +9,7 @@ copyright = "public domain"; } -\version "1.0.20"; +\version "1.0.21"; fagotto1 = \notes \relative c { R1 *2 | as'4-.\ff r r2 | R1 *3 | as4-. r r2 | R1 *3 | diff --git a/mutopia/Coriolan/fagotto-2.ly b/mutopia/Coriolan/fagotto-2.ly index d5aaf3e699..980337e003 100644 --- a/mutopia/Coriolan/fagotto-2.ly +++ b/mutopia/Coriolan/fagotto-2.ly @@ -7,7 +7,7 @@ enteredby = "JCN"; copyright = "public domain"; } -\version "1.0.20"; +\version "1.0.21"; fagotto2 = \notes \relative c { R1 *2 | f4-.\ff r r2 | R1 *3 | f4-. r r2 | R1 *3 | diff --git a/mutopia/Coriolan/flauti-part.ly b/mutopia/Coriolan/flauti-part.ly index ff50562870..e10242a35b 100644 --- a/mutopia/Coriolan/flauti-part.ly +++ b/mutopia/Coriolan/flauti-part.ly @@ -9,7 +9,7 @@ copyright = "public domain"; } -\version "1.0.20"; +\version "1.0.21"; \include "global.ly" \include "flauti.ly" diff --git a/mutopia/Coriolan/flauti.ly b/mutopia/Coriolan/flauti.ly index 1557ba98d1..335cfd3091 100644 --- a/mutopia/Coriolan/flauti.ly +++ b/mutopia/Coriolan/flauti.ly @@ -9,7 +9,7 @@ copyright = "public domain"; } -\version "1.0.20"; +\version "1.0.21"; \include "flauto-1.ly" \include "flauto-2.ly" diff --git a/mutopia/Coriolan/flauto-1.ly b/mutopia/Coriolan/flauto-1.ly index faf51d925c..4ae7119a3b 100644 --- a/mutopia/Coriolan/flauto-1.ly +++ b/mutopia/Coriolan/flauto-1.ly @@ -7,7 +7,7 @@ enteredby = "JCN"; copyright = "public domain"; } -\version "1.0.20"; +\version "1.0.21"; flauto1 = \notes \relative c { R1 *2 | c'''4-.\ff r r2 | R1 *3 | d4-. r r2 | R1 *3 | diff --git a/mutopia/Coriolan/flauto-2.ly b/mutopia/Coriolan/flauto-2.ly index 310d693398..067a3620df 100644 --- a/mutopia/Coriolan/flauto-2.ly +++ b/mutopia/Coriolan/flauto-2.ly @@ -7,7 +7,7 @@ enteredby = "JCN"; copyright = "public domain"; } -\version "1.0.20"; +\version "1.0.21"; flauto2 = \notes \relative c { R1 *2 | as'''4-.\ff r r2 | R1 *3 | b4-. r r2 | R1 *3 | diff --git a/mutopia/Coriolan/global.ly b/mutopia/Coriolan/global.ly index cf487141d8..8eefc99001 100644 --- a/mutopia/Coriolan/global.ly +++ b/mutopia/Coriolan/global.ly @@ -9,7 +9,7 @@ copyright = "public domain"; } -\version "1.0.20"; +\version "1.0.21"; global = \notes { \time 4/4; diff --git a/mutopia/Coriolan/oboe-1.ly b/mutopia/Coriolan/oboe-1.ly index 67d9d6d3b3..4631ba29e4 100644 --- a/mutopia/Coriolan/oboe-1.ly +++ b/mutopia/Coriolan/oboe-1.ly @@ -7,7 +7,7 @@ enteredby = "JCN"; copyright = "public domain"; } -\version "1.0.20"; +\version "1.0.21"; oboe1 = \notes \relative c'' { R1 *2 | as'4-.\ff r r2 | R1 *3 | as4-. r r2 | R1 *3 | diff --git a/mutopia/Coriolan/oboe-2.ly b/mutopia/Coriolan/oboe-2.ly index c92d6d88d1..8a138bde03 100644 --- a/mutopia/Coriolan/oboe-2.ly +++ b/mutopia/Coriolan/oboe-2.ly @@ -9,7 +9,7 @@ copyright = "public domain"; } -\version "1.0.20"; +\version "1.0.21"; oboe2 = \notes \relative c{ R1 *2| f''4-.\ff r r2 | R1 *3 | f4-. r r2 | R1 *3 | diff --git a/mutopia/Coriolan/oboi-part.ly b/mutopia/Coriolan/oboi-part.ly index 599c688daa..cbdc44edb3 100644 --- a/mutopia/Coriolan/oboi-part.ly +++ b/mutopia/Coriolan/oboi-part.ly @@ -9,7 +9,7 @@ copyright = "public domain"; } -\version "1.0.20"; +\version "1.0.21"; \include "global.ly" \include "oboi.ly" diff --git a/mutopia/Coriolan/oboi.ly b/mutopia/Coriolan/oboi.ly index b3f61ac178..d9d8db98d5 100644 --- a/mutopia/Coriolan/oboi.ly +++ b/mutopia/Coriolan/oboi.ly @@ -9,7 +9,7 @@ copyright = "public domain"; } -\version "1.0.20"; +\version "1.0.21"; \include "oboe-1.ly" \include "oboe-2.ly" diff --git a/mutopia/Coriolan/timpani.ly b/mutopia/Coriolan/timpani.ly index b2fefcf945..64182a018a 100644 --- a/mutopia/Coriolan/timpani.ly +++ b/mutopia/Coriolan/timpani.ly @@ -9,7 +9,7 @@ copyright = "public domain"; } -\version "1.0.20"; +\version "1.0.21"; timpani = \notes \relative c { R1 *2 | c4-.\ff r r2 | R1 *3 | c4-. r r2 | R1 *3 | diff --git a/mutopia/Coriolan/trombe-part.ly b/mutopia/Coriolan/trombe-part.ly index 4065c85e5c..7e829fc02e 100644 --- a/mutopia/Coriolan/trombe-part.ly +++ b/mutopia/Coriolan/trombe-part.ly @@ -9,7 +9,7 @@ copyright = "public domain"; } -\version "1.0.20"; +\version "1.0.21"; \include "global.ly" \include "trombe.ly" diff --git a/mutopia/Coriolan/trombe.ly b/mutopia/Coriolan/trombe.ly index f552fd2c6e..28ea0951ff 100644 --- a/mutopia/Coriolan/trombe.ly +++ b/mutopia/Coriolan/trombe.ly @@ -9,7 +9,7 @@ copyright = "public domain"; } -\version "1.0.20"; +\version "1.0.21"; \include "trombo-1.ly" \include "trombo-2.ly" diff --git a/mutopia/Coriolan/trombo-1.ly b/mutopia/Coriolan/trombo-1.ly index 8d8952e75c..1d7a55ee4d 100644 --- a/mutopia/Coriolan/trombo-1.ly +++ b/mutopia/Coriolan/trombo-1.ly @@ -7,7 +7,7 @@ enteredby = "JCN"; copyright = "public domain"; } -\version "1.0.20"; +\version "1.0.21"; trombo1 = \notes \relative c { R1 *2 | c''4-.\ff r r2 | R1 *3 | c4-. r r2 | R1 *3 | diff --git a/mutopia/Coriolan/trombo-2.ly b/mutopia/Coriolan/trombo-2.ly index 3812ea54ef..92fd2bfa75 100644 --- a/mutopia/Coriolan/trombo-2.ly +++ b/mutopia/Coriolan/trombo-2.ly @@ -7,7 +7,7 @@ enteredby = "JCN"; copyright = "public domain"; } -\version "1.0.20"; +\version "1.0.21"; trombo2 = \notes \relative c { R1 *2 | c'4-.\ff r r2 | R1 *3 | c4-. r r2 | R1 *3 | diff --git a/mutopia/Coriolan/viola-1.ly b/mutopia/Coriolan/viola-1.ly index 92a2f3211f..7aac9fc86b 100644 --- a/mutopia/Coriolan/viola-1.ly +++ b/mutopia/Coriolan/viola-1.ly @@ -7,7 +7,7 @@ enteredby = "JCN"; copyright = "public domain"; } -\version "1.0.20"; +\version "1.0.21"; viola1 = \notes \relative c { \context Voice=one diff --git a/mutopia/Coriolan/viola-2.ly b/mutopia/Coriolan/viola-2.ly index b0e5f7fe04..1f1c90e041 100644 --- a/mutopia/Coriolan/viola-2.ly +++ b/mutopia/Coriolan/viola-2.ly @@ -7,7 +7,7 @@ enteredby = "JCN"; copyright = "public domain"; } -\version "1.0.20"; +\version "1.0.21"; viola2 = \notes \relative c { % starts on (actualy, most part is on) same staff as viola1 diff --git a/mutopia/Coriolan/viola-part.ly b/mutopia/Coriolan/viola-part.ly index e3ce9da93c..f6ac9f640a 100644 --- a/mutopia/Coriolan/viola-part.ly +++ b/mutopia/Coriolan/viola-part.ly @@ -7,7 +7,7 @@ enteredby = "JCN"; copyright = "public domain"; } -\version "1.0.20"; +\version "1.0.21"; \include "global.ly" \include "viola-1.ly" diff --git a/mutopia/Coriolan/violino-1-part.ly b/mutopia/Coriolan/violino-1-part.ly index 3ed4fb306f..e5641f9fd1 100644 --- a/mutopia/Coriolan/violino-1-part.ly +++ b/mutopia/Coriolan/violino-1-part.ly @@ -7,7 +7,7 @@ enteredby = "JCN"; copyright = "public domain"; } -\version "1.0.20"; +\version "1.0.21"; \include "global.ly" \include "violino-1.ly" diff --git a/mutopia/Coriolan/violino-1.ly b/mutopia/Coriolan/violino-1.ly index 2e4b87f08a..b77cd240aa 100644 --- a/mutopia/Coriolan/violino-1.ly +++ b/mutopia/Coriolan/violino-1.ly @@ -7,7 +7,7 @@ enteredby = "JCN"; copyright = "public domain"; } -\version "1.0.20"; +\version "1.0.21"; violino1 = \notes \relative c { c'1\ff ~ | c | r r2 | R1 | diff --git a/mutopia/Coriolan/violino-2-part.ly b/mutopia/Coriolan/violino-2-part.ly index e738e9d945..89cc9cb00d 100644 --- a/mutopia/Coriolan/violino-2-part.ly +++ b/mutopia/Coriolan/violino-2-part.ly @@ -7,7 +7,7 @@ enteredby = "JCN"; copyright = "public domain"; } -\version "1.0.20"; +\version "1.0.21"; \include "global.ly" \include "violino-2.ly" diff --git a/mutopia/Coriolan/violino-2.ly b/mutopia/Coriolan/violino-2.ly index 535a41690d..d9e906c74e 100644 --- a/mutopia/Coriolan/violino-2.ly +++ b/mutopia/Coriolan/violino-2.ly @@ -7,7 +7,7 @@ enteredby = "JCN"; copyright = "public domain"; } -\version "1.0.20"; +\version "1.0.21"; violino2 = \notes \relative c { c'1\ff ~ | c | r r2 | R1 | diff --git a/mutopia/Coriolan/violoncello-part.ly b/mutopia/Coriolan/violoncello-part.ly index 4f40fbf0c8..34f48f6a20 100644 --- a/mutopia/Coriolan/violoncello-part.ly +++ b/mutopia/Coriolan/violoncello-part.ly @@ -7,7 +7,7 @@ enteredby = "JCN"; copyright = "public domain"; } -\version "1.0.20"; +\version "1.0.21"; \include "global.ly" \include "violoncello.ly" diff --git a/mutopia/Coriolan/violoncello.ly b/mutopia/Coriolan/violoncello.ly index 070c820f63..28ffd4c402 100644 --- a/mutopia/Coriolan/violoncello.ly +++ b/mutopia/Coriolan/violoncello.ly @@ -9,7 +9,7 @@ copyright = "public domain"; } -\version "1.0.20"; +\version "1.0.21"; violoncello = \notes \relative c { c1\ff ~ | c | f,4-. r r2 | r1 | c'1\ff ~ | c | f,4-. r r2 | diff --git a/mutopia/D.Scarlatti/progress.ly b/mutopia/D.Scarlatti/progress.ly index caf9418923..95aecf997d 100644 --- a/mutopia/D.Scarlatti/progress.ly +++ b/mutopia/D.Scarlatti/progress.ly @@ -807,4 +807,4 @@ Bar_number_engraver;}} ---------------------------------------------------- -\version "1.0.20"; +\version "1.0.21"; diff --git a/mutopia/D.Scarlatti/sonata-k1-l366.ly b/mutopia/D.Scarlatti/sonata-k1-l366.ly index e135d8343a..18b3e31933 100644 --- a/mutopia/D.Scarlatti/sonata-k1-l366.ly +++ b/mutopia/D.Scarlatti/sonata-k1-l366.ly @@ -266,4 +266,4 @@ s1 \paper{barsize=50.0; \translator {\StaffContext \consists Bar_number_engraver;}} } -\version "1.0.20"; +\version "1.0.21"; diff --git a/mutopia/D.Scarlatti/sonata-k2-l388.ly b/mutopia/D.Scarlatti/sonata-k2-l388.ly index af3e3b6c3d..27fa3e2c83 100644 --- a/mutopia/D.Scarlatti/sonata-k2-l388.ly +++ b/mutopia/D.Scarlatti/sonata-k2-l388.ly @@ -336,4 +336,4 @@ g,4. | Bar_number_engraver;}} } -\version "1.0.20"; +\version "1.0.21"; diff --git a/mutopia/D.Scarlatti/sonata-k3-l378.ly b/mutopia/D.Scarlatti/sonata-k3-l378.ly index 7f86194155..fcd51d8fae 100644 --- a/mutopia/D.Scarlatti/sonata-k3-l378.ly +++ b/mutopia/D.Scarlatti/sonata-k3-l378.ly @@ -251,4 +251,4 @@ LHtoL = { \tolower \stemdown } } -\version "1.0.20"; +\version "1.0.21"; diff --git a/mutopia/D.Scarlatti/sonata-k4-l390.ly b/mutopia/D.Scarlatti/sonata-k4-l390.ly index bffe458f17..e4fe831087 100644 --- a/mutopia/D.Scarlatti/sonata-k4-l390.ly +++ b/mutopia/D.Scarlatti/sonata-k4-l390.ly @@ -311,4 +311,4 @@ s8 [c''16 g'8 fis'16] [bes'' g' f' ees'] | \paper{barsize=50.0; \translator {\StaffContext \consists Bar_number_engraver;}} } -\version "1.0.20"; +\version "1.0.21"; diff --git a/mutopia/D.Zipoli/verso_2.ly b/mutopia/D.Zipoli/verso_2.ly index 524878c603..90984120b2 100644 --- a/mutopia/D.Zipoli/verso_2.ly +++ b/mutopia/D.Zipoli/verso_2.ly @@ -17,7 +17,7 @@ title = "Verso II"; under the Gnu Public Licence. %} -\version "1.0.20"; +\version "1.0.21"; $voice_one = \notes \relative c' { a'2 bes4. [c16 bes] | a4 d ~ d c ~ | c b ~ [b8 a] a4 ~| diff --git a/mutopia/E.Satie/gnossienne-4.ly b/mutopia/E.Satie/gnossienne-4.ly index c2ecc576f9..fc2f0b7a1e 100644 --- a/mutopia/E.Satie/gnossienne-4.ly +++ b/mutopia/E.Satie/gnossienne-4.ly @@ -12,7 +12,7 @@ Tested Features: cross staff beams and slurs, grace notes, no bars %} -\version "1.0.20"; +\version "1.0.21"; \include "nederlands.ly" diff --git a/mutopia/E.Satie/petite-ouverture-a-danser.ly b/mutopia/E.Satie/petite-ouverture-a-danser.ly index 4216696d5a..397be40bb6 100644 --- a/mutopia/E.Satie/petite-ouverture-a-danser.ly +++ b/mutopia/E.Satie/petite-ouverture-a-danser.ly @@ -12,7 +12,7 @@ Tested Features: %} -\version "1.0.20"; +\version "1.0.21"; \include "nederlands.ly" diff --git a/mutopia/F.Schubert/standchen-16.ly b/mutopia/F.Schubert/standchen-16.ly index 2ebcf919e3..d38c8cce4d 100644 --- a/mutopia/F.Schubert/standchen-16.ly +++ b/mutopia/F.Schubert/standchen-16.ly @@ -9,6 +9,6 @@ description = "A schubert song in 16 pt"; copyright = "public domain"; } -\version "1.0.20"; +\version "1.0.21"; \include "standchen.ly" diff --git a/mutopia/F.Schubert/standchen-20.ly b/mutopia/F.Schubert/standchen-20.ly index 9d32796aa8..9ae5a8c5d8 100644 --- a/mutopia/F.Schubert/standchen-20.ly +++ b/mutopia/F.Schubert/standchen-20.ly @@ -9,7 +9,7 @@ copyright = "public domain"; description = "A schubert song in 20 pt"; } -\version "1.0.20"; +\version "1.0.21"; % fool make-website % \include "standchen.ly"; diff --git a/mutopia/F.Schubert/standchen.ly b/mutopia/F.Schubert/standchen.ly index 8012f243ec..d76cc6f888 100644 --- a/mutopia/F.Schubert/standchen.ly +++ b/mutopia/F.Schubert/standchen.ly @@ -16,7 +16,7 @@ multiple \paper{}s in one \score Note: Original key F. %} -\version "1.0.20"; +\version "1.0.21"; $vocal_verse1 = \notes\relative c''{ % ugh: treble/bass @@ -260,7 +260,7 @@ $treble_through = \notes \relative c'{ < { a4.-> )f8 } { a4. f8 } > | r4 | r4 | - \property Voice . textstyle = "italic" + \property Voice . textStyle = "italic" r4 | %75 r4 | @@ -271,7 +271,7 @@ $treble_through = \notes \relative c'{ [ ] | [ ] | %80 - \property Voice . textstyle = "italic" + \property Voice . textStyle = "italic" | | | diff --git a/mutopia/GNUmakefile b/mutopia/GNUmakefile index aecac4abce..7cbaeea0ed 100644 --- a/mutopia/GNUmakefile +++ b/mutopia/GNUmakefile @@ -9,7 +9,7 @@ LOCALSTEPMAKE_TEMPLATES=mutopia include $(depth)/make/stepmake.make -EXTRA_DIST_FILES += TODO +EXTRA_DIST_FILES += diff --git a/mutopia/Hymns/diademata.ly b/mutopia/Hymns/diademata.ly index 61a8eac1c2..99e3b59d1d 100644 --- a/mutopia/Hymns/diademata.ly +++ b/mutopia/Hymns/diademata.ly @@ -6,7 +6,7 @@ date = "1868"; title = "Diademata"; metre = "6 6. 8 6. D"; } -\version "1.0.20"; +\version "1.0.21"; sop=\notes \transpose c''{ ees2 | ees4 ees4 g2 g2 | c'1. \bar "||"; diff --git a/mutopia/Hymns/laudatedom.ly b/mutopia/Hymns/laudatedom.ly index f208db7e27..5078d01f70 100644 --- a/mutopia/Hymns/laudatedom.ly +++ b/mutopia/Hymns/laudatedom.ly @@ -4,7 +4,7 @@ composer = "Parry"; metre = "10 10 . 11 11"; } -\version "1.0.20"; +\version "1.0.21"; sop = \notes \transpose c''{ f4 | d' bes c' | f2 \bar "||"; diff --git a/mutopia/Hymns/maccabaeus.ly b/mutopia/Hymns/maccabaeus.ly index 378f138a09..6a7ba8e9b7 100644 --- a/mutopia/Hymns/maccabaeus.ly +++ b/mutopia/Hymns/maccabaeus.ly @@ -7,7 +7,7 @@ title = "Maccabaeus"; metre = "10 11. 11 11. and refrain"; } -\version "1.0.20"; +\version "1.0.21"; sop=\notes \relative c'' { b2 gis4. a8 |b2 e,2 | diff --git a/mutopia/Hymns/ode.ly b/mutopia/Hymns/ode.ly index 3cf2fd36bf..9026a41041 100644 --- a/mutopia/Hymns/ode.ly +++ b/mutopia/Hymns/ode.ly @@ -7,7 +7,7 @@ title = "Ode to Joy"; metre = "8 7 8 7 D"; } -\version "1.0.20"; +\version "1.0.21"; sop=\notes \relative c'' { b4 b c d | d c b a | g g a b | b4. a8 a2 \bar "||"; diff --git a/mutopia/Hymns/stille.ly b/mutopia/Hymns/stille.ly index 4dd7397fa1..3c3a619e04 100644 --- a/mutopia/Hymns/stille.ly +++ b/mutopia/Hymns/stille.ly @@ -8,7 +8,7 @@ poet = "Joseph Mohr"; } -\version "1.0.20"; +\version "1.0.21"; global=\notes { \time 6/4; diff --git a/mutopia/J.S.Bach/Cembalo-Partitas/Partita_II_Allemande.ly b/mutopia/J.S.Bach/Cembalo-Partitas/Partita_II_Allemande.ly index 5f7be0b367..f2b28b3581 100644 --- a/mutopia/J.S.Bach/Cembalo-Partitas/Partita_II_Allemande.ly +++ b/mutopia/J.S.Bach/Cembalo-Partitas/Partita_II_Allemande.ly @@ -4,7 +4,7 @@ piece = "Allemande"; } -\version "1.0.20"; +\version "1.0.21"; global = \notes{ \time 4/4; diff --git a/mutopia/J.S.Bach/Cembalo-Partitas/Partita_II_Capriccio.ly b/mutopia/J.S.Bach/Cembalo-Partitas/Partita_II_Capriccio.ly index b5d1f9fd4b..5469e6bf52 100644 --- a/mutopia/J.S.Bach/Cembalo-Partitas/Partita_II_Capriccio.ly +++ b/mutopia/J.S.Bach/Cembalo-Partitas/Partita_II_Capriccio.ly @@ -10,7 +10,7 @@ %% %% Noe liknende skjer også i mellom andre og tredje stemme i takt 28 -\version "1.0.20"; +\version "1.0.21"; global = \notes{ \time 2/4; @@ -258,9 +258,9 @@ vTwo = \context Voice = voiceTwo \notes\relative c{ % ??? % What have i misunderstood? I want the note_head not to collide with % i hotehead i vOne - \property Voice.hshift = -1 + \property Voice.horizontalNoteShift = -1 d - \property Voice.hshift = 0 + \property Voice.horizontalNoteShift = 0 c4 b8 | } vThree = \context Voice = voiceThree \notes\relative c{ diff --git a/mutopia/J.S.Bach/Cembalo-Partitas/Partita_II_Sinfonia.ly b/mutopia/J.S.Bach/Cembalo-Partitas/Partita_II_Sinfonia.ly index 209c1f86c4..1a4ec05b46 100644 --- a/mutopia/J.S.Bach/Cembalo-Partitas/Partita_II_Sinfonia.ly +++ b/mutopia/J.S.Bach/Cembalo-Partitas/Partita_II_Sinfonia.ly @@ -10,7 +10,7 @@ copyright = "Public Domain"; } -\version "1.0.20"; +\version "1.0.21"; global = \notes { \time 4/4; @@ -31,7 +31,7 @@ hoyreOpp = \notes\relative c'' { bes4 r16 [bes,16 bes. c32] [des8. des16] \context Staff < { \stemup e4 } - { \stemup \property Voice.hshift = 1 [des16 c32 bes c16. g32] } + { \stemup \property Voice.horizontalNoteShift = 1 [des16 c32 bes c16. g32] } > %4 f4 \stemboth r16 [f g. as32] \stemup d,4 r16 [d g. es32] | @@ -40,7 +40,7 @@ hoyreOpp = \notes\relative c'' { <[es8. c> ] \context Staff < { \stemup fis4 } - { \stemup \property Voice.hshift = 1 [es16 d32 c d16. a32] } + { \stemup \property Voice.horizontalNoteShift = 1 [es16 d32 c d16. a32] } > g2 } @@ -80,7 +80,7 @@ venstreNed = \notes\relative c{ c4 r c r | r c c r | c r r c | c r r16 [c c. bes32] bes4 | r16 [bes bes. as32] as4_"tr" g r16 [d' d. es32] | \context Staff < - { \stemdown \property Voice.hshift = 1 [f8. f16] [b,8. b16] g4 r | } + { \stemdown \property Voice.horizontalNoteShift = 1 [f8. f16] [b,8. b16] g4 r | } { \stemdown s4 g} > r g g2 diff --git a/mutopia/J.S.Bach/Petites-Preludes/preludes-1.ly b/mutopia/J.S.Bach/Petites-Preludes/preludes-1.ly index 728f9e4ca8..ecb7306334 100644 --- a/mutopia/J.S.Bach/Petites-Preludes/preludes-1.ly +++ b/mutopia/J.S.Bach/Petites-Preludes/preludes-1.ly @@ -12,12 +12,12 @@ enteredby = "jcn"; copyright = "public domain"; } -\version "1.0.20"; +\version "1.0.21"; % upper = \context Staff \notes\relative c { upper = \context Staff=upper \notes\relative c { \context Voice=i - \property Voice . textstyle = "italic" + \property Voice . textStyle = "italic" % rediculous dim... % r16\p_"legato"\< g''-1( c-3 )e-5 r g,-1( c )e r16\p\< g''-1( c-3 )e-5 r g,-1( c )e @@ -88,7 +88,7 @@ upper = \context Staff=upper \notes\relative c { % lower = \context Staff \notes\relative c{ lower = \context Staff=lower \notes\relative c{ \context Voice=i - \property Voice . textstyle = "roman" + \property Voice . textStyle = "roman" c4-5 e-3 g-\mordent^"(\\textsharp)" g,4 | d'4-\mordent-5 f-3 a-\mordent^"(\\textsharp)" a,4 | e'-5 e'-\mordent-1 a,-4 b-\upprall | diff --git a/mutopia/J.S.Bach/Petites-Preludes/preludes-2.ly b/mutopia/J.S.Bach/Petites-Preludes/preludes-2.ly index dac1d147e2..d77cc32d9e 100644 --- a/mutopia/J.S.Bach/Petites-Preludes/preludes-2.ly +++ b/mutopia/J.S.Bach/Petites-Preludes/preludes-2.ly @@ -10,10 +10,10 @@ enteredby = "jcn"; copyright = "public domain"; } -\version "1.0.20"; +\version "1.0.21"; upper = \context Staff \notes\relative c{ \context Voice=i - \property Voice . textstyle = "italic" + \property Voice . textStyle = "italic" r8\mf c'-1( e-2 g-4 e-2 c-1 bes'-5 g-3 | )a-4\< c,-1( f-2 a-4 f c c'-5 a-3 | )b-4 g-1( b-2 d-4 b-2 g f'-5 \!d-3 | @@ -88,7 +88,7 @@ lower = \context Staff \notes\relative c{ g'-\mordent g, g'-\mordent g, | g'8 g,-5( b-4 d-2 b-4 g-5 f'!-1 d-3 | )e-2 c-4 e-2 g-1 e-3 c-5 c' e,-4 | - \property Voice . textstyle = "finger" + \property Voice . textStyle = "finger" f1^"3\\_1" ~ | f8 d-3 e-2 c-4 g'4-1 g,^"5\\_2" | diff --git a/mutopia/J.S.Bach/Petites-Preludes/preludes-4.ly b/mutopia/J.S.Bach/Petites-Preludes/preludes-4.ly index cfb68c0695..e40697f63e 100644 --- a/mutopia/J.S.Bach/Petites-Preludes/preludes-4.ly +++ b/mutopia/J.S.Bach/Petites-Preludes/preludes-4.ly @@ -8,17 +8,17 @@ composer = "Johann Sebastian Bach (1685-1750)"; enteredby = "jcn"; copyright = "public domain"; } -\version "1.0.20"; +\version "1.0.21"; one = \context Staff \notes\relative c { \context Voice=i - \property Voice . textstyle = "italic" + \property Voice . textStyle = "italic" % r16\p_"legato" r16\p - \property Voice . textstyle = "finger" + \property Voice . textStyle = "finger" d'-1( fis-3 d-1 a'-2 b-3 cis-4 a-3 d-3 cis-2 d-1 e-2 d-1 fis-3 e-2 d-1 | - \property Voice . textstyle = "finger" + \property Voice . textStyle = "finger" \stemup )cis4-2 fis-5 ~ fis8 fis-4 e4-3 ~ | e16\< \stemboth a,16( cis a d-2 e fis d-1 @@ -30,13 +30,13 @@ one = \context Staff \notes\relative c { < )g!16-5 d> fis-2 g-3 a-4 \stemboth g-3 b a g | - \property Voice . textstyle = "italic" + \property Voice . textStyle = "italic" % fis_"dim." e fis-3 g fis-3 a-5 g fis fis e fis-3 g fis-3 a-5 g fis - \property Voice . textstyle = "finger" + \property Voice . textStyle = "finger" % e4-"2\\_5" ~ e16 e,( fis g | e4 ~ e16 e,( fis g | - \property Voice . textstyle = "italic" + \property Voice . textStyle = "italic" % a-4_"dim." g-1 a b a-2 c-4 b a a-4 g-1 a b a-2 c-4 b a g-1 fis-2 g-3 a g-3 b a g | @@ -44,13 +44,13 @@ one = \context Staff \notes\relative c { )fis4\p \skip 4*7; | %10 - \property Voice . textstyle = "finger" + \property Voice . textStyle = "finger" % d'4.\mf cis8-"4\\_5" ~ cis b4-5 a8-"4\\_5" ~ | d'4.\mf cis8 ~ cis b4-5 a8 ~ | - \property Voice . textstyle = "italic" + \property Voice . textStyle = "italic" % a g4-5 fis8-4 ~ fis16 fis-4-"dim." e-3 d-2 a g4-5 fis8-4 ~ fis16 fis-4 e-3 d-2 - \property Voice . textstyle = "finger" + \property Voice . textStyle = "finger" % e4-"3\\_5" ~ | e4 ~ | e16 e-5 d cis d4-5 ~ d16 d-5 cis b cis4-5 | @@ -72,7 +72,7 @@ one = \context Staff \notes\relative c { two = \context Staff \notes\relative c{ \context Voice=ii \stemup - \property Voice . textstyle = "finger" + \property Voice . textStyle = "finger" fis4-1( e8-2 a4 a4 gis8-2 | ) a8 \translator Staff=upper \stemdown @@ -165,11 +165,11 @@ four = \context Staff \notes\relative c{ \skip 1*9; \context Voice=iv \stemup - \property Voice.hshift = 1 + \property Voice.horizontalNoteShift = 1 %10 a''2 fis | d s | -% \property Voice.hshift = 0 +% \property Voice.horizontalNoteShift = 0 \skip 1*2; | s4 \translator Staff=lower \stemup diff --git a/mutopia/J.S.Bach/Petites-Preludes/preludes-5.ly b/mutopia/J.S.Bach/Petites-Preludes/preludes-5.ly index 7306045676..420a85766d 100644 --- a/mutopia/J.S.Bach/Petites-Preludes/preludes-5.ly +++ b/mutopia/J.S.Bach/Petites-Preludes/preludes-5.ly @@ -8,11 +8,11 @@ composer = "Johann Sebastian Bach (1685-1750)"; enteredby = "jcn"; copyright = "public domain"; } -\version "1.0.20"; +\version "1.0.21"; upper = \context Staff \notes\relative c{ - \property Voice . textstyle = "italic" + \property Voice . textStyle = "italic" \context Voice=i % d'8-1\p a'-5-"legato" f-3 d-1 a'-5 f-3 | d'8-1\p a'-5 f-3 d-1 a'-5 f-3 | @@ -30,10 +30,10 @@ upper = \context Staff \notes\relative c{ < { \stemup - \property Voice . textstyle = "roman" + \property Voice . textStyle = "roman" c4-\mordent^"(\\textsharp)"\p r r | c4-\mordent^"(\\textsharp)" r r - \property Voice . textstyle = "italic" + \property Voice . textStyle = "italic" } \context Voice=ii { \stemdown a4 r r | a4 r r } > | @@ -128,9 +128,9 @@ lower = \context Staff \notes\relative c{ g!-5 es'-1 c-1 g-5 es'-1 c-1 | fis,4-5 r r d-4( ) fis d-5 | - \property Voice . textstyle = "roman" + \property Voice . textStyle = "roman" g4-\mordent^"(\\textsharp)" r r8 f!8 | - \property Voice . textstyle = "italic" + \property Voice . textStyle = "italic" e4-\prall r r | f4-\mordent r r8 e | d4 r8 f-1 e d | diff --git a/mutopia/J.S.Bach/Petites-Preludes/preludes-6.ly b/mutopia/J.S.Bach/Petites-Preludes/preludes-6.ly index 2aec8613d0..f0259058a3 100644 --- a/mutopia/J.S.Bach/Petites-Preludes/preludes-6.ly +++ b/mutopia/J.S.Bach/Petites-Preludes/preludes-6.ly @@ -8,7 +8,7 @@ composer = "Johann Sebastian Bach (1685-1750)"; enteredby = "jcn"; copyright = "public domain"; } -\version "1.0.20"; +\version "1.0.21"; one = \context Staff \notes\relative c{ @@ -67,7 +67,7 @@ three = \context Staff \notes\relative c{ e8.-\mordent f16 d8.-\prall-4 c16-5 \stemboth )c4.-5 d8-4 | \stemdown e4 ~ e16 f-2( e-3 d-4 cis a b cis-3 d-4 e-3 f-2 d-4 | - \property Voice . textstyle = "finger" + \property Voice . textStyle = "finger" )bes!2-"5\\_4" a ~ | a a | d, cis'-5 | @@ -82,10 +82,10 @@ four = \context Staff \notes\relative c{ d2-3 cis-4 | \skip 1*3; | %5 - \translator Staff=upper \stemup \property Voice.hshift = 1 + \translator Staff=upper \stemup \property Voice.horizontalNoteShift = 1 a'4 gis-2 ~ gis16 gis-3 fis e \skip 4*1; - \translator Staff=lower \stemdown \property Voice.hshift = 0 + \translator Staff=lower \stemdown \property Voice.horizontalNoteShift = 0 \stemup b2-1 a-1 | g a4. gis16 a | diff --git a/mutopia/J.S.Bach/Solo-Cello-Suites/allemande-cello.ly b/mutopia/J.S.Bach/Solo-Cello-Suites/allemande-cello.ly index 229585501f..632aad0510 100644 --- a/mutopia/J.S.Bach/Solo-Cello-Suites/allemande-cello.ly +++ b/mutopia/J.S.Bach/Solo-Cello-Suites/allemande-cello.ly @@ -15,7 +15,7 @@ copyright = "public domain"; dotted slurs %} -\version "1.0.16"; +\version "1.0.21"; \include "allemande-urtext.ly"; @@ -23,14 +23,14 @@ allemande_cello_global = \notes{ \time 4/4; \key f; \clef bass; - \repeat 2 { + \repeat "semi" 2 { \partial 16; s16 s1*11 | s2 s4 s8 \partial 16*15; s16 - } \repeat 2 { + } \repeat "semi" 2 { % urg s32 \partial 16; s32 s1*11 @@ -53,6 +53,7 @@ allemande_cello_staff = \context Staff < \paper{ \include "scs-paper.ly"; gourlay_maxmeasures = 3.0; + } \midi{ \tempo 4 = 45; } \header{ piece = "Allemande"; } diff --git a/mutopia/J.S.Bach/Solo-Cello-Suites/allemande-urtext.ly b/mutopia/J.S.Bach/Solo-Cello-Suites/allemande-urtext.ly index a1215a3363..3b4fda0013 100644 --- a/mutopia/J.S.Bach/Solo-Cello-Suites/allemande-urtext.ly +++ b/mutopia/J.S.Bach/Solo-Cello-Suites/allemande-urtext.ly @@ -11,6 +11,8 @@ n = { \slurnormal } d = { \slurdotted } comma = "\\sethuge\\ \\ ," +phrasingcomma = { } % { \bar "empty"; \mark "'"; \nobreak } + allemande_a = \context Staff \notes \relative c { \context Voice=i \stemup @@ -55,12 +57,12 @@ allemande_a = \context Staff \notes \relative c { \n a()f' g,()f e g'( a )bes | % :-( % bes( a g )f^\comma - bes( a g )f^"\\sethuge{\\ \\ '}" + bes( a g )f \phrasingcomma a()e f()d bes d(f)a d()a bes()g | %21 a,(\n)g'(\n cis())d e()g, a()e f()d bes()d \d gis, f'(e)d | % \n d( cis b )a^\comma c(a)fis d' c a( b )d - \n d( cis b )a^"\\sethuge\\ \\ ," + \n d( cis b )a \phrasingcomma %^"\\sethuge\\ \\ ," c(a)fis d' c a( b )d f!(d )gis, d' | %23 @@ -104,4 +106,4 @@ allemande = \context Staff \notes< > -\version "1.0.20"; +\version "1.0.21"; diff --git a/mutopia/J.S.Bach/Solo-Cello-Suites/courante-urtext.ly b/mutopia/J.S.Bach/Solo-Cello-Suites/courante-urtext.ly index 2c80b4b233..f2797a3ca2 100644 --- a/mutopia/J.S.Bach/Solo-Cello-Suites/courante-urtext.ly +++ b/mutopia/J.S.Bach/Solo-Cello-Suites/courante-urtext.ly @@ -91,4 +91,4 @@ courante = \context Staff \notes< \$courante_b > -\version "1.0.20"; +\version "1.0.21"; diff --git a/mutopia/J.S.Bach/Solo-Cello-Suites/gigue-urtext.ly b/mutopia/J.S.Bach/Solo-Cello-Suites/gigue-urtext.ly index a7e752eec8..fe92ef610c 100644 --- a/mutopia/J.S.Bach/Solo-Cello-Suites/gigue-urtext.ly +++ b/mutopia/J.S.Bach/Solo-Cello-Suites/gigue-urtext.ly @@ -106,4 +106,4 @@ gigue = \notes< \$gigue_b > -\version "1.0.20"; +\version "1.0.21"; diff --git a/mutopia/J.S.Bach/Solo-Cello-Suites/menuetto-cello.ly b/mutopia/J.S.Bach/Solo-Cello-Suites/menuetto-cello.ly index d7003409d4..0890faa692 100644 --- a/mutopia/J.S.Bach/Solo-Cello-Suites/menuetto-cello.ly +++ b/mutopia/J.S.Bach/Solo-Cello-Suites/menuetto-cello.ly @@ -16,7 +16,7 @@ copyright = "public domain"; dotted slurs %} -\version "1.0.16"; +\version "1.0.21"; \include "menuetto-urtext.ly"; @@ -24,9 +24,10 @@ menuetto_i_cello_global = \notes{ \time 3/4; \key f; \clef bass; - \repeat 2 { + \repeat "semi" 2 { \skip 2.*8; - } \repeat 2 { + } + \repeat "semi" 2 { \skip 2.*1; \slurdotted \skip 2.*14; @@ -79,9 +80,10 @@ menuetto_ii_cello_global = \notes{ \time 3/4; \key D; \clef bass; - \repeat 2 { + \repeat "semi" 2 { \skip 2.*8; - } \repeat 2 { + } + \repeat "semi" 2 { \skip 2.*1; \slurdotted \skip 2.*14; @@ -101,6 +103,7 @@ menuetto_ii_cello_staff = \context Staff < \paper{ \include "scs-paper.ly"; gourlay_maxmeasures = 7.0; + \translator{ \VoiceContext beamAutoEnd_8 = "3/4"; diff --git a/mutopia/J.S.Bach/Solo-Cello-Suites/menuetto-urtext.ly b/mutopia/J.S.Bach/Solo-Cello-Suites/menuetto-urtext.ly index da320dce16..fb729e383e 100644 --- a/mutopia/J.S.Bach/Solo-Cello-Suites/menuetto-urtext.ly +++ b/mutopia/J.S.Bach/Solo-Cello-Suites/menuetto-urtext.ly @@ -21,7 +21,7 @@ menuetto_i_a = \context Staff \notes \relative c { d8( e16 )f | \slurdotted e8( d cis )e a,()g | - a4 ~ d cis | + a4 () d cis | g'8( f e )f d() c | %13 bes2 c4 | @@ -35,7 +35,7 @@ menuetto_i_a = \context Staff \notes \relative c { % < d,8 bes'(> )a | bes8()a | c8( bes a )bes g()bes | - d4 ~ cis d | + d4 () cis d | g,8 f g e f4 | g,8 g' <{e4.^\trill d8 } a4.> ~ | | @@ -57,7 +57,7 @@ menuetto_i_b = \context Staff \notes \relative c { g8 \skip 8*5; | f2 e4 d8 \skip 8*5; | - g4 ~ f e + g4 () f e f8 \skip 8*5; | \skip 2.*3; | es8 \skip 8*3; d4 | @@ -112,8 +112,8 @@ menuetto_i_b_voice_urg_urg = \notes< > menuetto_i = \context Staff \notes< - { \$menuetto_i_a_voice_urg_urg } - { \$menuetto_i_b_voice_urg_urg } + \repeat "semi" 2 { \$menuetto_i_a_voice_urg_urg } + \repeat "semi" 2 { \$menuetto_i_b_voice_urg_urg } > menuetto_ii = \context Staff\notes \relative c { @@ -156,4 +156,4 @@ menuetto_ii = \context Staff\notes \relative c { d2. } -\version "1.0.20"; +\version "1.0.21"; diff --git a/mutopia/J.S.Bach/Solo-Cello-Suites/prelude-cello.ly b/mutopia/J.S.Bach/Solo-Cello-Suites/prelude-cello.ly index 1f6b58cb5f..7b56811271 100644 --- a/mutopia/J.S.Bach/Solo-Cello-Suites/prelude-cello.ly +++ b/mutopia/J.S.Bach/Solo-Cello-Suites/prelude-cello.ly @@ -15,7 +15,7 @@ copyright = "public domain"; dotted slurs %} -\version "1.0.20"; +\version "1.0.21"; \include "prelude-urtext.ly"; diff --git a/mutopia/J.S.Bach/Solo-Cello-Suites/prelude-urtext.ly b/mutopia/J.S.Bach/Solo-Cello-Suites/prelude-urtext.ly index d3237c389f..7445345cd2 100644 --- a/mutopia/J.S.Bach/Solo-Cello-Suites/prelude-urtext.ly +++ b/mutopia/J.S.Bach/Solo-Cello-Suites/prelude-urtext.ly @@ -280,4 +280,4 @@ prelude = \context Staff \notes< \$prelude_b > -\version "1.0.20"; +\version "1.0.21"; diff --git a/mutopia/J.S.Bach/Solo-Cello-Suites/prelude-viola.ly b/mutopia/J.S.Bach/Solo-Cello-Suites/prelude-viola.ly index b68aafee14..36defc8198 100644 --- a/mutopia/J.S.Bach/Solo-Cello-Suites/prelude-viola.ly +++ b/mutopia/J.S.Bach/Solo-Cello-Suites/prelude-viola.ly @@ -15,7 +15,7 @@ copyright = "public domain"; dotted slurs %} -\version "1.0.20"; +\version "1.0.21"; \include "prelude-urtext.ly"; diff --git a/mutopia/J.S.Bach/Solo-Cello-Suites/sarabande-urtext.ly b/mutopia/J.S.Bach/Solo-Cello-Suites/sarabande-urtext.ly index 1ecb556ba4..dba20e9cbc 100644 --- a/mutopia/J.S.Bach/Solo-Cello-Suites/sarabande-urtext.ly +++ b/mutopia/J.S.Bach/Solo-Cello-Suites/sarabande-urtext.ly @@ -92,4 +92,4 @@ sarabande = \context Staff \notes< \$sarabande_b > -\version "1.0.20"; +\version "1.0.21"; diff --git a/mutopia/J.S.Bach/viola-i.ly b/mutopia/J.S.Bach/viola-i.ly index 41f00eb5eb..61e33e7e0d 100644 --- a/mutopia/J.S.Bach/viola-i.ly +++ b/mutopia/J.S.Bach/viola-i.ly @@ -16,4 +16,4 @@ $viola_i_staff = \context Staff = viola < \clef alto; \$global_i > -\version "1.0.20"; +\version "1.0.21"; diff --git a/mutopia/J.S.Bach/violino-i.ly b/mutopia/J.S.Bach/violino-i.ly index 8634e194fa..940f740103 100644 --- a/mutopia/J.S.Bach/violino-i.ly +++ b/mutopia/J.S.Bach/violino-i.ly @@ -31,10 +31,10 @@ $violino_i = \notes\relative c'' { $violino_i_staff = \context Staff = violino < < %urg - % \notes\property Voice.textstyle = "large" s4^"Moderato" - % \notes {s4. \property Voice.textstyle = "large" s4^"Moderato"} + % \notes\property Voice.textStyle = "large" s4^"Moderato" + % \notes {s4. \property Voice.textStyle = "large" s4^"Moderato"} \$violino_i > \$global_i > -\version "1.0.20"; +\version "1.0.21"; diff --git a/mutopia/J.S.Bach/violino-viola.ly b/mutopia/J.S.Bach/violino-viola.ly index 97081d2e98..7295ee78d0 100644 --- a/mutopia/J.S.Bach/violino-viola.ly +++ b/mutopia/J.S.Bach/violino-viola.ly @@ -30,4 +30,4 @@ copyright = "Public Domain"; } } -\version "1.0.20"; +\version "1.0.21"; diff --git a/mutopia/J.S.Bach/violino-violoncello.ly b/mutopia/J.S.Bach/violino-violoncello.ly index 3443a8d4aa..315135b5b1 100644 --- a/mutopia/J.S.Bach/violino-violoncello.ly +++ b/mutopia/J.S.Bach/violino-violoncello.ly @@ -30,4 +30,4 @@ copyright = "Public Domain"; } } -\version "1.0.20"; +\version "1.0.21"; diff --git a/mutopia/J.S.Bach/violoncello-i.ly b/mutopia/J.S.Bach/violoncello-i.ly index cd0938f961..18900b1617 100644 --- a/mutopia/J.S.Bach/violoncello-i.ly +++ b/mutopia/J.S.Bach/violoncello-i.ly @@ -28,4 +28,4 @@ $violoncello_i_staff = \context Staff = violoncello < \clef bass; \$global_i > -\version "1.0.20"; +\version "1.0.21"; diff --git a/mutopia/J.S.Bach/wtk1-fugue1.ly b/mutopia/J.S.Bach/wtk1-fugue1.ly index 8da979849b..b00149f495 100644 --- a/mutopia/J.S.Bach/wtk1-fugue1.ly +++ b/mutopia/J.S.Bach/wtk1-fugue1.ly @@ -11,7 +11,7 @@ copyright = "Public Domain"; %{ %} -\version "1.0.20"; +\version "1.0.21"; global = diff --git a/mutopia/J.S.Bach/wtk1-fugue2.ly b/mutopia/J.S.Bach/wtk1-fugue2.ly index 606dfabb85..e8e00e53f5 100644 --- a/mutopia/J.S.Bach/wtk1-fugue2.ly +++ b/mutopia/J.S.Bach/wtk1-fugue2.ly @@ -19,7 +19,7 @@ * auto beaming %} -\version "1.0.20"; +\version "1.0.21"; \include "nederlands.ly" % for correct parsing of note names diff --git a/mutopia/J.S.Bach/wtk1-prelude1.ly b/mutopia/J.S.Bach/wtk1-prelude1.ly index 6f74810991..e0d8f711f7 100644 --- a/mutopia/J.S.Bach/wtk1-prelude1.ly +++ b/mutopia/J.S.Bach/wtk1-prelude1.ly @@ -8,7 +8,7 @@ enteredby = "Shay Rojansky"; copyright = "Public Domain"; } -\version "1.0.20"; +\version "1.0.21"; global = \notes { diff --git a/mutopia/L.Mozart/sinfonia.ly b/mutopia/L.Mozart/sinfonia.ly index 8637d416f4..7d78a101be 100644 --- a/mutopia/L.Mozart/sinfonia.ly +++ b/mutopia/L.Mozart/sinfonia.ly @@ -41,7 +41,7 @@ global = \notes{ } tempi = \notes{ - \property Voice.textstyle = "large" + \property Voice.textStyle = "large" s8^"Allegro" } @@ -383,4 +383,4 @@ bassocontinuo = \notes \relative c'{ \midi{ \tempo 4 = 100; } } -\version "1.0.20"; +\version "1.0.21"; diff --git a/mutopia/N.W.Gade/brass.ly b/mutopia/N.W.Gade/brass.ly index a7320929c4..f31efdade5 100644 --- a/mutopia/N.W.Gade/brass.ly +++ b/mutopia/N.W.Gade/brass.ly @@ -1,4 +1,4 @@ -\version "1.0.20"; +\version "1.0.21"; corI=\notes\relative c'' { \key c; diff --git a/mutopia/N.W.Gade/global.ly b/mutopia/N.W.Gade/global.ly index f2de39bfbe..b679595ffc 100644 --- a/mutopia/N.W.Gade/global.ly +++ b/mutopia/N.W.Gade/global.ly @@ -17,7 +17,7 @@ global=\notes { marks=\notes { \time 3/4; -\property Voice.textstyle = "Large" +\property Voice.textStyle = "Large" \skip 2.*31; s2 s8 s^"\\Allegromoltovivace" \time 2/4; diff --git a/mutopia/N.W.Gade/parts.ly b/mutopia/N.W.Gade/parts.ly index 32616d92f0..beb95deccd 100644 --- a/mutopia/N.W.Gade/parts.ly +++ b/mutopia/N.W.Gade/parts.ly @@ -11,7 +11,7 @@ copyright = "Mats Bengtsson, 1999. Free circulation permitted and " + % Process with 'ly2dvi -s parts.ly' to get the separate parts. -\version "1.0.20"; +\version "1.0.21"; \include "global.ly" \include "wood.ly" @@ -29,11 +29,11 @@ my_paper = \paper { markScriptPadding = "6.0"; barNumberScriptPadding = "11.0"; textScriptPadding = 5.0; - textstyle = "italic"; + textStyle = "italic"; textEmptyDimension = 1; } } -%{ + \score{ \context Staff < \context Voice < @@ -54,7 +54,7 @@ my_paper = \paper { \tempo 4=120; } } -%} + \score{ \context Staff < \context Voice < @@ -75,7 +75,7 @@ my_paper = \paper { \tempo 4=120; } } -%{ + \score{ \context Voice < \globalNoKey @@ -325,4 +325,3 @@ my_paper = \paper { \tempo 4=120; } } -%} \ No newline at end of file diff --git a/mutopia/N.W.Gade/score.ly b/mutopia/N.W.Gade/score.ly index 64fa9c6fbe..878267faea 100644 --- a/mutopia/N.W.Gade/score.ly +++ b/mutopia/N.W.Gade/score.ly @@ -8,7 +8,7 @@ copyright = "Mats Bengtsson, 1999. Free circulation permitted and " + "Statens Musikbibliotek, Stockholm, Sweden"; } -\version "1.0.20"; +\version "1.0.21"; \include "global.ly" \include "wood.ly" @@ -133,7 +133,7 @@ copyright = "Mats Bengtsson, 1999. Free circulation permitted and " + \translator { \StaffContext \consists "Staff_margin_engraver"; marginScriptPadding = "15.0"; - textstyle = "italic"; + textStyle = "italic"; textScriptPadding = 5.0; textEmptyDimension = 1; } diff --git a/mutopia/N.W.Gade/strings.ly b/mutopia/N.W.Gade/strings.ly index 168c1fa52f..f53c84e4f8 100644 --- a/mutopia/N.W.Gade/strings.ly +++ b/mutopia/N.W.Gade/strings.ly @@ -1,4 +1,4 @@ -\version "1.0.20"; +\version "1.0.21"; viI=\notes\relative c'' { diff --git a/mutopia/N.W.Gade/wood.ly b/mutopia/N.W.Gade/wood.ly index 6276f9af7b..8a486eff8f 100644 --- a/mutopia/N.W.Gade/wood.ly +++ b/mutopia/N.W.Gade/wood.ly @@ -1,4 +1,4 @@ -\version "1.0.20"; +\version "1.0.21"; oboe=\notes\relative c'' { \clef "treble"; diff --git a/mutopia/TODO b/mutopia/TODO deleted file mode 100644 index 5b6b806a81..0000000000 --- a/mutopia/TODO +++ /dev/null @@ -1,4 +0,0 @@ - - more composers > 70y + - - (more) free composers - - Beethoven's Coriolan: brass and woodwind - - more Cello Suites diff --git a/mutopia/W.A.Mozart/cadenza.ly b/mutopia/W.A.Mozart/cadenza.ly index 8eab69c625..88b7220fd6 100644 --- a/mutopia/W.A.Mozart/cadenza.ly +++ b/mutopia/W.A.Mozart/cadenza.ly @@ -13,7 +13,7 @@ Tested Features: cadenza mode Ugh.. Wish we had grace notes.... It adds another dimension to this piece of music. %} -\version "1.0.20"; +\version "1.0.21"; cad = \notes \relative c' { diff --git a/mutopia/W.A.Mozart/horn-concerto-3.ly b/mutopia/W.A.Mozart/horn-concerto-3.ly index a5d5b6cd8f..dda8a525ee 100644 --- a/mutopia/W.A.Mozart/horn-concerto-3.ly +++ b/mutopia/W.A.Mozart/horn-concerto-3.ly @@ -9,7 +9,7 @@ copyright = "public domain"; } -\version "1.0.20"; +\version "1.0.21"; allegro = \notes diff --git a/mutopia/gallina.ly b/mutopia/gallina.ly index 432a60cc1b..e8b434fe69 100644 --- a/mutopia/gallina.ly +++ b/mutopia/gallina.ly @@ -45,7 +45,7 @@ Voice engraver by uncommenting the lines in the paper definition below. --MB %} -\version "1.0.18"; +\version "1.0.21"; global = \notes { \property StaffGroup.timeSignatureStyle = "old" diff --git a/mutopia/los-toros-oboe.ly b/mutopia/los-toros-oboe.ly index 6d52d4ccae..0c89debf8b 100644 --- a/mutopia/los-toros-oboe.ly +++ b/mutopia/los-toros-oboe.ly @@ -8,7 +8,7 @@ enteredby = "jcn"; copyright = "public domain"; latexheaders= "headers"; } -\version "1.0.20"; +\version "1.0.21"; @@ -17,16 +17,16 @@ latexheaders= "headers"; hoboonestart = \notes \relative c'{ % ugh: cant copy: allegro/primo tempo - \property Voice . textstyle = "large" + \property Voice . textStyle = "large" [es''16-.^"Allegro" es-. es-. es-.] [es8-. d-.] | - \property Voice . textstyle = "italic" + \property Voice . textStyle = "italic" } hobooneintro = \notes \relative c'{ -% \property Voice . textstyle = "roman" +% \property Voice . textStyle = "roman" % [es''16-.-"Allegro" es-. es-. es-.] [es8-. d-.] | -% \property Voice . textstyle = "italic" +% \property Voice . textStyle = "italic" [f''8.-> es16(] [)d8 c-.] | [bes16( c d es] [)d8 c-.] | [bes-. as->~] [as16( g f g] | @@ -94,18 +94,18 @@ hoboonemid = \notes \relative c'{ [d16-. d-. d-. d-.] [d8.-. es16->] | [d16 d d d] [d8 es16-.] r16-\fermata^"court"^"tr\\`es" | % Un peu plus lent. - \property Voice . textstyle = "bold" + \property Voice . textStyle = "bold" % ugh -% d4(\<^"Un peu plus lent" \property Voice . textstyle = "italic _"tr\\`es \\'el\\'egant" +% d4(\<^"Un peu plus lent" \property Voice . textStyle = "italic _"tr\\`es \\'el\\'egant" % d4(\^"Un peu plus lent et \\'el\\'egant"< - \property Voice . textstyle = "italic" + \property Voice . textStyle = "italic" d4(\< [e8 \!fis8] | % [)b-. a-.] [g16( fis e )d] | - \property Voice . textstyle = "bold" + \property Voice . textStyle = "bold" [)b-.^"Un peu plus lent et \\'el\\'egant" a-.] [g,,16( fis' e )d] | - \property Voice . textstyle = "italic" + \property Voice . textStyle = "italic" [d( c b\< c] [)\!fis'8-. e-.] | d,,4-> ~ [d16 e( fis g] | [a b\< d fis] [)\!a8-. g-.] | @@ -141,9 +141,9 @@ hoboonemid = \notes \relative c'{ hoboonesecondstart = \notes \relative c'{ % ugh: cant copy: allegro/primo tempo - \property Voice . textstyle = "large" + \property Voice . textStyle = "large" [es''16-.\ff^"Tempo 1$^o$" es-. es-. es-.] [es8-. d-.] | - \property Voice . textstyle = "italic" + \property Voice . textStyle = "italic" } @@ -182,7 +182,7 @@ hoboonelast = \notes \relative c'{ [bes'16-.\ff bes-. bes-. bes-.] [bes8-. ces16->] r16^"court"-\fermata | % ugh: eight measures rest (ugh: r1 -> four beats...) % eiht measures rest.. - \property Voice . textstyle = "bold" + \property Voice . textStyle = "bold" % r2^"Un peu plus lent et \\'el\\'egant" R2*8 % r4 r8\p bes | @@ -190,7 +190,7 @@ hoboonelast = \notes \relative c'{ r8\p bes,, | % g2->^"Un peu plus lent et \\'el\\'egant" ~ | g2-> ~ | - \property Voice . textstyle = "italic" + \property Voice . textStyle = "italic" g8 r r c | c2-> ~ | c8 r r bes'\f | @@ -220,9 +220,9 @@ hoboonelast = \notes \relative c'{ g8-. r f4-> ~ | [f8 es-. ces8.-. as16-.] | % `a deux - \property Voice . textstyle = "large" + \property Voice . textStyle = "large" [ces8.->^"Plus vite" bes16-.(] [a bes es d] | - \property Voice . textstyle = "italic" + \property Voice . textStyle = "italic" [)c!8.-> bes16] [a( bes es )d] | [c->( bes es )d] [c->( bes es )d] | % same measure @@ -231,9 +231,9 @@ hoboonelast = \notes \relative c'{ [g )f d( es] [f g as a] | [c )bes bes,( c] [d es f g] | [as g f g] [as bes c d] | - \property Voice . textstyle = "large" + \property Voice . textStyle = "large" [)es-.^"Tempo 1$^o$" g,-. g-. g-.] [g8-. g-.] | - \property Voice . textstyle = "italic" + \property Voice . textStyle = "italic" bes4.-> g8-. | gis2->( | )as! | @@ -248,9 +248,9 @@ hoboonelast = \notes \relative c'{ g4.-> g8-. | es4.-> es8-. | bes4.-> bes8-. | - \property Voice . textstyle = "large" + \property Voice . textStyle = "large" g'4.->^"Presto" g8-. | - \property Voice . textstyle = "italic" + \property Voice . textStyle = "italic" es4.-> es8-. | [bes-. bes-. es-. g-.] | [bes-. bes,-. es-. g-.] | diff --git a/scm/lily.scm b/scm/lily.scm index d5f9845de1..718515e4ff 100644 --- a/scm/lily.scm +++ b/scm/lily.scm @@ -106,9 +106,9 @@ (("Clef_item" "Span_bar") . (minimum_space 3.7)) (("Time_signature" "Span_bar") . (minimum_space 2.0)) (("Key_item" "Span_bar") . (minimum_space 2.5)) - (("Staff_bar" "Time_signature") . (minimum_space 1.0)) + (("Staff_bar" "Time_signature") . (minimum_space 2.0)) (("Time_signature" "begin-of-note") . (extra_space 1.0)) ; Huh? see twinkle.ly - (("Key_item" "begin-of-note") . (extra_space 3.0)) + (("Key_item" "begin-of-note") . (extra_space 2.5)) (("Staff_bar" "begin-of-note") . (extra_space 1.0)) (("Clef_item" "begin-of-note") . (minimum_space 5.0)) ) diff --git a/scripts/abc-2-ly.py b/scripts/abc-2-ly.py index b818d04351..b6827083f3 100644 --- a/scripts/abc-2-ly.py +++ b/scripts/abc-2-ly.py @@ -8,7 +8,7 @@ # program_name = 'abc-to-ly' -version = '0.1' +version = '@TOPLEVEL_VERSION@' import __main__ import getopt import sys @@ -22,6 +22,7 @@ global_voice_stuff = [] default_len = 4 global_key = [0] * 7 # UGH DIGITS='0123456789' +HSPACE=' \t' def gcd (a, b): while a % b: @@ -171,6 +172,30 @@ def compute_key (k): return key_table +tup_lookup = { + '3' : '2/3', + '4' : '4/3', + '6' : '4/6', + } + + +def try_parse_tuplet_begin (str, state): + if str and str[0] in DIGITS: + dig = str[0] + str = str[1:] + state.parsing_tuplet = 1 + + print '\\times %s {' % tup_lookup[dig] + return str + +def try_parse_group_end (str, state): + if str and str[0] in HSPACE: + str = str[1:] + if state.parsing_tuplet: + state.parsing_tuplet = 0 + print '}' + return str + def try_parse_header_line (ln): m = re.match ('^(.): *(.*)$', ln) @@ -180,6 +205,8 @@ def try_parse_header_line (ln): if g == 'T': header['title'] = a if g == 'M': + if a == 'C': + a = '4/4' global_voice_stuff.append ('\\time %s;' % a) if g == 'K': __main__.global_key =compute_key (a)# ugh. @@ -228,7 +255,7 @@ def octave_to_mudela_quotes (o): def parse_num (str): durstr = '' - while str[0] in DIGITS: + while str and str[0] in DIGITS: durstr = durstr + str[0] str = str[1:] @@ -252,6 +279,7 @@ class Parser_state: def __init__ (self): self.next_dots = 0 self.next_den = 1 + self.parsing_tuplet = 0 # WAT IS ABC EEN ONTZETTENDE PROGRAMMEERPOEP ! @@ -259,7 +287,10 @@ def try_parse_note (str, parser_state): mud = '' slur_begin =0 - if str[0] == '(': + if not str: + return str + + if str[0] == '(': slur_begin = 1 str = str[1:] @@ -342,34 +373,75 @@ def junk_space (str): return str + +def try_parse_guitar_chord (str): + if str and str[0] == '"': + str = str[1:] + gc = '' + while str and str[0] != '"': + gc = gc + str[0] + str = str[1:] + + if str: + str = str[1:] + + print "guitar chord: %s\n" % gc + + return str + def try_parse_escape (str): - if str [0] != '\\': + if not str or str [0] != '\\': return str str = str[1:] - if str[0] == 'K': - compute_key () + if str and str[0] == 'K': + key_table = compute_key () return str def try_parse_bar (str): - if str[0] == '|': + if str and str[0] == '|': + bs = '' str = str[1:] + if str: + if str[0] == ']': + bs = '|.' + if str[0] == '|': + bs = '||' + + if bs: + print '\\bar "%s";' % bs return str +def try_parse_chord_delims (str): + if str and str[0] == '[': + str = str[1:] + print '<' + + if str and str[0] == ']': + str = str[1:] + print '>' + + return str +# Try nibbling characters off until the line doesn't change. def try_parse_body_line (ln, state): prev_ln = '' - while ln and ln != prev_ln: + while ln != prev_ln: prev_ln = ln + ln = try_parse_chord_delims (ln) ln = try_parse_note (ln, state) ln = try_parse_bar (ln) - ln = junk_space (ln) ln = try_parse_escape (ln) + ln = try_parse_guitar_chord (ln) + ln = try_parse_tuplet_begin (ln, state) + ln = try_parse_group_end (ln, state) + ln = junk_space (ln) + if ln: - print 'Huh %s' % ln + print 'Huh? Don\'t understand `%s\'' % ln @@ -396,12 +468,14 @@ def parse_file (fn): def identify(): - print '%s %s' % (program_name, version) + print '%s from LilyPond %s' % (program_name, version) def help (): print r""" This is a disfunctional ABC to mudela convertor. It only gulps input, and -says huh when confused. Does not do chords. Go ahead and fix me. +says huh when confused. Go ahead and fix me. + +Usage: abc-2-ly INPUTFILE -h, --help this help. """ diff --git a/scripts/convert-mudela.py b/scripts/convert-mudela.py index ea0ed1e921..4909d29dc7 100644 --- a/scripts/convert-mudela.py +++ b/scripts/convert-mudela.py @@ -308,7 +308,7 @@ if 1: return newlines conversions.append ((1,0,18), conv, - '\\repeat NUM Music Alternative -> \repeat FOLDSTR Music Alternative') + '\\repeat NUM Music Alternative -> \\repeat FOLDSTR Music Alternative') if 1: def conv(lines): @@ -338,6 +338,18 @@ if 1: '{,tie,slur}ydirection -> {v,tieV,slurV}erticalDirection') +if 1: + def conv(lines): + newlines =[] + for x in lines: + x = re.sub ('hshift','horizontalNoteShift', x) + newlines.append (x) + return newlines + + conversions.append ((1,0,21), conv, + 'hshift -> horizontalNoteShift') + + ############################