From 1f038540a59ff96aed3cda901449a298b6f1c11c Mon Sep 17 00:00:00 2001 From: Kae <80987908+Novaenia@users.noreply.github.com> Date: Wed, 19 Jul 2023 23:16:59 +1000 Subject: Port in the voice settings menu --- source/frontend/StarVoiceLuaBindings.cpp | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) (limited to 'source/frontend/StarVoiceLuaBindings.cpp') diff --git a/source/frontend/StarVoiceLuaBindings.cpp b/source/frontend/StarVoiceLuaBindings.cpp index 1b62aef..934b294 100644 --- a/source/frontend/StarVoiceLuaBindings.cpp +++ b/source/frontend/StarVoiceLuaBindings.cpp @@ -6,9 +6,11 @@ namespace Star { typedef Voice::SpeakerId SpeakerId; -LuaCallbacks LuaBindings::makeVoiceCallbacks(Voice* voice) { +LuaCallbacks LuaBindings::makeVoiceCallbacks() { LuaCallbacks callbacks; + auto voice = Voice::singletonPtr(); + callbacks.registerCallbackWithSignature("devices", bind(&Voice::availableDevices, voice)); callbacks.registerCallback( "getSettings", [voice]() -> Json { return voice->saveJson(); }); callbacks.registerCallback("mergeSettings", [voice](Json const& settings) { voice->loadJson(settings); }); @@ -21,7 +23,13 @@ LuaCallbacks LuaBindings::makeVoiceCallbacks(Voice* voice) { callbacks.registerCallback("speakerPosition", [voice](SpeakerId speakerId) { return voice->speaker(speakerId)->position; }); - callbacks.registerCallback("speaker", [voice](SpeakerId speakerId) { return voice->speaker(speakerId)->toJson(); }); + callbacks.registerCallback("speaker", [voice](Maybe speakerId) { + if (speakerId) + return voice->speaker(*speakerId)->toJson(); + else + return voice->localSpeaker()->toJson(); + }); + callbacks.registerCallback("speakers", [voice](Maybe onlyPlaying) -> List { List list; -- cgit v1.2.3