Commit Graph

536 Commits

Author SHA1 Message Date
Nedko Arnaudov bbfd70e66d daemon: fix parameter names in function prototypes 2010-08-30 00:08:43 +03:00
Nedko Arnaudov 76a8b6161b daemon: handle apps with same name in different vgraphs 2010-08-30 00:05:57 +03:00
Nedko Arnaudov 1f4af5f439 daemon: better log messages when write() fails 2010-08-30 00:04:21 +03:00
Nedko Arnaudov 09cb302c01 daemon: fix save of studios with rooms 2010-08-29 23:38:46 +03:00
Nedko Arnaudov 6a2a94b996 daemon: notify user on studio save failure 2010-08-29 23:38:04 +03:00
Nedko Arnaudov 2d39e5eab0 daemon: notify user on studio xml parse failure 2010-08-29 23:00:14 +03:00
Nedko Arnaudov ae212a37f2 reopen log file when it is deleted or replaced 2010-08-28 04:35: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 1a954de817 daemon: save internal state of L1 apps when project is saved 2010-08-22 23:36:03 +03:00
Nedko Arnaudov 853dbca460 Fix typos in room dbus method descriptions 2010-08-22 21:22:09 +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 60fec2bffa daemon: send notification on studio load failure 2010-08-06 02:14:55 +03:00
Nedko Arnaudov 0017f19ffa SaveProject method of the dbus room object. 2010-08-05 15:47:08 +03:00
Nedko Arnaudov 28f54ff578 Emit signal when command queue execution is halted because of error
This allows a client that waits for studio load/start to stop the wait.
Using a timeout is still good idea because of potential bugs in ladishd.
2010-07-28 17:58:49 +03:00
Nedko Arnaudov 399aaeaaf1 daemon: Fix for #97
Try to supply alternative fake strings if mapping fails
2010-07-23 03:59:12 +03:00
Nedko Arnaudov 9a1015f50f daemon: register studio on dbus before rooms 2010-07-21 06:55:03 +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 a08831a0ca daemon: early check level validity when new app is being added 2010-06-13 21:34:28 +03:00
Nedko Arnaudov d4f26eea8a daemon: save studio rooms, if any 2010-06-10 03:15:52 +03:00
Nedko Arnaudov 535a28b56b daemon: smarter parsing of studio xml files
* Attribute order is no longer fixed.
 * Unknown attributes should not cause parse failure anymore.
2010-06-08 01:25:20 +03:00
Nedko Arnaudov 366ac2a22b daemon: refuse to save studios with rooms
They are not loadable currently
2010-05-31 00:48:33 +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 229c4f2c0d daemon: more fixes for #94
* properly handle removal of apps with portless JACK clients
 * properly handle removal of a2j
2010-05-29 23:13:30 +03:00
Nedko Arnaudov 892c22d7ea Properly handle stop of apps with jack clients without ports. Fix for #94 2010-05-29 15:36:53 +03:00
Nedko Arnaudov de47286bbd daemon: Don't display error when graph dict has no value for the requested key
This error is annoying because currently it is logged twice for each new app (x and y keys).
2010-05-29 13:12:19 +03:00
Nedko Arnaudov d5c7bf6a6c Don't send SIGUSR1 to not started L1 apps. Fix for #96
* ensure that kill() is called only from one place and that pid is valid
 * cleanup and extend app_supervisor functions related to sending signals
2010-05-27 02:10:30 +03:00
Nedko Arnaudov 46bcf78914 daemon: fix removing of apps without jack client
see previous commit as well
2010-05-26 00:53:36 +03:00
Nedko Arnaudov 45fc0336c2 daemon: Properly handle apps without JACK clients
Fixes #94
2010-05-26 00:34:20 +03:00
Nedko Arnaudov 2b6505d009 daemon: change the default permissions of studios from 0700 to 0666 2010-05-19 01:43:13 +03:00
Nedko Arnaudov e82916b5d9 daemon: queued remove app command
On app removal, wait app to stop and delete graph objects related to it.
Fixes #86
2010-05-16 11:22:13 +03:00
Nedko Arnaudov 8925772da6 daemon: ladish_studio_get_jack_graph()
For use instead of ladish_studio_get_virtualizer()
because the later will return NULL when JACK server is stopped
2010-05-16 11:17:09 +03:00
Nedko Arnaudov 18ba50dafb daemon: on app stop, wait its client to disappear 2010-05-13 03:18:23 +03:00
Nedko Arnaudov 76aba4487b daemon: Interlink clients when loading studio from disk 2010-05-13 03:14:43 +03:00
Nedko Arnaudov 3dd990a749 daemon: dump graph client interlinks 2010-05-13 02:36:44 +03:00
Nedko Arnaudov 525be9f5a8 daemon: fix incorrect identifiers
In past 'change app state' command was called 'start app'.
This changeset updates identifiers to match the new purpose
2010-05-12 04:55:40 +03:00
Nedko Arnaudov 046563f840 daemon: Partial fix for #86
Don't use jack ids for associating client in jack graph with client in vgraph
because jack ids can change (apps can create clients in random order).
jack ids are not valid after jack server stop

This changeset switches to interlinking the two client by each one storing uuid of the other.
2010-05-12 04:25:39 +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 4428a164c2 daemon: ignore duplicate jack-stopped signal
this is actually a bug in jackdbus because it should not emit
the "stopped" signal when the server stop is attempted and
server is already stopped.

The previous commit cd98f23804 is related
Both this and previous commit are related to ticket #82
2010-05-10 03:06:58 +03:00
Nedko Arnaudov eec435a79d daemon: ignore duplicate jack-started signal
this is actually a bug in jackdbus because it should not emit
the "started" signal when the server start is attempted and
server is already started
2010-05-10 01:43:25 +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 b82728b36a daemon: properly count number of owned jack clients
jmcore clients are not counted on appear so they should not be counted on disappear too
2010-05-09 15:48:27 +03:00
Nedko Arnaudov cb85e85b03 daemon: make create/delete room commands async ones 2010-05-09 12:54:45 +03:00
Nedko Arnaudov dd086a0b72 daemon: fix use of NULL pointers in logs 2010-05-09 12:10:19 +03:00
Nedko Arnaudov 15d08a2e92 minor fix in documentation 2010-05-09 12:01:21 +03:00
Nedko Arnaudov 0bb72a1f9d daemon: document studio methods as sync/async 2010-05-09 11:43:31 +03:00
Nedko Arnaudov fb8d49d1ea minor doxygen fixes 2010-05-08 22:34:08 +03:00
Nedko Arnaudov c830748430 daemon: make stop and kill app commands async ones 2010-05-08 22:20:08 +03:00
Nedko Arnaudov d2782283a7 daemon: cmd_start_app -> cmd_change_app_state 2010-05-08 21:28:56 +03:00
Nedko Arnaudov df1c44647b daemon: maintain app state enum 2010-05-08 20:40:52 +03:00
Nedko Arnaudov e8e64de150 daemon: document app supervisor methods as sync/async 2010-05-08 19:32:51 +03:00
Nedko Arnaudov e913955b1d daemon: ladish_app_supervisor_check_app_name()
ladish_app_supervisor_find_app_by_name() was not really useful because name can change.
Apps should be searched by their unqiue dbus id instead.
2010-05-08 18:02:39 +03:00
Nedko Arnaudov 04086f1fef doxygenize app_supervisor.h 2010-05-08 17:54:24 +03:00
Nedko Arnaudov 16a9e2d1dc daemon: add some documentation for app supervisor interface 2010-05-08 15:30:59 +03:00
Nedko Arnaudov e5151a68b2 daemon: remove dead code 2010-05-05 01:24:47 +03:00
Nedko Arnaudov cb11dd8edf daemon: detect unexpected app termination and notify user 2010-05-05 01:23:20 +03:00
Nedko Arnaudov bb7a63e216 daemon: handle start_app requests asynchronously 2010-05-05 01:09:42 +03:00
Nedko Arnaudov 7c10be38cf daemon: coherent naming of studio related functions 2010-05-05 00:35:10 +03:00
Nedko Arnaudov 16ca901d9a daemon: new_app command
This introduces no new functionality but changes the way new apps are started.
Previously new app request were not queued, they were synchronous.
Now they are queued and asynchronous.
2010-05-04 23:48:23 +03:00
Nedko Arnaudov ac74633473 daemon: expose some studio internals
* studio_is_started() is now public
 * ladish_studio_get_cmd_queue() returns the queue
2010-05-04 23:29:38 +03:00
Nedko Arnaudov 43deb74a41 daemon: disable log dump 2010-05-04 22:24:27 +03:00
Nedko Arnaudov 8948f99d7c daemon: refuse to delete room if it has active apps. Fix for #85 2010-04-26 03:47:10 +03:00
Nedko Arnaudov c2c96d1fa4 daemon: Fix invalid memory access
This fixes negative pid reports on 32bit systems
2010-04-24 16:56:20 +03:00
Nedko Arnaudov 4e2a9fd381 When jack server start fails, notify the user and give some hints 2010-04-18 02:13:02 +03:00
Nedko Arnaudov 5eb4a8eca1 daemon: improved handling of save attempt on stopped studio (notify) 2010-04-18 01:53:52 +03:00
Nedko Arnaudov 94093265e2 daemon: initial implementation of user notification 2010-04-18 01:49:36 +03:00
Nedko Arnaudov 2923a9772d daemon: fix wrong goto that was causing warning
../daemon/virtualizer.c:437: error: 'is_a2j' may be used uninitialized in this function
2010-04-11 22:43:32 +03:00
Nedko Arnaudov 245897bc6d daemon: jmcore support in virtualizer 2010-04-11 22:24:41 +03:00
Nedko Arnaudov e0756fe0ee daemon: jmcore proxy initialization and improved error handling in main() 2010-04-11 17:18:48 +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 d4fa4a2412 daemon: remove misuse of the room_count
it is used to ensure that room dbus object path is unique
decrementing it when room is removed does not make sense
because removing non-last room will create duplicate
object path string
2010-04-11 16:37:18 +03:00
Nedko Arnaudov c7379123eb remove extra line 2010-04-05 17:17:23 +03:00
Nedko Arnaudov 49812cd219 daemon: when deleting room, search its studio graph client by uuid rather than by name 2010-04-05 05:24:21 +03:00
Nedko Arnaudov ef08b85792 daemon: on jack crash, properly cleanup non virtual graph objects
* room graphs need cleanup as well
 * graphs should not be cleared because clearing is not suitable for restart jack
   functionality that is planned
2010-04-05 05:03:41 +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 58db7cba75 daemon: handle room app renames 2010-04-04 22:05:25 +03:00
Nedko Arnaudov e498a65b6f daemon: fix use of uninitialized vars 2010-04-04 21:51:47 +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 d161a68191 daemon: make the room app ports appear in the room graph instead of studio graph 2010-04-04 04:03:40 +03:00
Nedko Arnaudov f823b0b19f Fix autounload of automatic studios. Fixes #80 2010-04-04 01:39:13 +03:00
Nedko Arnaudov 06fa6965b4 daemon: fit app search by pid that got broken in 454346ce65 2010-04-04 00:35:40 +03:00
Nedko Arnaudov 22aa3feb67 daemon: Fix comment 2010-04-04 00:31:40 +03:00
Nedko Arnaudov e2c0400548 daemon: add commented logs 2010-04-04 00:31:14 +03:00
Nedko Arnaudov 3e5b69c481 daemon: iterate studio graphs instead of app supervisors
The callback has both app supervisor and graph parameters.
The graph parameter is needed so virtualizer can know where to add clients/ports
2010-04-03 22:25:28 +03:00
Nedko Arnaudov 496f8712e2 fix typo in comment 2010-04-03 22:07:55 +03:00
Nedko Arnaudov 454346ce65 daemon: search client pids in room supervisors too 2010-04-03 20:33:20 +03:00
Nedko Arnaudov 81c3e70f33 daemon: on studio stop, stop room apps as well 2010-04-03 19:33:25 +03:00
Nedko Arnaudov 91d5fceade daemon: studio.h include is not common include at all 2010-04-03 19:12:05 +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 29282299ad daemon: Fix direction of room link ports in studio graph 2010-04-03 00:47:05 +03:00
Nedko Arnaudov 7c81ae351d daemon: studio graph clients for rooms 2010-03-31 01:50:01 +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 ad8eaa3323 daemon: remove unused members from client and port structs 2010-03-30 23:10:23 +03:00
Nedko Arnaudov e22b7a2d69 daemon: remove useless client properties 2010-03-24 02:02:45 +02: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 1d6d8c4791 daemon: fix room template identifiers 2010-03-23 01:11:02 +02:00
Nedko Arnaudov 30a6aa77d4 fix names of some studio room and room template methods 2010-03-21 23:18:04 +02:00
Nedko Arnaudov 96967baa78 Remove studio rooms on studio unload 2010-03-21 16:48:04 +02:00
Nedko Arnaudov 50eb4581ce daemon: implement room removal 2010-03-13 20:56:55 +02:00
Nedko Arnaudov 1f11f0968e Fix studio room signal parameters; Add RoomChanged signal 2010-03-07 13:46:45 +02:00
Nedko Arnaudov c2f277228e When app is killed by a "bad" signal, log it as error 2010-03-06 19:50:00 +02:00
Nedko Arnaudov a459a2a19c Use opath as primary identification of rooms in studio rooms list 2010-03-06 17:18:48 +02:00
Nedko Arnaudov 2fd730ea55 daemon: expose new studio room objects on D-Bus 2010-03-06 17:03:14 +02:00
Nedko Arnaudov fc21df8068 daemon: better implementation of server stop timeout workaround
* current time check is more precise
 * waits during command executions are suboptimal because they block the main loop
2010-03-06 02:17:51 +02:00
Nedko Arnaudov 09ef9023bc daemon: implement timeout when waiting for jack server started signal 2010-03-06 01:35:47 +02:00
Nedko Arnaudov 847536504b Basic control of studio rooms 2010-03-01 02:12:12 +02:00
Nedko Arnaudov e897f8a983 use different uuid for the new "empty" room template 2010-03-01 00:56:02 +02:00
Nedko Arnaudov dae8634a68 new room template: "empty" 2010-03-01 00:52:14 +02:00
Nedko Arnaudov dd24a9cc65 Fix studio enumeration on unusual filesystems. Closes #70
Btrfs, ext2, etx3, and ext4 support d_type. JFS does not.
2010-02-02 21:51:02 +02:00
Nedko Arnaudov b6fe91e830 basic room object creation and enum of rooms 2010-01-27 18:24:47 +02:00
Nedko Arnaudov c460646179 basic room management D-Bus interface 2010-01-10 18:26:34 +02:00
Nedko Arnaudov 0a60fa61a6 daemon: initial room object implementation 2010-01-10 17:44:14 +02:00
Nedko Arnaudov 98e11d4d17 daemon: fix memory leaks on error conditions 2009-12-29 09:00:13 +02:00
Nedko Arnaudov 2d6f45cff1 daemon: Fix loader log dumps 2009-12-29 08:36:36 +02:00
Nedko Arnaudov 764873efd5 implement level 1 2009-12-27 04:19:24 +02:00
Nedko Arnaudov 15350decd4 studio "save as". Fixes #13 2009-12-27 00:41:46 +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 54897f8e92 daemon: multiline function prototypes 2009-12-26 21:45:11 +02:00
Nedko Arnaudov d7e58c7efd app properties dialog. Fixes #21 2009-12-26 21:28:06 +02:00
Nedko Arnaudov b42455029a daemon: fix warning 2009-12-21 21:38:25 +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 bf9b9272cb properly handle ladishd crashes 2009-12-17 07:41:57 +02:00
Nedko Arnaudov cd80903ecf Don't emit crashed signal when creating automatic studios 2009-12-17 07:40:52 +02:00
Nedko Arnaudov 1e9d406f23 notify user when JACK crashes or stops unexpectedly 2009-12-17 06:34:45 +02:00
Nedko Arnaudov 128590f5bf daemom: for now, ignore clients when they are more than one per app
asserting is not good in this case...
2009-12-16 03:12:41 +02:00
Nedko Arnaudov cb5a2ef522 daemon: handle jack server crashes and unexpected stops 2009-12-13 19:35:50 +02:00
Nedko Arnaudov 8ea8035efb daemon: add g_dbus_error initialization 2009-12-13 18:19:56 +02:00
Nedko Arnaudov b5565fd398 move proxy implementations to new /proxies directory 2009-12-13 18:10:57 +02:00
Nedko Arnaudov 78f5665ac5 helpers for handling dbus signals 2009-12-13 17:48:29 +02:00
Nedko Arnaudov e3d1558636 daemon: remove lash legacy code 2009-12-12 22:44:35 +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 a1670050dc daemon: dont assert when jackd goes crazy 2009-12-12 20:07:59 +02:00
Nedko Arnaudov 986fef7edf daemon: escape app strings (name, command) whens storing them in xml. Closes #27 2009-12-12 17:14:04 +02:00
Nedko Arnaudov 5324f63eff daemon: handle malloc() failure 2009-12-12 17:12:03 +02:00
Nedko Arnaudov 4a807234f7 daemon: remove some unneeded header includes 2009-12-12 16:14:21 +02:00
Nedko Arnaudov a10355eb4e daemon: fix handling of a2j ports for alsa seq inout ports. Fixes #36 2009-12-12 15:13:53 +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 4a2c32b36e daemon: fix use of uninitialized variable 2009-12-12 13:18:08 +02:00
Nedko Arnaudov 529db78e7a daemon: improve logs 2009-12-12 02:11:10 +02:00
Nedko Arnaudov cb2cf4eafe daemon: improve a log 2009-12-12 02:07:02 +02:00
Nedko Arnaudov 58be0887f5 daemon: on studio stop, wait apps to finish before stopping jack server. Fix for #24 2009-12-12 01:41:20 +02:00
Nedko Arnaudov 27c9709164 daemon: dump graphs just before studio stop 2009-12-12 01:33:32 +02:00
Nedko Arnaudov fde1b8f19b daemon: properly check for system client 2009-12-12 01:32:49 +02:00
Nedko Arnaudov cf3d6bd277 daemon: fix restoring of a2j clients/ports/connections (again) 2009-12-12 01:15:48 +02:00
Nedko Arnaudov ff45e7fe56 daemon: add some logs 2009-12-12 01:14:51 +02:00
Nedko Arnaudov c83b4be47a daemon: don't skip a2j when counting ladish started clients 2009-12-12 01:13:15 +02:00
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