Commit Graph

69 Commits

Author SHA1 Message Date
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
Nedko Arnaudov c90661388f daemon: on studio stop, hide only non-virtual graph objects
Representation of rooms in studio graph must not be hidden on server stop
2010-04-05 04:35:08 +03:00
Nedko Arnaudov c78c4c6483 daemon: register virtualizer graph connection handlers for rooms 2010-04-05 04:18:24 +03:00
Nedko Arnaudov 9f3f884c4d daemon: improve log messages and add TODO comments 2010-04-04 21:30:25 +03:00
Nedko Arnaudov de772730a5 daemon: fix port lifecycle problem that was causing crash
There are three types of ports depeneding on references to them:
 * ports that are referenced from jack and studio graphs
 * ports that are referenced from jack and room graphs
 * studio-room link ports that are referenced from studio and room graphs

The old approach was to destroy ports when removing references from jack graph.
Studio-room link ports were destroyed when removing the room.
However this caused double free when removing app ports that appear in jack and
room graphs.

The introduced implementation uses reference counting of graph references to ports.
Temporary references (like the one returned by port constructor and graph_get_port())
are not tracked.
2010-04-04 21:08:20 +03:00
Nedko Arnaudov e082320f58 daemon: Allow call to ladish_graph_iterate_nodes() with limited set of callbacks 2010-03-31 01:48:13 +03:00
Nedko Arnaudov 13bc814f0b daemon: fill the Basic room template with ports and copy them when creating studio rooms 2010-03-24 01:11:53 +02:00
Nedko Arnaudov 2fd730ea55 daemon: expose new studio room objects on D-Bus 2010-03-06 17:03:14 +02:00
Nedko Arnaudov 093af66573 rename graph clients when app is renamed
this fixes autoconnection too because hidden clients are searched by name
2009-12-26 22:46:20 +02:00
Nedko Arnaudov 3bec987ea4 handle port renames. closes #32 2009-12-21 20:46:14 +02:00
Nedko Arnaudov 0218ebda7e daemon: fix use of unused variable 2009-12-21 00:07:51 +02:00
Nedko Arnaudov d76dcc4b20 daemon: Fix #33
JACK graph connections are always visible and match the actual
JACK graph connections. So the logic for hiding connections when
they are removed should be disabled for JACK graphs. See
also commit 5ef9e1e006 where this
bug was intoduced.
2009-12-12 21:55:41 +02:00
Nedko Arnaudov 9c01b375af daemon: show client when adding non-hidden port 2009-12-12 15:12:46 +02:00
Nedko Arnaudov 6680478859 daemon: improve log 2009-12-12 15:11:09 +02:00
Nedko Arnaudov cb2cf4eafe daemon: improve a log 2009-12-12 02:07:02 +02:00
Nedko Arnaudov ff45e7fe56 daemon: add some logs 2009-12-12 01:14:51 +02:00
Nedko Arnaudov adbafd8cf3 daemon: adjust logs 2009-12-12 00:06:00 +02:00
Nedko Arnaudov 760fd1bd67 daemon: set proper state after JACK server stop is detected in the hard way 2009-12-08 20:30:52 +02:00
Nedko Arnaudov c7af39c8a8 fix for #26 (studio xml file corruption) 2009-12-07 20:48:12 +02:00
Nedko Arnaudov bb7338fae0 daemon: a2j virtualization 2009-12-07 00:56:48 +02:00
Nedko Arnaudov d1e835125b daemon: fix input parameters to be const ones 2009-12-06 21:58:06 +02:00
Nedko Arnaudov a6fccfb92e daemon: fix connection autohidding when hidding port 2009-12-06 16:51:50 +02:00
Nedko Arnaudov 74b8f69ad7 daemon: add some logs related to hiding ports and connections 2009-12-06 15:29:35 +02:00
Nedko Arnaudov 608ae74258 ladishd: don't save hidden stuff
hidden objects exists as intermediate state during restore
2009-11-29 03:27:39 +02:00
Nedko Arnaudov 896e04345b ladishd: improve logging 2009-11-29 03:26:23 +02:00
Nedko Arnaudov 5ef9e1e006 ladishd: hide connections unless remove is explicitly requested
explicit disconnects must remove connection objects
implicit disconnects because of port disappear or external disconnect must
cause hide so when studio is stopped and then started, connections are restored.
2009-11-29 01:58:37 +02:00
Nedko Arnaudov 6be77a9908 ladishd: when clearing graph, clear connections too 2009-11-29 01:23:56 +02:00
Nedko Arnaudov 850f926dae ladishd: connect ports when they appear 2009-11-29 01:15:04 +02:00
Nedko Arnaudov 6cd9754d56 ladishd: save connections and load them in hidden state 2009-11-29 00:09:34 +02:00
Nedko Arnaudov effcdfca27 ladishd: implement ports disconnect 2009-11-28 21:24:18 +02:00
Nedko Arnaudov 23b1a8fa1e ladishd: implement ports connect 2009-11-28 19:46:43 +02:00