@@ -542,7 +542,7 @@ public PhonemePreutterCommand(UVoicePart part, UNote note, int index, UPhoneme p
542542 }
543543 max = Math . Max ( 0 , max ) ;
544544 double min = - phoneme . autoPreutter ;
545- newDelta = ( float ) Math . Clamp ( delta , min , max ) ;
545+ newDelta = ( float ) Math . Max ( Math . Min ( delta , max ) , min ) ;
546546 }
547547 public override void Execute ( ) {
548548 var o = note . GetPhonemeOverride ( index ) ;
@@ -574,7 +574,7 @@ public PhonemeOverlapCommand(UVoicePart part, UNote note, int index, UPhoneme ph
574574 double overlap = phoneme . preutter - phoneme . autoOverlap ;
575575 double max = phoneme . envelope . data [ 3 ] . X + overlap ;
576576 double min = - phoneme . Prev ? . DurationMs + 5 + overlap ?? 0 ;
577- newDelta = ( float ) Math . Clamp ( delta , min , max ) ;
577+ newDelta = ( float ) Math . Max ( Math . Min ( delta , max ) , min ) ;
578578 }
579579 public override void Execute ( ) {
580580 var o = note . GetPhonemeOverride ( index ) ;
@@ -605,7 +605,7 @@ public PhonemeAttackTimeCommand(UVoicePart part, UNote note, int index, UPhoneme
605605
606606 double max = phoneme . autoPreutter - phoneme . GetFadeIn ( ) + phoneme . envelope . data [ 3 ] . X ;
607607 double min = - phoneme . GetFadeIn ( ) + 5 ;
608- newDelta = ( float ) Math . Clamp ( delta , min , max ) ;
608+ newDelta = ( float ) Math . Max ( Math . Min ( delta , max ) , min ) ;
609609 }
610610 public override void Execute ( ) {
611611 var o = note . GetPhonemeOverride ( index ) ;
@@ -637,7 +637,7 @@ public PhonemeReleaseTimeCommand(UVoicePart part, UNote note, int index, UPhonem
637637 var p3x = phoneme . envelope . data [ 4 ] . X - phoneme . GetFadeOut ( ) ;
638638 double max = p3x - phoneme . envelope . data [ 2 ] . X ;
639639 double min = - phoneme . GetFadeOut ( ) + 5 ;
640- newDelta = ( float ) Math . Clamp ( delta , min , max ) ;
640+ newDelta = ( float ) Math . Max ( Math . Min ( delta , max ) , min ) ;
641641 }
642642 public override void Execute ( ) {
643643 var o = note . GetPhonemeOverride ( index ) ;
@@ -652,7 +652,7 @@ public override void Unexecute() {
652652
653653 public class ClearPhonemeTimingCommand : NoteCommand {
654654 readonly UNote note ;
655- readonly Tuple < int , int ? , float ? , float ? > [ ] oldValues ;
655+ readonly Tuple < int , int ? , float ? , float ? , float ? , float ? > [ ] oldValues ;
656656 public override ValidateOptions ValidateOptions => new ValidateOptions {
657657 SkipTiming = true ,
658658 Part = Part ,
@@ -661,7 +661,7 @@ public class ClearPhonemeTimingCommand : NoteCommand {
661661 public ClearPhonemeTimingCommand ( UVoicePart part , UNote note ) : base ( part , note ) {
662662 this . note = note ;
663663 oldValues = note . phonemeOverrides
664- . Select ( o => Tuple . Create ( o . index , o . offset , o . preutterDelta , o . overlapDelta ) )
664+ . Select ( o => Tuple . Create ( o . index , o . offset , o . preutterDelta , o . overlapDelta , o . attackTimeDelta , o . releaseTimeDelta ) )
665665 . ToArray ( ) ;
666666 }
667667
@@ -670,6 +670,8 @@ public override void Execute() {
670670 o . offset = null ;
671671 o . preutterDelta = null ;
672672 o . overlapDelta = null ;
673+ o . attackTimeDelta = null ;
674+ o . releaseTimeDelta = null ;
673675 }
674676 }
675677 public override void Unexecute ( ) {
@@ -678,6 +680,8 @@ public override void Unexecute() {
678680 o . offset = t . Item2 ;
679681 o . preutterDelta = t . Item3 ;
680682 o . overlapDelta = t . Item4 ;
683+ o . attackTimeDelta = t . Item5 ;
684+ o . releaseTimeDelta = t . Item6 ;
681685 }
682686 }
683687 public override string ToString ( ) => "Clear phoneme timing" ;
0 commit comments