+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
before 0.1
- * fix mi2mu
* update 20 pt table
* 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
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:
INPUTLANGUAGE
- * unix style paths for LILYINCLUDE ENV
-
* configure pitch_byte
* special key.
* Raw request syntax
- * uniformate: \clef\violin, \clef"violin", \geometric 1.4,
- \meter{ 2/4 }, etc.
-
* subtime with Subtle_reqs
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.
* 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 ),
* all errors
- * a decent webpage
-
* a test suite
FUTURE
* multiple scripst.
- * mixed fontsizes
+ * mixed fontsizes
* put scripts on bars
* revise calcideal
- * eentje/tweetje
+ * volta
* piano staff
- * 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
parsestream.h
vector.h
+ * lgetopt: cmd -, or cmd --
AC_LANG_CPLUSPLUS
optimise_b=yes
-shared_b=yes
+shared_b=no
LIB_SUFFIX=.a
AC_ARG_ENABLE(shared,
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)
CXX="$ac_cv_prog_CXX" ../bin/make_version > out/version.hh
AC_OUTPUT(out/Flower-flags.make:Flower-flags.make.in)
+
}
Long_option_init *
-Getopt_long::operator()() {
+Getopt_long::operator()()
+{
if (!next())
return 0;
(c) 1997 Han-Wen Nienhuys <hanwen@stack.nl>,
Mats Bengtsson <matsb@s3.kth.se>
*/
-
+#include "bar.hh"
#include "clef-reg.hh"
#include "clef-item.hh"
#include "debug.hh"
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)
{
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
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