forward port of 7539 from 2.x
[ardour.git] / gtk2_ardour / opts.cc
index 3a0794e65ab8c925f667eb4277569437f970a928..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;
 
@@ -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 }
        };
 
@@ -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);
                }