Mixer: Fix receiving of direct OSC messages.

This commit is contained in:
Jonathan Moore Liles 2012-04-24 18:15:26 -07:00
parent 9f28f7a1a8
commit 16a4c0f51d
2 changed files with 7 additions and 3 deletions

View File

@ -184,7 +184,9 @@ public:
void control_value_no_callback ( float f ) void control_value_no_callback ( float f )
{ {
THREAD_ASSERT( UI ); /* can also be called from the OSC thread */
ASSERT( Thread::is( "UI" ) || Thread::is( "OSC" ),
"Function called from wrong thread! (is %s)", Thread::current()->name() );
if ( buffer() ) if ( buffer() )
{ {

View File

@ -522,6 +522,7 @@ namespace OSC
/* reply with current value */ /* reply with current value */
o = (Signal*)user_data; o = (Signal*)user_data;
o->_endpoint->send( lo_message_get_source( msg ), "/reply", path, o->value() ); o->_endpoint->send( lo_message_get_source( msg ), "/reply", path, o->value() );
return 0;
} }
else else
{ {
@ -533,8 +534,6 @@ namespace OSC
if ( ep ) if ( ep )
p = ep->find_peer_by_address( lo_message_get_source( msg ) ); p = ep->find_peer_by_address( lo_message_get_source( msg ) );
if ( 0 == o->_incoming.size() )
return 0;
if ( !p ) if ( !p )
{ {
@ -548,6 +547,9 @@ namespace OSC
/* remote signal */ /* remote signal */
/* if ( t->_peer ) */ /* if ( t->_peer ) */
/* if ( 0 == o->_incoming.size() ) */
/* return 0; */
for ( std::list<Signal*>::const_iterator i = o->_incoming.begin(); for ( std::list<Signal*>::const_iterator i = o->_incoming.begin();
i != o->_incoming.end(); i != o->_incoming.end();
++i ) ++i )