#551: Shift+Spacebar plays every frame by default

Shift+Spacebar set Skip to 1, so it played every other frame out of the box. It now plays every
frame, like Spacebar. Skip still works when it is set.

Co-Authored-By: Claude Haiku 5.5 <[email protected]>
This commit is contained in:
Kristian MyramandClaude Haiku 5.5 committed 2026-10-12 19:19:00 +02:00
1 parent 470ea7a3af
commit 0852511c3f
2 files changed
+11 -4

No files matched your search

+9 -3
View File
@@ -205,9 +205,8 @@ impl PreviewPreset {
pub fn default_for(s: PreviewShortcut) -> Self {
let d = PreviewPreset::default();
match s {
PreviewShortcut::Spacebar => d,
// A lighter preview: every other frame.
PreviewShortcut::ShiftSpacebar => PreviewPreset { skip: 1, ..d },
// Frame skipping is off by default; set Skip to play fewer frames.
PreviewShortcut::Spacebar | PreviewShortcut::ShiftSpacebar => d,
PreviewShortcut::Numpad0 => PreviewPreset { range: PreviewRange::WorkArea, play_from: PlayFrom::RangeStart, ..d },
PreviewShortcut::ShiftNumpad0 => {
PreviewPreset { range: PreviewRange::WorkArea, play_from: PlayFrom::RangeStart, skip: 1, resolution: PreviewResolution::Half, ..d }
@@ -509,6 +508,13 @@ mod tests {
assert_eq!(pl.frame_after(237, 1), None);
}
/// #551: Shift+Spacebar used to skip every other frame out of the box.
#[test]
fn shift_spacebar_plays_every_frame_by_default() {
assert_eq!(PreviewPreset::default_for(PreviewShortcut::ShiftSpacebar).skip, 0);
assert_eq!(PreviewPreset::default_for(PreviewShortcut::ShiftSpacebar), PreviewPreset::default_for(PreviewShortcut::Spacebar));
}
#[test]
fn settings_commands_round_trip() {
let mut s = comp_session();
+2 -1
View File
@@ -118,7 +118,8 @@ fn playback_follows_the_shortcut_options() {
h.step();
assert!(h.state().playback.playing);
assert_eq!(h.state().playback.shortcut, PreviewShortcut::ShiftSpacebar);
assert_eq!(h.state().playback.plan.unwrap().step, 2);
// Every frame by default (#551): Skip is 0 until the user sets it.
assert_eq!(h.state().playback.plan.unwrap().step, 1);
}
#[test]