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:
authorJörg Müller <nexyon@gmail.com>2021-08-19 23:21:22 +0300
committerJörg Müller <nexyon@gmail.com>2021-09-08 22:18:08 +0300
commit8f785524ae6309c2bb949537b33146d67d69a149 (patch)
treec025864341280fa7fe066a9f72864729e8415b8a /source/blender/makesrna/intern/rna_sequencer.c
parent5bfc3a342170f961a5474687434e57b69b5ece2d (diff)
VSE: Adding a panning angle for multichannel audio.
The panning angle allows a more intuitive panning when the output is surround sound. It sets the angle on the horizontal plane around the listener. 0 degrees is to the front, negative values go to the left and positive ones to the right. +/-180 degrees is directly from the back. Technical detail: the panning value is linear with the panning angle with a factor of 90 degrees. For stereo this means that -1 is left and +1 right, since the speakers are exactly 90 degrees to either side. Differential Revision: https://developer.blender.org/D12275
Diffstat (limited to 'source/blender/makesrna/intern/rna_sequencer.c')
-rw-r--r--source/blender/makesrna/intern/rna_sequencer.c15
1 files changed, 14 insertions, 1 deletions
diff --git a/source/blender/makesrna/intern/rna_sequencer.c b/source/blender/makesrna/intern/rna_sequencer.c
index d9837f21833..cd87e4d10c1 100644
--- a/source/blender/makesrna/intern/rna_sequencer.c
+++ b/source/blender/makesrna/intern/rna_sequencer.c
@@ -845,6 +845,17 @@ static void rna_Sequence_audio_update(Main *UNUSED(bmain), Scene *scene, Pointer
DEG_id_tag_update(&scene->id, ID_RECALC_SEQUENCER_STRIPS);
}
+static void rna_Sequence_pan_range(
+ PointerRNA *ptr, float *min, float *max, float *softmin, float *softmax)
+{
+ Scene *scene = (Scene *)ptr->owner_id;
+
+ *min = -FLT_MAX;
+ *max = FLT_MAX;
+ *softmax = 1 + (int)(scene->r.ffcodecdata.audio_channels > 2);
+ *softmin = -*softmax;
+}
+
static int rna_Sequence_input_count_get(PointerRNA *ptr)
{
Sequence *seq = (Sequence *)(ptr->data);
@@ -2559,8 +2570,10 @@ static void rna_def_sound(BlenderRNA *brna)
prop = RNA_def_property(srna, "pan", PROP_FLOAT, PROP_NONE);
RNA_def_property_float_sdna(prop, NULL, "pan");
- RNA_def_property_range(prop, -2.0f, 2.0f);
+ RNA_def_property_range(prop, -FLT_MAX, FLT_MAX);
+ RNA_def_property_ui_range(prop, -2, 2, 1, 2);
RNA_def_property_ui_text(prop, "Pan", "Playback panning of the sound (only for Mono sources)");
+ RNA_def_property_float_funcs(prop, NULL, NULL, "rna_Sequence_pan_range");
RNA_def_property_update(prop, NC_SCENE | ND_SEQUENCER, "rna_Sequence_audio_update");
prop = RNA_def_property(srna, "show_waveform", PROP_BOOLEAN, PROP_NONE);