Skip to content
This repository was archived by the owner on Sep 6, 2023. It is now read-only.

Commit 43c0cf5

Browse files
add playbackSpeed
1 parent bac6810 commit 43c0cf5

3 files changed

Lines changed: 24 additions & 0 deletions

File tree

LuaDox/stubs.lua

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -202,6 +202,13 @@ function player.CurrentVideo() end
202202
-- @treturn number FPS
203203
function player.FPS() end
204204

205+
--- Control playback speed
206+
--
207+
-- The value is automatically clamped between 0.05 minimum speed and 3.0 maximum speed
208+
-- @meta read/write
209+
-- @type number
210+
playbackSpeed = 1.0
211+
205212
--- Funscript returned by `ofs.Script()`
206213
-- @see funscript
207214
-- @display Funscript

src/lua/api/OFS_LuaPlayerAPI.cpp

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -22,6 +22,8 @@ OFS_PlayerAPI::OFS_PlayerAPI(sol::state_view& L) noexcept
2222
player["IsPlaying"] = OFS_PlayerAPI::IsPlaying;
2323
player["CurrentVideo"] = OFS_PlayerAPI::CurrentVideo;
2424
player["FPS"] = OFS_PlayerAPI::FPS;
25+
26+
player["playbackSpeed"] = sol::property(OFS_PlayerAPI::getPlaybackSpeed, OFS_PlayerAPI::setPlaybackSpeed);
2527
}
2628

2729
void OFS_PlayerAPI::TogglePlay() noexcept
@@ -70,4 +72,16 @@ lua_Number OFS_PlayerAPI::FPS() noexcept
7072
{
7173
auto app = OpenFunscripter::ptr;
7274
return app->player->getFps();
75+
}
76+
77+
void OFS_PlayerAPI::setPlaybackSpeed(lua_Number speed) noexcept
78+
{
79+
auto app = OpenFunscripter::ptr;
80+
app->player->setSpeed(speed);
81+
}
82+
83+
lua_Number OFS_PlayerAPI::getPlaybackSpeed() noexcept
84+
{
85+
auto app = OpenFunscripter::ptr;
86+
return app->player->getSpeed();
7387
}

src/lua/api/OFS_LuaPlayerAPI.h

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -14,6 +14,9 @@ class OFS_PlayerAPI
1414
static std::string CurrentVideo() noexcept;
1515
static lua_Number FPS() noexcept;
1616

17+
static void setPlaybackSpeed(lua_Number speed) noexcept;
18+
static lua_Number getPlaybackSpeed() noexcept;
19+
1720
public:
1821
OFS_PlayerAPI(sol::state_view& L) noexcept;
1922
~OFS_PlayerAPI() noexcept;

0 commit comments

Comments
 (0)