Exemplo n.º 1
0
 void HandleEventCreated(TimelineEvent evt)
 {
     lasteventbox.Visible = true;
     lastlabel.Text       = evt.Name;
     lastlabel.ModifyFg(StateType.Normal, Misc.ToGdkColor(evt.Color));
     lastevent = evt;
 }
Exemplo n.º 2
0
        protected void OnAddbuttonClicked(object sender, System.EventArgs e)
        {
            TreeIter iter;

            var           msg   = Catalog.GetString("Add file");
            List <string> paths = FileChooserHelper.OpenFiles(this, msg, null,
                                                              Config.HomeDir, null, null);

            foreach (string path in paths)
            {
                MediaFile mediaFile = Misc.DiscoverFile(path, this);
                if (mediaFile != null)
                {
                    AppendFile(mediaFile);
                }
            }
            CheckStatus();

            if (Files.Count > 0)
            {
                maxHeight = Files.Max(f => f.VideoHeight);
                sizecombobox.GetActiveIter(out iter);
                selectedVideoStandard = stdStore.GetValue(iter, 1) as VideoStandard;
                FillStandards();
            }
        }
Exemplo n.º 3
0
        void SetStyle(int height, int fontSize, int timeWidth)
        {
            string font = String.Format("{0} {1}px", Config.Style.Font, fontSize);

            Pango.FontDescription desc = Pango.FontDescription.FromString(font);

            controllerbox.HeightRequest = height;
            hourseventbox.ModifyBg(StateType.Normal, Misc.ToGdkColor(Config.Style.PaletteBackgroundDark));
            hourlabel.ModifyFg(StateType.Normal, Misc.ToGdkColor(Config.Style.PaletteText));
            hourlabel.ModifyFont(desc);
            hourseventbox.WidthRequest = timeWidth;
            minuteseventbox.ModifyBg(StateType.Normal, Misc.ToGdkColor(Config.Style.PaletteBackgroundDark));
            minuteslabel.ModifyFg(StateType.Normal, Misc.ToGdkColor(Config.Style.PaletteText));
            minuteslabel.ModifyFont(desc);
            minuteseventbox.WidthRequest = timeWidth;
            secondseventbox.ModifyBg(StateType.Normal, Misc.ToGdkColor(Config.Style.PaletteBackgroundDark));
            secondslabel.ModifyFg(StateType.Normal, Misc.ToGdkColor(Config.Style.PaletteText));
            secondslabel.ModifyFont(desc);
            secondseventbox.WidthRequest = timeWidth;
            label1.ModifyFont(desc);
            label1.ModifyFg(StateType.Normal, Misc.ToGdkColor(Config.Style.PaletteText));
            label2.ModifyFont(desc);
            label2.ModifyFg(StateType.Normal, Misc.ToGdkColor(Config.Style.PaletteText));
            periodlabel.ModifyFont(desc);
            periodlabel.ModifyFg(StateType.Normal, Misc.ToGdkColor(Config.Style.PaletteText));
        }
Exemplo n.º 4
0
 void FillFormats()
 {
     videoStandardList = Misc.FillImageFormat(imagecombobox, VideoStandards.Capture,
                                              Config.CaptureVideoStandard);
     encProfileList = Misc.FillEncodingFormat(encodingcombobox, Config.CaptureEncodingProfile);
     qualList       = Misc.FillQuality(qualitycombobox, Config.CaptureEncodingQuality);
 }
Exemplo n.º 5
0
 public VideoEditionProperties()
 {
     this.Build();
     encSettings = new EncodingSettings();
     stdStore    = Misc.FillImageFormat(sizecombobox, Config.RenderVideoStandard);
     encStore    = Misc.FillEncodingFormat(formatcombobox, Config.RenderEncodingProfile);
     qualStore   = Misc.FillQuality(qualitycombobox, Config.RenderEncodingQuality);
 }
Exemplo n.º 6
0
 void SetButtonColor(DrawingArea area, Color color)
 {
     Gdk.Color gcolor = Misc.ToGdkColor(color);
     area.ModifyBg(StateType.Normal, gcolor);
     area.ModifyBg(StateType.Active, gcolor);
     area.ModifyBg(StateType.Insensitive, gcolor);
     area.ModifyBg(StateType.Prelight, gcolor);
     area.ModifyBg(StateType.Selected, gcolor);
 }
Exemplo n.º 7
0
        void SetStyle()
        {
            FontDescription desc = FontDescription.FromString(Config.Style.Font + " 18");

            infoeventbox.ModifyBg(StateType.Normal, Misc.ToGdkColor(Config.Style.PaletteBackgroundDark));
            infolabel.ModifyFg(StateType.Normal, Misc.ToGdkColor(Config.Style.PaletteText));
            infolabel.ModifyFont(desc);
            videoseventbox.ModifyBg(StateType.Normal, Misc.ToGdkColor(Config.Style.PaletteBackgroundDark));
            videoslabel.ModifyFg(StateType.Normal, Misc.ToGdkColor(Config.Style.PaletteText));
            videoslabel.ModifyFont(desc);
        }
Exemplo n.º 8
0
        void HandleDrawableChangedEvent(IBlackboardObject drawable)
        {
            selectedDrawable = drawable as Drawable;

            colorbutton.Sensitive = !(drawable is Text);

            ignoreChanges = true;
            if (selectedDrawable == null)
            {
                colorbutton.Color           = Misc.ToGdkColor(blackboard.Color);
                textcolorbutton.Color       = Misc.ToGdkColor(blackboard.TextColor);
                backgroundcolorbutton.Color = Misc.ToGdkColor(blackboard.TextBackgroundColor);
                backgroundcolorbutton.Alpha = Color.ByteToUShort(blackboard.TextBackgroundColor.A);
                linesizespinbutton.Value    = OriginalSize(blackboard.LineWidth);
                if (blackboard.LineStyle == LineStyle.Normal)
                {
                    stylecombobox.Active = 0;
                }
                else
                {
                    stylecombobox.Active = 1;
                }
                typecombobox.Active = (int)blackboard.LineType;
            }
            else
            {
                if (drawable is Text)
                {
                    textcolorbutton.Color       = Misc.ToGdkColor((selectedDrawable as Text).TextColor);
                    backgroundcolorbutton.Color = Misc.ToGdkColor(selectedDrawable.FillColor);
                    backgroundcolorbutton.Alpha = Color.ByteToUShort(selectedDrawable.FillColor.A);
                    textspinbutton.Value        = OriginalSize((selectedDrawable as Text).TextSize);
                }
                else
                {
                    colorbutton.Color = Misc.ToGdkColor(selectedDrawable.StrokeColor);
                }
                if (drawable is Line)
                {
                    typecombobox.Active = (int)(drawable as Line).Type;
                }
                linesizespinbutton.Value = OriginalSize(selectedDrawable.LineWidth);
                if (selectedDrawable.Style == LineStyle.Normal)
                {
                    stylecombobox.Active = 0;
                }
                else
                {
                    stylecombobox.Active = 1;
                }
            }
            ignoreChanges = false;
        }
Exemplo n.º 9
0
        public ProjectsManagerPanel(Project openedProject)
        {
            this.openedProject = openedProject;
            this.DB            = Config.DatabaseManager.ActiveDB;
            this.gkit          = Config.GUIToolkit;
            this.Build();

            this.videoFileInfos = new List <VideoFileInfo> ();

            savebuttonimage.Pixbuf   = Misc.LoadIcon("longomatch-project-save", 34);
            exportbuttonimage.Pixbuf = Misc.LoadIcon("longomatch-project-export", 34);
            resyncbuttonimage.Pixbuf = Misc.LoadIcon("longomatch-project-resync", 34);
            deletebuttonimage.Pixbuf = Misc.LoadIcon("longomatch-project-delete", 34);
            openbuttonimage.Pixbuf   = Misc.LoadIcon("longomatch-project-open", 34);

            // Force tooltips to be translatable as there seems to be a bug in stetic
            // code generation for translatable tooltips.
            savebutton.TooltipMarkup   = Catalog.GetString("Save");
            exportbutton.TooltipMarkup = Catalog.GetString("Export");
            openbutton.TooltipMarkup   = Catalog.GetString("Open");
            deletebutton.TooltipMarkup = Catalog.GetString("Delete");

            notebook1.ShowTabs                   = false;
            notebook1.ShowBorder                 = false;
            projectlistwidget1.SelectionMode     = SelectionMode.Multiple;
            projectlistwidget1.ProjectsSelected += HandleProjectsSelected;
            projectlistwidget1.Fill(DB.GetAllProjects());

            seasonentry.Changed         += HandleChanged;
            competitionentry.Changed    += HandleChanged;
            savebutton.Clicked          += HandleSaveClicked;
            exportbutton.Clicked        += HandleExportClicked;
            resyncbutton.Clicked        += HandleResyncClicked;
            deletebutton.Clicked        += HandleDeleteClicked;
            openbutton.Clicked          += HandleOpenClicked;
            datepicker.ValueChanged     += HandleDateChanged;
            desctextview.Buffer.Changed += HandleChanged;

            notebook1.Page            = 0;
            panelheader1.Title        = Catalog.GetString("PROJECTS MANAGER");
            panelheader1.ApplyVisible = false;
            panelheader1.BackClicked += HandleBackClicked;

            projectlistwidget1.ShowList = true;

            // Only visible when multi camera is supported. Indeed periods can be edited in the timeline of the project.
            resyncbutton.Visible = Config.SupportsMultiCamera;

            SetStyle();
        }
Exemplo n.º 10
0
        public CapturerBin()
        {
            this.Build();
            LongoMatch.Gui.Helpers.Misc.SetFocus(vbox1, false);
            videowindow.ReadyEvent  += HandleReady;
            videowindow.ExposeEvent += HandleExposeEvent;
            videowindow.CanFocus     = true;
            recbutton.Clicked       += (sender, e) => StartPeriod();
            stopbutton.Clicked      += (sender, e) => StopPeriod();
            pausebutton.Clicked     += (sender, e) => PausePeriod();
            resumebutton.Clicked    += (sender, e) => ResumePeriod();
            savebutton.Clicked      += HandleSaveClicked;
            cancelbutton.Clicked    += HandleCloseClicked;

            // Force tooltips to be translatable as there seems to be a bug in stetic
            // code generation for translatable tooltips.
            recbutton.TooltipMarkup        = Catalog.GetString("Start recording period");
            stopbutton.TooltipMarkup       = Catalog.GetString("Stop recording period");
            pausebutton.TooltipMarkup      = Catalog.GetString("Pause clock");
            resumebutton.TooltipMarkup     = Catalog.GetString("Resume clock");
            savebutton.TooltipMarkup       = Catalog.GetString("Save project");
            cancelbutton.TooltipMarkup     = Catalog.GetString("Cancel capture");
            deletelastbutton.TooltipMarkup = Catalog.GetString("Delete event");
            playlastbutton.TooltipMarkup   = Catalog.GetString("Replay event");

            recimage.Pixbuf = Misc.LoadIcon("longomatch-control-record",
                                            StyleConf.PlayerCapturerIconSize);
            stopimage.Pixbuf = Misc.LoadIcon("longomatch-stop",
                                             StyleConf.PlayerCapturerIconSize);
            pauseimage.Pixbuf = Misc.LoadIcon("longomatch-pause-clock",
                                              StyleConf.PlayerCapturerIconSize);
            resumeimage.Pixbuf = Misc.LoadIcon("longomatch-resume-clock",
                                               StyleConf.PlayerCapturerIconSize);
            saveimage.Pixbuf = Misc.LoadIcon("longomatch-save",
                                             StyleConf.PlayerCapturerIconSize);
            cancelimage.Pixbuf = Misc.LoadIcon("longomatch-cancel-rec",
                                               StyleConf.PlayerCapturerIconSize);
            deletelastimage.Pixbuf = Misc.LoadIcon("longomatch-delete",
                                                   StyleConf.PlayerCapturerIconSize);
            playlastimage.Pixbuf = Misc.LoadIcon("longomatch-control-play",
                                                 StyleConf.PlayerCapturerIconSize);
            lasteventbox.Visible      = false;
            deletelastbutton.Clicked += HandleDeleteLast;
            playlastbutton.Clicked   += HandlePlayLast;
            Periods = new List <Period> ();
            Reset();
            Mode = CapturerType.Live;
            Config.EventsBroker.EventCreatedEvent += HandleEventCreated;
            lastlabel.ModifyFont(Pango.FontDescription.FromString(Config.Style.Font + " 8px"));
        }
Exemplo n.º 11
0
        void HandleTextColorSet(object sender, EventArgs e)
        {
            if (ignoreChanges)
            {
                return;
            }

            if (selectedDrawable is Text)
            {
                (selectedDrawable as Text).TextColor = Misc.ToLgmColor(textcolorbutton.Color);
                QueueDraw();
            }
            else
            {
                blackboard.TextColor = Misc.ToLgmColor(textcolorbutton.Color);
            }
        }
Exemplo n.º 12
0
 public VideoEditionProperties(Window parent)
 {
     TransientFor = parent;
     this.Build();
     encSettings = new EncodingSettings();
     stdStore    = Misc.FillImageFormat(sizecombobox, VideoStandards.Rendering,
                                        Config.RenderVideoStandard);
     encStore  = Misc.FillEncodingFormat(formatcombobox, Config.RenderEncodingProfile);
     qualStore = Misc.FillQuality(qualitycombobox, Config.RenderEncodingQuality);
     descriptioncheckbutton.Active      = Config.OverlayTitle;
     audiocheckbutton.Active            = Config.EnableAudio;
     mediafilechooser1.FileChooserMode  = FileChooserMode.File;
     mediafilechooser1.FilterName       = "Multimedia Files";
     mediafilechooser1.FilterExtensions = new string[] { "*.mkv", "*.mp4", "*.ogg",
                                                         "*.avi", "*.mpg", "*.vob" };
     mediafilechooser2.FileChooserMode = FileChooserMode.Directory;
     mediafilechooser2.ChangedEvent   += (sender, e) => {
         OutputDir = mediafilechooser2.CurrentPath;
     };
 }
Exemplo n.º 13
0
 public VideoConversionTool()
 {
     this.Build();
     buttonOk.Sensitive = false;
     Files = new List <MediaFile> ();
     supportedVideoStandards = VideoStandards.Transcode;
     maxHeight = supportedVideoStandards [0].Height;
     mediafilechooser1.FileChooserMode  = FileChooserMode.File;
     mediafilechooser1.ChangedEvent    += HandleFileChanges;
     mediafilechooser1.ProposedFileName = String.Format("{0}-Video-{1}.mp4", Constants.SOFTWARE_NAME,
                                                        DateTime.Now.ToShortDateString().Replace('/', '-'));
     FillStandards();
     FillBitrates();
     addbutton1.Clicked += OnAddbuttonClicked;
     buttonOk.Clicked   += OnButtonOkClicked;
     convertimage.Pixbuf = Misc.LoadIcon("longomatch-video-converter-big", 64);
     addimage.Pixbuf     = Misc.LoadStockIcon(addimage, "gtk-add", IconSize.Button);
     eventbox1.ModifyBg(StateType.Normal, Misc.ToGdkColor(Config.Style.PaletteBackgroundDark));
     addbutton1.CanFocus     = false;
     scrolledwindow1.Visible = false;
 }
Exemplo n.º 14
0
        void HandleColorSet(object sender, EventArgs e)
        {
            if (ignoreChanges)
            {
                return;
            }

            if (selectedDrawable != null)
            {
                selectedDrawable.StrokeColor = Misc.ToLgmColor(colorbutton.Color);
                if (selectedDrawable.FillColor != null)
                {
                    Color c = Misc.ToLgmColor(colorbutton.Color);
                    c.A = selectedDrawable.FillColor.A;
                    selectedDrawable.FillColor = c;
                }
                QueueDraw();
            }
            else
            {
                blackboard.Color = Misc.ToLgmColor(colorbutton.Color);
            }
        }
Exemplo n.º 15
0
        void HandleBackgroundColorSet(object sender, EventArgs e)
        {
            Color c;

            if (ignoreChanges)
            {
                return;
            }


            c = Misc.ToLgmColor(backgroundcolorbutton.Color,
                                backgroundcolorbutton.Alpha);
            if (selectedDrawable is Text)
            {
                Text t = (selectedDrawable as Text);
                t.FillColor = t.StrokeColor = c;
                QueueDraw();
            }
            else
            {
                blackboard.TextBackgroundColor = c;
            }
        }
Exemplo n.º 16
0
        public DrawingTool(Window parent)
        {
            TransientFor = parent;
            this.Build();
            savebutton.Clicked          += OnSavebuttonClicked;
            savetoprojectbutton.Clicked += OnSavetoprojectbuttonClicked;
            blackboard = new Blackboard(new WidgetWrapper(drawingarea));
            blackboard.ConfigureObjectEvent    += HandleConfigureObjectEvent;
            blackboard.ShowMenuEvent           += HandleShowMenuEvent;
            blackboard.DrawableChangedEvent    += HandleDrawableChangedEvent;
            blackboard.RegionOfInterestChanged += HandleRegionOfInterestChanged;

            selectbutton.Active = true;

            selectbuttonimage.Pixbuf          = Misc.LoadIcon("longomatch-select", 20);
            eraserbuttonimage.Pixbuf          = Misc.LoadIcon("longomatch-eraser", 20);
            penbuttonimage.Pixbuf             = Misc.LoadIcon("longomatch-pencil", 20);
            textbuttonimage.Pixbuf            = Misc.LoadIcon("longomatch-text", 20);
            linebuttonimage.Pixbuf            = Misc.LoadIcon("longomatch-arrow", 20);
            crossbuttonimage.Pixbuf           = Misc.LoadIcon("longomatch-mark", 20);
            rectanglebuttonimage.Pixbuf       = Misc.LoadIcon("longomatch-square", 20);
            ellipsebuttonimage.Pixbuf         = Misc.LoadIcon("longomatch-circle", 20);
            rectanglefilledbuttonimage.Pixbuf = Misc.LoadIcon("longomatch-square-fill", 20);
            ellipsefilledbuttonimage.Pixbuf   = Misc.LoadIcon("longomatch-circle-fill", 20);
            playerbuttonimage.Pixbuf          = Misc.LoadIcon("longomatch-person", 20);
            numberbuttonimage.Pixbuf          = Misc.LoadIcon("longomatch-counter", 20);
            anglebuttonimage.Pixbuf           = Misc.LoadIcon("longomatch-angle", 20);
            zoombuttonimage.Pixbuf            = Misc.LoadIcon("longomatch-search", 20);
            zoomoutimage.Pixbuf = Helpers.Misc.LoadIcon("longomatch-zoom-out", 14);
            zoominimage.Pixbuf  = Helpers.Misc.LoadIcon("longomatch-zoom-in", 14);

            selectbutton.Toggled          += HandleToolClicked;
            eraserbutton.Toggled          += HandleToolClicked;
            penbutton.Toggled             += HandleToolClicked;
            textbutton.Toggled            += HandleToolClicked;
            linebutton.Toggled            += HandleToolClicked;
            crossbutton.Toggled           += HandleToolClicked;
            rectanglebutton.Toggled       += HandleToolClicked;
            ellipsebutton.Toggled         += HandleToolClicked;
            rectanglefilledbutton.Toggled += HandleToolClicked;
            ellipsefilledbutton.Toggled   += HandleToolClicked;
            playerbutton.Toggled          += HandleToolClicked;
            anglebutton.Toggled           += HandleToolClicked;
            numberbutton.Toggled          += HandleToolClicked;
            zoombutton.Toggled            += HandleToolClicked;

            // Force tooltips to be translatable as there seems to be a bug in stetic
            // code generation for translatable tooltips.
            selectbutton.TooltipMarkup          = Catalog.GetString("Selection tool");
            eraserbutton.TooltipMarkup          = Catalog.GetString("Rubber tool");
            penbutton.TooltipMarkup             = Catalog.GetString("Pencil tool");
            textbutton.TooltipMarkup            = Catalog.GetString("Text tool");
            linebutton.TooltipMarkup            = Catalog.GetString("Line tool");
            crossbutton.TooltipMarkup           = Catalog.GetString("Cross tool");
            rectanglebutton.TooltipMarkup       = Catalog.GetString("Rectangle tool");
            ellipsebutton.TooltipMarkup         = Catalog.GetString("Ellipse tool");
            rectanglefilledbutton.TooltipMarkup = Catalog.GetString("Filled rectangle tool");
            ellipsefilledbutton.TooltipMarkup   = Catalog.GetString("Filled ellipse tool");
            playerbutton.TooltipMarkup          = Catalog.GetString("Player tool");
            numberbutton.TooltipMarkup          = Catalog.GetString("Index tool");
            anglebutton.TooltipMarkup           = Catalog.GetString("Angle tool");
            stylecombobox.TooltipMarkup         = Catalog.GetString("Change the line style");
            typecombobox.TooltipMarkup          = Catalog.GetString("Change the line style");
            clearbutton.TooltipMarkup           = Catalog.GetString("Clear all drawings");
            zoombutton.TooltipMarkup            = Catalog.GetString("Zoom tool. Click to zoom in, Alt+Shift to zoom out");

            FillLineStyle();
            FillLineType();

            colorbutton.ColorSet           += HandleColorSet;
            colorbutton.Color               = Misc.ToGdkColor(Color.Red1);
            blackboard.Color                = Color.Red1;
            textcolorbutton.ColorSet       += HandleTextColorSet;
            textcolorbutton.Color           = Misc.ToGdkColor(Color.White);
            blackboard.TextColor            = Color.White;
            backgroundcolorbutton.UseAlpha  = true;
            backgroundcolorbutton.Alpha     = (ushort)(ushort.MaxValue * 0.8);
            backgroundcolorbutton.ColorSet += HandleBackgroundColorSet;
            backgroundcolorbutton.Color     = Misc.ToGdkColor(Color.Green1);
            blackboard.TextBackgroundColor  = Misc.ToLgmColor(backgroundcolorbutton.Color,
                                                              backgroundcolorbutton.Alpha);
            textspinbutton.Value             = 12;
            textspinbutton.ValueChanged     += (sender, e) => UpdateTextSize();
            linesizespinbutton.ValueChanged += (sender, e) => UpdateLineWidth();
            linesizespinbutton.Value         = 4;

            clearbutton.Clicked += HandleClearClicked;
            zoomscale.CanFocus   = false;
            zoomscale.SetRange(1, 4);
            zoomscale.SetIncrements(0.2, 0.2);
            zoomscale.ValueChanged  += HandleZoomValueChanged;
            hscrollbar.ValueChanged += HandleScrollValueChanged;
            wscrollbar.ValueChanged += HandleScrollValueChanged;
            hscrollbar.Visible       = wscrollbar.Visible = false;
            zoomscale.Value          = 1;

            if (!Config.SupportsZoom)
            {
                zoombox.Visible    = false;
                zoombutton.Visible = false;
                hscrollbar.Visible = false;
                wscrollbar.Visible = false;
            }
        }