@@ -41,6 +41,7 @@ void Clip::init_settings()
4141 scale = SCALE_FIT;
4242 anchor = ANCHOR_CANVAS;
4343 display = FRAME_DISPLAY_NONE;
44+ mixing = VOLUME_MIX_NONE;
4445 waveform = false ;
4546 previous_properties = " " ;
4647
@@ -694,6 +695,7 @@ string Clip::PropertiesJSON(int64_t requested_frame) {
694695 root[" gravity" ] = add_property_json (" Gravity" , gravity, " int" , " " , NULL , 0 , 8 , false , requested_frame);
695696 root[" scale" ] = add_property_json (" Scale" , scale, " int" , " " , NULL , 0 , 3 , false , requested_frame);
696697 root[" display" ] = add_property_json (" Frame Number" , display, " int" , " " , NULL , 0 , 3 , false , requested_frame);
698+ root[" mixing" ] = add_property_json (" Volume Mixing" , mixing, " int" , " " , NULL , 0 , 2 , false , requested_frame);
697699 root[" waveform" ] = add_property_json (" Waveform" , waveform, " int" , " " , NULL , 0 , 1 , false , requested_frame);
698700
699701 // Add gravity choices (dropdown style)
@@ -719,6 +721,11 @@ string Clip::PropertiesJSON(int64_t requested_frame) {
719721 root[" display" ][" choices" ].append (add_property_choice_json (" Timeline" , FRAME_DISPLAY_TIMELINE, display));
720722 root[" display" ][" choices" ].append (add_property_choice_json (" Both" , FRAME_DISPLAY_BOTH, display));
721723
724+ // Add volume mixing choices (dropdown style)
725+ root[" mixing" ][" choices" ].append (add_property_choice_json (" None" , VOLUME_MIX_NONE, mixing));
726+ root[" mixing" ][" choices" ].append (add_property_choice_json (" Average" , VOLUME_MIX_AVERAGE, mixing));
727+ root[" mixing" ][" choices" ].append (add_property_choice_json (" Reduce" , VOLUME_MIX_REDUCE, mixing));
728+
722729 // Add waveform choices (dropdown style)
723730 root[" waveform" ][" choices" ].append (add_property_choice_json (" Yes" , true , waveform));
724731 root[" waveform" ][" choices" ].append (add_property_choice_json (" No" , false , waveform));
@@ -758,6 +765,7 @@ Json::Value Clip::JsonValue() {
758765 root[" scale" ] = scale;
759766 root[" anchor" ] = anchor;
760767 root[" display" ] = display;
768+ root[" mixing" ] = mixing;
761769 root[" waveform" ] = waveform;
762770 root[" scale_x" ] = scale_x.JsonValue ();
763771 root[" scale_y" ] = scale_y.JsonValue ();
@@ -844,6 +852,8 @@ void Clip::SetJsonValue(Json::Value root) {
844852 anchor = (AnchorType) root[" anchor" ].asInt ();
845853 if (!root[" display" ].isNull ())
846854 display = (FrameDisplayType) root[" display" ].asInt ();
855+ if (!root[" mixing" ].isNull ())
856+ mixing = (VolumeMixType) root[" mixing" ].asInt ();
847857 if (!root[" waveform" ].isNull ())
848858 waveform = root[" waveform" ].asBool ();
849859 if (!root[" scale_x" ].isNull ())
0 commit comments