../conf.c:153:7: warning: variable 'ret' set but not used [-Wunused-but-set-variable]
../jmcore.c:214:7: warning: variable 'ret' set but not used [-Wunused-but-set-variable]
../daemon/cmd_save_project.c:45:8: warning: variable 'ret' set but not used [-Wunused-but-set-variable]
../daemon/main.c:288:7: warning: variable 'ret' set but not used [-Wunused-but-set-variable]
In 997630bfb7 the API changed because of LASH and
jack-session support. The level app property was switched from uint8 to string.
However, some externally maintained frontends (claudia, klaudia and festige) use
the 0.3 API.
This changeset restores the 0.3 API and extends it with new functions and signals,
ones that use string instead of uint8 level.
when alsapid is preloaded libasound is not loaded yet
for some unknown reason, late call to dlvsym() fails as well,
at least for mididings (python loads _mididings.so that
implicitly loads libasound.so)
this changeset implements the late symbol lookup,
because it makes the code smaller
the actual fix is to LD_PRELOAD libasound.so as well
The use of uninitalized member was caused by the recent revert.
The ladish_room::object_path member is not actually used only for room
template objects.
This reverts commit 9bf795905f.
ladish_room_create_interal() is suposed to allocate the struct and
initialize the name and uuid members. The template member is supposed to
be initialized by the caller functions, either ladish_room_create() or
ladish_room_create_template(). The siblings member is initialized
later, when the room is actually added to the appropriate list.
The graph member is used by both room templates and room objects. This
will be fixed in the following commit.
All other ladish_room members are not valid for room template objects.
ATM ladish_graph_copy() is always copied without skipping hidden elements.
skip_hidden mechanism must be replaced with filtering in callbacks,
because it is tricky and because app filtering does not belong to
generic graph object.
if the pgrp of the first child is different from pgrp of the jack client,
send SIGTERM and SIGKILL to both process groups.
This changeset also switches termination signals send from pid to pgrp
vgraph clients that are created by a2j port appear and are later
reused for native jack ports are now interlinked with the jack
client when the first jack port appears.
If the app first creates alsa (a2j) port, the created vclient is
not intrelinked because there is no jack client to interlink.
When the first jack port appears, because the jack client has
no interlinked client, a new vclient with same name was created.
This changeset implements a search by app uuid before new vclient
is created.
User can attempt to load a project into room with fewer ports than the
room where project was saved. This was causing ASSERT:
Wed Dec 1 04:36:45 2010: ERROR: callback_elstart: Cannot find room link port.
Wed Dec 1 04:36:45 2010: ERROR: callback_elend: ASSERT(context_ptr->port != NULL) failed. function callback_elend in ../daemon/room_load.c: 652
This changeset fixes the ASSERT by failing the project load.
This fixes handling of apps that use random alsa client names.
jack-rack for example, by default, uses PID as part of its
alsa client name.
This breaks backward compatibility.
This will allow expansion of env vars used in commandline to happen
when apps are started in terminal. It already happens when apps are
started without terminal.
This breaks the default title, at least for xterm. For it, it is now
set explicitly.
Starting through shell is not used when there is no '$' in the
commandline. This should minimize the title problems when xterm is not
used.
This is a workaround (that was implemented before too). The proper way of handling this is to
create 'unnamed project' when a connection or app is added to the room.
The project state now is can now have more than one state. The project
unload sequence now first removes all connections, then stopps all
apps, and as last step - clears the graph. When project load fails,
ladish_room_unload_project() is not called anymore, because unloading
of room even without apps is now a multistep process. Instead, a new
function, ladish_room_clear_project(), is introduced. It is called
when project load fails and as last step in project unload.