summaryrefslogtreecommitdiff
path: root/src/tangara/lua/lua_queue.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/tangara/lua/lua_queue.cpp')
-rw-r--r--src/tangara/lua/lua_queue.cpp14
1 files changed, 14 insertions, 0 deletions
diff --git a/src/tangara/lua/lua_queue.cpp b/src/tangara/lua/lua_queue.cpp
index bc393aa5..9e2002e6 100644
--- a/src/tangara/lua/lua_queue.cpp
+++ b/src/tangara/lua/lua_queue.cpp
@@ -57,8 +57,22 @@ static auto queue_clear(lua_State* state) -> int {
return 0;
}
+static auto queue_open_playlist(lua_State* state) -> int {
+ Bridge* instance = Bridge::Get(state);
+ audio::TrackQueue& queue = instance->services().track_queue();
+ size_t len = 0;
+ const char* str = luaL_checklstring(state, 1, &len);
+ if (!str) {
+ return 0;
+ }
+ queue.clear();
+ queue.openPlaylist(str);
+ return 0;
+}
+
static const struct luaL_Reg kQueueFuncs[] = {{"add", queue_add},
{"clear", queue_clear},
+ {"open_playlist", queue_open_playlist},
{NULL, NULL}};
static auto lua_queue(lua_State* state) -> int {