summaryrefslogtreecommitdiff
path: root/libs/ardour/osc.cc
diff options
context:
space:
mode:
authorDavid Robillard <d@drobilla.net>2008-01-10 22:22:29 +0000
committerDavid Robillard <d@drobilla.net>2008-01-10 22:22:29 +0000
commit8a2e30816ee392b871c5918f769f68cc0196a893 (patch)
treeeb85739049c0adc6186eea635aaaf65ef03f038f /libs/ardour/osc.cc
parentbb457bb960c5bd7ed538f9d31477293415739f68 (diff)
Merge with 2.0-ongoing R2883.
git-svn-id: svn://localhost/ardour2/trunk@2885 d708f5d6-7413-0410-9779-e7cbd77b26cf
Diffstat (limited to 'libs/ardour/osc.cc')
-rw-r--r--libs/ardour/osc.cc24
1 files changed, 24 insertions, 0 deletions
diff --git a/libs/ardour/osc.cc b/libs/ardour/osc.cc
index 8903c3781a..b0bd35b8c6 100644
--- a/libs/ardour/osc.cc
+++ b/libs/ardour/osc.cc
@@ -18,6 +18,7 @@
*/
#include <iostream>
+#include <fstream>
#include <cstdio>
#include <cstdlib>
#include <cerrno>
@@ -28,11 +29,13 @@
#include <fcntl.h>
#include <pbd/pthread_utils.h>
+#include <pbd/file_utils.h>
#include <ardour/osc.h>
#include <ardour/session.h>
#include <ardour/route.h>
#include <ardour/audio_track.h>
+#include <ardour/filesystem_paths.h>
#include "i18n.h"
@@ -101,6 +104,24 @@ OSC::start ()
#endif
cerr << "OSC @ " << get_server_url () << endl;
+
+ sys::path url_file;
+
+ if (find_file_in_search_path (ardour_search_path() + system_config_search_path(),
+ "osc_url", url_file)) {
+ _osc_url_file = url_file.to_string();
+ ofstream urlfile;
+ urlfile.open(_osc_url_file.c_str(), ios::trunc);
+ if ( urlfile )
+ {
+ urlfile << get_server_url () << endl;
+ urlfile.close();
+ }
+ else
+ {
+ cerr << "Couldn't write '" << _osc_url_file << "'" <<endl;
+ }
+ }
register_callbacks();
@@ -131,6 +152,9 @@ OSC::stop ()
unlink(_osc_unix_socket_path.c_str());
}
+ if (! _osc_url_file.empty() ) {
+ unlink(_osc_url_file.c_str() );
+ }
return 0;
}