3 #include "mainloop.hpp"
7 class lua_movie_currentframe
: public lua_function
10 lua_movie_currentframe() : lua_function("movie.currentframe") {}
11 int invoke(lua_State
* LS
, window
* win
)
13 auto& m
= get_movie();
14 lua_pushnumber(LS
, m
.get_current_frame());
19 class lua_movie_framecount
: public lua_function
22 lua_movie_framecount() : lua_function("movie.framecount") {}
23 int invoke(lua_State
* LS
, window
* win
)
25 auto& m
= get_movie();
26 lua_pushnumber(LS
, m
.get_frame_count());
31 class lua_movie_readonly
: public lua_function
34 lua_movie_readonly() : lua_function("movie.readonly") {}
35 int invoke(lua_State
* LS
, window
* win
)
37 auto& m
= get_movie();
38 lua_pushboolean(LS
, m
.readonly_mode() ? 1 : 0);
43 class lua_movie_set_readwrite
: public lua_function
46 lua_movie_set_readwrite() : lua_function("movie.set_readwrite") {}
47 int invoke(lua_State
* LS
, window
* win
)
49 auto& m
= get_movie();
50 m
.readonly_mode(false);
53 } movie_set_readwrite
;
55 class lua_movie_frame_subframes
: public lua_function
58 lua_movie_frame_subframes() : lua_function("movie.frame_subframes") {}
59 int invoke(lua_State
* LS
, window
* win
)
61 uint64_t frame
= get_numeric_argument
<uint64_t>(LS
, 1, "movie.frame_subframes");
62 auto& m
= get_movie();
63 lua_pushnumber(LS
, m
.frame_subframes(frame
));
66 } movie_frame_subframes
;
68 class lua_movie_read_subframe
: public lua_function
71 lua_movie_read_subframe() : lua_function("movie.read_subframe") {}
72 int invoke(lua_State
* LS
, window
* win
)
74 uint64_t frame
= get_numeric_argument
<uint64_t>(LS
, 1, "movie.frame_subframes");
75 uint64_t subframe
= get_numeric_argument
<uint64_t>(LS
, 2, "movie.frame_subframes");
76 auto& m
= get_movie();
77 controls_t r
= m
.read_subframe(frame
, subframe
);
79 for(size_t i
= 0; i
< TOTAL_CONTROLS
; i
++) {
80 lua_pushnumber(LS
, i
);
81 lua_pushnumber(LS
, r(i
));
86 } movie_read_subframe
;