case VideoRendererType.DEFAULT:\r
AddDefaultRenderer(graphBuilder, sampleGrabber);\r
break;\r
+ case VideoRendererType.AUTO:\r
+ //AddDefaultRenderer(graphBuilder, sampleGrabber);\r
+ break;\r
}\r
FilterGraphTools.RenderPin(graphBuilder, sampleGrabber, "Output");\r
ConfigureSimpleRenderer(handle);\r
"useAlternateCopy": false,\r
"autoTarget": "AUTOTARGET",\r
"autoTags": [ "AUTOTAG" ],\r
+ "disableAutoRefresh": true,\r
"local": {\r
"address": "file://c:/_video/x",\r
"userName": "mediacube",\r
"$type": "UNCSource",\r
"filter": "avi,wav,mxf,mts,mov",\r
"useAlternateCopy": true,\r
+ "disableAutoRefresh": true,\r
"local": {\r
- "address": "file://c:/_video"\r
+ "address": "file://e:/_video"\r
}\r
},\r
"metadatas": [\r
SelectedMetadata = new MetadataInfo() {\r
Kind = metadataType,\r
ID = name,\r
- MetadataText = text,\r
- VariantID = int.Parse(id)\r
+ MetadataText = text\r
};\r
+\r
+\r
+ //neha nem szam az id jo: 464947220 rossz: P122165A\r
+ try {\r
+ SelectedMetadata.VariantID = int.Parse(id);\r
+ } catch (Exception e) {\r
+ }\r
}\r
\r
private void OnTrafficIDSelected(string id, int variantID, string serialID, string text, List<TrafficItem> selected) {\r
if (Configuration?.Source is UNCSource) {\r
btnShowFolders.Enabled = true;\r
logger.Debug("UNC source initialization");\r
- source = new FileSystemSource(this, MessageBus, Configuration.Player.Enabled, Configuration.Source.Filter);\r
- ((FileSystemSource)source).OnListReadCompleted += MaestroForm_OnListReadCompleted;\r
+ var srcConf = Configuration?.Source as UNCSource;\r
+ source = new FileSystemSource(this, MessageBus, Configuration.Player.Enabled, srcConf.Filter, srcConf.DisableAutoRefresh);\r
+ FileSystemSource fsrc = (FileSystemSource)source;\r
+ fsrc.OnListReadCompleted += MaestroForm_OnListReadCompleted;\r
+ fsrc.OnListChanged += MaestroForm_OnListChanegd;\r
+\r
logger.Debug("UNC source created");\r
}\r
if (Configuration?.Source is NEXIOSource) {\r
\r
treeFolders.NodeDoubleClick += OnDoubleClickFolder;\r
}\r
+ private void MaestroForm_OnListChanegd()\r
+ {\r
+ logger.Info("List changed");\r
+ picRefreshFileList.BackColor = Color.Red;\r
+ }\r
\r
- private void MaestroForm_OnListReadCompleted(string[] files) {\r
+ private void MaestroForm_OnListReadCompleted(string[] files) {\r
logger.Info("Checking AUTOTARGET");\r
\r
//nem UNC forras\r
\r
// Kattintas a frissites gombon\r
private void picRefreshFileList_Click(object sender, EventArgs e) {\r
+ picRefreshFileList.BackColor = Color.Transparent;\r
RefreshSource();\r
}\r
\r
AAEAAAD/////AQAAAAAAAAAMAgAAAFdTeXN0ZW0uV2luZG93cy5Gb3JtcywgVmVyc2lvbj00LjAuMC4w\r
LCBDdWx0dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPWI3N2E1YzU2MTkzNGUwODkFAQAAACZTeXN0\r
ZW0uV2luZG93cy5Gb3Jtcy5JbWFnZUxpc3RTdHJlYW1lcgEAAAAERGF0YQcCAgAAAAkDAAAADwMAAAAS\r
- CAAAAk1TRnQBSQFMAgEBAgEAAcgBAgHIAQIBEAEAARABAAT/AQkBAAj/AUIBTQE2AQQGAAE2AQQCAAEo\r
+ CAAAAk1TRnQBSQFMAgEBAgEAAdgBAgHYAQIBEAEAARABAAT/AQkBAAj/AUIBTQE2AQQGAAE2AQQCAAEo\r
AwABQAMAARADAAEBAQABCAYAAQQYAAGAAgABgAMAAoABAAGAAwABgAEAAYABAAKAAgADwAEAAcAB3AHA\r
AQAB8AHKAaYBAAEzBQABMwEAATMBAAEzAQACMwIAAxYBAAMcAQADIgEAAykBAANVAQADTQEAA0IBAAM5\r
AQABgAF8Af8BAAJQAf8BAAGTAQAB1gEAAf8B7AHMAQABxgHWAe8BAAHWAucBAAGQAakBrQIAAf8BMwMA\r
// You can specify all the values or you can default the Build and Revision Numbers\r
// by using the '*' as shown below:\r
// [assembly: AssemblyVersion("1.0.*")]\r
-[assembly: AssemblyVersion("2.1.1.2")]\r
-[assembly: AssemblyFileVersion("2.1.1.2")]\r
+[assembly: AssemblyVersion("2.1.1.4")]\r
+[assembly: AssemblyFileVersion("2.1.1.4")]\r
public delegate void ListReadCompletedHandler(string[] files);\r
public event ListReadCompletedHandler OnListReadCompleted;\r
\r
+ public delegate void ListChangedHandler();\r
+ public event ListChangedHandler OnListChanged;\r
+\r
private static readonly Logger logger = LogManager.GetCurrentClassLogger();\r
private IMessageBus messageBus;\r
private List<CreatedFileMonitor> createdFileMonitors = new List<CreatedFileMonitor>();\r
}\r
\r
public bool PlayerEnabled { get; private set; }\r
+ public bool DisableAutoRefresh { get; }\r
public string Path { get; private set; }\r
\r
private void Refresh() {\r
Shutdown();\r
}\r
\r
- public FileSystemSource(Control parent, IMessageBus messageBus, bool playerEnabled, string fileExtensionFilter) {\r
+ public FileSystemSource(Control parent, IMessageBus messageBus, bool playerEnabled, string fileExtensionFilter, bool disableAutoRefresh) {\r
PlayerEnabled = playerEnabled;\r
+ DisableAutoRefresh = disableAutoRefresh;\r
SortProperty = TypeDescriptor.GetProperties(typeof(FileSourceItem)).Find("Created", false);\r
SortDirection = ListSortDirection.Descending;\r
this.parent = parent;\r
}\r
\r
public void OnRenamed(object sender, RenamedEventArgs e) {\r
+ if (DisableAutoRefresh) {\r
+ OnListChanged?.Invoke();\r
+ return;\r
+ }\r
+\r
if (!string.IsNullOrEmpty(filter))\r
return;\r
logger.Trace("Entry");\r
}\r
\r
private void OnChanged(object sender, FileSystemEventArgs e) {\r
+ if (DisableAutoRefresh) {\r
+ OnListChanged?.Invoke();\r
+ return;\r
+ }\r
+\r
if (!string.IsNullOrEmpty(filter))\r
return;\r
logger.Trace("Entry");\r
\r
\r
private void OnCreated(object sender, FileSystemEventArgs e) {\r
+ if (DisableAutoRefresh) {\r
+ OnListChanged?.Invoke();\r
+ return;\r
+ }\r
+\r
if (!String.IsNullOrEmpty(filter))\r
return;\r
logger.Trace("Entry");\r
}\r
\r
private void OnDeleted(object sender, FileSystemEventArgs e) {\r
+ if (DisableAutoRefresh) {\r
+ OnListChanged?.Invoke();\r
+ return;\r
+ }\r
+\r
if (!string.IsNullOrEmpty(filter))\r
return;\r
logger.Trace("Entry");\r
\r
private void SafeDeleteItem(FileSourceItem item) {\r
parent.SafeCall(() => {\r
- Remove(item);\r
- messageBus.Send(new RemoveFileActionMsg() {\r
- FileName = item.Name,\r
- Source = parent\r
- });\r
+ try {\r
+\r
+ logger.Info(@"Removing " + item.Name);\r
+ Remove(item);\r
+ messageBus.Send(new RemoveFileActionMsg() {\r
+ FileName = item.Name,\r
+ Source = parent\r
+ });\r
+ } catch (Exception e) {\r
+ logger.Error(e.Message);\r
+ }\r
});\r
}\r
\r
public class UNCSource : Source {\r
public bool FoldersAutoExpand { get; set; }\r
public bool UseAlternateCopy { get; set; }\r
+ public bool DisableAutoRefresh { get; set; }\r
}\r
\r
public class NEXIOSource : Source {\r
// You can specify all the values or you can default the Build and Revision Numbers\r
// by using the '*' as shown below:\r
// [assembly: AssemblyVersion("1.0.*")]\r
-[assembly: AssemblyVersion("2.1.0.9")]\r
-[assembly: AssemblyFileVersion("2.1.0.9")]\r
+[assembly: AssemblyVersion("2.1.1.0")]\r
+[assembly: AssemblyFileVersion("2.1.1.0")]\r
long[] current = new long[1];\r
current[0] = 0;\r
\r
- logger.info(csvMarker, "Date;Name;isProgramById;includeContains;isMetadataEquals;itemHouseId;P itemHouseId;itemHouseIdEquals;itemTitle;P itemTitle;itemTitleEquals;mediaHouseId;"\r
- + "P mediaHouseId;mediaHouseIdEquals;mediaTitle;P mediaTitle;mediaTitleEquals;"\r
- + "mediaDescription;P mediaDescription;mediaDescriptionEquals;");\r
- \r
- \r
+ logger.info(csvMarker,\r
+ "Date;Name;isProgramById;includeContains;isMetadataEquals;itemHouseId;P itemHouseId;itemHouseIdEquals;itemTitle;P itemTitle;itemTitleEquals;mediaHouseId;"\r
+ + "P mediaHouseId;mediaHouseIdEquals;mediaTitle;P mediaTitle;mediaTitleEquals;"\r
+ + "mediaDescription;P mediaDescription;mediaDescriptionEquals;");\r
+\r
sql = createQuery();\r
manager.executeQuery(sql, rs -> {\r
\r
\r
current[0]++;\r
processRecord(rs);\r
- int p = (int) current[0] * 100 / (int) count[0];\r
+ int p = ((int) current[0] * 100) / ((int) count[0]);\r
setProgress(p);\r
return true;\r
}, null);\r
\r
private void processRecord(ResultSet rs) {\r
try {\r
- String itemHouseId = set(rs.getString(ITEM_TITLE));\r
+ String itemHouseId = set(rs.getString(ITEM_HOUSEID));\r
String itemTitle = set(rs.getString(ITEM_TITLE));\r
String mediaHouseId = set(rs.getString(MEDIA_HOUSEID));\r
String mediaTitle = set(rs.getString(MEDIA_TITLE));\r
long[] current = new long[1];\r
current[0] = 0;\r
\r
- logger.info(csvMarker, "Date;Name;isProgramById;includeContains;isMetadataEquals;itemHouseId;P itemHouseId;itemHouseIdEquals;itemTitle;P itemTitle;itemTitleEquals;mediaHouseId;"\r
- + "P mediaHouseId;mediaHouseIdEquals;mediaTitle;P mediaTitle;mediaTitleEquals;"\r
- + "mediaDescription;P mediaDescription;mediaDescriptionEquals;");\r
- \r
- \r
+ logger.info(csvMarker,\r
+ "Date;Name;isProgramById;includeContains;isMetadataEquals;itemHouseId;P itemHouseId;itemHouseIdEquals;itemTitle;P itemTitle;itemTitleEquals;mediaHouseId;"\r
+ + "P mediaHouseId;mediaHouseIdEquals;mediaTitle;P mediaTitle;mediaTitleEquals;"\r
+ + "mediaDescription;P mediaDescription;mediaDescriptionEquals;");\r
+\r
sql = createQuery();\r
manager.executeQuery(sql, rs -> {\r
\r
\r
current[0]++;\r
processRecord(rs);\r
- int p = (int) current[0] * 100 / (int) count[0];\r
+ int p = ((int) current[0] * 100) / ((int) count[0]);\r
setProgress(p);\r
return true;\r
}, null);\r
\r
private void processRecord(ResultSet rs) {\r
try {\r
- String itemHouseId = set(rs.getString(ITEM_TITLE));\r
+ String itemHouseId = set(rs.getString(ITEM_HOUSEID));\r
String itemTitle = set(rs.getString(ITEM_TITLE));\r
String mediaHouseId = set(rs.getString(MEDIA_HOUSEID));\r
String mediaTitle = set(rs.getString(MEDIA_TITLE));\r