-Grob *get_current_note_head (Context * voice);
-Context *unsmob_context (SCM);
-
-DECLARE_UNSMOB(Context,context);
+Grob *get_current_note_head (Context *voice);
+Grob *get_current_rest (Context *voice);
+DECLARE_UNSMOB (Context, context);
+
+Moment measure_position (Context const *context);
+Rational measure_length (Context const *context);
+void set_context_property_on_children (Context *trans, SCM sym, SCM val);
+
+/* Shorthand for creating and broadcasting stream events. */
+#define send_stream_event(ctx, type, origin, ...) \
+{ \
+ SCM props[] = { __VA_ARGS__, 0 }; \
+ ctx->internal_send_stream_event (ly_symbol2scm (type), origin, props); \
+}
+
+SCM nested_property_alist (SCM alist, SCM prop_path, SCM value);
+SCM nested_property_revert_alist (SCM alist, SCM prop_path);
+SCM evict_from_alist (SCM, SCM, SCM);