Commit Graph

3041 Commits

Author SHA1 Message Date
Nedko Arnaudov f9142569d9 waf: switch to 1.6.1 2010-11-14 19:20:29 +02:00
Nedko Arnaudov 391cc007cd ladishd: Fix include path
it works with waf-1.5.x for unknown reasons. it does not work
with waf-1.6.1
2010-11-14 16:20:16 +02:00
Nedko Arnaudov d9183f0417 ladishd: fix load of project dict 2010-11-14 16:06:51 +02:00
Nedko Arnaudov 1524a3b43f ladishd: Fix some logs (studio->room) 2010-11-14 16:05:17 +02:00
Nedko Arnaudov 9180fa9047 ladishd: clear project even if room project state is 'unloaded'. Fix for #117
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.
2010-11-14 13:08:25 +02:00
Nedko Arnaudov 36370e2942 ladishd: initialize the vclient_name var even when a2j mapping fails 2010-11-14 00:53:53 +02:00
Nedko Arnaudov 3d40386a14 ladishd: on project load, restore connections between room ports. Fix for #117 2010-11-13 18:32:35 +02:00
Nedko Arnaudov 4b9da6ffae ladishd: do a better cleanup on project unload and on load failure. Partial fix for #117
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.
2010-11-13 18:13:10 +02:00
Nedko Arnaudov a99c3e6408 ladishd: remove unneeded asignment
unescape() receives length that includes the terminating nul char
2010-11-13 15:49:38 +02:00
Nedko Arnaudov 0ff72305db ladishd: nul-terminate strings escaped through escape_simple() 2010-11-13 15:00:08 +02:00
Nedko Arnaudov 3752081d1d ladishd: escape project name when composing project dir from it 2010-11-13 14:46:33 +02:00
Nedko Arnaudov 04b2b17e96 ladishd: project name unescaping 2010-11-13 14:02:20 +02:00
Nedko Arnaudov c0240447c1 ladishd: project name escaping 2010-11-12 07:34:31 +02:00
Nedko Arnaudov 5b8fe165d3 ladishd: max_escaped_length() 2010-11-12 07:15:57 +02:00
Nedko Arnaudov a608c373e6 ladishd: properly handle a2j ports for apps with same names
For real jack ports it works because different apps have different jack client.
For a2j ports, it did not work because the jack client is same and the
a2j_fake_jack_port_name is same too, because the instead of alsa client name,
the app name is used now
2010-11-08 02:39:53 +02:00
Nedko Arnaudov ee830a52ee ladishd: actually remove app ports, simply logging does not make it happen 2010-11-08 02:17:39 +02:00
Nedko Arnaudov bea7c694e0 ladishd: when loading project, search (a2j) the jack client before creating one 2010-11-08 02:08:52 +02:00
Nedko Arnaudov 6c2201b933 ladishd: save [only] relevant a2j ports for the vgraph being saved
For studio saves, save only studio vgraph a2j ports.
For room project saves, save only room vgraph a2j ports.
If there is not a2j ports for the vgraph being saved, an empty a2j client will not be saved anymore
2010-11-08 01:19:02 +02:00
Nedko Arnaudov 8aebce6821 ladishd: remove special a2j handling in remove/is_hidden[_app] virtualizer functions
a2j client has not app associated and thus should never be returned by ladish_graph_find_client_by_app()
This was somewhat possible in past, when the client was searched by name and not by uuid.

Also is_empty var is removed for ladish_graph_find_client_by_app(). For ladish_virtualizer_remove_app(),
the is_empty var is kept, because ladish_graph_client_is_empty() cannot be called after the client is removed
from the jack graph.
2010-11-07 23:43:45 +02:00
Nedko Arnaudov eb866bf6e8 ladishd: save additional attributes for graph objects
For clients, save the naming scheme used. sometimes it is useful to maintain the original jack or alsa client name.

For ports, save port type and direction, alsa ports can be bidirectional, this renders as two a2j ports.
2010-11-07 20:59:20 +02:00
Nedko Arnaudov 79c75fd07b ladishd: properly handle stopping and removal of apps with a2j ports 2010-11-07 19:52:08 +02:00
Nedko Arnaudov 7d3acd7331 ladishd: set vgraph for new ports and use it when port disappears or gets renamed 2010-11-07 19:52:08 +02:00
Nedko Arnaudov f3a59a3561 ladishd: detect alsa client of app and use the app name for corresponding vgraph client 2010-11-07 19:51:51 +02:00
Nedko Arnaudov 222dec63f3 ladishd: improved log when searching for graph port by jack id 2010-11-07 16:40:17 +02:00
Nedko Arnaudov 7b1baf033d ladishd: Use app_uuid for identifying appless clients
* normal jack clients have both app_uuid set and non-zero pid
 * jmcore clients have only non-zero pid, their app_uuid is null
 * clients of unmanaged apps (externally started aps, inprocess clients
   and the a2j client) have zero pid and zero app_uuid
2010-11-06 15:34:54 +02:00
Nedko Arnaudov 2eac623818 ladishd: properly handle ports with same uuids but in different room vgraphs. Fixes #115
Same or derivate project can be loaded in more than one room. This will cause more than one port
with given uuid to be added to the jack graph. This changeset uses vgraph-port_uuid pair when searching
for port that was added at earlier project load stage. For this to work, when ports are created and added
to the jack graph, the vgraph handle is stored in the port object.
2010-11-03 00:29:08 +02:00
Nedko Arnaudov 1b66932459 ladishd: properly detect connect failures
This fixes a bug when port is appearing, connect attempt is made,
connect fails because port has just disappeared, port reappears then
but new connect attempt was not made. Happens quite easily with
wineasio apps that "probe" (nuendo2 for example).
2010-11-01 21:28:28 +02:00
Nedko Arnaudov 9592afef25 alsapid_get_pid() for use in ladishd virtualizer 2010-10-31 10:17:42 +02:00
Nedko Arnaudov bbee2910ce alsapid: replace stale symlinks 2010-10-31 02:13:23 +03:00
Nedko Arnaudov 7d2ebaa433 daemon: run apps with LD_PRELOAD=libalsapid.so 2010-10-31 01:14:14 +03:00
Nedko Arnaudov e9d9baa830 wscript: remove commented libalsapid related code 2010-10-31 00:28:56 +03:00
Nedko Arnaudov 9beaac7cf6 wscript: build&install libalsapid.so 2010-10-31 00:28:01 +03:00
Nedko Arnaudov 683b8f4d4f alsapid: dont treat ENOENT on unlink as error
If handle was created but its name was not set, then symlink will not exist.
aconnect behaves like this.
2010-10-31 00:26:32 +03:00
Nedko Arnaudov 920f1b7225 alsapid: initial code 2010-10-30 23:33:25 +03:00
Nedko Arnaudov 8f09afb007 wscript: dont try to remove non-existing files
dist tarball creation code will not attempt to remove non-existing files anymore
This was causing exception raise
2010-10-30 17:43:38 +03:00
Nikita Zlobin f12e4c999a gladish: Fix studio deletion action handler 2010-10-27 08:51:20 +06:00
Nedko Arnaudov 70a4ff8ae8 Add Nikita to AUTHORS and the gladish about dialog 2010-10-25 23:48:08 +03:00
Nedko Arnaudov e56a6b4589 Merge branch 'project_path_file_chooser' 2010-10-25 23:29:14 +03:00
Nedko Arnaudov 309e3ca23d pylash. Fixes #112 2010-10-24 06:01:13 +03:00
Nedko Arnaudov c26d5015fc liblash: provide lash_get_fqn(). Fixes #111
lash_get_fqn() is known to be used by jack-rack
2010-10-24 04:11:31 +03:00
Nedko Arnaudov 698bf81a3b daemon: better handling for non-direct childs. Fixes #62
If the first JACK client that appears has pid different from the one
of the child process, send SIGUSR1 on L1 save to this first
grandchild.

This changeset fixes the "run L1 app in terminal" issue and the
similar issue with dash (the default shell on Debian and Ubuntu, that
for simple commandlines does fork() and exec() instead of just exec(),
like bash does. This changeset also fixes the situation with complex
commandlines that result in only one JACK client.

The complex commandlines that result in multiple processes creating
JACK clients are handled by sending the SIGUSR1 to the first process
that creates JACK client. In future this could be improved by sending
SIGUSR1 to all of them but it is probably better to avoid such
situations by creating one app per JACK-creating process.
2010-10-24 03:03:25 +03:00
Nedko Arnaudov 841852a12f gladish: coding style fix 2010-10-24 00:07:10 +03:00
Nedko Arnaudov cd4e3385d0 gladish: remove forcing of dialog modality in C code
The dialog seems to be modal anyway. If needed, modality can be forced in the xml
2010-10-24 00:06:14 +03:00
Nikita Zlobin 03ad8a4cc0 Project save as dialog: file chooser for project path 2010-10-22 00:38:46 +06:00
Nikita Zlobin 6e2e650bb5 daemon: app_supervisor.c: Include config.h to have _GNU_SOURCE always defined first. Necessary to get working some GNU extensions 2010-10-20 17:48:41 +06:00
Nedko Arnaudov 45c73b34ac Fix path of ladish log file that is announced when error occures 2010-10-19 23:48:21 +03:00
Nikita Zlobin c5b384a80e gladish.ui: Humanize rest of auto-generated names (fixup) 2010-10-16 15:18:38 +03:00
Nikita Zlobin 056c29fa1d gladish.ui: Humanize rest of auto-generated names 2010-10-16 05:27:03 +03:00
Nedko Arnaudov 6c5bfcb1d4 gladish: recently used projects menu. Fix for #74 2010-10-16 05:17:11 +03:00
Nedko Arnaudov e405d25fc1 gladish: make dynmenu code reusable 2010-10-16 04:32:25 +03:00