2004-11-06 Han-Wen Nienhuys <hanwen@xs4all.nl>
- * scm/lily.scm (sanitize-command-option): new function.
+ * lily/parser.yy (Generic_prefix_music_scm): add
+ MUSIC_FUNCTION_SCM_SCM_MUSIC
- * scm/framework-tex.scm (header): sanitize TeX paper size.
+ * scm/lily.scm (sanitize-command-option): new function. (backportme)
+
+ * scm/framework-tex.scm (header): sanitize TeX paper size.
+ (backportme)
2004-11-06 Jan Nieuwenhuizen <janneke@gnu.org>
std::ostream & operator << (std::ostream &, Moment const &);
#endif
+bool moment_less (SCM a, SCM b);
+
#endif /* MOMENT_HH */
Music_wrapper_iterator ();
virtual void derived_substitute (Context *f, Context *t) ;
-
virtual void derived_mark () const;
virtual void construct_children () ;
virtual Moment pending_moment () const;
else
return *p;
}
+
+
+bool
+moment_less (SCM a, SCM b)
+{
+ return *unsmob_moment (a) < *unsmob_moment (b);
+}
+
Music_wrapper_iterator::Music_wrapper_iterator ()
{
- child_iter_ =0;
+ child_iter_ = 0;
}
void
void
Music_wrapper_iterator::derived_substitute (Context *f,Context *t)
{
-
if (child_iter_)
child_iter_->substitute_outlet (f,t);
}
} embedded_scm embedded_scm {
$$ = scm_list_4 ($1, make_input (THIS->pop_spot ()), $3, $4);
}
+ | MUSIC_FUNCTION_SCM_SCM_MUSIC {
+ THIS->push_spot ();
+ } embedded_scm embedded_scm Music {
+ $$ = scm_list_5 ($1, make_input (THIS->pop_spot ()), $3, $4, $5->self_scm ());
+ }
| MUSIC_FUNCTION_MARKUP_MUSIC {
THIS->push_spot ();
} full_markup Music {
end_idx_ = 0;
}
-bool
-moment_less (SCM a, SCM b)
-{
- return *unsmob_moment (a) < *unsmob_moment (b);
-}
-
-
int
-binsearch_scm_vector (SCM vec, SCM key, bool (*is_less)(SCM a,SCM b))
-{
- int lo = 0;
- int hi = SCM_VECTOR_LENGTH (vec);
-
- /* binary search */
- do
- {
- int cmp = (lo + hi) / 2;
-
- SCM when = scm_caar (SCM_VECTOR_REF (vec, cmp));
- bool result = (*is_less) (key, when);
- if (result)
- hi = cmp;
- else
- lo = cmp;
- }
- while (hi - lo > 1);
-
- return lo;
-}
+binsearch_scm_vector (SCM vec, SCM key, bool (*is_less)(SCM a,SCM b));
void
(memq tag tags))))
music))
+
+
+quoteDuring =
+#(def-music-function
+ (location what dir music) (string? ly:dir? ly:music?)
+ (let*
+ ((quote-music (make-music 'NewQuoteMusic
+ 'quoted-music-name what
+ 'element music
+ 'origin location)
+ ))
+
+ quote-music))
+
%{
TODO:
(iterator-ctor . ,Quote_iterator::constructor)
(types . (general-music))
))
+ (NewQuoteMusic
+ . (
+ (description . "Quote preprocessed snippets of music. ")
+ (internal-class-name . "Music") ;; so we get Event::get_length ().
+ (iterator-ctor . ,New_quote_iterator::constructor)
+ (types . (general-music))
+ ))
(RelativeOctaveCheck
. ((description . "Check if a pitch is in the correct octave.")