summaryrefslogtreecommitdiff
path: root/lily/bar-engraver.cc
Commit message (Collapse)AuthorAgeFilesLines
* Issue 4884: Remove DECLARE_* translator callback macrosDavid Kastrup2016-06-061-1/+1
| | | | | | | | | Recent changes have rendered them trivial. This does not review their accessibility status: in general, they should be protected since they can be reused by derived classes but aren't needed externally. However, where they are indeed called from static member functions of derived classes, the associated trampoline instantiation appears to require public access. This might warrant some more investigation.
* Issue 4865/2: Rewrite of new translator initializationsDavid Kastrup2016-05-311-1/+6
| | | | | | | | | | | | | | | | | | This was done by running the following Bash script: git grep '^ADD_TRANSLATOR (' lily|sed 's/^\([^:]*\):ADD_TRANSLATOR ( *\([a-zA-Z_]\+\),.*$/\1 \2/' | while read file translator do lines="$(git grep -h '^\(ADD_ACKNOWLEDGER\|ADD_END_ACKNOWLEDGER\|IMPLEMENT_TRANSLATOR_LISTENER\) ('$translator, $file)" sed -i "$(echo "$lines"|sed 's+^..*$+/&/d+')" $file sed -i "/^ADD_TRANSLATOR ($translator,/i\\ void\\ $translator::boot ()\\ {\\ $(echo "$lines"|sed 's/IMPLEMENT_TRANSLATOR_LISTENER/ADD_LISTENER/;s/^./ &/;s/$/\\/') }\\ " $file done
* Replace C++ (in)equality checks with proper SCM syntaxValentin Villenave2015-04-211-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | This commit replaces the most straightforward situations where two SCM objects are compared. Here are the basic replacements used: x == y -------> scm_is_eq (x,y) x == SCM_BOOL_T -------> to_boolean (x) x == SCM_BOOL_F -------> scm_is_false (x) x != SCM_BOOL_T -------> scm_is_true (x) x == SCM_UNDEFINED -------> SCM_UNBNDP (x) x == SCM_EOL -------> scm_is_null (x) (scm_exact_p (x) == SCM_BOOL_T) -------> ly_is_rational (x) (scm_integer_p (x) == SCM_BOOL_T) -------> scm_is_integer (x) (scm_list_p (x) == SCM_BOOL_T) -------> ly_is_list (x) (scm_port_p (x) == SCM_BOOL_T) -------> ly_is_port (x) (scm_equal_p (x, y) == SCM_BOOL_T) -------> ly_is_equal (x,y) Finally, I replaced (!cached) with (!SCM_UNPACK (cached)) in lily-guile-macros.hh, as has been suggested once by David. Please note that this commit does not handle some situations I’m less comfortable with (namely those involving scm_c_memq, scm_assq or scm_hashq_get_handle), and some scm_*_p checks for which there isn’t a ly_is_* replacement yet (to wit, scm_hash_table_p, scm_promise_p, and scm_variable_bound_p). Those should be dealt with later (another patch is in the works).
* Run grand replace for 2015.Werner Lemberg2015-01-041-1/+1
|
* Run grand-replace (issue 3765)Carl Sorensen2014-01-111-1/+1
| | | | Run make grand-replace to update all coopyright statements
* Issue 3513: removed unused code: functions that are declared but never ↵Frédéric Bron2013-09-031-1/+0
| | | | defined and stream.hh
* Doc: Bar_engraver is required for system-start clefs (2694)Trevor Daniels2012-08-241-1/+3
|
* Issue 1320: Scheme bar line interface (part 1/2: recoding)Marc Hohl2012-08-011-1/+0
|
* Run grand-replace for 2012Graham Percival2012-01-091-1/+1
|
* Grand fixcc.py run on all .hh .cc files.Graham Percival2011-08-011-14/+14
| | | | | | | | | | | Apologies for the inconvenience in patch handling, but getting this done at once will cause less long-term problems than trying to do this piecemeal. Note for future git historians: this patch was created by running scripts/auxiliar/fixcc.py \ $(find flower lily -name '*cc' -o -name '*hh' | grep -v /out) with astyle 2.02 installed. No manual changes were made.
* Admin: run yearly grand-replace.Graham Percival2011-01-131-1/+1
|
* Run grand-replace for 2010.Neil Puttock2010-01-231-1/+1
|
* Update source file headers. Fixes using standard GNU package conventions.Jan Nieuwenhuizen2009-11-251-4/+15
| | | | | | | | | | | | | | | | Signed-off-by: Han-Wen Nienhuys <hanwen@xs4all.nl> Signed-off-by: Jan Nieuwenhuizen <janneke@gnu.org> Signed-off-by: John Mandereau <john.mandereau@gmail.com> Signed-off-by: Graham Percival <graham@percival-music.ca> Signed-off-by: Reinhold Kainhofer <reinhold@kainhofer.com> Signed-off-by: Joe Neeman <joeneeman@gmail.com> Signed-off-by: Heikki Johannes Junes <hjunes@gmail.com> Signed-off-by: Neil Puttock <n.puttock@gmail.com> Signed-off-by: Carl D. Sorensen <c_sorensen@byu.edu> Signed-off-by: Mats Bengtsson <mats.bengtsson@s3.kth.se> Signed-off-by: Werner Lemberg <wl@gnu.org> Signed-off-by: Patrick McCarty <pnorcks@gmail.com> Signed-off-by: Nicolas Sceaux <nicolas.sceaux@free.fr>
* Run grand-replace for 2009.Jan Nieuwenhuizen2009-01-061-1/+1
|
* Run `make grand-replace'.Jan Nieuwenhuizen2008-12-011-1/+1
|
* In doc strings, replace trailing spaces with leading ones.Werner Lemberg2008-03-141-3/+3
| | | | Obviously, I can't remember my own formatting rules...
* ADD_TRANSLATOR: Formatting, fix typos, add some doc strings.Werner Lemberg2008-03-141-5/+14
|
* fix hairpinToBarlineJoe Neeman2007-07-051-0/+20
|
* remove unnecessary codeJoe Neeman2007-07-051-16/+2
|
* add 2007 to (c) year.Han-Wen Nienhuys2007-01-081-1/+1
|
* * lily/*.cc, lily/include/*.hh: eliminate dummy arguments fromErik Sandberg2006-10-151-1/+0
| | | | macros ADD_TRANSLATOR, DECLARE_SMOBS and DECLARE_SIMPLE_SMOBS
* * lily/global-context-scheme.cc: Separated ly:run-translator intoErik Sandberg2006-07-111-1/+0
| | | | | | | | | | smaller pieces. * lily/score-engraver.cc, lily/score-performer.cc, scm/define-context-properties.scm: Make paper/midi output accessable as a context property. * lily/score-translator.cc, lily/score-context.cc: Removed.
* Fix some bugs in the dynamic engraver and PostScript backendErlend Aasland2006-05-311-0/+1
|
* * lily/global-context-scheme.cc: Separated ly:run-translator intoErik Sandberg2006-07-111-1/+0
| | | | | | | | | | smaller pieces. * lily/score-engraver.cc, lily/score-performer.cc, scm/define-context-properties.scm: Make paper/midi output accessable as a context property. * lily/score-translator.cc, lily/score-context.cc: Removed.
* * scm/define-context-properties.scm:Joe Neeman2006-05-091-3/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * scm/define-grob-properties.scm: * scm/define-grobs.scm: * scm/define-music-display-methods.scm: * scm/define-music-properties.scm: * scm/define-music-types.scm: * scm/music-functions.scm: * ly/declarations-init.ly: * lily/include/constrained-breaking.hh: * lily/system.cc: * lily/spaceable-grob.cc: * lily/simple-spacer.cc: * lily/paper-score.cc: * lily/paper-column.cc: * lily/paper-column-engraver.cc: * lily/item.cc: * lily/gourlay-breaking.cc: * lily/constrained-breaking.cc: * python/convertrules.py: Change "penalty", "page-penalty" and "breakable" to "line-break-penalty", "page-break-penalty" and "line-break-permission". Add "page-break-permission", "page-turn-permission" and "page-turn-penalty". Replace BreakEvent with LineBreakEvent, PageBreakEvent and PageTurnEvent. * lily/bar-engraver.cc: * lily/beam-engraver.cc: * lily/forbid-break-engraver.cc: * lily/ligature-engraver.cc: * lily/paper-column-engraver.cc: * lily/percent-repeat-engraver.cc: * lily/score-engraver.cc: * lily/score-engraver.hh: * lily/paper-column-engraver.hh: Inter-engraver communication regarding line breaks is done through context properties (Score.forbidBreak) instead of function calls.
* * flower/include/std-string.hh:Jan Nieuwenhuizen2006-02-111-1/+1
| | | | | | | | * flower/include/std-vector.hh: Finish std:: conversion; move flower extensions from std:: namespace. Update users. * lily/include/lily-proto.hh: Replace Link_array__*_ macros by their expansion to vector<*>. Update users.
* *** empty log message ***Jan Nieuwenhuizen2006-01-261-1/+1
|
* * The grand 2005-2006 replace.Jan Nieuwenhuizen2006-01-061-1/+1
|
* release commitHan-Wen Nienhuys2005-11-031-1/+1
|
* (class Phrasing_slur_engraver):Jan Nieuwenhuizen2005-08-111-4/+4
| | | | Update cut and paste code from Slur_engraver.
* * lily/include/translator.hh (class Translator): removeHan-Wen Nienhuys2005-07-241-2/+2
| | | | | | | | | | PRECOMPUTED_VIRTUAL everywhere. * lily/include/lily-guile.hh: inline scm_c[ad]r, scm_is_pair. * lily/context.cc (now_mom): non-recursive now_mom() * lily/grob.cc (Grob): look properties up directly.
* * lily/context.cc (where_defined): also assign value inHan-Wen Nienhuys2005-07-241-1/+0
| | | | | | | | | | | | | where_defined(). * lily/bezier.cc (get_other_coordinate): use curve_coordinate (curve_coordinate): new function * flower/include/parray.hh (binsearch): add lo,hi range to arguments. * lily/simple-spacer.cc (add_columns): only add rods between column i and begin/end if keep-inside-line is set (this repleces allow-outside-line as default)
* * lily/include/translator.icc: new file.Han-Wen Nienhuys2005-07-181-4/+6
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * lily/paper-column-engraver.cc (process_music): new file. Separate Paper_column factory from Score_engraver. * lily/vertically-spaced-context-engraver.cc: administer spaceable-staves property of System. * lily/translator-group-ctors.cc: new file. * lily/context-property.cc (make_grob_from_properties): construct the right Grob class programmatically, looking at the class entry for the meta property. * lily/break-align-engraver.cc (stop_translation_timestep): call Break_align_interface::add_element() directly. * lily/context.cc (measure_position): measure_position() is now a normal function. * lily/include/translator.hh (class Translator): rename process_acknowledged_grobs() to process_acknowledged() and move to Translator. * scm/define-grobs.scm (all-grob-descriptions): add a 'class meta field for each grob description. * lily/include/translator-group.hh (class Translator_group): change to base class. Separate class from Translator. This gets rid of virtual inheritance for Engravers/Performers. * lily/staff-performer.cc (class Staff_performer): derive Staff_performer from Performer, not Performer_group_performer * Lily/translator-group.cc (precomputed_recurse_over_translators): new function. (precompute_method_bindings): new function. Precompute lists of Translators, so we only call methods (process_music, start_translation_timestep, etc.) for Translators needing it. Also: dispose of pointer-to-member-function calls. * lily/engraver-group-engraver.cc: remove engraver_each, recurse_down_engravers () * lily/note-head.cc (internal_print): only call glyph-name-procedure if style != default. 3 % speed increase (wtk2-fugue1).
* * flowerJan Nieuwenhuizen2005-03-101-17/+14
| | | | | * lily * kpath-guile: Nitpick run: buildscripts/fixcc.py.
* *** empty log message ***Han-Wen Nienhuys2005-01-311-1/+1
|
* (DECLARE_EVENT_SWALLOWER): ENTER_DESCRIPTION -> ADD_TRANSLATORHan-Wen Nienhuys2004-12-091-1/+1
|
* (Paper_column): copy rank_. This fixesHan-Wen Nienhuys2004-12-091-1/+1
| | | | lyric spacing on the penultimate column.
* * configure.in: Test for and accept lmodern if EC fonts not found.Jan Nieuwenhuizen2004-11-181-3/+0
| | | | | | | | | | | | | | | | | | | | * Debian lmodern support. * scm/framework-tex.scm (font-load-command): TeX font name mangling for latin1 encoded cork-lm fonts. (convert-to-ps): Load lm.map if available. * ly/paper-defaults.ly: Use cork-lm encoding if ec is not available. * scm/encoding.scm (coding-alist): Add cork-lm encoding. * scm/font.scm: Add header. Autoload cork-lm and ec fonts if available. * lily/kpath.cc (ly_kpathsea_find_file): Rename. Do not use path for absolute file name, that is silly. * lily/score-engraver.cc (initialize):
* * lily/include/lily-guile.hh: compatibility glue for 1.6Han-Wen Nienhuys2004-09-011-1/+1
| | | | * lily/lily-guile.cc: remove ly_scm2str0.
* * scm/lily.scm (ly:all-stencil-expressions):Jan Nieuwenhuizen2004-06-161-7/+4
| | | | | | | | | | * scm/lily.scm (ly:all-output-backend-commands): New function. * scm/safe-lily.scm (safe-objects): Add them. * scm/framework-gnome.scm (<gnome-outputter>): New class. * scm/output-gnome.scm: Move non-stencil evaluators to framework.
* removeHan-Wen Nienhuys2004-05-091-4/+0
| | | | {Engraver,Score_engraver}::typeset_grob(), remove all calls.
* update for the lily-wins.py script.Han-Wen Nienhuys2004-05-031-3/+1
|
* * lily/lexer.ll: change is_string -> ly_c_string_pHan-Wen Nienhuys2004-04-121-1/+1
| | | | | * lily/lyric-engraver.cc (get_voice_to_lyrics): recursively go higher for finding Voice. (backportme)
* * lily/text-item.cc (interpret_string): new file, select font withHan-Wen Nienhuys2004-04-091-1/+1
| | | | | | | | | | encoding. * lily/include/lily-guile.hh: ly_XXX_p -> is_XXX. Changes throughout. * scm/define-markup-commands.scm (encoded-simple): new markup command. * lily/parser.yy (markup): take encoding from lexer.
* * lily/include/lily-guile.hh: many new ly_ functions. Thanks toHan-Wen Nienhuys2004-04-071-1/+1
| | | | | | | | | | | | | | | | | Michael Welsh Duggan * lily/*.cc: deprecate gh_ interface. Thanks to Michael Welsh Duggan * lily/scaled-font-metric.cc (derived_mark): idem. * lily/scaled-font-metric.cc (derived_mark): is a const method. (Modified_font_metric): make alist for coding_description_ (LY_DEFINE): remove coding-name. * lily/scaled-font-metric.cc (ly_font_encoding): return vector * lily/my-lily-lexer.cc (set_identifier): remove gh_scm2newstr use.
* *** empty log message ***Han-Wen Nienhuys2004-03-081-4/+4
|
* (LY_DEFINE): use Scheme style naming forHan-Wen Nienhuys2004-02-221-2/+2
| | | | | music/context/grob property functions. Internally, use get_property() and set_property() for both.
* * lily/include/grob-info.hh: origin_contexts() now does notHan-Wen Nienhuys2004-02-161-1/+1
| | | | | | | | | | | | | | | | | | | | | include the originating engraver * lily/translator-group.cc (translator_each): clean up contents, remove superfluous stubs. Engraver_group_engraver and Performer_group_performer are the only classes using multiple inheritance. * lily/include/score-context.hh (class Score_context): interface between Score_{engraver,performer} and Global_context. * lily/include/global-context.hh (Context): change from global-translator. This is the entry point for contexts; it is not tweakable using \translator{}. Score is no longer the top context, but sits underneath Global. * lily/include/context.hh (class Context): brain surgery: split out Context functionality from Translator_group. Context is now a separate type from Translator.
* 2003 -> 2004Han-Wen Nienhuys2004-02-051-1/+1
|
* * lily/engraver.cc (internal_make_item): centralize item/spannerHan-Wen Nienhuys2004-01-251-1/+1
| | | | | | | | | factory. * scripts/convert-ly.py (FatalConversionError.sub_durs): bugfix: do correct chord conversion for ^"sim." (backportme) (FatalConversionError.sub_articulations): substitute ^"foo" in chords too. (backportme)