void PlayTransport::goto_start()
{
	handle_transport(REWIND, 1, 0);
}
Exemple #2
0
void PlayTransport::goto_end()
{
	handle_transport(GOTO_END, 1, 0);
}
int PlayTransport::keypress_event()
{
	int result = 0;
	if(subwindow->shift_down())
	{
		switch(subwindow->get_keypress())
		{
			case END:
				subwindow->lock_window("PlayTransport::keypress_event 1");
				goto_end();                                   
				result = 1; 
				subwindow->unlock_window();
				break;
			case HOME:
				subwindow->lock_window("PlayTransport::keypress_event 2");
		    	goto_start();                                 
				result = 1; 
				subwindow->unlock_window();
				break;
		}
		return result;
	}

// Set playback range to in/out points if CTRL is down
	int use_inout = 0;
	if(subwindow->ctrl_down())
	{
		use_inout = 1;
	}
	subwindow->unlock_window();


	switch(subwindow->get_keypress())
	{
		case KPPLUS:        handle_transport(FAST_REWIND, 0, use_inout);                result = 1; break;
		case KP6:           handle_transport(NORMAL_REWIND, 0, use_inout);              result = 1; break;
		case KP5:           handle_transport(SLOW_REWIND, 0, use_inout);                result = 1; break;
		case KP4:           handle_transport(SINGLE_FRAME_REWIND, 0, use_inout);        result = 1; break;
		case KP1:           handle_transport(SINGLE_FRAME_FWD, 0, use_inout);   		  result = 1; break;
		case KP2:           handle_transport(SLOW_FWD, 0, use_inout);           		  result = 1; break;
		case KP3:           handle_transport(NORMAL_FWD, 0, use_inout);         		  result = 1; break;
		case KPENTER:       handle_transport(FAST_FWD, 0, use_inout);           		  result = 1; break;
		case KPINS:         handle_transport(STOP, 0, use_inout);                       result = 1; break;
		case ' ':           handle_transport(NORMAL_FWD, 0, use_inout);                 result = 1; break;
		case 'k':           handle_transport(STOP, 0, use_inout);   					  result = 1; break;
		case END:
			subwindow->lock_window("PlayTransport::keypress_event 3");
			goto_end();                                   
			result = 1; 
			subwindow->unlock_window();
			break;
		case HOME:
			subwindow->lock_window("PlayTransport::keypress_event 4");
		    goto_start();                                 
			result = 1; 
			subwindow->unlock_window();
			break;
	}

	subwindow->lock_window("PlayTransport::keypress_event 5");

	return result;
}
Exemple #4
0
int PlayTransport::keypress_event()
{
	int result = 1;
	if(subwindow->shift_down())
	{
		switch(subwindow->get_keypress())
		{
			case END:
				subwindow->lock_window("PlayTransport::keypress_event 1");
				goto_end();                                   
				subwindow->unlock_window();
				break;
			case HOME:
				subwindow->lock_window("PlayTransport::keypress_event 2");
				goto_start();                                 
				subwindow->unlock_window();
				break;
			default:
				result = 0;
				break;
		}
		return result;
	}

// Set playback range to in/out points if CTRL is down
	int use_inout = 0;
	if(subwindow->ctrl_down())
	{
		use_inout = 1;
	}
	using_inout = use_inout;
	subwindow->unlock_window();


	switch(subwindow->get_keypress())
	{
		case KPPLUS:	handle_transport(FAST_REWIND, 0, use_inout);		break;
		case KP6:	handle_transport(NORMAL_REWIND, 0, use_inout);		break;
		case KP5:	handle_transport(SLOW_REWIND, 0, use_inout);		break;
		case KP4:	handle_transport(SINGLE_FRAME_REWIND, 0, use_inout);	break;
		case KP1:	handle_transport(SINGLE_FRAME_FWD, 0, use_inout);	break;
		case KP2:	handle_transport(SLOW_FWD, 0, use_inout);		break;
		case KP3:	handle_transport(NORMAL_FWD, 0, use_inout);		break;
		case KPENTER:	handle_transport(FAST_FWD, 0, use_inout);		break;
		case KPINS:	handle_transport(STOP, 0, use_inout);			break;
		case ' ': {
			int prev_command = engine->command->command;
			int new_command = prev_command == COMMAND_NONE ||
					prev_command == CURRENT_FRAME ||
				    	prev_command == PAUSE ||
					prev_command == STOP ? NORMAL_FWD : STOP;
				handle_transport(new_command, 0, use_inout);		break;
			  }
		case 'k':	handle_transport(STOP, 0, use_inout);			break;
		case END:
			subwindow->lock_window("PlayTransport::keypress_event 3");
			goto_end();                                   
			subwindow->unlock_window();
			break;
		case HOME:
			subwindow->lock_window("PlayTransport::keypress_event 4");
			goto_start();                                 
			subwindow->unlock_window();
			break;
		default:
			result = 0; 
			break;
	}

	subwindow->lock_window("PlayTransport::keypress_event 5");

	return result;
}