projects
/
goodguy
/
history.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
add bins/folders, fix listbox bad wdw ref, hide vicons fix, remove sort by time
[goodguy/history.git]
/
cinelerra-5.1
/
cinelerra
/
transportque.C
diff --git
a/cinelerra-5.1/cinelerra/transportque.C
b/cinelerra-5.1/cinelerra/transportque.C
index 816e81a41d558f8268d8d08f59492e0f144ea5d1..35d6f1f34205447fa71f673de5478718c03eb9f0 100644
(file)
--- a/
cinelerra-5.1/cinelerra/transportque.C
+++ b/
cinelerra-5.1/cinelerra/transportque.C
@@
-101,9
+101,8
@@
TransportCommand& TransportCommand::operator=(TransportCommand &command)
int TransportCommand::single_frame(int command)
{
int TransportCommand::single_frame(int command)
{
- return (command == SINGLE_FRAME_FWD ||
- command == SINGLE_FRAME_REWIND ||
- command == CURRENT_FRAME);
+ return (command == SINGLE_FRAME_FWD || command == SINGLE_FRAME_REWIND ||
+ command == CURRENT_FRAME || command == LAST_FRAME);
}
int TransportCommand::single_frame()
{
}
int TransportCommand::single_frame()
{
@@
-125,6
+124,7
@@
int TransportCommand::get_direction(int command)
case NORMAL_REWIND:
case FAST_REWIND:
case SLOW_REWIND:
case NORMAL_REWIND:
case FAST_REWIND:
case SLOW_REWIND:
+ case LAST_FRAME:
return PLAY_REVERSE;
default:
return PLAY_REVERSE;
default:
@@
-149,6
+149,7
@@
float TransportCommand::get_speed(int command)
case SINGLE_FRAME_FWD:
case SINGLE_FRAME_REWIND:
case CURRENT_FRAME:
case SINGLE_FRAME_FWD:
case SINGLE_FRAME_REWIND:
case CURRENT_FRAME:
+ case LAST_FRAME:
return 1.;
case FAST_FWD:
return 1.;
case FAST_FWD:
@@
-210,6
+211,7
@@
void TransportCommand::set_playback_range(EDL *edl,
break;
case CURRENT_FRAME:
break;
case CURRENT_FRAME:
+ case LAST_FRAME:
case SINGLE_FRAME_FWD:
end_position = start_position + frame_period;
break;
case SINGLE_FRAME_FWD:
end_position = start_position + frame_period;
break;
@@
-219,8
+221,9
@@
void TransportCommand::set_playback_range(EDL *edl,
break;
}
break;
}
- if( use_displacement && command != CURRENT_FRAME &&
- get_direction() == PLAY_FORWARD ) {
+ if( use_displacement && (
+ (command != CURRENT_FRAME && get_direction() == PLAY_FORWARD ) ||
+ (command != LAST_FRAME && get_direction() == PLAY_REVERSE ) ) ) {
start_position += frame_period;
end_position += frame_period;
displacement = 1;
start_position += frame_period;
end_position += frame_period;
displacement = 1;