projects
/
goodguy
/
history.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
crikey rework, KP4 fix, added Shift-KPx, valgrind cleanups, hex eye-dropper, resize...
[goodguy/history.git]
/
cinelerra-5.1
/
cinelerra
/
playtransport.C
diff --git
a/cinelerra-5.1/cinelerra/playtransport.C
b/cinelerra-5.1/cinelerra/playtransport.C
index 85fe95a446a9252cd6d5bd935b8cfffc99c6cb0b..a426ac79336e6509c098c5ce475413985bffad05 100644
(file)
--- a/
cinelerra-5.1/cinelerra/playtransport.C
+++ b/
cinelerra-5.1/cinelerra/playtransport.C
@@
-216,6
+216,9
@@
int PlayTransport::keypress_event()
case STOP:
command = NORMAL_FWD;
break;
case STOP:
command = NORMAL_FWD;
break;
+ default:
+ command = STOP;
+ break;
}
break;
default:
}
break;
default:
@@
-254,6
+257,11
@@
void PlayTransport::handle_transport(int command,
int prev_command = engine->command->command;
int prev_direction = engine->command->get_direction();
int prev_single_frame = engine->command->single_frame();
int prev_command = engine->command->command;
int prev_direction = engine->command->get_direction();
int prev_single_frame = engine->command->single_frame();
+ int prev_audio = engine->command->audio_toggle ?
+ !prev_single_frame : prev_single_frame;
+ int cur_single_frame = TransportCommand::single_frame(command);
+ int cur_audio = toggle_audio ?
+ !cur_single_frame : cur_single_frame;
// Dispatch command
switch(command) {
// Dispatch command
switch(command) {
@@
-265,8
+273,10
@@
void PlayTransport::handle_transport(int command,
case SLOW_FWD:
case NORMAL_FWD:
case FAST_FWD:
case SLOW_FWD:
case NORMAL_FWD:
case FAST_FWD:
- if( prev_command == command && !prev_single_frame ) {
-// Same direction pressed twice. Stop
+ if( !prev_single_frame &&
+ prev_command == command &&
+ cur_audio == prev_audio ) {
+// Same direction pressed twice and no change in audio state, Stop
do_stop = 1;
break;
}
do_stop = 1;
break;
}