Commit Graph

277 Commits

Author SHA1 Message Date
Nedko Arnaudov 5d0c8c714b ladishd: fix studio save 2009-11-25 15:15:40 +02:00
Nedko Arnaudov 17c848f1fd ladishd: fix behaviour after complete of jack server start and stop commands 2009-11-25 04:05:56 +02:00
Nedko Arnaudov 4d061b7a39 execute commands in queue 2009-11-25 03:52:00 +02:00
Nedko Arnaudov 5cb41d1b36 switch from event queue to environment state; run the studio cqueue 2009-11-24 03:10:57 +02:00
Nedko Arnaudov c9567a3cb0 fix warning
'backup_filename_ptr' may be used uninitialized in this function
gcc (Gentoo 4.3.4 p1.0, pie-10.1.5) 4.3.4
CFLAGS=-O2 -pipe
2009-11-20 01:39:37 +02:00
Nedko Arnaudov 1b1d5bbfa9 command queue; not really used yet 2009-10-19 01:16:59 +03:00
Nedko Arnaudov 89ad40c581 fix assert
virtual hardware clients are destroyed on clear anyway
2009-10-11 18:13:08 +03:00
Nedko Arnaudov a4fbcbe9fe fix invalid stack access in error log dumps 2009-10-10 14:47:13 +03:00
Nedko Arnaudov a642a0b35b when dumping graphs, dump non-empty dicts too 2009-10-10 14:42:41 +03:00
Nedko Arnaudov 689ef7cb72 dump loaded studio graphs 2009-10-09 00:00:07 +03:00
Nedko Arnaudov 6dcf0d6eb7 daemon: on stop, hide clients and ports instead of removing them
If they are removed all info associated with them is lost, including pending connections
and dictionaries
2009-10-08 23:45:03 +03:00
Nedko Arnaudov 69a15f3bc2 daemon: increment graph version on port show 2009-10-05 01:33:48 +03:00
Nedko Arnaudov db1ae093c7 Restore clients, ports and dicts 2009-10-04 22:38:24 +03:00
Nedko Arnaudov edae71d92d don't use guid, use uuid instead 2009-10-04 21:35:44 +03:00
Nedko Arnaudov 9e9a127a15 Save clients, ports and dicts 2009-09-21 00:17:41 +03:00
Nedko Arnaudov 20a9f12362 Fix crash on studio stop
capture/playback clients were freed twice
2009-09-20 19:08:37 +03:00
Nedko Arnaudov 540d2eb721 Make assert print error message to log 2009-09-20 18:48:42 +03:00
Nedko Arnaudov 5f832c8668 rename log macros 2009-09-20 18:23:42 +03:00
Nedko Arnaudov d38f42ffef common/debug.h -> log.h 2009-09-20 18:02:10 +03:00
Nedko Arnaudov 3159525589 Properly handle normal clients
* create studio client when first port appears
 * destroy studio client when last port disappears
 * remove disappearing ports from jack graph
2009-09-20 17:33:07 +03:00
Nedko Arnaudov df6e35ccdf Fix object paths of graphs 2009-09-20 17:30:48 +03:00
Nedko Arnaudov 303c07d6e6 Implement ladish_graph_remove_port() 2009-09-20 16:28:05 +03:00
Nedko Arnaudov 74e3346655 Maintain JACK clients in jack_graph object 2009-09-20 15:55:20 +03:00
Nedko Arnaudov 2862ba7650 jack graph object to store jack clients and ports 2009-09-12 22:30:33 +03:00
Nedko Arnaudov 83423d7fb7 iterate studio graph on save 2009-09-12 21:42:19 +03:00
Nedko Arnaudov a7cddc8ae5 Move chunks of studio object implementation to separate files 2009-09-12 14:50:35 +03:00
Nedko Arnaudov 3e2759323c Move escape helpers to separate file 2009-09-12 11:11:52 +03:00
Nedko Arnaudov 69d3ebea63 Fixed uuids for hardware capture and playback virtual clients 2009-09-12 10:59:38 +03:00
Nedko Arnaudov fa47499b45 Don't try to use dict graph interface on jack graphs 2009-09-12 09:58:37 +03:00
Nedko Arnaudov 7a8931a94a graph dict dbus interface and persist canvas positions of modules 2009-09-07 20:53:56 +03:00
Nedko Arnaudov 03629cd633 dict implementation 2009-09-07 01:05:36 +03:00
Nedko Arnaudov a964d9c768 basic ports 2009-09-06 20:31:42 +03:00
Nedko Arnaudov d56df28d54 Fix bug in client appeared signal emit
instead of real id, next unused id was emited, thus confusung signal receivers
because on disappear the real id was sent.
2009-09-06 17:45:39 +03:00
Nedko Arnaudov 9d467024aa Move per-graph client data to graph implementation 2009-09-06 16:40:03 +03:00
Nedko Arnaudov 813c97bed1 graph_iface -> graph 2009-09-06 15:30:29 +03:00
Nedko Arnaudov 0d586b039c graph id and link is also per graph 2009-09-06 14:19:33 +03:00
Nedko Arnaudov 9f20fbedfd Fix tight loop on studio unload caused by recent development 2009-09-06 11:33:59 +03:00
Nedko Arnaudov d7473e1fca Basic jack dispatcher 2009-09-06 01:15:25 +03:00
Nedko Arnaudov 3fb3fcc75e Virtual clients in studio graph 2009-09-06 00:13:05 +03:00
Nedko Arnaudov 9290a15648 rewrite the helper for emiting signals 2009-09-05 19:12:53 +03:00
Nedko Arnaudov 68d4ac0eca Remove dbus/types.h
Handles must be defined as type
2009-09-05 18:18:07 +03:00
Nedko Arnaudov 867f06a597 Hide dbus_object_path internals behind the interface 2009-09-05 17:27:56 +03:00
Nedko Arnaudov e3b12afc0e Allow different interfaces of same object path to have different contexts 2009-09-05 15:29:09 +03:00
Nedko Arnaudov 322dca7c1c cleanup dbus helpers 2009-09-04 02:27:05 +03:00
Nedko Arnaudov 4c114d563a patchbay -> graph_iface 2009-09-03 06:10:52 +03:00
Nedko Arnaudov f4bf5df38e Properly prefix graph proxy identifiers 2009-09-03 05:55:28 +03:00
Nedko Arnaudov e40bb25e13 daemon: jack graph proxy object 2009-09-03 05:45:39 +03:00
Nedko Arnaudov 053ce63196 Improve handling jack_proxy_init() failure 2009-09-03 05:44:14 +03:00
Nedko Arnaudov 00c9bf0303 Fix memory leak 2009-09-03 05:42:35 +03:00
Nedko Arnaudov 403ac0e747 Escaping fixes. Closes #3 2009-08-31 04:19:50 +03:00
Nedko Arnaudov 2c4d943438 Improve fetch of jack config
* Don't try to fetch jack config on new studio creation - it should be fetched on start, after user has configured JACK
 * Clear old jack configuration before fetching new one.
2009-08-31 02:47:08 +03:00
Nedko Arnaudov edd885329f Improve automatic unload of automatically created studios
When JACK server start is detected and there is no studio loaded,
a new "automatic" studio is created. Such studio is supposed to be
automatically unloaded if JACK server is stopped, unless user shows
interest on it.
2009-08-31 02:06:55 +03:00
Nedko Arnaudov 615ddf177c log rename/unload/new studio requests 2009-08-31 01:50:24 +03:00
Nedko Arnaudov 7f5855f6ba Studio start/stop commands and signals 2009-08-30 22:40:28 +03:00
Nedko Arnaudov 00de237ebd studio_activate() -> studio_publish()
Activate is not specific enough. There is load, publish (expose on D-Bus), and activate (start JACK and clients)
2009-08-30 18:38:17 +03:00
Nedko Arnaudov b47fca2481 Fix log message 2009-08-30 17:16:21 +03:00
Nedko Arnaudov 5243fd33fa Unload studio command 2009-08-30 16:23:19 +03:00
Nedko Arnaudov f55a45416e New studio command. Closes #7 2009-08-30 16:13:38 +03:00
Nedko Arnaudov 3978e8c4db Clear studio if load was not successful 2009-08-30 15:49:51 +03:00
Nedko Arnaudov 354012f707 Delete studio command. Closes #6 2009-08-30 14:36:27 +03:00
Nedko Arnaudov 9c4be0e919 Properly handle saving of renamed studio; create backups on save; Closes #5 2009-08-30 13:23:36 +03:00
Nedko Arnaudov 2309cbab83 Fix use of freed memory 2009-08-29 00:29:46 +03:00
Nedko Arnaudov 270ef0fb71 Fix memory leak 2009-08-29 00:16:59 +03:00
Nedko Arnaudov 1ef0b47fde Set persisted flag after successful studio save or load
This fixes bug that caused studio that was previously loaded to be unloaded
when jack server stop was detected.
2009-08-28 22:14:15 +03:00
Nedko Arnaudov be4d6f2fdb Restore JACK parameters during studio load. Closes #2 2009-08-27 23:17:23 +03:00
Nedko Arnaudov 19c46c885c Fix saving of jack parameters 2009-08-27 23:03:53 +03:00
Nedko Arnaudov 7361fa7f23 Load studio (part 1) 2009-08-24 03:52:18 +03:00
Nedko Arnaudov 64f3eeb654 Cleanup current studio before loading new one 2009-08-24 03:33:47 +03:00
Nedko Arnaudov 186b8ac84e GetStudioList implemented 2009-08-24 01:58:14 +03:00
Nedko Arnaudov b67aad8c67 Implement stuio save 2009-08-24 01:04:07 +03:00
Nedko Arnaudov a5953351db When studio save is requested, compose studio filename for a new studio 2009-08-24 00:25:43 +03:00
Nedko Arnaudov 2fe467e0bf compose path of and eventually create base dir (~/.ladish/) 2009-08-24 00:02:45 +03:00
Nedko Arnaudov 8f3a80574f Move ensure_dir_exist() to separate files
It is needed for more than composing log file path.
Studio, room, project xml file paths need it too.
2009-08-23 23:41:12 +03:00
Nedko Arnaudov d402383782 Use base name (instead of "lash") for log file path 2009-08-23 23:28:05 +03:00
Nedko Arnaudov 03bb0b477d Studio renamed signal 2009-08-23 12:58:01 +03:00
Nedko Arnaudov 21965995d9 hook studio save to gui; improve studio interface; studio proxy 2009-08-23 11:09:15 +03:00
Nedko Arnaudov f474bbdf81 Ignore drivers branch of jack settings
we are interested only in currently active driver
2009-08-23 01:27:29 +03:00
Nedko Arnaudov a193d965b4 Move jack handling into studio object; fix race
Studio is a singleton and jack server start/stop races are avoided by using a queue
2009-08-23 01:21:23 +03:00
Nedko Arnaudov 005e011f7d Move catdup() from daemon/ to top dir, it is needed for gladish too 2009-08-22 16:55:55 +03:00
Nedko Arnaudov 7ef81de696 Move code for initital jack appear/start to proxy object 2009-08-22 14:51:26 +03:00
Nedko Arnaudov 74133da587 move view object to separate files 2009-08-22 14:11:38 +03:00
Nedko Arnaudov f64e4d4455 Move dbus constants to separate header 2009-08-22 03:07:19 +03:00
Nedko Arnaudov 451837fc4b Reply messages for all methods of the patchbay interface 2009-08-22 02:17:12 +03:00
Nedko Arnaudov 5fe3f67e31 Link patchbay interface to studio object 2009-08-21 23:13:19 +03:00
Nedko Arnaudov b0a9409cbf patchbay interface 2009-08-20 23:50:24 +03:00
Nedko Arnaudov b911e15a92 Basic studio interface 2009-08-20 22:43:11 +03:00
Nedko Arnaudov a3a1caa0fd rename daemon/dbus_iface_control to daemon/control 2009-08-20 22:06:58 +03:00
Nedko Arnaudov 1c5c9f28e2 move /gui/graph to /graph_proxy; [re]move duplicate code from jack_proxy 2009-08-11 15:31:33 +03:00
Nedko Arnaudov e9a72eb2fb Allow settings jack proxy callbacks from different modules 2009-08-11 14:01:40 +03:00
Nedko Arnaudov 6f14e65e0c Supply callbacks to jack_proxy_init
Different users (daemon, gui) will supply different set of callbacks
2009-08-11 12:12:31 +03:00
Nedko Arnaudov 5defb7982b Move daemon jack_proxy code to top dir
Step toward removal of code duplication between daemon and gui
2009-08-11 11:50:22 +03:00
Nedko Arnaudov 4a2bacc754 Handle startup of ladish with jack server already started 2009-08-09 22:24:26 +03:00
Nedko Arnaudov e1472d310c Implement jack_proxy_is_started() 2009-08-09 22:20:52 +03:00
Nedko Arnaudov d9ac0f36cd new dbus helper function: dbus_call_simple() 2009-08-09 22:19:32 +03:00
Nedko Arnaudov 706229337a IsStudioLoaded method 2009-08-09 20:05:02 +03:00
Nedko Arnaudov d88e11f203 D-Bus interface macro improvements
* Descriptions for methods, signals and arguments
 * Use real boolean in method descriptor
 * Use dedicated macros for in and out params. The direction argument is always a C constant.
2009-08-09 19:23:04 +03:00
Nedko Arnaudov fe774ef28d Initial work on jack settings serialization 2009-08-08 03:09:39 +03:00
Nedko Arnaudov c52d209bed Refactor jack settings retrieval code
* Move the jack settings retrieval code to studio object
 * Make the studio object opaque one
2009-08-07 23:28:34 +03:00
Nedko Arnaudov d1ec91c6d8 Bring catdup() original behaviour back 2009-08-05 21:40:55 +03:00
Nedko Arnaudov f93e4e8761 studio appeared/disappeared signals (again) 2009-08-01 19:24:00 +03:00
Nedko Arnaudov 4b93feb267 Separate d-bus object paths for control and studio objects 2009-08-01 19:07:16 +03:00
Nedko Arnaudov 5df6a51654 remove use of the dbus service helper object 2009-07-31 01:40:59 +03:00
Nedko Arnaudov 6368707025 Clean the control interface 2009-07-31 00:48:20 +03:00
Nedko Arnaudov 5e94e9dccc unify source copyright headers in ladishd 2009-07-29 21:08:27 +03:00
Nedko Arnaudov de37a1ef33 Add copyright headers to the reverntly added new files 2009-07-29 20:45:43 +03:00
Nedko Arnaudov f1aa5f96be studio appeared/disappeared signals 2009-07-26 23:49:43 +03:00
Nedko Arnaudov 3f71b1bc2d When JACK server is started, create studio object and store JACK conf as part of it 2009-07-26 23:26:29 +03:00
Nedko Arnaudov 86ee1ed3da Move unused code to legacy subdir 2009-07-26 16:57:44 +03:00
Nedko Arnaudov 32b932af20 Retrieve values of jack server settings that are set by user 2009-07-26 16:43:19 +03:00
Nedko Arnaudov cd979e7655 cleanup conf_callback
* compose the full address for leaves too. will be used to get parameter value
 * remove redudancy by using the fact that buffer (context) and address are same pointer
 * add error message
2009-07-24 02:20:30 +03:00
Nedko Arnaudov 6fbba644d4 Remove the unused parameters of jack_proxy_read_conf_container() 2009-07-24 02:16:40 +03:00
Nedko Arnaudov d6d6818a1a jack conf tree scan 2009-07-24 01:41:05 +03:00
Nedko Arnaudov 42af29b3d0 Dispatch signals from jack 2009-07-24 01:39:06 +03:00
Nedko Arnaudov 3360209378 Watch for dbus signals 2009-07-23 01:37:53 +03:00
Nedko Arnaudov c04de01546 skeleton for jack monitor and control code 2009-07-23 00:36:32 +03:00
Nedko Arnaudov 2ee313b403 jack_proxy skeleton 2009-07-23 00:23:18 +03:00
Nedko Arnaudov acf50a5001 New object model. 2009-07-21 09:13:13 +03:00
Nedko Arnaudov 4cf6b9dd63 compile striped down dbus control interface 2009-07-21 00:12:07 +03:00
Nedko Arnaudov c8fa7425b8 Remove sneaked LASH_DEBUG from loader.c 2009-07-20 23:59:55 +03:00
Nedko Arnaudov ba111e16a3 strip & cleanup ladishd
* code for the service lifecycle object moved to main.c - remove polution by fake OO concept
 * removed types.h - typedefs for public structs are evil. typedefs for handles must be per header
 * compile with -Wall and -Werror flags. Warnings are here to help.
 * define _GNU_SOURCE globally, in config.h. This is propoerty of the whole daemon codebase.
 * common.h is header to collect stuff that is needed almost everywhere in the ladishd
 * cleanup loader module.
2009-07-20 23:49:57 +03:00
Nedko Arnaudov f03cc60ad2 Use define for dbus name/path 2009-07-13 02:34:32 +03:00
Nedko Arnaudov 87bea07447 Install D-Bus service file 2009-07-13 02:18:06 +03:00
Nedko Arnaudov 5d7f71d453 Fix defines and git version fetch 2009-07-13 01:44:43 +03:00
Nedko Arnaudov 177197f8ca tabs->spaces 2009-07-13 00:15:44 +03:00
Nedko Arnaudov 416f43a612 waf buildable compat liblash 2009-07-12 23:56:05 +03:00
Nedko Arnaudov d364193985 waf buildable daemon 2009-07-12 22:56:19 +03:00
Nedko Arnaudov 5877daffe0 Improve directory layout 2009-07-12 15:05:55 +03:00