]> git.donarmstrong.com Git - lilypond.git/blobdiff - lily/listener.cc
lilypond-manuals.css: edit color scheme and some spacing
[lilypond.git] / lily / listener.cc
index edc96bdf1c84aed5a51c69b87ae4914a125ebe77..836f8cdc6f1b450829ff7337befa4bbc3763db33 100644 (file)
@@ -1,54 +1,22 @@
 /*
-  listener.cc -- implement Listener and Listener_target
+  This file is part of LilyPond, the GNU music typesetter.
 
-  source file of the GNU LilyPond music typesetter
+  Copyright (C) 2005 Erik Sandberg  <mandolaerik@gmail.com>
 
-  (c) 2005 Erik Sandberg  <mandolaerik@gmail.com>
-*/
-
-#include "listener.hh"
-#include "ly-smobs.icc"
-#include "warn.hh"
-
-Listener::Listener (const void *target, Listener_function_table *type)
-{
-  target_ = (void *)target;
-  type_ = type;
-}
-
-Listener::Listener (Listener const &other)
-{
-  target_ = other.target_;
-  type_ = other.type_; 
-}
+  LilyPond is free software: you can redistribute it and/or modify
+  it under the terms of the GNU General Public License as published by
+  the Free Software Foundation, either version 3 of the License, or
+  (at your option) any later version.
 
-void Listener::listen (SCM ev) const {
-  (type_->listen_callback) (target_, ev);
-}
+  LilyPond is distributed in the hope that it will be useful,
+  but WITHOUT ANY WARRANTY; without even the implied warranty of
+  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+  GNU General Public License for more details.
 
-SCM
-Listener::mark_smob (SCM sm)
-{
-  Listener *me = (Listener *) SCM_CELL_WORD_1 (sm);
-  (me->type_->mark_callback) (me->target_);
-  return SCM_EOL;
-}
-
-int
-Listener::print_smob (SCM s, SCM p, scm_print_state*)
-{
-  scm_puts ("#<Listener>", p);
-  return 1;
-}
-
-SCM
-Listener::equal_p (SCM a, SCM b)
-{
-  Listener *l1 = unsmob_listener (a);
-  Listener *l2 = unsmob_listener (b);
+  You should have received a copy of the GNU General Public License
+  along with LilyPond.  If not, see <http://www.gnu.org/licenses/>.
+*/
 
-  return (*l1 == *l2) ? SCM_BOOL_T : SCM_BOOL_F;
-}
+#include "listener.hh"
 
-IMPLEMENT_SIMPLE_SMOBS (Listener);
-IMPLEMENT_TYPE_P (Listener, "listener");
+const char * const Listener::type_p_name_ = "ly:listener?";