X-Git-Url: https://git.donarmstrong.com/?a=blobdiff_plain;f=lily%2Foutput-def-scheme.cc;h=65673c8a9ec71a6238104e70621f1313b224f810;hb=b872748c6aa8bb721ced458691b38ac2fac5dfc8;hp=91a3adfb2df55a5cb3688439cb1e84e1f6cbc5fe;hpb=0b544cfb7332615ef809b71b57ab656741311ae1;p=lilypond.git diff --git a/lily/output-def-scheme.cc b/lily/output-def-scheme.cc index 91a3adfb2d..65673c8a9e 100644 --- a/lily/output-def-scheme.cc +++ b/lily/output-def-scheme.cc @@ -1,7 +1,7 @@ /* This file is part of LilyPond, the GNU music typesetter. - Copyright (C) 2005--2014 Han-Wen Nienhuys + Copyright (C) 2005--2015 Han-Wen Nienhuys LilyPond is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -32,13 +32,13 @@ LY_DEFINE (ly_output_def_lookup, "ly:output-def-lookup", " @var{val} or @code{'()} if @var{val} is undefined.") { LY_ASSERT_SMOB (Output_def, def, 1); - Output_def *op = unsmob_output_def (def); + Output_def *op = unsmob (def); LY_ASSERT_TYPE (ly_is_symbol, sym, 2); SCM answer = op->lookup_variable (sym); - if (answer == SCM_UNDEFINED) + if (SCM_UNBNDP (answer)) { - if (val == SCM_UNDEFINED) + if (SCM_UNBNDP (val)) val = SCM_EOL; answer = val; @@ -52,7 +52,7 @@ LY_DEFINE (ly_output_def_scope, "ly:output-def-scope", "Return the variable scope inside @var{def}.") { LY_ASSERT_SMOB (Output_def, def, 1); - Output_def *op = unsmob_output_def (def); + Output_def *op = unsmob (def); return op->scope_; } @@ -61,7 +61,7 @@ LY_DEFINE (ly_output_def_parent, "ly:output-def-parent", "Return the parent output definition of @var{def}.") { LY_ASSERT_SMOB (Output_def, def, 1); - Output_def *op = unsmob_output_def (def); + Output_def *op = unsmob (def); return op->parent_ ? op->parent_->self_scm () : SCM_EOL; } @@ -70,7 +70,7 @@ LY_DEFINE (ly_output_def_set_variable_x, "ly:output-def-set-variable!", "Set an output definition @var{def} variable @var{sym} to @var{val}.") { LY_ASSERT_SMOB (Output_def, def, 1); - Output_def *output_def = unsmob_output_def (def); + Output_def *output_def = unsmob (def); LY_ASSERT_TYPE (ly_is_symbol, sym, 2); output_def->set_variable (sym, val); return SCM_UNSPECIFIED; @@ -81,7 +81,7 @@ LY_DEFINE (ly_output_def_clone, "ly:output-def-clone", "Clone output definition @var{def}.") { LY_ASSERT_SMOB (Output_def, def, 1); - Output_def *op = unsmob_output_def (def); + Output_def *op = unsmob (def); Output_def *clone = op->clone (); return clone->unprotect (); @@ -93,16 +93,16 @@ LY_DEFINE (ly_output_description, "ly:output-description", { LY_ASSERT_SMOB (Output_def, output_def, 1); - Output_def *id = unsmob_output_def (output_def); + Output_def *id = unsmob (output_def); SCM al = ly_module_2_alist (id->scope_); SCM ell = SCM_EOL; for (SCM s = al; scm_is_pair (s); s = scm_cdr (s)) { - Context_def *td = unsmob_context_def (scm_cdar (s)); + Context_def *td = unsmob (scm_cdar (s)); SCM key = scm_caar (s); - if (td && key == td->get_context_name ()) - ell = scm_cons (scm_cons (key, td->to_alist ()), ell); + if (td && scm_is_eq (key, td->get_context_name ())) + ell = scm_cons (scm_cons (key, td->to_alist ()), ell); } return ell; } @@ -116,14 +116,14 @@ LY_DEFINE (ly_output_find_context_def, "ly:output-find-context-def", if (!SCM_UNBNDP (context_name)) LY_ASSERT_TYPE (ly_is_symbol, context_name, 2); - Output_def *id = unsmob_output_def (output_def); + Output_def *id = unsmob (output_def); SCM al = ly_module_2_alist (id->scope_); SCM ell = SCM_EOL; for (SCM s = al; scm_is_pair (s); s = scm_cdr (s)) { SCM p = scm_car (s); - Context_def *td = unsmob_context_def (scm_cdr (p)); + Context_def *td = unsmob (scm_cdr (p)); if (td && scm_is_eq (scm_car (p), td->get_context_name ()) && (SCM_UNBNDP (context_name) || td->is_alias (context_name))) ell = scm_cons (p, ell); @@ -131,20 +131,15 @@ LY_DEFINE (ly_output_find_context_def, "ly:output-find-context-def", return ell; } - -LY_DEFINE (ly_output_def_p, "ly:output-def?", - 1, 0, 0, (SCM def), - "Is @var{def} an output definition?") -{ - return ly_bool2scm (unsmob_output_def (def)); -} +const char +* const Output_def::type_p_name_ = "ly:output-def?"; LY_DEFINE (ly_paper_outputscale, "ly:paper-outputscale", 1, 0, 0, (SCM def), "Return the output-scale for output definition @var{def}.") { LY_ASSERT_SMOB (Output_def, def, 1); - Output_def *b = unsmob_output_def (def); + Output_def *b = unsmob (def); return scm_from_double (output_scale (b)); } @@ -165,7 +160,7 @@ LY_DEFINE (ly_paper_get_font, "ly:paper-get-font", { LY_ASSERT_SMOB (Output_def, def, 1); - Output_def *paper = unsmob_output_def (def); + Output_def *paper = unsmob (def); Font_metric *fm = select_font (paper, chain); return fm->self_scm (); } @@ -176,7 +171,7 @@ LY_DEFINE (ly_paper_get_number, "ly:paper-get-number", " @var{def} as a double.") { LY_ASSERT_SMOB (Output_def, def, 1); - Output_def *layout = unsmob_output_def (def); + Output_def *layout = unsmob (def); return scm_from_double (layout->get_dimension (sym)); } @@ -186,13 +181,13 @@ LY_DEFINE (ly_paper_fonts, "ly:paper-fonts", " @var{def} (e.g., @code{\\paper}).") { LY_ASSERT_SMOB (Output_def, def, 1); - Output_def *b = unsmob_output_def (def); + Output_def *b = unsmob (def); SCM tab1 = b->lookup_variable (ly_symbol2scm ("scaled-fonts")); SCM tab2 = b->lookup_variable (ly_symbol2scm ("pango-fonts")); SCM alist1 = SCM_EOL; - if (scm_hash_table_p (tab1) == SCM_BOOL_T) + if (to_boolean (scm_hash_table_p (tab1))) { alist1 = scm_append (ly_alist_vals (ly_hash2alist (tab1))); @@ -200,7 +195,7 @@ LY_DEFINE (ly_paper_fonts, "ly:paper-fonts", } SCM alist2 = SCM_EOL; - if (scm_hash_table_p (tab2) == SCM_BOOL_T) + if (scm_is_true (scm_hash_table_p (tab2))) { // strip original-fonts/pango-font-descriptions alist2 = scm_append (ly_alist_vals (ly_hash2alist (tab2))); @@ -215,7 +210,7 @@ LY_DEFINE (ly_paper_fonts, "ly:paper-fonts", { SCM entry = scm_car (s); - Font_metric *fm = unsmob_metrics (entry); + Font_metric *fm = unsmob (entry); if (dynamic_cast (fm) || dynamic_cast (fm))