From 96a224c0df4f647b3e5dbbcbbedad3a1d38470ba Mon Sep 17 00:00:00 2001 From: ailurux Date: Thu, 29 Aug 2024 15:20:22 +1000 Subject: Lua API improvements and fixes Co-authored-by: jacqueline --- src/tangara/ui/ui_fsm.cpp | 19 ++++++++++++++++++- 1 file changed, 18 insertions(+), 1 deletion(-) (limited to 'src/tangara/ui') diff --git a/src/tangara/ui/ui_fsm.cpp b/src/tangara/ui/ui_fsm.cpp index 94d1caf8..669b3298 100644 --- a/src/tangara/ui/ui_fsm.cpp +++ b/src/tangara/ui/ui_fsm.cpp @@ -201,7 +201,14 @@ lua::Property UiState::sPlaybackPosition{ return true; }}; -lua::Property UiState::sQueuePosition{0}; +lua::Property UiState::sQueuePosition{0, [](const lua::LuaValue& val){ + if (!std::holds_alternative(val)) { + return false; + } + int new_val = std::get(val); + // val-1 because Lua uses 1-based indexing + return sServices->track_queue().currentPosition(new_val-1); + }}; lua::Property UiState::sQueueSize{0}; lua::Property UiState::sQueueRepeat{false, [](const lua::LuaValue& val) { if (!std::holds_alternative(val)) { @@ -610,6 +617,16 @@ void Lua::entry() { {"paired_device", &sBluetoothPairedDevice}, {"discovered_devices", &sBluetoothDiscoveredDevices}, {"known_devices", &sBluetoothKnownDevices}, + {"enable", + [&](lua_State* s) { + sBluetoothEnabled.set(true); + return 0; + }}, + {"disable", + [&](lua_State* s) { + sBluetoothEnabled.set(false); + return 0; + }}, }); registry.AddPropertyModule( "playback", -- cgit v1.2.3