[longomatch] Start with code formatting
- From: Andoni Morales Alastruey <amorales src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [longomatch] Start with code formatting
- Date: Mon, 4 Aug 2014 13:11:59 +0000 (UTC)
commit aabac4429957a45e3ae29d15a21eb13585549a66
Author: Andoni Morales Alastruey <ylatuya gmail com>
Date: Mon Aug 4 14:12:59 2014 +0200
Start with code formatting
LongoMatch.GUI.Multimedia/gtk-gui/objects.xml | 35 --
LongoMatch.GUI/gtk-gui/objects.xml | 319 -----------------
LongoMatch.Multimedia/Capturer/FakeCapturer.cs | 71 ++--
LongoMatch.Multimedia/Capturer/LiveSourceTimer.cs | 50 ++--
LongoMatch.Multimedia/Common/Constants.cs | 6 +-
LongoMatch.Multimedia/Common/Enum.cs | 29 +-
LongoMatch.Multimedia/Common/Handlers.cs | 57 ++--
.../Converter/GstVideoConverter.cs | 7 +-
LongoMatch.Multimedia/Editor/GstVideoSplitter.cs | 189 +++++-----
LongoMatch.Multimedia/Player/GstPlayer.cs | 371 +++++++++++---------
LongoMatch.Multimedia/Player/ObjectManager.cs | 15 +-
LongoMatch.Multimedia/Remuxer/GstRemuxer.cs | 184 +++++-----
LongoMatch.Multimedia/Remuxer/MpegRemuxer.cs | 48 ++--
LongoMatch.Multimedia/Remuxer/ObjectManager.cs | 14 +-
LongoMatch.Multimedia/Utils/GStreamer.cs | 80 +++--
LongoMatch.Multimedia/Utils/GstDiscoverer.cs | 67 ++--
LongoMatch.Multimedia/Utils/MultimediaFactory.cs | 131 ++++----
LongoMatch.Multimedia/Utils/Seeker.cs | 16 +-
LongoMatch.Multimedia/Utils/TimeString.cs | 51 ++--
LongoMatch.Multimedia/Utils/VideoDevice.cs | 26 +-
LongoMatch.Multimedia/Utils/WindowHandle.cs | 3 +-
LongoMatch.Plugins/CSVExporter.cs | 76 +++--
LongoMatch.Services/Services/Core.cs | 121 ++++---
LongoMatch.Services/Services/DataBaseManager.cs | 62 ++--
LongoMatch.Services/Services/EventsManager.cs | 135 ++++----
LongoMatch.Services/Services/FileDB.cs | 134 ++++----
LongoMatch.Services/Services/HotKeysManager.cs | 43 +--
LongoMatch.Services/Services/PlaylistManager.cs | 161 +++++----
LongoMatch.Services/Services/ProjectsManager.cs | 231 ++++++------
.../Services/RenderingJobsManager.cs | 295 ++++++++--------
LongoMatch.Services/Services/TemplatesService.cs | 186 +++++-----
LongoMatch.Services/Services/ToolsManager.cs | 119 +++----
LongoMatch/Main.cs | 115 +++----
33 files changed, 1591 insertions(+), 1856 deletions(-)
---
diff --git a/LongoMatch.GUI.Multimedia/gtk-gui/objects.xml b/LongoMatch.GUI.Multimedia/gtk-gui/objects.xml
index 6457e6c..2c33b19 100644
--- a/LongoMatch.GUI.Multimedia/gtk-gui/objects.xml
+++ b/LongoMatch.GUI.Multimedia/gtk-gui/objects.xml
@@ -1,37 +1,2 @@
<objects attr-sync="on">
- <object type="LongoMatch.Gui.CapturerBin" palette-category="General" allow-children="false"
base-type="Gtk.Bin">
- <itemgroups>
- <itemgroup label="CapturerBin Properties">
- <property name="Capturing" />
- </itemgroup>
- </itemgroups>
- <signals />
- </object>
- <object type="LongoMatch.Gui.PlayerBin" palette-category="General" allow-children="false"
base-type="Gtk.Bin">
- <itemgroups>
- <itemgroup label="IPlayerBin Properties">
- <property name="Sensitive" />
- </itemgroup>
- </itemgroups>
- <signals>
- <itemgroup label="PlayerBin Signals">
- <signal name="Tick" />
- <signal name="PlayStateChanged" />
- <signal name="SeekEvent" />
- </itemgroup>
- </signals>
- </object>
- <object type="LongoMatch.Gui.PlayerCapturerBin" palette-category="General" allow-children="false"
base-type="Gtk.Bin">
- <itemgroups>
- <itemgroup label="IPlayerBin Properties">
- <property name="Sensitive" />
- </itemgroup>
- </itemgroups>
- <signals>
- <itemgroup label="IPlayerBin Signals">
- <signal name="PlayStateChanged" />
- <signal name="SeekEvent" />
- </itemgroup>
- </signals>
- </object>
</objects>
\ No newline at end of file
diff --git a/LongoMatch.GUI/gtk-gui/objects.xml b/LongoMatch.GUI/gtk-gui/objects.xml
index 61a8a55..2c33b19 100644
--- a/LongoMatch.GUI/gtk-gui/objects.xml
+++ b/LongoMatch.GUI/gtk-gui/objects.xml
@@ -1,321 +1,2 @@
<objects attr-sync="on">
- <object type="LongoMatch.Gui.Popup.TransparentDrawingArea" palette-category="General"
allow-children="false" base-type="Gtk.Window">
- <itemgroups />
- <signals />
- </object>
- <object type="LongoMatch.Gui.Component.ButtonsWidget" palette-category="General" allow-children="false"
base-type="Gtk.Bin">
- <itemgroups>
- <itemgroup label="ButtonsWidget Properties">
- <property name="Edited" />
- </itemgroup>
- </itemgroups>
- <signals>
- <itemgroup label="ButtonsWidget Signals">
- <signal name="NewTagEvent" />
- </itemgroup>
- </signals>
- </object>
- <object type="LongoMatch.Gui.Component.NotesWidget" palette-category="General" allow-children="false"
base-type="Gtk.Bin">
- <itemgroups />
- <signals />
- </object>
- <object type="LongoMatch.Gui.Component.PlayersTreeView" palette-category="General" allow-children="false"
base-type="Gtk.TreeView">
- <itemgroups />
- <signals />
- </object>
- <object type="LongoMatch.Gui.Component.PlayListTreeView" palette-category="General" allow-children="false"
base-type="Gtk.TreeView">
- <itemgroups />
- <signals />
- </object>
- <object type="LongoMatch.Gui.Component.PlaysTreeView" palette-category="General" allow-children="false"
base-type="Gtk.TreeView">
- <itemgroups />
- <signals>
- <itemgroup label="PlaysTreeView Signals">
- <signal name="EditProperties" />
- </itemgroup>
- </signals>
- </object>
- <object type="LongoMatch.Gui.Component.PlayersListTreeWidget" palette-category="General"
allow-children="false" base-type="Gtk.Bin">
- <itemgroups />
- <signals />
- </object>
- <object type="LongoMatch.Gui.Component.PlayListWidget" palette-category="General" allow-children="false"
base-type="Gtk.Bin">
- <itemgroups />
- <signals>
- <itemgroup label="PlayListWidget Signals">
- <signal name="PlayListNodeSelected" />
- <signal name="OpenPlaylistEvent" />
- <signal name="NewPlaylistEvent" />
- <signal name="SavePlaylistEvent" />
- <signal name="RenderPlaylistEvent" />
- </itemgroup>
- </signals>
- </object>
- <object type="LongoMatch.Gui.Component.ProjectListWidget" palette-category="General"
allow-children="false" base-type="Gtk.Bin">
- <itemgroups />
- <signals>
- <itemgroup label="ProjectListWidget Signals">
- <signal name="ProjectsSelected" />
- <signal name="ProjectSelected" />
- </itemgroup>
- </signals>
- </object>
- <object type="LongoMatch.Gui.Component.CategoryProperties" palette-category="General"
allow-children="false" base-type="Gtk.Bin">
- <itemgroups>
- <itemgroup label="CategoryProperties Properties">
- <property name="Edited" />
- </itemgroup>
- </itemgroups>
- <signals>
- <itemgroup label="CategoryProperties Signals">
- <signal name="HotKeyChanged" />
- <signal name="EditedEvent" />
- </itemgroup>
- </signals>
- </object>
- <object type="LongoMatch.Gui.Component.PlaysListTreeWidget" palette-category="General"
allow-children="false" base-type="Gtk.Bin">
- <itemgroups />
- <signals />
- </object>
- <object type="LongoMatch.Gui.Component.RenderingStateBar" palette-category="General"
allow-children="false" base-type="Gtk.Bin">
- <itemgroups>
- <itemgroup label="IRenderingStateBar Properties">
- <property name="Fraction" />
- </itemgroup>
- </itemgroups>
- <signals>
- <itemgroup label="IRenderingStateBar Signals">
- <signal name="Cancel" />
- <signal name="ManageJobs" />
- </itemgroup>
- </signals>
- </object>
- <object type="LongoMatch.Gui.Component.RenderingJobsTreeView" palette-category="General"
allow-children="false" base-type="Gtk.TreeView">
- <itemgroups />
- <signals />
- </object>
- <object type="LongoMatch.Gui.Component.PlaysSelectionWidget" palette-category="General"
allow-children="false" base-type="Gtk.Bin">
- <itemgroups />
- <signals />
- </object>
- <object type="LongoMatch.Gui.Component.PlayersFilterTreeView" palette-category="General"
allow-children="false" base-type="Gtk.TreeView">
- <itemgroups />
- <signals />
- </object>
- <object type="LongoMatch.Gui.Component.CategoriesFilterTreeView" palette-category="General"
allow-children="false" base-type="Gtk.TreeView">
- <itemgroups />
- <signals />
- </object>
- <object type="LongoMatch.Gui.Component.CoordinatesTagger" palette-category="General"
allow-children="false" base-type="Gtk.Bin">
- <itemgroups />
- <signals />
- </object>
- <object type="LongoMatch.Gui.Component.GeneralPreferencesPanel" palette-category="General"
allow-children="false" base-type="Gtk.Bin">
- <itemgroups />
- <signals />
- </object>
- <object type="LongoMatch.Gui.Component.VideoPreferencesPanel" palette-category="General"
allow-children="false" base-type="Gtk.Bin">
- <itemgroups />
- <signals />
- </object>
- <object type="LongoMatch.Gui.Component.LiveAnalysisPreferences" palette-category="General"
allow-children="false" base-type="Gtk.Bin">
- <itemgroups />
- <signals />
- </object>
- <object type="LongoMatch.Gui.Component.PlaysCoordinatesTagger" palette-category="General"
allow-children="false" base-type="Gtk.Bin">
- <itemgroups />
- <signals />
- </object>
- <object type="LongoMatch.Gui.Component.Stats.CategoryViewer" palette-category="General"
allow-children="false" base-type="Gtk.Bin">
- <itemgroups>
- <itemgroup label="CategoryViewer Properties">
- <property name="HomeName" />
- <property name="AwayName" />
- </itemgroup>
- </itemgroups>
- <signals />
- </object>
- <object type="LongoMatch.Gui.Component.Stats.Plotter" palette-category="General" allow-children="false"
base-type="Gtk.Bin">
- <itemgroups>
- <itemgroup label="Plotter Properties">
- <property name="ShowTeams" />
- <property name="HomeName" />
- <property name="AwayName" />
- </itemgroup>
- </itemgroups>
- <signals />
- </object>
- <object type="LongoMatch.Gui.Component.Stats.CategoriesViewer" palette-category="General"
allow-children="false" base-type="Gtk.Bin">
- <itemgroups />
- <signals />
- </object>
- <object type="LongoMatch.Gui.Component.GameViewer" palette-category="General" allow-children="false"
base-type="Gtk.Bin">
- <itemgroups />
- <signals />
- </object>
- <object type="LongoMatch.Gui.Component.Stats.PlayersViewer" palette-category="General"
allow-children="false" base-type="Gtk.Bin">
- <itemgroups />
- <signals />
- </object>
- <object type="LongoMatch.Gui.Component.Stats.PlayerCategoriesViewer" palette-category="General"
allow-children="false" base-type="Gtk.Bin">
- <itemgroups />
- <signals />
- </object>
- <object type="LongoMatch.Gui.Component.Stats.PlayerCategoryViewer" palette-category="General"
allow-children="false" base-type="Gtk.Bin">
- <itemgroups />
- <signals />
- </object>
- <object type="LongoMatch.Gui.Component.Stats.PlayerSubcategoryViewer" palette-category="General"
allow-children="false" base-type="Gtk.Bin">
- <itemgroups />
- <signals />
- </object>
- <object type="LongoMatch.Gui.Component.AnalysisComponent" palette-category="General"
allow-children="false" base-type="Gtk.Bin">
- <itemgroups />
- <signals />
- </object>
- <object type="LongoMatch.Gui.Panel.WelcomePanel" palette-category="General" allow-children="false"
base-type="Gtk.Bin">
- <itemgroups />
- <signals />
- </object>
- <object type="LongoMatch.Gui.Component.BackgroundWidget" palette-category="General" allow-children="false"
base-type="Gtk.Bin">
- <itemgroups />
- <signals />
- </object>
- <object type="LongoMatch.Gui.Panel.OpenProjectPanel" palette-category="General" allow-children="false"
base-type="Gtk.Bin">
- <itemgroups />
- <signals>
- <itemgroup label="IPanel Signals">
- <signal name="BackEvent" />
- </itemgroup>
- </signals>
- </object>
- <object type="LongoMatch.Gui.Panel.NewProjectPanel" palette-category="General" allow-children="false"
base-type="Gtk.Bin">
- <itemgroups />
- <signals>
- <itemgroup label="IPanel Signals">
- <signal name="BackEvent" />
- </itemgroup>
- </signals>
- </object>
- <object type="LongoMatch.Gui.Panel.TeamsTemplatesPanel" palette-category="General" allow-children="false"
base-type="Gtk.Bin">
- <itemgroups />
- <signals>
- <itemgroup label="IPanel Signals">
- <signal name="BackEvent" />
- </itemgroup>
- </signals>
- </object>
- <object type="LongoMatch.Gui.Component.TeamTemplateEditor" palette-category="General"
allow-children="false" base-type="Gtk.Bin">
- <itemgroups>
- <itemgroup label="TeamTemplateEditor Properties">
- <property name="Edited" />
- </itemgroup>
- </itemgroups>
- <signals>
- <itemgroup label="TeamTemplateEditor Signals">
- <signal name="TemplateSaved" />
- </itemgroup>
- </signals>
- </object>
- <object type="LongoMatch.Gui.Panel.ProjectsManagerPanel" palette-category="General" allow-children="false"
base-type="Gtk.Bin">
- <itemgroups />
- <signals>
- <itemgroup label="IPanel Signals">
- <signal name="BackEvent" />
- </itemgroup>
- </signals>
- </object>
- <object type="LongoMatch.Gui.Panel.SportsTemplatesPanel" palette-category="General" allow-children="false"
base-type="Gtk.Bin">
- <itemgroups />
- <signals>
- <itemgroup label="IPanel Signals">
- <signal name="BackEvent" />
- </itemgroup>
- </signals>
- </object>
- <object type="LongoMatch.Gui.Panel.PreferencesPanel" palette-category="General" allow-children="false"
base-type="Gtk.Bin">
- <itemgroups />
- <signals>
- <itemgroup label="IPanel Signals">
- <signal name="BackEvent" />
- </itemgroup>
- </signals>
- </object>
- <object type="LongoMatch.Gui.Component.Timeline" palette-category="General" allow-children="false"
base-type="Gtk.Bin">
- <itemgroups />
- <signals />
- </object>
- <object type="LongoMatch.Gui.Component.CodingWidget" palette-category="General" allow-children="false"
base-type="Gtk.Bin">
- <itemgroups />
- <signals />
- </object>
- <object type="LongoMatch.Gui.Component.ProjectPeriods" palette-category="General" allow-children="false"
base-type="Gtk.Bin">
- <itemgroups />
- <signals />
- </object>
- <object type="LongoMatch.Gui.Component.PeriodsRecoder" palette-category="General" allow-children="false"
base-type="Gtk.Bin">
- <itemgroups />
- <signals />
- </object>
- <object type="LongoMatch.Gui.Component.PlaysPositionViewer" palette-category="General"
allow-children="false" base-type="Gtk.Bin">
- <itemgroups />
- <signals />
- </object>
- <object type="LongoMatch.Gui.Component.PlayerPropertiesTreeView" palette-category="General"
allow-children="false" base-type="Gtk.TreeView">
- <itemgroups />
- <signals>
- <itemgroup label="PlayerPropertiesTreeView Signals">
- <signal name="PlayerClicked" />
- <signal name="PlayersSelected" />
- </itemgroup>
- </signals>
- </object>
- <object type="LongoMatch.Gui.Component.CategoriesTreeView" palette-category="General"
allow-children="false" base-type="Gtk.TreeView">
- <itemgroups />
- <signals>
- <itemgroup label="CategoriesTreeView Signals">
- <signal name="CategoryClicked" />
- <signal name="CategoriesSelected" />
- </itemgroup>
- </signals>
- </object>
- <object type="LongoMatch.Gui.Component.Stats.SubCategoryViewer" palette-category="General"
allow-children="false" base-type="Gtk.Bin">
- <itemgroups />
- <signals />
- </object>
- <object type="LongoMatch.Gui.CapturerBin" palette-category="General" allow-children="false"
base-type="Gtk.Bin">
- <itemgroups>
- <itemgroup label="CapturerBin Properties">
- <property name="Capturing" />
- </itemgroup>
- </itemgroups>
- <signals />
- </object>
- <object type="LongoMatch.Gui.PlayerBin" palette-category="General" allow-children="false"
base-type="Gtk.Bin">
- <itemgroups>
- <itemgroup label="IPlayerBin Properties">
- <property name="Sensitive" />
- </itemgroup>
- </itemgroups>
- <signals>
- <itemgroup label="PlayerBin Signals">
- <signal name="Tick" />
- <signal name="PlayStateChanged" />
- <signal name="SeekEvent" />
- </itemgroup>
- </signals>
- </object>
- <object type="LongoMatch.Gui.PlayerCapturerBin" palette-category="General" allow-children="false"
base-type="Gtk.Bin">
- <itemgroups>
- <itemgroup label="IPlayerBin Properties">
- <property name="Sensitive" />
- </itemgroup>
- </itemgroups>
- <signals>
- <itemgroup label="IPlayerBin Signals">
- <signal name="PlayStateChanged" />
- <signal name="SeekEvent" />
- </itemgroup>
- </signals>
- </object>
</objects>
\ No newline at end of file
diff --git a/LongoMatch.Multimedia/Capturer/FakeCapturer.cs b/LongoMatch.Multimedia/Capturer/FakeCapturer.cs
index 4e26812..ac58b5a 100644
--- a/LongoMatch.Multimedia/Capturer/FakeCapturer.cs
+++ b/LongoMatch.Multimedia/Capturer/FakeCapturer.cs
@@ -15,34 +15,30 @@
// along with this program; if not, write to the Free Software
// Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA.
//
-
using System;
-using Mono.Unix;
-using GLib;
using LongoMatch.Common;
+using LongoMatch.Handlers;
using LongoMatch.Interfaces.Multimedia;
using LongoMatch.Store;
+using Mono.Unix;
using Image = LongoMatch.Common.Image;
-using LongoMatch.Handlers;
namespace LongoMatch.Video.Capturer
{
-
-
public class FakeCapturer : ICapturer
{
public event EllpasedTimeHandler EllapsedTime;
public event ErrorHandler Error;
public event DeviceChangeHandler DeviceChange;
- private LiveSourceTimer timer;
+ LiveSourceTimer timer;
- public FakeCapturer(): base()
+ public FakeCapturer ()
{
- timer = new LiveSourceTimer();
+ timer = new LiveSourceTimer ();
timer.EllapsedTime += delegate(Time ellapsedTime) {
- if(EllapsedTime!= null)
- EllapsedTime(ellapsedTime);
+ if (EllapsedTime != null)
+ EllapsedTime (ellapsedTime);
};
}
@@ -52,29 +48,36 @@ namespace LongoMatch.Video.Capturer
}
}
- public void Configure (CaptureSettings settings, IntPtr window_handle) {
+ public void Configure (CaptureSettings settings, IntPtr window_handle)
+ {
}
-
- public void Dispose () {
+
+ public void Dispose ()
+ {
Stop ();
}
- public void Run() {
+ public void Run ()
+ {
}
- public void Close() {
+ public void Close ()
+ {
}
- public void Start() {
- timer.Start();
+ public void Start ()
+ {
+ timer.Start ();
}
- public void Stop() {
- timer.Stop();
+ public void Stop ()
+ {
+ timer.Stop ();
}
- public void TogglePause() {
- timer.TogglePause();
+ public void TogglePause ()
+ {
+ timer.TogglePause ();
}
public uint OutputWidth {
@@ -86,35 +89,35 @@ namespace LongoMatch.Video.Capturer
public uint OutputHeight {
get {
- return 0;
+ return 0;
}
set {}
}
public string OutputFile {
get {
- return Catalog.GetString("Fake live source");
+ return Catalog.GetString ("Fake live source");
}
set {}
}
public uint VideoQuality {
get {
- return 0;
+ return 0;
}
set {}
}
public uint AudioQuality {
get {
- return 0;
+ return 0;
}
set {}
}
public Image CurrentFrame {
get {
- return null;
+ return null;
}
}
@@ -125,19 +128,23 @@ namespace LongoMatch.Video.Capturer
set {}
}
- public bool SetVideoEncoder(VideoEncoderType type) {
- return true;
+ public bool SetVideoEncoder (VideoEncoderType type)
+ {
+ return true;
}
- public bool SetAudioEncoder(AudioEncoderType type) {
+ public bool SetAudioEncoder (AudioEncoderType type)
+ {
return true;
}
- public bool SetVideoMuxer(VideoMuxerType type) {
+ public bool SetVideoMuxer (VideoMuxerType type)
+ {
return true;
}
- public bool SetSource(CaptureSourceType type, string sourceElement) {
+ public bool SetSource (CaptureSourceType type, string sourceElement)
+ {
return true;
}
}
diff --git a/LongoMatch.Multimedia/Capturer/LiveSourceTimer.cs
b/LongoMatch.Multimedia/Capturer/LiveSourceTimer.cs
index 3b51bbc..32464a6 100644
--- a/LongoMatch.Multimedia/Capturer/LiveSourceTimer.cs
+++ b/LongoMatch.Multimedia/Capturer/LiveSourceTimer.cs
@@ -15,74 +15,72 @@
// along with this program; if not, write to the Free Software
// Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA.
//
-
using System;
-using LongoMatch.Video.Common;
using LongoMatch.Handlers;
using LongoMatch.Store;
-
namespace LongoMatch.Video.Capturer
{
-
-
public class LiveSourceTimer
{
public event EllpasedTimeHandler EllapsedTime;
- private DateTime lastStart;
- private TimeSpan ellapsed;
- private bool playing;
- private bool started;
- private uint timerID;
+ DateTime lastStart;
+ TimeSpan ellapsed;
+ bool playing;
+ bool started;
+ uint timerID;
- public LiveSourceTimer()
+ public LiveSourceTimer ()
{
lastStart = DateTime.Now;
- ellapsed = new TimeSpan(0,0,0);
+ ellapsed = new TimeSpan (0, 0, 0);
playing = false;
started = false;
}
public int CurrentTime {
get {
- if(!started)
+ if (!started)
return 0;
- else if(playing)
+ else if (playing)
return (int)(ellapsed + (DateTime.Now - lastStart)).TotalMilliseconds;
else
return (int)ellapsed.TotalMilliseconds;
}
}
- public void TogglePause() {
- if(!started)
+ public void TogglePause ()
+ {
+ if (!started)
return;
- if(playing) {
+ if (playing) {
playing = false;
ellapsed += DateTime.Now - lastStart;
- }
- else {
+ } else {
playing = true;
lastStart = DateTime.Now;
}
}
- public void Start() {
- timerID = GLib.Timeout.Add(100, OnTick);
+ public void Start ()
+ {
+ timerID = GLib.Timeout.Add (100, OnTick);
lastStart = DateTime.Now;
playing = true;
started = true;
}
- public void Stop() {
- GLib.Source.Remove(timerID);
+ public void Stop ()
+ {
+ GLib.Source.Remove (timerID);
}
- protected virtual bool OnTick() {
- if(EllapsedTime != null)
- EllapsedTime(new Time (CurrentTime));
+ protected virtual bool OnTick ()
+ {
+ if (EllapsedTime != null)
+ EllapsedTime (new Time (CurrentTime));
return true;
}
}
diff --git a/LongoMatch.Multimedia/Common/Constants.cs b/LongoMatch.Multimedia/Common/Constants.cs
index e8a6c0d..140c82b 100644
--- a/LongoMatch.Multimedia/Common/Constants.cs
+++ b/LongoMatch.Multimedia/Common/Constants.cs
@@ -16,12 +16,10 @@
// Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA.
//
-using System;
-
namespace LongoMatch.Video.Common
{
-
- class VideoConstants {
+ class VideoConstants
+ {
public const string DV1394SRC_PROP = "guid";
public const string DSHOWVIDEOSINK_PROP = "device-name";
}
diff --git a/LongoMatch.Multimedia/Common/Enum.cs b/LongoMatch.Multimedia/Common/Enum.cs
index 2641225..ce3a7ad 100644
--- a/LongoMatch.Multimedia/Common/Enum.cs
+++ b/LongoMatch.Multimedia/Common/Enum.cs
@@ -16,13 +16,10 @@
// Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA.
//
-using System;
-
namespace LongoMatch.Video.Common
{
-
-
- public enum Error {
+ public enum Error
+ {
AudioPlugin,
NoPluginForFile,
VideoPlugin,
@@ -47,8 +44,8 @@ namespace LongoMatch.Video.Common
EmptyFile,
}
-
- public enum VideoQuality {
+ public enum VideoQuality
+ {
Low = 1000,
Normal = 3000,
Good = 5000,
@@ -64,19 +61,22 @@ namespace LongoMatch.Video.Common
copy,
}
- public enum PlayerUseType {
+ public enum PlayerUseType
+ {
Video,
Capture,
}
- public enum VideoProperty {
+ public enum VideoProperty
+ {
Brightness,
Contrast,
Saturation,
Hue,
}
- public enum AspectRatio {
+ public enum AspectRatio
+ {
Auto,
Square,
Fourbythree,
@@ -84,7 +84,8 @@ namespace LongoMatch.Video.Common
Dvb,
}
- public enum AudioOutType {
+ public enum AudioOutType
+ {
Stereo,
Channel4,
Channel41,
@@ -93,7 +94,8 @@ namespace LongoMatch.Video.Common
Ac3passthru,
}
- public enum MetadataType {
+ public enum MetadataType
+ {
Title,
Artist,
Year,
@@ -116,7 +118,8 @@ namespace LongoMatch.Video.Common
Par,
}
- public enum SeekType {
+ public enum SeekType
+ {
Keyframe,
Accurate,
StepUp,
diff --git a/LongoMatch.Multimedia/Common/Handlers.cs b/LongoMatch.Multimedia/Common/Handlers.cs
index 54d57b5..c0b3a72 100644
--- a/LongoMatch.Multimedia/Common/Handlers.cs
+++ b/LongoMatch.Multimedia/Common/Handlers.cs
@@ -15,79 +15,74 @@
// along with this program; if not, write to the Free Software
// Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA.
//
-
-using System;
using LongoMatch.Store;
using LongoMatch.Common;
namespace LongoMatch.Video.Common
{
-
- public delegate void ProgressHandler(float progress);
- public delegate void FramesProgressHandler(int actual, int total, Image frame);
- public delegate void DrawFrameHandler(int time);
- public delegate void SeekHandler (SeekType type, Time start, float rate);
-
- public delegate void GlibErrorHandler(object o, ErrorArgs args);
- public delegate void GlibPercentCompletedHandler(object o, PercentCompletedArgs args);
- public delegate void GlibStateChangeHandler(object o, StateChangeArgs args);
- public delegate void GlibTickHandler(object o, TickArgs args);
- public delegate void GlibDeviceChangeHandler(object o, DeviceChangeArgs args);
-
-
-
- public class ErrorArgs : GLib.SignalArgs {
+ public delegate void ProgressHandler (float progress);
+ public delegate void FramesProgressHandler (int actual,int total,Image frame);
+ public delegate void DrawFrameHandler (int time);
+ public delegate void SeekHandler (SeekType type,Time start,float rate);
+ public delegate void GlibErrorHandler (object o,ErrorArgs args);
+ public delegate void GlibPercentCompletedHandler (object o,PercentCompletedArgs args);
+ public delegate void GlibStateChangeHandler (object o,StateChangeArgs args);
+ public delegate void GlibTickHandler (object o,TickArgs args);
+ public delegate void GlibDeviceChangeHandler (object o,DeviceChangeArgs args);
+ public class ErrorArgs : GLib.SignalArgs
+ {
public string Message {
get {
- return (string) Args[0];
+ return (string)Args [0];
}
}
-
}
- public class PercentCompletedArgs : GLib.SignalArgs {
+ public class PercentCompletedArgs : GLib.SignalArgs
+ {
public float Percent {
get {
- return (float) Args[0];
+ return (float)Args [0];
}
}
-
}
- public class StateChangeArgs : GLib.SignalArgs {
+ public class StateChangeArgs : GLib.SignalArgs
+ {
public bool Playing {
get {
- return (bool) Args[0];
+ return (bool)Args [0];
}
}
}
- public class TickArgs : GLib.SignalArgs {
+ public class TickArgs : GLib.SignalArgs
+ {
public Time CurrentTime {
get {
- return new Time {NSeconds = (long) Args[0]};
+ return new Time { NSeconds = (long) Args[0] };
}
}
public Time StreamLength {
get {
- return new Time {NSeconds = (long) Args[1]};
+ return new Time { NSeconds = (long) Args[1] };
}
}
public double CurrentPosition {
get {
- return (double) Args[2];
+ return (double)Args [2];
}
}
}
- public class DeviceChangeArgs : GLib.SignalArgs {
+ public class DeviceChangeArgs : GLib.SignalArgs
+ {
public int DeviceChange {
get {
- return (int) Args[0];
+ return (int)Args [0];
}
}
-
}
}
diff --git a/LongoMatch.Multimedia/Converter/GstVideoConverter.cs
b/LongoMatch.Multimedia/Converter/GstVideoConverter.cs
index 16acf3e..831a217 100644
--- a/LongoMatch.Multimedia/Converter/GstVideoConverter.cs
+++ b/LongoMatch.Multimedia/Converter/GstVideoConverter.cs
@@ -15,17 +15,12 @@
// Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA.
//
//
+using LongoMatch.Common;
namespace LongoMatch.Video.Converter {
using System;
- using System.Collections;
- using System.Collections.Generic;
using System.Runtime.InteropServices;
- using Mono.Unix;
-
- using LongoMatch.Interfaces;
- using LongoMatch.Common;
using LongoMatch.Interfaces.Multimedia;
using LongoMatch.Video.Common;
diff --git a/LongoMatch.Multimedia/Editor/GstVideoSplitter.cs
b/LongoMatch.Multimedia/Editor/GstVideoSplitter.cs
index 6d52f3d..5844bb9 100644
--- a/LongoMatch.Multimedia/Editor/GstVideoSplitter.cs
+++ b/LongoMatch.Multimedia/Editor/GstVideoSplitter.cs
@@ -17,214 +17,214 @@
// Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA.
//
//
-
-namespace LongoMatch.Video.Editor {
-
+namespace LongoMatch.Video.Editor
+{
using System;
using System.Collections;
using System.Runtime.InteropServices;
-
using LongoMatch.Interfaces;
using LongoMatch.Common;
using LongoMatch.Interfaces.Multimedia;
using LongoMatch.Video.Common;
-
- public class GstVideoSplitter : GLib.Object, IVideoEditor {
+ public class GstVideoSplitter : GLib.Object, IVideoEditor
+ {
[DllImport("libcesarplayer.dll")]
- static extern unsafe IntPtr gst_video_editor_new(out IntPtr err);
+ static extern unsafe IntPtr gst_video_editor_new (out IntPtr err);
public event LongoMatch.Handlers.ProgressHandler Progress;
public event LongoMatch.Handlers.ErrorHandler Error;
- public unsafe GstVideoSplitter() : base(IntPtr.Zero)
+ public unsafe GstVideoSplitter () : base(IntPtr.Zero)
{
- if(GetType() != typeof(GstVideoSplitter)) {
- throw new InvalidOperationException("Can't override this constructor.");
+ if (GetType () != typeof(GstVideoSplitter)) {
+ throw new InvalidOperationException ("Can't override this constructor.");
}
IntPtr error = IntPtr.Zero;
- Raw = gst_video_editor_new(out error);
- if(error != IntPtr.Zero) throw new GLib.GException(error);
+ Raw = gst_video_editor_new (out error);
+ if (error != IntPtr.Zero)
+ throw new GLib.GException (error);
PercentCompleted += delegate(object o, PercentCompletedArgs args) {
- if(Progress!= null)
- Progress(args.Percent);
+ if (Progress != null)
+ Progress (args.Percent);
};
InternalError += delegate(object o, ErrorArgs args) {
if (Error != null)
Error (args.Message);
};
}
-
#region GSignals
-#pragma warning disable 0169
+ #pragma warning disable 0169
[GLib.CDeclCallback]
- delegate void ErrorVMDelegate(IntPtr gvc, IntPtr message);
+ delegate void ErrorVMDelegate (IntPtr gvc,IntPtr message);
static ErrorVMDelegate ErrorVMCallback;
- static void error_cb(IntPtr gvc, IntPtr message)
+ static void error_cb (IntPtr gvc, IntPtr message)
{
try {
- GstVideoSplitter gvc_managed = GLib.Object.GetObject(gvc, false) as
GstVideoSplitter;
- gvc_managed.OnError(GLib.Marshaller.Utf8PtrToString(message));
- } catch(Exception e) {
- GLib.ExceptionManager.RaiseUnhandledException(e, false);
+ GstVideoSplitter gvc_managed = GLib.Object.GetObject (gvc, false) as
GstVideoSplitter;
+ gvc_managed.OnError (GLib.Marshaller.Utf8PtrToString (message));
+ } catch (Exception e) {
+ GLib.ExceptionManager.RaiseUnhandledException (e, false);
}
}
- private static void OverrideError(GLib.GType gtype)
+ private static void OverrideError (GLib.GType gtype)
{
- if(ErrorVMCallback == null)
- ErrorVMCallback = new ErrorVMDelegate(error_cb);
- OverrideVirtualMethod(gtype, "error", ErrorVMCallback);
+ if (ErrorVMCallback == null)
+ ErrorVMCallback = new ErrorVMDelegate (error_cb);
+ OverrideVirtualMethod (gtype, "error", ErrorVMCallback);
}
[GLib.DefaultSignalHandler(Type=typeof(LongoMatch.Video.Editor.GstVideoSplitter),
ConnectionMethod="OverrideError")]
- protected virtual void OnError(string message)
+ protected virtual void OnError (string message)
{
GLib.Value ret = GLib.Value.Empty;
- GLib.ValueArray inst_and_params = new GLib.ValueArray(2);
+ GLib.ValueArray inst_and_params = new GLib.ValueArray (2);
GLib.Value[] vals = new GLib.Value [2];
- vals [0] = new GLib.Value(this);
- inst_and_params.Append(vals [0]);
- vals [1] = new GLib.Value(message);
- inst_and_params.Append(vals [1]);
- g_signal_chain_from_overridden(inst_and_params.ArrayPtr, ref ret);
- foreach(GLib.Value v in vals)
- v.Dispose();
+ vals [0] = new GLib.Value (this);
+ inst_and_params.Append (vals [0]);
+ vals [1] = new GLib.Value (message);
+ inst_and_params.Append (vals [1]);
+ g_signal_chain_from_overridden (inst_and_params.ArrayPtr, ref ret);
+ foreach (GLib.Value v in vals)
+ v.Dispose ();
}
[GLib.Signal("error")]
public event GlibErrorHandler InternalError {
add {
- GLib.Signal sig = GLib.Signal.Lookup(this, "error", typeof(ErrorArgs));
- sig.AddDelegate(value);
+ GLib.Signal sig = GLib.Signal.Lookup (this, "error", typeof(ErrorArgs));
+ sig.AddDelegate (value);
}
remove {
- GLib.Signal sig = GLib.Signal.Lookup(this, "error", typeof(ErrorArgs));
- sig.RemoveDelegate(value);
+ GLib.Signal sig = GLib.Signal.Lookup (this, "error", typeof(ErrorArgs));
+ sig.RemoveDelegate (value);
}
}
-
- [UnmanagedFunctionPointer(CallingConvention.Cdecl)]
- delegate void PercentCompletedVMDelegate(IntPtr gvc, float percent);
+ [UnmanagedFunctionPointer (CallingConvention.Cdecl)]
+ delegate void PercentCompletedVMDelegate (IntPtr gvc,float percent);
static PercentCompletedVMDelegate PercentCompletedVMCallback;
- static void percentcompleted_cb(IntPtr gvc, float percent)
+ static void percentcompleted_cb (IntPtr gvc, float percent)
{
try {
- GstVideoSplitter gvc_managed = GLib.Object.GetObject(gvc, false) as
GstVideoSplitter;
- gvc_managed.OnPercentCompleted(percent);
- } catch(Exception e) {
- GLib.ExceptionManager.RaiseUnhandledException(e, false);
+ GstVideoSplitter gvc_managed = GLib.Object.GetObject (gvc, false) as
GstVideoSplitter;
+ gvc_managed.OnPercentCompleted (percent);
+ } catch (Exception e) {
+ GLib.ExceptionManager.RaiseUnhandledException (e, false);
}
}
- private static void OverridePercentCompleted(GLib.GType gtype)
+ private static void OverridePercentCompleted (GLib.GType gtype)
{
- if(PercentCompletedVMCallback == null)
- PercentCompletedVMCallback = new
PercentCompletedVMDelegate(percentcompleted_cb);
- OverrideVirtualMethod(gtype, "percent_completed", PercentCompletedVMCallback);
+ if (PercentCompletedVMCallback == null)
+ PercentCompletedVMCallback = new PercentCompletedVMDelegate
(percentcompleted_cb);
+ OverrideVirtualMethod (gtype, "percent_completed", PercentCompletedVMCallback);
}
[GLib.DefaultSignalHandler(Type=typeof(LongoMatch.Video.Editor.GstVideoSplitter),
ConnectionMethod="OverridePercentCompleted")]
- protected virtual void OnPercentCompleted(float percent)
+ protected virtual void OnPercentCompleted (float percent)
{
GLib.Value ret = GLib.Value.Empty;
- GLib.ValueArray inst_and_params = new GLib.ValueArray(2);
+ GLib.ValueArray inst_and_params = new GLib.ValueArray (2);
GLib.Value[] vals = new GLib.Value [2];
- vals [0] = new GLib.Value(this);
- inst_and_params.Append(vals [0]);
- vals [1] = new GLib.Value(percent);
- inst_and_params.Append(vals [1]);
- g_signal_chain_from_overridden(inst_and_params.ArrayPtr, ref ret);
- foreach(GLib.Value v in vals)
- v.Dispose();
+ vals [0] = new GLib.Value (this);
+ inst_and_params.Append (vals [0]);
+ vals [1] = new GLib.Value (percent);
+ inst_and_params.Append (vals [1]);
+ g_signal_chain_from_overridden (inst_and_params.ArrayPtr, ref ret);
+ foreach (GLib.Value v in vals)
+ v.Dispose ();
}
[GLib.Signal("percent_completed")]
public event GlibPercentCompletedHandler PercentCompleted {
add {
- GLib.Signal sig = GLib.Signal.Lookup(this, "percent_completed",
typeof(PercentCompletedArgs));
- sig.AddDelegate(value);
+ GLib.Signal sig = GLib.Signal.Lookup (this, "percent_completed",
typeof(PercentCompletedArgs));
+ sig.AddDelegate (value);
}
remove {
- GLib.Signal sig = GLib.Signal.Lookup(this, "percent_completed",
typeof(PercentCompletedArgs));
- sig.RemoveDelegate(value);
+ GLib.Signal sig = GLib.Signal.Lookup (this, "percent_completed",
typeof(PercentCompletedArgs));
+ sig.RemoveDelegate (value);
}
}
-#pragma warning restore 0169
+ #pragma warning disable 0169
#endregion
-
#region Public Methods
-
[DllImport("libcesarplayer.dll")]
- static extern IntPtr gst_video_editor_get_type();
+ static extern IntPtr gst_video_editor_get_type ();
public static new GLib.GType GType {
get {
- IntPtr raw_ret = gst_video_editor_get_type();
- GLib.GType ret = new GLib.GType(raw_ret);
+ IntPtr raw_ret = gst_video_editor_get_type ();
+ GLib.GType ret = new GLib.GType (raw_ret);
return ret;
}
}
-
[DllImport("libcesarplayer.dll")]
- static extern void gst_video_editor_clear_segments_list(IntPtr raw);
+ static extern void gst_video_editor_clear_segments_list (IntPtr raw);
- public void ClearList() {
- gst_video_editor_clear_segments_list(Handle);
+ public void ClearList ()
+ {
+ gst_video_editor_clear_segments_list (Handle);
}
[DllImport("libcesarplayer.dll")]
- static extern void gst_video_editor_add_segment(IntPtr raw, string file_path, long start,
long duration, double rate, IntPtr title, bool hasAudio);
+ static extern void gst_video_editor_add_segment (IntPtr raw, string file_path, long start,
long duration, double rate, IntPtr title, bool hasAudio);
- public void AddSegment(string filePath, long start, long duration, double rate, string title,
bool hasAudio) {
- if(Environment.OSVersion.Platform == PlatformID.Win32NT)
- filePath="file:///"+filePath;
- gst_video_editor_add_segment(Handle, filePath, start, duration, rate,
GLib.Marshaller.StringToPtrGStrdup(title), true);
+ public void AddSegment (string filePath, long start, long duration, double rate, string
title, bool hasAudio)
+ {
+ if (Environment.OSVersion.Platform == PlatformID.Win32NT)
+ filePath = "file:///" + filePath;
+ gst_video_editor_add_segment (Handle, filePath, start, duration, rate,
GLib.Marshaller.StringToPtrGStrdup (title), true);
}
[DllImport("libcesarplayer.dll")]
- static extern void gst_video_editor_add_image_segment(IntPtr raw, string file_path, long
start, long duration, IntPtr title);
+ static extern void gst_video_editor_add_image_segment (IntPtr raw, string file_path, long
start, long duration, IntPtr title);
- public void AddImageSegment(string filePath, long start, long duration, string title) {
- gst_video_editor_add_image_segment(Handle, filePath, start, duration,
GLib.Marshaller.StringToPtrGStrdup(title));
+ public void AddImageSegment (string filePath, long start, long duration, string title)
+ {
+ gst_video_editor_add_image_segment (Handle, filePath, start, duration,
GLib.Marshaller.StringToPtrGStrdup (title));
}
[DllImport("libcesarplayer.dll")]
- static extern void gst_video_editor_start(IntPtr raw);
+ static extern void gst_video_editor_start (IntPtr raw);
- public void Start() {
- gst_video_editor_start(Handle);
+ public void Start ()
+ {
+ gst_video_editor_start (Handle);
}
[DllImport("libcesarplayer.dll")]
- static extern void gst_video_editor_cancel(IntPtr raw);
+ static extern void gst_video_editor_cancel (IntPtr raw);
- public void Cancel() {
+ public void Cancel ()
+ {
// The handle might have already been dealocated
try {
- gst_video_editor_cancel(Handle);
+ gst_video_editor_cancel (Handle);
} catch {
}
}
[DllImport("libcesarplayer.dll")]
- static extern void gst_video_editor_init_backend(out int argc, IntPtr argv);
+ static extern void gst_video_editor_init_backend (out int argc, IntPtr argv);
- public static int InitBackend(string argv) {
+ public static int InitBackend (string argv)
+ {
int argc;
- gst_video_editor_init_backend(out argc, GLib.Marshaller.StringToPtrGStrdup(argv));
+ gst_video_editor_init_backend (out argc, GLib.Marshaller.StringToPtrGStrdup (argv));
return argc;
}
[DllImport("libcesarplayer.dll")]
- static extern bool gst_video_editor_set_encoding_format(IntPtr raw,
+ static extern bool gst_video_editor_set_encoding_format (IntPtr raw,
string output_file,
VideoEncoderType video_codec,
AudioEncoderType audio_codec,
@@ -237,7 +237,7 @@ namespace LongoMatch.Video.Editor {
uint fps_d,
bool enable_audio,
bool enable_video);
-
+
public EncodingSettings EncodingSettings {
set {
gst_video_editor_set_encoding_format (Handle,
@@ -261,9 +261,6 @@ namespace LongoMatch.Video.Editor {
;
}
}
-
#endregion
-
-
}
}
diff --git a/LongoMatch.Multimedia/Player/GstPlayer.cs b/LongoMatch.Multimedia/Player/GstPlayer.cs
index 6c3531d..d395e35 100644
--- a/LongoMatch.Multimedia/Player/GstPlayer.cs
+++ b/LongoMatch.Multimedia/Player/GstPlayer.cs
@@ -25,58 +25,79 @@ using LongoMatch.Store;
using LongoMatch.Common;
using LongoMatch.Handlers;
-
-namespace LongoMatch.Video.Player {
-
- public class GstPlayer : GLib.Object, IPlayer, IFramesCapturer {
+namespace LongoMatch.Video.Player
+{
+ public class GstPlayer : GLib.Object, IPlayer, IFramesCapturer
+ {
public event ErrorHandler Error;
public event StateChangeHandler StateChange;
public event TickHandler Tick;
public event ReadyToSeekHandler ReadyToSeek;
-
+
[DllImport("libcesarplayer.dll")]
static extern IntPtr lgm_video_player_get_type ();
+
[DllImport("libcesarplayer.dll")]
static extern unsafe IntPtr lgm_video_player_new (int use_type, out IntPtr error);
+
[DllImport("libcesarplayer.dll")]
static extern unsafe IntPtr lgm_video_player_set_window_handle (IntPtr raw, IntPtr
window_handle);
+
[DllImport("libcesarplayer.dll")]
static extern bool lgm_video_player_open (IntPtr raw, IntPtr uri, out IntPtr error);
+
[DllImport("libcesarplayer.dll")]
static extern bool lgm_video_player_play (IntPtr raw);
+
[DllImport("libcesarplayer.dll")]
static extern bool lgm_video_player_is_playing (IntPtr raw);
+
[DllImport("libcesarplayer.dll")]
static extern void lgm_video_player_pause (IntPtr raw);
+
[DllImport("libcesarplayer.dll")]
static extern void lgm_video_player_stop (IntPtr raw);
+
[DllImport("libcesarplayer.dll")]
static extern void lgm_video_player_close (IntPtr raw);
+
[DllImport("libcesarplayer.dll")]
static extern bool lgm_video_player_seek (IntPtr raw, double position);
+
[DllImport("libcesarplayer.dll")]
static extern bool lgm_video_player_seek_time (IntPtr raw, long time, bool accurate);
+
[DllImport("libcesarplayer.dll")]
static extern bool lgm_video_player_seek_to_next_frame (IntPtr raw);
+
[DllImport("libcesarplayer.dll")]
static extern bool lgm_video_player_seek_to_previous_frame (IntPtr raw);
+
[DllImport("libcesarplayer.dll")]
static extern double lgm_video_player_get_position (IntPtr raw);
+
[DllImport("libcesarplayer.dll")]
static extern long lgm_video_player_get_current_time (IntPtr raw);
+
[DllImport("libcesarplayer.dll")]
static extern long lgm_video_player_get_stream_length (IntPtr raw);
+
[DllImport("libcesarplayer.dll")]
static extern bool lgm_video_player_set_rate (IntPtr raw, double rate);
+
[DllImport("libcesarplayer.dll")]
static extern void lgm_video_player_set_volume (IntPtr raw, double volume);
+
[DllImport("libcesarplayer.dll")]
static extern double lgm_video_player_get_volume (IntPtr raw);
+
[DllImport("libcesarplayer.dll")]
static extern IntPtr lgm_video_player_get_current_frame (IntPtr raw);
+
[DllImport("libcesarplayer.dll")]
static extern void lgm_video_player_unref_pixbuf (IntPtr pixbuf);
+
[DllImport("libcesarplayer.dll")]
static extern void lgm_video_player_expose (IntPtr pixbuf);
@@ -84,16 +105,18 @@ namespace LongoMatch.Video.Player {
{
Init (PlayerUseType.Video);
}
-
- public unsafe GstPlayer(PlayerUseType type) : base(IntPtr.Zero)
+
+ public unsafe GstPlayer (PlayerUseType type) : base(IntPtr.Zero)
{
Init (type);
}
-
- void Init (PlayerUseType type) {
+
+ void Init (PlayerUseType type)
+ {
IntPtr error = IntPtr.Zero;
- Raw = lgm_video_player_new ((int) type, out error);
- if (error != IntPtr.Zero) throw new GLib.GException(error);
+ Raw = lgm_video_player_new ((int)type, out error);
+ if (error != IntPtr.Zero)
+ throw new GLib.GException (error);
this.GlibError += (o, args) => {
if (Error != null)
@@ -110,272 +133,271 @@ namespace LongoMatch.Video.Player {
ReadyToSeek ();
};
}
+ #pragma warning disable 0169
-#pragma warning disable 0169
- [UnmanagedFunctionPointer(CallingConvention.Cdecl)]
- delegate void ReadyToSeekVMDelegate(IntPtr bvw);
+ [UnmanagedFunctionPointer (CallingConvention.Cdecl)]
+ delegate void ReadyToSeekVMDelegate (IntPtr bvw);
static ReadyToSeekVMDelegate ReadyToSeekVMCallback;
- static void readytoseek_cb(IntPtr bvw)
+ static void readytoseek_cb (IntPtr bvw)
{
try {
- GstPlayer bvw_managed = GLib.Object.GetObject(bvw, false) as GstPlayer;
- bvw_managed.OnReadyToSeek();
- } catch(Exception e) {
- GLib.ExceptionManager.RaiseUnhandledException(e, false);
+ GstPlayer bvw_managed = GLib.Object.GetObject (bvw, false) as GstPlayer;
+ bvw_managed.OnReadyToSeek ();
+ } catch (Exception e) {
+ GLib.ExceptionManager.RaiseUnhandledException (e, false);
}
}
- private static void OverrideReadyToSeek(GLib.GType gtype)
+ private static void OverrideReadyToSeek (GLib.GType gtype)
{
- if(ReadyToSeekVMCallback == null)
- ReadyToSeekVMCallback = new ReadyToSeekVMDelegate(readytoseek_cb);
- OverrideVirtualMethod(gtype, "ready_to_seek", ReadyToSeekVMCallback);
+ if (ReadyToSeekVMCallback == null)
+ ReadyToSeekVMCallback = new ReadyToSeekVMDelegate (readytoseek_cb);
+ OverrideVirtualMethod (gtype, "ready_to_seek", ReadyToSeekVMCallback);
}
[GLib.DefaultSignalHandler(Type=typeof(LongoMatch.Video.Player.GstPlayer),
ConnectionMethod="OverrideReadyToSeek")]
- protected virtual void OnReadyToSeek()
+ protected virtual void OnReadyToSeek ()
{
GLib.Value ret = GLib.Value.Empty;
- GLib.ValueArray inst_and_params = new GLib.ValueArray(1);
+ GLib.ValueArray inst_and_params = new GLib.ValueArray (1);
GLib.Value[] vals = new GLib.Value [1];
- vals [0] = new GLib.Value(this);
- inst_and_params.Append(vals [0]);
- g_signal_chain_from_overridden(inst_and_params.ArrayPtr, ref ret);
- foreach(GLib.Value v in vals)
- v.Dispose();
+ vals [0] = new GLib.Value (this);
+ inst_and_params.Append (vals [0]);
+ g_signal_chain_from_overridden (inst_and_params.ArrayPtr, ref ret);
+ foreach (GLib.Value v in vals)
+ v.Dispose ();
}
[GLib.Signal("ready_to_seek")]
public event System.EventHandler GlibReadyToSeek {
add {
- GLib.Signal sig = GLib.Signal.Lookup(this, "ready_to_seek");
- sig.AddDelegate(value);
+ GLib.Signal sig = GLib.Signal.Lookup (this, "ready_to_seek");
+ sig.AddDelegate (value);
}
remove {
- GLib.Signal sig = GLib.Signal.Lookup(this, "ready_to_seek");
- sig.RemoveDelegate(value);
+ GLib.Signal sig = GLib.Signal.Lookup (this, "ready_to_seek");
+ sig.RemoveDelegate (value);
}
}
- [UnmanagedFunctionPointer(CallingConvention.Cdecl)]
- delegate void StateChangeVMDelegate(IntPtr bvw, bool playing);
+ [UnmanagedFunctionPointer (CallingConvention.Cdecl)]
+ delegate void StateChangeVMDelegate (IntPtr bvw,bool playing);
static StateChangeVMDelegate StateChangeVMCallback;
- static void statechange_cb(IntPtr bvw, bool playing)
+ static void statechange_cb (IntPtr bvw, bool playing)
{
try {
- GstPlayer bvw_managed = GLib.Object.GetObject(bvw, false) as GstPlayer;
- bvw_managed.OnStateChange(playing);
- } catch(Exception e) {
- GLib.ExceptionManager.RaiseUnhandledException(e, false);
+ GstPlayer bvw_managed = GLib.Object.GetObject (bvw, false) as GstPlayer;
+ bvw_managed.OnStateChange (playing);
+ } catch (Exception e) {
+ GLib.ExceptionManager.RaiseUnhandledException (e, false);
}
}
- private static void OverrideStateChange(GLib.GType gtype)
+ private static void OverrideStateChange (GLib.GType gtype)
{
- if(StateChangeVMCallback == null)
- StateChangeVMCallback = new StateChangeVMDelegate(statechange_cb);
- OverrideVirtualMethod(gtype, "state_change", StateChangeVMCallback);
+ if (StateChangeVMCallback == null)
+ StateChangeVMCallback = new StateChangeVMDelegate (statechange_cb);
+ OverrideVirtualMethod (gtype, "state_change", StateChangeVMCallback);
}
[GLib.DefaultSignalHandler(Type=typeof(LongoMatch.Video.Player.GstPlayer),
ConnectionMethod="OverrideStateChange")]
- protected virtual void OnStateChange(bool playing)
+ protected virtual void OnStateChange (bool playing)
{
GLib.Value ret = GLib.Value.Empty;
- GLib.ValueArray inst_and_params = new GLib.ValueArray(2);
+ GLib.ValueArray inst_and_params = new GLib.ValueArray (2);
GLib.Value[] vals = new GLib.Value [2];
- vals [0] = new GLib.Value(this);
- inst_and_params.Append(vals [0]);
- vals [1] = new GLib.Value(playing);
- inst_and_params.Append(vals [1]);
- g_signal_chain_from_overridden(inst_and_params.ArrayPtr, ref ret);
- foreach(GLib.Value v in vals)
- v.Dispose();
+ vals [0] = new GLib.Value (this);
+ inst_and_params.Append (vals [0]);
+ vals [1] = new GLib.Value (playing);
+ inst_and_params.Append (vals [1]);
+ g_signal_chain_from_overridden (inst_and_params.ArrayPtr, ref ret);
+ foreach (GLib.Value v in vals)
+ v.Dispose ();
}
[GLib.Signal("state_change")]
public event GlibStateChangeHandler GlibStateChange {
add {
- GLib.Signal sig = GLib.Signal.Lookup(this, "state_change",
typeof(StateChangeArgs));
- sig.AddDelegate(value);
+ GLib.Signal sig = GLib.Signal.Lookup (this, "state_change",
typeof(StateChangeArgs));
+ sig.AddDelegate (value);
}
remove {
- GLib.Signal sig = GLib.Signal.Lookup(this, "state_change",
typeof(StateChangeArgs));
- sig.RemoveDelegate(value);
+ GLib.Signal sig = GLib.Signal.Lookup (this, "state_change",
typeof(StateChangeArgs));
+ sig.RemoveDelegate (value);
}
}
- [UnmanagedFunctionPointer(CallingConvention.Cdecl)]
- delegate void EosVMDelegate(IntPtr bvw);
+ [UnmanagedFunctionPointer (CallingConvention.Cdecl)]
+ delegate void EosVMDelegate (IntPtr bvw);
static EosVMDelegate EosVMCallback;
- static void eos_cb(IntPtr bvw)
+ static void eos_cb (IntPtr bvw)
{
try {
- GstPlayer bvw_managed = GLib.Object.GetObject(bvw, false) as GstPlayer;
- bvw_managed.OnEos();
- } catch(Exception e) {
- GLib.ExceptionManager.RaiseUnhandledException(e, false);
+ GstPlayer bvw_managed = GLib.Object.GetObject (bvw, false) as GstPlayer;
+ bvw_managed.OnEos ();
+ } catch (Exception e) {
+ GLib.ExceptionManager.RaiseUnhandledException (e, false);
}
}
- private static void OverrideEos(GLib.GType gtype)
+ private static void OverrideEos (GLib.GType gtype)
{
- if(EosVMCallback == null)
- EosVMCallback = new EosVMDelegate(eos_cb);
- OverrideVirtualMethod(gtype, "eos", EosVMCallback);
+ if (EosVMCallback == null)
+ EosVMCallback = new EosVMDelegate (eos_cb);
+ OverrideVirtualMethod (gtype, "eos", EosVMCallback);
}
[GLib.DefaultSignalHandler(Type=typeof(LongoMatch.Video.Player.GstPlayer),
ConnectionMethod="OverrideEos")]
- protected virtual void OnEos()
+ protected virtual void OnEos ()
{
GLib.Value ret = GLib.Value.Empty;
- GLib.ValueArray inst_and_params = new GLib.ValueArray(1);
+ GLib.ValueArray inst_and_params = new GLib.ValueArray (1);
GLib.Value[] vals = new GLib.Value [1];
- vals [0] = new GLib.Value(this);
- inst_and_params.Append(vals [0]);
- g_signal_chain_from_overridden(inst_and_params.ArrayPtr, ref ret);
- foreach(GLib.Value v in vals)
- v.Dispose();
+ vals [0] = new GLib.Value (this);
+ inst_and_params.Append (vals [0]);
+ g_signal_chain_from_overridden (inst_and_params.ArrayPtr, ref ret);
+ foreach (GLib.Value v in vals)
+ v.Dispose ();
}
[GLib.Signal("eos")]
public event System.EventHandler Eos {
add {
- GLib.Signal sig = GLib.Signal.Lookup(this, "eos");
- sig.AddDelegate(value);
+ GLib.Signal sig = GLib.Signal.Lookup (this, "eos");
+ sig.AddDelegate (value);
}
remove {
- GLib.Signal sig = GLib.Signal.Lookup(this, "eos");
- sig.RemoveDelegate(value);
+ GLib.Signal sig = GLib.Signal.Lookup (this, "eos");
+ sig.RemoveDelegate (value);
}
}
- [UnmanagedFunctionPointer(CallingConvention.Cdecl)]
- delegate void ErrorVMDelegate(IntPtr bvw, IntPtr message);
+ [UnmanagedFunctionPointer (CallingConvention.Cdecl)]
+ delegate void ErrorVMDelegate (IntPtr bvw,IntPtr message);
static ErrorVMDelegate ErrorVMCallback;
- static void error_cb(IntPtr bvw, IntPtr message)
+ static void error_cb (IntPtr bvw, IntPtr message)
{
try {
- GstPlayer bvw_managed = GLib.Object.GetObject(bvw, false) as GstPlayer;
- bvw_managed.OnError(GLib.Marshaller.Utf8PtrToString(message));
- } catch(Exception e) {
- GLib.ExceptionManager.RaiseUnhandledException(e, false);
+ GstPlayer bvw_managed = GLib.Object.GetObject (bvw, false) as GstPlayer;
+ bvw_managed.OnError (GLib.Marshaller.Utf8PtrToString (message));
+ } catch (Exception e) {
+ GLib.ExceptionManager.RaiseUnhandledException (e, false);
}
}
- private static void OverrideError(GLib.GType gtype)
+ private static void OverrideError (GLib.GType gtype)
{
- if(ErrorVMCallback == null)
- ErrorVMCallback = new ErrorVMDelegate(error_cb);
- OverrideVirtualMethod(gtype, "error", ErrorVMCallback);
+ if (ErrorVMCallback == null)
+ ErrorVMCallback = new ErrorVMDelegate (error_cb);
+ OverrideVirtualMethod (gtype, "error", ErrorVMCallback);
}
[GLib.DefaultSignalHandler(Type=typeof(LongoMatch.Video.Player.GstPlayer),
ConnectionMethod="OverrideError")]
- protected virtual void OnError(string message)
+ protected virtual void OnError (string message)
{
GLib.Value ret = GLib.Value.Empty;
- GLib.ValueArray inst_and_params = new GLib.ValueArray(2);
+ GLib.ValueArray inst_and_params = new GLib.ValueArray (2);
GLib.Value[] vals = new GLib.Value [2];
- vals [0] = new GLib.Value(this);
- inst_and_params.Append(vals [0]);
- vals [1] = new GLib.Value(message);
- inst_and_params.Append(vals [1]);
- g_signal_chain_from_overridden(inst_and_params.ArrayPtr, ref ret);
- foreach(GLib.Value v in vals)
- v.Dispose();
+ vals [0] = new GLib.Value (this);
+ inst_and_params.Append (vals [0]);
+ vals [1] = new GLib.Value (message);
+ inst_and_params.Append (vals [1]);
+ g_signal_chain_from_overridden (inst_and_params.ArrayPtr, ref ret);
+ foreach (GLib.Value v in vals)
+ v.Dispose ();
}
[GLib.Signal("error")]
public event GlibErrorHandler GlibError {
add {
- GLib.Signal sig = GLib.Signal.Lookup(this, "error", typeof(ErrorArgs));
- sig.AddDelegate(value);
+ GLib.Signal sig = GLib.Signal.Lookup (this, "error", typeof(ErrorArgs));
+ sig.AddDelegate (value);
}
remove {
- GLib.Signal sig = GLib.Signal.Lookup(this, "error", typeof(ErrorArgs));
- sig.RemoveDelegate(value);
+ GLib.Signal sig = GLib.Signal.Lookup (this, "error", typeof(ErrorArgs));
+ sig.RemoveDelegate (value);
}
}
- [UnmanagedFunctionPointer(CallingConvention.Cdecl)]
- delegate void TickVMDelegate(IntPtr bvw, long current_time, long stream_length, double
current_position);
+ [UnmanagedFunctionPointer (CallingConvention.Cdecl)]
+ delegate void TickVMDelegate (IntPtr bvw,long current_time,long stream_length,double
current_position);
static TickVMDelegate TickVMCallback;
- static void tick_cb(IntPtr bvw, long current_time, long stream_length, double
current_position)
+ static void tick_cb (IntPtr bvw, long current_time, long stream_length, double
current_position)
{
try {
- GstPlayer bvw_managed = GLib.Object.GetObject(bvw, false) as GstPlayer;
- bvw_managed.OnTick(current_time, stream_length, current_position);
- } catch(Exception e) {
- GLib.ExceptionManager.RaiseUnhandledException(e, false);
+ GstPlayer bvw_managed = GLib.Object.GetObject (bvw, false) as GstPlayer;
+ bvw_managed.OnTick (current_time, stream_length, current_position);
+ } catch (Exception e) {
+ GLib.ExceptionManager.RaiseUnhandledException (e, false);
}
}
- private static void OverrideTick(GLib.GType gtype)
+ private static void OverrideTick (GLib.GType gtype)
{
- if(TickVMCallback == null)
- TickVMCallback = new TickVMDelegate(tick_cb);
- OverrideVirtualMethod(gtype, "tick", TickVMCallback);
+ if (TickVMCallback == null)
+ TickVMCallback = new TickVMDelegate (tick_cb);
+ OverrideVirtualMethod (gtype, "tick", TickVMCallback);
}
[GLib.DefaultSignalHandler(Type=typeof(LongoMatch.Video.Player.GstPlayer),
ConnectionMethod="OverrideTick")]
- protected virtual void OnTick(long current_time, long stream_length, double current_position)
+ protected virtual void OnTick (long current_time, long stream_length, double current_position)
{
GLib.Value ret = GLib.Value.Empty;
- GLib.ValueArray inst_and_params = new GLib.ValueArray(5);
+ GLib.ValueArray inst_and_params = new GLib.ValueArray (5);
GLib.Value[] vals = new GLib.Value [5];
- vals [0] = new GLib.Value(this);
- inst_and_params.Append(vals [0]);
- vals [1] = new GLib.Value(current_time);
- inst_and_params.Append(vals [1]);
- vals [2] = new GLib.Value(stream_length);
- inst_and_params.Append(vals [2]);
- vals [3] = new GLib.Value(current_position);
- inst_and_params.Append(vals [3]);
- g_signal_chain_from_overridden(inst_and_params.ArrayPtr, ref ret);
- foreach(GLib.Value v in vals)
- v.Dispose();
+ vals [0] = new GLib.Value (this);
+ inst_and_params.Append (vals [0]);
+ vals [1] = new GLib.Value (current_time);
+ inst_and_params.Append (vals [1]);
+ vals [2] = new GLib.Value (stream_length);
+ inst_and_params.Append (vals [2]);
+ vals [3] = new GLib.Value (current_position);
+ inst_and_params.Append (vals [3]);
+ g_signal_chain_from_overridden (inst_and_params.ArrayPtr, ref ret);
+ foreach (GLib.Value v in vals)
+ v.Dispose ();
}
[GLib.Signal("tick")]
public event GlibTickHandler GlibTick {
add {
- GLib.Signal sig = GLib.Signal.Lookup(this, "tick", typeof(TickArgs));
- sig.AddDelegate(value);
+ GLib.Signal sig = GLib.Signal.Lookup (this, "tick", typeof(TickArgs));
+ sig.AddDelegate (value);
}
remove {
- GLib.Signal sig = GLib.Signal.Lookup(this, "tick", typeof(TickArgs));
- sig.RemoveDelegate(value);
+ GLib.Signal sig = GLib.Signal.Lookup (this, "tick", typeof(TickArgs));
+ sig.RemoveDelegate (value);
}
}
-
-#pragma warning restore 0169
+ #pragma warning restore 0169
public IntPtr WindowHandle {
set {
lgm_video_player_set_window_handle (Handle, value);
}
}
-
+
public Time CurrentTime {
get {
long ret = lgm_video_player_get_current_time (Handle);
- return new Time {NSeconds=ret};
+ return new Time { NSeconds=ret };
}
}
-
+
public Time StreamLength {
- get {
+ get {
long ret = lgm_video_player_get_stream_length (Handle);
- return new Time {NSeconds=ret};
+ return new Time { NSeconds=ret };
}
}
@@ -400,93 +422,106 @@ namespace LongoMatch.Video.Player {
}
}
- public bool Seek (double position) {
+ public bool Seek (double position)
+ {
return lgm_video_player_seek (Handle, position);
}
-
- public bool Seek (Time time, bool accurate) {
+
+ public bool Seek (Time time, bool accurate)
+ {
return lgm_video_player_seek_time (Handle, time.NSeconds, accurate);
}
- public bool SeekToPreviousFrame() {
+ public bool SeekToPreviousFrame ()
+ {
return lgm_video_player_seek_to_previous_frame (Handle);
}
- public bool SeekToNextFrame() {
+ public bool SeekToNextFrame ()
+ {
return lgm_video_player_seek_to_next_frame (Handle);
}
- public void Play() {
+ public void Play ()
+ {
lgm_video_player_play (Handle);
}
- public void Pause() {
+ public void Pause ()
+ {
lgm_video_player_pause (Handle);
}
- public void Stop() {
+ public void Stop ()
+ {
lgm_video_player_stop (Handle);
}
- public void Close() {
+ public void Close ()
+ {
lgm_video_player_close (Handle);
}
- public bool Open (string uri) {
+ public bool Open (string uri)
+ {
IntPtr native_uri = GLib.Marshaller.StringToPtrGStrdup (uri);
IntPtr error = IntPtr.Zero;
bool ret = lgm_video_player_open (Handle, native_uri, out error);
- GLib.Marshaller.Free(native_uri);
- if(error != IntPtr.Zero) throw new GLib.GException(error);
+ GLib.Marshaller.Free (native_uri);
+ if (error != IntPtr.Zero)
+ throw new GLib.GException (error);
return ret;
}
- public Image GetCurrentFrame (int outwidth=-1, int outheight=-1) {
+ public Image GetCurrentFrame (int outwidth=-1, int outheight=-1)
+ {
Gdk.Pixbuf managed, unmanaged;
IntPtr raw_ret;
int h, w;
double rate;
raw_ret = lgm_video_player_get_current_frame (Handle);
- unmanaged = GLib.Object.GetObject(raw_ret) as Gdk.Pixbuf;
- if(unmanaged == null)
+ unmanaged = GLib.Object.GetObject (raw_ret) as Gdk.Pixbuf;
+ if (unmanaged == null)
return null;
h = unmanaged.Height;
w = unmanaged.Width;
- rate = (double)w/(double)h;
- if(outwidth == -1 || outheight == -1) {
+ rate = (double)w / (double)h;
+ if (outwidth == -1 || outheight == -1) {
outwidth = w;
outheight = h;
- } else if(h>w) {
- outwidth = (int)(outheight*rate);
+ } else if (h > w) {
+ outwidth = (int)(outheight * rate);
} else {
- outheight = (int)(outwidth/rate);
+ outheight = (int)(outwidth / rate);
}
- managed = unmanaged.ScaleSimple(outwidth,outheight,Gdk.InterpType.Bilinear);
- unmanaged.Dispose();
+ managed = unmanaged.ScaleSimple (outwidth, outheight, Gdk.InterpType.Bilinear);
+ unmanaged.Dispose ();
lgm_video_player_unref_pixbuf (raw_ret);
- return new Image(managed);
+ return new Image (managed);
}
- public void Expose () {
+ public void Expose ()
+ {
lgm_video_player_expose (Handle);
}
-
+
public static new GLib.GType GType {
get {
return new GLib.GType (lgm_video_player_get_type ());
}
}
- static GstPlayer()
+ static GstPlayer ()
{
- LongoMatch.GtkSharp.Video.ObjectManager.Initialize();
+ LongoMatch.GtkSharp.Video.ObjectManager.Initialize ();
}
}
-
- public class GstFramesCapturer: GstPlayer {
+
+ public class GstFramesCapturer: GstPlayer
+ {
public unsafe GstFramesCapturer () : base (PlayerUseType.Capture)
{
diff --git a/LongoMatch.Multimedia/Player/ObjectManager.cs b/LongoMatch.Multimedia/Player/ObjectManager.cs
index 401cb05..ca3442c 100644
--- a/LongoMatch.Multimedia/Player/ObjectManager.cs
+++ b/LongoMatch.Multimedia/Player/ObjectManager.cs
@@ -16,22 +16,21 @@
// Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA.
//
//
-
-
-namespace LongoMatch.GtkSharp.Video {
-
- public class ObjectManager {
+namespace LongoMatch.GtkSharp.Video
+{
+ public class ObjectManager
+ {
static bool initialized = false;
// Call this method from the appropriate module init function.
- public static void Initialize()
+ public static void Initialize ()
{
- if(initialized)
+ if (initialized)
return;
initialized = true;
- GLib.GType.Register(LongoMatch.Video.Player.GstPlayer.GType,
typeof(LongoMatch.Video.Player.GstPlayer));
+ GLib.GType.Register (LongoMatch.Video.Player.GstPlayer.GType,
typeof(LongoMatch.Video.Player.GstPlayer));
}
}
diff --git a/LongoMatch.Multimedia/Remuxer/GstRemuxer.cs b/LongoMatch.Multimedia/Remuxer/GstRemuxer.cs
index b240384..8106e56 100644
--- a/LongoMatch.Multimedia/Remuxer/GstRemuxer.cs
+++ b/LongoMatch.Multimedia/Remuxer/GstRemuxer.cs
@@ -15,41 +15,40 @@
// Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA.
//
//
-
-namespace LongoMatch.Video.Remuxer {
-
+namespace LongoMatch.Video.Remuxer
+{
using System;
using System.Runtime.InteropServices;
using Mono.Unix;
-
using LongoMatch.Common;
using LongoMatch.Video.Common;
using LongoMatch.Interfaces.Multimedia;
-
#region Autogenerated code
- public class GstRemuxer : GLib.Object, IRemuxer {
+ public class GstRemuxer : GLib.Object, IRemuxer
+ {
public event LongoMatch.Handlers.ProgressHandler Progress;
public event LongoMatch.Handlers.ErrorHandler Error;
[DllImport("libcesarplayer.dll")]
- static extern unsafe IntPtr gst_remuxer_new(IntPtr input_file, IntPtr output_file,
VideoMuxerType muxer, out IntPtr err);
+ static extern unsafe IntPtr gst_remuxer_new (IntPtr input_file, IntPtr output_file,
VideoMuxerType muxer, out IntPtr err);
- public unsafe GstRemuxer(string inputFile, string outputFile, VideoMuxerType muxer) :
base(IntPtr.Zero)
+ public unsafe GstRemuxer (string inputFile, string outputFile, VideoMuxerType muxer) :
base(IntPtr.Zero)
{
- if(GetType() != typeof(GstRemuxer)) {
- throw new InvalidOperationException("Can't override this constructor.");
+ if (GetType () != typeof(GstRemuxer)) {
+ throw new InvalidOperationException ("Can't override this constructor.");
}
IntPtr error = IntPtr.Zero;
- Raw = gst_remuxer_new(GLib.Marshaller.StringToPtrGStrdup(inputFile),
- GLib.Marshaller.StringToPtrGStrdup(outputFile),
- muxer, out error);
- if(error != IntPtr.Zero) throw new GLib.GException(error);
+ Raw = gst_remuxer_new (GLib.Marshaller.StringToPtrGStrdup (inputFile),
+ GLib.Marshaller.StringToPtrGStrdup (outputFile),
+ muxer, out error);
+ if (error != IntPtr.Zero)
+ throw new GLib.GException (error);
PercentCompleted += delegate(object o, PercentCompletedArgs args) {
- if(Progress!= null)
- Progress(args.Percent);
+ if (Progress != null)
+ Progress (args.Percent);
};
GstError += delegate(object o, ErrorArgs args) {
@@ -57,150 +56,147 @@ namespace LongoMatch.Video.Remuxer {
Error (args.Message);
};
}
+ #pragma warning disable 0169
+ #region Error
+ [UnmanagedFunctionPointer (CallingConvention.Cdecl)]
+ delegate void ErrorSignalDelegate (IntPtr arg0,IntPtr arg1,IntPtr gch);
-#pragma warning disable 0169
-#region Error
- [UnmanagedFunctionPointer(CallingConvention.Cdecl)]
- delegate void ErrorSignalDelegate(IntPtr arg0, IntPtr arg1, IntPtr gch);
-
- static void ErrorSignalCallback(IntPtr arg0, IntPtr arg1, IntPtr gch)
+ static void ErrorSignalCallback (IntPtr arg0, IntPtr arg1, IntPtr gch)
{
- ErrorArgs args = new ErrorArgs();
+ ErrorArgs args = new ErrorArgs ();
try {
- GLib.Signal sig = ((GCHandle) gch).Target as GLib.Signal;
- if(sig == null)
- throw new Exception("Unknown signal GC handle received " + gch);
+ GLib.Signal sig = ((GCHandle)gch).Target as GLib.Signal;
+ if (sig == null)
+ throw new Exception ("Unknown signal GC handle received " + gch);
args.Args = new object[1];
- args.Args[0] = GLib.Marshaller.Utf8PtrToString(arg1);
- GlibErrorHandler handler = (GlibErrorHandler) sig.Handler;
- handler(GLib.Object.GetObject(arg0), args);
- } catch(Exception e) {
- GLib.ExceptionManager.RaiseUnhandledException(e, false);
+ args.Args [0] = GLib.Marshaller.Utf8PtrToString (arg1);
+ GlibErrorHandler handler = (GlibErrorHandler)sig.Handler;
+ handler (GLib.Object.GetObject (arg0), args);
+ } catch (Exception e) {
+ GLib.ExceptionManager.RaiseUnhandledException (e, false);
}
}
- [UnmanagedFunctionPointer(CallingConvention.Cdecl)]
- delegate void ErrorVMDelegate(IntPtr remuxer, IntPtr message);
+ [UnmanagedFunctionPointer (CallingConvention.Cdecl)]
+ delegate void ErrorVMDelegate (IntPtr remuxer,IntPtr message);
static ErrorVMDelegate ErrorVMCallback;
- static void error_cb(IntPtr remuxer, IntPtr message)
+ static void error_cb (IntPtr remuxer, IntPtr message)
{
try {
- GstRemuxer remuxer_managed = GLib.Object.GetObject(remuxer, false) as
GstRemuxer;
- remuxer_managed.OnError(GLib.Marshaller.Utf8PtrToString(message));
- } catch(Exception e) {
- GLib.ExceptionManager.RaiseUnhandledException(e, false);
+ GstRemuxer remuxer_managed = GLib.Object.GetObject (remuxer, false) as
GstRemuxer;
+ remuxer_managed.OnError (GLib.Marshaller.Utf8PtrToString (message));
+ } catch (Exception e) {
+ GLib.ExceptionManager.RaiseUnhandledException (e, false);
}
}
- private static void OverrideError(GLib.GType gtype)
+ private static void OverrideError (GLib.GType gtype)
{
- if(ErrorVMCallback == null)
- ErrorVMCallback = new ErrorVMDelegate(error_cb);
- OverrideVirtualMethod(gtype, "error", ErrorVMCallback);
+ if (ErrorVMCallback == null)
+ ErrorVMCallback = new ErrorVMDelegate (error_cb);
+ OverrideVirtualMethod (gtype, "error", ErrorVMCallback);
}
[GLib.DefaultSignalHandler(Type=typeof(LongoMatch.Video.Remuxer.GstRemuxer),
ConnectionMethod="OverrideError")]
- protected virtual void OnError(string message)
+ protected virtual void OnError (string message)
{
GLib.Value ret = GLib.Value.Empty;
- GLib.ValueArray inst_and_params = new GLib.ValueArray(2);
+ GLib.ValueArray inst_and_params = new GLib.ValueArray (2);
GLib.Value[] vals = new GLib.Value [2];
- vals [0] = new GLib.Value(this);
- inst_and_params.Append(vals [0]);
- vals [1] = new GLib.Value(message);
- inst_and_params.Append(vals [1]);
- g_signal_chain_from_overridden(inst_and_params.ArrayPtr, ref ret);
- foreach(GLib.Value v in vals)
- v.Dispose();
+ vals [0] = new GLib.Value (this);
+ inst_and_params.Append (vals [0]);
+ vals [1] = new GLib.Value (message);
+ inst_and_params.Append (vals [1]);
+ g_signal_chain_from_overridden (inst_and_params.ArrayPtr, ref ret);
+ foreach (GLib.Value v in vals)
+ v.Dispose ();
}
[GLib.Signal("error")]
public event GlibErrorHandler GstError {
add {
- GLib.Signal sig = GLib.Signal.Lookup(this, "error", new
ErrorSignalDelegate(ErrorSignalCallback));
- sig.AddDelegate(value);
+ GLib.Signal sig = GLib.Signal.Lookup (this, "error", new ErrorSignalDelegate
(ErrorSignalCallback));
+ sig.AddDelegate (value);
}
remove {
- GLib.Signal sig = GLib.Signal.Lookup(this, "error", new
ErrorSignalDelegate(ErrorSignalCallback));
- sig.RemoveDelegate(value);
+ GLib.Signal sig = GLib.Signal.Lookup (this, "error", new ErrorSignalDelegate
(ErrorSignalCallback));
+ sig.RemoveDelegate (value);
}
}
-#endregion
-
-#region Percent-completed
- [UnmanagedFunctionPointer(CallingConvention.Cdecl)]
- delegate void PercentCompletedVMDelegate(IntPtr gvc, float percent);
+ #endregion
+ #region Percent-completed
+ [UnmanagedFunctionPointer (CallingConvention.Cdecl)]
+ delegate void PercentCompletedVMDelegate (IntPtr gvc,float percent);
static PercentCompletedVMDelegate PercentCompletedVMCallback;
- static void percentcompleted_cb(IntPtr remuxer, float percent)
+ static void percentcompleted_cb (IntPtr remuxer, float percent)
{
try {
- GstRemuxer remuxer_managed = GLib.Object.GetObject(remuxer, false) as
GstRemuxer;
- remuxer_managed.OnPercentCompleted(percent);
- } catch(Exception e) {
- GLib.ExceptionManager.RaiseUnhandledException(e, false);
+ GstRemuxer remuxer_managed = GLib.Object.GetObject (remuxer, false) as
GstRemuxer;
+ remuxer_managed.OnPercentCompleted (percent);
+ } catch (Exception e) {
+ GLib.ExceptionManager.RaiseUnhandledException (e, false);
}
}
- private static void OverridePercentCompleted(GLib.GType gtype)
+ private static void OverridePercentCompleted (GLib.GType gtype)
{
- if(PercentCompletedVMCallback == null)
- PercentCompletedVMCallback = new
PercentCompletedVMDelegate(percentcompleted_cb);
- OverrideVirtualMethod(gtype, "percent_completed", PercentCompletedVMCallback);
+ if (PercentCompletedVMCallback == null)
+ PercentCompletedVMCallback = new PercentCompletedVMDelegate
(percentcompleted_cb);
+ OverrideVirtualMethod (gtype, "percent_completed", PercentCompletedVMCallback);
}
[GLib.DefaultSignalHandler(Type=typeof(LongoMatch.Video.Remuxer.GstRemuxer),
ConnectionMethod="OverridePercentCompleted")]
- protected virtual void OnPercentCompleted(float percent)
+ protected virtual void OnPercentCompleted (float percent)
{
GLib.Value ret = GLib.Value.Empty;
- GLib.ValueArray inst_and_params = new GLib.ValueArray(2);
+ GLib.ValueArray inst_and_params = new GLib.ValueArray (2);
GLib.Value[] vals = new GLib.Value [2];
- vals [0] = new GLib.Value(this);
- inst_and_params.Append(vals [0]);
- vals [1] = new GLib.Value(percent);
- inst_and_params.Append(vals [1]);
- g_signal_chain_from_overridden(inst_and_params.ArrayPtr, ref ret);
- foreach(GLib.Value v in vals)
- v.Dispose();
+ vals [0] = new GLib.Value (this);
+ inst_and_params.Append (vals [0]);
+ vals [1] = new GLib.Value (percent);
+ inst_and_params.Append (vals [1]);
+ g_signal_chain_from_overridden (inst_and_params.ArrayPtr, ref ret);
+ foreach (GLib.Value v in vals)
+ v.Dispose ();
}
[GLib.Signal("percent_completed")]
public event GlibPercentCompletedHandler PercentCompleted {
add {
- GLib.Signal sig = GLib.Signal.Lookup(this, "percent_completed",
typeof(PercentCompletedArgs));
- sig.AddDelegate(value);
+ GLib.Signal sig = GLib.Signal.Lookup (this, "percent_completed",
typeof(PercentCompletedArgs));
+ sig.AddDelegate (value);
}
remove {
- GLib.Signal sig = GLib.Signal.Lookup(this, "percent_completed",
typeof(PercentCompletedArgs));
- sig.RemoveDelegate(value);
+ GLib.Signal sig = GLib.Signal.Lookup (this, "percent_completed",
typeof(PercentCompletedArgs));
+ sig.RemoveDelegate (value);
}
}
-#endregion
-
+ #endregion
[DllImport("libcesarplayer.dll")]
- static extern void gst_remuxer_cancel(IntPtr raw);
+ static extern void gst_remuxer_cancel (IntPtr raw);
- public void Cancel() {
- gst_remuxer_cancel(Handle);
+ public void Cancel ()
+ {
+ gst_remuxer_cancel (Handle);
}
-
[DllImport("libcesarplayer.dll")]
- static extern void gst_remuxer_start(IntPtr raw);
+ static extern void gst_remuxer_start (IntPtr raw);
- public void Start() {
- gst_remuxer_start(Handle);
+ public void Start ()
+ {
+ gst_remuxer_start (Handle);
}
- static GstRemuxer()
+ static GstRemuxer ()
{
- LongoMatch.GtkSharp.Remuxer.ObjectManager.Initialize();
+ LongoMatch.GtkSharp.Remuxer.ObjectManager.Initialize ();
}
#endregion
-
}
}
diff --git a/LongoMatch.Multimedia/Remuxer/MpegRemuxer.cs b/LongoMatch.Multimedia/Remuxer/MpegRemuxer.cs
index 2cca807..5d986de 100644
--- a/LongoMatch.Multimedia/Remuxer/MpegRemuxer.cs
+++ b/LongoMatch.Multimedia/Remuxer/MpegRemuxer.cs
@@ -16,17 +16,11 @@
// Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA.
//
using System;
-using System.Collections.Generic;
using System.Diagnostics;
using System.IO;
using System.Threading;
-using Mono.Unix;
-using GLib;
-using LongoMatch.Store;
-using LongoMatch.Interfaces.Multimedia;
using LongoMatch.Handlers;
-using LongoMatch.Video.Utils;
-using LongoMatch.Multimedia.Utils;
+using LongoMatch.Interfaces.Multimedia;
namespace LongoMatch.Video.Remuxer
{
@@ -34,59 +28,63 @@ namespace LongoMatch.Video.Remuxer
{
public event ErrorHandler Error;
public event ProgressHandler Progress;
+
const string FORMAT = "mp4";
const string BACKUP_FORMAT = "mkv";
string inputFilepath;
string outputFilepath;
System.Threading.Thread remuxThread;
-
+
public MpegRemuxer (string inputFilepath, string outputFilepath)
{
this.inputFilepath = inputFilepath;
this.outputFilepath = outputFilepath;
}
-
- public void Start() {
- remuxThread = new System.Threading.Thread(new ThreadStart(RemuxTask));
- remuxThread.Start();
+
+ public void Start ()
+ {
+ remuxThread = new System.Threading.Thread (new ThreadStart (RemuxTask));
+ remuxThread.Start ();
}
-
- public void Cancel() {
+
+ public void Cancel ()
+ {
if (remuxThread.IsAlive)
- remuxThread.Interrupt();
+ remuxThread.Interrupt ();
try {
File.Delete (this.outputFilepath);
} catch {
}
}
-
- private int LaunchRemuxer () {
+
+ private int LaunchRemuxer ()
+ {
int ret = 1;
- ProcessStartInfo startInfo = new ProcessStartInfo();
+ ProcessStartInfo startInfo = new ProcessStartInfo ();
startInfo.CreateNoWindow = true;
if (System.Environment.OSVersion.Platform != PlatformID.Win32NT) {
startInfo.UseShellExecute = false;
}
startInfo.FileName = "avconv";
- startInfo.Arguments = String.Format("-i {0} -vcodec copy -acodec copy -y -sn {1} ",
+ startInfo.Arguments = String.Format ("-i {0} -vcodec copy -acodec copy -y -sn {1} ",
inputFilepath, outputFilepath);
- using (System.Diagnostics.Process exeProcess =
System.Diagnostics.Process.Start(startInfo))
- {
- exeProcess.WaitForExit();
+ using (System.Diagnostics.Process exeProcess =
System.Diagnostics.Process.Start(startInfo)) {
+ exeProcess.WaitForExit ();
ret = exeProcess.ExitCode;
}
return ret;
}
-
- private void RemuxTask(){
+
+ private void RemuxTask ()
+ {
int ret;
ret = LaunchRemuxer ();
if (ret != 0) {
/* Try with the backup format instead */
System.IO.File.Delete (outputFilepath);
- outputFilepath = Path.ChangeExtension(inputFilepath, BACKUP_FORMAT);
+ outputFilepath = Path.ChangeExtension (inputFilepath, BACKUP_FORMAT);
ret = LaunchRemuxer ();
}
diff --git a/LongoMatch.Multimedia/Remuxer/ObjectManager.cs b/LongoMatch.Multimedia/Remuxer/ObjectManager.cs
index f1ddc7a..73068e4 100644
--- a/LongoMatch.Multimedia/Remuxer/ObjectManager.cs
+++ b/LongoMatch.Multimedia/Remuxer/ObjectManager.cs
@@ -19,21 +19,21 @@
//
// This file was generated by the Gtk# code generator.
// Any changes made will be lost if regenerated.
-
-namespace LongoMatch.GtkSharp.Remuxer {
-
- public class ObjectManager {
+namespace LongoMatch.GtkSharp.Remuxer
+{
+ public class ObjectManager
+ {
static bool initialized = false;
// Call this method from the appropriate module init function.
- public static void Initialize()
+ public static void Initialize ()
{
- if(initialized)
+ if (initialized)
return;
initialized = true;
- GLib.GType.Register(LongoMatch.Video.Remuxer.GstRemuxer.GType,
typeof(LongoMatch.Video.Remuxer.GstRemuxer));
+ GLib.GType.Register (LongoMatch.Video.Remuxer.GstRemuxer.GType,
typeof(LongoMatch.Video.Remuxer.GstRemuxer));
}
}
}
diff --git a/LongoMatch.Multimedia/Utils/GStreamer.cs b/LongoMatch.Multimedia/Utils/GStreamer.cs
index dbc82a6..b8568be 100644
--- a/LongoMatch.Multimedia/Utils/GStreamer.cs
+++ b/LongoMatch.Multimedia/Utils/GStreamer.cs
@@ -18,10 +18,8 @@
using System;
using System.IO;
using System.Runtime.InteropServices;
-using LongoMatch.Video;
-using Mono.Unix;
-using LongoMatch.Common;
using LongoMatch.Store;
+using LongoMatch.Video;
namespace LongoMatch.Multimedia.Utils
{
@@ -30,73 +28,81 @@ namespace LongoMatch.Multimedia.Utils
[DllImport("libgstreamer-0.10.dll") /* willfully unmapped */ ]
static extern IntPtr gst_registry_get_default ();
+
[DllImport("libgstreamer-0.10.dll") /* willfully unmapped */ ]
static extern IntPtr gst_registry_lookup_feature (IntPtr raw, string name);
+
[DllImport("libgstreamer-0.10.dll") /* willfully unmapped */ ]
static extern void gst_object_unref (IntPtr raw);
-
+
public const string MPEG1_PS = "MPEG-1 System Stream";
public const string MPEG2_PS = "MPEG-2 System Stream";
public const string MPEG2_TS = "MPEG-2 Transport Stream";
public const string ASF = "Advanced Streaming Format (ASF)";
public const string FLV = "Flash";
-
private const string GST_DIRECTORY = ".gstreamer-0.10";
private const string REGISTRY_PATH = "registry.bin";
-
- public static void Init() {
- Log.Information("Initializing GStreamer.");
- SetUpEnvironment();
- MultimediaFactory.InitBackend();
- Log.Information("GStreamer initialized successfully.");
+
+ public static void Init ()
+ {
+ Log.Information ("Initializing GStreamer.");
+ SetUpEnvironment ();
+ MultimediaFactory.InitBackend ();
+ Log.Information ("GStreamer initialized successfully.");
}
-
- public static bool CheckInstallation () {
+
+ public static bool CheckInstallation ()
+ {
/* This check only makes sense on windows */
if (Environment.OSVersion.Platform != PlatformID.Win32NT)
return true;
- if (!CheckBasicPlugins()) {
+ if (!CheckBasicPlugins ()) {
return false;
}
return true;
}
-
- public static bool FileNeedsRemux (MediaFile file) {
+
+ public static bool FileNeedsRemux (MediaFile file)
+ {
if (file.Container == MPEG1_PS || file.Container == MPEG2_PS ||
- file.Container == MPEG2_TS || file.Container == FLV ||
- file.Container == ASF)
- return true;
+ file.Container == MPEG2_TS || file.Container == FLV ||
+ file.Container == ASF)
+ return true;
return false;
}
-
- private static void SetUpEnvironment () {
+
+ private static void SetUpEnvironment ()
+ {
string gstDirectory, registryPath;
if (Environment.OSVersion.Platform != PlatformID.Win32NT)
return;
- gstDirectory = GetGstDirectory();
- registryPath = GetRegistryPath();
+ gstDirectory = GetGstDirectory ();
+ registryPath = GetRegistryPath ();
if (!Directory.Exists (gstDirectory))
Directory.CreateDirectory (gstDirectory);
/* Use a custom path for the registry in Windows */
- Environment.SetEnvironmentVariable("GST_REGISTRY", registryPath);
- Environment.SetEnvironmentVariable("GST_PLUGIN_PATH",
Config.RelativeToPrefix("lib\\gstreamer-0.10"));
+ Environment.SetEnvironmentVariable ("GST_REGISTRY", registryPath);
+ Environment.SetEnvironmentVariable ("GST_PLUGIN_PATH", Config.RelativeToPrefix
("lib\\gstreamer-0.10"));
}
-
- private static string GetGstDirectory () {
+
+ private static string GetGstDirectory ()
+ {
return Path.Combine (Config.HomeDir, GST_DIRECTORY);
}
-
- private static string GetRegistryPath() {
- return Path.Combine (GetGstDirectory(), REGISTRY_PATH);
+
+ private static string GetRegistryPath ()
+ {
+ return Path.Combine (GetGstDirectory (), REGISTRY_PATH);
}
-
- private static bool CheckBasicPlugins () {
- IntPtr registry = gst_registry_get_default();
+
+ private static bool CheckBasicPlugins ()
+ {
+ IntPtr registry = gst_registry_get_default ();
/* After software updates, sometimes the registry is not regenerated properly
* and plugins appears to be missing. We only check for a few plugins for now */
@@ -106,18 +112,18 @@ namespace LongoMatch.Multimedia.Utils
return false;
return true;
}
-
- private static bool ElementExists (IntPtr registry, string element_name) {
+
+ private static bool ElementExists (IntPtr registry, string element_name)
+ {
bool ret = false;
var feature = gst_registry_lookup_feature (registry, element_name);
- if (feature != IntPtr.Zero){
+ if (feature != IntPtr.Zero) {
ret = true;
gst_object_unref (feature);
}
return ret;
}
-
}
}
diff --git a/LongoMatch.Multimedia/Utils/GstDiscoverer.cs b/LongoMatch.Multimedia/Utils/GstDiscoverer.cs
index 7175ab3..eb7a1d0 100644
--- a/LongoMatch.Multimedia/Utils/GstDiscoverer.cs
+++ b/LongoMatch.Multimedia/Utils/GstDiscoverer.cs
@@ -15,36 +15,32 @@
// along with this program; if not, write to the Free Software
// Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA.
//
-
using System;
using System.Runtime.InteropServices;
-
using LongoMatch.Interfaces.Multimedia;
using LongoMatch.Store;
-using LongoMatch.Video;
-using LongoMatch.Video.Common;
-using LongoMatch.Video.Player;
using Mono.Unix;
-using GLib;
+using LongoMatch.Video;
namespace LongoMatch.Video.Utils
{
public class GstDiscoverer: IDiscoverer
{
- const int THUMBNAIL_MAX_HEIGHT=72;
- const int THUMBNAIL_MAX_WIDTH=96;
+ const int THUMBNAIL_MAX_HEIGHT = 72;
+ const int THUMBNAIL_MAX_WIDTH = 96;
[DllImport("libcesarplayer.dll")]
- static extern unsafe uint lgm_discover_uri(string uri, out long duration,
- out uint width, out uint height,
- out uint fps_n, out uint fps_d,
- out uint par_n, out uint par_d,
- out IntPtr container,
- out IntPtr video_codec,
- out IntPtr audio_codec,
- out IntPtr err);
-
- public MediaFile DiscoverFile (string filePath, bool takeScreenshot = true) {
+ static extern unsafe uint lgm_discover_uri (string uri, out long duration,
+ out uint width, out uint height,
+ out uint fps_n, out uint fps_d,
+ out uint par_n, out uint par_d,
+ out IntPtr container,
+ out IntPtr video_codec,
+ out IntPtr audio_codec,
+ out IntPtr err);
+
+ public MediaFile DiscoverFile (string filePath, bool takeScreenshot = true)
+ {
long duration = 0;
uint width, height, fps_n, fps_d, par_n, par_d, ret, fps = 0;
string container, audio_codec, video_codec;
@@ -52,16 +48,17 @@ namespace LongoMatch.Video.Utils
float par = 0;
IntPtr container_ptr, audio_codec_ptr, video_codec_ptr;
IntPtr error = IntPtr.Zero;
- LongoMatch.Common.Image preview=null;
+ LongoMatch.Common.Image preview = null;
MultimediaFactory factory;
IFramesCapturer thumbnailer;
- ret = lgm_discover_uri(filePath, out duration, out width, out height, out fps_n,
- out fps_d, out par_n, out par_d, out container_ptr,
- out video_codec_ptr, out audio_codec_ptr, out error);
- if(error != IntPtr.Zero) throw new GLib.GException(error);
+ ret = lgm_discover_uri (filePath, out duration, out width, out height, out fps_n,
+ out fps_d, out par_n, out par_d, out container_ptr,
+ out video_codec_ptr, out audio_codec_ptr, out error);
+ if (error != IntPtr.Zero)
+ throw new GLib.GException (error);
if (ret != 0) {
- throw new Exception(Catalog.GetString("Could not parse file:") + filePath);
+ throw new Exception (Catalog.GetString ("Could not parse file:") + filePath);
}
has_audio = audio_codec_ptr != IntPtr.Zero;
@@ -72,22 +69,22 @@ namespace LongoMatch.Video.Utils
/* From nanoseconds to milliseconds */
duration = duration / (1000 * 1000);
- if(has_video) {
+ if (has_video) {
fps = fps_n / fps_d;
- par = (float)par_n / par_d;
- if(takeScreenshot) {
+ par = (float)par_n / par_d;
+ if (takeScreenshot) {
factory = new MultimediaFactory ();
- thumbnailer = factory.GetFramesCapturer();
- thumbnailer.Open(filePath);
- thumbnailer.Seek (new Time {Seconds = 2}, false);
- preview =
thumbnailer.GetCurrentFrame(THUMBNAIL_MAX_WIDTH,THUMBNAIL_MAX_HEIGHT);
- thumbnailer.Dispose();
+ thumbnailer = factory.GetFramesCapturer ();
+ thumbnailer.Open (filePath);
+ thumbnailer.Seek (new Time { Seconds = 2 }, false);
+ preview = thumbnailer.GetCurrentFrame (THUMBNAIL_MAX_WIDTH,
THUMBNAIL_MAX_HEIGHT);
+ thumbnailer.Dispose ();
}
}
- return new LongoMatch.Store.MediaFile(filePath, duration, (ushort)fps, has_audio,
has_video,
- container, video_codec, audio_codec, width,
height,
- par, preview);
+ return new LongoMatch.Store.MediaFile (filePath, duration, (ushort)fps, has_audio,
has_video,
+ container, video_codec, audio_codec, width,
height,
+ par, preview);
}
}
}
diff --git a/LongoMatch.Multimedia/Utils/MultimediaFactory.cs
b/LongoMatch.Multimedia/Utils/MultimediaFactory.cs
index e865daf..cdc2a91 100644
--- a/LongoMatch.Multimedia/Utils/MultimediaFactory.cs
+++ b/LongoMatch.Multimedia/Utils/MultimediaFactory.cs
@@ -17,127 +17,138 @@
//Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA.
//
//
-
using System;
-using System.Linq;
using System.Collections.Generic;
+using System.Linq;
using System.Runtime.InteropServices;
-
using LongoMatch.Common;
using LongoMatch.Interfaces.Multimedia;
-using LongoMatch.Multimedia.Utils;
using LongoMatch.Store;
+using LongoMatch.Multimedia.Utils;
using LongoMatch.Video.Capturer;
-using LongoMatch.Video.Player;
-using LongoMatch.Video.Editor;
using LongoMatch.Video.Converter;
+using LongoMatch.Video.Editor;
+using LongoMatch.Video.Player;
using LongoMatch.Video.Remuxer;
using LongoMatch.Video.Utils;
-using LongoMatch.Video.Common;
namespace LongoMatch.Video
{
-
public class MultimediaFactory
{
Dictionary<Type, List<BackendElement>> elements;
- public MultimediaFactory()
+ public MultimediaFactory ()
{
- elements = new Dictionary<Type, List<BackendElement>>();
+ elements = new Dictionary<Type, List<BackendElement>> ();
/* Register default elements */
- Register (0, typeof (IPlayer), typeof (GstPlayer));
- Register (0, typeof (IFramesCapturer), typeof (GstFramesCapturer));
- Register (0, typeof (IVideoConverter), typeof (GstVideoConverter));
- Register (0, typeof (IVideoEditor), typeof (GstVideoSplitter));
- Register (0, typeof (IRemuxer), typeof (GstRemuxer));
- Register (0, typeof (ICapturer), typeof (GstCameraCapturer));
- Register (0, typeof (IDiscoverer), typeof (GstDiscoverer));
+ Register (0, typeof(IPlayer), typeof(GstPlayer));
+ Register (0, typeof(IFramesCapturer), typeof(GstFramesCapturer));
+ Register (0, typeof(IVideoConverter), typeof(GstVideoConverter));
+ Register (0, typeof(IVideoEditor), typeof(GstVideoSplitter));
+ Register (0, typeof(IRemuxer), typeof(GstRemuxer));
+ Register (0, typeof(ICapturer), typeof(GstCameraCapturer));
+ Register (0, typeof(IDiscoverer), typeof(GstDiscoverer));
}
-
- public void Register (int priority, Type interfac, Type elementType) {
+
+ public void Register (int priority, Type interfac, Type elementType)
+ {
if (!elements.ContainsKey (interfac)) {
- elements[interfac] = new List<BackendElement> ();
+ elements [interfac] = new List<BackendElement> ();
}
- elements[interfac].Add (new BackendElement(elementType, priority));
+ elements [interfac].Add (new BackendElement (elementType, priority));
}
- public IPlayer GetPlayer () {
- return GetDefaultElement<IPlayer> (typeof (IPlayer));
+ public IPlayer GetPlayer ()
+ {
+ return GetDefaultElement<IPlayer> (typeof(IPlayer));
}
- public IFramesCapturer GetFramesCapturer() {
- return GetDefaultElement<IFramesCapturer> (typeof (IFramesCapturer));
+ public IFramesCapturer GetFramesCapturer ()
+ {
+ return GetDefaultElement<IFramesCapturer> (typeof(IFramesCapturer));
}
- public IVideoEditor GetVideoEditor() {
- return GetDefaultElement<IVideoEditor> (typeof (IVideoEditor));
+ public IVideoEditor GetVideoEditor ()
+ {
+ return GetDefaultElement<IVideoEditor> (typeof(IVideoEditor));
}
- public IVideoConverter GetVideoConverter(string filename) {
- return GetDefaultElement<IVideoConverter> (typeof (IVideoConverter));
+ public IVideoConverter GetVideoConverter (string filename)
+ {
+ return GetDefaultElement<IVideoConverter> (typeof(IVideoConverter));
}
- public IDiscoverer GetDiscoverer () {
- return GetDefaultElement<IDiscoverer> (typeof (IDiscoverer));
+ public IDiscoverer GetDiscoverer ()
+ {
+ return GetDefaultElement<IDiscoverer> (typeof(IDiscoverer));
}
-
- public ICapturer GetCapturer(CapturerType type) {
- switch(type) {
+
+ public ICapturer GetCapturer (CapturerType type)
+ {
+ switch (type) {
case CapturerType.Live:
- return GetDefaultElement<ICapturer> (typeof (ICapturer), "test.avi");
+ return GetDefaultElement<ICapturer> (typeof(ICapturer), "test.avi");
default:
- return new FakeCapturer();
+ return new FakeCapturer ();
}
}
-
- public IRemuxer GetRemuxer(MediaFile inputFile, string outputFile, VideoMuxerType muxer) {
+
+ public IRemuxer GetRemuxer (MediaFile inputFile, string outputFile, VideoMuxerType muxer)
+ {
if (inputFile.Container == GStreamer.MPEG1_PS ||
- inputFile.Container == GStreamer.MPEG2_PS ||
- inputFile.Container == GStreamer.MPEG2_TS) {
+ inputFile.Container == GStreamer.MPEG2_PS ||
+ inputFile.Container == GStreamer.MPEG2_TS) {
return new MpegRemuxer (inputFile.FilePath, outputFile);
} else {
- return GetDefaultElement<IRemuxer> (typeof (IRemuxer),
+ return GetDefaultElement<IRemuxer> (typeof(IRemuxer),
inputFile.FilePath,
outputFile, muxer);
}
}
-
- public MediaFile DiscoverFile (string file, bool takeScreenshot = true) {
- return GetDiscoverer().DiscoverFile (file, takeScreenshot);
- }
-
+
+ public MediaFile DiscoverFile (string file, bool takeScreenshot = true)
+ {
+ return GetDiscoverer ().DiscoverFile (file, takeScreenshot);
+ }
+
public List<Device> VideoDevices {
get {
- return VideoDevice.ListVideoDevices();
+ return VideoDevice.ListVideoDevices ();
}
}
-
- public bool FileNeedsRemux (MediaFile file) {
+
+ public bool FileNeedsRemux (MediaFile file)
+ {
return GStreamer.FileNeedsRemux (file);
}
-
+
[DllImport("libgstreamer-0.10.dll")]
static extern void gst_init (int argc, string argv);
- public static void InitBackend() {
- gst_init(0, "");
+
+ public static void InitBackend ()
+ {
+ gst_init (0, "");
}
-
- T GetDefaultElement<T>(Type interfac, params object[] args) {
+
+ T GetDefaultElement<T> (Type interfac, params object[] args)
+ {
Type elementType;
if (!elements.ContainsKey (interfac)) {
throw new Exception (String.Format ("No {0} available in the multimedia
backend", interfac));
}
- elementType = elements[interfac].OrderByDescending (e => e.priority).First().type;
- return (T)Activator.CreateInstance(elementType, args);
+ elementType = elements [interfac].OrderByDescending (e => e.priority).First ().type;
+ return (T)Activator.CreateInstance (elementType, args);
}
-
- internal class BackendElement {
+
+ internal class BackendElement
+ {
public Type type;
public int priority;
-
- public BackendElement (Type type, int priority) {
+
+ public BackendElement (Type type, int priority)
+ {
this.type = type;
this.priority = priority;
}
diff --git a/LongoMatch.Multimedia/Utils/Seeker.cs b/LongoMatch.Multimedia/Utils/Seeker.cs
index 433b5cd..ff29edf 100644
--- a/LongoMatch.Multimedia/Utils/Seeker.cs
+++ b/LongoMatch.Multimedia/Utils/Seeker.cs
@@ -15,29 +15,28 @@
// along with this program; if not, write to the Free Software
// Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA.
//
-using System;
-using LongoMatch.Video.Common;
using LongoMatch.Store;
+using LongoMatch.Video.Common;
namespace LongoMatch.Video.Utils
{
public class Seeker
{
public event SeekHandler SeekEvent;
-
+
uint timeout;
int pendingSeekId;
Time start;
float rate;
SeekType seekType;
-
+
public Seeker (uint timeoutMS=80)
{
timeout = timeoutMS;
pendingSeekId = -1;
seekType = SeekType.None;
}
-
+
public void Seek (SeekType seekType, Time start=null, float rate=1)
{
this.seekType = seekType;
@@ -48,10 +47,11 @@ namespace LongoMatch.Video.Utils
return;
HandleSeekTimeout ();
- pendingSeekId = (int) GLib.Timeout.Add (timeout, HandleSeekTimeout);
+ pendingSeekId = (int)GLib.Timeout.Add (timeout, HandleSeekTimeout);
}
-
- public bool HandleSeekTimeout () {
+
+ public bool HandleSeekTimeout ()
+ {
pendingSeekId = -1;
if (seekType != SeekType.None) {
if (SeekEvent != null) {
diff --git a/LongoMatch.Multimedia/Utils/TimeString.cs b/LongoMatch.Multimedia/Utils/TimeString.cs
index d2a0846..128cba4 100644
--- a/LongoMatch.Multimedia/Utils/TimeString.cs
+++ b/LongoMatch.Multimedia/Utils/TimeString.cs
@@ -17,21 +17,18 @@
// Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA.
//
//
-
using System;
namespace LongoMatch.Video.Utils
{
-
-
public class TimeString
{
- public TimeString()
+ public TimeString ()
{
}
- public static string SecondsToString(long time)
+ public static string SecondsToString (long time)
{
long _h, _m, _s;
@@ -39,45 +36,47 @@ namespace LongoMatch.Video.Utils
_m = ((time % 3600) / 60);
_s = ((time % 3600) % 60);
- if(_h > 0)
- return String.Format("{0}:{1}:{2}", _h, _m.ToString("d2"),
- _s.ToString("d2"));
+ if (_h > 0)
+ return String.Format ("{0}:{1}:{2}", _h, _m.ToString ("d2"),
+ _s.ToString ("d2"));
- return String.Format("{0}:{1}", _m, _s.ToString("d2"));
+ return String.Format ("{0}:{1}", _m, _s.ToString ("d2"));
}
- public static string MSecondsToMSecondsString(long time)
+
+ public static string MSecondsToMSecondsString (long time)
{
- long _h, _m, _s,_ms,_time;
+ long _h, _m, _s, _ms, _time;
_time = time / 1000;
_h = (_time / 3600);
_m = ((_time % 3600) / 60);
_s = ((_time % 3600) % 60);
- _ms = ((time % 3600000)%60000)%1000;
+ _ms = ((time % 3600000) % 60000) % 1000;
- if(_h > 0)
- return String.Format("{0}:{1}:{2},{3}", _h, _m.ToString("d2"),
- _s.ToString("d2"),_ms.ToString("d3"));
+ if (_h > 0)
+ return String.Format ("{0}:{1}:{2},{3}", _h, _m.ToString ("d2"),
+ _s.ToString ("d2"), _ms.ToString ("d3"));
- return String.Format("{0}:{1},{2}", _m, _s.ToString("d2"),_ms.ToString("d3"));
+ return String.Format ("{0}:{1},{2}", _m, _s.ToString ("d2"), _ms.ToString ("d3"));
}
- public static string MSecondsToSecondsString(long time)
+
+ public static string MSecondsToSecondsString (long time)
{
- long _h, _m, _s,_time;
+ long _h, _m, _s, _time;
_time = time / 1000;
_h = (_time / 3600);
_m = ((_time % 3600) / 60);
_s = ((_time % 3600) % 60);
- if(_h > 0)
- return String.Format("{0}:{1}:{2}", _h, _m.ToString("d2"),
- _s.ToString("d2"));
+ if (_h > 0)
+ return String.Format ("{0}:{1}:{2}", _h, _m.ToString ("d2"),
+ _s.ToString ("d2"));
- return String.Format("{0}:{1}", _m, _s.ToString("d2"));
+ return String.Format ("{0}:{1}", _m, _s.ToString ("d2"));
}
- public static string FileName(string filename) {
- return System.IO.Path.GetFileName(filename);
- }
-
+ public static string FileName (string filename)
+ {
+ return System.IO.Path.GetFileName (filename);
+ }
}
}
diff --git a/LongoMatch.Multimedia/Utils/VideoDevice.cs b/LongoMatch.Multimedia/Utils/VideoDevice.cs
index 4a677a0..fdb6af1 100644
--- a/LongoMatch.Multimedia/Utils/VideoDevice.cs
+++ b/LongoMatch.Multimedia/Utils/VideoDevice.cs
@@ -15,32 +15,30 @@
// along with this program; if not, write to the Free Software
// Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA.
//
-using System;
using System.Collections.Generic;
-using Mono.Unix;
-
using LongoMatch.Common;
-using LongoMatch.Video.Common;
using LongoMatch.Video.Capturer;
namespace LongoMatch.Multimedia.Utils
{
public class VideoDevice
{
-#if OSTYPE_OS_X
+ #if OSTYPE_OS_X
static string[] devices = new string[1] {"osxvideosrc"};
-#elif OSTYPE_WINDOWS
- static string[] devices = new string[2] {"dshowvideosrc", "ksvideosrc"};
-#else
- static string[] devices = new string[2] {"v4l2src", "dv1394src"};
-#endif
-
- static public List<Device> ListVideoDevices() {
- List<Device> devicesList = new List<Device>();
+
+ #elif OSTYPE_WINDOWS
+ static string[] devices = new string[2] {"dshowvideosrc", "ksvideosrc"};
+
+ #else
+ static string[] devices = new string[2] { "v4l2src", "dv1394src" };
+ #endif
+ static public List<Device> ListVideoDevices ()
+ {
+ List<Device> devicesList = new List<Device> ();
foreach (string source in devices) {
foreach (string devname in GstCameraCapturer.ListVideoDevices (source)) {
- devicesList.Add(new Device {
+ devicesList.Add (new Device {
ID = devname,
DeviceType = CaptureSourceType.System,
SourceElement = source,
diff --git a/LongoMatch.Multimedia/Utils/WindowHandle.cs b/LongoMatch.Multimedia/Utils/WindowHandle.cs
index 755242f..d394f2e 100644
--- a/LongoMatch.Multimedia/Utils/WindowHandle.cs
+++ b/LongoMatch.Multimedia/Utils/WindowHandle.cs
@@ -25,7 +25,8 @@ namespace LongoMatch.Multimedia.Utils
[DllImport("libcesarplayer.dll")]
static extern IntPtr lgm_get_window_handle (IntPtr window);
- public static IntPtr GetWindowHandle (Gdk.Window window) {
+ public static IntPtr GetWindowHandle (Gdk.Window window)
+ {
return lgm_get_window_handle (window.Handle);
}
}
diff --git a/LongoMatch.Plugins/CSVExporter.cs b/LongoMatch.Plugins/CSVExporter.cs
index fb2c164..3f4145e 100644
--- a/LongoMatch.Plugins/CSVExporter.cs
+++ b/LongoMatch.Plugins/CSVExporter.cs
@@ -17,10 +17,9 @@
//
using System;
using System.Collections.Generic;
-using System.Linq;
+using System.Linq;
using Mono.Addins;
using Mono.Unix;
-
using LongoMatch.Addins.ExtensionPoints;
using LongoMatch.Interfaces.GUI;
using LongoMatch.Store;
@@ -29,64 +28,69 @@ using LongoMatch.Interfaces;
namespace LongoMatch.Plugins
{
-
[Extension]
public class CSVExporter:IExportProject
{
- public string GetMenuEntryName () {
- Log.Information("Registering new export entry");
- return Catalog.GetString("Export project to CSV file");
+ public string GetMenuEntryName ()
+ {
+ Log.Information ("Registering new export entry");
+ return Catalog.GetString ("Export project to CSV file");
}
-
- public string GetMenuEntryShortName () {
+
+ public string GetMenuEntryShortName ()
+ {
return "CSVExport";
}
-
- public void ExportProject (Project project, IGUIToolkit guiToolkit) {
- string filename = guiToolkit.SaveFile(Catalog.GetString("Output file"), null,
- Config.HomeDir, "CSV",
- new string[] {".csv"});
+
+ public void ExportProject (Project project, IGUIToolkit guiToolkit)
+ {
+ string filename = guiToolkit.SaveFile (Catalog.GetString ("Output file"), null,
+ Config.HomeDir, "CSV",
+ new string[] { ".csv" });
if (filename == null)
return;
- filename = System.IO.Path.ChangeExtension(filename, ".csv");
+ filename = System.IO.Path.ChangeExtension (filename, ".csv");
try {
- ProjectToCSV exporter = new ProjectToCSV(project, filename);
- exporter.Export();
- guiToolkit.InfoMessage(Catalog.GetString("Project exported successfully"));
- }catch (Exception ex) {
- guiToolkit.ErrorMessage(Catalog.GetString("Error exporting project"));
- Log.Exception(ex);
+ ProjectToCSV exporter = new ProjectToCSV (project, filename);
+ exporter.Export ();
+ guiToolkit.InfoMessage (Catalog.GetString ("Project exported successfully"));
+ } catch (Exception ex) {
+ guiToolkit.ErrorMessage (Catalog.GetString ("Error exporting project"));
+ Log.Exception (ex);
}
}
}
-
+
class ProjectToCSV
{
Project project;
string filename;
List<string> output;
-
- public ProjectToCSV(Project project, string filename) {
+
+ public ProjectToCSV (Project project, string filename)
+ {
this.project = project;
this.filename = filename;
- output = new List<string>();
+ output = new List<string> ();
}
-
- public void Export() {
+
+ public void Export ()
+ {
foreach (Category cat in project.Categories.List) {
ExportCategory (cat);
}
- File.WriteAllLines(filename, output);
+ File.WriteAllLines (filename, output);
}
-
- void ExportCategory (Category cat) {
+
+ void ExportCategory (Category cat)
+ {
string headers;
List<Play> plays;
- output.Add("CATEGORY: " + cat.Name);
+ output.Add ("CATEGORY: " + cat.Name);
plays = project.PlaysInCategory (cat);
/* Write Headers for this category */
@@ -98,19 +102,19 @@ namespace LongoMatch.Plugins
foreach (Play play in plays.OrderBy(p=>p.Start)) {
string line;
- line = String.Format("{0};{1};{2};{3}", play.Name,
- play.Start.ToMSecondsString(),
- play.Stop.ToMSecondsString(),
- play.Team);
+ line = String.Format ("{0};{1};{2};{3}", play.Name,
+ play.Start.ToMSecondsString (),
+ play.Stop.ToMSecondsString (),
+ play.Team);
/* Strings Tags */
foreach (Tag tag in cat.Tags) {
- line += ";" + (play.Tags.Contains(tag) ? "1" : "0");
+ line += ";" + (play.Tags.Contains (tag) ? "1" : "0");
}
output.Add (line);
}
- output.Add("");
+ output.Add ("");
}
}
}
diff --git a/LongoMatch.Services/Services/Core.cs b/LongoMatch.Services/Services/Core.cs
index 1f1983f..8a8d4e4 100644
--- a/LongoMatch.Services/Services/Core.cs
+++ b/LongoMatch.Services/Services/Core.cs
@@ -17,20 +17,18 @@
//
using System;
using System.IO;
-using Mono.Unix;
-#if OSTYPE_WINDOWS
-using System.Runtime.InteropServices;
-#endif
-
using LongoMatch;
using LongoMatch.DB;
using LongoMatch.Common;
+using LongoMatch.Interfaces;
using LongoMatch.Interfaces.GUI;
using LongoMatch.Interfaces.Multimedia;
-using LongoMatch.Store;
-using LongoMatch.Interfaces;
+using Mono.Unix;
+#if OSTYPE_WINDOWS
+using System.Runtime.InteropServices;
+#endif
namespace LongoMatch.Services
{
public class Core
@@ -40,23 +38,34 @@ namespace LongoMatch.Services
static HotKeysManager hkManager;
static RenderingJobsManager videoRenderer;
public static IProjectsImporter ProjectsImporter;
-#if OSTYPE_WINDOWS
+ #if OSTYPE_WINDOWS
[DllImport("libglib-2.0-0.dll") /* willfully unmapped */ ]
static extern void g_setenv (String env, String val);
-#endif
- public static void Init()
+
+
+
+
+
+
+
+
+
+
+
+ #endif
+ public static void Init ()
{
Log.Debugging = Debugging;
- Log.Information("Starting " + Constants.SOFTWARE_NAME);
+ Log.Information ("Starting " + Constants.SOFTWARE_NAME);
- SetupBaseDir();
+ SetupBaseDir ();
/* Check default folders */
- CheckDirs();
+ CheckDirs ();
/* Load user config */
- Config.Load();
+ Config.Load ();
if (Config.Lang != null) {
Environment.SetEnvironmentVariable ("LANGUAGE", Config.Lang);
@@ -66,18 +75,20 @@ namespace LongoMatch.Services
}
/* Init internationalization support */
-
Catalog.Init(Constants.SOFTWARE_NAME.ToLower(),Config.RelativeToPrefix("share/locale"));
+ Catalog.Init (Constants.SOFTWARE_NAME.ToLower (), Config.RelativeToPrefix
("share/locale"));
}
- public static void Start(IGUIToolkit guiToolkit, IMultimediaToolkit multimediaToolkit) {
+ public static void Start (IGUIToolkit guiToolkit, IMultimediaToolkit multimediaToolkit)
+ {
Config.MultimediaToolkit = multimediaToolkit;
- Config.GUIToolkit= guiToolkit;
+ Config.GUIToolkit = guiToolkit;
Config.EventsBroker.QuitApplicationEvent += () => Config.GUIToolkit.Quit ();
StartServices (guiToolkit, multimediaToolkit);
}
-
- public static void StartServices (IGUIToolkit guiToolkit, IMultimediaToolkit
multimediaToolkit){
+
+ public static void StartServices (IGUIToolkit guiToolkit, IMultimediaToolkit
multimediaToolkit)
+ {
ProjectsManager projectsManager;
PlaylistManager plManager;
ToolsManager toolsManager;
@@ -96,7 +107,7 @@ namespace LongoMatch.Services
videoRenderer = new RenderingJobsManager (multimediaToolkit, guiToolkit);
Config.RenderingJobsManger = videoRenderer;
- projectsManager = new ProjectsManager(guiToolkit, multimediaToolkit, ts);
+ projectsManager = new ProjectsManager (guiToolkit, multimediaToolkit, ts);
/* State the tools manager */
toolsManager = new ToolsManager (guiToolkit, multimediaToolkit, ts);
@@ -109,56 +120,59 @@ namespace LongoMatch.Services
hkManager = new HotKeysManager ();
/* Start playlists manager */
- plManager = new PlaylistManager(Config.GUIToolkit, videoRenderer);
+ plManager = new PlaylistManager (Config.GUIToolkit, videoRenderer);
}
-
- public static void CheckDirs() {
- if(!System.IO.Directory.Exists(Config.HomeDir))
- System.IO.Directory.CreateDirectory(Config.HomeDir);
- if(!System.IO.Directory.Exists(Config.TemplatesDir))
- System.IO.Directory.CreateDirectory(Config.TemplatesDir);
- if(!System.IO.Directory.Exists(Config.SnapshotsDir))
- System.IO.Directory.CreateDirectory(Config.SnapshotsDir);
- if(!System.IO.Directory.Exists(Config.PlayListDir))
- System.IO.Directory.CreateDirectory(Config.PlayListDir);
- if(!System.IO.Directory.Exists(Config.DBDir))
- System.IO.Directory.CreateDirectory(Config.DBDir);
- if(!System.IO.Directory.Exists(Config.VideosDir))
- System.IO.Directory.CreateDirectory(Config.VideosDir);
- if(!System.IO.Directory.Exists(Config.TempVideosDir))
- System.IO.Directory.CreateDirectory(Config.TempVideosDir);
+
+ public static void CheckDirs ()
+ {
+ if (!System.IO.Directory.Exists (Config.HomeDir))
+ System.IO.Directory.CreateDirectory (Config.HomeDir);
+ if (!System.IO.Directory.Exists (Config.TemplatesDir))
+ System.IO.Directory.CreateDirectory (Config.TemplatesDir);
+ if (!System.IO.Directory.Exists (Config.SnapshotsDir))
+ System.IO.Directory.CreateDirectory (Config.SnapshotsDir);
+ if (!System.IO.Directory.Exists (Config.PlayListDir))
+ System.IO.Directory.CreateDirectory (Config.PlayListDir);
+ if (!System.IO.Directory.Exists (Config.DBDir))
+ System.IO.Directory.CreateDirectory (Config.DBDir);
+ if (!System.IO.Directory.Exists (Config.VideosDir))
+ System.IO.Directory.CreateDirectory (Config.VideosDir);
+ if (!System.IO.Directory.Exists (Config.TempVideosDir))
+ System.IO.Directory.CreateDirectory (Config.TempVideosDir);
}
- private static void SetupBaseDir() {
+ private static void SetupBaseDir ()
+ {
string home;
- Config.baseDirectory =
System.IO.Path.Combine(System.AppDomain.CurrentDomain.BaseDirectory,"../");
- if (!System.IO.Directory.Exists(System.IO.Path.Combine(Config.baseDirectory, "share",
Constants.SOFTWARE_NAME))) {
- Config.baseDirectory = System.IO.Path.Combine(Config.baseDirectory, "../");
+ Config.baseDirectory = System.IO.Path.Combine
(System.AppDomain.CurrentDomain.BaseDirectory, "../");
+ if (!System.IO.Directory.Exists (System.IO.Path.Combine (Config.baseDirectory,
"share", Constants.SOFTWARE_NAME))) {
+ Config.baseDirectory = System.IO.Path.Combine (Config.baseDirectory, "../");
}
- if (!System.IO.Directory.Exists(System.IO.Path.Combine(Config.baseDirectory, "share",
Constants.SOFTWARE_NAME)))
- Log.Warning("Prefix directory not found");
+ if (!System.IO.Directory.Exists (System.IO.Path.Combine (Config.baseDirectory,
"share", Constants.SOFTWARE_NAME)))
+ Log.Warning ("Prefix directory not found");
/* Check for the magic file PORTABLE to check if it's a portable version
* and the config goes in the same folder as the binaries */
- if (File.Exists(System.IO.Path.Combine(Config.baseDirectory,
Constants.PORTABLE_FILE)))
+ if (File.Exists (System.IO.Path.Combine (Config.baseDirectory,
Constants.PORTABLE_FILE)))
home = Config.baseDirectory;
else
- home = System.Environment.GetFolderPath(Environment.SpecialFolder.Personal);
+ home = System.Environment.GetFolderPath (Environment.SpecialFolder.Personal);
- Config.homeDirectory = System.IO.Path.Combine(home,Constants.SOFTWARE_NAME);
+ Config.homeDirectory = System.IO.Path.Combine (home, Constants.SOFTWARE_NAME);
if (Environment.OSVersion.Platform == PlatformID.Win32NT)
Config.configDirectory = Config.homeDirectory;
else
- Config.configDirectory = System.IO.Path.Combine(home,"." +
- Constants.SOFTWARE_NAME.ToLower());
+ Config.configDirectory = System.IO.Path.Combine (home, "." +
+ Constants.SOFTWARE_NAME.ToLower ());
}
- private static bool? debugging = null;
+ private static bool? debugging = null;
+
public static bool Debugging {
get {
- if(debugging == null) {
- debugging = EnvironmentIsSet("LGM_DEBUG");
+ if (debugging == null) {
+ debugging = EnvironmentIsSet ("LGM_DEBUG");
}
return debugging.Value;
}
@@ -168,10 +182,9 @@ namespace LongoMatch.Services
}
}
- public static bool EnvironmentIsSet(string env)
+ public static bool EnvironmentIsSet (string env)
{
- return !String.IsNullOrEmpty(Environment.GetEnvironmentVariable(env));
+ return !String.IsNullOrEmpty (Environment.GetEnvironmentVariable (env));
}
-
}
}
diff --git a/LongoMatch.Services/Services/DataBaseManager.cs b/LongoMatch.Services/Services/DataBaseManager.cs
index c530c24..be895c6 100644
--- a/LongoMatch.Services/Services/DataBaseManager.cs
+++ b/LongoMatch.Services/Services/DataBaseManager.cs
@@ -20,7 +20,6 @@ using System.Collections.Generic;
using System.IO;
using System.Linq;
using Mono.Unix;
-
using LongoMatch.Interfaces;
using LongoMatch.Interfaces.GUI;
using LongoMatch.Store;
@@ -34,21 +33,22 @@ namespace LongoMatch.DB
IGUIToolkit guiToolkit;
IDatabase activeDB;
const int SUPPORTED_MAJOR_VERSION = Constants.DB_MAYOR_VERSION;
-
+
public DataBaseManager (string DBDir, IGUIToolkit guiToolkit)
{
this.DBDir = DBDir;
this.guiToolkit = guiToolkit;
Config.EventsBroker.ManageDatabasesEvent += HandleManageDatabase;
- FindDBS();
+ FindDBS ();
}
-
+
public Project OpenedProject {
get;
set;
}
-
- public void SetActiveByName (string name) {
+
+ public void SetActiveByName (string name)
+ {
foreach (IDatabase db in Databases) {
if (db.Name == name) {
Log.Information ("Selecting active database " + db.Name);
@@ -57,18 +57,19 @@ namespace LongoMatch.DB
}
}
- IDatabase newdb = new DataBase(NameToFile (name));
+ IDatabase newdb = new DataBase (NameToFile (name));
Log.Information ("Creating new database " + newdb.Name);
Databases.Add (newdb);
ActiveDB = newdb;
}
-
- public IDatabase Add (string name) {
- if (Databases.Where(db => db.Name == name).Count() != 0) {
- throw new Exception("A database with the same name already exists");
+
+ public IDatabase Add (string name)
+ {
+ if (Databases.Where (db => db.Name == name).Count () != 0) {
+ throw new Exception ("A database with the same name already exists");
}
try {
- IDatabase newdb = new DataBase(NameToFile (name));
+ IDatabase newdb = new DataBase (NameToFile (name));
Log.Information ("Creating new database " + newdb.Name);
Databases.Add (newdb);
return newdb;
@@ -77,38 +78,42 @@ namespace LongoMatch.DB
return null;
}
}
-
- public bool Delete (IDatabase db) {
+
+ public bool Delete (IDatabase db)
+ {
/* Leave at least one database */
if (Databases.Count < 2) {
return false;
}
return db.Delete ();
}
-
+
public IDatabase ActiveDB {
get {
return activeDB;
- } set {
+ }
+ set {
activeDB = value;
Config.CurrentDatabase = value.Name;
- Config.Save();
+ Config.Save ();
}
}
-
+
public List<IDatabase> Databases {
get;
set;
}
-
- string NameToFile (string name) {
+
+ string NameToFile (string name)
+ {
return Path.Combine (DBDir, name + '.' + Extension);
}
-
- string FileToName (string path) {
- return Path.GetFileName(path).Replace("." + Extension, "");
+
+ string FileToName (string path)
+ {
+ return Path.GetFileName (path).Replace ("." + Extension, "");
}
-
+
string Extension {
get {
return "ldb";
@@ -118,15 +123,16 @@ namespace LongoMatch.DB
void HandleManageDatabase ()
{
if (OpenedProject != null) {
- var msg = Catalog.GetString("Close the current project to open the database
manager");
+ var msg = Catalog.GetString ("Close the current project to open the database
manager");
guiToolkit.ErrorMessage (msg);
} else {
guiToolkit.OpenDatabasesManager ();
}
}
-
- void FindDBS (){
- Databases = new List<IDatabase>();
+
+ void FindDBS ()
+ {
+ Databases = new List<IDatabase> ();
DirectoryInfo dbdir = new DirectoryInfo (DBDir);
foreach (DirectoryInfo subdir in dbdir.GetDirectories()) {
diff --git a/LongoMatch.Services/Services/EventsManager.cs b/LongoMatch.Services/Services/EventsManager.cs
index d8de06a..71a0a7d 100644
--- a/LongoMatch.Services/Services/EventsManager.cs
+++ b/LongoMatch.Services/Services/EventsManager.cs
@@ -17,31 +17,26 @@
//Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA.
//
//
-
using System;
using System.Collections.Generic;
using LongoMatch.Common;
-using LongoMatch.Handlers;
using LongoMatch.Interfaces;
using LongoMatch.Interfaces.GUI;
using LongoMatch.Store;
using Mono.Unix;
using System.IO;
-using LongoMatch.Stats;
using LongoMatch.Interfaces.Multimedia;
namespace LongoMatch.Services
{
-
public class EventsManager
{
/* Current play loaded. null if no play is loaded */
- TimeNode loadedPlay=null;
+ TimeNode loadedPlay = null;
/* current project in use */
Project openedProject;
ProjectType projectType;
PlaysFilter filter;
-
IGUIToolkit guiToolkit;
IAnalysisWindow analysisWindow;
IPlayerBin player;
@@ -49,7 +44,7 @@ namespace LongoMatch.Services
IFramesCapturer framesCapturer;
IRenderingJobsManager renderer;
- public EventsManager(IGUIToolkit guiToolkit, IRenderingJobsManager renderer)
+ public EventsManager (IGUIToolkit guiToolkit, IRenderingJobsManager renderer)
{
this.guiToolkit = guiToolkit;
this.renderer = renderer;
@@ -73,20 +68,23 @@ namespace LongoMatch.Services
capturer = analysisWindow.Capturer;
}
- void Save (Project project) {
+ void Save (Project project)
+ {
if (Config.AutoSave) {
Config.DatabaseManager.ActiveDB.UpdateProject (project);
}
}
-
- private void ConnectSignals() {
+
+ private void ConnectSignals ()
+ {
Config.EventsBroker.NewTagEvent += OnNewTag;
Config.EventsBroker.TimeNodeChanged += OnTimeNodeChanged;
Config.EventsBroker.PlaysDeleted += OnPlaysDeleted;
Config.EventsBroker.PlaySelected += OnPlaySelected;
Config.EventsBroker.PlayCategoryChanged += OnPlayCategoryChanged;
Config.EventsBroker.DuplicatePlays += OnDuplicatePlays;
- Config.EventsBroker.PlayListNodeSelectedEvent += (tn) => {loadedPlay = tn;};
+ Config.EventsBroker.PlayListNodeSelectedEvent += (tn) => {
+ loadedPlay = tn;};
Config.EventsBroker.SnapshotSeries += OnSnapshotSeries;
Config.EventsBroker.ShowProjectStatsEvent += HandleShowProjectStatsEvent;
@@ -115,14 +113,15 @@ namespace LongoMatch.Services
guiToolkit.ShowProjectStats (project);
}
- void RenderPlay (Project project, Play play, MediaFile file) {
+ void RenderPlay (Project project, Play play, MediaFile file)
+ {
PlayList playlist;
EncodingSettings settings;
EditionJob job;
string outputDir, outputFile;
if (Config.AutoRenderDir == null ||
- !Directory.Exists (Config.AutoRenderDir)) {
+ !Directory.Exists (Config.AutoRenderDir)) {
outputDir = Config.VideosDir;
} else {
outputDir = Config.AutoRenderDir;
@@ -133,7 +132,7 @@ namespace LongoMatch.Services
try {
Directory.CreateDirectory (Path.GetDirectoryName (outputFile));
settings = EncodingSettings.DefaultRenderingSettings (outputFile);
- playlist = new PlayList();
+ playlist = new PlayList ();
playlist.Add (new PlayListPlay (play, file, true));
job = new EditionJob (playlist, settings);
@@ -143,8 +142,9 @@ namespace LongoMatch.Services
}
}
-
- void LoadPlay (Play play, Time seekTime, bool playing) {
+
+ void LoadPlay (Play play, Time seekTime, bool playing)
+ {
player.LoadPlay (openedProject.Description.File.FilePath, play,
seekTime, playing);
loadedPlay = play;
@@ -152,28 +152,30 @@ namespace LongoMatch.Services
player.Play ();
}
}
-
- private Image CaptureFrame (Time tagtime) {
+
+ private Image CaptureFrame (Time tagtime)
+ {
Image frame = null;
/* Get the current frame and get a thumbnail from it */
- if(projectType == ProjectType.CaptureProject ||
- projectType == ProjectType.URICaptureProject) {
+ if (projectType == ProjectType.CaptureProject ||
+ projectType == ProjectType.URICaptureProject) {
frame = capturer.CurrentMiniatureFrame;
- } else if(projectType == ProjectType.FileProject) {
+ } else if (projectType == ProjectType.FileProject) {
framesCapturer.Seek (tagtime, true);
frame = player.CurrentMiniatureFrame;
}
return frame;
}
-
+
private void AddNewPlay (Category category, Time start, Time stop, List<Player> players,
- List<Tag> tags, Image miniature) {
- Log.Debug(String.Format("New play created start:{0} stop:{1} category:{2}",
- start, stop, category));
+ List<Tag> tags, Image miniature)
+ {
+ Log.Debug (String.Format ("New play created start:{0} stop:{1} category:{2}",
+ start, stop, category));
/* Add the new created play to the project and update the GUI*/
- var play = openedProject.AddPlay (category, start, stop,miniature);
+ var play = openedProject.AddPlay (category, start, stop, miniature);
if (players != null) {
play.Players = players;
}
@@ -184,23 +186,24 @@ namespace LongoMatch.Services
/* Tag subcategories of the new play */
if (!Config.FastTagging)
guiToolkit.TagPlay (play, openedProject);
- analysisWindow.AddPlay(play);
- filter.Update();
+ analysisWindow.AddPlay (play);
+ filter.Update ();
if (projectType == ProjectType.FileProject) {
- player.Play();
+ player.Play ();
}
Save (openedProject);
if (projectType == ProjectType.CaptureProject ||
- projectType == ProjectType.URICaptureProject) {
- if (Config.AutoRenderPlaysInLive) {
+ projectType == ProjectType.URICaptureProject) {
+ if (Config.AutoRenderPlaysInLive) {
RenderPlay (openedProject, play, openedProject.Description.File);
}
}
}
public void OnNewTag (TaggerButton tagger, List<Player> players, List<Tag> tags,
- Time start, Time stop) {
+ Time start, Time stop)
+ {
Image frame;
if (player == null || openedProject == null)
@@ -211,10 +214,10 @@ namespace LongoMatch.Services
stop.MSeconds = Math.Min (player.StreamLength.MSeconds, stop.MSeconds);
}
- if(projectType == ProjectType.CaptureProject ||
- projectType == ProjectType.URICaptureProject) {
- if(!capturer.Capturing) {
- guiToolkit.WarningMessage (Catalog.GetString("Video capture is
stopped"));
+ if (projectType == ProjectType.CaptureProject ||
+ projectType == ProjectType.URICaptureProject) {
+ if (!capturer.Capturing) {
+ guiToolkit.WarningMessage (Catalog.GetString ("Video capture is
stopped"));
return;
}
}
@@ -231,7 +234,7 @@ namespace LongoMatch.Services
}
}
- void OnPlaySelected(Play play)
+ void OnPlaySelected (Play play)
{
if (play != null) {
LoadPlay (play, play.Start, true);
@@ -240,58 +243,59 @@ namespace LongoMatch.Services
}
}
- protected virtual void OnTimeNodeChanged(TimeNode tNode, object val)
+ protected virtual void OnTimeNodeChanged (TimeNode tNode, object val)
{
/* FIXME: Tricky, create a new handler for categories */
- if(tNode is Play && val is Time) {
+ if (tNode is Play && val is Time) {
LoadPlay (tNode as Play, val as Time, false);
+ } else if (tNode is Category) {
+ analysisWindow.UpdateCategories ();
}
- else if(tNode is Category) {
- analysisWindow.UpdateCategories();
- }
- filter.Update();
+ filter.Update ();
}
- protected virtual void OnPlaysDeleted(List<Play> plays)
+ protected virtual void OnPlaysDeleted (List<Play> plays)
{
- Log.Debug(plays.Count + " plays deleted");
- analysisWindow.DeletePlays(plays);
- openedProject.RemovePlays(plays);
+ Log.Debug (plays.Count + " plays deleted");
+ analysisWindow.DeletePlays (plays);
+ openedProject.RemovePlays (plays);
- if(projectType == ProjectType.FileProject) {
+ if (projectType == ProjectType.FileProject) {
player.CloseSegment ();
Save (openedProject);
}
- filter.Update();
+ filter.Update ();
}
void OnDuplicatePlays (List<Play> plays)
{
foreach (Play play in plays) {
Play copy = Cloner.Clone (play);
- copy.ID = Guid.NewGuid();
+ copy.ID = Guid.NewGuid ();
/* The category is also serialized and desarialized */
copy.Category = play.Category;
openedProject.AddPlay (copy);
analysisWindow.AddPlay (copy);
}
- filter.Update();
+ filter.Update ();
}
- protected virtual void OnSnapshotSeries(Play play) {
- player.Pause();
- guiToolkit.ExportFrameSeries(openedProject, play, Config.SnapshotsDir);
+ protected virtual void OnSnapshotSeries (Play play)
+ {
+ player.Pause ();
+ guiToolkit.ExportFrameSeries (openedProject, play, Config.SnapshotsDir);
}
-
- protected virtual void OnPrev()
+
+ protected virtual void OnPrev ()
{
}
- protected virtual void OnDrawFrame (Play play, int drawingIndex) {
+ protected virtual void OnDrawFrame (Play play, int drawingIndex)
+ {
Image pixbuf;
FrameDrawing drawing = null;
- player.Pause();
+ player.Pause ();
if (play == null) {
play = loadedPlay as Play;
}
@@ -300,7 +304,7 @@ namespace LongoMatch.Services
drawing = new FrameDrawing ();
drawing.Render = player.CurrentTime;
} else {
- drawing = play.Drawings[drawingIndex];
+ drawing = play.Drawings [drawingIndex];
}
player.Seek (drawing.Render, true);
}
@@ -308,18 +312,17 @@ namespace LongoMatch.Services
guiToolkit.DrawingTool (pixbuf, play, drawing);
}
- protected virtual void OnPlayCategoryChanged(Play play, Category cat)
+ protected virtual void OnPlayCategoryChanged (Play play, Category cat)
{
- List<Play> plays = new List<Play>();
- plays.Add(play);
- OnPlaysDeleted(plays);
- var newplay = openedProject.AddPlay(cat, play.Start, play.Stop, play.Miniature);
+ List<Play> plays = new List<Play> ();
+ plays.Add (play);
+ OnPlaysDeleted (plays);
+ var newplay = openedProject.AddPlay (cat, play.Start, play.Stop, play.Miniature);
newplay.Name = play.Name;
newplay.Notes = play.Notes;
newplay.Drawings = play.Drawings;
- analysisWindow.AddPlay(newplay);
+ analysisWindow.AddPlay (newplay);
Save (openedProject);
}
-
}
}
diff --git a/LongoMatch.Services/Services/FileDB.cs b/LongoMatch.Services/Services/FileDB.cs
index 0be3f4a..8d46d6d 100644
--- a/LongoMatch.Services/Services/FileDB.cs
+++ b/LongoMatch.Services/Services/FileDB.cs
@@ -19,7 +19,6 @@ using System;
using System.Collections.Generic;
using System.IO;
using System.Linq;
-
using LongoMatch.Common;
using LongoMatch.Interfaces;
using LongoMatch.Store;
@@ -32,23 +31,22 @@ namespace LongoMatch.DB
string dbDirPath;
string dbPath;
string dbName;
- TimeSpan maxDaysWithoutBackup = new TimeSpan(5, 0, 0, 0);
-
+ TimeSpan maxDaysWithoutBackup = new TimeSpan (5, 0, 0, 0);
+
public DataBase (string dbDirPath)
{
dbName = Path.GetFileNameWithoutExtension (dbDirPath);
dbPath = Path.Combine (dbDirPath, Path.GetFileName (dbDirPath));
this.dbDirPath = dbDirPath;
- if (!Directory.Exists(dbDirPath)) {
- Directory.CreateDirectory(dbDirPath);
+ if (!Directory.Exists (dbDirPath)) {
+ Directory.CreateDirectory (dbDirPath);
}
- if (File.Exists(dbPath)) {
+ if (File.Exists (dbPath)) {
try {
projectsDB = Serializer.Load<LiteDB> (dbPath);
projectsDB.DBPath = dbPath;
- }
- catch (Exception e){
+ } catch (Exception e) {
Log.Exception (e);
}
}
@@ -56,11 +54,11 @@ namespace LongoMatch.DB
ReloadDB ();
}
DateTime now = DateTime.UtcNow;
- if (projectsDB.LastBackup + maxDaysWithoutBackup < now) {
+ if (projectsDB.LastBackup + maxDaysWithoutBackup < now) {
Backup ();
}
}
-
+
/// <value>
/// The database version
/// </value>
@@ -72,36 +70,38 @@ namespace LongoMatch.DB
projectsDB.Version = value;
}
}
-
+
public string Name {
get {
return dbName;
}
}
-
+
public DateTime LastBackup {
get {
return projectsDB.LastBackup;
}
}
-
+
public int Count {
get {
return projectsDB.Projects.Count;
}
}
-
- public bool Exists (Project project) {
+
+ public bool Exists (Project project)
+ {
bool ret = false;
if (projectsDB.ProjectsDict.ContainsKey (project.ID)) {
- if (File.Exists (Path.Combine (dbDirPath, project.ID.ToString()))) {
+ if (File.Exists (Path.Combine (dbDirPath, project.ID.ToString ()))) {
ret = true;
}
}
return ret;
}
-
- public bool Backup () {
+
+ public bool Backup ()
+ {
DirectoryInfo backupDir, dbDir;
FileInfo[] files;
@@ -113,8 +113,7 @@ namespace LongoMatch.DB
}
backupDir.Create ();
files = dbDir.GetFiles ();
- foreach (FileInfo file in files)
- {
+ foreach (FileInfo file in files) {
string temppath = Path.Combine (backupDir.FullName, file.Name);
file.CopyTo (temppath, false);
}
@@ -125,8 +124,9 @@ namespace LongoMatch.DB
return false;
}
}
-
- public bool Delete () {
+
+ public bool Delete ()
+ {
try {
Directory.Delete (dbDirPath, true);
return true;
@@ -135,15 +135,16 @@ namespace LongoMatch.DB
return false;
}
}
-
-
- public List<ProjectDescription> GetAllProjects() {
+
+ public List<ProjectDescription> GetAllProjects ()
+ {
return projectsDB.Projects;
}
- public Project GetProject (Guid id) {
+ public Project GetProject (Guid id)
+ {
try {
- string projectFile = Path.Combine (dbDirPath, id.ToString());
+ string projectFile = Path.Combine (dbDirPath, id.ToString ());
if (File.Exists (projectFile)) {
return Serializer.Load<Project> (projectFile);
}
@@ -152,18 +153,19 @@ namespace LongoMatch.DB
}
return null;
}
-
- public bool AddProject(Project project){
+
+ public bool AddProject (Project project)
+ {
string projectFile;
try {
- projectFile = Path.Combine (dbDirPath, project.ID.ToString());
+ projectFile = Path.Combine (dbDirPath, project.ID.ToString ());
project.Description.LastModified = DateTime.Now;
projectsDB.Add (project.Description);
try {
- if (File.Exists(projectFile))
- File.Delete(projectFile);
- Serializer.Save(project, projectFile);
+ if (File.Exists (projectFile))
+ File.Delete (projectFile);
+ Serializer.Save (project, projectFile);
} catch (Exception ex) {
Log.Exception (ex);
projectsDB.Delete (project.Description.ID);
@@ -174,11 +176,12 @@ namespace LongoMatch.DB
return false;
}
}
-
- public bool RemoveProject(Guid id) {
+
+ public bool RemoveProject (Guid id)
+ {
string projectFile;
- projectFile = Path.Combine (dbDirPath, id.ToString());
+ projectFile = Path.Combine (dbDirPath, id.ToString ());
try {
if (File.Exists (projectFile)) {
File.Delete (projectFile);
@@ -189,13 +192,15 @@ namespace LongoMatch.DB
return false;
}
}
-
- public bool UpdateProject (Project project) {
+
+ public bool UpdateProject (Project project)
+ {
project.Description.LastModified = DateTime.Now;
return AddProject (project);
}
-
- void ReloadDB () {
+
+ void ReloadDB ()
+ {
projectsDB = new LiteDB (dbPath);
DirectoryInfo dbDir = new DirectoryInfo (dbDirPath);
foreach (FileInfo file in dbDir.GetFiles ()) {
@@ -211,58 +216,63 @@ namespace LongoMatch.DB
}
projectsDB.Save ();
}
-
}
-
+
[Serializable]
class LiteDB
{
- public LiteDB (string dbPath) {
+ public LiteDB (string dbPath)
+ {
DBPath = dbPath;
- ProjectsDict = new Dictionary <Guid, ProjectDescription>();
+ ProjectsDict = new Dictionary <Guid, ProjectDescription> ();
Version = new System.Version (Constants.DB_MAYOR_VERSION,
Constants.DB_MINOR_VERSION);
LastBackup = DateTime.Now;
}
-
- public LiteDB () { }
-
+
+ public LiteDB ()
+ {
+ }
+
public string DBPath {
get;
set;
}
-
- public Version Version {get; set;}
-
- public Dictionary<Guid, ProjectDescription> ProjectsDict {get; set;}
-
- public DateTime LastBackup {get; set;}
-
+
+ public Version Version { get; set; }
+
+ public Dictionary<Guid, ProjectDescription> ProjectsDict { get; set; }
+
+ public DateTime LastBackup { get; set; }
+
public List<ProjectDescription> Projects {
get {
- return ProjectsDict.Select (d => d.Value).ToList();
+ return ProjectsDict.Select (d => d.Value).ToList ();
}
}
-
- public bool Add (ProjectDescription desc) {
+
+ public bool Add (ProjectDescription desc)
+ {
if (ProjectsDict.ContainsKey (desc.ID)) {
- ProjectsDict[desc.ID] = desc;
+ ProjectsDict [desc.ID] = desc;
} else {
ProjectsDict.Add (desc.ID, desc);
}
return Save ();
}
-
- public bool Delete (Guid uuid) {
+
+ public bool Delete (Guid uuid)
+ {
if (ProjectsDict.ContainsKey (uuid)) {
ProjectsDict.Remove (uuid);
return Save ();
}
return false;
}
-
- public bool Save () {
+
+ public bool Save ()
+ {
bool ret = false;
try {
diff --git a/LongoMatch.Services/Services/HotKeysManager.cs b/LongoMatch.Services/Services/HotKeysManager.cs
index e91fc4d..cf69dd9 100644
--- a/LongoMatch.Services/Services/HotKeysManager.cs
+++ b/LongoMatch.Services/Services/HotKeysManager.cs
@@ -20,30 +20,24 @@
//
using System.Collections.Generic;
using LongoMatch.Common;
-
+using LongoMatch.Interfaces.GUI;
+using LongoMatch.Store;
#if HAVE_GTK
-using Gtk;
using Gdk;
-#endif
-
-using LongoMatch.Interfaces.GUI;
-using LongoMatch.Store;
-using LongoMatch.Store.Templates;
-using LongoMatch.Handlers;
+using Gtk;
+#endif
namespace LongoMatch.Services
{
-
-
public class HotKeysManager
{
Dictionary<HotKey, Category> dic;
bool ignoreKeys;
-
- public HotKeysManager()
+
+ public HotKeysManager ()
{
- dic = new Dictionary<HotKey,Category>();
+ dic = new Dictionary<HotKey,Category> ();
Config.EventsBroker.OpenedProjectChanged += HandleOpenedProjectChanged;
Config.EventsBroker.KeyPressed += KeyListener;
}
@@ -51,31 +45,32 @@ namespace LongoMatch.Services
void HandleOpenedProjectChanged (Project project, ProjectType projectType,
PlaysFilter filter, IAnalysisWindow analysisWindow)
{
- if(project == null) {
+ if (project == null) {
ignoreKeys = true;
return;
}
- dic.Clear();
+ dic.Clear ();
ignoreKeys = false;
- foreach(Category cat in project.Categories.CategoriesList) {
- if(cat.HotKey.Defined &&
- !dic.ContainsKey(cat.HotKey))
- dic.Add(cat.HotKey, cat);
+ foreach (Category cat in project.Categories.CategoriesList) {
+ if (cat.HotKey.Defined &&
+ !dic.ContainsKey (cat.HotKey))
+ dic.Add (cat.HotKey, cat);
}
}
- public void KeyListener(object sender, int key, int state) {
+ public void KeyListener (object sender, int key, int state)
+ {
if (ignoreKeys)
return;
#if HAVE_GTK
Category cat = null;
- HotKey hotkey = new HotKey();
+ HotKey hotkey = new HotKey ();
- hotkey.Key= key;
- hotkey.Modifier= (int) ((ModifierType)state & (ModifierType.Mod1Mask |
ModifierType.Mod5Mask | ModifierType.ShiftMask));
- if(dic.TryGetValue(hotkey, out cat)) {
+ hotkey.Key = key;
+ hotkey.Modifier = (int)((ModifierType)state & (ModifierType.Mod1Mask |
ModifierType.Mod5Mask | ModifierType.ShiftMask));
+ if (dic.TryGetValue (hotkey, out cat)) {
Config.EventsBroker.EmitNewTag (cat);
#endif
}
diff --git a/LongoMatch.Services/Services/PlaylistManager.cs b/LongoMatch.Services/Services/PlaylistManager.cs
index 6f65d1b..057a651 100644
--- a/LongoMatch.Services/Services/PlaylistManager.cs
+++ b/LongoMatch.Services/Services/PlaylistManager.cs
@@ -16,18 +16,15 @@
// Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA.
//
using System;
-using System.Threading;
using System.Collections.Generic;
-
+using System.Threading;
+using LongoMatch.Common;
using LongoMatch.Interfaces;
using LongoMatch.Interfaces.GUI;
using LongoMatch.Store;
-using LongoMatch.Common;
using Mono.Unix;
-
using Timer = System.Threading.Timer;
-
namespace LongoMatch.Services
{
public class PlaylistManager
@@ -39,16 +36,15 @@ namespace LongoMatch.Services
IRenderingJobsManager videoRenderer;
/* FIXME */
TimeNode selectedTimeNode;
-
bool clockStarted;
Timer timeout;
Project openedProject;
-
+
public PlaylistManager (IGUIToolkit guiToolkit, IRenderingJobsManager videoRenderer)
{
this.videoRenderer = videoRenderer;
this.guiToolkit = guiToolkit;
- BindEvents();
+ BindEvents ();
}
void HandleOpenedProjectChanged (Project project, ProjectType projectType,
@@ -59,156 +55,167 @@ namespace LongoMatch.Services
player = analysisWindow.Player;
}
}
-
- public void Stop() {
- StopClock();
+
+ public void Stop ()
+ {
+ StopClock ();
}
-
- public void Load(string filePath) {
+
+ public void Load (string filePath)
+ {
try {
- playlist = PlayList.Load(filePath);
- playlistWidget.Load(playlist);
- } catch (Exception e){
+ playlist = PlayList.Load (filePath);
+ playlistWidget.Load (playlist);
+ } catch (Exception e) {
Log.Exception (e);
- guiToolkit.ErrorMessage(Catalog.GetString("The file you are trying to load " +
+ guiToolkit.ErrorMessage (Catalog.GetString ("The file you are trying to load
" +
"is not a playlist or it's not compatible with the current version"));
}
}
-
- private void BindEvents() {
+
+ private void BindEvents ()
+ {
Config.EventsBroker.OpenedProjectChanged += HandleOpenedProjectChanged;
- Config.EventsBroker.PlaySelected += (p) => {selectedTimeNode = p;};
+ Config.EventsBroker.PlaySelected += (p) => {
+ selectedTimeNode = p;};
Config.EventsBroker.OpenPlaylistEvent += OnOpenPlaylist;
Config.EventsBroker.NewPlaylistEvent += OnNewPlaylist;
Config.EventsBroker.SavePlaylistEvent += OnSavePlaylist;
Config.EventsBroker.PlayListNodeAddedEvent += OnPlayListNodeAdded;
Config.EventsBroker.PlayListNodeSelectedEvent += LoadPlaylistPlay;
Config.EventsBroker.RenderPlaylist += OnRenderPlaylistEvent;
- Config.EventsBroker.Next += () => {Next ();};
+ Config.EventsBroker.Next += () => {
+ Next ();};
Config.EventsBroker.Prev += () => {
- if(selectedTimeNode is PlayListPlay)
- Prev();
+ if (selectedTimeNode is PlayListPlay)
+ Prev ();
};
}
-
- private void Add(List<Play> plays) {
+
+ private void Add (List<Play> plays)
+ {
if (playlist == null) {
- guiToolkit.InfoMessage(Catalog.GetString("You have not loaded any playlist
yet."));
+ guiToolkit.InfoMessage (Catalog.GetString ("You have not loaded any playlist
yet."));
} else {
foreach (Play p in plays) {
PlayListPlay pl = new PlayListPlay (p,
openedProject.Description.File, true);
- playlist.Add(pl);
- playlistWidget.Add(pl);
+ playlist.Add (pl);
+ playlistWidget.Add (pl);
}
}
}
-
- private void LoadPlaylistPlay(PlayListPlay play)
+
+ private void LoadPlaylistPlay (PlayListPlay play)
{
- if(openedProject != null) {
- guiToolkit.ErrorMessage(Catalog.GetString(
+ if (openedProject != null) {
+ guiToolkit.ErrorMessage (Catalog.GetString (
"Please, close the opened project to play the playlist."));
- Stop();
+ Stop ();
return;
}
- StartClock();
- player.LoadPlayListPlay (play, playlist.HasNext());
+ StartClock ();
+ player.LoadPlayListPlay (play, playlist.HasNext ());
selectedTimeNode = play;
playlist.SetActive (play);
- playlistWidget.SetActivePlay(play, playlist.GetCurrentIndex());
+ playlistWidget.SetActivePlay (play, playlist.GetCurrentIndex ());
}
-
- private bool Next() {
- if (!playlist.HasNext()) {
- Stop();
+
+ private bool Next ()
+ {
+ if (!playlist.HasNext ()) {
+ Stop ();
return false;
}
- var plNode = playlist.Next();
+ var plNode = playlist.Next ();
if (!plNode.Valid)
- return Next();
+ return Next ();
- LoadPlaylistPlay(plNode);
+ LoadPlaylistPlay (plNode);
return true;
}
- private void Prev() {
+ private void Prev ()
+ {
/* Select the previous element if we haven't played 500ms */
if ((player.CurrentTime - selectedTimeNode.Start).MSeconds < 500) {
- if (playlist.HasPrev()) {
- var play = playlist.Prev();
- LoadPlaylistPlay(play);
+ if (playlist.HasPrev ()) {
+ var play = playlist.Prev ();
+ LoadPlaylistPlay (play);
}
} else {
/* Seek to the beginning of the segment */
player.Seek (selectedTimeNode.Start, true);
}
}
-
- private void StartClock() {
- if(player!=null && !clockStarted) {
- timeout = new Timer(new TimerCallback(CheckStopTime), this, 20, 20);
- clockStarted=true;
+
+ private void StartClock ()
+ {
+ if (player != null && !clockStarted) {
+ timeout = new Timer (new TimerCallback (CheckStopTime), this, 20, 20);
+ clockStarted = true;
}
}
- private void StopClock() {
- if(clockStarted) {
- timeout.Dispose();
+ private void StopClock ()
+ {
+ if (clockStarted) {
+ timeout.Dispose ();
clockStarted = false;
}
}
- private void CheckStopTime(object self) {
- if(player.CurrentTime >= selectedTimeNode.Stop - new Time {MSeconds=200})
- Next();
+ private void CheckStopTime (object self)
+ {
+ if (player.CurrentTime >= selectedTimeNode.Stop - new Time { MSeconds=200 })
+ Next ();
return;
}
-
+
protected virtual void OnRenderPlaylistEvent (IPlayList playlist)
{
- List<EditionJob> jobs = guiToolkit.ConfigureRenderingJob(playlist);
+ List<EditionJob> jobs = guiToolkit.ConfigureRenderingJob (playlist);
if (jobs == null)
return;
foreach (Job job in jobs)
- videoRenderer.AddJob(job);
+ videoRenderer.AddJob (job);
}
-
- protected virtual void OnPlayListNodeAdded(List<Play> plays)
+
+ protected virtual void OnPlayListNodeAdded (List<Play> plays)
{
Add (plays);
}
-
- protected virtual void OnSavePlaylist()
+
+ protected virtual void OnSavePlaylist ()
{
- if(playlist != null) {
- playlist.Save();
+ if (playlist != null) {
+ playlist.Save ();
}
}
- protected virtual void OnOpenPlaylist()
+ protected virtual void OnOpenPlaylist ()
{
string filename;
- filename = guiToolkit.OpenFile(Catalog.GetString("Open playlist"), null,
Config.PlayListDir,
- Constants.PROJECT_NAME + Catalog.GetString("playlists"),
- new string [] {"*" + Constants.PLAYLIST_EXT});
+ filename = guiToolkit.OpenFile (Catalog.GetString ("Open playlist"), null,
Config.PlayListDir,
+ Constants.PROJECT_NAME + Catalog.GetString
("playlists"),
+ new string [] { "*" + Constants.PLAYLIST_EXT });
if (filename != null)
- Load(filename);
+ Load (filename);
}
- protected virtual void OnNewPlaylist()
+ protected virtual void OnNewPlaylist ()
{
string filename;
- filename = guiToolkit.SaveFile(Catalog.GetString("New playlist"), null,
Config.PlayListDir,
- Constants.PROJECT_NAME + Catalog.GetString("playlists"),
- new string [] {"*" + Constants.PLAYLIST_EXT});
+ filename = guiToolkit.SaveFile (Catalog.GetString ("New playlist"), null,
Config.PlayListDir,
+ Constants.PROJECT_NAME + Catalog.GetString
("playlists"),
+ new string [] { "*" + Constants.PLAYLIST_EXT });
if (filename != null)
- Load(filename);
+ Load (filename);
}
}
}
diff --git a/LongoMatch.Services/Services/ProjectsManager.cs b/LongoMatch.Services/Services/ProjectsManager.cs
index 68e577d..a6f6337 100644
--- a/LongoMatch.Services/Services/ProjectsManager.cs
+++ b/LongoMatch.Services/Services/ProjectsManager.cs
@@ -15,24 +15,17 @@
// along with this program; if not, write to the Free Software
// Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA.
//
-
using System;
-using System.Collections.Generic;
using System.IO;
-using Mono.Unix;
-
using LongoMatch.Common;
-using LongoMatch.Handlers;
+using LongoMatch.Interfaces;
using LongoMatch.Interfaces.GUI;
using LongoMatch.Interfaces.Multimedia;
using LongoMatch.Store;
-using LongoMatch.Store.Templates;
-using LongoMatch.Interfaces;
+using Mono.Unix;
namespace LongoMatch.Services
{
-
-
public class ProjectsManager
{
IGUIToolkit guiToolkit;
@@ -40,22 +33,24 @@ namespace LongoMatch.Services
IMainController mainController;
IAnalysisWindow analysisWindow;
IDatabase DB;
-
+
public ProjectsManager (IGUIToolkit guiToolkit, IMultimediaToolkit multimediaToolkit,
- TemplatesService ts) {
+ TemplatesService ts)
+ {
this.multimediaToolkit = multimediaToolkit;
this.guiToolkit = guiToolkit;
mainController = guiToolkit.MainController;
DB = Config.DatabaseManager.ActiveDB;
- ConnectSignals();
+ ConnectSignals ();
}
- public void ConnectSignals() {
+ public void ConnectSignals ()
+ {
Config.EventsBroker.NewProjectEvent += NewProject;
Config.EventsBroker.OpenProjectEvent += OpenProject;
Config.EventsBroker.OpenProjectIDEvent += OpenProjectID;
Config.EventsBroker.OpenNewProjectEvent += OpenNewProject;
- Config.EventsBroker.CloseOpenedProjectEvent += () => PromptCloseProject();
+ Config.EventsBroker.CloseOpenedProjectEvent += () => PromptCloseProject ();
Config.EventsBroker.SaveProjectEvent += SaveProject;
Config.EventsBroker.KeyPressed += HandleKeyPressed;
Config.EventsBroker.CaptureError += HandleCaptureError;
@@ -67,33 +62,35 @@ namespace LongoMatch.Services
set;
get;
}
-
+
public ProjectType OpenedProjectType {
set;
get;
}
-
+
public PlaysFilter PlaysFilter {
get;
set;
}
-
+
public ICapturerBin Capturer {
set;
get;
}
-
+
public IPlayerBin Player {
get;
set;
}
-
- void EmitProjectChanged() {
+
+ void EmitProjectChanged ()
+ {
Config.EventsBroker.EmitOpenedProjectChanged (OpenedProject, OpenedProjectType,
PlaysFilter, analysisWindow);
}
-
- void RemuxOutputFile (EncodingSettings settings) {
+
+ void RemuxOutputFile (EncodingSettings settings)
+ {
VideoMuxerType muxer;
/* We need to remux to the original format */
@@ -134,7 +131,8 @@ namespace LongoMatch.Services
}
}
- void SaveCaptureProject(Project project) {
+ void SaveCaptureProject (Project project)
+ {
Guid projectID = project.ID;
string filePath = project.Description.File.FilePath;
@@ -144,34 +142,34 @@ namespace LongoMatch.Services
RemuxOutputFile (Capturer.CaptureSettings.EncodingSettings);
- Log.Debug("Reloading saved file: " + filePath);
+ Log.Debug ("Reloading saved file: " + filePath);
project.Description.File = multimediaToolkit.DiscoverFile (filePath);
- DB.AddProject(project);
- } catch(Exception ex) {
- Log.Exception(ex);
+ DB.AddProject (project);
+ } catch (Exception ex) {
+ Log.Exception (ex);
Log.Debug ("Backing up project to file");
- string projectFile = DateTime.Now.ToString().Replace("-", "_");
- projectFile = projectFile.Replace(":", "_");
- projectFile = projectFile.Replace(" ", "_");
- projectFile = projectFile.Replace("/", "_");
+ string projectFile = DateTime.Now.ToString ().Replace ("-", "_");
+ projectFile = projectFile.Replace (":", "_");
+ projectFile = projectFile.Replace (" ", "_");
+ projectFile = projectFile.Replace ("/", "_");
projectFile = filePath + "_" + projectFile;
- Project.Export(OpenedProject, projectFile);
- guiToolkit.ErrorMessage(Catalog.GetString("An error occured saving the
project:\n")+ex.Message+ "\n\n"+
- Catalog.GetString("The video file and a backup of the project has
been "+
- "saved. Try to import it later:\n")+
- filePath+"\n"+projectFile);
+ Project.Export (OpenedProject, projectFile);
+ guiToolkit.ErrorMessage (Catalog.GetString ("An error occured saving the
project:\n") + ex.Message + "\n\n" +
+ Catalog.GetString ("The video file and a backup of the project has
been " +
+ "saved. Try to import it later:\n") +
+ filePath + "\n" + projectFile);
}
}
-
- bool SetProject(Project project, ProjectType projectType, CaptureSettings props)
+
+ bool SetProject (Project project, ProjectType projectType, CaptureSettings props)
{
if (OpenedProject != null) {
- CloseOpenedProject(true);
+ CloseOpenedProject (true);
}
Log.Debug ("Loading project " + project.ID + " " + projectType);
- PlaysFilter = new PlaysFilter(project);
+ PlaysFilter = new PlaysFilter (project);
guiToolkit.OpenProject (project, projectType, props, PlaysFilter,
out analysisWindow);
Player = analysisWindow.Player;
@@ -182,41 +180,39 @@ namespace LongoMatch.Services
if (Player != null) {
}
- if(projectType == ProjectType.FileProject) {
+ if (projectType == ProjectType.FileProject) {
// Check if the file associated to the project exists
- if(!File.Exists(project.Description.File.FilePath)) {
- guiToolkit.WarningMessage(Catalog.GetString("The file associated to
this project doesn't exist.") + "\n"
- + Catalog.GetString("If the location of the file has changed
try to edit it with the database manager."));
- CloseOpenedProject(true);
+ if (!File.Exists (project.Description.File.FilePath)) {
+ guiToolkit.WarningMessage (Catalog.GetString ("The file associated to
this project doesn't exist.") + "\n"
+ + Catalog.GetString ("If the location of the file has changed
try to edit it with the database manager."));
+ CloseOpenedProject (true);
return false;
}
try {
- Player.Open(project.Description.File.FilePath);
- }
- catch(Exception ex) {
+ Player.Open (project.Description.File.FilePath);
+ } catch (Exception ex) {
Log.Exception (ex);
- guiToolkit.ErrorMessage(Catalog.GetString("An error occurred opening
this project:") + "\n" + ex.Message);
+ guiToolkit.ErrorMessage (Catalog.GetString ("An error occurred
opening this project:") + "\n" + ex.Message);
CloseOpenedProject (false);
return false;
}
} else if (projectType == ProjectType.CaptureProject ||
- projectType == ProjectType.URICaptureProject ||
- projectType == ProjectType.FakeCaptureProject) {
+ projectType == ProjectType.URICaptureProject ||
+ projectType == ProjectType.FakeCaptureProject) {
try {
Capturer.Run (props);
- } catch(Exception ex) {
+ } catch (Exception ex) {
Log.Exception (ex);
- guiToolkit.ErrorMessage(ex.Message);
+ guiToolkit.ErrorMessage (ex.Message);
CloseOpenedProject (false);
return false;
}
}
- EmitProjectChanged();
+ EmitProjectChanged ();
return true;
}
-
/*
public static void ExportToCSV(Project project) {
FileChooserDialog fChooser;
@@ -243,15 +239,15 @@ namespace LongoMatch.Services
}
fChooser.Destroy();
}*/
-
- bool PromptCloseProject() {
- if(OpenedProject == null)
+ bool PromptCloseProject ()
+ {
+ if (OpenedProject == null)
return true;
- if(OpenedProjectType == ProjectType.FileProject) {
+ if (OpenedProjectType == ProjectType.FileProject) {
bool ret;
ret = guiToolkit.QuestionMessage (
- Catalog.GetString("Do you want to close the current project?"), null);
+ Catalog.GetString ("Do you want to close the current project?"),
null);
if (ret) {
CloseOpenedProject (true);
return true;
@@ -266,7 +262,7 @@ namespace LongoMatch.Services
if (res == EndCaptureResponse.Quit) {
CloseOpenedProject (false);
return true;
- } else if(res == EndCaptureResponse.Save) {
+ } else if (res == EndCaptureResponse.Save) {
/* Close and save project */
CloseOpenedProject (true);
return true;
@@ -277,54 +273,57 @@ namespace LongoMatch.Services
}
}
- void CloseOpenedProject (bool save) {
- if(OpenedProject == null)
+ void CloseOpenedProject (bool save)
+ {
+ if (OpenedProject == null)
return;
Log.Debug ("Closing project " + OpenedProject.ID);
- if(OpenedProjectType != ProjectType.FileProject) {
- Capturer.Stop();
- Capturer.Close();
+ if (OpenedProjectType != ProjectType.FileProject) {
+ Capturer.Stop ();
+ Capturer.Close ();
} else {
- Player.Close();
+ Player.Close ();
}
if (save)
- SaveProject(OpenedProject, OpenedProjectType);
+ SaveProject (OpenedProject, OpenedProjectType);
- if(OpenedProject != null)
- OpenedProject.Clear();
+ if (OpenedProject != null)
+ OpenedProject.Clear ();
OpenedProject = null;
OpenedProjectType = ProjectType.None;
guiToolkit.CloseProject ();
- EmitProjectChanged();
+ EmitProjectChanged ();
}
-
- protected virtual void SaveProject(Project project, ProjectType projectType) {
- Log.Debug(String.Format("Saving project {0} type: {1}", project, projectType));
+
+ protected virtual void SaveProject (Project project, ProjectType projectType)
+ {
+ Log.Debug (String.Format ("Saving project {0} type: {1}", project, projectType));
if (project == null)
return;
- if(projectType == ProjectType.FileProject) {
+ if (projectType == ProjectType.FileProject) {
try {
- DB.UpdateProject(project);
- } catch(Exception e) {
- Log.Exception(e);
+ DB.UpdateProject (project);
+ } catch (Exception e) {
+ Log.Exception (e);
}
} else if (projectType == ProjectType.FakeCaptureProject) {
try {
- DB.AddProject(project);
+ DB.AddProject (project);
} catch (Exception e) {
- Log.Exception(e);
+ Log.Exception (e);
}
} else if (projectType == ProjectType.CaptureProject ||
- projectType == ProjectType.URICaptureProject) {
- SaveCaptureProject(project);
+ projectType == ProjectType.URICaptureProject) {
+ SaveCaptureProject (project);
}
}
-
- protected virtual void NewProject(Project project) {
- Log.Debug("Creating new project");
+
+ protected virtual void NewProject (Project project)
+ {
+ Log.Debug ("Creating new project");
if (!PromptCloseProject ()) {
return;
@@ -332,25 +331,27 @@ namespace LongoMatch.Services
guiToolkit.CreateNewProject (project);
}
-
+
void OpenNewProject (Project project, ProjectType projectType,
- CaptureSettings captureSettings)
+ CaptureSettings captureSettings)
{
if (project != null)
- SetProject(project, projectType, captureSettings);
+ SetProject (project, projectType, captureSettings);
}
-
- void OpenProject() {
+
+ void OpenProject ()
+ {
if (!PromptCloseProject ()) {
return;
}
- guiToolkit.SelectProject(DB.GetAllProjects());
+ guiToolkit.SelectProject (DB.GetAllProjects ());
}
-
- void OpenProjectID (Guid projectID) {
+
+ void OpenProjectID (Guid projectID)
+ {
Project project = null;
- project = DB.GetProject(projectID);
+ project = DB.GetProject (projectID);
if (project.Description.File.FilePath == Constants.FAKE_PROJECT) {
/* If it's a fake live project prompt for a video file and
@@ -358,13 +359,13 @@ namespace LongoMatch.Services
Log.Debug ("Importing fake live project");
ToolsManager.AddVideoFile (project);
}
- SetProject(project, ProjectType.FileProject, new CaptureSettings());
+ SetProject (project, ProjectType.FileProject, new CaptureSettings ());
}
void HandleMultimediaError (string message)
{
- guiToolkit.ErrorMessage (Catalog.GetString("The following error happened and" +
- " the current project will be closed:")+"\n" + message);
+ guiToolkit.ErrorMessage (Catalog.GetString ("The following error happened and" +
+ " the current project will be closed:") + "\n" + message);
CloseOpenedProject (true);
}
@@ -380,49 +381,49 @@ namespace LongoMatch.Services
void HandleCaptureError (string message)
{
- guiToolkit.ErrorMessage (Catalog.GetString("The following error happened and" +
- " the current capture will be closed:")+"\n" + message);
+ guiToolkit.ErrorMessage (Catalog.GetString ("The following error happened and" +
+ " the current capture will be closed:") + "\n" + message);
HandleCaptureFinished (false);
}
-
+
void HandleKeyPressed (object sender, int key, int modifier)
{
- if(OpenedProject == null)
+ if (OpenedProject == null)
return;
- if(OpenedProjectType != ProjectType.CaptureProject &&
- OpenedProjectType != ProjectType.URICaptureProject &&
- OpenedProjectType != ProjectType.FakeCaptureProject) {
+ if (OpenedProjectType != ProjectType.CaptureProject &&
+ OpenedProjectType != ProjectType.URICaptureProject &&
+ OpenedProjectType != ProjectType.FakeCaptureProject) {
if (Player == null)
return;
- switch(key) {
+ switch (key) {
case Constants.SEEK_FORWARD:
- if(modifier == Constants.STEP)
- Player.StepForward();
+ if (modifier == Constants.STEP)
+ Player.StepForward ();
else
- Player.SeekToNextFrame();
+ Player.SeekToNextFrame ();
break;
case Constants.SEEK_BACKWARD:
- if(modifier == Constants.STEP)
- Player.StepBackward();
+ if (modifier == Constants.STEP)
+ Player.StepBackward ();
else
- Player.SeekToPreviousFrame();
+ Player.SeekToPreviousFrame ();
break;
case Constants.FRAMERATE_UP:
- Player.FramerateUp();
+ Player.FramerateUp ();
break;
case Constants.FRAMERATE_DOWN:
- Player.FramerateDown();
+ Player.FramerateDown ();
break;
case Constants.TOGGLE_PLAY:
- Player.TogglePlay();
+ Player.TogglePlay ();
break;
}
} else {
if (Capturer == null)
return;
- switch(key) {
+ switch (key) {
}
}
}
diff --git a/LongoMatch.Services/Services/RenderingJobsManager.cs
b/LongoMatch.Services/Services/RenderingJobsManager.cs
index d2033fa..04731f1 100644
--- a/LongoMatch.Services/Services/RenderingJobsManager.cs
+++ b/LongoMatch.Services/Services/RenderingJobsManager.cs
@@ -17,13 +17,12 @@
//
using System;
using System.Collections.Generic;
-using Mono.Unix;
-
using LongoMatch.Common;
using LongoMatch.Interfaces;
using LongoMatch.Interfaces.GUI;
using LongoMatch.Interfaces.Multimedia;
using LongoMatch.Store;
+using Mono.Unix;
namespace LongoMatch.Services
{
@@ -38,278 +37,294 @@ namespace LongoMatch.Services
IRenderingStateBar stateBar;
IMultimediaToolkit multimediaToolkit;
IGUIToolkit guiToolkit;
-
+
public RenderingJobsManager (IMultimediaToolkit multimediaToolkit, IGUIToolkit guiToolkit)
{
this.guiToolkit = guiToolkit;
this.multimediaToolkit = multimediaToolkit;
this.stateBar = guiToolkit.RenderingStateBar;
- capturer = multimediaToolkit.GetFramesCapturer();
- jobs = new List<Job>();
- pendingJobs = new List<Job>();
- stateBar.Cancel += (sender, e) => CancelCurrentJob();
- stateBar.ManageJobs += (sender, e) => ManageJobs();
+ capturer = multimediaToolkit.GetFramesCapturer ();
+ jobs = new List<Job> ();
+ pendingJobs = new List<Job> ();
+ stateBar.Cancel += (sender, e) => CancelCurrentJob ();
+ stateBar.ManageJobs += (sender, e) => ManageJobs ();
Config.EventsBroker.ConvertVideoFilesEvent += (inputFiles, encSettings) => {
- ConversionJob job = new ConversionJob(inputFiles, encSettings);
+ ConversionJob job = new ConversionJob (inputFiles, encSettings);
AddJob (job);
- };;
+ };
+ ;
}
-
+
public List<Job> Jobs {
get {
return jobs;
}
}
-
- public void AddJob(Job job) {
+
+ public void AddJob (Job job)
+ {
if (job == null)
return;
- jobs.Add(job);
- pendingJobs.Add(job);
- UpdateJobsStatus();
+ jobs.Add (job);
+ pendingJobs.Add (job);
+ UpdateJobsStatus ();
if (pendingJobs.Count == 1)
- StartNextJob();
+ StartNextJob ();
}
-
- public void RetryJobs(List<Job> retryJobs) {
+
+ public void RetryJobs (List<Job> retryJobs)
+ {
foreach (Job job in retryJobs) {
- if (!jobs.Contains(job))
+ if (!jobs.Contains (job))
return;
- if (!pendingJobs.Contains(job)) {
+ if (!pendingJobs.Contains (job)) {
job.State = JobState.NotStarted;
- jobs.Remove(job);
- jobs.Add(job);
- pendingJobs.Add(job);
- UpdateJobsStatus();
+ jobs.Remove (job);
+ jobs.Add (job);
+ pendingJobs.Add (job);
+ UpdateJobsStatus ();
}
}
}
-
- public void DeleteJob(Job job) {
+
+ public void DeleteJob (Job job)
+ {
job.State = JobState.Cancelled;
- CancelJob(job);
+ CancelJob (job);
}
-
- public void ClearDoneJobs() {
- jobs.RemoveAll(j => j.State == JobState.Finished);
+
+ public void ClearDoneJobs ()
+ {
+ jobs.RemoveAll (j => j.State == JobState.Finished);
}
-
- public void CancelJobs(List<Job> cancelJobs) {
- foreach (Job job in cancelJobs){
+
+ public void CancelJobs (List<Job> cancelJobs)
+ {
+ foreach (Job job in cancelJobs) {
job.State = JobState.Cancelled;
- pendingJobs.Remove(job);
+ pendingJobs.Remove (job);
}
- if (cancelJobs.Contains(currentJob))
- CancelCurrentJob();
+ if (cancelJobs.Contains (currentJob))
+ CancelCurrentJob ();
}
-
- public void CancelCurrentJob () {
- CancelJob(currentJob);
+
+ public void CancelCurrentJob ()
+ {
+ CancelJob (currentJob);
}
-
- public void CancelJob(Job job) {
+
+ public void CancelJob (Job job)
+ {
if (currentJob != job)
return;
if (job is EditionJob) {
videoEditor.Progress -= OnProgress;
videoEditor.Error -= OnError;
- videoEditor.Cancel();
+ videoEditor.Cancel ();
} else {
videoConverter.Progress -= OnProgress;
videoConverter.Error -= OnError;
- videoConverter.Cancel();
+ videoConverter.Cancel ();
}
job.State = JobState.Cancelled;
- RemoveCurrentFromPending();
- UpdateJobsStatus();
- StartNextJob();
+ RemoveCurrentFromPending ();
+ UpdateJobsStatus ();
+ StartNextJob ();
}
-
- public void CancelAllJobs() {
+
+ public void CancelAllJobs ()
+ {
foreach (Job job in pendingJobs)
job.State = JobState.Cancelled;
- pendingJobs.Clear();
- CancelJob(currentJob);
+ pendingJobs.Clear ();
+ CancelJob (currentJob);
}
-
- protected void ManageJobs() {
+
+ protected void ManageJobs ()
+ {
guiToolkit.ManageJobs ();
}
-
- private void LoadConversionJob (ConversionJob job) {
- videoConverter = multimediaToolkit.GetVideoConverter(job.EncodingSettings.OutputFile);
+
+ private void LoadConversionJob (ConversionJob job)
+ {
+ videoConverter = multimediaToolkit.GetVideoConverter
(job.EncodingSettings.OutputFile);
videoConverter.Progress += OnProgress;
videoConverter.EncodingSettings = job.EncodingSettings;
videoConverter.Error += OnError;
- foreach(MediaFile file in job.InputFiles) {
+ foreach (MediaFile file in job.InputFiles) {
videoConverter.AddFile (file.FilePath, file.Duration.MSeconds);
}
try {
- videoConverter.Start();
- } catch(Exception ex) {
- videoConverter.Cancel();
+ videoConverter.Start ();
+ } catch (Exception ex) {
+ videoConverter.Cancel ();
job.State = JobState.Error;
- Log.Exception(ex);
- Log.Error("Error rendering job: ", job.Name);
- guiToolkit.ErrorMessage (Catalog.GetString("Error rendering job: ") +
ex.Message);
+ Log.Exception (ex);
+ Log.Error ("Error rendering job: ", job.Name);
+ guiToolkit.ErrorMessage (Catalog.GetString ("Error rendering job: ") +
ex.Message);
}
}
- private void LoadEditionJob(EditionJob job) {
- videoEditor = multimediaToolkit.GetVideoEditor();
+ private void LoadEditionJob (EditionJob job)
+ {
+ videoEditor = multimediaToolkit.GetVideoEditor ();
videoEditor.EncodingSettings = job.EncodingSettings;
videoEditor.Progress += OnProgress;
videoEditor.Error += OnError;
- foreach(PlayListPlay segment in job.Playlist) {
- if (!ProcessSegment(segment))
+ foreach (PlayListPlay segment in job.Playlist) {
+ if (!ProcessSegment (segment))
continue;
}
try {
- videoEditor.Start();
- }
- catch(Exception ex) {
- videoEditor.Cancel();
+ videoEditor.Start ();
+ } catch (Exception ex) {
+ videoEditor.Cancel ();
job.State = JobState.Error;
- Log.Exception(ex);
- Log.Error("Error rendering job: ", job.Name);
- guiToolkit.ErrorMessage (Catalog.GetString("Error rendering job: ") +
ex.Message);
+ Log.Exception (ex);
+ Log.Error ("Error rendering job: ", job.Name);
+ guiToolkit.ErrorMessage (Catalog.GetString ("Error rendering job: ") +
ex.Message);
}
}
-
- private bool ProcessSegment(PlayListPlay segment) {
+
+ private bool ProcessSegment (PlayListPlay segment)
+ {
Time lastTS;
- if(!segment.Valid)
+ if (!segment.Valid)
return false;
- Log.Debug(String.Format("Adding segment with {0} drawings", segment.Drawings.Count));
+ Log.Debug (String.Format ("Adding segment with {0} drawings",
segment.Drawings.Count));
lastTS = segment.Start;
foreach (FrameDrawing fd in segment.Drawings) {
string image_path = CreateStillImage (segment.MediaFile.FilePath, fd);
- videoEditor.AddSegment(segment.MediaFile.FilePath, lastTS.MSeconds,
+ videoEditor.AddSegment (segment.MediaFile.FilePath, lastTS.MSeconds,
fd.Render.MSeconds - lastTS.MSeconds,
segment.Rate, segment.Name,
segment.MediaFile.HasAudio);
- videoEditor.AddImageSegment(image_path, fd.Render.MSeconds,
- fd.Pause.MSeconds, segment.Name);
+ videoEditor.AddImageSegment (image_path, fd.Render.MSeconds,
+ fd.Pause.MSeconds, segment.Name);
lastTS = fd.Render;
}
- videoEditor.AddSegment(segment.MediaFile.FilePath, lastTS.MSeconds,
+ videoEditor.AddSegment (segment.MediaFile.FilePath, lastTS.MSeconds,
segment.Stop.MSeconds - lastTS.MSeconds,
segment.Rate, segment.Name, segment.MediaFile.HasAudio);
return true;
}
-
- private string CreateStillImage(string filename, FrameDrawing drawing) {
+
+ private string CreateStillImage (string filename, FrameDrawing drawing)
+ {
Image frame, final_image;
- string path = System.IO.Path.GetTempFileName().Replace(@"\", @"\\");
+ string path = System.IO.Path.GetTempFileName ().Replace (@"\", @"\\");
- capturer.Open(filename);
+ capturer.Open (filename);
capturer.Seek (drawing.Render, true);
- frame = capturer.GetCurrentFrame();
+ frame = capturer.GetCurrentFrame ();
final_image = Drawing.Utils.RenderFrameDrawingToImage (Config.DrawingToolkit, frame,
drawing);
- final_image.Save(path);
+ final_image.Save (path);
return path;
}
-
- private void CloseAndNext() {
- RemoveCurrentFromPending();
- UpdateJobsStatus();
- StartNextJob();
+
+ private void CloseAndNext ()
+ {
+ RemoveCurrentFromPending ();
+ UpdateJobsStatus ();
+ StartNextJob ();
}
-
- private void ResetGui() {
+
+ private void ResetGui ()
+ {
stateBar.ProgressText = "";
stateBar.JobRunning = false;
}
-
- private void StartNextJob() {
+
+ private void StartNextJob ()
+ {
if (pendingJobs.Count == 0) {
- ResetGui();
+ ResetGui ();
return;
}
- currentJob = pendingJobs[0];
+ currentJob = pendingJobs [0];
if (currentJob is EditionJob) {
- LoadEditionJob(currentJob as EditionJob);
+ LoadEditionJob (currentJob as EditionJob);
} else {
- LoadConversionJob(currentJob as ConversionJob);
+ LoadConversionJob (currentJob as ConversionJob);
}
}
-
- private void UpdateProgress(float progress) {
+
+ private void UpdateProgress (float progress)
+ {
stateBar.Fraction = progress;
- stateBar.ProgressText = String.Format("{0}... {1:0.0}%",
Catalog.GetString("Rendering"),
- progress * 100);
+ stateBar.ProgressText = String.Format ("{0}... {1:0.0}%", Catalog.GetString
("Rendering"),
+ progress * 100);
}
-
- private void UpdateJobsStatus() {
- stateBar.Text = String.Format("{0} ({1} {2})", Catalog.GetString("Rendering queue"),
- pendingJobs.Count, Catalog.GetString("Pending"));
+
+ private void UpdateJobsStatus ()
+ {
+ stateBar.Text = String.Format ("{0} ({1} {2})", Catalog.GetString ("Rendering queue"),
+ pendingJobs.Count, Catalog.GetString ("Pending"));
}
-
- private void RemoveCurrentFromPending () {
+
+ private void RemoveCurrentFromPending ()
+ {
try {
- pendingJobs.Remove(currentJob);
- } catch {}
+ pendingJobs.Remove (currentJob);
+ } catch {
+ }
}
-
- void HandleError () {
+
+ void HandleError ()
+ {
Log.Debug ("Job finished with errors");
- guiToolkit.ErrorMessage(Catalog.GetString("An error has occurred in the video
editor.")
- +Catalog.GetString("Please, try again."));
+ guiToolkit.ErrorMessage (Catalog.GetString ("An error has occurred in the video
editor.")
+ + Catalog.GetString ("Please, try again."));
currentJob.State = JobState.Error;
- CloseAndNext();
+ CloseAndNext ();
}
-
- private void MainLoopOnProgress (float progress) {
- if(progress > (float)EditorState.START && progress <= (float)EditorState.FINISHED
- && progress > stateBar.Fraction) {
- UpdateProgress(progress);
+
+ private void MainLoopOnProgress (float progress)
+ {
+ if (progress > (float)EditorState.START && progress <= (float)EditorState.FINISHED
+ && progress > stateBar.Fraction) {
+ UpdateProgress (progress);
}
- if(progress == (float)EditorState.CANCELED) {
+ if (progress == (float)EditorState.CANCELED) {
Log.Debug ("Job was cancelled");
currentJob.State = JobState.Cancelled;
- CloseAndNext();
- }
-
- else if(progress == (float)EditorState.START) {
+ CloseAndNext ();
+ } else if (progress == (float)EditorState.START) {
Log.Debug ("Job started");
currentJob.State = JobState.Running;
stateBar.JobRunning = true;
- UpdateProgress(progress);
- }
-
- else if(progress == (float)EditorState.FINISHED) {
+ UpdateProgress (progress);
+ } else if (progress == (float)EditorState.FINISHED) {
Log.Debug ("Job finished successfully");
if (currentJob is EditionJob) {
videoEditor.Progress -= OnProgress;
} else {
videoConverter.Progress -= OnProgress;
}
- UpdateProgress(progress);
+ UpdateProgress (progress);
currentJob.State = JobState.Finished;
- CloseAndNext();
- }
-
- else if(progress == (float)EditorState.ERROR) {
+ CloseAndNext ();
+ } else if (progress == (float)EditorState.ERROR) {
HandleError ();
}
}
-
+
protected void OnError (string message)
{
HandleError ();
}
-
- protected void OnProgress(float progress)
+
+ protected void OnProgress (float progress)
{
MainLoopOnProgress (progress);
}
diff --git a/LongoMatch.Services/Services/TemplatesService.cs
b/LongoMatch.Services/Services/TemplatesService.cs
index 2df2ef7..2d880f7 100644
--- a/LongoMatch.Services/Services/TemplatesService.cs
+++ b/LongoMatch.Services/Services/TemplatesService.cs
@@ -19,126 +19,130 @@ using System;
using System.Collections.Generic;
using System.IO;
using System.Reflection;
-using Mono.Unix;
-
using LongoMatch.Common;
using LongoMatch.Interfaces;
using LongoMatch.Store;
using LongoMatch.Store.Templates;
-
+using Mono.Unix;
namespace LongoMatch.Services
{
-
public class TemplatesService: ITemplatesService
{
private Dictionary<Type, ITemplateProvider> dict;
-
+
public TemplatesService ()
{
- dict = new Dictionary<Type, ITemplateProvider>();
- dict.Add(typeof(TeamTemplate),
- new TeamTemplatesProvider(Config.TeamsDir));
- dict.Add(typeof(Categories), new CategoriesTemplatesProvider (Config.AnalysisDir));
- CheckDefaultTemplates();
- }
-
- private void CheckDefaultTemplates () {
+ dict = new Dictionary<Type, ITemplateProvider> ();
+ dict.Add (typeof(TeamTemplate),
+ new TeamTemplatesProvider (Config.TeamsDir));
+ dict.Add (typeof(Categories), new CategoriesTemplatesProvider (Config.AnalysisDir));
+ CheckDefaultTemplates ();
+ }
+
+ private void CheckDefaultTemplates ()
+ {
foreach (ITemplateProvider t in dict.Values)
- t.CheckDefaultTemplate();
+ t.CheckDefaultTemplate ();
}
-
- public ITemplateProvider<T, U> GetTemplateProvider<T, U>() where T: ITemplate<U> {
- if (dict.ContainsKey(typeof(T)))
- return (ITemplateProvider<T, U>)dict[typeof(T)];
+
+ public ITemplateProvider<T, U> GetTemplateProvider<T, U> () where T: ITemplate<U>
+ {
+ if (dict.ContainsKey (typeof(T)))
+ return (ITemplateProvider<T, U>)dict [typeof(T)];
return null;
}
-
+
public ITeamTemplatesProvider TeamTemplateProvider {
get {
- return (ITeamTemplatesProvider) dict[typeof(TeamTemplate)];
+ return (ITeamTemplatesProvider)dict [typeof(TeamTemplate)];
}
}
public ICategoriesTemplatesProvider CategoriesTemplateProvider {
get {
- return (ICategoriesTemplatesProvider) dict[typeof(Categories)];
+ return (ICategoriesTemplatesProvider)dict [typeof(Categories)];
}
}
}
-
+
public class TemplatesProvider<T, U>: ITemplateProvider<T, U> where T: ITemplate<U>
{
readonly string basePath;
readonly string extension;
readonly MethodInfo methodLoad;
readonly MethodInfo methodDefaultTemplate;
-
+
public TemplatesProvider (string basePath, string extension)
{
this.basePath = basePath;
this.extension = extension;
- methodLoad = typeof(T).GetMethod("Load");
- methodDefaultTemplate = typeof(T).GetMethod("DefaultTemplate");
+ methodLoad = typeof(T).GetMethod ("Load");
+ methodDefaultTemplate = typeof(T).GetMethod ("DefaultTemplate");
}
-
- private string GetPath(string templateName) {
- return System.IO.Path.Combine(basePath, templateName) + extension;
+
+ private string GetPath (string templateName)
+ {
+ return System.IO.Path.Combine (basePath, templateName) + extension;
}
-
- public void CheckDefaultTemplate() {
+
+ public void CheckDefaultTemplate ()
+ {
string path;
- path = GetPath("default");
- if(!File.Exists(path)) {
- Create("default", 20);
+ path = GetPath ("default");
+ if (!File.Exists (path)) {
+ Create ("default", 20);
}
}
-
- public bool Exists (string name) {
- return File.Exists(GetPath(name));
+
+ public bool Exists (string name)
+ {
+ return File.Exists (GetPath (name));
}
-
- public List<T> Templates{
- get{
- List<T> templates = new List<T>();
+
+ public List<T> Templates {
+ get {
+ List<T> templates = new List<T> ();
foreach (string file in TemplatesNames) {
try {
- templates.Add(Load(file));
+ templates.Add (Load (file));
} catch (Exception ex) {
- Log.Exception(ex);
+ Log.Exception (ex);
}
}
return templates;
}
}
-
- public List<string> TemplatesNames{
- get{
- List<string> l = new List<string>();
+
+ public List<string> TemplatesNames {
+ get {
+ List<string> l = new List<string> ();
foreach (string path in Directory.GetFiles (basePath, "*" + extension)) {
- l.Add (Path.GetFileNameWithoutExtension(path));
+ l.Add (Path.GetFileNameWithoutExtension (path));
}
return l;
}
}
-
- public T Load (string name) {
- Log.Information("Loading template " + name);
- var template = (T)methodLoad.Invoke(null, new object[] {GetPath(name)});
+
+ public T Load (string name)
+ {
+ Log.Information ("Loading template " + name);
+ var template = (T)methodLoad.Invoke (null, new object[] { GetPath(name) });
template.Name = name;
return template;
}
-
- public void Save (ITemplate<U> template) {
- string filename = GetPath(template.Name);
+
+ public void Save (ITemplate<U> template)
+ {
+ string filename = GetPath (template.Name);
- Log.Information("Saving template " + filename);
+ Log.Information ("Saving template " + filename);
- if (File.Exists(filename)) {
- throw new Exception (Catalog.GetString("A template already exists with " +
- "the name: ") + filename);
+ if (File.Exists (filename)) {
+ throw new Exception (Catalog.GetString ("A template already exists with " +
+ "the name: ") + filename);
}
if (!Directory.Exists (Path.GetDirectoryName (filename))) {
@@ -146,57 +150,63 @@ namespace LongoMatch.Services
}
/* Don't cach the Exception here to chain it up */
- template.Save(filename);
+ template.Save (filename);
}
-
- public void Update (ITemplate<U> template) {
- string filename = GetPath(template.Name);
+
+ public void Update (ITemplate<U> template)
+ {
+ string filename = GetPath (template.Name);
- Log.Information("Updating template " + filename);
+ Log.Information ("Updating template " + filename);
/* Don't cach the Exception here to chain it up */
- template.Save(filename);
+ template.Save (filename);
}
-
- public void Copy(string orig, string copy) {
- if (File.Exists(copy)) {
- throw new Exception (Catalog.GetString("A template already exists with " +
- "the name: ") + copy);
+
+ public void Copy (string orig, string copy)
+ {
+ if (File.Exists (copy)) {
+ throw new Exception (Catalog.GetString ("A template already exists with " +
+ "the name: ") + copy);
}
- Log.Information(String.Format("Copying template {0} to {1}", orig, copy));
- File.Copy (GetPath(orig) , GetPath(copy));
+ Log.Information (String.Format ("Copying template {0} to {1}", orig, copy));
+ File.Copy (GetPath (orig), GetPath (copy));
}
-
- public void Delete (string templateName) {
+
+ public void Delete (string templateName)
+ {
try {
- Log.Information("Deleting template " + templateName);
- File.Delete (GetPath(templateName));
+ Log.Information ("Deleting template " + templateName);
+ File.Delete (GetPath (templateName));
} catch (Exception ex) {
Log.Exception (ex);
}
}
-
- public void Create (string templateName, params object[] list) {
+
+ public void Create (string templateName, params object[] list)
+ {
/* Some templates don't need a count as a parameter but we include
* so that all of them match the same signature */
if (list.Length == 0)
- list = new object[] {0};
- Log.Information(String.Format("Creating default {0} template", typeof(T)));
- ITemplate<U> t =(ITemplate<U>)methodDefaultTemplate.Invoke(null, list);
+ list = new object[] { 0 };
+ Log.Information (String.Format ("Creating default {0} template", typeof(T)));
+ ITemplate<U> t = (ITemplate<U>)methodDefaultTemplate.Invoke (null, list);
t.Name = templateName;
- Save(t);
+ Save (t);
}
}
-
+
public class TeamTemplatesProvider: TemplatesProvider<TeamTemplate, Player>, ITeamTemplatesProvider
{
- public TeamTemplatesProvider (string basePath): base (basePath, Constants.TEAMS_TEMPLATE_EXT)
{}
-
- }
-
+ public TeamTemplatesProvider (string basePath): base (basePath, Constants.TEAMS_TEMPLATE_EXT)
+ {
+ }
+ }
+
public class CategoriesTemplatesProvider : TemplatesProvider<Categories, TaggerButton>,
ICategoriesTemplatesProvider
{
- public CategoriesTemplatesProvider (string basePath): base (basePath,
Constants.CAT_TEMPLATE_EXT) {}
-
+ public CategoriesTemplatesProvider (string basePath): base (basePath,
Constants.CAT_TEMPLATE_EXT)
+ {
+ }
}
}
diff --git a/LongoMatch.Services/Services/ToolsManager.cs b/LongoMatch.Services/Services/ToolsManager.cs
index 35921ff..ebfa1e9 100644
--- a/LongoMatch.Services/Services/ToolsManager.cs
+++ b/LongoMatch.Services/Services/ToolsManager.cs
@@ -16,21 +16,20 @@
// Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA.
//
using System;
+using System.Collections.Generic;
+using System.IO;
using System.Linq;
-using Mono.Unix;
-
+using LongoMatch.Addins;
+using LongoMatch.Common;
+using LongoMatch.Interfaces;
using LongoMatch.Interfaces.GUI;
using LongoMatch.Interfaces.Multimedia;
using LongoMatch.Store;
-using LongoMatch.Common;
-using LongoMatch.Interfaces;
-using LongoMatch.Addins;
-using System.Collections.Generic;
-using System.IO;
-
-namespace LongoMatch.Services {
+using Mono.Unix;
- public class ToolsManager: IProjectsImporter
+namespace LongoMatch.Services
+{
+ public class ToolsManager: IProjectsImporter
{
TemplatesService templatesService;
@@ -38,7 +37,7 @@ namespace LongoMatch.Services {
IGUIToolkit guiToolkit;
IMultimediaToolkit multimediaToolkit;
AddinsManager addinsManager;
-
+
public ToolsManager (IGUIToolkit guiToolkit, IMultimediaToolkit multimediaToolkit,
TemplatesService templatesService)
{
@@ -48,14 +47,14 @@ namespace LongoMatch.Services {
ProjectImporters = new List<ProjectImporter> ();
RegisterImporter (Project.Import, Constants.PROJECT_NAME,
- new string[] {Constants.PROJECT_EXT}, false);
+ new string[] { Constants.PROJECT_EXT }, false);
Config.EventsBroker.OpenedProjectChanged += (pr, pt, f, a) => {
this.openedProject = pr;
};
Config.EventsBroker.EditPreferencesEvent += () => {
- guiToolkit.OpenPreferencesEditor();
+ guiToolkit.OpenPreferencesEditor ();
};
Config.EventsBroker.ManageCategoriesEvent += () => {
@@ -67,7 +66,7 @@ namespace LongoMatch.Services {
};
Config.EventsBroker.ManageProjectsEvent += () => {
- guiToolkit.OpenProjectsManager(this.openedProject);
+ guiToolkit.OpenProjectsManager (this.openedProject);
};
Config.EventsBroker.ExportProjectEvent += ExportProject;
@@ -77,15 +76,17 @@ namespace LongoMatch.Services {
public void RegisterImporter (Func<string, Project> importFunction,
string filterName, string[] extensions,
- bool needsEdition) {
+ bool needsEdition)
+ {
ProjectImporter importer = new ProjectImporter {
ImportFunction=importFunction,
FilterName=filterName,
Extensions=extensions,
- NeedsEdition=needsEdition};
+ NeedsEdition=needsEdition
+ };
ProjectImporters.Add (importer);
}
-
+
public static void AddVideoFile (Project project)
{
string videofile;
@@ -93,65 +94,65 @@ namespace LongoMatch.Services {
IMultimediaToolkit multimediaToolkit = Config.MultimediaToolkit;
guiToolkit.InfoMessage (Catalog.GetString ("This project doesn't have any file
associated.\n" +
- "Select one in the next window"));
+ "Select one in the next window"));
videofile = guiToolkit.OpenFile (Catalog.GetString ("Select a video file"), null,
Config.HomeDir);
if (videofile == null) {
guiToolkit.ErrorMessage (Catalog.GetString ("Could not import project, you
need a video file"));
return;
- }
- else {
+ } else {
try {
project.Description.File = multimediaToolkit.DiscoverFile (videofile);
- }
- catch (Exception ex) {
+ } catch (Exception ex) {
guiToolkit.ErrorMessage (ex.Message);
return;
}
CreateThumbnails (project);
}
}
-
- public static void CreateThumbnails(Project project) {
+
+ public static void CreateThumbnails (Project project)
+ {
IBusyDialog dialog;
IFramesCapturer capturer;
- dialog = Config.GUIToolkit.BusyDialog(Catalog.GetString("Creating video thumbnails.
This can take a while."));
- dialog.Show();
- dialog.Pulse();
+ dialog = Config.GUIToolkit.BusyDialog (Catalog.GetString ("Creating video thumbnails.
This can take a while."));
+ dialog.Show ();
+ dialog.Pulse ();
/* Create all the thumbnails */
capturer = Config.MultimediaToolkit.GetFramesCapturer ();
- capturer.Open(project.Description.File.FilePath);
- foreach(Play play in project.Timeline) {
+ capturer.Open (project.Description.File.FilePath);
+ foreach (Play play in project.Timeline) {
try {
capturer.Seek (play.Start + ((play.Stop - play.Start) / 2),
- true);
+ true);
play.Miniature = capturer.GetCurrentFrame (
Constants.MAX_THUMBNAIL_SIZE,
Constants.MAX_THUMBNAIL_SIZE);
- dialog.Pulse();
+ dialog.Pulse ();
} catch (Exception ex) {
- Log.Exception(ex);
+ Log.Exception (ex);
}
}
- capturer.Dispose();
- dialog.Destroy();
+ capturer.Dispose ();
+ dialog.Destroy ();
}
List<ProjectImporter> ProjectImporters {
get;
set;
- }
+ }
- void ExportProject (Project project) {
+ void ExportProject (Project project)
+ {
if (project == null) {
- Log.Warning("Opened project is null and can't be exported");
+ Log.Warning ("Opened project is null and can't be exported");
}
string filename = guiToolkit.SaveFile (Catalog.GetString ("Save project"), null,
- Config.HomeDir, Constants.PROJECT_NAME, new string[] {Constants.PROJECT_EXT});
+ Config.HomeDir, Constants.PROJECT_NAME, new
string[] { Constants.PROJECT_EXT });
if (filename == null)
return;
@@ -160,14 +161,15 @@ namespace LongoMatch.Services {
try {
Project.Export (project, filename);
- guiToolkit.InfoMessage (Catalog.GetString("Project exported successfully"));
+ guiToolkit.InfoMessage (Catalog.GetString ("Project exported successfully"));
} catch (Exception ex) {
- guiToolkit.ErrorMessage (Catalog.GetString("Error exporting project"));
+ guiToolkit.ErrorMessage (Catalog.GetString ("Error exporting project"));
Log.Exception (ex);
}
}
-
- void ImportProject () {
+
+ void ImportProject ()
+ {
Project project;
ProjectImporter importer;
string fileName, filterName;
@@ -175,14 +177,14 @@ namespace LongoMatch.Services {
IDatabase DB = Config.DatabaseManager.ActiveDB;
- Log.Debug("Importing project");
+ Log.Debug ("Importing project");
filterName = String.Join ("\n", ProjectImporters.Select (p => p.FilterName));
- extensions =ExtensionMethods.Merge (ProjectImporters.Select (p =>
p.Extensions).ToList());
+ extensions = ExtensionMethods.Merge (ProjectImporters.Select (p =>
p.Extensions).ToList ());
/* Show a file chooser dialog to select the file to import */
fileName = guiToolkit.OpenFile (Catalog.GetString ("Import project"), null,
Config.HomeDir,
filterName, extensions);
- if(fileName == null)
+ if (fileName == null)
return;
/* try to import the project and show a message error is the file
@@ -195,11 +197,10 @@ namespace LongoMatch.Services {
} else {
throw new Exception (Catalog.GetString ("Plugin not found"));
}
- }
- catch(Exception ex) {
+ } catch (Exception ex) {
guiToolkit.ErrorMessage (Catalog.GetString ("Error importing project:") +
- "\n"+ex.Message);
- Log.Exception(ex);
+ "\n" + ex.Message);
+ Log.Exception (ex);
return;
}
@@ -207,48 +208,46 @@ namespace LongoMatch.Services {
Config.EventsBroker.EmitNewProject (project);
} else {
if (project.Description.File == null ||
- !File.Exists (project.Description.File.FilePath)) {
+ !File.Exists (project.Description.File.FilePath)) {
AddVideoFile (project);
}
/* If the project exists ask if we want to overwrite it */
if (DB.Exists (project)) {
var res = guiToolkit.QuestionMessage (Catalog.GetString ("A project
already exists for the file:") +
-
project.Description.File.FilePath+ "\n" +
- Catalog.GetString ("Do you want
to overwrite it?"), null);
- if(!res)
+ project.Description.File.FilePath + "\n" +
+ Catalog.GetString ("Do you want to overwrite it?"), null);
+ if (!res)
return;
- DB.UpdateProject(project);
+ DB.UpdateProject (project);
} else {
DB.AddProject (project);
}
Config.EventsBroker.EmitOpenProjectID (project.ID);
}
}
-
}
-
+
public class ProjectImporter
{
public Func<string, Project> ImportFunction {
get;
set;
}
-
+
public string [] Extensions {
get;
set;
}
-
+
public string FilterName {
get;
set;
}
-
+
public bool NeedsEdition {
get;
set;
}
-
}
}
diff --git a/LongoMatch/Main.cs b/LongoMatch/Main.cs
index f598894..bfcd6ff 100644
--- a/LongoMatch/Main.cs
+++ b/LongoMatch/Main.cs
@@ -16,107 +16,100 @@
// along with this program; if not, write to the Free Software
//Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA.
//
-//
-
-
-using System;
using System.IO;
using System.Reflection;
using Gtk;
-using Mono.Unix;
-
using LongoMatch.Addins;
-using LongoMatch.Interfaces.GUI;
-using LongoMatch.Interfaces.Multimedia;
+using LongoMatch.Common;
+using LongoMatch.Drawing.Cairo;
using LongoMatch.Gui;
+using LongoMatch.Gui.Helpers;
+using LongoMatch.Interfaces.Multimedia;
+using LongoMatch.Multimedia.Utils;
using LongoMatch.Services;
-using LongoMatch.Common;
using LongoMatch.Video;
-using LongoMatch.Multimedia;
-using LongoMatch.Multimedia.Utils;
-using LongoMatch.Gui.Helpers;
-using LongoMatch.Drawing.Cairo;
+using Mono.Unix;
namespace LongoMatch
-
{
-
class MainClass
{
- public static void Main(string[] args)
+ public static void Main (string[] args)
{
/* Init Gtk */
- Application.Init();
+ Application.Init ();
- Core.Init();
+ Core.Init ();
/* Init GStreamer */
- GStreamer.Init();
- if (!GStreamer.CheckInstallation())
+ GStreamer.Init ();
+ if (!GStreamer.CheckInstallation ())
return;
- GLib.ExceptionManager.UnhandledException += new
GLib.UnhandledExceptionHandler(OnException);
- Version version = Assembly.GetExecutingAssembly().GetName().Version;
+ GLib.ExceptionManager.UnhandledException += new GLib.UnhandledExceptionHandler
(OnException);
+ Version version = Assembly.GetExecutingAssembly ().GetName ().Version;
try {
- AddinsManager manager = new AddinsManager(Config.PluginsConfigDir,
Config.PluginsDir);
- manager.LoadConfigModifierAddins();
- Config.DrawingToolkit = new CairoBackend ();
- Config.EventsBroker = new EventsBroker ();
- IMultimediaToolkit multimediaToolkit = new MultimediaToolkit();
- Config.MultimediaToolkit = multimediaToolkit;
- GUIToolkit guiToolkit = new GUIToolkit(version);
- manager.LoadExportProjectAddins(guiToolkit.MainController);
- manager.LoadMultimediaBackendsAddins(multimediaToolkit);
- try {
- Core.Start(guiToolkit, multimediaToolkit);
- } catch (DBLockedException locked) {
+ AddinsManager manager = new AddinsManager (Config.PluginsConfigDir,
Config.PluginsDir);
+ manager.LoadConfigModifierAddins ();
+ Config.DrawingToolkit = new CairoBackend ();
+ Config.EventsBroker = new EventsBroker ();
+ IMultimediaToolkit multimediaToolkit = new MultimediaToolkit ();
+ Config.MultimediaToolkit = multimediaToolkit;
+ GUIToolkit guiToolkit = new GUIToolkit (version);
+ manager.LoadExportProjectAddins (guiToolkit.MainController);
+ manager.LoadMultimediaBackendsAddins (multimediaToolkit);
+ try {
+ Core.Start (guiToolkit, multimediaToolkit);
+ } catch (DBLockedException locked) {
string msg = Catalog.GetString ("The database seems to be locked by
another instance and " +
- "the application will closed.");
+ "the application will closed.");
guiToolkit.ErrorMessage (msg);
Log.Exception (locked);
return;
- }
- manager.LoadImportProjectAddins(Core.ProjectsImporter);
- Application.Run();
- } catch(Exception ex) {
- ProcessExecutionError(ex);
+ }
+ manager.LoadImportProjectAddins (Core.ProjectsImporter);
+ Application.Run ();
+ } catch (Exception ex) {
+ ProcessExecutionError (ex);
}
}
- private static void OnException(GLib.UnhandledExceptionArgs args) {
- ProcessExecutionError((Exception)args.ExceptionObject);
+ private static void OnException (GLib.UnhandledExceptionArgs args)
+ {
+ ProcessExecutionError ((Exception)args.ExceptionObject);
}
- private static void ProcessExecutionError(Exception ex) {
- string logFile = Constants.SOFTWARE_NAME + "-" + DateTime.Now +".log";
+ private static void ProcessExecutionError (Exception ex)
+ {
+ string logFile = Constants.SOFTWARE_NAME + "-" + DateTime.Now + ".log";
string message;
- logFile = logFile.Replace("/","-");
- logFile = logFile.Replace(" ","-");
- logFile = logFile.Replace(":","-");
- logFile = System.IO.Path.Combine(Config.HomeDir,logFile);
+ logFile = logFile.Replace ("/", "-");
+ logFile = logFile.Replace (" ", "-");
+ logFile = logFile.Replace (":", "-");
+ logFile = System.IO.Path.Combine (Config.HomeDir, logFile);
- message = SysInfo.PrintInfo(Assembly.GetExecutingAssembly().GetName().Version);
- if(ex.InnerException != null)
- message +=
String.Format("{0}\n{1}\n{2}\n{3}\n{4}",ex.Message,ex.InnerException.Message,ex.Source,ex.StackTrace,ex.InnerException.StackTrace);
+ message = SysInfo.PrintInfo (Assembly.GetExecutingAssembly ().GetName ().Version);
+ if (ex.InnerException != null)
+ message += String.Format ("{0}\n{1}\n{2}\n{3}\n{4}", ex.Message,
ex.InnerException.Message, ex.Source, ex.StackTrace, ex.InnerException.StackTrace);
else
- message += String.Format("{0}\n{1}\n{2}",ex.Message,ex.Source,ex.StackTrace);
+ message += String.Format ("{0}\n{1}\n{2}", ex.Message, ex.Source,
ex.StackTrace);
- using(StreamWriter s = new StreamWriter(logFile)) {
- s.WriteLine(message);
- s.WriteLine("\n\n\nStackTrace:");
- s.WriteLine(System.Environment.StackTrace);
+ using (StreamWriter s = new StreamWriter(logFile)) {
+ s.WriteLine (message);
+ s.WriteLine ("\n\n\nStackTrace:");
+ s.WriteLine (System.Environment.StackTrace);
}
- Log.Exception(ex);
+ Log.Exception (ex);
//TODO Add bug reports link
MessagesHelpers.ErrorMessage (null,
- Catalog.GetString("The application has finished with an
unexpected error.")+"\n"+
- Catalog.GetString("A log has been saved at: ")+logFile+
"\n"+
- Catalog.GetString("Please, fill a bug report "));
+ Catalog.GetString ("The application has finished with
an unexpected error.") + "\n" +
+ Catalog.GetString ("A log has been saved at: ") + logFile + "\n" +
+ Catalog.GetString ("Please, fill a bug report "));
- Application.Quit();
+ Application.Quit ();
}
}
}
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]