private async void LoadVideoPreview() { StorageFile file; IRandomAccessStream stream; try { file = await KnownFolders.VideosLibrary.GetFileAsync(captureOutput); } catch (FileNotFoundException) { return; } stream = await file.OpenAsync(FileAccessMode.Read); double width = this.ActualWidth / 4; double height = this.ActualHeight / 4; double padding = 12; VideoPreview.Width = width; VideoPreview.Height = height; Canvas.SetLeft(VideoPreview, this.ActualWidth - width - padding); Canvas.SetTop(VideoPreview, padding); VideoPreview.Stop(); VideoPreview.Source = null; VideoPreview.SetSource(stream, file.ContentType); }
int videoLen; //number of video frames; #endregion Fields #region Constructors /// <summary> /// Public Constructor: /// Initialize Component /// Initialize mainWindow, MediaDetClass and VideoPreview /// </summary> public BatchRenameWindow() { InitializeComponent(); controller = MainWindow.controller; md = new MediaDetClass(); previewer = new VideoPreview("tmp"); }
/// <summary> /// Public Constructor: /// Initialize Component inside Photo Preview Window /// Initialize video preview components /// Initialize various variables in Photo Preview Window /// Load the picture/video accordingly /// </summary> /// <param name="source">source file full path</param> /// <param name="target">target file full path</param> /// <param name="confWin">Form from which this from is accessed</param> public PhotoPreviewWindow(string filePath, Form previewWin) { InitializeComponent(); md = new MediaDetClass(); previewer = new VideoPreview("tmp"); this.pathname = filePath; this.WindowState = FormWindowState.Maximized; this.titleBox.Text = Path.GetFileNameWithoutExtension(filePath); this.Text = "Preview: " + Path.GetFileNameWithoutExtension(filePath); preview = previewWin; if (Photo.isPhoto(filePath)) { try { this.pictureBox.Image = Image.FromFile(filePath); } catch (Exception pe) { pictureBox.Image = global::DoubleSnap.Properties.Resources.no_preview; } } else if (Video.isVideoPreviewable(filePath)) { try { previewer.deleteTmpBmpFiles(MainWindow.storagePath); md.Filename = filePath; md.CurrentStream = 0; videoLen = (int)md.StreamLength; pictureBox.Image = global::DoubleSnap.Properties.Resources.hover_mouse; } catch (Exception pe) { pictureBox.Image = global::DoubleSnap.Properties.Resources.no_preview; } } else pictureBox.Image = global::DoubleSnap.Properties.Resources.no_preview; }
private void MainMap_OnCurrentPointLatLngImgChanged(GMapEditor.DAL.PointLatLngImg point) { try { if (_ChannelManageViewModel.ChannelList != null && _ChannelManageViewModel.ChannelList.Count > 0) { foreach (ChannelListItemViewModel channel in _ChannelManageViewModel.ChannelList) { if (channel.MyChannelCfg.TcChaneelID == point.Id) { _ChannelManageViewModel.CurrentPointChannelListItem = channel; break; } } } if (_ChannelManageViewModel.CurrentPointChannelListItem != null) { VideoPreview video = new VideoPreview(_ChannelManageViewModel); video.Show(); } } catch (Exception ex) { _WriteLog.WriteToLog("ChannelManageListBox_MouseDoubleClick", ex); MessageBox.Show(ex.Message); } }
int videoLen; //number of video frames; #endregion Fields #region Constructors /// <summary> /// Public Constructor: /// Initialize Component inside Smart Group Window /// Initialize controller /// Initialize video preview components /// </summary> public SmartGroupWindow() { InitializeComponent(); //mainWindow = Program.mainWindow; controller = MainWindow.controller; md = new MediaDetClass(); previewer = new VideoPreview("tmp"); }
int videoLen; //number of video frames; #endregion Fields #region Constructors /// <summary> /// Public Constructor: /// Initialize Component inside Photo Preview Window /// Initialize video preview components /// Initialize various variables in Photo Preview Window public PhotoPreviewWindow() { InitializeComponent(); this.WindowState = FormWindowState.Maximized; this.titleBox.Text = "Image Title Here..."; md = new MediaDetClass(); previewer = new VideoPreview("tmp"); }
private void PauseVideo() { if (VideoPreview.HasVideo && VideoPreview.IsPlaying) { VideoPreview.Pause(); Console.WriteLine("Pausing video."); } }
private void PlayVideo() { if (VideoPreview.HasVideo) { PlayingIconColour(); VideoPreview.Play(); Console.WriteLine("Playing video."); } }
private void OnPauseClicked(object sender, RoutedEventArgs e) { if (VideoPreview.IsPlaying) { VideoPreview.Pause(); Console.WriteLine("Pausing video."); PausingIconColour(); } }
private void OnPlayClicked(object sender, RoutedEventArgs e) { if (VideoPreview.HasVideo) { VideoPreview.Play(); Console.WriteLine("Playing video."); PlayingIconColour(); } }
protected override async void OnNavigatedTo(NavigationEventArgs e) { DisplayInformation.AutoRotationPreferences = DisplayOrientations.Landscape; // // Doing all that video processing is too much for low-end phones like the Lumia 520 // Pick-and-choose which piece should run // VideoPreview.MediaFailed += VideoPreview_MediaFailed; //var file = await StorageFile.GetFileFromApplicationUriAsync(new Uri("ms-appx:///Assets/video.cvmpilj.mjpg")); //var stream = await file.OpenAsync(FileAccessMode.Read); //var source = await HttpMjpegCaptureSource.CreateFromStreamAsync(stream, "myboundary"); var source = await HttpMjpegCaptureSource.CreateFromUriAsync("http://216.123.238.208/axis-cgi/mjpg/video.cgi?camera&resolution=640x480"); VideoPreview.SetMediaStreamSource(source.Source); var settings = new MediaCaptureInitializationSettings { StreamingCaptureMode = StreamingCaptureMode.Video }; await settings.SelectVideoDeviceAsync(VideoDeviceSelection.BackOrFirst); _capture = new MediaCapture(); await _capture.InitializeAsync(settings); var graphicsDevice = MediaGraphicsDevice.CreateFromMediaCapture(_capture); var previewProps = (VideoEncodingProperties)_capture.VideoDeviceController.GetMediaStreamProperties(MediaStreamType.VideoPreview); TextLog.Text += String.Format("Preview: {0} {1}x{2} {3}fps\n", previewProps.Subtype, previewProps.Width, previewProps.Height, previewProps.FrameRate.Numerator / (float)previewProps.FrameRate.Denominator); TextLog.Text += "Creating MediaSamplePresenter from SurfaceImageSource\n"; var image = new SurfaceImageSource((int)previewProps.Width, (int)previewProps.Height); ImagePreview.Source = image; _imagePresenter = ImagePresenter.CreateFromSurfaceImageSource(image, graphicsDevice, (int)previewProps.Width, (int)previewProps.Height); TextLog.Text += "Creating MediaSamplePresenter from SwapChainPanel\n"; _swapChainPresenter = ImagePresenter.CreateFromSwapChainPanel( SwapChainPreview, graphicsDevice, (int)previewProps.Width, (int)previewProps.Height ); TextLog.Text += "Creating MediaReader\n"; _mediaReader = await MediaReader.CreateFromMediaCaptureAsync(_capture, AudioInitialization.Deselected, VideoInitialization.Bgra8); TextLog.Text += "Starting video loop\n"; var ignore = Task.Run(() => VideoLoop()); }
int videoLen; //number of video frames; #endregion Fields #region Constructors /// <summary> /// Public Constructor: /// Initialize Component /// Initialize mainWindow and controller /// Set the string as jobName /// Initialize video preview components /// /// <param name="str">Job name</param> /// </summary> public PreviewWindow(string str) { InitializeComponent(); mainWindow = Program.getMainWindow(); controller = MainWindow.controller; this.str = str; md = new MediaDetClass(); previewer = new VideoPreview("tmp"); }
/// <summary> /// Raises the <see cref="E:System.Web.UI.Control.Init" /> event. /// </summary> /// <param name="e">An <see cref="T:System.EventArgs" /> object that contains the event data.</param> protected override void OnInit(EventArgs e) { base.OnInit(e); RockPage.AddCSSLink("~/Plugins/com_blueboxmoon/Crex/Styles/crex.css"); RockPage.AddScriptLink("~/Plugins/com_blueboxmoon/Crex/Scripts/crex.js"); MenuPreview = new MenuPreview { ID = "previewMenu", Visible = false }; PreviewPanel.Controls.Add(MenuPreview); PosterListPreview = new PosterListPreview { ID = "previewPosterList", Visible = false }; PreviewPanel.Controls.Add(PosterListPreview); ImagePreview = new ImagePreview { ID = "previewImage", Visible = false }; PreviewPanel.Controls.Add(ImagePreview); VideoPreview = new VideoPreview { ID = "previewVideo", Visible = false }; PreviewPanel.Controls.Add(VideoPreview); RedirectPreview = new NotificationBox { ID = "previewRedirect", NotificationBoxType = NotificationBoxType.Info, Visible = false }; PreviewPanel.Controls.Add(RedirectPreview); DebugPreview = new Literal { ID = "previewDebug" }; DebugPanel.Controls.Add(DebugPreview); }
private void _recordersViewmodel_PropertyChanged(object sender, PropertyChangedEventArgs e) { if (e.PropertyName == nameof(RecordersViewmodel.RecordingMedia)) { var media = ((RecordersViewmodel)sender).RecordingMedia; if (media != null) { EditMedia = new MediaEditViewmodel(media, _mediaManager, PreviewViewmodel, true); if (PreviewViewmodel != null) { PreviewViewmodel.Media = media; } } } if (e.PropertyName == nameof(RecordersViewmodel.Channel)) { VideoPreview?.SetSource(((RecordersViewmodel)sender).Channel?.PreviewUrl); } }
/// <summary> /// Gets the first 4 videos related to the specified video. Does not support paging. /// </summary> public async Task <RelatedVideos> GetRelatedVideos(RelatedVideosQuery queryParams) { // Lookup the tags for the video PreparedStatement tagsForVideoPrepared = await _statementCache.NoContext.GetOrAddAsync("SELECT tags FROM videos WHERE videoid = ?"); BoundStatement tagsForVideoBound = tagsForVideoPrepared.Bind(queryParams.VideoId); RowSet tagRows = await _session.ExecuteAsync(tagsForVideoBound).ConfigureAwait(false); Row tagRow = tagRows.SingleOrDefault(); if (tagRow == null) { return new RelatedVideos { VideoId = queryParams.VideoId, Videos = Enumerable.Empty <VideoPreview>(), PagingState = null } } ; var tagsValue = tagRow.GetValue <IEnumerable <string> >("tags"); var tags = tagsValue == null ? new List <string>() : tagsValue.ToList(); // If there are no tags, we can't find related videos if (tags.Count == 0) { return new RelatedVideos { VideoId = queryParams.VideoId, Videos = Enumerable.Empty <VideoPreview>(), PagingState = null } } ; var relatedVideos = new Dictionary <Guid, VideoPreview>(); PreparedStatement videosForTagPrepared = await _statementCache.NoContext.GetOrAddAsync("SELECT * FROM videos_by_tag WHERE tag = ? LIMIT ?"); var inFlightQueries = new List <Task <RowSet> >(); for (var i = 0; i < tags.Count; i++) { // Use the number of results we ultimately want * 2 when querying so that we can account for potentially having to filter // out the video Id we're using as the basis for the query as well as duplicates const int pageSize = RelatedVideosToReturn * 2; // Kick off a query for each tag and track them in the inflight requests list string tag = tags[i]; IStatement query = videosForTagPrepared.Bind(tag, pageSize); inFlightQueries.Add(_session.ExecuteAsync(query)); // Every third query, or if this is the last tag, wait on all the query results if (inFlightQueries.Count == 3 || i == tags.Count - 1) { RowSet[] results = await Task.WhenAll(inFlightQueries).ConfigureAwait(false); foreach (RowSet rowSet in results) { foreach (Row row in rowSet) { VideoPreview preview = MapRowToVideoPreview(row); // Skip self if (preview.VideoId == queryParams.VideoId) { continue; } // Skip videos we already have in the results if (relatedVideos.ContainsKey(preview.VideoId)) { continue; } // Add to results relatedVideos.Add(preview.VideoId, preview); // If we've got enough, no reason to continue if (relatedVideos.Count >= RelatedVideosToReturn) { break; } } // If we've got enough, no reason to continue if (relatedVideos.Count >= RelatedVideosToReturn) { break; } } // See if we've got enough results now to fulfill our requirement if (relatedVideos.Count >= RelatedVideosToReturn) { break; } // We don't have enough yet, so reset the inflight requests to allow another batch of tags to be queried inFlightQueries.Clear(); } } return(new RelatedVideos { VideoId = queryParams.VideoId, Videos = relatedVideos.Values, PagingState = null }); }
internal static global::System.Runtime.InteropServices.HandleRef getCPtr(VideoPreview obj) { return((obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr); }
public MediaManagerViewmodel(IEngine engine, IPreview preview) { _mediaManager = engine.MediaManager; _engine = engine; _preview = preview; if (preview != null) { PreviewViewmodel = new PreviewViewmodel(engine, preview); } MediaDirectories = new List <MediaDirectoryViewmodel>(); MediaDirectories.AddRange(_mediaManager.IngestDirectories.Where(d => d.ContainsImport()).Select(d => new MediaDirectoryViewmodel(d, true))); IArchiveDirectory archiveDirectory = _mediaManager.ArchiveDirectory; if (archiveDirectory != null) { MediaDirectories.Insert(0, new MediaDirectoryViewmodel(archiveDirectory)); } IAnimationDirectory animationDirectoryPri = _mediaManager.AnimationDirectoryPRI; if (animationDirectoryPri != null) { MediaDirectories.Insert(0, new MediaDirectoryViewmodel(animationDirectoryPri)); } IAnimationDirectory animationDirectorySec = _mediaManager.AnimationDirectorySEC; if (animationDirectorySec != null) { MediaDirectories.Insert(0, new MediaDirectoryViewmodel(animationDirectorySec)); } IServerDirectory serverDirectoryPri = _mediaManager.MediaDirectoryPRI; if (serverDirectoryPri != null) { MediaDirectories.Insert(0, new MediaDirectoryViewmodel(serverDirectoryPri)); } IServerDirectory serverDirectorySec = _mediaManager.MediaDirectorySEC; if (serverDirectorySec != null && serverDirectorySec != serverDirectoryPri) { MediaDirectories.Insert(1, new MediaDirectoryViewmodel(serverDirectorySec)); } _mediaCategory = MediaCategories.FirstOrDefault(); SelectedDirectory = MediaDirectories.FirstOrDefault(); if (_mediaManager.FileManager != null) { FileManagerViewmodel = new FileManagerViewmodel(_mediaManager.FileManager); } RecordersViewmodel = new RecordersViewmodel(_engine, _mediaManager.Recorders); RecordersViewmodel.PropertyChanged += _recordersViewmodel_PropertyChanged; ComposePlugins(); VideoPreview?.SetSource(RecordersViewmodel.Channel?.PreviewUrl); CommandSearch = new UICommand { ExecuteDelegate = _search, CanExecuteDelegate = _canSearch }; CommandClearFilters = new UICommand { ExecuteDelegate = _clearFilters, CanExecuteDelegate = _canClearFilters }; CommandDeleteSelected = new UICommand { ExecuteDelegate = _deleteSelected, CanExecuteDelegate = o => _isSomethingSelected() && engine.HaveRight(EngineRight.MediaDelete) }; CommandIngestSelectedToServer = new UICommand { ExecuteDelegate = _ingestSelectedToServer, CanExecuteDelegate = _canIngestSelectedToServer }; CommandMoveSelectedToArchive = new UICommand { ExecuteDelegate = _moveSelectedToArchive, CanExecuteDelegate = o => _selectedDirectory != null && _selectedDirectory.IsServerDirectory && _isSomethingSelected() && engine.HaveRight(EngineRight.MediaArchive) && engine.HaveRight(EngineRight.MediaDelete) }; CommandCopySelectedToArchive = new UICommand { ExecuteDelegate = _copySelectedToArchive, CanExecuteDelegate = o => _selectedDirectory != null && _selectedDirectory.IsServerDirectory && _isSomethingSelected() && engine.HaveRight(EngineRight.MediaArchive) }; CommandSweepStaleMedia = new UICommand { ExecuteDelegate = _sweepStaleMedia, CanExecuteDelegate = o => CurrentUser.IsAdmin }; CommandGetLoudness = new UICommand { ExecuteDelegate = _getLoudness, CanExecuteDelegate = o => _isSomethingSelected() && engine.HaveRight(EngineRight.MediaEdit) }; CommandExport = new UICommand { ExecuteDelegate = _export, CanExecuteDelegate = _canExport }; CommandRefresh = new UICommand { ExecuteDelegate = ob => _refreshMediaDirectory(_selectedDirectory?.Directory), CanExecuteDelegate = _canRefresh }; CommandSyncPriToSec = new UICommand { ExecuteDelegate = _syncSecToPri, CanExecuteDelegate = o => _selectedDirectory.IsServerDirectory && CurrentUser.IsAdmin }; CommandCloneAnimation = new UICommand { ExecuteDelegate = _cloneAnimation, CanExecuteDelegate = _canCloneAnimation }; CommandTogglePropertiesPanel = new UICommand { ExecuteDelegate = o => IsPropertiesPanelVisible = !IsPropertiesPanelVisible }; }
public MediaManagerViewmodel(IEngine engine, IPreview preview) { _mediaManager = engine.MediaManager; Engine = engine; _preview = preview; if (preview != null) { PreviewViewmodel = new PreviewViewmodel(engine, preview); } MediaDirectories = new List <MediaDirectoryViewmodel>(); MediaDirectories.AddRange(_mediaManager.IngestDirectories.Where(d => d.ContainsImport()).Select(d => new MediaDirectoryViewmodel(d, d.DirectoryName, true))); var archiveDirectory = _mediaManager.ArchiveDirectory; if (archiveDirectory != null) { MediaDirectories.Insert(0, new MediaDirectoryViewmodel(archiveDirectory, resources._archive)); } var animationDirectorySec = _mediaManager.AnimationDirectorySEC; var animationDirectoryPri = _mediaManager.AnimationDirectoryPRI; if (animationDirectorySec != null && animationDirectorySec != animationDirectoryPri) { MediaDirectories.Insert(0, new MediaDirectoryViewmodel(animationDirectorySec, resources._animations_Secondary)); } if (animationDirectoryPri != null) { MediaDirectories.Insert(0, new MediaDirectoryViewmodel(animationDirectoryPri, resources._animations_Primary)); } var serverDirectoryPri = _mediaManager.MediaDirectoryPRI; var serverDirectorySec = _mediaManager.MediaDirectorySEC; if (serverDirectorySec != null && serverDirectorySec != serverDirectoryPri) { MediaDirectories.Insert(0, new MediaDirectoryViewmodel(serverDirectorySec, resources._secondary)); } if (serverDirectoryPri != null) { MediaDirectories.Insert(0, new MediaDirectoryViewmodel(serverDirectoryPri, resources._primary)); } _mediaCategory = MediaCategories.FirstOrDefault(); SelectedDirectory = MediaDirectories.FirstOrDefault(); if (_mediaManager.FileManager != null) { FileManagerViewmodel = new FileManagerViewmodel(_mediaManager.FileManager); } RecordersViewmodel = new RecordersViewmodel(Engine, _mediaManager.Recorders); RecordersViewmodel.PropertyChanged += _recordersViewmodel_PropertyChanged; VideoPreview = UiPluginManager.ComposePart <IVideoPreview>(this); VideoPreview?.SetSource(RecordersViewmodel.Channel?.PreviewUrl); CommandSearch = new UiCommand(_search, _canSearch); CommandClearFilters = new UiCommand(_clearFilters, _canClearFilters); CommandDeleteSelected = new UiCommand(_deleteSelected, o => _isSomethingSelected() && engine.HaveRight(EngineRight.MediaDelete)); CommandIngestSelectedToServer = new UiCommand(_ingestSelectedToServer, _canIngestSelectedToServer); CommandMoveSelectedToArchive = new UiCommand(_moveSelectedToArchive, o => _selectedDirectory != null && _selectedDirectory.IsServerDirectory && _isSomethingSelected() && engine.HaveRight(EngineRight.MediaArchive) && engine.HaveRight(EngineRight.MediaDelete)); CommandCopySelectedToArchive = new UiCommand(_copySelectedToArchive, o => _selectedDirectory != null && _selectedDirectory.IsServerDirectory && _isSomethingSelected() && engine.HaveRight(EngineRight.MediaArchive)); CommandSweepStaleMedia = new UiCommand(_sweepStaleMedia, o => CurrentUser.IsAdmin); CommandGetLoudness = new UiCommand(_getLoudness, o => _isSomethingSelected() && engine.HaveRight(EngineRight.MediaEdit)); CommandExport = new UiCommand(_export, _canExport); CommandRefresh = new UiCommand(async ob => await _reloadFiles(), _canRefresh); CommandSyncPriToSec = new UiCommand(_syncSecToPri, o => _selectedDirectory.IsServerDirectory && CurrentUser.IsAdmin); CommandCloneAnimation = new UiCommand(_cloneAnimation, _canCloneAnimation); CommandTogglePropertiesPanel = new UiCommand(o => IsPropertiesPanelVisible = !IsPropertiesPanelVisible); CommandVerifyAllMedia = new UiCommand(_verifyAllMedia, o => _selectedDirectory.IsServerDirectory && CurrentUser.IsAdmin); }
public MediaManagerViewmodel(IMediaManager mediaManager, IPreview preview) { _mediaManager = mediaManager; _preview = preview; if (preview != null) { PreviewViewmodel = new PreviewViewmodel(preview); } MediaDirectories = new List <MediaDirectoryViewmodel>(); MediaDirectories.AddRange(mediaManager.IngestDirectories.Where(d => d.ContainsImport()).Select(d => new MediaDirectoryViewmodel(d, true))); IArchiveDirectory archiveDirectory = mediaManager.ArchiveDirectory; if (archiveDirectory != null) { MediaDirectories.Insert(0, new MediaDirectoryViewmodel(archiveDirectory)); } IAnimationDirectory animationDirectoryPRI = mediaManager.AnimationDirectoryPRI; if (animationDirectoryPRI != null) { MediaDirectories.Insert(0, new MediaDirectoryViewmodel(animationDirectoryPRI)); } IAnimationDirectory animationDirectorySEC = mediaManager.AnimationDirectorySEC; if (animationDirectorySEC != null) { MediaDirectories.Insert(0, new MediaDirectoryViewmodel(animationDirectorySEC)); } IServerDirectory serverDirectoryPRI = mediaManager.MediaDirectoryPRI; MediaDirectoryViewmodel serverDirectoryPRIVm = new MediaDirectoryViewmodel(serverDirectoryPRI); if (serverDirectoryPRI != null) { MediaDirectories.Insert(0, serverDirectoryPRIVm); } IServerDirectory serverDirectorySEC = mediaManager.MediaDirectorySEC; if (serverDirectorySEC != null && serverDirectorySEC != serverDirectoryPRI) { MediaDirectories.Insert(1, new MediaDirectoryViewmodel(serverDirectorySEC)); } _mediaCategory = MediaCategories.FirstOrDefault(); SelectedDirectory = serverDirectoryPRIVm; if (mediaManager.FileManager != null) { FileManagerViewmodel = new FileManagerViewmodel(mediaManager.FileManager); } RecordersViewmodel = new RecordersViewmodel(mediaManager.Recorders); RecordersViewmodel.PropertyChanged += _recordersViewmodel_PropertyChanged; _previewDisplay = true; ComposePlugins(); VideoPreview?.SetSource(RecordersViewmodel.Channel?.PreviewUrl); CommandSearch = new UICommand { ExecuteDelegate = _search, CanExecuteDelegate = _canSearch }; CommandClearFilters = new UICommand { ExecuteDelegate = _clearFilters, CanExecuteDelegate = _canClearFilters }; CommandDeleteSelected = new UICommand { ExecuteDelegate = _deleteSelected, CanExecuteDelegate = _isSomethingSelected }; CommandIngestSelectedToServer = new UICommand { ExecuteDelegate = _ingestSelectedToServer, CanExecuteDelegate = _canIngestSelectedToServer }; CommandMoveSelectedToArchive = new UICommand { ExecuteDelegate = _moveSelectedToArchive, CanExecuteDelegate = o => _selectedDirectory != null && _selectedDirectory.IsServerDirectory && _isSomethingSelected(o) }; CommandCopySelectedToArchive = new UICommand { ExecuteDelegate = _copySelectedToArchive, CanExecuteDelegate = o => _selectedDirectory != null && _selectedDirectory.IsServerDirectory && _isSomethingSelected(o) }; CommandSweepStaleMedia = new UICommand { ExecuteDelegate = _sweepStaleMedia }; CommandGetLoudness = new UICommand { ExecuteDelegate = _getLoudness, CanExecuteDelegate = _isSomethingSelected }; CommandExport = new UICommand { ExecuteDelegate = _export, CanExecuteDelegate = _canExport }; CommandRefresh = new UICommand { ExecuteDelegate = ob => _refreshMediaDirectory(_selectedDirectory?.Directory), CanExecuteDelegate = o => _selectedDirectory?.IsIngestDirectory == true }; CommandSyncPriToSec = new UICommand { ExecuteDelegate = _syncSecToPri, CanExecuteDelegate = o => _selectedDirectory.IsServerDirectory }; CommandCloneAnimation = new UICommand { ExecuteDelegate = _cloneAnimation, CanExecuteDelegate = _canCloneAnimation }; }
private static void loadNewMode(OsuMode newMode) { //Create the actual mode GameMode mode = null; switch (newMode) { case OsuMode.MainMenu: mode = new MainMenu(); break; case OsuMode.SongSelect: mode = new SongSelectMode(); break; case OsuMode.Results: mode = new Results(); break; #if MONO case OsuMode.PlayTest: mode = new PlayTest(); break; #endif case OsuMode.Play: if (CurrentOsuMode == OsuMode.VideoPreview) { mode = new PreviewPlayer(); } else { mode = new Player(); } break; case OsuMode.Store: #if iOS mode = new StoreModeIphone(); #else mode = new StoreMode(); #endif break; case OsuMode.Options: mode = new Options(); break; case OsuMode.Tutorial: mode = new Tutorial(); break; case OsuMode.Credits: mode = new Credits(); break; case OsuMode.VideoPreview: mode = new VideoPreview(); break; case OsuMode.Empty: mode = new Empty(); break; #if MONO case OsuMode.PositioningTest: mode = new PositioningTest(); break; #endif } PendingMode = mode; }
void OnGUI() { if (!isTracking) { if (ImageWidth < ImageHeight) { trackButton = GUI.Button(new Rect(0, Screen.height - Screen.width / 7, Screen.width / 8, Screen.width / 8), " ", startTrackingStyle); } else { trackButton = GUI.Button(new Rect(0, Screen.height - Screen.height / 7, Screen.height / 8, Screen.height / 8), " ", startTrackingStyle); } if (trackButton) { isTracking = true; } } if (isTracking) { if (ImageWidth < ImageHeight) { stopTrackButton = GUI.Button(new Rect(0, Screen.height - Screen.width / 7, Screen.width / 8, Screen.width / 8), " ", stopTrackingStyle); } else { stopTrackButton = GUI.Button(new Rect(0, Screen.height - Screen.height / 7, Screen.height / 8, Screen.height / 8), " ", stopTrackingStyle); } if (stopTrackButton) { isTracking = false; TrackerStatus = TrackStatus.Off; } } if (ImageWidth < ImageHeight) { switchCamButton = GUI.Button(new Rect(Screen.width - Screen.width / 6, Screen.height - Screen.width / 6, Screen.width / 6, Screen.width / 6), " ", switchCamButtonStyle); } else { switchCamButton = GUI.Button(new Rect(Screen.width - Screen.height / 6, Screen.height - Screen.height / 6, Screen.height / 6, Screen.height / 6), " ", switchCamButtonStyle); } if (switchCamButton) { currentDevice = (currentDevice == 1) ? 0 : 1; } if (mask) { if (ImageWidth < ImageHeight) { normalButton = GUI.Button(new Rect(Screen.width - Screen.width / 30 - Screen.width / 3, Screen.height / 30, Screen.width / 3, Screen.height / 12), "Normal"); } else { normalButton = GUI.Button(new Rect(Screen.width - Screen.height / 30 - Screen.height / 3, Screen.width / 30, Screen.height / 3, Screen.width / 12), "Normal"); } if (normalButton) { VideoPreview preview = GameObject.Find("Video Preview").GetComponent <VideoPreview> (); preview.DesiredScreenWidth = 0.3f; preview.PreviewResults = true; mask = false; } } else { if (ImageWidth < ImageHeight) { maskButton = GUI.Button(new Rect(Screen.width - Screen.width / 30 - Screen.width / 3, Screen.height / 30, Screen.width / 3, Screen.height / 12), "Mask"); } else { maskButton = GUI.Button(new Rect(Screen.width - Screen.height / 30 - Screen.height / 3, Screen.width / 30, Screen.height / 3, Screen.width / 12), "Mask"); } if (maskButton) { VideoPreview preview = GameObject.Find("Video Preview").GetComponent <VideoPreview> (); preview.DesiredScreenWidth = 1f; preview.PreviewResults = false; mask = true; } } }