69 if (*stop ||
G.is_break) {
71 previewjb = previewjb->
next;
74 sound = previewjb->
sound;
82 previewjb = previewjb->
next;
95 preview_next = previewjb->
next;
97 previewjb = preview_next;
typedef float(TangentPoint)[2]
struct ScrArea * CTX_wm_area(const bContext *C)
struct Scene * CTX_data_scene(const bContext *C)
struct wmWindowManager * CTX_wm_manager(const bContext *C)
struct Main * CTX_data_main(const bContext *C)
struct wmWindow * CTX_wm_window(const bContext *C)
void BKE_sound_read_waveform(struct Main *bmain, struct bSound *sound, short *stop)
void BLI_freelinkN(struct ListBase *listbase, void *vlink) ATTR_NONNULL(1)
void void BLI_freelistN(struct ListBase *listbase) ATTR_NONNULL(1)
void BLI_addtail(struct ListBase *listbase, void *vlink) ATTR_NONNULL(1)
void BLI_mutex_free(ThreadMutex *mutex)
ThreadMutex * BLI_mutex_alloc(void)
void BLI_mutex_lock(ThreadMutex *mutex)
void BLI_mutex_unlock(ThreadMutex *mutex)
void BLI_spin_unlock(SpinLock *spin)
void BLI_spin_lock(SpinLock *spin)
pthread_mutex_t ThreadMutex
@ SOUND_TAGS_WAVEFORM_LOADING
void ED_area_tag_redraw(ScrArea *area)
Read Guarded memory(de)allocation.
@ WM_JOB_TYPE_SEQ_BUILD_PREVIEW
void(* MEM_freeN)(void *vmemh)
void *(* MEM_callocN)(size_t len, const char *str)
static void area(int d1, int d2, int e1, int e2, float weights[2])
static void preview_startjob(void *data, short *stop, short *do_update, float *progress)
static void preview_endjob(void *data)
struct PreviewJobAudio PreviewJobAudio
void sequencer_preview_add_sound(const bContext *C, Sequence *seq)
struct PreviewJob PreviewJob
static void free_preview_job(void *data)
struct PreviewJobAudio * next
struct PreviewJobAudio * prev
void WM_main_add_notifier(unsigned int type, void *reference)
bool WM_jobs_is_running(const wmJob *wm_job)
void WM_jobs_start(wmWindowManager *wm, wmJob *wm_job)
void WM_jobs_callbacks(wmJob *wm_job, wm_jobs_start_callback startjob, void(*initjob)(void *), void(*update)(void *), void(*endjob)(void *))
void * WM_jobs_customdata_get(wmJob *wm_job)
void WM_jobs_customdata_set(wmJob *wm_job, void *customdata, void(*free)(void *))
void WM_jobs_timer(wmJob *wm_job, double timestep, unsigned int note, unsigned int endnote)
wmJob * WM_jobs_get(wmWindowManager *wm, wmWindow *win, const void *owner, const char *name, int flag, int job_type)