View Issue Details

IDProjectCategoryView StatusLast Update
0002990ardourfeaturespublic2010-08-28 11:04
Reporternedko Assigned To 
PrioritynormalSeveritymajorReproducibilityalways
Status newResolutionopen 
Product Version2.8.4 
Summary0002990: [PATCH] ladish level 1 support
DescriptionThe attached patch implements ladish level 1 (http://ladish.org/wiki/level1) support. The implementation is trivial and consists of handling SIGUSR1 and initiating session save.
TagsNo tags attached.

Activities

2010-01-12 00:47

 

ardour-2.8.4-ladish-L1.patch (1,205 bytes)   
commit 69c58a8c1668fa586208021a345f36cc5c8d674f
Author: Nedko Arnaudov <nedko@arnaudov.name>
Date:   Tue Jan 12 02:32:39 2010 +0200

    ladish level 1 support

diff --git a/gtk2_ardour/main.cc b/gtk2_ardour/main.cc
index 98f06d1..44a5921 100644
--- a/gtk2_ardour/main.cc
+++ b/gtk2_ardour/main.cc
@@ -286,6 +286,27 @@ sigpipe_handler (int sig)
 	}
 }
 
+static bool ladish_L1_save_request = false;
+
+static gboolean
+maybe_ladish_L1_save (void* /* ignored */)
+{
+	if (ladish_L1_save_request) {
+		cout << "ladish L1 save request" << endl;
+		ladish_L1_save_request = false;
+		ARDOUR_UI::instance()->save_state("");
+	}
+
+	return true;
+}
+
+static void
+sigusr1_handler (int sig)
+{
+	//cout << "SIGUSR1 received!" << endl;
+	ladish_L1_save_request = true;
+}
+
 #ifdef HAVE_LV2
 void close_external_ui_windows();
 #endif
@@ -379,6 +400,12 @@ int main (int argc, char* argv[])
 		cerr << _("Cannot install SIGPIPE error handler") << endl;
 	}
 
+	g_timeout_add (300, maybe_ladish_L1_save, 0);
+
+	if (::signal (SIGUSR1, sigusr1_handler)) {
+		cerr << _("Cannot install SIGUSR1 error handler") << endl;
+	}
+
         try { 
 		ui = new ARDOUR_UI (&argc, &argv);
 	} catch (failed_constructor& err) {
ardour-2.8.4-ladish-L1.patch (1,205 bytes)   

2010-05-18 22:10

 

ardour-2.8.7-ladish-L1.patch (1,044 bytes)   
diff --git a/gtk2_ardour/main.cc b/gtk2_ardour/main.cc
index 7b5fce1..c7427ef 100644
--- a/gtk2_ardour/main.cc
+++ b/gtk2_ardour/main.cc
@@ -291,6 +291,27 @@ sigpipe_handler (int sig)
 	}
 }
 
+static bool ladish_L1_save_request = false;
+
+static gboolean
+maybe_ladish_L1_save (void* /* ignored */)
+{
+	if (ladish_L1_save_request) {
+		cout << "ladish L1 save request" << endl;
+		ladish_L1_save_request = false;
+		ARDOUR_UI::instance()->save_state("");
+	}
+
+	return true;
+}
+
+static void
+sigusr1_handler (int sig)
+{
+	//cout << "SIGUSR1 received!" << endl;
+	ladish_L1_save_request = true;
+}
+
 #ifdef HAVE_LV2
 void close_external_ui_windows();
 #endif
@@ -387,6 +408,12 @@ int main (int argc, char* argv[])
 		cerr << _("Cannot install SIGPIPE error handler") << endl;
 	}
 
+	g_timeout_add (300, maybe_ladish_L1_save, 0);
+
+	if (::signal (SIGUSR1, sigusr1_handler)) {
+		cerr << _("Cannot install SIGUSR1 error handler") << endl;
+	}
+
         try { 
 		ui = new ARDOUR_UI (&argc, &argv);
 	} catch (failed_constructor& err) {
ardour-2.8.7-ladish-L1.patch (1,044 bytes)   

2010-06-01 20:19

 

ardour-2.8.8-ladish-L1.patch (1,055 bytes)   
diff --git a/gtk2_ardour/main.cc b/gtk2_ardour/main.cc
index 7a34e93..efbc000 100644
--- a/gtk2_ardour/main.cc
+++ b/gtk2_ardour/main.cc
@@ -296,6 +296,27 @@ sigpipe_handler (int sig)
 	}
 }
 
+static bool ladish_L1_save_request = false;
+
+static gboolean
+maybe_ladish_L1_save (void* /* ignored */)
+{
+	if (ladish_L1_save_request) {
+		cout << "ladish L1 save request" << endl;
+		ladish_L1_save_request = false;
+		ARDOUR_UI::instance()->save_state("");
+	}
+
+	return true;
+}
+
+static void
+sigusr1_handler (int sig)
+{
+	//cout << "SIGUSR1 received!" << endl;
+	ladish_L1_save_request = true;
+}
+
 #ifdef VST_SUPPORT
 
 extern int gui_init (int* argc, char** argv[]);
@@ -388,6 +409,12 @@ int main (int argc, char* argv[])
 		cerr << _("Cannot install SIGPIPE error handler") << endl;
 	}
 
+	g_timeout_add (300, maybe_ladish_L1_save, 0);
+
+	if (::signal (SIGUSR1, sigusr1_handler)) {
+		cerr << _("Cannot install SIGUSR1 error handler") << endl;
+	}
+
         try { 
 		ui = new ARDOUR_UI (&argc, &argv);
 	} catch (failed_constructor& err) {
ardour-2.8.8-ladish-L1.patch (1,055 bytes)   

nedko

2010-06-02 19:31

reporter   ~0008139

ardour-2.8.8-ladish-L1.patch should apply cleanly and without fuzz against 2.8.9

nedko

2010-06-19 11:28

reporter   ~0008273

ardour-2.8.8-ladish-L1.patch should apply cleanly and without fuzz against 2.8.10

nedko

2010-08-28 11:04

reporter   ~0008923

ardour-2.8.8-ladish-L1.patch should apply cleanly and without fuzz against 2.8.11

Issue History

Date Modified Username Field Change
2010-01-12 00:47 nedko New Issue
2010-01-12 00:47 nedko File Added: ardour-2.8.4-ladish-L1.patch
2010-05-18 22:10 nedko File Added: ardour-2.8.7-ladish-L1.patch
2010-06-01 20:19 nedko File Added: ardour-2.8.8-ladish-L1.patch
2010-06-02 19:31 nedko Note Added: 0008139
2010-06-19 11:28 nedko Note Added: 0008273
2010-08-28 11:04 nedko Note Added: 0008923