if (!load_midi_mapping_from_file(global_flags.midi_mapping_filename, &midi_mapping)) {
fprintf(stderr, "Couldn't load MIDI mapping '%s'; exiting.\n",
global_flags.midi_mapping_filename.c_str());
- exit(1);
+ abort();
}
midi_mapper.set_midi_mapping(midi_mapping);
}
playlist_selection_changed();
}
+ // Show the clip in the preview.
+ unsigned stream_idx = ui->preview_display->get_stream_idx();
+ preview_single_frame(cliplist_clips->mutable_back()->pts_in, stream_idx, FIRST_AT_OR_AFTER);
+
// Select the item so that we can jog it.
ui->clip_list->setFocus();
QModelIndex index = cliplist_clips->index(cliplist_clips->size() - 1, int(ClipList::Column::IN));
cliplist_clips->mutable_back()->pts_out = current_pts + lrint(global_flags.cue_out_point_padding_seconds * TIMEBASE);
+ // Show the clip in the preview. (TODO: This won't take padding into account.)
+ unsigned stream_idx = ui->preview_display->get_stream_idx();
+ preview_single_frame(cliplist_clips->mutable_back()->pts_out, stream_idx, LAST_BEFORE);
+
// Select the item so that we can jog it.
ui->clip_list->setFocus();
QModelIndex index = cliplist_clips->index(cliplist_clips->size() - 1, int(ClipList::Column::OUT));
} else {
clip.stream_idx = ui->preview_display->get_stream_idx();
}
+ if (clip.pts_out == -1) {
+ clip.pts_out = clip.pts_in + int64_t(TIMEBASE) * 86400 * 7; // One week; effectively infinite, but without overflow issues.
+ }
playlist_clips->add_clip(clip);
playlist_selection_changed();
if (mouse->modifiers() & Qt::KeyboardModifier::ShiftModifier) {
scrub_sensitivity *= 10;
wheel_sensitivity *= 10;
+ if (mouse->modifiers() & Qt::KeyboardModifier::ControlModifier) {
+ // Ctrl+Shift is a super-modifier, meant only for things like “go back two hours”.
+ scrub_sensitivity *= 100;
+ wheel_sensitivity *= 100;
+ }
}
if (mouse->modifiers() & Qt::KeyboardModifier::AltModifier) { // Note: Shift + Alt cancel each other out.
scrub_sensitivity /= 10;
if (wheel->modifiers() & Qt::KeyboardModifier::ShiftModifier) {
scrub_sensitivity *= 10;
wheel_sensitivity *= 10;
+ if (wheel->modifiers() & Qt::KeyboardModifier::ControlModifier) {
+ // Ctrl+Shift is a super-modifier, meant only for things like “go back two hours”.
+ scrub_sensitivity *= 100;
+ wheel_sensitivity *= 100;
+ }
}
if (wheel->modifiers() & Qt::KeyboardModifier::AltModifier) { // Note: Shift + Alt cancel each other out.
scrub_sensitivity /= 10;