]> git.donarmstrong.com Git - lilypond.git/commitdiff
lilypond-0.0.14
authorfred <fred>
Wed, 4 Dec 1996 22:59:07 +0000 (22:59 +0000)
committerfred <fred>
Wed, 4 Dec 1996 22:59:07 +0000 (22:59 +0000)
src/getcommands.cc
src/inputcommand.cc [new file with mode: 0644]

index c3b6bba6925d9ab8696f4713cd4872707a45c76a..5b12009ff92fc791160547abd7797c4e76b7da6d 100644 (file)
@@ -1,28 +1,10 @@
 #include "string.hh"
+#include "inputcommand.hh"
 #include "parseconstruct.hh"
 #include "command.hh"
 
 Command*
-get_partial_command(Real u)
-{
-    Command*c = new Command;
-    c->code = INTERPRET;    
-    c->args.add("PARTIAL");
-    c->args.add(u);
-    return c;
-}
-
-Command*
-get_reset_command()
-{
-    Command*c = new Command;
-    c->code = INTERPRET;    
-    c->args.add("RESET");
-    return c;
-}
-
-Command*
-get_key_interpret_command(svec<String> which)
+get_key_interpret_command(svec<Scalar> which)
 {
     Command*c = new Command;
     c->code = INTERPRET;    
@@ -34,18 +16,7 @@ get_key_interpret_command(svec<String> which)
 }
 
 Command*
-get_clef_interpret_command(String w)
-{
-    Command*c = new Command;
-    c->code = INTERPRET;
-    c->args.add("CLEF");
-    c->args.add(w);
-    c->priority = 190;
-    return c;
-}
-
-Command*
-get_key_typeset_command(svec<String> which)
+get_key_typeset_command(svec<Scalar>which)
 {
     Command*c = new Command;
     c->code = TYPESET;    
@@ -56,19 +27,6 @@ get_key_typeset_command(svec<String> which)
     return c;
 }
 
-Command *
-get_meterchange_command(int n, int m)
-{
-    Command*c = new Command;
-
-    c->code = INTERPRET;
-    c->args.add( "METER");
-    c->args.add( n );
-    c->args.add( m );
-    c->priority = 170;         // more than bar
-    return c;
-}
-
 Command *
 get_meter_command(Real w, int n, int m)
 {
@@ -82,7 +40,7 @@ get_meter_command(Real w, int n, int m)
     c->priority = 40;
     return c;
 }
-
+#if 0
 Command*
 get_bar_command(Real w)
 {
@@ -96,17 +54,4 @@ get_bar_command(Real w)
 }
 
 
-Command *
-get_skip_command(int n, Real m)
-{
-    Command*c = new Command;
-    
-    c->code = INTERPRET;
-    c->args.add( "SKIP");
-    c->args.add( n );
-    c->args.add( m );
-    c->priority = 0;           
-    return c;
-}
-
-
+#endif
diff --git a/src/inputcommand.cc b/src/inputcommand.cc
new file mode 100644 (file)
index 0000000..c0bdb96
--- /dev/null
@@ -0,0 +1,124 @@
+#include "inputcommand.hh"
+#include "debug.hh"
+#include "command.hh"
+
+Input_command::Input_command()
+{
+    when = -1;
+}
+
+Input_command::Input_command(Real w)
+{
+    when =w;
+}
+
+Input_command::operator Command()
+{
+    Command c(when);
+    if (!args.sz())
+       return c;
+    
+    c.code = INTERPRET;
+    String s = args[0];
+        
+    int p;
+    if (s == "KEY")
+       p = 200;
+    else if (s=="CLEF")
+       p = 190;
+    else if (s == "METER")
+       p = 180;
+    else if (s == "BAR")
+       p = 170;
+    
+    c.priority = p;
+    c.args = args;
+    
+    return c;    
+}
+
+
+Input_command*
+get_partial_command(Real u)
+{
+    Input_command*c = new Input_command;
+    c->args.add("PARTIAL");
+    c->args.add(u);
+    return c;
+}
+
+Input_command*
+get_key_interpret_command(svec<String>a ) 
+{
+    Input_command*c = new Input_command;
+    c->args.add("KEY");
+    for (int i=0; i < a.sz(); i ++)
+       c->args.add(a[i]);
+    
+    return c;
+}
+
+Input_command*
+get_reset_command()
+{
+    Input_command*c = new Input_command;
+    c->args.add("RESET");
+    return c;
+}
+
+Input_command *
+get_meterchange_command(int n, int m)
+{
+    Input_command*c = new Input_command;
+
+    c->args.add( "METER");
+    c->args.add( n );
+    c->args.add( m );
+
+    return c;
+}
+
+Input_command *
+get_bar_command(Real w)
+{
+    Input_command*c = new Input_command;
+    c->when = w;
+    c->args.add( "BAR");
+    c->args.add( "|");
+
+    return c;
+}
+
+Input_command *
+get_skip_command(int n, Real m)
+{
+    Input_command*c = new Input_command;
+    
+    c->args.add( "SKIP");
+    c->args.add( n );
+    c->args.add( m );
+
+    return c;
+}
+
+
+void
+Input_command::print()const
+{
+    mtor << "{ at " << when;
+    if (args.sz()) {
+       mtor<< " args: ";
+       for (int i = 0; i<args.sz(); i++)
+           mtor << "`"<<args[i] <<"',";
+    }
+    mtor << "}\n";
+}
+
+Input_command*
+get_clef_interpret_command(String w)
+{
+    Input_command*c = new Input_command;
+    c->args.add("CLEF");
+    c->args.add(w);
+    return c;
+}