X-Git-Url: https://git.donarmstrong.com/?a=blobdiff_plain;f=lily%2Finclude%2Fperformer.hh;h=82b4ce50cc2b66bf04e228ebc74aacd476ce64f4;hb=47db9a3883d726ca53e2133a3b2298f78dd6a32e;hp=0b0497e322b2fdacf9ab32fe09fde3bc7842f98a;hpb=144cd434d02e6d90b2fb738eeee99119a7c5e1d2;p=lilypond.git diff --git a/lily/include/performer.hh b/lily/include/performer.hh index 0b0497e322..82b4ce50cc 100644 --- a/lily/include/performer.hh +++ b/lily/include/performer.hh @@ -1,7 +1,7 @@ /* This file is part of LilyPond, the GNU music typesetter. - Copyright (C) 1996--2010 Han-Wen Nienhuys + Copyright (C) 1996--2015 Han-Wen Nienhuys Jan Nieuwenhuizen LilyPond is free software: you can redistribute it and/or modify @@ -25,7 +25,7 @@ #include "grob-info.hh" #include "translator.hh" -/* Convert a music definition into a audio representation. +/* Convert a music definition into an audio representation. A baseclass. */ class Performer : public Translator { @@ -33,6 +33,12 @@ public: VIRTUAL_COPY_CONSTRUCTOR (Translator, Performer); friend class Performer_group; Performer_group *get_daddy_performer () const; + static Performer *unsmob (SCM perf) { + return dynamic_cast (Translator::unsmob (perf)); + } + static bool is_smob (SCM perf) { + return Translator::is_smob (perf) && unsmob (perf); + } protected: virtual void announce_element (Audio_element_info); @@ -40,7 +46,5 @@ protected: virtual void create_audio_elements (); }; -Performer *unsmob_performer (SCM perf); - #endif /* PERFORMER_HH */