Commit Graph

99 Commits

Author SHA1 Message Date
Nedko Arnaudov ebce813997 Fix unused-parameter warnings in plain C code 2012-12-02 23:50:05 +02:00
Nedko Arnaudov 9bbfff1608 Fix log calls
* Remove useless ifdefs for LADISH_DEBUG
 * Fix formatting errors
2012-12-02 20:24:22 +02:00
Nedko Arnaudov 871dace9c5 Improve assert and fix clang static analyzer report 2012-11-19 06:00:43 +02:00
Nedko Arnaudov cd3684d1ad cdbus: macros for defining interfaces with default handler 2011-11-09 02:59:26 +02:00
Nedko Arnaudov 4202100444 cdbus: prefix macros with CDBUS_ 2011-11-09 02:38:22 +02:00
Nedko Arnaudov 9202dae129 cdbus: remove lash traces
* rename cdbus header include guards to use CDBUS_ instead of LASH_DBUS_
 * remove dbus/error.h and dbus/error.c

error.h contained lash/ladish specific error strings and
lash_dbus_error() prototype. lash_dbus_error() is renamed to
cdbus_error() and its implementation is moved to dbus/method.c. The
D-Bus error strings that have DBUS_ERROR_XXX matches are removed and
their uses are switched to the libdbus variants. The ladish specific
error strings are moved to dbus_constants.h
2011-11-06 00:10:10 +02:00
Nedko Arnaudov 6aa44e9ab9 dbus_ -> cdbus_ renames 2011-09-10 03:35:48 +03:00
Nedko Arnaudov 53845918fe prefix cdbus global vars with unique prefix 2011-07-31 20:04:01 +03:00
Nedko Arnaudov 78f07f7ad1 remove empty client functionality 2011-06-07 04:11:59 +03:00
Nedko Arnaudov f33b58ac85 new vclient and move port functionality 2011-06-01 06:12:54 +03:00
Nedko Arnaudov 19d7d762f8 Add ClientRenamed and PortRenamed signals to D-Bus introspection data 2011-06-01 04:25:31 +03:00
Nedko Arnaudov e0ec247159 split vclient functionality
vgraph manipulation is going to be able to do more than split
2011-06-01 03:04:18 +03:00
Nedko Arnaudov facd3090fd ladishd: fix log line 2011-05-16 06:54:22 +03:00
Nedko Arnaudov 91b87783d7 ladishd: workaround for bug in jack2/jackdbus
http://trac.jackaudio.org/ticket/209
2011-01-02 05:04:29 +02:00
Nedko Arnaudov d39a94fe33 ladishd: fix hidden connection save. Fix for #151
Instead of checking whether connection ports ares link or system ones,
now they are being checked for being hidden.
2010-12-30 05:14:10 +02:00
Nedko Arnaudov 918cecca74 ladishd: improve log on save and on graph dump 2010-12-28 04:33:44 +02:00
Nedko Arnaudov 4f7b78388f ladish_control: vgraph connection management. #125 2010-12-27 06:16:10 +02:00
Nedko Arnaudov 1d029ffd76 Move graph iteration filtering to callbacks 2010-12-26 21:21:36 +02:00
Nedko Arnaudov 1f6822c5e9 ladishd: remove skip_hidden parameter of ladish_graph_copy()
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.
2010-12-26 21:09:42 +02:00
Nedko Arnaudov 846ef1a252 ladishd: dump vgraph of ports 2010-12-26 21:09:42 +02:00
Nedko Arnaudov 6b966841dd ladishd: when saving, properly skip hidden connections just like ports. Fix for #143
this is improvement of 93fe0427c1
2010-12-26 21:09:09 +02:00
Nedko Arnaudov 93fe0427c1 ladishd: Don't skip hidden a2j ports. Fix for #140 and #130
if the app is stopped, its a2j ports will be hidden; a2j client is not
associated with any app, only a2j ports are.
2010-12-24 17:41:08 +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 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 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 79c75fd07b ladishd: properly handle stopping and removal of apps with a2j ports 2010-11-07 19:52:08 +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 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
Nikita Zlobin 8a19420e9f Fix for bug, where boxes for applications, started by ladish, doesn't present in graph(cherry picked from commit 3da9457b70158ccff58f2f20c8d4565546a6f8c3) 2010-10-02 10:40:32 +03:00
Nedko Arnaudov 8f20db7de0 on project load adjust canvas positions of capture/playback clients 2010-08-30 04:52:35 +03:00
Nedko Arnaudov fc0a6b14be daemon: move reusable signal emit code for graph objects to dedicated functions 2010-08-30 04:51:31 +03:00
Nedko Arnaudov e06f5b73dd daemon: save connections of stopped apps. #100 2010-08-30 04:14:25 +03:00
Nedko Arnaudov dd822c7476 daemon: fix load of studios with more than one room
The room link ports were searched by uuid gloablly.
When two rooms had same ports uuid, always the first one was found.
Then when setting the graph override uuid for port, the port
override uuid of the second room was set over the port of the first
room. Thus the first room port was getting wrong override uuid and the
second room port override uuid was never set.

The solution implemented is to search for the port within the already
found room client. Then set the override uuid for the found port.

Room client in the studio graph has uuid of the room and is created
when room is loaded. This ensures that later when room-link ports are
added, the port of the right room client will be found. Then the
override uuid will be set to the proper port.
2010-08-30 02:10:26 +03:00
Nedko Arnaudov 252fe2042c daemon: easier enable of find port by uuid debug logs 2010-08-30 01:58:02 +03:00
Nedko Arnaudov 76a8b6161b daemon: handle apps with same name in different vgraphs 2010-08-30 00:05:57 +03:00
Nedko Arnaudov b396329c5d daemon: implementation of project load 2010-08-08 23:51:31 +03:00
Nedko Arnaudov 17603f246d daemon: make some save functionality reusable
* Helper functions in daemon/save.c will be used in project save functionality as well
 * Graph iteration callbacks now receive the handle of the graph being iterated
 * Indention is now more flexible because now it is not string but an integer
2010-08-06 03:19:23 +03:00
Nedko Arnaudov 00cc1087dc daemon: load studios with rooms 2010-07-21 05:53:48 +03:00
Nedko Arnaudov c291a60da6 daemon: When saving studio, don't save non-studio jack clients 2010-05-31 00:47:10 +03:00
Nedko Arnaudov 18ba50dafb daemon: on app stop, wait its client to disappear 2010-05-13 03:18:23 +03:00
Nedko Arnaudov 3dd990a749 daemon: dump graph client interlinks 2010-05-13 02:36:44 +03:00
Nedko Arnaudov b44260b955 daemon: fix access of just freed memory 2010-05-10 22:35:53 +03:00
Nedko Arnaudov 3126bbdb5d daemon: when destroying room, remove its hidden app ports. Fixes #87
If ports stay hidden in JACK graph and they get reused, no vgraph will exist
2010-05-10 22:33:40 +03:00
Nedko Arnaudov 9a42d3d998 daemon: remove room client connections in studio graph. Fix #89
When room client in studio graph is being destroyed of room being destroyed,
connections for this client need to be destroyed as well.
2010-05-10 20:40:53 +03:00
Nedko Arnaudov e78efac7e6 daemon: hide non-public functions used for graph object implementation 2010-05-10 20:24:21 +03:00
Nedko Arnaudov cd98f23804 daemon: remove connections instead of hidding them if graph is not persisted
This is needed to properly cleanup room graph during room destruction.
ladish_graph_is_empty() returns false if there are hidden connections.
Also it makes no sense to have hidden connections for removed ports
2010-05-09 16:13:52 +03:00
Nedko Arnaudov d8135a5117 daemon: wait room cleanup before destroying it. Fix for #81 and #83 2010-05-09 16:00:28 +03:00
Nedko Arnaudov 245897bc6d daemon: jmcore support in virtualizer 2010-04-11 22:24:41 +03:00
Nedko Arnaudov 31f6cb939b daemon: room-studio port creation through jmcore
virtualizer does not know about jmcore yet
2010-04-11 16:45:30 +03:00