Changeset View
Changeset View
Standalone View
Standalone View
source/blender/blenkernel/intern/sequencer.c
| Show First 20 Lines • Show All 4,914 Lines • ▼ Show 20 Lines | for (seq = seqbasep->first; seq; seq = seq->next) { | ||||
| if (seq->tmp) { | if (seq->tmp) { | ||||
| BKE_sequence_calc_disp(scene, seq); /* corrects dummy startdisp/enddisp values */ | BKE_sequence_calc_disp(scene, seq); /* corrects dummy startdisp/enddisp values */ | ||||
| } | } | ||||
| } | } | ||||
| return tot_ofs; | return tot_ofs; | ||||
| } | } | ||||
| bool BKE_sequence_base_shuffle_time(ListBase *seqbasep, Scene *evil_scene) | bool BKE_sequence_base_shuffle_time(ListBase *seqbasep, | ||||
| Scene *evil_scene, | |||||
| ListBase *markers, | |||||
| const bool use_sync_markers) | |||||
| { | { | ||||
| /* note: seq->tmp is used to tag strips to move */ | /* note: seq->tmp is used to tag strips to move */ | ||||
| Sequence *seq; | Sequence *seq; | ||||
| int offset_l = shuffle_seq_time_offset(evil_scene, seqbasep, 'L'); | int offset_l = shuffle_seq_time_offset(evil_scene, seqbasep, 'L'); | ||||
| int offset_r = shuffle_seq_time_offset(evil_scene, seqbasep, 'R'); | int offset_r = shuffle_seq_time_offset(evil_scene, seqbasep, 'R'); | ||||
| int offset = (-offset_l < offset_r) ? offset_l : offset_r; | int offset = (-offset_l < offset_r) ? offset_l : offset_r; | ||||
| if (offset) { | if (offset) { | ||||
| for (seq = seqbasep->first; seq; seq = seq->next) { | for (seq = seqbasep->first; seq; seq = seq->next) { | ||||
| if (seq->tmp) { | if (seq->tmp) { | ||||
| BKE_sequence_translate(evil_scene, seq, offset); | BKE_sequence_translate(evil_scene, seq, offset); | ||||
| seq->flag &= ~SEQ_OVERLAP; | seq->flag &= ~SEQ_OVERLAP; | ||||
| } | } | ||||
| } | } | ||||
| if (use_sync_markers && !(evil_scene->toolsettings->lock_markers) && (markers != NULL)) { | |||||
| TimeMarker *marker; | |||||
| /* affect selected markers - it's unlikely that we will want to affect all in this way? */ | |||||
ISS: Yes, it's only selected markers.
Not very documented... | |||||
| for (marker = markers->first; marker; marker = marker->next) { | |||||
| if (marker->flag & SELECT) { | |||||
| marker->frame += offset; | |||||
| } | |||||
| } | |||||
| } | |||||
| } | } | ||||
| return offset ? false : true; | return offset ? false : true; | ||||
| } | } | ||||
| /* Unlike _update_sound_ funcs, these ones take info from audaspace to update sequence length! */ | /* Unlike _update_sound_ funcs, these ones take info from audaspace to update sequence length! */ | ||||
| #ifdef WITH_AUDASPACE | #ifdef WITH_AUDASPACE | ||||
| static bool sequencer_refresh_sound_length_recursive(Main *bmain, Scene *scene, ListBase *seqbase) | static bool sequencer_refresh_sound_length_recursive(Main *bmain, Scene *scene, ListBase *seqbase) | ||||
| ▲ Show 20 Lines • Show All 1,152 Lines • Show Last 20 Lines | |||||
Yes, it's only selected markers.
Not very documented...