1 #ifndef _multitrack__hpp__included__
2 #define _multitrack__hpp__included__
5 #include "library/threads.hpp"
7 class controller_state
;
9 class emulator_dispatch
;
21 multitrack_edit(movie_logic
& _mlogic
, controller_state
& _controls
, emulator_dispatch
& _dispatch
,
22 status_updater
& _supdater
, button_mapping
& _buttons
, command::group
& _cmd
);
23 void enable(bool state
);
24 void set(unsigned port
, unsigned controller
, state s
);
25 void set_and_notify(unsigned port
, unsigned controller
, state s
);
26 void rotate(bool forward
);
27 state
get(unsigned port
, unsigned controller
);
29 void config_altered();
30 void process_frame(portctrl::frame
& input
);
35 void do_mt_set(const std::string
& args
);
38 std::map
<std::pair
<unsigned, unsigned>, state
> controllerstate
;
40 controller_state
& controls
;
41 emulator_dispatch
& edispatch
;
42 status_updater
& supdater
;
43 button_mapping
& buttons
;
45 command::_fnptr
<> mt_f
;
46 command::_fnptr
<> mt_b
;
47 command::_fnptr
<const std::string
&> mt_s
;