[SCM] calf/master: Implement --load option in calfjackhost for LADISH level 1 compliance.

js at users.alioth.debian.org js at users.alioth.debian.org
Tue May 7 15:40:13 UTC 2013


The following commit has been merged in the master branch:
commit 3a3142e0bca03f18d6639b90e8ab5122081edc98
Author: Krzysztof Foltman <wdev at foltman.com>
Date:   Sun May 9 09:14:37 2010 +0100

    Implement --load option in calfjackhost for LADISH level 1 compliance.

diff --git a/src/calf/host_session.h b/src/calf/host_session.h
index ffc6827..ae6d344 100644
--- a/src/calf/host_session.h
+++ b/src/calf/host_session.h
@@ -36,7 +36,7 @@ class host_session: public main_window_owner_iface, public calf_plugins::progres
 private:
     static host_session *instance;
 public:
-    std::string client_name, input_name, output_name, midi_name;
+    std::string client_name, input_name, output_name, midi_name, load_name;
     std::vector<std::string> plugin_names;
     std::map<int, std::string> presets;
     session_manager_iface *session_manager;
diff --git a/src/host_session.cpp b/src/host_session.cpp
index d0fb374..4234e24 100644
--- a/src/host_session.cpp
+++ b/src/host_session.cpp
@@ -219,7 +219,7 @@ void host_session::connect()
     client.activate();
     if (session_manager)
         session_manager->set_jack_client_name(client.get_name());
-    if (!session_manager || !session_manager->is_being_restored()) 
+    if ((!session_manager || !session_manager->is_being_restored()) && load_name.empty())
     {
         string cnp = client.get_name() + ":";
         for (unsigned int i = 0; i < plugins.size(); i++) {
@@ -281,6 +281,18 @@ void host_session::connect()
             }
         }
     }
+    if (!load_name.empty())
+    {
+        char *error = open_file(load_name.c_str());
+        if (error)
+        {
+            GtkWidget *widget = gtk_message_dialog_new (NULL, GTK_DIALOG_MODAL, GTK_MESSAGE_ERROR, GTK_BUTTONS_OK, "Cannot load '%s': %s", load_name.c_str(), error);
+            gtk_dialog_run (GTK_DIALOG (widget));
+            gtk_widget_destroy (widget);
+            
+            g_free(error);
+        }
+    }
     if (session_manager)
         session_manager->connect("calf-" + client_name);
 }
diff --git a/src/jackhost.cpp b/src/jackhost.cpp
index 104de05..6fa9921 100644
--- a/src/jackhost.cpp
+++ b/src/jackhost.cpp
@@ -270,6 +270,7 @@ static struct option long_options[] = {
     {"version", 0, 0, 'v'},
     {"client", 1, 0, 'c'},
     {"effect", 0, 0, 'e'},
+    {"load", 1, 0, 'l'},
     {"input", 1, 0, 'i'},
     {"output", 1, 0, 'o'},
     {"connect-midi", 1, 0, 'M'},
@@ -279,7 +280,7 @@ static struct option long_options[] = {
 void print_help(char *argv[])
 {
     printf("JACK host for Calf effects\n"
-        "Syntax: %s [--client <name>] [--input <name>] [--output <name>] [--midi <name>]\n"
+        "Syntax: %s [--client <name>] [--input <name>] [--output <name>] [--midi <name>] [--load <session>]\n"
         "       [--connect-midi <name|capture-index>] [--help] [--version] [!] pluginname[:<preset>] [!] ...\n", 
         argv[0]);
 }
@@ -297,7 +298,7 @@ int main(int argc, char *argv[])
     glade_init();
     while(1) {
         int option_index;
-        int c = getopt_long(argc, argv, "c:i:o:m:M:ehv", long_options, &option_index);
+        int c = getopt_long(argc, argv, "c:i:l:o:m:M:ehv", long_options, &option_index);
         if (c == -1)
             break;
         switch(c) {
@@ -323,6 +324,9 @@ int main(int argc, char *argv[])
             case 'm':
                 sess.midi_name = string(optarg) + "_%d";
                 break;
+            case 'l':
+                sess.load_name = optarg;
+                break;
             case 'M':
                 if (atoi(optarg)) {
                     sess.autoconnect_midi_index = atoi(optarg);

-- 
calf audio plugins packaging



More information about the pkg-multimedia-commits mailing list