diff options
| author | 2024-01-07 17:58:16 -0500 | |
|---|---|---|
| committer | 2024-01-07 17:58:16 -0500 | |
| commit | 342e613fba5849c11a07d568f765f512f30ea6cf (patch) | |
| tree | 78d361a24cb2df7c6bfd4c4fd087a487df245ffd /src/tree | |
| parent | e6c1c0afc69ee13465bb68a6bdeb35b6876146d4 (diff) | |
| download | camu-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.c | 6 |
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; |