]> git.donarmstrong.com Git - lilypond.git/blobdiff - lily/include/music.hh
release: 1.0.16
[lilypond.git] / lily / include / music.hh
index b05bc0db19f4e2538de02f691ef5f33c80321bd6..efb2f712ee2681f8a4d38bfaf0d5525aecb93cb8 100644 (file)
@@ -17,8 +17,8 @@
 #include "lily-proto.hh"
 #include "string.hh"
 
-/** 
-  Anything which has length or pitch.
+/** Music is anything that has duration and supports both time compression and
+  transposition.
   
   In Lily, everything that can be thought to have a length and a pitch
   (which has a duration which can be transposed) is considered "music",
 class Music:public Input {
 public:
     
-  /** The kind of iterator needed to walk this music.  This doesn't
+  /** The kind of translation needed for this music.  This doesn't
     make sense for simple (ie non-list) music, but it does no harm
     here. Yes, it did harm Music_sequence: you can forget to copy it.
       
     */
   String translator_type_str_;
 
-  /// what name (or look for this name)
+  /// what identification for the translation unit
   String translator_id_str_;    
 
   virtual Musical_pitch to_relative_octave (Musical_pitch);
-  virtual Moment  duration () const;
+
+  /// The duration of this piece of music
+  virtual Moment duration () const;
 
   virtual ~Music(){}
   void print() const;
-  virtual void transpose (Musical_pitch );
-  virtual void compress (Moment);
+  /// Transpose, with the interval central C to #p#
+  virtual void transpose (Musical_pitch p);
+
+  /// Scale the music in time by #factor#.
+  virtual void compress (Moment factor);
   VIRTUAL_COPY_CONS(Music,Music);
   DECLARE_MY_RUNTIME_TYPEINFO;
   Music();