Browse Source

animation and transform fixes

flabbet 1 year ago
parent
commit
559f27434f

+ 2 - 2
src/PixiEditor.AnimationRenderer.FFmpeg/FFMpegRenderer.cs

@@ -27,13 +27,13 @@ public class FFMpegRenderer : IAnimationRenderer
         {
             if (int.TryParse(Path.GetFileNameWithoutExtension(frames[i]), out int frameNumber))
             {
-                finalFrames[frameNumber] = frames[i];
+                finalFrames[frameNumber - 1] = frames[i];
             }
         }
 
         GlobalFFOptions.Configure(new FFOptions()
         {
-            BinaryFolder = @"C:\ProgramData\chocolatey\lib\ffmpeg\tools\ffmpeg\bin"
+            BinaryFolder = @"C:\ProgramData\chocolatey\lib\ffmpeg\tools\ffmpeg\bin",
         });
 
         try

+ 2 - 2
src/PixiEditor.AvaloniaUI/ViewModels/Document/DocumentViewModel.cs

@@ -503,7 +503,6 @@ internal partial class DocumentViewModel : PixiObservableObject, IDocument
             {
                 for (int j = 0; j < sizeInChunks.Y; j++)
                 {
-                    // TODO: Implement this
                     var maybeChunk = Renderer.RenderChunk(new(i, j), ChunkResolution.Full, frameTime);
                     if (maybeChunk.IsT1)
                         continue;
@@ -904,7 +903,8 @@ internal partial class DocumentViewModel : PixiObservableObject, IDocument
 
         for (int i = firstFrame; i < lastFrame; i++)
         {
-            var surface = TryRenderWholeImage(i);
+            KeyFrameTime frameTime = new KeyFrameTime(i, (double)(i - firstFrame) / (lastFrame - firstFrame));
+            var surface = TryRenderWholeImage(frameTime);
             if (surface.IsT0)
             {
                 return false;

+ 1 - 1
src/PixiEditor.AvaloniaUI/Views/Dialogs/ExportFilePopup.axaml.cs

@@ -313,7 +313,7 @@ internal partial class ExportFilePopup : PixiEditorPopup
                 IsGeneratingPreview = false;
             });
 
-            videoPreviewTimer.Start();
+            videoPreviewTimer?.Start();
         });
     }
 

+ 1 - 1
src/PixiEditor.AvaloniaUI/Views/Overlays/TransformOverlay/TransformOverlay.cs

@@ -632,7 +632,7 @@ internal class TransformOverlay : Overlay
             Origin = TransformHelper.OriginFromCorners(overlay.Corners),
         };
         overlay.isResettingRequestedCorners = true;
-        overlay.RequestedCorners = new ShapeCorners();
+        //overlay.RequestedCorners = new ShapeCorners();
         overlay.isResettingRequestedCorners = false;
     }
 }