From a0286f42f91b3001486abb8999911ebac7560491 Mon Sep 17 00:00:00 2001 From: Bastien Montagne Date: Thu, 7 Nov 2013 13:32:32 +0000 Subject: "Render Audio" cleanup: * Removed audio-only options from ffmpeg render settings (added some versionning code too)! * Moved the Mixdon button from the Scene->Audio pannel to the Render->Render panel. --- release/scripts/startup/bl_ui/properties_render.py | 6 ++- release/scripts/startup/bl_ui/properties_scene.py | 2 - source/blender/blenkernel/BKE_writeffmpeg.h | 47 ++++++++++++---------- source/blender/blenkernel/intern/writeffmpeg.c | 16 -------- source/blender/blenloader/CMakeLists.txt | 4 ++ source/blender/blenloader/SConscript | 3 ++ source/blender/blenloader/intern/readfile.c | 10 +++++ source/blender/makesrna/intern/rna_scene.c | 2 - 8 files changed, 46 insertions(+), 44 deletions(-) diff --git a/release/scripts/startup/bl_ui/properties_render.py b/release/scripts/startup/bl_ui/properties_render.py index 7b09fd6ab16..5061e534c9b 100644 --- a/release/scripts/startup/bl_ui/properties_render.py +++ b/release/scripts/startup/bl_ui/properties_render.py @@ -67,9 +67,11 @@ class RENDER_PT_render(RenderButtonsPanel, Panel): row = layout.row(align=True) row.operator("render.render", text="Render", icon='RENDER_STILL') row.operator("render.render", text="Animation", icon='RENDER_ANIMATION').animation = True - row.operator("render.play_rendered_anim", text="Play", icon='PLAY') + row.operator("sound.mixdown", text="Audio", icon='PLAY_AUDIO') - layout.prop(rd, "display_mode", text="Display") + split = layout.split(1 / 3) + split.operator("render.play_rendered_anim", text="Play", icon='PLAY') + split.prop(rd, "display_mode", text="Display") class RENDER_PT_dimensions(RenderButtonsPanel, Panel): diff --git a/release/scripts/startup/bl_ui/properties_scene.py b/release/scripts/startup/bl_ui/properties_scene.py index 5e9cbbda21f..91a5abd0ad0 100644 --- a/release/scripts/startup/bl_ui/properties_scene.py +++ b/release/scripts/startup/bl_ui/properties_scene.py @@ -227,8 +227,6 @@ class SCENE_PT_audio(SceneButtonsPanel, Panel): col.prop(ffmpeg, "audio_channels", text="") col.prop(ffmpeg, "audio_mixrate", text="Rate") - layout.operator("sound.mixdown") - class SCENE_PT_physics(SceneButtonsPanel, Panel): bl_label = "Gravity" diff --git a/source/blender/blenkernel/BKE_writeffmpeg.h b/source/blender/blenkernel/BKE_writeffmpeg.h index 8a11d48d063..347c8b60532 100644 --- a/source/blender/blenkernel/BKE_writeffmpeg.h +++ b/source/blender/blenkernel/BKE_writeffmpeg.h @@ -38,31 +38,34 @@ extern "C" { #endif -#define FFMPEG_MPEG1 0 -#define FFMPEG_MPEG2 1 -#define FFMPEG_MPEG4 2 -#define FFMPEG_AVI 3 -#define FFMPEG_MOV 4 -#define FFMPEG_DV 5 -#define FFMPEG_H264 6 -#define FFMPEG_XVID 7 -#define FFMPEG_FLV 8 -#define FFMPEG_MKV 9 -#define FFMPEG_OGG 10 -#define FFMPEG_WAV 11 -#define FFMPEG_MP3 12 +enum { + FFMPEG_MPEG1 = 0, + FFMPEG_MPEG2 = 1, + FFMPEG_MPEG4 = 2, + FFMPEG_AVI = 3, + FFMPEG_MOV = 4, + FFMPEG_DV = 5, + FFMPEG_H264 = 6, + FFMPEG_XVID = 7, + FFMPEG_FLV = 8, + FFMPEG_MKV = 9, + FFMPEG_OGG = 10, + FFMPEG_INVALID = 11, +}; -#define FFMPEG_PRESET_NONE 0 -#define FFMPEG_PRESET_DVD 1 -#define FFMPEG_PRESET_SVCD 2 -#define FFMPEG_PRESET_VCD 3 -#define FFMPEG_PRESET_DV 4 -#define FFMPEG_PRESET_H264 5 -#define FFMPEG_PRESET_THEORA 6 -#define FFMPEG_PRESET_XVID 7 +enum { + FFMPEG_PRESET_NONE = 0, + FFMPEG_PRESET_DVD = 1, + FFMPEG_PRESET_SVCD = 2, + FFMPEG_PRESET_VCD = 3, + FFMPEG_PRESET_DV = 4, + FFMPEG_PRESET_H264 = 5, + FFMPEG_PRESET_THEORA = 6, + FFMPEG_PRESET_XVID = 7, +}; struct IDProperty; -struct RenderData; +struct RenderData; struct ReportList; struct Scene; diff --git a/source/blender/blenkernel/intern/writeffmpeg.c b/source/blender/blenkernel/intern/writeffmpeg.c index 5507baecd76..bcf5e712eff 100644 --- a/source/blender/blenkernel/intern/writeffmpeg.c +++ b/source/blender/blenkernel/intern/writeffmpeg.c @@ -298,16 +298,6 @@ static const char **get_file_extensions(int format) static const char *rv[] = { ".ogv", ".ogg", NULL }; return rv; } - case FFMPEG_MP3: - { - static const char *rv[] = { ".mp3", NULL }; - return rv; - } - case FFMPEG_WAV: - { - static const char *rv[] = { ".wav", NULL }; - return rv; - } default: return NULL; } @@ -875,12 +865,6 @@ static int start_ffmpeg_impl(struct RenderData *rd, int rectx, int recty, Report case FFMPEG_FLV: fmt->video_codec = CODEC_ID_FLV1; break; - case FFMPEG_MP3: - fmt->audio_codec = CODEC_ID_MP3; - /* fall-through */ - case FFMPEG_WAV: - fmt->video_codec = CODEC_ID_NONE; - break; case FFMPEG_MPEG4: default: fmt->video_codec = CODEC_ID_MPEG4; diff --git a/source/blender/blenloader/CMakeLists.txt b/source/blender/blenloader/CMakeLists.txt index f865962bac9..24b8df78258 100644 --- a/source/blender/blenloader/CMakeLists.txt +++ b/source/blender/blenloader/CMakeLists.txt @@ -66,4 +66,8 @@ if(WITH_INTERNATIONAL) add_definitions(-DWITH_INTERNATIONAL) endif() +if(WITH_CODEC_FFMPEG) + add_definitions(-DWITH_FFMPEG) +endif() + blender_add_lib(bf_blenloader "${SRC}" "${INC}" "${INC_SYS}") diff --git a/source/blender/blenloader/SConscript b/source/blender/blenloader/SConscript index 3882cc1029a..bd002e59fa4 100644 --- a/source/blender/blenloader/SConscript +++ b/source/blender/blenloader/SConscript @@ -51,6 +51,9 @@ defs = [] if env['WITH_BF_INTERNATIONAL']: defs.append('WITH_INTERNATIONAL') +if env['WITH_BF_FFMPEG']: + defs.append('WITH_FFMPEG') + if env['OURPLATFORM'] in ('win32-vc', 'win64-vc'): env.BlenderLib('bf_blenloader', sources, incs, defs, libtype=['core', 'player'], priority = [167, 30]) #, cc_compileflags=['/WX']) else: diff --git a/source/blender/blenloader/intern/readfile.c b/source/blender/blenloader/intern/readfile.c index e4b06aeaece..910ff1d9ebe 100644 --- a/source/blender/blenloader/intern/readfile.c +++ b/source/blender/blenloader/intern/readfile.c @@ -153,6 +153,7 @@ #include "BKE_tracking.h" #include "BKE_treehash.h" #include "BKE_sound.h" +#include "BKE_writeffmpeg.h" #include "IMB_imbuf.h" // for proxy / timecode versioning stuff @@ -9821,6 +9822,15 @@ static void do_versions(FileData *fd, Library *lib, Main *main) if (scene->toolsettings->snap_node_mode == SCE_SNAP_MODE_INCREMENT) scene->toolsettings->snap_node_mode = SCE_SNAP_MODE_GRID; } + + /* Update for removed "sound-only" option in FFMPEG export settings. */ +#ifdef WITH_FFMPEG + for (scene = main->scene.first; scene; scene = scene->id.next) { + if (scene->r.ffcodecdata.type >= FFMPEG_INVALID) { + scene->r.ffcodecdata.type = FFMPEG_AVI; + } + } +#endif } /* WATCH IT!!!: pointers from libdata have not been converted yet here! */ diff --git a/source/blender/makesrna/intern/rna_scene.c b/source/blender/makesrna/intern/rna_scene.c index d31a29623a1..2a68f0afc35 100644 --- a/source/blender/makesrna/intern/rna_scene.c +++ b/source/blender/makesrna/intern/rna_scene.c @@ -3776,8 +3776,6 @@ static void rna_def_scene_ffmpeg_settings(BlenderRNA *brna) {FFMPEG_OGG, "OGG", 0, "Ogg", ""}, {FFMPEG_MKV, "MKV", 0, "Matroska", ""}, {FFMPEG_FLV, "FLASH", 0, "Flash", ""}, - {FFMPEG_WAV, "WAV", 0, "Wav", ""}, - {FFMPEG_MP3, "MP3", 0, "Mp3", ""}, {0, NULL, 0, NULL, NULL} }; -- cgit v1.2.3