Welcome to mirror list, hosted at ThFree Co, Russian Federation.

git.blender.org/blender.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMarcos Perez <pistolario>2022-05-19 21:58:55 +0300
committerRichard Antalik <richardantalik@gmail.com>2022-05-19 22:05:23 +0300
commit89106a695afbba3d94b70645b4caaa22c2b58bc3 (patch)
treee9a57372a31e2a17c9b5ff2399d58b2c991b0909 /source/blender/makesrna
parent9e9895b055d490b0793bc7c5662f50abafce9a24 (diff)
VSE: Display sound sample rate and channels
Display information about sound media in "Source" category in side panel similar to movie resolution and framerate. The specs are stored in the `Sequence` struct, and are extracted at the moment of struct creation. If the "source file" is changed, the specs change also. Reviewed By: ISS Differential Revision: https://developer.blender.org/D14565
Diffstat (limited to 'source/blender/makesrna')
-rw-r--r--source/blender/makesrna/intern/rna_sound.c28
1 files changed, 28 insertions, 0 deletions
diff --git a/source/blender/makesrna/intern/rna_sound.c b/source/blender/makesrna/intern/rna_sound.c
index 3d51f80adde..2714b4157fd 100644
--- a/source/blender/makesrna/intern/rna_sound.c
+++ b/source/blender/makesrna/intern/rna_sound.c
@@ -12,6 +12,22 @@
#include "DNA_sound_types.h"
+#include "BKE_sound.h"
+
+/* Enumeration for Audio Channels, compatible with eSoundChannels */
+const EnumPropertyItem rna_enum_audio_channels_items[] = {
+ {SOUND_CHANNELS_INVALID, "INVALID", ICON_NONE, "Invalid", "Invalid"},
+ {SOUND_CHANNELS_MONO, "MONO", ICON_NONE, "Mono", "Mono"},
+ {SOUND_CHANNELS_STEREO, "STEREO", ICON_NONE, "Stereo", "Stereo"},
+ {SOUND_CHANNELS_STEREO_LFE, "STEREO_LFE", ICON_NONE, "Stereo LFE", "Stereo FX"},
+ {SOUND_CHANNELS_SURROUND4, "CHANNELS_4", ICON_NONE, "4 Channels", "4 Channels"},
+ {SOUND_CHANNELS_SURROUND5, "CHANNELS_5", ICON_NONE, "5 Channels", "5 Channels"},
+ {SOUND_CHANNELS_SURROUND51, "SURROUND_51", ICON_NONE, "5.1 Surround", "5.1 Surround"},
+ {SOUND_CHANNELS_SURROUND61, "SURROUND_61", ICON_NONE, "6.1 Surround", "6.1 Surround"},
+ {SOUND_CHANNELS_SURROUND71, "SURROUND_71", ICON_NONE, "7.1 Surround", "7.1 Surround"},
+ {0, NULL, 0, NULL, NULL},
+};
+
#ifdef RNA_RUNTIME
# include "BKE_context.h"
@@ -70,6 +86,18 @@ static void rna_def_sound(BlenderRNA *brna)
"If the file contains multiple audio channels they are rendered to a single one");
RNA_def_property_update(prop, 0, "rna_Sound_update");
+ prop = RNA_def_property(srna, "samplerate", PROP_INT, PROP_NONE);
+ RNA_def_property_int_sdna(prop, NULL, "samplerate");
+ RNA_def_property_clear_flag(prop, PROP_EDITABLE);
+ RNA_def_property_ui_text(prop, "Samplerate", "Samplerate of the audio in Hz");
+
+ prop = RNA_def_property(srna, "channels", PROP_ENUM, PROP_NONE);
+ RNA_def_property_enum_sdna(prop, NULL, "audio_channels");
+ RNA_def_property_enum_items(prop, rna_enum_audio_channels_items);
+ RNA_def_property_enum_default(prop, SOUND_CHANNELS_INVALID);
+ RNA_def_property_clear_flag(prop, PROP_EDITABLE);
+ RNA_def_property_ui_text(prop, "Audio channels", "Definition of audio channels");
+
RNA_api_sound(srna);
}