From: Jan Nieuwenhuizen Date: Sun, 19 Mar 2000 23:56:58 +0000 (+0100) Subject: patch::: 1.3.36.jcn1 X-Git-Tag: release/1.3.37~4 X-Git-Url: https://git.donarmstrong.com/?a=commitdiff_plain;h=41cbea3aef775d52821b83f1d3e676a789212689;p=lilypond.git patch::: 1.3.36.jcn1 1.3.36.jcn1 =========== * Added and updated a faq about postscript and ghostscript. * Fixed order of slurVerticalDirection verticalDirection in generic-property.scm. Similar fixes for Stem, Tie, etc. * Added a Text_engraver to GraceContext. Maybe it was removed on purpose: scripst on grace notes seem broken, they appear on the main note. * Bugfix: volume effect of (de)crescendi was sometimes wrong way round. --- diff --git a/CHANGES b/CHANGES index 25d8b6894f..651c19451b 100644 --- a/CHANGES +++ b/CHANGES @@ -1,3 +1,17 @@ +1.3.36.jcn1 +=========== + +* Added and updated a faq about postscript and ghostscript. + +* Fixed order of slurVerticalDirection verticalDirection in + generic-property.scm. Similar fixes for Stem, Tie, etc. + +* Added a Text_engraver to GraceContext. Maybe it was removed on + purpose: scripst on grace notes seem broken, they appear on the + main note. + +* Bugfix: volume effect of (de)crescendi was sometimes wrong way round. + .3.35.hwn1 =========== diff --git a/Documentation/faq.texi b/Documentation/faq.texi index 6cc6c1cb8d..6953ff89b7 100644 --- a/Documentation/faq.texi +++ b/Documentation/faq.texi @@ -440,12 +440,20 @@ Direct PS output is still experimental. For creating nice looking ps output, use TeX and @code{dvips}. -@subsubsection The beams and slurs are gone if use the XDvi magnifying glass!? +@subsubsection The beams and slurs are gone when using the XDvi magnifying glass!? -The beams and slurs are done in PostScript. XDvi doesn't show -PostScript in the magnifying glass. Complain to the XDvi maintainers. +Various dynamic symbols, such as beams, crescendi, slurs are done in +PostScript. XDvi doesn't show PostScript in the magnifying glass. +Complain to the XDvi maintainers. +@subsubsection Beams, slurs and crescendi are not displayed at all! + +See previous answer. XDvi uses GhostScript for displaying PostScript, +check that you have GhostScript installed. If you use a different +DVI viewer, check if it will display embedded PostScript. Don't worry, +the symbols should appear on the printout. + @subsubsection A lot of musical stuff doesn't make it to the MIDI file, eg. dynamics, articulation, etc. The MIDI output was originally put in as a proof that MIDI could be diff --git a/VERSION b/VERSION index c53e8e4d15..3ffada1af9 100644 --- a/VERSION +++ b/VERSION @@ -2,7 +2,7 @@ PACKAGE_NAME=LilyPond MAJOR_VERSION=1 MINOR_VERSION=3 PATCH_LEVEL=36 -MY_PATCH_LEVEL= +MY_PATCH_LEVEL=jcn1 # use the above to send patches: MY_PATCH_LEVEL is always empty for a # released version. diff --git a/input/test/bar-break.ly b/input/test/bar-break.ly index d45a9ddf01..5eff32f3a3 100644 --- a/input/test/bar-break.ly +++ b/input/test/bar-break.ly @@ -2,22 +2,27 @@ { \context StaffGroup = a < \context PianoStaff = b < - \context Staff = "c" \notes\relative c'' { b1 \break b } - \context Staff = "d" \notes\relative c'' { b1 \break b } + \context Staff = "c" \notes\relative c'' { b4 b \bar "empty"; \break b b } + \context Staff = "d" \notes\relative c'' { b4 b b b } > > \paper { indent=100.0\mm; linewidth=150.0\mm; - \translator - { + \translator { \StaffContext \consists "Staff_margin_engraver"; numberOfStaffLines = #1 - marginScriptPadding = #10 % urg: this is in PT + marginScriptPadding = #30 % urg: this is in PT instrument = #"Foo" - instr = #"Foo" + instr = #"Bar" } + \translator { + \StaffGroupContext + \consists "Staff_margin_engraver"; + marginScriptPadding = #10 % urg: this is in PT + instrument = #" \n \n \n \n \n \n \n \n \n \nPiano\n(For rehearsal only)" + } } } diff --git a/input/test/bb.ly b/input/test/bb.ly index 0c01477ada..e69de29bb2 100644 --- a/input/test/bb.ly +++ b/input/test/bb.ly @@ -1,23 +0,0 @@ -\score -{ - \context StaffGroup = a < - \context PianoStaff = b < - \context Staff = "c" \notes\relative c'' { b1 \break b } - \context Staff = "d" \notes\relative c'' { b1 \break b } - > - > - - \paper { - indent=100.0\mm; - linewidth=150.0\mm; - \translator - { - \StaffContext - \consists "Staff_margin_engraver"; - numberOfStaffLines = #1 - marginScriptPadding = #30 % urg: this is in PT - instrument = #"Foo" - instr = #"Bar" - } - } -} diff --git a/lily/dynamic-engraver.cc b/lily/dynamic-engraver.cc index 038d02ba54..26753ccdee 100644 --- a/lily/dynamic-engraver.cc +++ b/lily/dynamic-engraver.cc @@ -187,7 +187,7 @@ Dynamic_engraver::do_try_music (Music * m) void Dynamic_engraver::do_process_music () { - if ((span_req_l_drul_[START] || text_req_l_) + if ((span_req_l_drul_[START] || span_req_l_drul_[STOP] || text_req_l_) && !line_spanner_ && pending_element_arr_.size ()) { @@ -211,34 +211,57 @@ Dynamic_engraver::do_process_music () last_request_mom_ = now_mom (); else { - for (int i = 0; i < pending_element_arr_.size (); i++) + +#if 1 + /* + Maybe always creating a line-spanner for a (de)crescendo (see + below) is not a good idea: + + a\< b\p \!c + + the \p will be centred on the line-spanner, and thus clash + with the hairpin. When axis-group code is in place, the \p + should move below the hairpin, which is probably better? + */ + if (now > last_request_mom_) +#else + /* + During a (de)crescendo, pending request will not be cleared, + and a line-spanner will always be created, as \< \! are already + two requests. + */ + if (now > last_request_mom_ && !span_start_req_l_) +#endif { - Score_element* e = pending_element_arr_[i]; - side_position (e).set_axis (Y_AXIS); - side_position (e).add_staff_support (); - - /* - UGH UGH - */ - Direction d = directional_element (e).get (); - if (!d) + for (int i = 0; i < pending_element_arr_.size (); i++) { - SCM s = get_property ("dynamicDirection"); - if (!isdir_b (s)) - s = get_property ("verticalDirection"); - if (isdir_b (s)) - d = to_dir (s); - directional_element (e).set (d); - } + Score_element* e = pending_element_arr_[i]; + side_position (e).set_axis (Y_AXIS); + side_position (e).add_staff_support (); + + /* + UGH UGH + */ + Direction d = directional_element (e).get (); + if (!d) + { + SCM s = get_property ("dynamicDirection"); + if (!isdir_b (s)) + s = get_property ("verticalDirection"); + if (isdir_b (s)) + d = to_dir (s); + directional_element (e).set (d); + } - SCM s = get_property ("dynamicPadding"); - if (gh_number_p (s)) - e->set_elt_property ("padding", s); - s = get_property ("dynamicMinimumSpace"); - if (gh_number_p (s)) - e->set_elt_property ("minimum-space", s); + SCM s = get_property ("dynamicPadding"); + if (gh_number_p (s)) + e->set_elt_property ("padding", s); + s = get_property ("dynamicMinimumSpace"); + if (gh_number_p (s)) + e->set_elt_property ("minimum-space", s); + } + pending_element_arr_.clear (); } - pending_element_arr_.clear (); } if (text_req_l_) diff --git a/lily/span-dynamic-performer.cc b/lily/span-dynamic-performer.cc index 44b2547008..b4807e3a9d 100644 --- a/lily/span-dynamic-performer.cc +++ b/lily/span-dynamic-performer.cc @@ -40,6 +40,7 @@ private: Drul_array span_req_l_drul_; Array dynamic_tuple_arr_; Array finished_dynamic_tuple_arr_; + Direction dir_; Direction finished_dir_; }; @@ -109,6 +110,7 @@ Span_dynamic_performer::do_process_music () if (span_req_l_drul_[STOP]) { + finished_dir_ = dir_; if (!span_start_req_l_) { span_req_l_drul_[STOP]->warning (_ ("can't find start of (de)crescendo")); @@ -117,8 +119,6 @@ Span_dynamic_performer::do_process_music () { span_start_req_l_ = 0; finished_dynamic_tuple_arr_ = dynamic_tuple_arr_; - finished_dir_ = span_req_l_drul_[STOP]->span_type_str_ == "crescendo" - ? RIGHT : LEFT; dynamic_tuple_arr_.clear (); if (finished_dynamic_tuple_arr_.size ()) dynamic_tuple_arr_.push (finished_dynamic_tuple_arr_.top ()); @@ -127,6 +127,8 @@ Span_dynamic_performer::do_process_music () if (span_req_l_drul_[START]) { + dir_ = span_req_l_drul_[START]->span_type_str_ == "crescendo" + ? RIGHT : LEFT; span_start_req_l_ = span_req_l_drul_[START]; audio_p_ = new Audio_dynamic (0); Audio_element_info info (audio_p_, 0); diff --git a/ly/engraver.ly b/ly/engraver.ly index d5d4842896..c8f6b73bdb 100644 --- a/ly/engraver.ly +++ b/ly/engraver.ly @@ -170,6 +170,7 @@ GraceContext=\translator { \consists "Rhythmic_column_engraver"; \consists "Dynamic_engraver"; + \consists "Text_engraver"; \consists "Property_engraver"; diff --git a/mutopia/Coriolan/coriolan-paper.ly b/mutopia/Coriolan/coriolan-paper.ly index 3defda7a5b..2b3b88b76d 100644 --- a/mutopia/Coriolan/coriolan-paper.ly +++ b/mutopia/Coriolan/coriolan-paper.ly @@ -40,8 +40,9 @@ } \translator { \ScoreContext - textEmptyDimension = ##t + %textEmptyDimension = ##t textStyle = #"italic" + timeSignatureStyle = #"C" } \translator { \OrchestralScoreContext } } diff --git a/mutopia/Coriolan/coriolan-part-paper.ly b/mutopia/Coriolan/coriolan-part-paper.ly index f16655066b..7ec5642f26 100644 --- a/mutopia/Coriolan/coriolan-part-paper.ly +++ b/mutopia/Coriolan/coriolan-part-paper.ly @@ -28,7 +28,7 @@ %% Aargh: absulute dynamics: \remove "Text_engraver"; } - + % Hmm \translator { \StaffContext \accepts "VoiceOne"; @@ -37,10 +37,18 @@ instrScriptPadding = #35 %% urg, this is in pt maximumRestCount = #1 } - \translator { \OrchestralPartStaffContext } + \translator { + \OrchestralPartStaffContext + \accepts "VoiceOne"; + \accepts "VoiceTwo"; + instrumentScriptPadding = #55 %% urg, this is in pt + instrScriptPadding = #35 %% urg, this is in pt + maximumRestCount = #1 + } \translator { \ScoreContext skipBars = ##t - textEmptyDimension = ##t + %textEmptyDimension = ##t textStyle = #"italic" + timeSignatureStyle = #"C" } } diff --git a/scm/generic-property.scm b/scm/generic-property.scm index dc20e838cc..467f9e8c73 100644 --- a/scm/generic-property.scm +++ b/scm/generic-property.scm @@ -16,8 +16,8 @@ (define generic-stem-properties (cons "Stem" (list - (list 'stemVerticalDirection dir? 'direction) (list 'verticalDirection dir? 'direction) + (list 'stemVerticalDirection dir? 'direction) (list 'stemLength number? 'length) (list 'flagStyle string? 'flag-style) (list 'stemCentered boolean? 'stem-centered) @@ -28,8 +28,8 @@ (define generic-dot-properties (cons "Dots" (list - (list 'dotDirection dir? 'direction) (list 'verticalDirection dir? 'direction) + (list 'dotDirection dir? 'direction) ) )) @@ -91,8 +91,8 @@ (define generic-breathing-sign-properties (cons "Breathing_sign" (list - (list 'breathingSignVerticalDirection dir? 'direction) (list 'verticalDirection dir? 'direction) + (list 'breathingSignVerticalDirection dir? 'direction) ))) (define generic-clef-properties @@ -113,13 +113,13 @@ (define generic-tie-properties (cons "Tie" (list - (list 'tieVerticalDirection dir? 'direction) (list 'verticalDirection dir? 'direction) + (list 'tieVerticalDirection dir? 'direction) ))) (define generic-tie-column-properties (cons "Tie_column" (list - (list 'tieVerticalDirection dir? 'direction) (list 'verticalDirection dir? 'direction) + (list 'tieVerticalDirection dir? 'direction) ))) @@ -141,8 +141,8 @@ (define generic-slur-properties (cons "Slur" (list - (list 'slurVerticalDirection dir? 'direction) (list 'verticalDirection dir? 'direction) + (list 'slurVerticalDirection dir? 'direction) (list 'slurDash number? 'dashed)))) (define generic-timesig-properties