This class serves 2 functions: 1 - keeps all interactive UI objects in one place. 2 - provides easier management of when a state changes to help trigger repaint only when neccesary.
        public MouseOpLinkVideoAudio(IVidkaOpContext iEditor,
			VidkaUiStateObjects uiObjects,
			ProjectDimensions dimdim,
			IVideoShitbox editor,
			IVideoPlayer videoPlayer)
            : base(iEditor, uiObjects, dimdim, editor, videoPlayer)
        {
        }
        public MouseOpSelectOriginalSegment(IVidkaOpContext iEditor,
			VidkaUiStateObjects uiObjects,
			ProjectDimensions dimdim,
			IVideoShitbox editor,
			IVideoPlayer videoPlayer)
            : base(iEditor, uiObjects, dimdim, editor, videoPlayer)
        {
            keyboardMode = false;
            isStarted = false;
        }
Example #3
0
 public DrawOp(IVidkaOpContext context, ImageCacheManager imageMan)
 {
     this.context = context;
     this.imgCache = imageMan;
     if (context != null)
     {
         dimdim = context.Dimdim;
         fileMapping = context.FileMapping;
         uiObjects = context.UiObjects;
     }
 }
        public MouseOpVideoEasings(IVidkaOpContext iEditor,
			VidkaUiStateObjects uiObjects,
			ProjectDimensions dimdim,
			IVideoShitbox editor,
			IVideoPlayer videoPlayer,
            TrimDirection side)
            : base(iEditor, uiObjects, dimdim, editor, videoPlayer)
        {
            this.side = side;
            keyboardMode = false;
        }
Example #5
0
        public MouseOpMoveVideo(IVidkaOpContext iEditor,
			VidkaUiStateObjects uiObjects,
			ProjectDimensions dimdim,
			IVideoShitbox editor,
			IVideoPlayer videoPlayer,
			MetaGeneratorInOtherThread metaGenerator)
            : base(iEditor, uiObjects, dimdim, editor, videoPlayer)
        {
            this.metaGenerator = metaGenerator;
            copyMode = false;
            keyboardMode = false;
        }
Example #6
0
        public MouseOpTrimVideo(IVidkaOpContext iEditor,
			VidkaUiStateObjects uiObjects,
			ProjectDimensions dimdim,
			IVideoShitbox editor,
			IVideoPlayer videoPlayer,
			TrimDirection side,
			ProjectDimensionsTimelineType timeline)
            : base(iEditor, uiObjects, dimdim, editor, videoPlayer)
        {
            this.side = side;
            this.timeline = timeline;
            keyboardMode = false;
        }
Example #7
0
        public MouseOpAbstract(
            IVidkaOpContext iEditor,
			VidkaUiStateObjects uiObjects,
			ProjectDimensions dimdim,
			IVideoShitbox editor,
			IVideoPlayer videoPlayer)
        {
            this.iEditor = iEditor;
            this.uiObjects = uiObjects;
            this.dimdim = dimdim;
            this.editor = editor;
            this.videoPlayer = videoPlayer;
        }
Example #8
0
        public EditorLogic(IVideoShitbox editor, IVideoPlayer videoPlayer, IAudioPlayer playerAudio)
        {
            this.shitbox = editor;
            this.videoPlayer = videoPlayer;
            Proj = new VidkaProj();
            Dimdim = new ProjectDimensions(Proj);
            UiObjects = new VidkaUiStateObjects();
            previewLauncher = new PreviewThreadLauncher(videoPlayer, playerAudio, this);
            ioOps = new VidkaIO();
            Proj_forOriginalPlayback = new VidkaProj();
            IsFileChanged = false;

            FileMapping = Settings.Default.DataNearProject
                ? (VidkaFileMapping)new VidkaFileMapping_proj()
                : (VidkaFileMapping)new VidkaFileMapping_resource();
            dragAndDropMan = new DragAndDropManager(editor, Proj, FileMapping);
            dragAndDropMan.MetaReadyForDraggy += dragAndDropMan_MetaReadyForDraggy;
            dragAndDropMan.MetaReadyForOutstandingVideo += dragAndDropMan_MetaReadyForOutstandingVideo;
            dragAndDropMan.MetaReadyForOutstandingAudio += dragAndDropMan_MetaReadyForOutstandingAudio;
            dragAndDropMan.ThumbOrWaveReady += dragAndDropMan_ThumbOrWaveReady;
            dragAndDropMan.PleaseUnlockThisFile += dragAndDropMan_PleaseUnlockThisFile;

            EditOpsAll = new MouseOpAbstract[] {
                new MouseOpTrimVideo(this, UiObjects, Dimdim, editor, videoPlayer, TrimDirection.Left, ProjectDimensionsTimelineType.Main),
                new MouseOpTrimVideo(this, UiObjects, Dimdim, editor, videoPlayer, TrimDirection.Right, ProjectDimensionsTimelineType.Main),
                new MouseOpTrimVideo(this, UiObjects, Dimdim, editor, videoPlayer, TrimDirection.Left, ProjectDimensionsTimelineType.Original),
                new MouseOpTrimVideo(this, UiObjects, Dimdim, editor, videoPlayer, TrimDirection.Right, ProjectDimensionsTimelineType.Original),
                new MouseOpTrimAudio(this, UiObjects, Dimdim, editor, videoPlayer, TrimDirection.Left, ProjectDimensionsTimelineType.Audios),
                new MouseOpTrimAudio(this, UiObjects, Dimdim, editor, videoPlayer, TrimDirection.Right, ProjectDimensionsTimelineType.Audios),
                new MouseOpTrimAudio(this, UiObjects, Dimdim, editor, videoPlayer, TrimDirection.Left, ProjectDimensionsTimelineType.Original),
                new MouseOpTrimAudio(this, UiObjects, Dimdim, editor, videoPlayer, TrimDirection.Right, ProjectDimensionsTimelineType.Original),
                new MouseOpMoveVideo(this, UiObjects, Dimdim, editor, videoPlayer, MetaGenerator),
                new MouseOpMoveAudio(this, UiObjects, Dimdim, editor, videoPlayer, MetaGenerator),
                new MouseOpSelectOriginalSegment(this, UiObjects, Dimdim, editor, videoPlayer),
                new MouseOpVideoEasings(this, UiObjects, Dimdim, editor, videoPlayer, TrimDirection.Left),
                new MouseOpVideoEasings(this, UiObjects, Dimdim, editor, videoPlayer, TrimDirection.Right),
                new MouseOpLinkVideoAudio(this, UiObjects, Dimdim, editor, videoPlayer),
            };

            Ops = new _VidkaOp[]
            {
                new ExportToAvi(this),
                exportToSegment = new ExportToAvi_Segment(this),
                new PreviewAvsSegmentInMplayer_Mp5s(this),
                new PreviewAvsSegmentInMplayer_Mp5sfff(this),
                new PreviewAvsSegmentInMplayer_Mp15s(this),
                new PreviewAvsSegmentInMplayer_Mp15sfff(this),
                new PreviewAvsSegmentInMplayer_Vd15s(this),
                new RebuildProj(this),
                new SplitCurClipVideo(this),
                new SplitCurClipVideo_DeleteLeft(this),
                new SplitCurClipVideo_DeleteRight(this),
                new SplitCurClipVideo_FinalizeLeft(this),
                new ToggleMuted(this),
                new ToggleLocked(this),
                new ToggleRenderSplitPoint(this),
                new TogglePreviewMode(this),
                new ToggleConsoleVisibility(this),
                new ShowClipUsage(this),
                new DuplicateCurClip(this),
                new DeleteCurSelectedClip(this),
                new InsertSimpleTextClip(this),
                new InsertCurrentFrameStill(this),
                new LinearShuffleByFilename(this),
            };
            setProjToAllEditOps(Proj);
        }