Nedko Arnaudov
8d15292faf
daemon: fix restoring of a2j clients/ports/connections
2009-12-12 00:06:46 +02:00
Nedko Arnaudov
adbafd8cf3
daemon: adjust logs
2009-12-12 00:06:00 +02:00
Nedko Arnaudov
78c2ccb202
daemon: on studio stop, wait for our clients to disappear before stopping the JACK server
2009-12-11 22:55:19 +02:00
Nedko Arnaudov
938b6746ce
daemon: maintain count of JACK clients ladish started
2009-12-11 22:54:08 +02:00
Nedko Arnaudov
958b36c279
daemon: fix memory leak (virtualizer struct)
2009-12-11 22:47:55 +02:00
Nedko Arnaudov
a5511c9cd1
daemon: use basename when deducing app name from app command-line. Closes #22
2009-12-11 01:41:59 +02:00
Nedko Arnaudov
96e4d5289a
daemon: fix a2j handling
2009-12-11 01:41:28 +02:00
Nedko Arnaudov
7d947e383d
daemon: use app names instead of jack client names. Closes #17
2009-12-11 00:46:06 +02:00
Nedko Arnaudov
5eb3930bc4
daemon: find app name when client appears
2009-12-11 00:11:03 +02:00
Nedko Arnaudov
bb854a8fd2
daemon: get jack client pid on appear
2009-12-10 23:20:20 +02:00
Nedko Arnaudov
98745d3543
daemon: don't autostart new apps when studio is stopped
2009-12-08 21:08:51 +02:00
Nedko Arnaudov
20239b75b6
daemon: fix memory leak
2009-12-08 21:02:38 +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
672c5e52d8
don't allow saving of non-started studio
...
hidden clients, ports and connections are not saved
so only app list will be saved.
2009-12-07 23:35:37 +02:00
Nedko Arnaudov
c7af39c8a8
fix for #26 (studio xml file corruption)
2009-12-07 20:48:12 +02:00
Nedko Arnaudov
b9e072c92b
if a2j jack client name is not available try to get it harder
...
this fixes a race. when a2j is started as part of studio load,
a2j ports can appear before "bridge started" signal is catched.
2009-12-07 03:03:09 +02:00
Nedko Arnaudov
bb7338fae0
daemon: a2j virtualization
2009-12-07 00:56:48 +02:00
Nedko Arnaudov
9383960e44
daemon: reuse the two hardware clients for new hardware ports
2009-12-06 21:59:30 +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
c1869c29a6
daemon: better handling of jack server stop failure
...
sometimes jack server stop request fails, even if it does actually stop
shortly after. in this case ladish will wait 5 seconds before giving up.
2009-12-06 14:35:59 +02:00
Nedko Arnaudov
2f190e929f
daemon: new studio method: IsStarted()
2009-12-06 01:51:25 +02:00
Nedko Arnaudov
25a3b9981d
daemon: what for 3 seconds before stopping server
...
let apps shut down cleanly. dharanamrs reports problems on stop
and this will prove whether not waiting for app stop is causing them
2009-12-05 20:48:36 +02:00
Nedko Arnaudov
dc703fd497
daemon: fix memory corruption
2009-12-05 17:55:13 +02:00
Nedko Arnaudov
2bbcd652a8
ladishd: stop apps on studio stop
2009-12-05 00:54:41 +02:00
Nedko Arnaudov
0b6ad2626f
ladishd: app list serialization; autolaunch on load
2009-12-05 00:42:40 +02:00
Nedko Arnaudov
89461c363c
app list is now managable from gladish
2009-12-04 21:37:39 +02:00
Nedko Arnaudov
094d7ba9d7
implement more app list IPC code
2009-12-04 15:15:14 +02:00
Nedko Arnaudov
6b7103ead6
ladishd: maintain list of currently running apps
2009-11-30 23:45:14 +02:00
Nedko Arnaudov
8acc3ee6d2
ladishd: rework loader interface
2009-11-30 16:39:59 +02:00
Nedko Arnaudov
85407d70bb
ladishd: fix use of uninitialized memory
2009-11-30 02:29:09 +02:00
Nedko Arnaudov
e46ea7b77b
ladishd: basic app supervisor
2009-11-30 01:22:58 +02:00
Nedko Arnaudov
9344b9c9f8
ladishd: fix studio client reuse when new ports appear
2009-11-29 04:28:19 +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
1fbcc155a7
ladishd: fix disconnect
2009-11-29 03:25:31 +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
Nedko Arnaudov
5955c05ca0
ladishd: graph calls to virtualizer for connect/disconnect
2009-11-28 18:36:07 +02:00
Nedko Arnaudov
8e6f044d74
ladishd: jack_dispatcher -> virtualizer
2009-11-28 17:23:23 +02:00
Nedko Arnaudov
24e414e9b9
ladishd: decode parameters of port connect/disconnect requests
2009-11-28 17:14:20 +02:00
Nedko Arnaudov
ee70ec0e91
ladishd: show client when reusing it
...
jack_lsp; jack_lsp;
caused assert. should be reproducable with any jack client.
2009-11-25 18:42:56 +02:00
Nedko Arnaudov
2fff2f932c
ladishd: new function: ladish_graph_show_client()
2009-11-25 18:41:02 +02:00
Nedko Arnaudov
a0e680b335
ladishd: improve logs
...
before executing each new command, put a separator in the log file
put a separator so its impact is clearly visible
2009-11-25 15:48:15 +02:00
Nedko Arnaudov
90e81444ee
ladishd: stop and unload studio on deamon deactivation
2009-11-25 15:44:53 +02:00
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