From d4322b466d8d49b3cfd64efd5ef258d0627525a7 Mon Sep 17 00:00:00 2001 From: fred Date: Sun, 24 Mar 2002 19:38:39 +0000 Subject: [PATCH] lilypond-0.0.49 --- NEWS | 13 +++++++++++++ TODO | 32 ++++++++++++-------------------- flower/TODO | 5 +---- flower/configure.in | 4 ++-- flower/lgetopt.cc | 3 ++- lily/clef-reg.cc | 35 ++++++++++++++++++++++------------- lily/include/clef-reg.hh | 18 +++++++++++------- 7 files changed, 63 insertions(+), 47 deletions(-) diff --git a/NEWS b/NEWS index e456d8d44e..7176a07fcb 100644 --- a/NEWS +++ b/NEWS @@ -1,3 +1,16 @@ +pl 48.hwn1 + - lsm template + - clef in cadenza mode. + - notename clear + - \command bla; for \meter, \clef, \octave etc. + +pl 48 + - notenames init + - Duration order -> grouping + - broken key s + - default octave +****** +april 3 pl 47 - dynamic flowerlib - Input mods: now use Source_file iso Sources diff --git a/TODO b/TODO index 6e3d3f5c93..2d56c054f3 100644 --- a/TODO +++ b/TODO @@ -1,5 +1,4 @@ before 0.1 - * fix mi2mu * update 20 pt table @@ -9,6 +8,8 @@ before 0.1 * remove unnecessary or confusing constructs from .ly + * key undo + This is an assorted collection of stuff that will be done, might be done, or is an idea that I want to think about @@ -17,23 +18,17 @@ PARSER MAKE-STUFF - * flower config: separate optiflags. - * do platform stuff: configure, header(s), targets, build (out?) BUGS - * key at clef change. - - * key undo - - * key at broken :||: + * help-lines * [c8. c32 c32] * cis ( | ) cis - * parser error handling (can you say Segfault?) + * lilypond - -> SEVERELY LACKING: @@ -49,8 +44,6 @@ FURTHER FOR ORCHESTRAL SCORE: INPUTLANGUAGE - * unix style paths for LILYINCLUDE ENV - * configure pitch_byte * special key. @@ -63,9 +56,6 @@ INPUTLANGUAGE * Raw request syntax - * uniformate: \clef\violin, \clef"violin", \geometric 1.4, - \meter{ 2/4 }, etc. - * subtime with Subtle_reqs SMALLISH PROJECTS @@ -73,6 +63,10 @@ SMALLISH PROJECTS * bugreport to doc++ devel: struct not in class hier; public virtual baseclasses + * half-sharps, half-flats + + * unix style paths for LILYINCLUDE EN + * rpm package buildroot * indentable stream for TeX stream, lily stream, Dstream. @@ -81,12 +75,12 @@ SMALLISH PROJECTS * caching breakpoints / saving them. - * key { C } - * use dstream feature in mi2mu * qtor, btor, mtor-> tor( QUIET_ver ), tor( DEBUG_ver ), etc. + - declare notenametab? + * use tors feature in lily * do conventional keys (C G A, F B E, a e fis, d as des, etc ), @@ -141,8 +135,6 @@ DOC * all errors - * a decent webpage - * a test suite FUTURE @@ -151,7 +143,7 @@ FUTURE * multiple scripst. - * mixed fontsizes + * mixed fontsizes * put scripts on bars @@ -173,7 +165,7 @@ FUTURE * revise calcideal - * eentje/tweetje + * volta * piano staff diff --git a/flower/TODO b/flower/TODO index a0188c47f8..3e10b2b3af 100644 --- a/flower/TODO +++ b/flower/TODO @@ -1,10 +1,6 @@ - * Autoconf configure script. - * fix/junk ambiguous String constructor overloads, e.g.: String( int ) and String( char ) - * shared lib. - * LGPL? * disable this auto conv: const pointer -> bool -> string @@ -24,3 +20,4 @@ parsestream.h vector.h + * lgetopt: cmd -, or cmd -- diff --git a/flower/configure.in b/flower/configure.in index d35ff32bdd..e58f93f485 100644 --- a/flower/configure.in +++ b/flower/configure.in @@ -4,7 +4,7 @@ AC_INIT(choleski.cc) AC_LANG_CPLUSPLUS optimise_b=yes -shared_b=yes +shared_b=no LIB_SUFFIX=.a AC_ARG_ENABLE(shared, @@ -25,7 +25,6 @@ if test $optimise_b = yes; then MODULE_CXXFLAGS="$MODULE_CXXFLAGS -O2 -DSTRING_UTILS_INLINED" fi -dnl should enable flower specific compile flags. AC_SUBST(MODULE_CXXFLAGS) AC_SUBST(MODULE_LDFLAGS) AC_SUBST(LIB_SUFFIX) @@ -39,3 +38,4 @@ AC_CONFIG_HEADER(out/config.hh:config.hh.in) CXX="$ac_cv_prog_CXX" ../bin/make_version > out/version.hh AC_OUTPUT(out/Flower-flags.make:Flower-flags.make.in) + diff --git a/flower/lgetopt.cc b/flower/lgetopt.cc index 37e8a00d8c..c2e5a3b790 100644 --- a/flower/lgetopt.cc +++ b/flower/lgetopt.cc @@ -155,7 +155,8 @@ Getopt_long::parseshort() } Long_option_init * -Getopt_long::operator()() { +Getopt_long::operator()() +{ if (!next()) return 0; diff --git a/lily/clef-reg.cc b/lily/clef-reg.cc index f0bff0374c..fc1aef825b 100644 --- a/lily/clef-reg.cc +++ b/lily/clef-reg.cc @@ -6,7 +6,7 @@ (c) 1997 Han-Wen Nienhuys , Mats Bengtsson */ - +#include "bar.hh" #include "clef-reg.hh" #include "clef-item.hh" #include "debug.hh" @@ -47,7 +47,16 @@ Clef_register::read_req(Clef_change_req*c_l) if (!set_type(c_l->clef_str_)) c_l->error("unknown clef type "); } - +void +Clef_register::acknowledge_element(Staff_elem_info info) +{ + if (info.elem_p_->name() == Bar::static_name()) { + if (!clef_p_){ + create_clef(); + clef_p_->change = false; + } + } +} bool Clef_register::try_request(Request * r_l) { @@ -62,22 +71,22 @@ Clef_register::try_request(Request * r_l) return true; } +void +Clef_register::create_clef() +{ + clef_p_ = new Clef_item; + clef_p_->read(*this); + announce_element(Staff_elem_info(clef_p_, + clef_req_l_)); +} + void Clef_register::process_requests() { - Time_description const *time_l = get_staff_info().time_C_; - if (!clef_req_l_ && (!time_l->whole_in_measure_|| !time_l->when_)) { - clef_p_ = new Clef_item; - clef_p_->change = false; - } else if (clef_req_l_) { - clef_p_ = new Clef_item; + if (clef_req_l_) { + create_clef(); clef_p_->change = true; } - if (clef_p_) { - clef_p_->read(*this); - announce_element(Staff_elem_info(clef_p_, - clef_req_l_)); - } } void diff --git a/lily/include/clef-reg.hh b/lily/include/clef-reg.hh index cc3a8a90e9..434ffcd958 100644 --- a/lily/include/clef-reg.hh +++ b/lily/include/clef-reg.hh @@ -15,20 +15,24 @@ class Clef_register : public Request_register { Clef_item *clef_p_; Clef_change_req * clef_req_l_; - + void create_clef(); + void read_req(Clef_change_req*); + bool set_type(String); +protected: + virtual void process_requests(); + virtual void pre_move_processing(); + virtual void post_move_processing(); + virtual bool try_request(Request*); + virtual void acknowledge_element(Staff_elem_info); public: int c0_position_i_; String clef_type_str_; /* ************** */ - virtual void process_requests(); - virtual void pre_move_processing(); - virtual void post_move_processing(); - virtual bool try_request(Request*); + Clef_register(); NAME_MEMBERS(Clef_register); - void read_req(Clef_change_req*); - bool set_type(String); + }; #endif // CLEF_HH -- 2.39.5