OLD | NEW |
1 /* | 1 /* |
2 This file is part of LilyPond, the GNU music typesetter. | 2 This file is part of LilyPond, the GNU music typesetter. |
3 | 3 |
4 Copyright (C) 1997--2014 Han-Wen Nienhuys <hanwen@xs4all.nl> | 4 Copyright (C) 1997--2014 Han-Wen Nienhuys <hanwen@xs4all.nl> |
5 | 5 |
6 LilyPond is free software: you can redistribute it and/or modify | 6 LilyPond is free software: you can redistribute it and/or modify |
7 it under the terms of the GNU General Public License as published by | 7 it under the terms of the GNU General Public License as published by |
8 the Free Software Foundation, either version 3 of the License, or | 8 the Free Software Foundation, either version 3 of the License, or |
9 (at your option) any later version. | 9 (at your option) any later version. |
10 | 10 |
(...skipping 64 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
75 Pointer_group_interface::add_grob (spanbar_, ly_symbol2scm ("elements"),
bars_[i]); | 75 Pointer_group_interface::add_grob (spanbar_, ly_symbol2scm ("elements"),
bars_[i]); |
76 make_spanbar_ = false; | 76 make_spanbar_ = false; |
77 } | 77 } |
78 } | 78 } |
79 | 79 |
80 void | 80 void |
81 Span_bar_engraver::stop_translation_timestep () | 81 Span_bar_engraver::stop_translation_timestep () |
82 { | 82 { |
83 if (spanbar_) | 83 if (spanbar_) |
84 { | 84 { |
85 SCM vissym = ly_symbol2scm ("break-visibility"); | 85 SCM vis = bars_[0]->get_property ("break-visibility"); |
86 SCM vis = bars_[0]->internal_get_property (vissym); | 86 if (ly_is_equal (spanbar_->get_property ("break-visibility"), vis)) |
87 if (ly_is_equal (spanbar_->internal_get_property (vissym), vis)) | 87 spanbar_->set_property ("break-visibility", vis); |
88 spanbar_->set_property (vissym, vis); | |
89 scm_call_1 (ly_lily_module_constant ("span-bar::notify-grobs-of-my-existen
ce"), spanbar_->self_scm ()); | 88 scm_call_1 (ly_lily_module_constant ("span-bar::notify-grobs-of-my-existen
ce"), spanbar_->self_scm ()); |
90 spanbar_ = 0; | 89 spanbar_ = 0; |
91 } | 90 } |
92 bars_.resize (0); | 91 bars_.resize (0); |
93 } | 92 } |
94 | 93 |
95 #include "translator.icc" | 94 #include "translator.icc" |
96 | 95 |
97 ADD_ACKNOWLEDGER (Span_bar_engraver, bar_line); | 96 ADD_ACKNOWLEDGER (Span_bar_engraver, bar_line); |
98 ADD_TRANSLATOR (Span_bar_engraver, | 97 ADD_TRANSLATOR (Span_bar_engraver, |
99 /* doc */ | 98 /* doc */ |
100 "Make cross-staff bar lines: It catches all normal bar lines" | 99 "Make cross-staff bar lines: It catches all normal bar lines" |
101 " and draws a single span bar across them.", | 100 " and draws a single span bar across them.", |
102 | 101 |
103 /* create */ | 102 /* create */ |
104 "SpanBar ", | 103 "SpanBar ", |
105 | 104 |
106 /* read */ | 105 /* read */ |
107 "", | 106 "", |
108 | 107 |
109 /* write */ | 108 /* write */ |
110 "" | 109 "" |
111 ); | 110 ); |
OLD | NEW |