Changeset View
Changeset View
Standalone View
Standalone View
source/blender/blenkernel/intern/sequencer.c
| Show First 20 Lines • Show All 4,927 Lines • ▼ Show 20 Lines | static bool sequencer_refresh_sound_length_recursive(Main *bmain, Scene *scene, ListBase *seqbase) | ||||
| for (seq = seqbase->first; seq; seq = seq->next) { | for (seq = seqbase->first; seq; seq = seq->next) { | ||||
| if (seq->type == SEQ_TYPE_META) { | if (seq->type == SEQ_TYPE_META) { | ||||
| if (sequencer_refresh_sound_length_recursive(bmain, scene, &seq->seqbase)) { | if (sequencer_refresh_sound_length_recursive(bmain, scene, &seq->seqbase)) { | ||||
| BKE_sequence_calc(scene, seq); | BKE_sequence_calc(scene, seq); | ||||
| changed = true; | changed = true; | ||||
| } | } | ||||
| } | } | ||||
| else if (seq->type == SEQ_TYPE_SOUND_RAM) { | else if (seq->type == SEQ_TYPE_SOUND_RAM && seq->sound) { | ||||
| const float length = BKE_sound_get_length(bmain, seq->sound); | const float length = BKE_sound_get_length(bmain, seq->sound); | ||||
| int old = seq->len; | int old = seq->len; | ||||
| float fac; | float fac; | ||||
| seq->len = (int)ceil((double)length * FPS); | seq->len = (int)ceil((double)length * FPS); | ||||
| fac = (float)seq->len / (float)old; | fac = (float)seq->len / (float)old; | ||||
| old = seq->startofs; | old = seq->startofs; | ||||
| seq->startofs *= fac; | seq->startofs *= fac; | ||||
| ▲ Show 20 Lines • Show All 1,130 Lines • Show Last 20 Lines | |||||