summaryrefslogtreecommitdiff
path: root/src/tree
diff options
context:
space:
mode:
authorAndrew Opalach <andrew@akon.city> 2024-01-07 17:58:16 -0500
committerAndrew Opalach <andrew@akon.city> 2024-01-07 17:58:16 -0500
commit342e613fba5849c11a07d568f765f512f30ea6cf (patch)
tree78d361a24cb2df7c6bfd4c4fd087a487df245ffd /src/tree
parente6c1c0afc69ee13465bb68a6bdeb35b6876146d4 (diff)
downloadcamu-342e613fba5849c11a07d568f765f512f30ea6cf.tar.gz
camu-342e613fba5849c11a07d568f765f512f30ea6cf.tar.bz2
camu-342e613fba5849c11a07d568f765f512f30ea6cf.zip
Rough seek implementation
Signed-off-by: Andrew Opalach <andrew@akon.city>
Diffstat (limited to 'src/tree')
-rw-r--r--src/tree/tree.c6
1 files changed, 4 insertions, 2 deletions
diff --git a/src/tree/tree.c b/src/tree/tree.c
index e671d9c..8a0972f 100644
--- a/src/tree/tree.c
+++ b/src/tree/tree.c
@@ -341,12 +341,14 @@ static bool open_db(struct tree_server *tree, str *path)
static u8 line_callback(void *userdata, str *line)
{
struct tree_server *tree = (struct tree_server *)userdata;
+ struct tree_user *user = al_array_at(tree->users, 0);
+ struct tree_list *list = al_array_at(user->lists, 0);
if (al_str_eq(line, al_str_c(";NEXT"))) {
+ tree_list_skip(list, 1);
} else if (al_str_eq(line, al_str_c(";PREV"))) {
+ tree_list_skip(list, -1);
} else if (al_str_eq(line, al_str_c(";SHUFFLE"))) {
} else {
- struct tree_user *user = al_array_at(tree->users, 0);
- struct tree_list *list = al_array_at(user->lists, 0);
tree_list_add_external(list, line);
}
return AKI_LINE_PROCESSOR_CONTINUE;