]> git.donarmstrong.com Git - lilypond.git/blobdiff - lily/include/lilypond-key.hh
* lily/sequential-music.cc: remove file.
[lilypond.git] / lily / include / lilypond-key.hh
index afdb72f6daac8335903cc5816694a62429062759..15d4639ec19c9b36fd763eb88cd02013bce8b249 100644 (file)
@@ -13,7 +13,6 @@
 #include "object-key.hh"
 #include "lily-proto.hh"
 #include "moment.hh"
-#include "string.hh"
 
 class Lilypond_grob_key : public Object_key
 {
@@ -23,14 +22,16 @@ class Lilypond_grob_key : public Object_key
   int disambiguation_count_;
 
 public:
-  Lilypond_grob_key(Object_key const *context,
-                   Moment start,
-                   String name, int);
+  Lilypond_grob_key (Object_key const *context,
+                    Moment start,
+                    String name, int);
 
+  static Object_key *from_scheme (SCM);
 protected:
   virtual int get_type () const;
   virtual void derived_mark () const; 
   virtual int do_compare (Object_key const* a) const;
+  virtual SCM as_scheme () const;
 };
 
 class Lilypond_context_key : public Object_key
@@ -48,12 +49,30 @@ public:
                        String id,
                        int count);
 
+  static Object_key *from_scheme (SCM);
 protected:
   virtual int get_type () const;
   virtual int do_compare (Object_key const* a) const;
   virtual void derived_mark () const; 
+  virtual SCM as_scheme () const;
 };
 
+class Lilypond_general_key : public Object_key
+{
+  Object_key const *parent_;
+  String name_;
+  int disambiguation_count_;
+public:
+  Lilypond_general_key (Object_key const *parent, String name,
+                       int count);
+
+  static Object_key *from_scheme (SCM);
+protected:
+  virtual int get_type () const;
+  virtual int do_compare (Object_key const* a) const;
+  virtual void derived_mark () const; 
+  virtual SCM as_scheme () const;
+};
 
 #endif /* LILYPOND_KEY_HH */