OSDN Git Service

MacGui: Add separate method for cancelling a Live Preview encode.
[handbrake-jp/handbrake-jp-git.git] / macosx / HBPreviewController.m
index 4b60d7e..2f6e981 100644 (file)
     [fMovieTimer release];
     [fMovieView setHidden:YES];
        [fMovieView setMovie:nil];
+    [self pictureSliderChanged:nil];
 
     hudTimerSeconds = 0;
     [[NSUserDefaults standardUserDefaults] setBool:NO forKey:@"PreviewWindowIsOpen"];
     hb_stop(fPreviewLibhb);
     if (fPreviewMoviePath)
     {
-        [[NSFileManager defaultManager] removeFileAtPath:fPreviewMoviePath handler:nil];
+        [[NSFileManager defaultManager] removeItemAtPath:fPreviewMoviePath error:nil];
         [fPreviewMoviePath release];
     }    
     
     [fMovieCreationProgressIndicator stopAnimation: nil];
     [fMovieCreationProgressIndicator setHidden: YES];
     [fMoviePlaybackControlBox setHidden: YES];
-    [self stopMovieTimer];
+    if( fMovieTimer )
+    {
+        [self stopMovieTimer];
+    }
     [fPictureControlBox setHidden: NO];
     
     [fPictureView setHidden:NO];
  
 
 #pragma mark Movie Preview
+
+- (IBAction) cancelCreateMoviePreview: (id) sender
+{
+    
+    hb_state_t s;
+    hb_get_state2( fPreviewLibhb, &s );
+    
+    if(isEncoding && (s.state == HB_STATE_WORKING || s.state == HB_STATE_PAUSED))
+    {
+        hb_stop( fPreviewLibhb );
+        [fPictureView setHidden:NO];
+        [fMovieView pause:nil];
+        [fMovieView setHidden:YES];
+               [fMovieView setMovie:nil];
+        [fPictureSlider setHidden:NO];
+        isEncoding = NO;
+        
+        [self pictureSliderChanged:nil];
+        
+        return;
+    }
+    
+}
+
 - (IBAction) createMoviePreview: (id) sender
 {
     
     hb_get_state2( fPreviewLibhb, &s );
     
     if(sender == fCancelPreviewMovieButton && (s.state == HB_STATE_WORKING || s.state == HB_STATE_PAUSED))
-       {
+    {
         hb_stop( fPreviewLibhb );
         [fPictureView setHidden:NO];
         [fMovieView pause:nil];
     /* See if there is an existing preview file, if so, delete it */
     if( ![[NSFileManager defaultManager] fileExistsAtPath:fPreviewMoviePath] )
     {
-        [[NSFileManager defaultManager] removeFileAtPath:fPreviewMoviePath
-                                                 handler:nil];
+        [[NSFileManager defaultManager] removeItemAtPath:fPreviewMoviePath error:nil];
     }
     
     /* We now direct our preview encode to fPreviewMoviePath */