Commit Graph

49 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 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 997630bfb7 use strings for app levels
With jack-session on the manege, strict L0-L3 classification
does not reflect the actual situation. LASH and jack-session
are still L2 though.
2011-07-28 15:15:47 +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 deab81c2ef ladishd: Fix use of uninitialized memory
room template objects don't use project related members
2011-05-16 05:56:01 +03:00
Nedko Arnaudov f0e233055b Fix use of uninitalized member
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.
2011-05-16 03:42:34 +03:00
Nedko Arnaudov 64923f3a86 Revert "Fixed uninitialized vars in rooms created from templates"
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.
2011-05-16 03:35:00 +03:00
Dan A. Muresan 449b309cb6 Fixed a memory leak (room.object_path) 2011-05-14 16:24:52 +03:00
Dan A. Muresan 9bf795905f Fixed uninitialized vars in rooms created from templates 2011-05-14 16:24:46 +03: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 cf12c2e3e0 daemon: fix wrong return value when setting project description or notes 2010-12-07 05:29:20 +02:00
Nedko Arnaudov 18e317ff4b ladishd: expose project description and notes over D-Bus 2010-11-18 04:34:47 +02:00
Nedko Arnaudov 86ec7c7fbd ladishd: fix memory leak on room destroy 2010-11-18 03:57:31 +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 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 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 78e99c4d64 ladishd: Basic recent projects functionality 2010-10-09 16:53:03 +03:00
Nedko Arnaudov fcc998e974 ladishd: autorun room apps on studio start. Fixes #101 2010-09-28 02:10:34 +03:00
Nedko Arnaudov efce106a23 daemon: when unloading remove all app clients
The clear persist approach does not work for stopped apps
because their clients and ports dont disappear during project unload.
2010-09-05 23:08:03 +03:00
Nedko Arnaudov c5acbafc8f daemon: fix unload of empty projects 2010-09-05 01:27:18 +03:00
Nedko Arnaudov b812ccca67 Display project name string as part of the room view title 2010-09-04 03:19:58 +03:00
Nedko Arnaudov ac1de1cc6a daemon: handle rename of apps that have non-unique names 2010-08-30 00:40:17 +03:00
Nedko Arnaudov 76a8b6161b daemon: handle apps with same name in different vgraphs 2010-08-30 00:05:57 +03:00
Nedko Arnaudov c62d7760b3 Fill the save project as dialog with current project properties 2010-08-23 00:17:57 +03:00
Nedko Arnaudov b396329c5d daemon: implementation of project load 2010-08-08 23:51:31 +03:00
Nedko Arnaudov 1d908a66d6 daemon: saveable projects 2010-08-06 05:00:04 +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 0017f19ffa SaveProject method of the dbus room object. 2010-08-05 15:47:08 +03:00
Nedko Arnaudov 6842854e8c daemon: fix room lifecycle that got slightly broken in previous commit 2010-07-21 06:22:50 +03:00
Nedko Arnaudov 00cc1087dc daemon: load studios with rooms 2010-07-21 05:53:48 +03:00
Nedko Arnaudov 5bb96d51e7 damon: Proper room lifecycle
* Room creation/destruction is now separeted from starting/stopping
   (creating/destroying jmcore links)
 * Rooms can now be created and destryed when studio is stopped
 * Rooms are started/stopped when studio is started/stopped

Apart from better interraction of studio start/stop and room
lifecycles, it is now possible to implement load of studio with rooms
because during studio load rooms have to be created in stopped state
and eventually started only at later stage, during studio start.
2010-07-20 01:31:37 +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 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 58db7cba75 daemon: handle room app renames 2010-04-04 22:05: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 963d4ff0ec daemon: properly bury dead of room child app processes 2010-04-03 16:51:02 +03:00
Nedko Arnaudov bbb8d20a1e app supervisor for rooms 2010-04-03 12:16:20 +03:00
Nedko Arnaudov 1c674dd664 daemon: fix&improve error handling in ladish_room_create() 2010-04-03 11:41:26 +03:00
Nedko Arnaudov 7c81ae351d daemon: studio graph clients for rooms 2010-03-31 01:50:01 +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 847536504b Basic control of studio rooms 2010-03-01 02:12:12 +02:00
Nedko Arnaudov b6fe91e830 basic room object creation and enum of rooms 2010-01-27 18:24:47 +02:00
Nedko Arnaudov 0a60fa61a6 daemon: initial room object implementation 2010-01-10 17:44:14 +02:00