summaryrefslogtreecommitdiffstats
path: root/src/libs/client/OSCClientReceiver.cpp
diff options
context:
space:
mode:
authorDavid Robillard <d@drobilla.net>2007-01-12 18:12:06 +0000
committerDavid Robillard <d@drobilla.net>2007-01-12 18:12:06 +0000
commit09a4ea31dc9ce8ef4cd399a6c68054aafe31c325 (patch)
treec41cd0b337b951ce02890635d19c9c6a5ec6bafc /src/libs/client/OSCClientReceiver.cpp
parentb162a604d0452752c679e31fd6b3f3de0687151c (diff)
downloadingen-09a4ea31dc9ce8ef4cd399a6c68054aafe31c325.tar.gz
ingen-09a4ea31dc9ce8ef4cd399a6c68054aafe31c325.tar.bz2
ingen-09a4ea31dc9ce8ef4cd399a6c68054aafe31c325.zip
Control value persistence/serialization.
git-svn-id: http://svn.drobilla.net/lad/ingen@252 a436a847-0d15-0410-975c-d299462d15a1
Diffstat (limited to 'src/libs/client/OSCClientReceiver.cpp')
-rw-r--r--src/libs/client/OSCClientReceiver.cpp12
1 files changed, 8 insertions, 4 deletions
diff --git a/src/libs/client/OSCClientReceiver.cpp b/src/libs/client/OSCClientReceiver.cpp
index 0dbf49ec..45b8d794 100644
--- a/src/libs/client/OSCClientReceiver.cpp
+++ b/src/libs/client/OSCClientReceiver.cpp
@@ -50,15 +50,19 @@ OSCClientReceiver::start()
if (_st != NULL)
return;
- if (_listen_port == 0) {
- _st = lo_server_thread_new(NULL, error_cb);
- _listen_port = lo_server_thread_get_port(_st);
- } else {
+ // Attempt preferred port
+ if (_listen_port != 0) {
char port_str[8];
snprintf(port_str, 8, "%d", _listen_port);
_st = lo_server_thread_new(port_str, error_cb);
}
+ // Find a free port
+ if (!_st) {
+ _st = lo_server_thread_new(NULL, error_cb);
+ _listen_port = lo_server_thread_get_port(_st);
+ }
+
if (_st == NULL) {
cerr << "[OSCClientReceiver] Could not start OSC listener. Aborting." << endl;
exit(EXIT_FAILURE);