try that one on for size (VST build fu)
[ardour.git] / gtk2_ardour / opts.cc
index 48245651e85b2bf555c53ebbd3d3279e7135cb63..fcd62de51280404b6b76e03cdd99f472d24202f1 100644 (file)
@@ -36,7 +36,7 @@ bool GTK_ARDOUR::just_version = false;
 bool GTK_ARDOUR::use_vst = true;
 bool GTK_ARDOUR::new_session = false;
 char* GTK_ARDOUR::curvetest_file = 0;
-bool GTK_ARDOUR::try_hw_optimization = false;
+bool GTK_ARDOUR::try_hw_optimization = true;
 
 using namespace GTK_ARDOUR;
 
@@ -56,6 +56,7 @@ print_help (const char *execname)
 #endif
             << _("  [session-name]                   Name of session to load\n")
             << _("  -C, --curvetest filename         Curve algorithm debugger\n")
+            << _("  -g, --gtktheme                   Allow GTK to load a theme\n")
                ;
        return 1;
 
@@ -65,7 +66,7 @@ int
 GTK_ARDOUR::parse_opts (int argc, char *argv[])
 
 {
-       const char *optstring = "U:hbvVnoc:C:N:";
+       const char *optstring = "U:hbvVnoc:C:N:g";
        const char *execname = strrchr (argv[0], '/');
 
        if (execname == 0) {
@@ -82,8 +83,9 @@ GTK_ARDOUR::parse_opts (int argc, char *argv[])
                { "name", 1, 0, 'c' },
                { "novst", 0, 0, 'V' },
                { "new", 1, 0, 'N' },
-               { "use-hw-optimizations", 0, 0, 'o' },
+               { "no-hw-optimizations", 0, 0, 'O' },
                { "curvetest", 1, 0, 'C' },
+               { "gtktheme", 0, 0, 'g' },
                { 0, 0, 0, 0 }
        };
 
@@ -100,7 +102,7 @@ GTK_ARDOUR::parse_opts (int argc, char *argv[])
                switch (c) {
                case 0:
                        break;
-
+               
                case 'v':
                        just_version = true;
                        break;
@@ -122,8 +124,8 @@ GTK_ARDOUR::parse_opts (int argc, char *argv[])
                        session_name = optarg;
                        break;
 
-               case 'o':
-                       try_hw_optimization = true;
+               case 'O':
+                       try_hw_optimization = false;
                        break;
 
                case 'V':
@@ -141,14 +143,19 @@ GTK_ARDOUR::parse_opts (int argc, char *argv[])
                        break;
 
                default:
-                       break;
+                       return print_help(execname);
                }
        }
 
        if (optind < argc) {
+               if (new_session) {
+                       cerr << "Illogical combination: you can either create a new session, or a load an existing session but not both!" << endl;
+                       return print_help(execname);
+               }
                session_name = argv[optind++];
        }
 
+
        return 0;
 }