diff options
author | falkTX <falktx@falktx.com> | 2019-09-25 02:16:16 +0100 |
---|---|---|
committer | Filipe Coelho <falktx@falktx.com> | 2019-09-25 03:06:49 +0100 |
commit | 18177e3d51615e1aee344dc47beef87f174b2398 (patch) | |
tree | c339646220ed5b2b3db77fdd6404487594a4771e /example-clients/evmon.c | |
parent | c74385603ca27878c820d1aa478153f3c29fc4c2 (diff) | |
download | jack2-18177e3d51615e1aee344dc47beef87f174b2398.tar.gz |
Add port rename and property change to evmon (sync with jack1)
Diffstat (limited to 'example-clients/evmon.c')
-rw-r--r-- | example-clients/evmon.c | 49 |
1 files changed, 49 insertions, 0 deletions
diff --git a/example-clients/evmon.c b/example-clients/evmon.c index bb4e6104..3f3b8050 100644 --- a/example-clients/evmon.c +++ b/example-clients/evmon.c @@ -26,6 +26,8 @@ #include <stdlib.h> #include <jack/jack.h> +#include <jack/metadata.h> +#include <jack/uuid.h> jack_client_t *client; @@ -37,6 +39,12 @@ static void signal_handler(int sig) } static void +port_rename_callback (jack_port_id_t port, const char* old_name, const char* new_name, void* arg) +{ + printf ("Port %d renamed from %s to %s\n", port, old_name, new_name); +} + +static void port_callback (jack_port_id_t port, int yn, void* arg) { printf ("Port %d %s\n", port, (yn ? "registered" : "unregistered")); @@ -61,6 +69,39 @@ graph_callback (void* arg) return 0; } +void +propchange (jack_uuid_t subject, const char* key, jack_property_change_t change) +{ + char buf[JACK_UUID_STRING_SIZE]; + const char* action = ""; + + switch (change) { + case PropertyCreated: + action = "created"; + break; + + case PropertyChanged: + action = "changed"; + break; + + case PropertyDeleted: + action = "deleted"; + break; + } + + if (jack_uuid_empty (subject)) { + printf ("All properties changed!\n"); + } else { + jack_uuid_unparse (subject, buf); + + if (key) { + printf ("key [%s] for %s %s\n", key, buf, action); + } else { + printf ("all keys for %s %s\n", buf, action); + } + } +} + int main (int argc, char *argv[]) { @@ -80,6 +121,10 @@ main (int argc, char *argv[]) fprintf (stderr, "cannot set port registration callback\n"); return 1; } + if (jack_set_port_rename_callback (client, port_rename_callback, NULL)) { + fprintf (stderr, "cannot set port registration callback\n"); + return 1; + } if (jack_set_port_connect_callback (client, connect_callback, NULL)) { fprintf (stderr, "cannot set port connect callback\n"); return 1; @@ -92,6 +137,10 @@ main (int argc, char *argv[]) fprintf (stderr, "cannot set graph order registration callback\n"); return 1; } + if (jack_set_property_change_callback (client, (JackPropertyChangeCallback) propchange, 0)) { + fprintf (stderr, "cannot set property change callback\n"); + return 1; + } if (jack_activate (client)) { fprintf (stderr, "cannot activate client"); return 1; |