1 /* SPDX-FileCopyrightText: 2004 Blender Authors
3 * SPDX-License-Identifier: GPL-2.0-or-later */
11 struct EQCurveMappingData
;
16 struct SequenceModifierData
;
17 struct SoundModifierWorkerInfo
;
19 struct BlendDataReader
;
21 struct SoundEqualizerModifierData
;
23 #define SOUND_EQUALIZER_DEFAULT_MIN_FREQ 30.0
24 #define SOUND_EQUALIZER_DEFAULT_MAX_FREQ 20000.0
25 #define SOUND_EQUALIZER_DEFAULT_MAX_DB 35.0
26 #define SOUND_EQUALIZER_SIZE_CONVERSION 2048
27 #define SOUND_EQUALIZER_SIZE_DEFINITION 1000
29 void SEQ_sound_update_bounds_all(Scene
*scene
);
30 void SEQ_sound_update_bounds(Scene
*scene
, Strip
*strip
);
31 void SEQ_sound_update(Scene
*scene
, bSound
*sound
);
32 void SEQ_sound_update_length(Main
*bmain
, Scene
*scene
);
33 float SEQ_sound_pitch_get(const Scene
*scene
, const Strip
*strip
);
34 EQCurveMappingData
*SEQ_sound_equalizer_add(SoundEqualizerModifierData
*semd
,
37 void SEQ_sound_blend_write(BlendWriter
*writer
, ListBase
*soundbase
);
38 void SEQ_sound_blend_read_data(BlendDataReader
*reader
, ListBase
*lb
);
40 void *SEQ_sound_modifier_recreator(Strip
*strip
, SequenceModifierData
*smd
, void *sound
);
42 void SEQ_sound_equalizermodifier_init_data(SequenceModifierData
*smd
);
43 void SEQ_sound_equalizermodifier_free(SequenceModifierData
*smd
);
44 void SEQ_sound_equalizermodifier_copy_data(SequenceModifierData
*target
,
45 SequenceModifierData
*smd
);
46 void *SEQ_sound_equalizermodifier_recreator(Strip
*strip
, SequenceModifierData
*smd
, void *sound
);
47 void SEQ_sound_equalizermodifier_set_graphs(SoundEqualizerModifierData
*semd
, int number
);
48 const SoundModifierWorkerInfo
*SEQ_sound_modifier_worker_info_get(int type
);
49 EQCurveMappingData
*SEQ_sound_equalizermodifier_add_graph(SoundEqualizerModifierData
*semd
,
52 void SEQ_sound_equalizermodifier_remove_graph(SoundEqualizerModifierData
*semd
,
53 EQCurveMappingData
*eqcmd
);
55 struct SoundModifierWorkerInfo
{
57 void *(*recreator
)(Strip
*strip
, SequenceModifierData
*smd
, void *sound
);