Fix up state save/load of location lock/glue settings.
[ardour.git] / gtk2_ardour / opts.cc
index b5075daa2f3622679e613a1ac50801de0ec5ea08..e15df90fd5d5f065fd2c5f89644d0dc8197a54b9 100644 (file)
@@ -40,10 +40,13 @@ bool ARDOUR_COMMAND_LINE::use_vst = true;
 bool ARDOUR_COMMAND_LINE::new_session = false;
 char* ARDOUR_COMMAND_LINE::curvetest_file = 0;
 bool ARDOUR_COMMAND_LINE::try_hw_optimization = true;
+bool ARDOUR_COMMAND_LINE::no_connect_ports = false;
 string ARDOUR_COMMAND_LINE::keybindings_path = ""; /* empty means use builtin default */
 Glib::ustring ARDOUR_COMMAND_LINE::menus_file = "ardour.menus";
 bool ARDOUR_COMMAND_LINE::finder_invoked_ardour = false;
 string ARDOUR_COMMAND_LINE::immediate_save;
+string ARDOUR_COMMAND_LINE::jack_session_uuid;
+string ARDOUR_COMMAND_LINE::load_template;
 
 using namespace ARDOUR_COMMAND_LINE;
 
@@ -59,7 +62,7 @@ print_help (const char *execname)
             << _("  -d, --disable-plugins       Disable all plugins in an existing session\n")
             << _("  -D, --debug <options>       Set debug flags. Use \"-D list\" to see available options\n")
             << _("  -n, --show-splash           Show splash screen\n")
-            << _("  -m, --menus file            Use \"file\" for Ardour menus\n")
+            << _("  -m, --menus file            Use \"file\" to define menus\n")
             << _("  -N, --new session-name      Create a new session from the command line\n")
             << _("  -O, --no-hw-optimizations   Disable h/w specific optimizations\n")
             << _("  -S, --sync                  Draw the gui synchronously \n")
@@ -77,7 +80,7 @@ print_help (const char *execname)
 int
 ARDOUR_COMMAND_LINE::parse_opts (int argc, char *argv[])
 {
-       const char *optstring = "bc:C:dD:hk:E:m:N:nOp:SU:vV";
+       const char *optstring = "bc:C:dD:hk:E:m:N:nOp:PST:U:vV";
        const char *execname = strrchr (argv[0], '/');
 
        if (getenv ("ARDOUR_SAE")) {
@@ -105,6 +108,9 @@ ARDOUR_COMMAND_LINE::parse_opts (int argc, char *argv[])
                { "sync", 0, 0, 'S' },
                { "curvetest", 1, 0, 'C' },
                { "save", 1, 0, 'E' },
+               { "uuid", 1, 0, 'U' },
+               { "template", 1, 0, 'T' },
+               { "no-connect-ports", 0, 0, 'P' },
                { 0, 0, 0, 0 }
        };
 
@@ -139,7 +145,7 @@ ARDOUR_COMMAND_LINE::parse_opts (int argc, char *argv[])
                        break;
 
                case 'D':
-                       if (ARDOUR::parse_debug_options (optarg)) {
+                       if (PBD::parse_debug_options (optarg)) {
                                exit (0);
                        }
                        break;
@@ -160,6 +166,9 @@ ARDOUR_COMMAND_LINE::parse_opts (int argc, char *argv[])
                case 'S':
                //      ; just pass this through to gtk it will figure it out
                        break;
+               case 'T':
+                       load_template = optarg;
+                       break;
 
                case 'N':
                        new_session = true;
@@ -170,6 +179,10 @@ ARDOUR_COMMAND_LINE::parse_opts (int argc, char *argv[])
                        try_hw_optimization = false;
                        break;
 
+               case 'P':
+                       no_connect_ports = true;
+                       break;
+
                case 'V':
 #ifdef VST_SUPPORT
                        use_vst = false;
@@ -192,6 +205,10 @@ ARDOUR_COMMAND_LINE::parse_opts (int argc, char *argv[])
                        immediate_save = optarg;
                        break;
 
+               case 'U':
+                       jack_session_uuid = optarg;
+                        break;
+
                default:
                        return print_help(execname);
                }