diff options
Diffstat (limited to 'source/blender/editors/space_sequencer/sequencer_preview.c')
-rw-r--r-- | source/blender/editors/space_sequencer/sequencer_preview.c | 24 |
1 files changed, 12 insertions, 12 deletions
diff --git a/source/blender/editors/space_sequencer/sequencer_preview.c b/source/blender/editors/space_sequencer/sequencer_preview.c index 3f908dc7096..c58c05b67c0 100644 --- a/source/blender/editors/space_sequencer/sequencer_preview.c +++ b/source/blender/editors/space_sequencer/sequencer_preview.c @@ -80,11 +80,11 @@ static void preview_startjob(void *data, short *stop, short *do_update, float *p BLI_mutex_lock(pj->mutex); previewjb = pj->previews.first; BLI_mutex_unlock(pj->mutex); - + while (previewjb) { PreviewJobAudio *preview_next; bSound *sound = previewjb->sound; - + BKE_sound_read_waveform(sound, stop); if (*stop || G.is_break) { @@ -98,12 +98,12 @@ static void preview_startjob(void *data, short *stop, short *do_update, float *p BLI_spin_lock(sound->spinlock); sound->flags &= ~SOUND_FLAGS_WAVEFORM_LOADING; BLI_spin_unlock(sound->spinlock); - + BLI_mutex_lock(pj->mutex); previewjb = previewjb->next; BLI_mutex_unlock(pj->mutex); } - + BLI_mutex_lock(pj->mutex); BLI_freelistN(&pj->previews); pj->total = 0; @@ -111,12 +111,12 @@ static void preview_startjob(void *data, short *stop, short *do_update, float *p BLI_mutex_unlock(pj->mutex); break; } - + BLI_mutex_lock(pj->mutex); preview_next = previewjb->next; BLI_freelinkN(&pj->previews, previewjb); previewjb = preview_next; - pj->processed++; + pj->processed++; *progress = (pj->total > 0) ? (float)pj->processed / (float)pj->total : 1.0f; *do_update = true; BLI_mutex_unlock(pj->mutex); @@ -145,19 +145,19 @@ void sequencer_preview_add_sound(const bContext *C, Sequence *seq) if (!pj) { pj = MEM_callocN(sizeof(PreviewJob), "preview rebuild job"); - + pj->mutex = BLI_mutex_alloc(); pj->scene = CTX_data_scene(C); - + WM_jobs_customdata_set(wm_job, pj, free_preview_job); WM_jobs_timer(wm_job, 0.1, NC_SCENE | ND_SEQUENCER, NC_SCENE | ND_SEQUENCER); WM_jobs_callbacks(wm_job, preview_startjob, NULL, NULL, preview_endjob); } - + /* attempt to lock mutex of job here */ - + audiojob->sound = seq->sound; - + BLI_mutex_lock(pj->mutex); BLI_addtail(&pj->previews, audiojob); pj->total++; @@ -168,5 +168,5 @@ void sequencer_preview_add_sound(const bContext *C, Sequence *seq) WM_jobs_start(CTX_wm_manager(C), wm_job); } - ED_area_tag_redraw(sa); + ED_area_tag_redraw(sa); } |