Commit: 8528d76dadd03680ba4a7b24ed8516bad4501b5f Author: Jörg Müller Date: Thu Nov 13 00:33:28 2014 +1300 Branches: master https://developer.blender.org/rB8528d76dadd03680ba4a7b24ed8516bad4501b5f
Audaspace: external audaspace library update. =================================================================== M intern/audaspace/intern/AUD_PyInit.cpp M source/blender/blenkernel/BKE_sound.h M source/blender/blenkernel/intern/sound.c M source/blender/blenkernel/intern/writeffmpeg.c M source/blender/makesrna/intern/CMakeLists.txt M source/gameengine/BlenderRoutines/BL_KetsjiEmbedStart.cpp M source/gameengine/Converter/KX_ConvertActuators.cpp M source/gameengine/Ketsji/KX_SoundActuator.cpp =================================================================== diff --git a/intern/audaspace/intern/AUD_PyInit.cpp b/intern/audaspace/intern/AUD_PyInit.cpp index 8802f39..2575ec7 100644 --- a/intern/audaspace/intern/AUD_PyInit.cpp +++ b/intern/audaspace/intern/AUD_PyInit.cpp @@ -47,7 +47,7 @@ static PyObject *AUD_getSoundFromPointer(PyObject *self, PyObject *args) if (sound) { Sound *obj = (Sound *)Sound_empty(); if (obj) { - obj->sound = AUD_copy(sound); + obj->sound = AUD_Sound_copy(sound); return (PyObject *) obj; } } diff --git a/source/blender/blenkernel/BKE_sound.h b/source/blender/blenkernel/BKE_sound.h index 7d2d23e..cb71b93 100644 --- a/source/blender/blenkernel/BKE_sound.h +++ b/source/blender/blenkernel/BKE_sound.h @@ -53,6 +53,8 @@ typedef struct SoundWaveform { void BKE_sound_init_once(void); void BKE_sound_exit_once(void); +void* BKE_sound_get_device(void); + void BKE_sound_init(struct Main *main); void BKE_sound_init_main(struct Main *bmain); diff --git a/source/blender/blenkernel/intern/sound.c b/source/blender/blenkernel/intern/sound.c index 0eaae45..a7346c8 100644 --- a/source/blender/blenkernel/intern/sound.c +++ b/source/blender/blenkernel/intern/sound.c @@ -109,13 +109,13 @@ void BKE_sound_free(bSound *sound) #ifdef WITH_AUDASPACE if (sound->handle) { - AUD_unload(sound->handle); + AUD_Sound_free(sound->handle); sound->handle = NULL; sound->playback_handle = NULL; } if (sound->cache) { - AUD_unload(sound->cache); + AUD_Sound_free(sound->cache); sound->cache = NULL; } @@ -148,7 +148,7 @@ static void sound_sync_callback(void *data, int mode, float time) else BKE_sound_stop_scene(scene); if (scene->playback_handle) - AUD_seek(scene->playback_handle, time); + AUD_Handle_setPosition(scene->playback_handle, time); } scene = scene->id.next; } @@ -180,6 +180,13 @@ void BKE_sound_init_once(void) atexit(BKE_sound_exit_once); } +static AUD_Device* sound_device; + +void* sound_get_device(void) +{ + return sound_device; +} + void BKE_sound_init(struct Main *bmain) { AUD_DeviceSpecs specs; @@ -223,8 +230,8 @@ void BKE_sound_init(struct Main *bmain) if (specs.channels <= AUD_CHANNELS_INVALID) specs.channels = AUD_CHANNELS_STEREO; - if (!AUD_init(device_name, "Blender", specs, buffersize)) - AUD_init("Null", "Blender", specs, buffersize); + if (!(sound_device = AUD_init(device_name, specs, buffersize, "Blender"))) + sound_device = AUD_init("Null", specs, buffersize, "Blender"); BKE_sound_init_main(bmain); } @@ -240,12 +247,14 @@ void BKE_sound_init_main(struct Main *bmain) void BKE_sound_exit(void) { - AUD_exit(); + AUD_exit(sound_device); + sound_device = NULL; } void BKE_sound_exit_once(void) { - AUD_exit(); + AUD_exit(sound_device); + sound_device = NULL; AUD_exitOnce(); } @@ -303,9 +312,9 @@ void BKE_sound_cache(bSound *sound) { sound->flags |= SOUND_FLAGS_CACHING; if (sound->cache) - AUD_unload(sound->cache); + AUD_Sound_free(sound->cache); - sound->cache = AUD_bufferSound(sound->handle); + sound->cache = AUD_Sound_cache(sound->handle); if (sound->cache) sound->playback_handle = sound->cache; else @@ -316,7 +325,7 @@ void BKE_sound_delete_cache(bSound *sound) { sound->flags &= ~SOUND_FLAGS_CACHING; if (sound->cache) { - AUD_unload(sound->cache); + AUD_Sound_free(sound->cache); sound->cache = NULL; sound->playback_handle = sound->handle; } @@ -326,12 +335,12 @@ void BKE_sound_load(struct Main *bmain, bSound *sound) { if (sound) { if (sound->cache) { - AUD_unload(sound->cache); + AUD_Sound_free(sound->cache); sound->cache = NULL; } if (sound->handle) { - AUD_unload(sound->handle); + AUD_Sound_free(sound->handle); sound->handle = NULL; sound->playback_handle = NULL; } @@ -356,10 +365,10 @@ void BKE_sound_load(struct Main *bmain, bSound *sound) /* but we need a packed file then */ if (pf) - sound->handle = AUD_loadBuffer((unsigned char *) pf->data, pf->size); + sound->handle = AUD_Sound_bufferFile((unsigned char *) pf->data, pf->size); /* or else load it from disk */ else - sound->handle = AUD_load(fullpath); + sound->handle = AUD_Sound_file(fullpath); } /* XXX unused currently */ #if 0 @@ -376,13 +385,13 @@ void BKE_sound_load(struct Main *bmain, bSound *sound) } #endif if (sound->flags & SOUND_FLAGS_MONO) { - void *handle = AUD_monoSound(sound->handle); - AUD_unload(sound->handle); + void *handle = AUD_Sound_rechannel(sound->handle, AUD_CHANNELS_MONO); + AUD_Sound_free(sound->handle); sound->handle = handle; } if (sound->flags & SOUND_FLAGS_CACHING) { - sound->cache = AUD_bufferSound(sound->handle); + sound->cache = AUD_Sound_cache(sound->handle); } if (sound->cache) @@ -405,9 +414,10 @@ void BKE_sound_create_scene(struct Scene *scene) if (scene->r.frs_sec_base == 0) scene->r.frs_sec_base = 1; - scene->sound_scene = AUD_createSequencer(FPS, scene->audio.flag & AUDIO_MUTE); - AUD_updateSequencerData(scene->sound_scene, scene->audio.speed_of_sound, - scene->audio.doppler_factor, scene->audio.distance_model); + scene->sound_scene = AUD_Sequence_create(FPS, scene->audio.flag & AUDIO_MUTE); + AUD_Sequence_setSpeedOfSound(scene->sound_scene, scene->audio.speed_of_sound); + AUD_Sequence_setDopplerFactor(scene->sound_scene, scene->audio.doppler_factor); + AUD_Sequence_setDistanceModel(scene->sound_scene, scene->audio.distance_model); scene->playback_handle = NULL; scene->sound_scrub_handle = NULL; scene->speaker_handles = NULL; @@ -416,11 +426,11 @@ void BKE_sound_create_scene(struct Scene *scene) void BKE_sound_destroy_scene(struct Scene *scene) { if (scene->playback_handle) - AUD_stop(scene->playback_handle); + AUD_Handle_stop(scene->playback_handle); if (scene->sound_scrub_handle) - AUD_stop(scene->sound_scrub_handle); + AUD_Handle_stop(scene->sound_scrub_handle); if (scene->sound_scene) - AUD_destroySequencer(scene->sound_scene); + AUD_Sequence_free(scene->sound_scene); if (scene->speaker_handles) AUD_destroySet(scene->speaker_handles); } @@ -428,21 +438,22 @@ void BKE_sound_destroy_scene(struct Scene *scene) void BKE_sound_mute_scene(struct Scene *scene, int muted) { if (scene->sound_scene) - AUD_setSequencerMuted(scene->sound_scene, muted); + AUD_Sequence_setMuted(scene->sound_scene, muted); } void BKE_sound_update_fps(struct Scene *scene) { if (scene->sound_scene) - AUD_setSequencerFPS(scene->sound_scene, FPS); + AUD_Sequence_setFPS(scene->sound_scene, FPS); BKE_sequencer_refresh_sound_length(scene); } void BKE_sound_update_scene_listener(struct Scene *scene) { - AUD_updateSequencerData(scene->sound_scene, scene->audio.speed_of_sound, - scene->audio.doppler_factor, scene->audio.distance_model); + AUD_Sequence_setSpeedOfSound(scene->sound_scene, scene->audio.speed_of_sound); + AUD_Sequence_setDopplerFactor(scene->sound_scene, scene->audio.doppler_factor); + AUD_Sequence_setDistanceModel(scene->sound_scene, scene->audio.distance_model); } void *BKE_sound_scene_add_scene_sound(struct Scene *scene, struct Sequence *sequence, @@ -450,7 +461,7 @@ void *BKE_sound_scene_add_scene_sound(struct Scene *scene, struct Sequence *sequ { if (scene != sequence->scene) { const double fps = FPS; - return AUD_addSequence(scene->sound_scene, sequence->scene->sound_scene, + return AUD_Sequence_add(scene->sound_scene, sequence->scene->sound_scene, startframe / fps, endframe / fps, frameskip / fps); } return NULL; @@ -466,12 +477,12 @@ void *BKE_sound_scene_add_scene_sound_defaults(struct Scene *scene, struct Seque void *BKE_sound_add_scene_sound(struct Scene *scene, struct Sequence *sequence, int startframe, int endframe, int frameskip) { const double fps = FPS; - void *handle = AUD_addSequence(scene->sound_scene, sequence->sound->playback_handle, + void *handle = AUD_Sequence_add(scene->sound_scene, sequence->sound->playback_handle, startframe / fps, endframe / fps, frameskip / fps); - AUD_muteSequence(handle, (sequence->flag & SEQ_MUTE) != 0); - AUD_setSequenceAnimData(handle, AUD_AP_VOLUME, CFRA, &sequence->volume, 0); - AUD_setSequenceAnimData(handle, AUD_AP_PITCH, CFRA, &sequence->pitch, 0); - AUD_setSequenceAnimData(handle, AUD_AP_PANNING, CFRA, &sequence->pan, 0); + AUD_SequenceEntry_setMuted(handle, (sequence->flag & SEQ_MUTE) != 0); + AUD_SequenceEntry_setAnimationData(handle, AUD_AP_VOLUME, CFRA, &sequence->volume, 0); + AUD_SequenceEntry_setAnimationData(handle, AUD_AP_PITCH, CFRA, &sequence->pitch, 0); + AUD_SequenceEntry_setAnimationData(handle, AUD_AP_PANNING, CFRA, &sequence->pan, 0); return handle; } @@ -484,18 +495,18 @@ void *BKE_sound_add_scene_sound_defaults(struct Scene *scene, struct Sequence *s void BKE_sound_remove_scene_sound(struct Scene *scene, void *handle) { - AUD_removeSequence(scene->sound_scene, handle); + AUD_Sequence_remove(scene->sound_scene, handle); } void BKE_sound_mute_scene_sound(void *handle, char mute) { - AUD_muteSequence(handle, mute); + AUD_SequenceEntry_setMuted(handle, mute); } void BKE_sound_move_scene_sound(struct Scene *scene, void *handle, int startframe, int endframe, int frameskip) { const double fps = FPS; - AUD_moveSequence(handle, startframe / fps, endframe / fps, frameskip / fps); + AUD_SequenceEntry_move(handle, startframe / fps, endframe / fps, frameskip / fps); } void BKE_sound_move_scene_sound_defaults(struct Scene *scene, struct Sequence *sequence) @@ -509,7 +520,7 @@ void BKE_sound_move_scene_sound_defaults(struct Scene *scene, struct Sequence *s void BKE_sound_update_scene_sound(void *handle, bSound *sound) { - AUD_updateSequenceSound(handle, sound->playback_handle); + AUD_SequenceEntry_setSound(handle, sound->playback_handle); } void BKE_sound_set_cfra(int cfra) @@ -519,23 +530,23 @@ void BKE_sound_set_cfra(int cfra) void BKE_sound_set_scene_volume(struct Scene *scene, float volume) { - AUD_setSequencerAnimData(scene->sound_scene, AUD_AP_VOLUME, CFRA, &volume, + AUD_Sequence_setAnimationData(scene->sound_scene, AUD_AP_VOLUME, CFRA, &volume, ( @@ Diff output truncated at 10240 characters. @@ _______________________________________________ Bf-blender-cvs mailing list Bf-blender-cvs@blender.org http://lists.blender.org/mailman/listinfo/bf-blender-cvs