daemon: register virtualizer graph connection handlers for rooms
This commit is contained in:
parent
58db7cba75
commit
c78c4c6483
|
@ -966,6 +966,7 @@ ladish_graph_set_connection_handlers(
|
||||||
ladish_graph_connect_request_handler connect_handler,
|
ladish_graph_connect_request_handler connect_handler,
|
||||||
ladish_graph_disconnect_request_handler disconnect_handler)
|
ladish_graph_disconnect_request_handler disconnect_handler)
|
||||||
{
|
{
|
||||||
|
log_info("setting connection handlers for graph '%s'", graph_ptr->opath != NULL ? graph_ptr->opath : "JACK");
|
||||||
graph_ptr->context = graph_context;
|
graph_ptr->context = graph_context;
|
||||||
graph_ptr->connect_handler = connect_handler;
|
graph_ptr->connect_handler = connect_handler;
|
||||||
graph_ptr->disconnect_handler = disconnect_handler;
|
graph_ptr->disconnect_handler = disconnect_handler;
|
||||||
|
|
|
@ -226,6 +226,16 @@ static void emit_room_disappeared(ladish_room_handle room)
|
||||||
dbus_message_unref(message_ptr);
|
dbus_message_unref(message_ptr);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
bool
|
||||||
|
set_graph_connection_handlers(
|
||||||
|
void * context,
|
||||||
|
ladish_graph_handle graph,
|
||||||
|
ladish_app_supervisor_handle app_supervisor)
|
||||||
|
{
|
||||||
|
ladish_virtualizer_set_graph_connection_handlers(context, graph);
|
||||||
|
return true; /* iterate all graphs */
|
||||||
|
}
|
||||||
|
|
||||||
void on_event_jack_started(void)
|
void on_event_jack_started(void)
|
||||||
{
|
{
|
||||||
if (!studio_fetch_jack_settings())
|
if (!studio_fetch_jack_settings())
|
||||||
|
@ -244,10 +254,14 @@ void on_event_jack_started(void)
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
if (!ladish_virtualizer_create(g_studio.jack_graph_proxy, g_studio.jack_graph, g_studio.studio_graph, &g_studio.virtualizer))
|
if (!ladish_virtualizer_create(g_studio.jack_graph_proxy, g_studio.jack_graph, &g_studio.virtualizer))
|
||||||
{
|
{
|
||||||
log_error("ladish_virtualizer_create() failed.");
|
log_error("ladish_virtualizer_create() failed.");
|
||||||
}
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
studio_iterate_virtual_graphs(g_studio.virtualizer, set_graph_connection_handlers);
|
||||||
|
}
|
||||||
|
|
||||||
if (!graph_proxy_activate(g_studio.jack_graph_proxy))
|
if (!graph_proxy_activate(g_studio.jack_graph_proxy))
|
||||||
{
|
{
|
||||||
|
@ -950,6 +964,11 @@ static void ladish_studio_create_room(struct dbus_method_call * call_ptr)
|
||||||
goto fail_decrement_room_count;
|
goto fail_decrement_room_count;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (g_studio.virtualizer != NULL)
|
||||||
|
{
|
||||||
|
ladish_virtualizer_set_graph_connection_handlers(g_studio.virtualizer, ladish_room_get_graph(room));
|
||||||
|
}
|
||||||
|
|
||||||
ladish_room_get_uuid(room, room_uuid);
|
ladish_room_get_uuid(room, room_uuid);
|
||||||
|
|
||||||
if (!ladish_client_create(room_uuid, &room_client))
|
if (!ladish_client_create(room_uuid, &room_client))
|
||||||
|
|
|
@ -801,7 +801,6 @@ bool
|
||||||
ladish_virtualizer_create(
|
ladish_virtualizer_create(
|
||||||
graph_proxy_handle jack_graph_proxy,
|
graph_proxy_handle jack_graph_proxy,
|
||||||
ladish_graph_handle jack_graph,
|
ladish_graph_handle jack_graph,
|
||||||
ladish_graph_handle studio_graph,
|
|
||||||
ladish_virtualizer_handle * handle_ptr)
|
ladish_virtualizer_handle * handle_ptr)
|
||||||
{
|
{
|
||||||
struct virtualizer * virtualizer_ptr;
|
struct virtualizer * virtualizer_ptr;
|
||||||
|
@ -835,14 +834,20 @@ ladish_virtualizer_create(
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
ladish_graph_set_connection_handlers(studio_graph, virtualizer_ptr, ports_connect_request, ports_disconnect_request);
|
|
||||||
|
|
||||||
*handle_ptr = (ladish_virtualizer_handle)virtualizer_ptr;
|
*handle_ptr = (ladish_virtualizer_handle)virtualizer_ptr;
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
#define virtualizer_ptr ((struct virtualizer *)handle)
|
#define virtualizer_ptr ((struct virtualizer *)handle)
|
||||||
|
|
||||||
|
void
|
||||||
|
ladish_virtualizer_set_graph_connection_handlers(
|
||||||
|
ladish_virtualizer_handle handle,
|
||||||
|
ladish_graph_handle graph)
|
||||||
|
{
|
||||||
|
ladish_graph_set_connection_handlers(graph, virtualizer_ptr, ports_connect_request, ports_disconnect_request);
|
||||||
|
}
|
||||||
|
|
||||||
unsigned int
|
unsigned int
|
||||||
ladish_virtualizer_get_our_clients_count(
|
ladish_virtualizer_get_our_clients_count(
|
||||||
ladish_virtualizer_handle handle)
|
ladish_virtualizer_handle handle)
|
||||||
|
|
|
@ -2,7 +2,7 @@
|
||||||
/*
|
/*
|
||||||
* LADI Session Handler (ladish)
|
* LADI Session Handler (ladish)
|
||||||
*
|
*
|
||||||
* Copyright (C) 2009 Nedko Arnaudov <nedko@arnaudov.name>
|
* Copyright (C) 2009, 2010 Nedko Arnaudov <nedko@arnaudov.name>
|
||||||
*
|
*
|
||||||
**************************************************************************
|
**************************************************************************
|
||||||
* This file contains interface to graph dispatcher object
|
* This file contains interface to graph dispatcher object
|
||||||
|
@ -37,9 +37,13 @@ bool
|
||||||
ladish_virtualizer_create(
|
ladish_virtualizer_create(
|
||||||
graph_proxy_handle jack_graph_proxy,
|
graph_proxy_handle jack_graph_proxy,
|
||||||
ladish_graph_handle jack_graph,
|
ladish_graph_handle jack_graph,
|
||||||
ladish_graph_handle studio_graph,
|
|
||||||
ladish_virtualizer_handle * handle_ptr);
|
ladish_virtualizer_handle * handle_ptr);
|
||||||
|
|
||||||
|
void
|
||||||
|
ladish_virtualizer_set_graph_connection_handlers(
|
||||||
|
ladish_virtualizer_handle handle,
|
||||||
|
ladish_graph_handle graph);
|
||||||
|
|
||||||
unsigned int
|
unsigned int
|
||||||
ladish_virtualizer_get_our_clients_count(
|
ladish_virtualizer_get_our_clients_count(
|
||||||
ladish_virtualizer_handle handle);
|
ladish_virtualizer_handle handle);
|
||||||
|
|
Loading…
Reference in New Issue