X-Git-Url: https://git.donarmstrong.com/?a=blobdiff_plain;ds=sidebyside;f=lily%2Ftweak-registration-scheme.cc;h=7770d9b13cbea451bffd1f54a8d1779099a21e13;hb=af978acdd78dce84f3867b80695dc4622fa0cd06;hp=7bc17dfe3c7bf39913a0b3a1d2b0bf3c3d249d9d;hpb=467072618a44c6dbb98901f6192fbbf2e91425b1;p=lilypond.git diff --git a/lily/tweak-registration-scheme.cc b/lily/tweak-registration-scheme.cc index 7bc17dfe3c..7770d9b13c 100644 --- a/lily/tweak-registration-scheme.cc +++ b/lily/tweak-registration-scheme.cc @@ -1,70 +1,73 @@ /* - tweak-registration-scheme.cc -- implement Tweak_registry bindings + tweak-registration-scheme.cc -- implement Tweak_registry bindings source file of the GNU LilyPond music typesetter - (c) 2004 Han-Wen Nienhuys - + (c) 2004--2005 Han-Wen Nienhuys */ - #include "tweak-registration.hh" #include "grob.hh" #include "object-key-undumper.hh" -LY_DEFINE(ly_clear_tweak_registry, "ly:tweak-clear-registry", - 0,0,0,(), - "Clear global tweak registry" - ) +LY_DEFINE (ly_clear_tweak_registry, "ly:tweak-clear-registry", + 0, 0, 0, (), + "Clear global tweak registry") { global_registry_->clear (); return SCM_UNSPECIFIED; } -LY_DEFINE(ly_insert_tweak, "ly:insert-tweak", - 2,0,0, - (SCM grob, SCM tweak), - "add new tweak for grob." - ) +LY_DEFINE (ly_grob_insert_tweak, "ly:grob-insert-tweak", + 2, 0, 0, + (SCM grob, SCM tweak), + "add new tweak for grob.") { Grob *gr = unsmob_grob (grob); - SCM_ASSERT_TYPE(gr, grob, SCM_ARG1, __FUNCTION__, "Grob"); - SCM_ASSERT_TYPE(scm_list_p (tweak) == SCM_BOOL_T - && ly_c_procedure_p (scm_car (tweak)), - tweak, SCM_ARG2, __FUNCTION__, "Tweak"); - + SCM_ASSERT_TYPE (gr, grob, SCM_ARG1, __FUNCTION__, "Grob"); + SCM_ASSERT_TYPE (scm_list_p (tweak) == SCM_BOOL_T + && ly_is_procedure (scm_car (tweak)), + tweak, SCM_ARG2, __FUNCTION__, "Tweak"); + global_registry_->insert_grob_tweak (gr, tweak); return SCM_UNSPECIFIED; } - -LY_DEFINE(ly_tweak_read_keys, "ly:tweak-define-keys", - 1,0,0,(SCM keys), - "Read keys" - ) +LY_DEFINE (ly_grob_replace_tweak, "ly:grob-replace-tweak", + 2, 0, 0, + (SCM grob, SCM tweak), + "Replace tweak for grob.") { - global_registry_->undumper ()->parse_contents (keys); + Grob *gr = unsmob_grob (grob); + SCM_ASSERT_TYPE (gr, grob, SCM_ARG1, __FUNCTION__, "Grob"); + SCM_ASSERT_TYPE (scm_list_p (tweak) == SCM_BOOL_T + && ly_is_procedure (scm_car (tweak)), + tweak, SCM_ARG2, __FUNCTION__, "Tweak"); + + global_registry_->replace_grob_tweak (gr, tweak); return SCM_UNSPECIFIED; } - -LY_DEFINE(ly_all_tweaks, "ly:all-tweaks", - 0,0,0,(), - "all tweaks" - ) +LY_DEFINE (ly_tweak_read_keys, "ly:tweak-define-keys", + 1, 0, 0, (SCM keys), + "Read keys") { - return global_registry_->list_tweaks(); + global_registry_->undumper ()->parse_contents (keys); + return SCM_UNSPECIFIED; } +LY_DEFINE (ly_all_tweaks, "ly:all-tweaks", + 0, 0, 0, (), + "all tweaks") +{ + return global_registry_->list_tweaks (); +} -LY_DEFINE(ly_tweak_read_tweaks, "ly:tweak-define-tweaks", - 1,0,0,(SCM tweaks), - "Read tweaks" - ) +LY_DEFINE (ly_tweak_read_tweaks, "ly:tweak-define-tweaks", + 1, 0, 0, (SCM tweaks), + "Read tweaks") { for (SCM s = tweaks; scm_is_pair (s); s = scm_cdr (s)) - { - global_registry_->insert_tweak_from_file (scm_car (s)); - } + global_registry_->insert_tweak_from_file (scm_car (s)); return SCM_UNSPECIFIED; }