Example #1
0
        async Task HandleNewDashboardEvent(NewDashboardEvent e)
        {
            if (CheckTimelineEventsLimitation())
            {
                return;
            }
            if (Project == null)
            {
                return;
            }

            if (Project.IsLive)
            {
                if (!Capturer.Capturing)
                {
                    App.Current.Dialogs.WarningMessage(Catalog.GetString("Video capture is stopped"));
                    return;
                }
            }

            if (!Project.Model.Dashboard.DisablePopupWindow && e.Edit)
            {
                e.TimelineEvent.Model.AddDefaultPositions();

                PlayEventEditionSettings settings = new PlayEventEditionSettings()
                {
                    EditTags      = true,
                    EditNotes     = true,
                    EditPlayers   = true,
                    EditPositions = true
                };

                if (Project.ProjectType == ProjectType.FileProject)
                {
                    bool playing = VideoPlayer.Playing;
                    VideoPlayer.PauseCommand.Execute(false);
                    await App.Current.EventsBroker.Publish(new EditEventEvent { TimelineEvent = e.TimelineEvent });

                    if (playing)
                    {
                        VideoPlayer.PlayCommand.Execute();
                    }
                }
                else
                {
                    await App.Current.EventsBroker.Publish(new EditEventEvent { TimelineEvent = e.TimelineEvent });
                }
            }

            Log.Debug(String.Format("New play created start:{0} stop:{1} category:{2}",
                                    e.TimelineEvent.Start.ToMSecondsString(), e.TimelineEvent.Stop.ToMSecondsString(),
                                    e.TimelineEvent.Model.EventType.Name));
            Project.Model.AddEvent(e.TimelineEvent.Model);
            AddNewPlay(e.TimelineEvent.Model);
            await App.Current.EventsBroker.Publish(new DashboardEventCreatedEvent {
                TimelineEvent    = e.TimelineEvent,
                DashboardButton  = e.DashboardButton,
                DashboardButtons = e.DashboardButtons
            });
        }
Example #2
0
 void HandleNewDashboardEvent(NewDashboardEvent e)
 {
     sentTimelineEvent     = e.TimelineEvent.Model;
     hasSentDashboardEvent = true;
 }
Example #3
0
 /// <summary>
 /// Handles when a dashboard event has been throwed.
 /// </summary>
 /// <param name="evt">Evt.</param>
 void HandleDashboardEvent(NewDashboardEvent evt)
 {
     ManualEventsCount++;
     ProjectDictionary [openedProjectID] = new Tuple <int, int> (ManualEventsCount, DrawingsCount);
 }