diff options
| author | ailurux <ailuruxx@gmail.com> | 2024-09-17 14:13:05 +1000 |
|---|---|---|
| committer | ailurux <ailuruxx@gmail.com> | 2024-09-17 14:13:05 +1000 |
| commit | c479d699d059bc58e6850d43b14f2e91c2076e12 (patch) | |
| tree | ef9c059f377ab74a438d26f194bca4f7d1f76aac /src/tangara/lua/lua_queue.cpp | |
| parent | 6c1757a1766180497dc5196193c9e81417074ba7 (diff) | |
| download | tangara-fw-c479d699d059bc58e6850d43b14f2e91c2076e12.tar.gz | |
Implements seeking to saved position for tracks
Diffstat (limited to 'src/tangara/lua/lua_queue.cpp')
| -rw-r--r-- | src/tangara/lua/lua_queue.cpp | 14 |
1 files changed, 14 insertions, 0 deletions
diff --git a/src/tangara/lua/lua_queue.cpp b/src/tangara/lua/lua_queue.cpp index 7eb32c62..07093390 100644 --- a/src/tangara/lua/lua_queue.cpp +++ b/src/tangara/lua/lua_queue.cpp @@ -79,10 +79,24 @@ static auto queue_open_playlist(lua_State* state) -> int { return 0; } +static auto queue_play_from(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; + } + auto pos = luaL_checkinteger(state, 2); + queue.playFromPosition(str, pos); + return 0; +} + static const struct luaL_Reg kQueueFuncs[] = { {"add", queue_add}, {"clear", queue_clear}, {"open_playlist", queue_open_playlist}, + {"play_from", queue_play_from}, {NULL, NULL}}; static auto lua_queue(lua_State* state) -> int { |
