summaryrefslogtreecommitdiff
path: root/flower
Commit message (Expand)AuthorAgeFilesLines
* Issue 3925: lilypond -d leads to weird output...C++ string manipulation is a fragile bolt-on onto the type system. "-" + 'd' evaluates to a pointer 100 bytes after a constant string "-" in the data section. This fixes this bug, and also changes the fixed message from lilypond: option `-d, `--define-default'' requires an argument to lilypond: option `-d, --define-default' requires an argument In general, it does not appear to make sense quoting the long options while not quoting the short options. David Kastrup2014-06-051-2/+2
* Polynomial.hh - Make LilyPond compile w/ musl libc...Provided by Felix Janda Felix Janda2014-02-201-0/+1
* Run grand-replace (issue 3765)...Run make grand-replace to update all coopyright statements Carl Sorensen2014-01-1142-42/+42
* Issue 3656/2: disambiguate our own ::to_string from std::to_stringDavid Kastrup2013-11-201-12/+12
* Issue 3656: Problems building Lilypond 2.17.95 with libc++ for use with llvm...std-vector.hh did not include config.hh but relied on it David Kastrup2013-11-201-0/+1
* Issue 3531: replaced function argument 'string' by 'const string&' where it m......Measurements on x86_64 (i7-2760QM, 2.40GHz) Fedora 19 with g++ 4.8.1, with configure --enable-optimising --disable-debugging; tests run 10 times, average elapsed time compared (/usr/bin/time) * Bach, Concerto in E major or violin and strings, BWV 1042 (Mutopia source), 38 pages: $ lilypond score.ly -> master: 15.4s, with patch: -0.1% * lilypond regression tests (1153 .ly files): $ lilypond *.ly -> master: 276.6s, with patch: -2.5% Frédéric Bron2013-09-1013-60/+60
* Issue 3513: removed unused code: functions that are declared but never define...Frédéric Bron2013-09-031-5/+0
* Issue 2758. ly_module_lookup caused deprecation warnings with Guile V2.06....The V2.17.0 definition of ly_module_lookup in module-scheme.cc uses two functions, scm_sym2var and scm_module_lookup_closure, which issue deprecation warnings in Guile V2.06. A call to the new Guile API function, scm_module_variable, provides the functionality for both deprecated routines, but has not been back-ported to Guile V1.8. This patch adds a conditionally-compiled block when running with a Guile version < V2.0, so that Guile V1 will not use the deprecated scm_ calls in ly_module_lookup, and Guile V2 will use API call scm_module_variable. Ian Hulin2012-09-221-0/+8
* remove top-level const's from declarations...results of the following searches were checked manually: grep -rE -e 'const( +[a-zA-Z0-9_]*)? *, *$' . grep -rE -e 'const( +[a-zA-Z0-9_]*)?( *,[^;]+)?\) *(const|= *0)? *;' . Benkő Pál2012-09-111-1/+1
* Improvements in vertical skyline approximations (issue 2148)....The file stencil-integral.cc provides a suite of functions that traverse a stencil and do linear approximations of its components. These are then turned into boxes that are passed to the Skyline constructor. This approximation is used for several vertical skylines including those of VerticalAxisGroup and System. As a result of these more accurate approximations, vertical spacing is more snug between grobs. Additionally, in axis-group-interface.cc, skylines of grobs are no longer compared to a monolithic axis-group skyline but rather all of the component skylines of the axis-group, allowing grobs to be fit under other ones if there is space instead of always shifted over. Two new python scripts allow to visualize the position of skylines. All other changes provide functions that allow for better debugging of Skylines, better approximations of grobs via skylines, and changes to the measurement of distance between grobs via the new Skyline API. This results in a significant time increase in score compilation for objects with complex skylines such as all text grobs. For orchestral scores, the increase is not as steep. Mike Solomon2012-08-274-51/+213
* Run fixcc + astyle2.02.1Graham Percival2012-08-271-2/+2
* Make distributed tarball from Git file list...This removes the requirement of having a GNUmakefile in each and every directory of the source tree; this commit also deletes GNUmakefiles made unnecessary this way. dist-toplevel-txt-files toplevel target is also removed, because it is unneeded outside of dist target and it prevents linking of toplevel generated txt docs to distdir when these docs are already generated. In addition, on suggestions from Han-Wen, if dist is made with a source directory tracked by Git, then * the source directory is required to have no uncommitted changes nor non-ignored untracked files, * the time stamp of all files in the tarball is set to the time stamp of the head of the checked-out branch. John Mandereau2012-08-152-13/+0
* Run fixcc.py with astyle 2.02.Graham Percival2012-08-102-2/+0
* Issue 2704: Add missing "#include <unistd.h>" for use with g++ 4.7Frédéric Bron2012-08-012-0/+4
* Issue 2491: Macro for(UP_and_DOWN) and 3 similar....Replaces do{ ... } while(flip (&d) != DOWN/UP/... with a macro for(DOWN_and_UP/UP_and_DOWN/....) { } Signed-off-by: David Kastrup <dak@gnu.org> Łukasz Czerwiński2012-04-301-1/+11
* Run grand-replace for 2012Graham Percival2012-01-0942-42/+42
* Remove unnecessary stdGraham Percival2012-01-091-1/+0
* Avoid implicit sign conversion: size_t vs. ssize_tGraham Percival2012-01-091-3/+3
* Avoid implicit sign change by doing it explicitlyGraham Percival2012-01-091-3/+3
* Avoid deprecated access declarations..."According the ANSI/ISO Standard, the use of access declarations is considered deprecated. Instead, you should use a using declaration for that purpose" http://www.devx.com/tips/Tip/5707 Graham Percival2012-01-091-1/+1
* Avoid redefining struct String_convert to class.Graham Percival2011-12-141-2/+2
* Avoid implicit sign conversionGraham Percival2011-12-141-3/+3
* Remove default comparison for binary search...clang++ complains about this, and we never rely on the default comparison in our code. /home/gperciva/src/lilypond/flower/include/std-vector.hh:197:36: error: 'T' does not refer to a value Compare less = less<T> (), ^ /home/gperciva/src/lilypond/flower/include/std-vector.hh:193:19: note: declared here template<typename T, typename Compare> ^ /home/gperciva/src/lilypond/flower/include/std-vector.hh:197:40: error: expected expression Compare less = less<T> (), Graham Percival2011-12-141-1/+1
* Avoid conversion changing signedness.../home/gperciva/src/lilypond/flower/file-cookie.cc:45:50: error: implicit conversion changes signedness: 'int' to 'size_t' (aka 'unsigned long') [-Werror,-Wsign-conversion] return Memory_out_stream::writer (file, buf, i); ~~~~~~~~~~~~~~~~~ ^ Graham Percival2011-12-141-2/+2
* Run astyle 2.02.Graham Percival2011-12-123-22/+20
* Issue 2036: keep make test in flower from warningsDavid Kastrup2011-12-072-3/+6
* Fix almost all warnings in flower/ and many in lily/....Most of the remaining warnings are about vsize -> int casting, where I'll have to find a proper solution (we don't want to cast all appearances of vsize to int explicitly, but rather use vsize wherever possible). Reinhold Kainhofer2011-12-0511-37/+46
* Warnings: Move all warning-as-error handling to warn.cc...This finally makes that option apply to ALL warnings, and it considerably cleans up the error/warning functions. Reinhold Kainhofer2011-11-142-10/+17
* Don't let yaffut try to demangle when autoconf figures this won't workDavid Kastrup2011-11-111-0/+9
* Correct forward declarations (struct vs. class)Graham Percival2011-11-091-3/+3
* Add vector constructor with size argumentCarl Sorensen2011-10-291-0/+4
* Fix 1477: Add (ly:expect-warning msg args) to suppress expected warnings...If a file contains (ly:expect-warning ....), the corresponding warning string will be added to a list of expected warnings. If the corresponding warning (or erro) is triggered, it will not be printed to stderr, but the string will be removed from the list. So, each ly:expect-warning, suppresses exactly one occurrence of the warning. To suppress a warning multiple times, call ly:expect-warning multiple times. After one file is processed, the list of expected warnings is checked. If it is not empty, it means that an expected warning was not triggered, which might be a bug. So we print out a warning message about this fact. This allows the regtests to check proper warning messages, without polluting the console output with those warning messages. All warnings that are actually printed in the regtests are a bug. For translated error message, there are two approaches: If the warning is created from scheme, simply use (ly:expect-warning (_ "msg with ~a") "args") If the message is triggered from C++, the translated string is in printf syntax, so we need to translate that and then convert it into a format string for Scheme. This can be done with the new function ly:translate-cpp-warning-scheme instead of _: (ly:expect-warning (ly:translate-cpp-warning-scheme "msg with %s") "args") This patch does not yet adapt all regtests that are supposed to print warnings to this new approach. This will follow in a separate patch. Reinhold Kainhofer2011-09-292-4/+67
* Loglevels: Add basic_progress and replace success...-) Add basic_progress function -) use it for 'Processing xxx.ly...' message -) new ly:basic-progress -) get rid of the success function, use basic_progress instead Reinhold Kainhofer2011-09-032-3/+3
* Fixes issue 1328....Finds the local minimum or maximum of a Bezier curve along the X axis in the range of an intersection and shifts intersecting curves up over this range plus slur padding. Adds default slur padding to all scripts, as this algorithm makes them almost just touch with the slur whereas the previous one already had a bit of padding built into it because it was a generous approximation. Mike Solomon2011-08-252-0/+27
* Loglevels: Document distinction between PROGRESS and INFOReinhold Kainhofer2011-08-192-6/+2
* Get rid of some compiler warnings; Fix chdir handling of errors...-) Some "unused parameter" warnings -) Some "ignoring return value" are a bit trickier. They are bad coding style: o) the file-name.cc one returns a string with undefined contents if getcwd fails, which might either crash guile or lead to other bugs. o) the lily-parser-scheme.cc warning was also a programming error (if you used --output=dir/file, and dir/ had the wrong permissions, then lilypond would not print an error, but simply put the output file into the current directory without telling the user!). In this case (output dir explicitly requested, but not possible to change there), I think it's best to exit lilypond with an error. -) signed/unsigned warning in glissando-engraver.cc, where we already had a check for negative values, so explicitly casting to unsigned shuts up the compiler. -) Remove unneccessary #(set-paper-size "a6") in the regtests -) fix bad texinfo code in function documentation Reinhold Kainhofer2011-08-141-3/+2
* Proper loglevels: cmd-line option --loglevel=NONE/ERROR/WARN/BASIC/PROGRESS/D......Allow the user to specify which messages (s)he wants to see on stderr: The lilypond code basically stays the same, I only added a loglevel global variable, which is used in the warning/error*/progress*/success functions (ly:warning, ly:error, etc. in Scheme). If the proper level is not set for a message, it is not printed. There are only some larger changes: -) Global var be_verbose_global replaced by loglevel (in warn.cc, accessor is_loglevel(...); much finer-grained) -) New functions debug_output, which replaces code like: if (be_verbose_global) { progress_indication (...) } -) Move all scheme log functions to warn-scheme.cc -) Add (optional) source location info to warning/error/log messages All changes were done to warn.cc and to the member of the Input class (apparently, we have two parallel error-reporting "frameworks" in lilypond...). Note for all functions in warn.cc (not for the members of Input): The debug_output function (and progress_indication and message) have an optional argument to specify whether the output of the message should always start on a new line or continue the previous output. All functions of the Input class now are just a front-end for the functions in warn.cc Documentation for this new feature is still missing (both in the AU as well as in the CG). Reinhold Kainhofer2011-08-142-32/+168
* Grand fixcc.py run on all .hh .cc files....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. Graham Percival2011-08-0142-547/+532
* Implement minmax()Han-Wen Nienhuys2011-02-091-1/+7
* Document Interval::delta().Han-Wen Nienhuys2011-01-311-0/+2
* removed unused macro, function and file...The macro "classname" defined in flower/include/virtual-methods.hh is never used. If it is removed then the function demangle_classname will never be referenced, and hence file flower/rtti.cc can be removed. I am assuming that they have not been added by someone who intends to use them in future. Bernard Hurley2011-01-272-17/+0
* Admin: run yearly grand-replace.Graham Percival2011-01-1342-42/+42
* [flower] Remove compiler warnings....This has been tested with g++ 4.5.0 (20100722). Werner Lemberg2010-11-033-8/+8
* T1265 - Remove deprecation warnings when running with Guile V2 Replace scm_st...Ian Hulin2010-10-191-70/+15
* Fix drastic overestimation of staff heights....The outside-staff simulation in f530eeb5bba has severe problems when there many outside-staff objects per bar. This patch mitigates the problems by assuming that outside-staff objects don't intersect with each other (but only with the staff). Joe Neeman2010-10-012-0/+10
* Refactor pure-height calculations.Joe Neeman2010-09-282-0/+18
* Clarify infinity_f preprocessor definition....The old code confuses various style programs, including our own fixcc.py (it produces un-compilable code!). In particular: ----- const Real infinity_f = #ifdef ----- which makes gcc unhapy. The new format is easy for style programs to deal with, still compiles, and is IMO just as clear anyway. Graham Percival2010-09-061-5/+3
* Have LilyPond issue a success/failure termination messageIan Hulin2010-05-082-0/+8
* Configure: Remove unused header check.Patrick McCarty2010-04-161-17/+0
* Fix #887: Use ly:string-percent-encode for textedit URIs....* Add an overloaded instance of String_convert::bin2hex optimized for converting single bytes to hex. * Add a new callback, ly:string-percent-encode, to be used for percent escaping paths in textedit URIs. This does the following: - Leave unreserved characters in textedit URIs unescaped. This includes 0-9, A-Z, a-z, and three punctuation characters (hyphen, underscore, and full-stop). - Leave the forward slash (/) unescaped, since it is used as a path delimiter. - Escape all other characters. Don't check for a null byte, since those likely won't sneak into a full pathname. * Use the callback function in the PS backend. Patrick McCarty2010-01-282-0/+10