@@ -13,13 +13,14 @@ import PryntTrimmerView
1313
1414
1515class  ViewController :  UIViewController  { 
16- 
16+      
1717    @IBOutlet   weak var  renderView :  MetalVideoProcessRenderView ! 
1818
1919    @IBOutlet   weak var  progressView :  TrimmerView ! 
2020
2121    var  player :  MetalVideoProcessPlayer ? 
2222    var  editor :  MetalVideoEditor ? 
23+     public  var  motionIn :  MetalVideoProcessMotion  =  MetalVideoProcessMoveInMotion ( ) 
2324
2425    override func  viewDidLoad( )  { 
2526        super. viewDidLoad ( ) 
@@ -32,32 +33,37 @@ class ViewController: UIViewController {
3233            self . editor =  editor
3334            let  playerItem  =  editor. buildPlayerItem ( ) 
3435
35-             let  fadeIn  =  MetalVideoProcessFadeInMotion ( ) 
36+             let  fadeIn  =  motionIn 
3637            fadeIn. timingType =  . quadraticEaseOut
3738
38-             let  fadeInTimeRange  =  CMTimeRangeMake ( start:  CMTime ( seconds:  2.0 ) ,  duration:  CMTime ( seconds:  2.0 ) ) 
39+             let  fadeOut  =  MetalVideoProcessFadeOutMotion ( ) 
40+             fadeOut. timingType =  . quarticEaseOut
41+  
42+             let  fadeInTimeRange  =  CMTimeRangeMake ( start:  CMTime ( seconds:  0.0 ) ,  duration:  CMTime ( seconds:  2.0 ) ) 
3943            fadeIn. saveUniformSettings ( forTimelineRange:  fadeInTimeRange,  trackID:  item1. trackID) 
4044
45+             let  fadeOutTimeRange  =  CMTimeRange ( start:  item1. timeRange. end -  CMTime( seconds:  4.0 ) ,  duration:  CMTime ( seconds:  1.5 ) ) 
46+             fadeOut. saveUniformSettings ( forTimelineRange:  fadeOutTimeRange,  trackID:  item1. trackID) 
47+  
4148            let  player  =  try MetalVideoProcessPlayer ( playerItem:  playerItem) 
4249            player. playerDelegate =  self 
4350
4451            let  background  =  MetalVideoProcessBackground ( trackID:  0 ) 
4552            background. aspectRatioType =  . Ratio9_16
4653            background. canvasSizeType =  . Type720p
47-             background. setBackgroundType ( type:  . Black ) 
54+             background. setBackgroundType ( type:  . Blur ) 
4855
4956            let  transform  =  MetalVideoProcessTransformFilter ( ) 
5057                       transform. saveUniformSettings ( forTimelineRange:  item1. timeRange,  trackID:  item1. trackID) 
51-             transform. roi =  CGRect ( x:  0.25  ,  y:  0.25  ,  width:  0.5 ,  height:  0.5 ) 
52-             
58+             transform. roi =  CGRect ( x:  0.5  ,  y:  0.5  ,  width:  0.5 ,  height:  0.5 ) 
59+             fadeIn . roi  =  transform . roi 
5360            player. addTarget ( background,  atTargetIndex:  0 ,  trackID:  item1. trackID,  targetTrackId:  0 ) 
54-             
55-             
61+              
5662            background -->  fadeIn //source 0
5763            player. addTarget ( transform,  atTargetIndex:  nil ,  trackID:  item1. trackID,  targetTrackId:  0 )  //source 1
5864
59-             transform -->  fadeIn -->  renderView//source 1
60-              
65+             transform -->  fadeIn -->  renderView  //source 1
66+ 
6167            self . player =  player
6268        }  catch  { 
6369
@@ -74,6 +80,11 @@ class ViewController: UIViewController {
7480        self . progressView. delegate =  self 
7581    } 
7682
83+     override func  viewDidDisappear( _ animated:  Bool )  { 
84+         self . player? . suspend ( ) 
85+         self . player? . dispose ( ) 
86+     } 
87+     
7788    @IBAction   func  play( _ sender:  Any )  { 
7889        self . player? . play ( ) 
7990    } 
0 commit comments