diff options
| author | 2024-11-08 14:53:40 -0500 | |
|---|---|---|
| committer | 2024-11-08 14:53:40 -0500 | |
| commit | 5e3641e5e692c3f2f644a4bb809c88727cb8bee9 (patch) | |
| tree | fbac2007fdcebda13406350fdcef977910427078 /src/fruits/cmv | |
| parent | f56abfafcd4fa722b807278b138f805112cd953e (diff) | |
| download | camu-5e3641e5e692c3f2f644a4bb809c88727cb8bee9.tar.gz camu-5e3641e5e692c3f2f644a4bb809c88727cb8bee9.tar.bz2 camu-5e3641e5e692c3f2f644a4bb809c88727cb8bee9.zip | |
Command queue for portal and list, work on server
Most of the server stuff can undoubtedly be simplified. I'm still
working that out.
Signed-off-by: Andrew Opalach <andrew@akon.city>
Diffstat (limited to 'src/fruits/cmv')
| -rw-r--r-- | src/fruits/cmv/cmv.c | 25 |
1 files changed, 7 insertions, 18 deletions
diff --git a/src/fruits/cmv/cmv.c b/src/fruits/cmv/cmv.c index 8eaa8b7..eb96623 100644 --- a/src/fruits/cmv/cmv.c +++ b/src/fruits/cmv/cmv.c @@ -7,7 +7,6 @@ #include "../../codec/ffmpeg/common.h" #ifndef CAMU_SINK_ONLY #include "../../server/server.h" -#include "../../server/list.h" #else #include "../../server/common.c" #endif @@ -21,19 +20,6 @@ struct cmv { }; #ifndef CAMU_SINK_ONLY -static void meta_callback(void *userdata, u8 op, struct lia_list_entry *entry) -{ - struct cmv *c = (struct cmv *)userdata; - (void)c; - switch (op) { - case LIANA_META_PLAYING: { - struct camu_server_resource *resource = (struct camu_server_resource *)entry->opaque; - al_log_info("server", "now playing: %.*s.", AL_STR_PRINTF(&resource->unique_id)); - break; - } - } -} - static void exit_callback(void *userdata, struct camu_desktop *desktop) { struct cmv *c = (struct cmv *)userdata; @@ -87,9 +73,6 @@ s32 wmain(s32 argc, wchar_t **argv) type = AKI_SOCKET_UNIX; addr = CAMU_UNIX_LOCAL; if (!camu_server_init(&c.server, type, &c.loop)) failure(); if (!camu_server_listen(&c.server, addr, CAMU_PORT)) failure(); - struct camu_list *list = al_array_at(c.server.lists, 0); - list->impl.callback = meta_callback; - list->impl.userdata = &c; } else { type = CAMU_LOCAL_TYPE; addr = CAMU_LOCAL_ADDR; @@ -108,7 +91,13 @@ s32 wmain(s32 argc, wchar_t **argv) al_wstr_to_str(al_wstr_cr(argv[i]), &arg); #endif struct aki_packet *packet = aki_packet_create(); - aki_packet_write_str(packet, &arg); + if (al_str_at(&arg, 0) == ';') { + aki_packet_write_u8(packet, CAMU_RESOURCE_PORTAL); + aki_packet_write_str(packet, al_str_substr(&arg, 1, arg.len)); + } else { + aki_packet_write_u8(packet, CAMU_RESOURCE_FILE); + aki_packet_write_str(packet, &arg); + } camu_server_local_add(&c.server, packet); } } |