@@ -18,6 +18,9 @@ bool RecorderLayer::init() {
1818
1919 const CCPoint top_left = win_size / 2 .f - ccp (window_size.width / 2 .f , -window_size.height / 2 .f );
2020
21+ registerWithTouchDispatcher ();
22+ CCDirector::sharedDirector ()->getTouchDispatcher ()->incrementForcePrio (2 );
23+
2124 m_pButtonMenu = CCMenu::create ();
2225 m_pButtonMenu->setPosition ({0 , 0 });
2326 auto menu = m_pButtonMenu; // sorry m_pButtonMenu is too much to type
@@ -51,41 +54,64 @@ bool RecorderLayer::init() {
5154 menu->addChild (toggler);
5255 layer->addChild (label);
5356
57+ toggler = gd::CCMenuItemToggler::create (check_off_sprite, check_on_sprite, this , menu_selector (RecorderLayer::on_toggle_include_audio));
58+ toggler->setPosition (top_left + ccp (30 .f , -100 .f ));
59+ toggler->toggle (rs.recorder .m_include_audio );
60+ menu->addChild (toggler);
61+ layer->addChild (NodeFactory<CCLabelBMFont>::start (" Include audio" , " bigFont.fnt" )
62+ .setScale (0 .7f )
63+ .setPosition (top_left + ccp (55 .f , -100 .f ))
64+ .setAnchorPoint (ccp (0 , 0 .5f )));
65+
5466 auto input = NumberInputNode::create (CCSize (70 .f , 30 .f ));
5567 input->set_value (rs.recorder .m_width );
56- input->setPosition (top_left + ccp (49 .f , -104 .f ));
68+ input->setPosition (top_left + ccp (49 .f , -138 .f ));
5769 input->input_node ->setMaxLabelScale (0 .73f );
5870 input->callback = [&rs](auto input) {
5971 rs.recorder .m_width = input->get_value ();
6072 };
6173 layer->addChild (input);
6274
6375 layer->addChild (NodeFactory<CCLabelBMFont>::start (" x" , " bigFont.fnt" )
64- .setPosition (top_left + ccp (93 .5f , -104 .f ))
76+ .setPosition (top_left + ccp (93 .5f , -138 .f ))
6577 .setScale (0 .5f ));
6678
6779 input = NumberInputNode::create (CCSize (70 .f , 30 .f ));
6880 input->set_value (rs.recorder .m_height );
69- input->setPosition (top_left + ccp (137 .f , -104 .f ));
81+ input->setPosition (top_left + ccp (137 .f , -138 .f ));
7082 input->input_node ->setMaxLabelScale (0 .73f );
7183 input->callback = [&rs](auto input) {
7284 rs.recorder .m_height = input->get_value ();
7385 };
7486 layer->addChild (input);
7587
7688 layer->addChild (NodeFactory<CCLabelBMFont>::start (" @" , " bigFont.fnt" )
77- .setPosition (top_left + ccp (185 .5f , -104 .f ))
89+ .setPosition (top_left + ccp (185 .5f , -138 .f ))
7890 .setScale (0 .5f ));
7991
8092 input = NumberInputNode::create (CCSize (50 .f , 30 .f ));
8193 input->set_value (rs.recorder .m_fps );
82- input->setPosition (top_left + ccp (225 .f , -104 .f ));
94+ input->setPosition (top_left + ccp (225 .f , -138 .f ));
8395 input->input_node ->setMaxLabelScale (0 .73f );
8496 input->callback = [&rs](auto input) {
8597 rs.recorder .m_fps = input->get_value ();
8698 };
8799 layer->addChild (input);
88100
101+ input = NumberInputNode::create (CCSize (50 .f , 30 .f ));
102+ input->set_value (rs.recorder .m_after_end_duration );
103+ input->setPosition (top_left + ccp (346 .f , -65 .f ));
104+ input->input_node ->setMaxLabelScale (0 .73f );
105+ input->callback = [&rs](auto input) {
106+ rs.recorder .m_after_end_duration = static_cast <float >(input->get_value ());
107+ };
108+ layer->addChild (input);
109+ layer->addChild (NodeFactory<CCLabelBMFont>::start (" seconds to render after" , " bigFont.fnt" )
110+ .setPosition (top_left + ccp (346 .f , -45 .f ))
111+ .setScale (0 .224f ));
112+
113+ layer->addChild (NodeFactory<CCNode>::start ().setPosition (top_left));
114+
89115 const std::string broad_filter = " abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ.,;-_=+@!\" :0123456789$[](){} " ;
90116
91117 auto text_input = TextInputNode::create (CCSize (60 .f , 30 .f ), 1 .f , " chatFont.fnt" );
@@ -122,9 +148,6 @@ bool RecorderLayer::init() {
122148 layer->addChild (NodeFactory<CCLabelBMFont>::start (" Bitrate" , " bigFont.fnt" ).setPosition (top_left + ccp (291 .5f , -152 .f )).setScale (0 .4f ));
123149 layer->addChild (NodeFactory<CCLabelBMFont>::start (" Codec" , " bigFont.fnt" ).setPosition (top_left + ccp (359 .5f , -152 .f )).setScale (0 .4f ));
124150
125- registerWithTouchDispatcher ();
126- CCDirector::sharedDirector ()->getTouchDispatcher ()->incrementForcePrio (2 );
127-
128151 auto close_btn = gd::CCMenuItemSpriteExtra::create (
129152 CCSprite::createWithSpriteFrameName (" GJ_closeBtn_001.png" ),
130153 this ,
@@ -173,4 +196,8 @@ void RecorderLayer::on_toggle_recorder(CCObject* obj) {
173196
174197void RecorderLayer::on_toggle_until_end (CCObject* obj) {
175198 ReplaySystem::get_instance ().recorder .m_until_end = !static_cast <gd::CCMenuItemToggler*>(obj)->isOn ();
176- }
199+ }
200+
201+ void RecorderLayer::on_toggle_include_audio (CCObject* obj) {
202+ ReplaySystem::get_instance ().recorder .m_include_audio = !static_cast <gd::CCMenuItemToggler*>(obj)->isOn ();
203+ }
0 commit comments