Add aegisub.keyframes, which returns a table with all of the frame numbers which are keyframes
Originally committed to SVN as r6129.
This commit is contained in:
parent
f974fdb1b2
commit
4a3f2b8412
2 changed files with 16 additions and 0 deletions
|
@ -261,6 +261,7 @@ namespace Automation4 {
|
||||||
set_field(L, "frame_from_ms", LuaFrameFromMs);
|
set_field(L, "frame_from_ms", LuaFrameFromMs);
|
||||||
set_field(L, "ms_from_frame", LuaMsFromFrame);
|
set_field(L, "ms_from_frame", LuaMsFromFrame);
|
||||||
set_field(L, "video_size", LuaVideoSize);
|
set_field(L, "video_size", LuaVideoSize);
|
||||||
|
set_field(L, "keyframes", LuaGetKeyframes);
|
||||||
set_field(L, "lua_automation_version", 4);
|
set_field(L, "lua_automation_version", 4);
|
||||||
|
|
||||||
// store aegisub table to globals
|
// store aegisub table to globals
|
||||||
|
@ -496,6 +497,20 @@ namespace Automation4 {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
int LuaScript::LuaGetKeyframes(lua_State *L)
|
||||||
|
{
|
||||||
|
const agi::Context *c = get_context(L);
|
||||||
|
std::vector<int> const& kf = c->videoController->GetKeyFrames();
|
||||||
|
|
||||||
|
lua_newtable(L);
|
||||||
|
for (size_t i = 0; i < kf.size(); ++i) {
|
||||||
|
lua_pushinteger(L, kf[i]);
|
||||||
|
lua_rawseti(L, -2, i);
|
||||||
|
}
|
||||||
|
|
||||||
|
return 1;
|
||||||
|
}
|
||||||
|
|
||||||
static void lua_threaded_call(ProgressSink *ps, lua_State *L, int nargs, int nresults, bool can_open_config, bool *failed)
|
static void lua_threaded_call(ProgressSink *ps, lua_State *L, int nargs, int nresults, bool can_open_config, bool *failed)
|
||||||
{
|
{
|
||||||
LuaProgressSink lps(L, ps, can_open_config);
|
LuaProgressSink lps(L, ps, can_open_config);
|
||||||
|
|
|
@ -309,6 +309,7 @@ namespace Automation4 {
|
||||||
static int LuaFrameFromMs(lua_State *L);
|
static int LuaFrameFromMs(lua_State *L);
|
||||||
static int LuaMsFromFrame(lua_State *L);
|
static int LuaMsFromFrame(lua_State *L);
|
||||||
static int LuaVideoSize(lua_State *L);
|
static int LuaVideoSize(lua_State *L);
|
||||||
|
static int LuaGetKeyframes(lua_State *L);
|
||||||
|
|
||||||
public:
|
public:
|
||||||
LuaScript(const wxString &filename);
|
LuaScript(const wxString &filename);
|
||||||
|
|
Loading…
Reference in a new issue