/*
This file is part of LilyPond, the GNU music typesetter.
- Copyright (C) 2005--2014 Han-Wen Nienhuys <hanwen@xs4all.nl>
+ Copyright (C) 2005--2015 Han-Wen Nienhuys <hanwen@xs4all.nl>
LilyPond is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
" process it and return the @code{Music_output} object"
" in its final state.")
{
- Global_context *g = dynamic_cast<Global_context *> (Context::unsmob (context));
+ Global_context *g = unsmob<Global_context> (context);
- LY_ASSERT_TYPE (Global_context::unsmob, context, 1);
+ LY_ASSERT_SMOB (Global_context, context, 1);
SCM output = g->get_output ();
progress_indication ("\n");
- if (Music_output *od = Music_output::unsmob (output))
+ if (Music_output *od = unsmob<Music_output> (output))
od->process ();
return output;
"Create a translator group and connect it to the global context"
" @var{global}. The translator group is returned.")
{
- Global_context *g = dynamic_cast<Global_context *> (Context::unsmob (global));
- LY_ASSERT_TYPE (Global_context::unsmob, global, 1);
+ Global_context *g = unsmob<Global_context> (global);
+ LY_ASSERT_SMOB (Global_context, global, 1);
Translator_group *tg = new Translator_group ();
tg->connect_to_context (g);
" block @var{output-def}. The context is returned.")
{
LY_ASSERT_SMOB (Output_def, output_def, 1);
- Output_def *odef = Output_def::unsmob (output_def);
+ Output_def *odef = unsmob<Output_def> (output_def);
Global_context *glob = new Global_context (odef);
" @var{ctx}. The context is returned in its final state.")
{
LY_ASSERT_SMOB (Music, mus, 1);
- LY_ASSERT_TYPE (Global_context::unsmob, ctx, 2);
+ LY_ASSERT_SMOB (Global_context, ctx, 2);
- Music *music = Music::unsmob (mus);
+ Music *music = unsmob<Music> (mus);
if (!music)
{
warning (_ ("no music found in score"));
return SCM_BOOL_F;
}
- Global_context *g = dynamic_cast<Global_context *> (Context::unsmob (ctx));
+ Global_context *g = unsmob<Global_context> (ctx);
Cpu_timer timer;
message (_ ("Interpreting music..."));
SCM protected_iter = Music_iterator::get_static_get_iterator (music);
- Music_iterator *iter = Music_iterator::unsmob (protected_iter);
+ Music_iterator *iter = unsmob<Music_iterator> (protected_iter);
iter->init_context (music, g);
iter->construct_children ();
iter->quit ();
scm_remember_upto_here_1 (protected_iter);
- send_stream_event (g, "Finish", 0, 0);
+ send_stream_event (g, "Finish", 0);
debug_output (_f ("elapsed time: %.2f seconds", timer.read ()));