+pl 14
+ - Simple but nifty mudela-mode.el for Emacs
+ - slightly better syntax for single-note-repeat, now default kept in
+Stem_engraver
+ - bf: Abbrev_beams are not the only beams (see: jcn4, stem-info, thanks, Jan)
+ - a CPU timer for Interpreting and Breaking
+ - Separate Score_elem:
+ * invoke-once stuff in Super_elem (using function pointers; much cleaner now)
+ * geometrical stuff into Graphical_element
+ * Axis_group_* accept Graphical_elements iso. Score_elems
+ * A dimension cache, hopefully this makes lily a bit faster
+ * TeX output moved out of Score_elem, separate interface Outputter
+
+ - < \multi 2; bla > -> \multi 2 < bla > (mudela 0.1.6)
+ - bf: don't do \multi if \type specified
+ - Translator switching: Change_translator, Change_iterator
+
+
+pl 12.jcn4
+ - fixed dynamic f, magstep bug
+ - gaps on abbrev-beams
+ - bf: stem-info
+ - bf: last abbrev
+ - bf: stem: do_width
+ - bf: removed rest-column.hh
+
+*******
+sep 11
pl 13
- big Rest/notehead rewrite:
- Molecule::add_XXXX -> Molecule::add_at_edge ()
- doco updeet: why no midi FAQ, index, CodingStyle hungarian
+
pl 12.jcn3
- try at better dynamic font, copied from cmbxti10: mf/*
- typesetting abbreviation beams; abbreviation-*
Most of the items are marked in the code as well, with full explanation.
grep for TODO and ugh/ugr
+ - bf: abbrevs over whole note
+
* use properties for:
- Text_style
- default_octave
* \header
- revise lexer mode
- write perl script for handling it into databases
-
- * emacs-mode for mudela
+ - write TeX macros to generate titles
* Makefile stuff:
- have make dist produce tarball in out/ directory.
******************
\score { <
- \melodic { \id "Staff" ""; c'4 g'4 }
+ \melodic \type Staff { c'4 g'4 }
\lyric { \id "Lyric" ""; hello4 bye4 < a chord > }
\lyric { \id "Lyric" ""; bye4 hello4 }
\melodic { \id "Staff" ""; c'4 g'4 }
IDEAS
- * scoping in Lexer: do general id- assignments in mudela.
-
- ID '=' EXPR;
* create libmudela, or liblily_frontend
* lyrics in chords still fuck up.
- *
- rewire acknowledge_element() logic with a process_acknowledged()
* pushgroup/popgroup
* multi threading?
- 1 thread per element/ 1 thread per line
- 1 thread per Translator
+
+ * Use hooks/dependency graphs for properties
+
+ * Make general "spanning"-elements and "placer"-elements
*/
class Paper_score : public Music_output {
+ void tex_output ();
public:
Paper_def *paper_l_;
/// other elements
Pointer_list<Score_elem*> elem_p_list_;
-
+
+ Outputter *outputter_l_;
Super_elem *super_elem_l_;
Paper_score ();
/* STANDARD ROUTINES */
- void OK() const;
void print() const;
void typeset_element (Score_elem*);
public:
Link_array<Paper_column> cols;
bool error_mark_b_;
- virtual String TeX_output_str () const;
-
+
DECLARE_MY_RUNTIME_TYPEINFO;
Line_of_score();
void set_breaking (Array<Col_hpositions> const&);
protected:
- virtual void do_breakable_col_processing ();
+ virtual Link_array<Score_elem> get_extra_dependencies () const;
+
+ virtual void do_unlink ();
+ virtual void do_junk_links ();
virtual void break_into_pieces (bool);
virtual Interval do_width() const;
virtual void do_print() const;
*/
class Super_elem : public Score_elem {
public:
- Link_array<Line_of_score> lines_arr_;
- Line_of_score * line_of_score_l_;
+ Link_array<Line_of_score> lines_arr_;
+ Line_of_score * line_of_score_l_;
void add_broken_line (Line_of_score*);
- Super_elem();
- virtual String TeX_output_str() const;
+ Super_elem();
+
+ void pre_processing();
+ void breakable_col_processing();
+ void break_processing();
+ void post_processing();
+ void output_all ();
+ void unlink_all ();
+
protected:
- virtual void do_substitute_dependency (Score_elem*,Score_elem*);
- virtual void handle_broken_dependencies();
+ virtual void do_substitute_dependency (Score_elem*,Score_elem*);
+ virtual void handle_broken_dependencies();
- virtual void do_add_processing();
- DECLARE_MY_RUNTIME_TYPEINFO;
+ virtual void do_add_processing();
+ DECLARE_MY_RUNTIME_TYPEINFO;
};
#endif // SUPER_ELEM_HH