You can subscribe to this list here.
2007 |
Jan
(36) |
Feb
(79) |
Mar
(123) |
Apr
(95) |
May
(119) |
Jun
(172) |
Jul
(124) |
Aug
(100) |
Sep
(83) |
Oct
(52) |
Nov
(97) |
Dec
(87) |
---|---|---|---|---|---|---|---|---|---|---|---|---|
2008 |
Jan
(131) |
Feb
(80) |
Mar
(163) |
Apr
(178) |
May
(73) |
Jun
(54) |
Jul
(106) |
Aug
(118) |
Sep
(50) |
Oct
(125) |
Nov
(100) |
Dec
(99) |
2009 |
Jan
(104) |
Feb
(99) |
Mar
(68) |
Apr
(81) |
May
(52) |
Jun
(87) |
Jul
(67) |
Aug
(33) |
Sep
(27) |
Oct
(37) |
Nov
(60) |
Dec
(116) |
2010 |
Jan
(82) |
Feb
(79) |
Mar
(38) |
Apr
(50) |
May
(45) |
Jun
(53) |
Jul
(23) |
Aug
(86) |
Sep
(22) |
Oct
(96) |
Nov
(97) |
Dec
(73) |
2011 |
Jan
(24) |
Feb
(45) |
Mar
(28) |
Apr
(31) |
May
(42) |
Jun
(25) |
Jul
|
Aug
(12) |
Sep
(28) |
Oct
(13) |
Nov
(43) |
Dec
(13) |
2012 |
Jan
(62) |
Feb
(28) |
Mar
(6) |
Apr
(16) |
May
(7) |
Jun
|
Jul
(16) |
Aug
(2) |
Sep
(1) |
Oct
(4) |
Nov
(1) |
Dec
(3) |
2013 |
Jan
(5) |
Feb
|
Mar
(34) |
Apr
(9) |
May
(6) |
Jun
(10) |
Jul
(32) |
Aug
(8) |
Sep
(11) |
Oct
(35) |
Nov
(24) |
Dec
(22) |
2014 |
Jan
(44) |
Feb
(9) |
Mar
(9) |
Apr
(15) |
May
(25) |
Jun
(34) |
Jul
(16) |
Aug
(11) |
Sep
(7) |
Oct
(6) |
Nov
(1) |
Dec
(12) |
2015 |
Jan
(33) |
Feb
(19) |
Mar
|
Apr
|
May
(1) |
Jun
|
Jul
|
Aug
|
Sep
|
Oct
|
Nov
|
Dec
|
2019 |
Jan
|
Feb
|
Mar
|
Apr
|
May
|
Jun
(1) |
Jul
(2) |
Aug
|
Sep
|
Oct
|
Nov
|
Dec
|
2023 |
Jan
|
Feb
|
Mar
|
Apr
|
May
(1) |
Jun
|
Jul
|
Aug
(1) |
Sep
|
Oct
|
Nov
|
Dec
(5) |
From: <ove...@us...> - 2007-02-28 21:12:06
|
Revision: 147 http://mp-plugins.svn.sourceforge.net/mp-plugins/?rev=147&view=rev Author: overture Date: 2007-02-28 13:05:55 -0800 (Wed, 28 Feb 2007) Log Message: ----------- Added Paths: ----------- trunk/plugins/IPTVPlugin/ trunk/plugins/IPTVPlugin/AddNewPlugin.cs trunk/plugins/IPTVPlugin/AssemblyInfo.cs trunk/plugins/IPTVPlugin/IPTVPlugin.csproj trunk/plugins/IPTVPlugin/IPTVPlugin.sln trunk/plugins/IPTVPlugin/IPTVSetup.cs trunk/plugins/IPTVPlugin/IPTVsetup.resx trunk/plugins/IPTVPlugin/ReflectionManager.cs trunk/plugins/IPTVPlugin/SetupManager.cs trunk/plugins/IPTVPlugin/SnapperInterface.cs Added: trunk/plugins/IPTVPlugin/AddNewPlugin.cs =================================================================== --- trunk/plugins/IPTVPlugin/AddNewPlugin.cs (rev 0) +++ trunk/plugins/IPTVPlugin/AddNewPlugin.cs 2007-02-28 21:05:55 UTC (rev 147) @@ -0,0 +1,234 @@ +using System; +using System.Drawing; +using System.Collections; +using System.ComponentModel; +using System.Windows.Forms; + + +namespace myIPTV +{ + /// <summary> + /// Summary description for PluginsAddNew. + /// </summary> + public class PluginsAddNew : System.Windows.Forms.Form + { + private System.Windows.Forms.OpenFileDialog openFileDialog1; + private CheckedListBox chklstBox; + private System.Windows.Forms.Button btnOK; + private System.Windows.Forms.Button btnCancel; + private System.Windows.Forms.GroupBox grpDetails; + private System.Windows.Forms.TextBox txtDesc; + private System.Windows.Forms.Label lblDescription; + private System.Windows.Forms.CheckBox chkBstate; + private System.Windows.Forms.GroupBox grpDLLFile; + private System.Windows.Forms.TextBox txtFilePath; + private System.Windows.Forms.Button btnBrowse; + private System.ComponentModel.Container components = null; + + #region Constructors + + public PluginsAddNew() + { + InitializeComponent(); + } + + public PluginsAddNew(CheckedListBox chkLstBox) + { + InitializeComponent(); + this.chklstBox = chkLstBox; + } + + #endregion + + #region Dispose + /// <summary> + /// Clean up any resources being used. + /// </summary> + protected override void Dispose( bool disposing ) + { + if( disposing ) + { + if(components != null) + { + components.Dispose(); + } + } + base.Dispose( disposing ); + } + + #endregion + + #region Windows Form Designer generated code + /// <summary> + /// Required method for Designer support - do not modify + /// the contents of this method with the code editor. + /// </summary> + private void InitializeComponent() + { + this.openFileDialog1 = new System.Windows.Forms.OpenFileDialog(); + this.btnOK = new System.Windows.Forms.Button(); + this.btnCancel = new System.Windows.Forms.Button(); + this.grpDetails = new System.Windows.Forms.GroupBox(); + this.txtDesc = new System.Windows.Forms.TextBox(); + this.lblDescription = new System.Windows.Forms.Label(); + this.chkBstate = new System.Windows.Forms.CheckBox(); + this.grpDLLFile = new System.Windows.Forms.GroupBox(); + this.txtFilePath = new System.Windows.Forms.TextBox(); + this.btnBrowse = new System.Windows.Forms.Button(); + this.grpDetails.SuspendLayout(); + this.grpDLLFile.SuspendLayout(); + this.SuspendLayout(); + // + // btnOK + // + this.btnOK.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Right))); + this.btnOK.FlatStyle = System.Windows.Forms.FlatStyle.System; + this.btnOK.Location = new System.Drawing.Point(336, 216); + this.btnOK.Name = "btnOK"; + this.btnOK.TabIndex = 3; + this.btnOK.Text = "OK"; + this.btnOK.Click += new System.EventHandler(this.btnOK_Click); + // + // btnCancel + // + this.btnCancel.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Right))); + this.btnCancel.FlatStyle = System.Windows.Forms.FlatStyle.System; + this.btnCancel.Location = new System.Drawing.Point(248, 216); + this.btnCancel.Name = "btnCancel"; + this.btnCancel.TabIndex = 2; + this.btnCancel.Text = "Cancel"; + this.btnCancel.Click += new System.EventHandler(this.btnCancel_Click); + // + // grpDetails + // + this.grpDetails.Anchor = ((System.Windows.Forms.AnchorStyles)((((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Bottom) + | System.Windows.Forms.AnchorStyles.Left) + | System.Windows.Forms.AnchorStyles.Right))); + this.grpDetails.Controls.Add(this.txtDesc); + this.grpDetails.Controls.Add(this.lblDescription); + this.grpDetails.Controls.Add(this.chkBstate); + this.grpDetails.FlatStyle = System.Windows.Forms.FlatStyle.System; + this.grpDetails.Location = new System.Drawing.Point(8, 80); + this.grpDetails.Name = "grpDetails"; + this.grpDetails.Size = new System.Drawing.Size(400, 128); + this.grpDetails.TabIndex = 1; + this.grpDetails.TabStop = false; + this.grpDetails.Text = "Details"; + + // + // txtDesc + // + this.txtDesc.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left) + | System.Windows.Forms.AnchorStyles.Right))); + this.txtDesc.Location = new System.Drawing.Point(104, 68); + this.txtDesc.Name = "txtDesc"; + this.txtDesc.Size = new System.Drawing.Size(280, 20); + this.txtDesc.TabIndex = 2; + this.txtDesc.Text = ""; + // + // lblDescription + // + this.lblDescription.FlatStyle = System.Windows.Forms.FlatStyle.System; + this.lblDescription.Location = new System.Drawing.Point(16, 64); + this.lblDescription.Name = "lblDescription"; + this.lblDescription.Size = new System.Drawing.Size(64, 23); + this.lblDescription.TabIndex = 1; + this.lblDescription.Text = "Description"; + this.lblDescription.TextAlign = System.Drawing.ContentAlignment.MiddleRight; + + // + // chkBstate + // + this.chkBstate.FlatStyle = System.Windows.Forms.FlatStyle.System; + this.chkBstate.Location = new System.Drawing.Point(16, 24); + this.chkBstate.Name = "chkBstate"; + this.chkBstate.TabIndex = 0; + this.chkBstate.Text = "State (On/Off)"; + + // + // grpDLLFile + // + this.grpDLLFile.Anchor = ((System.Windows.Forms.AnchorStyles)((((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Bottom) + | System.Windows.Forms.AnchorStyles.Left) + | System.Windows.Forms.AnchorStyles.Right))); + this.grpDLLFile.Controls.Add(this.txtFilePath); + this.grpDLLFile.Controls.Add(this.btnBrowse); + this.grpDLLFile.FlatStyle = System.Windows.Forms.FlatStyle.System; + this.grpDLLFile.Location = new System.Drawing.Point(8, 8); + this.grpDLLFile.Name = "grpDLLFile"; + this.grpDLLFile.Size = new System.Drawing.Size(400, 64); + this.grpDLLFile.TabIndex = 0; + this.grpDLLFile.TabStop = false; + this.grpDLLFile.Text = "File"; + + // + // txtFilePath + // + this.txtFilePath.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left) + | System.Windows.Forms.AnchorStyles.Right))); + this.txtFilePath.Location = new System.Drawing.Point(104, 24); + this.txtFilePath.Name = "txtFilePath"; + this.txtFilePath.Size = new System.Drawing.Size(280, 20); + this.txtFilePath.TabIndex = 1; + this.txtFilePath.Text = ""; + // + // btnBrowse + // + this.btnBrowse.FlatStyle = System.Windows.Forms.FlatStyle.System; + this.btnBrowse.Location = new System.Drawing.Point(16, 24); + this.btnBrowse.Name = "btnBrowse"; + this.btnBrowse.TabIndex = 0; + this.btnBrowse.Text = "Browse"; + this.btnBrowse.Click += new System.EventHandler(this.btnBrowse_Click); + // + // PluginsAddNew + // + this.AutoScaleBaseSize = new System.Drawing.Size(5, 13); + this.ClientSize = new System.Drawing.Size(416, 242); + this.Controls.Add(this.btnOK); + this.Controls.Add(this.btnCancel); + this.Controls.Add(this.grpDetails); + this.Controls.Add(this.grpDLLFile); + this.Name = "PluginsAddNew"; + this.StartPosition = System.Windows.Forms.FormStartPosition.CenterParent; + this.Text = "PluginsAddNew"; + this.grpDetails.ResumeLayout(false); + this.grpDLLFile.ResumeLayout(false); + this.ResumeLayout(false); + + } + #endregion + + #region Event + + private void btnBrowse_Click(object sender, System.EventArgs e) + { + openFileDialog1.Filter = "Plugin files (*.dll)|*.dll|All files (*.*)|*.*"; + if(DialogResult.OK==openFileDialog1.ShowDialog()) + { + txtFilePath.Text = openFileDialog1.FileName; + } + } + + private void btnOK_Click(object sender, System.EventArgs e) + { + SetupManager setupManager = new SetupManager(); + setupManager.LoadXMLDoc(); + + bool ans = setupManager.TestNewItem(this.txtFilePath.Text,this.txtDesc.Text,this.chkBstate.Checked); + if(ans) + { + setupManager.InsertNewItem(this.txtFilePath.Text,this.txtDesc.Text,this.chkBstate.Checked); + this.chklstBox.Items.Add(this.txtDesc.Text,this.chkBstate.Checked); + } + this.Close(); + } + + private void btnCancel_Click(object sender, System.EventArgs e) + { + this.Close(); + } + + #endregion + } +} Added: trunk/plugins/IPTVPlugin/AssemblyInfo.cs =================================================================== --- trunk/plugins/IPTVPlugin/AssemblyInfo.cs (rev 0) +++ trunk/plugins/IPTVPlugin/AssemblyInfo.cs 2007-02-28 21:05:55 UTC (rev 147) @@ -0,0 +1,27 @@ +using System.Reflection; +using System.Runtime.CompilerServices; + +// Information about this assembly is defined by the following +// attributes. +// +// change them to the information which is associated with the assembly +// you compile. + +[assembly: AssemblyTitle("MediaPortal IPTV Plugin")] +[assembly: AssemblyDescription("IPTV Plugin Host Application for mini IPTV plugins")] +[assembly: AssemblyConfiguration("")] +[assembly: AssemblyCompany("")] +[assembly: AssemblyProduct("")] +[assembly: AssemblyCopyright("")] +[assembly: AssemblyTrademark("")] +[assembly: AssemblyCulture("")] + +// The assembly version has following format : +// +// Major.Minor.Build.Revision +// +// You can specify all values by your own or you can build default build and revision +// numbers with the '*' character (the default): + +[assembly: AssemblyVersion("1.0.*")] + Added: trunk/plugins/IPTVPlugin/IPTVPlugin.csproj =================================================================== --- trunk/plugins/IPTVPlugin/IPTVPlugin.csproj (rev 0) +++ trunk/plugins/IPTVPlugin/IPTVPlugin.csproj 2007-02-28 21:05:55 UTC (rev 147) @@ -0,0 +1,49 @@ +<Project DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> + <PropertyGroup> + <OutputType>Library</OutputType> + <RootNamespace>IPTVPlugin</RootNamespace> + <AssemblyName>IPTVPlugin</AssemblyName> + <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration> + <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform> + <ProjectGuid>{14CD8D0D-30E2-44FB-8E49-078D1578668D}</ProjectGuid> + </PropertyGroup> + <PropertyGroup Condition=" '$(Configuration)' == 'Debug' "> + <OutputPath>bin\Debug\</OutputPath> + <Optimize>False</Optimize> + <DefineConstants>DEBUG;TRACE</DefineConstants> + <DebugSymbols>True</DebugSymbols> + <DebugType>Full</DebugType> + <CheckForOverflowUnderflow>True</CheckForOverflowUnderflow> + </PropertyGroup> + <PropertyGroup Condition=" '$(Configuration)' == 'Release' "> + <OutputPath>bin\Release\</OutputPath> + <Optimize>True</Optimize> + <DefineConstants>TRACE</DefineConstants> + <DebugSymbols>False</DebugSymbols> + <DebugType>None</DebugType> + <CheckForOverflowUnderflow>False</CheckForOverflowUnderflow> + </PropertyGroup> + <ItemGroup> + <Reference Include="System" /> + <Reference Include="System.Xml" /> + <Reference Include="System.Data, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" /> + <Reference Include="System.Drawing, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" /> + <Reference Include="Core"> + <HintPath>..\..\..\..\..\MediaPortal\mediaportal\Core\bin\Release\Core.dll</HintPath> + <SpecificVersion>False</SpecificVersion> + </Reference> + <Reference Include="System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" /> + </ItemGroup> + <ItemGroup> + <Compile Include="SnapperInterface.cs" /> + <Compile Include="AssemblyInfo.cs" /> + <Compile Include="ReflectionManager.cs" /> + <Compile Include="IPTVSetup.cs" /> + <EmbeddedResource Include="IPTVsetup.resx"> + <DependentUpon>IPTVSetup.cs</DependentUpon> + </EmbeddedResource> + <Compile Include="SetupManager.cs" /> + <Compile Include="AddNewPlugin.cs" /> + </ItemGroup> + <Import Project="$(MSBuildBinPath)\Microsoft.CSharp.Targets" /> +</Project> \ No newline at end of file Added: trunk/plugins/IPTVPlugin/IPTVPlugin.sln =================================================================== --- trunk/plugins/IPTVPlugin/IPTVPlugin.sln (rev 0) +++ trunk/plugins/IPTVPlugin/IPTVPlugin.sln 2007-02-28 21:05:55 UTC (rev 147) @@ -0,0 +1,16 @@ +Microsoft Visual Studio Solution File, Format Version 9.00 +# SharpDevelop 2.0.0.922 +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "IPTVPlugin", "IPTVPlugin.csproj", "{14CD8D0D-30E2-44FB-8E49-078D1578668D}" +EndProject +Global + GlobalSection(SolutionConfigurationPlatforms) = preSolution + Debug|Any CPU = Debug|Any CPU + Release|Any CPU = Release|Any CPU + EndGlobalSection + GlobalSection(ProjectConfigurationPlatforms) = postSolution + {14CD8D0D-30E2-44FB-8E49-078D1578668D}.Debug|Any CPU.Build.0 = Debug|Any CPU + {14CD8D0D-30E2-44FB-8E49-078D1578668D}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {14CD8D0D-30E2-44FB-8E49-078D1578668D}.Release|Any CPU.Build.0 = Release|Any CPU + {14CD8D0D-30E2-44FB-8E49-078D1578668D}.Release|Any CPU.ActiveCfg = Release|Any CPU + EndGlobalSection +EndGlobal Added: trunk/plugins/IPTVPlugin/IPTVSetup.cs =================================================================== --- trunk/plugins/IPTVPlugin/IPTVSetup.cs (rev 0) +++ trunk/plugins/IPTVPlugin/IPTVSetup.cs 2007-02-28 21:05:55 UTC (rev 147) @@ -0,0 +1,501 @@ +using System; +using System.Drawing; +using System.Windows.Forms; +using System.Xml; +using MediaPortal.GUI.Library; + +namespace myIPTV +{ + /// <summary> + /// Description of MyIPTVsetup. + /// </summary> + public class IPTVsetup : System.Windows.Forms.Form, ISetupForm + { + private System.ComponentModel.Container components = null; + + public IPTVsetup() + { + InitializeComponent(); + } + + /// <summary> + /// Clean up any resources being used. + /// </summary> + protected override void Dispose( bool disposing ) + { + if( disposing ) + { + if(components != null) + { + components.Dispose(); + } + } + base.Dispose( disposing ); + } + + #region Windows Forms Designer generated code + /// <summary> + /// This method is required for Windows Forms designer support. + /// Do not change the method contents inside the source code editor. The Forms designer might + /// not be able to load this method if it was changed manually. + /// </summary> + private void InitializeComponent() + { + this.grpBoxConnectInfo = new System.Windows.Forms.GroupBox(); + this.chkBoxUseDefaultProxy = new System.Windows.Forms.CheckBox(); + this.txtProxyPort = new System.Windows.Forms.TextBox(); + this.label7 = new System.Windows.Forms.Label(); + this.txtProxyIPAddress = new System.Windows.Forms.TextBox(); + this.label6 = new System.Windows.Forms.Label(); + this.txtProxyPass = new System.Windows.Forms.TextBox(); + this.label5 = new System.Windows.Forms.Label(); + this.chkBoxUseProxy = new System.Windows.Forms.CheckBox(); + this.txtProxyUser = new System.Windows.Forms.TextBox(); + this.label4 = new System.Windows.Forms.Label(); + this.btnCancel = new System.Windows.Forms.Button(); + this.btnOK = new System.Windows.Forms.Button(); + this.tabControl1 = new System.Windows.Forms.TabControl(); + this.tabPage1 = new System.Windows.Forms.TabPage(); + this.tabPage2 = new System.Windows.Forms.TabPage(); + this.btnAddNewPlug = new System.Windows.Forms.Button(); + this.btnRemove = new System.Windows.Forms.Button(); + this.checkedListBox1 = new System.Windows.Forms.CheckedListBox(); + this.label1 = new System.Windows.Forms.Label(); + this.lblAuthor = new System.Windows.Forms.Label(); + this.grpBoxConnectInfo.SuspendLayout(); + this.tabControl1.SuspendLayout(); + this.tabPage1.SuspendLayout(); + this.tabPage2.SuspendLayout(); + this.SuspendLayout(); + // + // grpBoxConnectInfo + // + this.grpBoxConnectInfo.Controls.Add(this.chkBoxUseDefaultProxy); + this.grpBoxConnectInfo.Controls.Add(this.txtProxyPort); + this.grpBoxConnectInfo.Controls.Add(this.label7); + this.grpBoxConnectInfo.Controls.Add(this.txtProxyIPAddress); + this.grpBoxConnectInfo.Controls.Add(this.label6); + this.grpBoxConnectInfo.Controls.Add(this.txtProxyPass); + this.grpBoxConnectInfo.Controls.Add(this.label5); + this.grpBoxConnectInfo.Controls.Add(this.chkBoxUseProxy); + this.grpBoxConnectInfo.Controls.Add(this.txtProxyUser); + this.grpBoxConnectInfo.Controls.Add(this.label4); + this.grpBoxConnectInfo.Location = new System.Drawing.Point(6, 35); + this.grpBoxConnectInfo.Name = "grpBoxConnectInfo"; + this.grpBoxConnectInfo.Size = new System.Drawing.Size(640, 246); + this.grpBoxConnectInfo.TabIndex = 1; + this.grpBoxConnectInfo.TabStop = false; + this.grpBoxConnectInfo.Text = "Internet Connection Information"; + this.grpBoxConnectInfo.UseCompatibleTextRendering = true; + // + // chkBoxUseDefaultProxy + // + this.chkBoxUseDefaultProxy.Enabled = false; + this.chkBoxUseDefaultProxy.Location = new System.Drawing.Point(67, 99); + this.chkBoxUseDefaultProxy.Name = "chkBoxUseDefaultProxy"; + this.chkBoxUseDefaultProxy.Size = new System.Drawing.Size(242, 24); + this.chkBoxUseDefaultProxy.TabIndex = 9; + this.chkBoxUseDefaultProxy.Text = "Use Default Proxy Authentication?"; + this.chkBoxUseDefaultProxy.UseCompatibleTextRendering = true; + this.chkBoxUseDefaultProxy.CheckedChanged += new System.EventHandler(this.ChkBoxUseDefaultProxyCheckedChanged); + // + // txtProxyPort + // + this.txtProxyPort.Enabled = false; + this.txtProxyPort.Location = new System.Drawing.Point(488, 155); + this.txtProxyPort.Name = "txtProxyPort"; + this.txtProxyPort.Size = new System.Drawing.Size(49, 20); + this.txtProxyPort.TabIndex = 8; + // + // label7 + // + this.label7.Location = new System.Drawing.Point(382, 155); + this.label7.Name = "label7"; + this.label7.Size = new System.Drawing.Size(100, 23); + this.label7.TabIndex = 7; + this.label7.Text = "Port"; + this.label7.TextAlign = System.Drawing.ContentAlignment.MiddleLeft; + this.label7.UseCompatibleTextRendering = true; + // + // txtProxyIPAddress + // + this.txtProxyIPAddress.Enabled = false; + this.txtProxyIPAddress.Location = new System.Drawing.Point(488, 129); + this.txtProxyIPAddress.Name = "txtProxyIPAddress"; + this.txtProxyIPAddress.Size = new System.Drawing.Size(100, 20); + this.txtProxyIPAddress.TabIndex = 6; + // + // label6 + // + this.label6.Location = new System.Drawing.Point(382, 129); + this.label6.Name = "label6"; + this.label6.Size = new System.Drawing.Size(100, 23); + this.label6.TabIndex = 5; + this.label6.Text = "IP Address"; + this.label6.TextAlign = System.Drawing.ContentAlignment.MiddleLeft; + this.label6.UseCompatibleTextRendering = true; + // + // txtProxyPass + // + this.txtProxyPass.Enabled = false; + this.txtProxyPass.Location = new System.Drawing.Point(173, 155); + this.txtProxyPass.Name = "txtProxyPass"; + this.txtProxyPass.Size = new System.Drawing.Size(100, 20); + this.txtProxyPass.TabIndex = 4; + // + // label5 + // + this.label5.Location = new System.Drawing.Point(67, 155); + this.label5.Name = "label5"; + this.label5.Size = new System.Drawing.Size(100, 23); + this.label5.TabIndex = 3; + this.label5.Text = "Password"; + this.label5.TextAlign = System.Drawing.ContentAlignment.MiddleLeft; + this.label5.UseCompatibleTextRendering = true; + // + // chkBoxUseProxy + // + this.chkBoxUseProxy.Location = new System.Drawing.Point(33, 28); + this.chkBoxUseProxy.Name = "chkBoxUseProxy"; + this.chkBoxUseProxy.Size = new System.Drawing.Size(136, 24); + this.chkBoxUseProxy.TabIndex = 2; + this.chkBoxUseProxy.Text = "Use a Proxy Server?"; + this.chkBoxUseProxy.UseCompatibleTextRendering = true; + this.chkBoxUseProxy.CheckedChanged += new System.EventHandler(this.ChkBoxUseProxyCheckedChanged); + // + // txtProxyUser + // + this.txtProxyUser.Enabled = false; + this.txtProxyUser.Location = new System.Drawing.Point(173, 129); + this.txtProxyUser.Name = "txtProxyUser"; + this.txtProxyUser.Size = new System.Drawing.Size(100, 20); + this.txtProxyUser.TabIndex = 1; + // + // label4 + // + this.label4.Location = new System.Drawing.Point(67, 129); + this.label4.Name = "label4"; + this.label4.Size = new System.Drawing.Size(100, 23); + this.label4.TabIndex = 0; + this.label4.Text = "Username"; + this.label4.TextAlign = System.Drawing.ContentAlignment.MiddleLeft; + this.label4.UseCompatibleTextRendering = true; + // + // btnCancel + // + this.btnCancel.Location = new System.Drawing.Point(597, 384); + this.btnCancel.Name = "btnCancel"; + this.btnCancel.Size = new System.Drawing.Size(75, 23); + this.btnCancel.TabIndex = 2; + this.btnCancel.Text = "Cancel"; + this.btnCancel.TextAlign = System.Drawing.ContentAlignment.TopCenter; + this.btnCancel.UseCompatibleTextRendering = true; + this.btnCancel.Click += new System.EventHandler(this.BtnCancelClick); + // + // btnOK + // + this.btnOK.Location = new System.Drawing.Point(516, 384); + this.btnOK.Name = "btnOK"; + this.btnOK.Size = new System.Drawing.Size(75, 23); + this.btnOK.TabIndex = 3; + this.btnOK.Text = "OK"; + this.btnOK.TextAlign = System.Drawing.ContentAlignment.TopCenter; + this.btnOK.UseCompatibleTextRendering = true; + this.btnOK.Click += new System.EventHandler(this.BtnOKClick); + // + // tabControl1 + // + this.tabControl1.Controls.Add(this.tabPage2); + this.tabControl1.Controls.Add(this.tabPage1); + this.tabControl1.Location = new System.Drawing.Point(12, 12); + this.tabControl1.Name = "tabControl1"; + this.tabControl1.SelectedIndex = 0; + this.tabControl1.Size = new System.Drawing.Size(660, 357); + this.tabControl1.TabIndex = 4; + // + // tabPage1 + // + this.tabPage1.Controls.Add(this.grpBoxConnectInfo); + this.tabPage1.Location = new System.Drawing.Point(4, 23); + this.tabPage1.Name = "tabPage1"; + this.tabPage1.Padding = new System.Windows.Forms.Padding(3); + this.tabPage1.Size = new System.Drawing.Size(652, 330); + this.tabPage1.TabIndex = 0; + this.tabPage1.Text = "Proxy Settings"; + this.tabPage1.UseVisualStyleBackColor = true; + // + // tabPage2 + // + this.tabPage2.Controls.Add(this.lblAuthor); + this.tabPage2.Controls.Add(this.label1); + this.tabPage2.Controls.Add(this.btnAddNewPlug); + this.tabPage2.Controls.Add(this.btnRemove); + this.tabPage2.Controls.Add(this.checkedListBox1); + this.tabPage2.Location = new System.Drawing.Point(4, 23); + this.tabPage2.Name = "tabPage2"; + this.tabPage2.Padding = new System.Windows.Forms.Padding(3); + this.tabPage2.Size = new System.Drawing.Size(652, 330); + this.tabPage2.TabIndex = 1; + this.tabPage2.Text = "IPTV Mini Plugins"; + this.tabPage2.UseVisualStyleBackColor = true; + // + // btnAddNewPlug + // + this.btnAddNewPlug.Location = new System.Drawing.Point(526, 301); + this.btnAddNewPlug.Name = "btnAddNewPlug"; + this.btnAddNewPlug.Size = new System.Drawing.Size(107, 23); + this.btnAddNewPlug.TabIndex = 2; + this.btnAddNewPlug.Text = "Add New Plugin"; + this.btnAddNewPlug.UseCompatibleTextRendering = true; + this.btnAddNewPlug.UseVisualStyleBackColor = true; + this.btnAddNewPlug.Click += new System.EventHandler(this.BtnAddNewPlugClick); + // + // btnRemove + // + this.btnRemove.Location = new System.Drawing.Point(18, 301); + this.btnRemove.Name = "btnRemove"; + this.btnRemove.Size = new System.Drawing.Size(110, 23); + this.btnRemove.TabIndex = 1; + this.btnRemove.Text = "Remove Selected"; + this.btnRemove.UseCompatibleTextRendering = true; + this.btnRemove.UseVisualStyleBackColor = true; + this.btnRemove.Click += new System.EventHandler(this.BtnRemoveClick); + // + // checkedListBox1 + // + this.checkedListBox1.FormattingEnabled = true; + this.checkedListBox1.Location = new System.Drawing.Point(18, 36); + this.checkedListBox1.Name = "checkedListBox1"; + this.checkedListBox1.Size = new System.Drawing.Size(615, 259); + this.checkedListBox1.TabIndex = 0; + this.checkedListBox1.UseCompatibleTextRendering = true; + this.checkedListBox1.SelectedIndexChanged += new System.EventHandler(this.CheckedListBox1SelectedIndexChanged); + // + // label1 + // + this.label1.ImageAlign = System.Drawing.ContentAlignment.MiddleRight; + this.label1.Location = new System.Drawing.Point(18, 7); + this.label1.Name = "label1"; + this.label1.Size = new System.Drawing.Size(100, 23); + this.label1.TabIndex = 3; + this.label1.Text = "Author:"; + this.label1.TextAlign = System.Drawing.ContentAlignment.MiddleCenter; + this.label1.UseCompatibleTextRendering = true; + // + // lblAuthor + // + this.lblAuthor.Font = new System.Drawing.Font("Arial", 8.25F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(0))); + this.lblAuthor.Location = new System.Drawing.Point(99, 7); + this.lblAuthor.Name = "lblAuthor"; + this.lblAuthor.Size = new System.Drawing.Size(100, 23); + this.lblAuthor.TabIndex = 4; + this.lblAuthor.TextAlign = System.Drawing.ContentAlignment.MiddleLeft; + this.lblAuthor.UseCompatibleTextRendering = true; + // + // IPTVsetup + // + this.ClientSize = new System.Drawing.Size(686, 410); + this.Controls.Add(this.tabControl1); + this.Controls.Add(this.btnOK); + this.Controls.Add(this.btnCancel); + this.FormBorderStyle = System.Windows.Forms.FormBorderStyle.FixedDialog; + this.Name = "IPTVsetup"; + this.Text = "My IPTV Setup"; + this.Load += new System.EventHandler(this.MyIPTVsetupLoad); + this.grpBoxConnectInfo.ResumeLayout(false); + this.grpBoxConnectInfo.PerformLayout(); + this.tabControl1.ResumeLayout(false); + this.tabPage1.ResumeLayout(false); + this.tabPage2.ResumeLayout(false); + this.ResumeLayout(false); + } + private System.Windows.Forms.Label label1; + private System.Windows.Forms.Label lblAuthor; + private System.Windows.Forms.Button btnRemove; + private System.Windows.Forms.Button btnAddNewPlug; + private System.Windows.Forms.CheckedListBox checkedListBox1; + private System.Windows.Forms.TabPage tabPage2; + private System.Windows.Forms.TabPage tabPage1; + private System.Windows.Forms.TabControl tabControl1; + private System.Windows.Forms.Button btnOK; + private System.Windows.Forms.Button btnCancel; + private System.Windows.Forms.Label label4; + private System.Windows.Forms.TextBox txtProxyUser; + private System.Windows.Forms.CheckBox chkBoxUseProxy; + private System.Windows.Forms.Label label5; + private System.Windows.Forms.TextBox txtProxyPass; + private System.Windows.Forms.Label label6; + private System.Windows.Forms.TextBox txtProxyIPAddress; + private System.Windows.Forms.Label label7; + private System.Windows.Forms.TextBox txtProxyPort; + private System.Windows.Forms.CheckBox chkBoxUseDefaultProxy; + private System.Windows.Forms.GroupBox grpBoxConnectInfo; + #endregion + + void ChkBoxUseProxyCheckedChanged(object sender, System.EventArgs e) + { + if(chkBoxUseProxy.Checked==true) + { + chkBoxUseDefaultProxy.Checked = true; + chkBoxUseDefaultProxy.Enabled = true; + txtProxyIPAddress.Enabled = true; + txtProxyPort.Enabled = true; + } + else + { + chkBoxUseDefaultProxy.Checked = false; + chkBoxUseDefaultProxy.Enabled = false; + txtProxyIPAddress.Enabled = false; + txtProxyPort.Enabled = false; + txtProxyUser.Enabled = false; + txtProxyPass.Enabled = false; + } + + } + + void ChkBoxUseDefaultProxyCheckedChanged(object sender, System.EventArgs e) + { + if(chkBoxUseDefaultProxy.Checked==false) + { + txtProxyUser.Enabled = true; + txtProxyPass.Enabled = true; + } + else + { + txtProxyUser.Enabled = false; + txtProxyPass.Enabled = false; + } + } + + void MyIPTVsetupLoad(object sender, System.EventArgs e) + { + SetupManager setupManager = new SetupManager(); + setupManager.LoadXMLDoc(); + setupManager.GetPluginDetails(); + setupManager.LoadPluginItems(this.checkedListBox1); + + XmlDocument xmld = new XmlDocument(); + xmld.Load("iptvsettings.xml"); + + // Load Proxy Details from XML file + chkBoxUseProxy.Checked = Convert.ToBoolean(xmld.SelectSingleNode("/settings/proxydetails/useproxy").InnerText); + chkBoxUseDefaultProxy.Checked = Convert.ToBoolean(xmld.SelectSingleNode("/settings/proxydetails/usedefaultproxy").InnerText); + txtProxyUser.Text = xmld.SelectSingleNode("/settings/proxydetails/proxyuser").InnerText; + txtProxyPass.Text = xmld.SelectSingleNode("/settings/proxydetails/proxypassword").InnerText; + txtProxyIPAddress.Text = xmld.SelectSingleNode("/settings/proxydetails/proxyipaddress").InnerText; + txtProxyPort.Text = xmld.SelectSingleNode("/settings/proxydetails/proxyport").InnerText; + } + + void BtnOKClick(object sender, System.EventArgs e) + { + XmlNode nchkBoxUseProxyNode; + XmlNode nchkBoxUseDefaultProxyNode; + XmlNode ntxtProxyUserNode; + XmlNode ntxtProxyPassNode; + XmlNode ntxtProxyIPAddressNode; + XmlNode ntxtProxyPortNode; + + XmlDocument xmld = new XmlDocument(); + xmld.Load("iptvsettings.xml"); + + nchkBoxUseProxyNode = xmld.SelectSingleNode("/settings/proxydetails/useproxy"); + nchkBoxUseDefaultProxyNode = xmld.SelectSingleNode("/settings/proxydetails/usedefaultproxy"); + ntxtProxyUserNode = xmld.SelectSingleNode("/settings/proxydetails/proxyuser"); + ntxtProxyPassNode = xmld.SelectSingleNode("/settings/proxydetails/proxypassword"); + ntxtProxyIPAddressNode = xmld.SelectSingleNode("/settings/proxydetails/proxyipaddress"); + ntxtProxyPortNode = xmld.SelectSingleNode("/settings/proxydetails/proxyport"); + + nchkBoxUseProxyNode.InnerText = chkBoxUseProxy.Checked.ToString(); + nchkBoxUseDefaultProxyNode.InnerText = chkBoxUseDefaultProxy.Checked.ToString(); + ntxtProxyUserNode.InnerText = txtProxyUser.Text; + ntxtProxyPassNode.InnerText = txtProxyPass.Text; + ntxtProxyIPAddressNode.InnerText = txtProxyIPAddress.Text; + ntxtProxyPortNode.InnerText = txtProxyPort.Text; + + xmld.Save("iptvsettings.xml"); + this.Close(); + } + + void BtnCancelClick(object sender, System.EventArgs e) + { + this.Close(); + } + + #region ISetupForm Members + + public bool CanEnable() + { + return true; + } + + public string Description() + { + return "Plugin for viewing Internet TV"; + } + + public bool DefaultEnabled() + { + return true; + } + + public int GetWindowId() + { + return 5699; + } + + public bool GetHome(out string strButtonText, out string strButtonImage, out string strButtonImageFocus, out string strPictureImage) + { + strButtonText=PluginName(); + strButtonImage=String.Empty; + strButtonImageFocus=String.Empty; + strPictureImage=String.Empty; + return true; + } + + public string Author() + { + return "overture/juan pablo"; + } + + public string PluginName() + { + return "My IPTV"; + } + + public bool HasSetup() + { + return true; + } + + public void ShowPlugin() + { + IPTVsetup iptvSetup = new IPTVsetup(); + iptvSetup.ShowDialog(); + iptvSetup.Dispose(); + } + + #endregion + + + void BtnRemoveClick(object sender, System.EventArgs e) + { + SetupManager setupManager = new SetupManager(); + setupManager.LoadXMLDoc(); + setupManager.RemoveItem(checkedListBox1.Text); + checkedListBox1.Items.Clear(); + setupManager.GetPluginDetails(); + setupManager.LoadPluginItems(checkedListBox1); + } + + void BtnAddNewPlugClick(object sender, System.EventArgs e) + { + PluginsAddNew newplug = new PluginsAddNew(checkedListBox1); + newplug.ShowDialog(); + newplug.Dispose(); + } + + void CheckedListBox1SelectedIndexChanged(object sender, System.EventArgs e) + { + } + } +} Added: trunk/plugins/IPTVPlugin/IPTVsetup.resx =================================================================== --- trunk/plugins/IPTVPlugin/IPTVsetup.resx (rev 0) +++ trunk/plugins/IPTVPlugin/IPTVsetup.resx 2007-02-28 21:05:55 UTC (rev 147) @@ -0,0 +1,120 @@ +<?xml version="1.0" encoding="utf-8"?> +<root> + <!-- + Microsoft ResX Schema + + Version 2.0 + + The primary goals of this format is to allow a simple XML format + that is mostly human readable. The generation and parsing of the + various data types are done through the TypeConverter classes + associated with the data types. + + Example: + + ... ado.net/XML headers & schema ... + <resheader name="resmimetype">text/microsoft-resx</resheader> + <resheader name="version">2.0</resheader> + <resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader> + <resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader> + <data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data> + <data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data> + <data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64"> + <value>[base64 mime encoded serialized .NET Framework object]</value> + </data> + <data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64"> + <value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value> + <comment>This is a comment</comment> + </data> + + There are any number of "resheader" rows that contain simple + name/value pairs. + + Each data row contains a name, and value. The row also contains a + type or mimetype. Type corresponds to a .NET class that support + text/value conversion through the TypeConverter architecture. + Classes that don't support this are serialized and stored with the + mimetype set. + + The mimetype is used for serialized objects, and tells the + ResXResourceReader how to depersist the object. This is currently not + extensible. For a given mimetype the value must be set accordingly: + + Note - application/x-microsoft.net.object.binary.base64 is the format + that the ResXResourceWriter will generate, however the reader can + read any of the formats listed below. + + mimetype: application/x-microsoft.net.object.binary.base64 + value : The object must be serialized with + : System.Runtime.Serialization.Formatters.Binary.BinaryFormatter + : and then encoded with base64 encoding. + + mimetype: application/x-microsoft.net.object.soap.base64 + value : The object must be serialized with + : System.Runtime.Serialization.Formatters.Soap.SoapFormatter + : and then encoded with base64 encoding. + + mimetype: application/x-microsoft.net.object.bytearray.base64 + value : The object must be serialized into a byte array + : using a System.ComponentModel.TypeConverter + : and then encoded with base64 encoding. + --> + <xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata"> + <xsd:import namespace="http://www.w3.org/XML/1998/namespace" /> + <xsd:element name="root" msdata:IsDataSet="true"> + <xsd:complexType> + <xsd:choice maxOccurs="unbounded"> + <xsd:element name="metadata"> + <xsd:complexType> + <xsd:sequence> + <xsd:element name="value" type="xsd:string" minOccurs="0" /> + </xsd:sequence> + <xsd:attribute name="name" use="required" type="xsd:string" /> + <xsd:attribute name="type" type="xsd:string" /> + <xsd:attribute name="mimetype" type="xsd:string" /> + <xsd:attribute ref="xml:space" /> + </xsd:complexType> + </xsd:element> + <xsd:element name="assembly"> + <xsd:complexType> + <xsd:attribute name="alias" type="xsd:string" /> + <xsd:attribute name="name" type="xsd:string" /> + </xsd:complexType> + </xsd:element> + <xsd:element name="data"> + <xsd:complexType> + <xsd:sequence> + <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" /> + <xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" /> + </xsd:sequence> + <xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" /> + <xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" /> + <xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" /> + <xsd:attribute ref="xml:space" /> + </xsd:complexType> + </xsd:element> + <xsd:element name="resheader"> + <xsd:complexType> + <xsd:sequence> + <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" /> + </xsd:sequence> + <xsd:attribute name="name" type="xsd:string" use="required" /> + </xsd:complexType> + </xsd:element> + </xsd:choice> + </xsd:complexType> + </xsd:element> + </xsd:schema> + <resheader name="resmimetype"> + <value>text/microsoft-resx</value> + </resheader> + <resheader name="version"> + <value>2.0</value> + </resheader> + <resheader name="reader"> + <value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value> + </resheader> + <resheader name="writer"> + <value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value> + </resheader> +</root> \ No newline at end of file Added: trunk/plugins/IPTVPlugin/ReflectionManager.cs =================================================================== --- trunk/plugins/IPTVPlugin/ReflectionManager.cs (rev 0) +++ trunk/plugins/IPTVPlugin/ReflectionManager.cs 2007-02-28 21:05:55 UTC (rev 147) @@ -0,0 +1,161 @@ +using System; +using System.Reflection; +using SnapperInterface; + +namespace ReflectionManager +{ + /// <summary> + /// Controls runtime instances of the mini plugins. + /// </summary> + public class ReflectionControl + { + private object oInstance; + private Assembly theSnapInAsm = null; + + #region Default Constructor + + /// <summary> + /// Default Constructor + /// </summary> + public ReflectionControl() + { + } + + #endregion + + #region Properties + + /// <summary> + /// Property of a given type instance. + /// </summary> + public object ObjInstance + { + get { return this.oInstance; } + } + + #endregion + + #region Public Methods + + /// <summary> + /// Used to load an external assembley. + /// </summary> + /// <param name="path">Path to the assembly.</param> + /// <returns>bool</returns> + public bool LoadExternalModule(string path) + { + try + { + // Dynamically load the selected assembly. + this.theSnapInAsm = Assembly.LoadFrom(path); + } + catch + { + // If any error at all takes place, just return false. + return false; + } + + return true; + } + + /// <summary> + /// Creates an instance of a specified type. + /// </summary> + /// <param name="sFullName">Name of the type i.e. "Namespace.Class"</param> + /// <returns>Instance of the type object.</returns> + public object GetInstanceOfType(string sFullName) + { + // Get all types in assembly. + Type[] theTypes = theSnapInAsm.GetTypes(); + // See if a type implements ... + for (int i = 0; i < theTypes.Length; i++) + { + object[] theAtts = theTypes[i].GetCustomAttributes(false); + for(int j = 0;j< theAtts.Length;j++) + { + if(theAtts[j] is MiniIPTVPluginAttribute) + { + MiniIPTVPluginAttribute pa = theAtts[j] as MiniIPTVPluginAttribute; + // Use late binding to create the type. + this.oInstance = theSnapInAsm.CreateInstance(sFullName); + } + } + } + return this.oInstance; + } + + + /// <summary> + /// Checks if the DLL contains a compatiple type + /// </summary> + /// <returns>bool true or false</returns> + public bool CheckValidType() + { + bool ans = false; + int ctr = 0; + // Get all types in assembly. + Type[] theTypes = theSnapInAsm.GetTypes(); + + // Loop through each type in the assembly + for (int i = 0; i < theTypes.Length; i++) + { + // Get custom attributes for a given type + object[] theAtts = theTypes[i].GetCustomAttributes(false); + + // Loop through each attribute supported by the given type. + for(int j = 0;j< theAtts.Length;j++) + { + if(theAtts[j] is MiniIPTVPluginAttribute) + { + // Increment ctr for each type that supports + // the MiniIPTVPluginAttribute. + ctr++; + } + } + + } + + // If the MiniIPTVPluginAttribute is supported in any type + // in a given assembly then return true so the DLL + // is reported to be plugable. + if(ctr>0) + { + // At least one type supports the MiniIPTVPluginAttribute + ans = true; + } + else + { + // Zero types support the MiniIPTVPluginAttribute + ans = false; + } + + return ans; + } + + /// <summary> + /// Gets the custom attribute(s) of a plugin type. + /// </summary> + /// <param name="sTypeName">Name of the type i.e. "Namespace.Class"</param> + public void GetCustomAttributes(out string sTypeName) + { + sTypeName = ""; + + // Get all types in assembly. + Type[] theTypes = theSnapInAsm.GetTypes(); + // See if a type implements ... + for (int i = 0; i < theTypes.Length; i++) + { + object[] theAtts = theTypes[i].GetCustomAttributes(true); + for(int j = 0;j< theAtts.Length;j++) + { + if(theAtts[j] is MiniIPTVPluginAttribute) + { + MiniIPTVPluginAttribute pa = theAtts[j] as MiniIPTVPluginAttribute; + sTypeName = pa.TypeName; + } + } + } + } + #endregion + } +} Added: trunk/plugins/IPTVPlugin/SetupManager.cs =================================================================== --- trunk/plugins/IPTVPlugin/SetupManager.cs (rev 0) +++ trunk/plugins/IPTVPlugin/SetupManager.cs 2007-02-28 21:05:55 UTC (rev 147) @@ -0,0 +1,279 @@ +using System; +using System.Xml; +using System.Windows.Forms; +using System.Drawing; +using ReflectionManager; +using SnapperInterface; + +namespace myIPTV +{ + /// <summary> + /// Performs working tasks for this assembly. + /// </summary> + public class SetupManager + { + private string[] sDesc; + private string[] sDescP; + private string[] sState; + private XmlDocument xmld; + private string sTypeName; + + #region Default Constructor + + /// <summary> + /// Default Constructor + /// </summary> + public SetupManager() + { + } + + #endregion + + #region Internal Methods + + /// <summary> + /// Load the IPTVMiniPluginDLLs.xml to an XmlDocument + /// </summary> + internal void LoadXMLDoc() + { + this.xmld = new XmlDocument(); + try + { + this.xmld.Load("IPTVMiniPluginDLLs.xml"); + } + catch(Exception ex) + { + MessageBox.Show(ex.Message); + } + } + + /// <summary> + /// Get the require details from the IPTVMiniPluginDLLs.xml file. + /// </summary> + internal void GetParams() + { + XmlNodeList nodeList = null; + this.sDesc = new string[10]; + int i=0; + + nodeList = this.xmld.SelectNodes("/interface/type"); + + foreach(XmlNode n in nodeList) + { + XmlNode StatusAtt = n.SelectSingleNode("dll/@state"); + XmlNode NameAtt = n.SelectSingleNode("dll/@name"); + + if(StatusAtt.InnerXml.ToLower()=="on") + { + this.sDesc[i] = NameAtt.InnerXml; + i++; + } + } + } + + + internal void GetPluginDetails() + { + XmlNodeList nodeList = null; + this.sDescP = new string[10]; + this.sState = new string[10]; + int i=0; + + nodeList = this.xmld.SelectNodes("/interface/type"); + + foreach(XmlNode n in nodeList) + { + XmlNode StatusAtt = n.SelectSingleNode("dll/@state"); + XmlNode NameAtt = n.SelectSingleNode("dll/@name"); + + this.sDescP[i] = NameAtt.InnerXml; + this.sState[i] = StatusAtt.InnerXml; + i++; + } + } + + /// <summary> + /// Load details into the ListBox on the NewItems form. + /// </summary> + /// <param name="listBox">ListBox from the NewItems form</param> + internal void LoadNewItem(ListBox listBox) + { + foreach(string s in this.sDesc) + { + if(s!=null) + { + listBox.Items.Add(s.ToString()); + } + } + } + + internal void LoadPluginItems(CheckedListBox chklistBox) + { + for(int i=0;i<10;i++) + { + if(this.sDescP[i]!=null) + { + if(this.sState[i].ToLower()=="on") + { + chklistBox.Items.Add(this.sDescP[i],CheckState.Checked); + } + else if(this.sState[i].ToLower()=="off") + { + chklistBox.Items.Add(this.sDescP[i],CheckState.Unchecked); + } + else + { + chklistBox.Items.Add(this.sDescP[i],CheckState.Indeterminate); + } + } + } + } + + internal void SavePluginItems(CheckedListBox chklistBox) + { + int itemIndex = 0; + foreach(string item in chklistBox.Items) + { + this.sDesc = new string[10]; + string sNewState = null; + XmlNode nodeInner = null; + XmlNode nodeStatus = null; + + nodeInner = this.xmld.SelectSingleNode("/interface/type/dll[@name='" + item.ToString().Trim() + "']"); + nodeStatus = this.xmld.SelectSingleNode("/interface/type/dll[@name='" + item.ToString().Trim() + "']/@state"); + + if(chklistBox.GetItemCheckState(itemIndex).ToString().ToLower()=="checked") + { + sNewState = "On"; + } + else if (chklistBox.GetItemCheckState(itemIndex).ToString().ToLower()=="unchecked") + { + sNewState = "Off"; + } + + nodeStatus.Value = sNewState; + this.xmld.Save("IPTVMiniPluginDLLs.xml"); + itemIndex++; + } + } + + internal void InsertNewItem(string sFilePath,string sDesc,bool sState) + { + XmlNode root = null; + root = this.xmld.SelectSingleNode("/interface"); + + //Create new nodes + XmlElement eleType = this.xmld.CreateElement("type"); + XmlElement eleDLL = this.xmld.CreateElement("dll"); + eleDLL.InnerText = sFilePath; + + XmlAttribute attState = this.xmld.CreateAttribute("state"); + if(sState) + { attState.InnerText = "On";} + else if(!sState) + { attState.InnerText = "Off";} + eleDLL.SetAttributeNode(attState); + + XmlAttribute attName = this.xmld.CreateAttribute("name"); + attName.InnerText = sDesc; + eleDLL.SetAttributeNode(attName); + + root.AppendChild(eleType); + eleType.InsertBefore(eleDLL,eleType.FirstChild); + + this.xmld.Save("IPTVMiniPluginDLLs.xml"); + } + + internal void RemoveItem(string sSelected) + { + if(sSelected!="") + { + XmlNode node = null; + XmlNode childnode = null; + node = this.xmld.SelectSingleNode("/interface"); + childnode = node.SelectSingleNode("type[dll/@name='" + sSelected + "']"); + node.RemoveChild(childnode); + this.xmld.Save("IPTVMiniPluginDLLs.xml"); + } + } + + internal string[,] GetChannelArray() + { + XmlNodeList nodeList = this.xmld.SelectNodes("/interface/type"); + string[,] sAllChannelDetails; + sAllChannelDetails = new string[4000,6]; // [Rows,Columns] + int iLastArrayIndex = 0; // Default Start Index + + foreach(XmlNode n in nodeList) + { + XmlNode nodeState = n.SelectSingleNode("dll/@state"); + XmlNode nodeDLL = n.SelectSingleNode("dll"); + + //Load Assembs. + ReflectionControl dir = new ReflectionControl(); + bool ans = dir.LoadExternalModule(nodeDLL.InnerXml); + if(ans) + { + dir.GetCustomAttributes(out sTypeName); + object o = dir.GetInstanceOfType(sTypeName); + IMiniIPTVPlugin iplug = o as IMiniIPTVPlugin; + string[,] sChannelDetails = iplug.IPTVChannel(); + sChannelDetails.CopyTo(sAllChannelDetails, iLastArrayIndex); + iLastArrayIndex = sChannelDetails.Length; + } + else + { + MessageBox.Show("ERROR: DLL Failed to load for '" + nodeDLL.InnerXml + "'.\n\nCheck that the DLL specified in the \n'IPTVMiniPluginDLLs.xml' file is correct."); + } + } + return sAllChannelDetails; + } + + internal string GetAuthor(string sDLL) + { + string sAuthor = "unknown"; // Default Author + ReflectionControl dir = new ReflectionControl(); + bool ans = dir.LoadExternalModule(sDLL); + if(ans) + { + dir.GetCustomAttributes(out sTypeName); + object o = dir.GetInstanceOfType(sTypeName); + IMiniIPTVPlugin iplug = o as IMiniIPTVPlugin; + sAuthor = iplug.Author(); + } + else + { + MessageBox.Show("ERROR: DLL Failed to load for '" + sDLL + "'.\n\nCheck that the DLL specified in the \n'IPTVMiniPluginDLLs.xml' file is correct."); + } + return sAuthor; + } + + internal bool TestNewItem(string sFilePath,string sDesc,bool sState) + { + bool ans = false; + if(sFilePath!="" && sDesc!="") + { + //Load Assem. + ReflectionControl dir = new ReflectionControl(); + ans = dir.LoadExternalModule(sFilePath); + if(ans) + { + if(!dir.CheckValidType()) + { + ans = false; + MessageBox.Show("ERROR: This DLL is not a valid IPTV Mini Plugin"); + } + } + else + { + MessageBox.Show("ERROR: DLL Failed to load for '" + sDesc + "'.\n\nThis file may not be a valid DLL File."); + } + dir = null; + } + return ans; + } + + #endregion + + } +} Added: trunk/plugins/IPTVPlugin/SnapperInterface.cs =================================================================== --- trunk/plugins/IPTVPlugin/SnapperInterface.cs (rev 0) +++ trunk/plugins/IPTVPlugin/SnapperInterface.cs 2007-02-28 21:05:55 UTC (rev 147) @@ -0,0 +1,59 @@ +using System; +using System.Windows.Forms; + +namespace SnapperInterface +{ + #region IMiniIPTVPlugin Interface + /// <summary> + /// IMiniIPTVPlugin Interface - for plugging in IPTV providing data. + /// </summary> + public interface IMiniIPTVPlugin + { + /// <summary> + /// Should return a multi-dimensional array return in this order (string channelname, string channelDescription, string genre, string language, string country, string streamURL) + /// </summary> + /// <returns>A multi-dimensional array</returns> + string[,] IPTVChannel(); + string Author(); + } + + #endregion + + #region Plugin Attribute + + /// <summary> + /// MiniIPTVPluginAttribute will be used by classes which + /// support the IMiniIPTVPlugin interface...and thus which are + /// pluggable into the extendable application. + /// </summary> + [AttributeUsage(AttributeTargets.Class)] + public class MiniIPTVPluginAttribute : System.Attribute + { + private string typeName; + + /// <summary> + /// TypeName public property. + /// </summary> + public string TypeName + { + get { return typeName; } + set { typeName = value; } + } + + /// <summary> + /// Custom consturctor for PluginAttribute. + /// </summary> + /// <param name="typeName">TypeName is the full type name of the plugin i.e. formatted "Namespace.Class"</param> + public MiniIPTVPluginAttribute(string typeName) + { + this.typeName = typeName; + } + + /// <summary> + /// Default Constructor + /// </summary> + public MiniIPTVPluginAttribute() {} + } + + #endregion +} This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <ove...@us...> - 2007-02-28 21:03:18
|
Revision: 146 http://mp-plugins.svn.sourceforge.net/mp-plugins/?rev=146&view=rev Author: overture Date: 2007-02-28 13:00:46 -0800 (Wed, 28 Feb 2007) Log Message: ----------- Added Paths: ----------- trunk/plugins/AddNewPlugin.cs trunk/plugins/AssemblyInfo.cs trunk/plugins/IPTVPlugin.csproj trunk/plugins/IPTVPlugin.sln trunk/plugins/IPTVSetup.cs trunk/plugins/IPTVsetup.resx trunk/plugins/ReflectionManager.cs trunk/plugins/SetupManager.cs trunk/plugins/SnapperInterface.cs Added: trunk/plugins/AddNewPlugin.cs =================================================================== --- trunk/plugins/AddNewPlugin.cs (rev 0) +++ trunk/plugins/AddNewPlugin.cs 2007-02-28 21:00:46 UTC (rev 146) @@ -0,0 +1,234 @@ +using System; +using System.Drawing; +using System.Collections; +using System.ComponentModel; +using System.Windows.Forms; + + +namespace myIPTV +{ + /// <summary> + /// Summary description for PluginsAddNew. + /// </summary> + public class PluginsAddNew : System.Windows.Forms.Form + { + private System.Windows.Forms.OpenFileDialog openFileDialog1; + private CheckedListBox chklstBox; + private System.Windows.Forms.Button btnOK; + private System.Windows.Forms.Button btnCancel; + private System.Windows.Forms.GroupBox grpDetails; + private System.Windows.Forms.TextBox txtDesc; + private System.Windows.Forms.Label lblDescription; + private System.Windows.Forms.CheckBox chkBstate; + private System.Windows.Forms.GroupBox grpDLLFile; + private System.Windows.Forms.TextBox txtFilePath; + private System.Windows.Forms.Button btnBrowse; + private System.ComponentModel.Container components = null; + + #region Constructors + + public PluginsAddNew() + { + InitializeComponent(); + } + + public PluginsAddNew(CheckedListBox chkLstBox) + { + InitializeComponent(); + this.chklstBox = chkLstBox; + } + + #endregion + + #region Dispose + /// <summary> + /// Clean up any resources being used. + /// </summary> + protected override void Dispose( bool disposing ) + { + if( disposing ) + { + if(components != null) + { + components.Dispose(); + } + } + base.Dispose( disposing ); + } + + #endregion + + #region Windows Form Designer generated code + /// <summary> + /// Required method for Designer support - do not modify + /// the contents of this method with the code editor. + /// </summary> + private void InitializeComponent() + { + this.openFileDialog1 = new System.Windows.Forms.OpenFileDialog(); + this.btnOK = new System.Windows.Forms.Button(); + this.btnCancel = new System.Windows.Forms.Button(); + this.grpDetails = new System.Windows.Forms.GroupBox(); + this.txtDesc = new System.Windows.Forms.TextBox(); + this.lblDescription = new System.Windows.Forms.Label(); + this.chkBstate = new System.Windows.Forms.CheckBox(); + this.grpDLLFile = new System.Windows.Forms.GroupBox(); + this.txtFilePath = new System.Windows.Forms.TextBox(); + this.btnBrowse = new System.Windows.Forms.Button(); + this.grpDetails.SuspendLayout(); + this.grpDLLFile.SuspendLayout(); + this.SuspendLayout(); + // + // btnOK + // + this.btnOK.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Right))); + this.btnOK.FlatStyle = System.Windows.Forms.FlatStyle.System; + this.btnOK.Location = new System.Drawing.Point(336, 216); + this.btnOK.Name = "btnOK"; + this.btnOK.TabIndex = 3; + this.btnOK.Text = "OK"; + this.btnOK.Click += new System.EventHandler(this.btnOK_Click); + // + // btnCancel + // + this.btnCancel.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Right))); + this.btnCancel.FlatStyle = System.Windows.Forms.FlatStyle.System; + this.btnCancel.Location = new System.Drawing.Point(248, 216); + this.btnCancel.Name = "btnCancel"; + this.btnCancel.TabIndex = 2; + this.btnCancel.Text = "Cancel"; + this.btnCancel.Click += new System.EventHandler(this.btnCancel_Click); + // + // grpDetails + // + this.grpDetails.Anchor = ((System.Windows.Forms.AnchorStyles)((((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Bottom) + | System.Windows.Forms.AnchorStyles.Left) + | System.Windows.Forms.AnchorStyles.Right))); + this.grpDetails.Controls.Add(this.txtDesc); + this.grpDetails.Controls.Add(this.lblDescription); + this.grpDetails.Controls.Add(this.chkBstate); + this.grpDetails.FlatStyle = System.Windows.Forms.FlatStyle.System; + this.grpDetails.Location = new System.Drawing.Point(8, 80); + this.grpDetails.Name = "grpDetails"; + this.grpDetails.Size = new System.Drawing.Size(400, 128); + this.grpDetails.TabIndex = 1; + this.grpDetails.TabStop = false; + this.grpDetails.Text = "Details"; + + // + // txtDesc + // + this.txtDesc.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left) + | System.Windows.Forms.AnchorStyles.Right))); + this.txtDesc.Location = new System.Drawing.Point(104, 68); + this.txtDesc.Name = "txtDesc"; + this.txtDesc.Size = new System.Drawing.Size(280, 20); + this.txtDesc.TabIndex = 2; + this.txtDesc.Text = ""; + // + // lblDescription + // + this.lblDescription.FlatStyle = System.Windows.Forms.FlatStyle.System; + this.lblDescription.Location = new System.Drawing.Point(16, 64); + this.lblDescription.Name = "lblDescription"; + this.lblDescription.Size = new System.Drawing.Size(64, 23); + this.lblDescription.TabIndex = 1; + this.lblDescription.Text = "Description"; + this.lblDescription.TextAlign = System.Drawing.ContentAlignment.MiddleRight; + + // + // chkBstate + // + this.chkBstate.FlatStyle = System.Windows.Forms.FlatStyle.System; + this.chkBstate.Location = new System.Drawing.Point(16, 24); + this.chkBstate.Name = "chkBstate"; + this.chkBstate.TabIndex = 0; + this.chkBstate.Text = "State (On/Off)"; + + // + // grpDLLFile + // + this.grpDLLFile.Anchor = ((System.Windows.Forms.AnchorStyles)((((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Bottom) + | System.Windows.Forms.AnchorStyles.Left) + | System.Windows.Forms.AnchorStyles.Right))); + this.grpDLLFile.Controls.Add(this.txtFilePath); + this.grpDLLFile.Controls.Add(this.btnBrowse); + this.grpDLLFile.FlatStyle = System.Windows.Forms.FlatStyle.System; + this.grpDLLFile.Location = new System.Drawing.Point(8, 8); + this.grpDLLFile.Name = "grpDLLFile"; + this.grpDLLFile.Size = new System.Drawing.Size(400, 64); + this.grpDLLFile.TabIndex = 0; + this.grpDLLFile.TabStop = false; + this.grpDLLFile.Text = "File"; + + // + // txtFilePath + // + this.txtFilePath.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left) + | System.Windows.Forms.AnchorStyles.Right))); + this.txtFilePath.Location = new System.Drawing.Point(104, 24); + this.txtFilePath.Name = "txtFilePath"; + this.txtFilePath.Size = new System.Drawing.Size(280, 20); + this.txtFilePath.TabIndex = 1; + this.txtFilePath.Text = ""; + // + // btnBrowse + // + this.btnBrowse.FlatStyle = System.Windows.Forms.FlatStyle.System; + this.btnBrowse.Location = new System.Drawing.Point(16, 24); + this.btnBrowse.Name = "btnBrowse"; + this.btnBrowse.TabIndex = 0; + this.btnBrowse.Text = "Browse"; + this.btnBrowse.Click += new System.EventHandler(this.btnBrowse_Click); + // + // PluginsAddNew + // + this.AutoScaleBaseSize = new System.Drawing.Size(5, 13); + this.ClientSize = new System.Drawing.Size(416, 242); + this.Controls.Add(this.btnOK); + this.Controls.Add(this.btnCancel); + this.Controls.Add(this.grpDetails); + this.Controls.Add(this.grpDLLFile); + this.Name = "PluginsAddNew"; + this.StartPosition = System.Windows.Forms.FormStartPosition.CenterParent; + this.Text = "PluginsAddNew"; + this.grpDetails.ResumeLayout(false); + this.grpDLLFile.ResumeLayout(false); + this.ResumeLayout(false); + + } + #endregion + + #region Event + + private void btnBrowse_Click(object sender, System.EventArgs e) + { + openFileDialog1.Filter = "Plugin files (*.dll)|*.dll|All files (*.*)|*.*"; + if(DialogResult.OK==openFileDialog1.ShowDialog()) + { + txtFilePath.Text = openFileDialog1.FileName; + } + } + + private void btnOK_Click(object sender, System.EventArgs e) + { + SetupManager setupManager = new SetupManager(); + setupManager.LoadXMLDoc(); + + bool ans = setupManager.TestNewItem(this.txtFilePath.Text,this.txtDesc.Text,this.chkBstate.Checked); + if(ans) + { + setupManager.InsertNewItem(this.txtFilePath.Text,this.txtDesc.Text,this.chkBstate.Checked); + this.chklstBox.Items.Add(this.txtDesc.Text,this.chkBstate.Checked); + } + this.Close(); + } + + private void btnCancel_Click(object sender, System.EventArgs e) + { + this.Close(); + } + + #endregion + } +} Added: trunk/plugins/AssemblyInfo.cs =================================================================== --- trunk/plugins/AssemblyInfo.cs (rev 0) +++ trunk/plugins/AssemblyInfo.cs 2007-02-28 21:00:46 UTC (rev 146) @@ -0,0 +1,27 @@ +using System.Reflection; +using System.Runtime.CompilerServices; + +// Information about this assembly is defined by the following +// attributes. +// +// change them to the information which is associated with the assembly +// you compile. + +[assembly: AssemblyTitle("MediaPortal IPTV Plugin")] +[assembly: AssemblyDescription("IPTV Plugin Host Application for mini IPTV plugins")] +[assembly: AssemblyConfiguration("")] +[assembly: AssemblyCompany("")] +[assembly: AssemblyProduct("")] +[assembly: AssemblyCopyright("")] +[assembly: AssemblyTrademark("")] +[assembly: AssemblyCulture("")] + +// The assembly version has following format : +// +// Major.Minor.Build.Revision +// +// You can specify all values by your own or you can build default build and revision +// numbers with the '*' character (the default): + +[assembly: AssemblyVersion("1.0.*")] + Added: trunk/plugins/IPTVPlugin.csproj =================================================================== --- trunk/plugins/IPTVPlugin.csproj (rev 0) +++ trunk/plugins/IPTVPlugin.csproj 2007-02-28 21:00:46 UTC (rev 146) @@ -0,0 +1,49 @@ +<Project DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> + <PropertyGroup> + <OutputType>Library</OutputType> + <RootNamespace>IPTVPlugin</RootNamespace> + <AssemblyName>IPTVPlugin</AssemblyName> + <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration> + <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform> + <ProjectGuid>{14CD8D0D-30E2-44FB-8E49-078D1578668D}</ProjectGuid> + </PropertyGroup> + <PropertyGroup Condition=" '$(Configuration)' == 'Debug' "> + <OutputPath>bin\Debug\</OutputPath> + <Optimize>False</Optimize> + <DefineConstants>DEBUG;TRACE</DefineConstants> + <DebugSymbols>True</DebugSymbols> + <DebugType>Full</DebugType> + <CheckForOverflowUnderflow>True</CheckForOverflowUnderflow> + </PropertyGroup> + <PropertyGroup Condition=" '$(Configuration)' == 'Release' "> + <OutputPath>bin\Release\</OutputPath> + <Optimize>True</Optimize> + <DefineConstants>TRACE</DefineConstants> + <DebugSymbols>False</DebugSymbols> + <DebugType>None</DebugType> + <CheckForOverflowUnderflow>False</CheckForOverflowUnderflow> + </PropertyGroup> + <ItemGroup> + <Reference Include="System" /> + <Reference Include="System.Xml" /> + <Reference Include="System.Data, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" /> + <Reference Include="System.Drawing, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" /> + <Reference Include="Core"> + <HintPath>..\..\..\..\..\MediaPortal\mediaportal\Core\bin\Release\Core.dll</HintPath> + <SpecificVersion>False</SpecificVersion> + </Reference> + <Reference Include="System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" /> + </ItemGroup> + <ItemGroup> + <Compile Include="SnapperInterface.cs" /> + <Compile Include="AssemblyInfo.cs" /> + <Compile Include="ReflectionManager.cs" /> + <Compile Include="IPTVSetup.cs" /> + <EmbeddedResource Include="IPTVsetup.resx"> + <DependentUpon>IPTVSetup.cs</DependentUpon> + </EmbeddedResource> + <Compile Include="SetupManager.cs" /> + <Compile Include="AddNewPlugin.cs" /> + </ItemGroup> + <Import Project="$(MSBuildBinPath)\Microsoft.CSharp.Targets" /> +</Project> \ No newline at end of file Added: trunk/plugins/IPTVPlugin.sln =================================================================== --- trunk/plugins/IPTVPlugin.sln (rev 0) +++ trunk/plugins/IPTVPlugin.sln 2007-02-28 21:00:46 UTC (rev 146) @@ -0,0 +1,16 @@ +Microsoft Visual Studio Solution File, Format Version 9.00 +# SharpDevelop 2.0.0.922 +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "IPTVPlugin", "IPTVPlugin.csproj", "{14CD8D0D-30E2-44FB-8E49-078D1578668D}" +EndProject +Global + GlobalSection(SolutionConfigurationPlatforms) = preSolution + Debug|Any CPU = Debug|Any CPU + Release|Any CPU = Release|Any CPU + EndGlobalSection + GlobalSection(ProjectConfigurationPlatforms) = postSolution + {14CD8D0D-30E2-44FB-8E49-078D1578668D}.Debug|Any CPU.Build.0 = Debug|Any CPU + {14CD8D0D-30E2-44FB-8E49-078D1578668D}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {14CD8D0D-30E2-44FB-8E49-078D1578668D}.Release|Any CPU.Build.0 = Release|Any CPU + {14CD8D0D-30E2-44FB-8E49-078D1578668D}.Release|Any CPU.ActiveCfg = Release|Any CPU + EndGlobalSection +EndGlobal Added: trunk/plugins/IPTVSetup.cs =================================================================== --- trunk/plugins/IPTVSetup.cs (rev 0) +++ trunk/plugins/IPTVSetup.cs 2007-02-28 21:00:46 UTC (rev 146) @@ -0,0 +1,501 @@ +using System; +using System.Drawing; +using System.Windows.Forms; +using System.Xml; +using MediaPortal.GUI.Library; + +namespace myIPTV +{ + /// <summary> + /// Description of MyIPTVsetup. + /// </summary> + public class IPTVsetup : System.Windows.Forms.Form, ISetupForm + { + private System.ComponentModel.Container components = null; + + public IPTVsetup() + { + InitializeComponent(); + } + + /// <summary> + /// Clean up any resources being used. + /// </summary> + protected override void Dispose( bool disposing ) + { + if( disposing ) + { + if(components != null) + { + components.Dispose(); + } + } + base.Dispose( disposing ); + } + + #region Windows Forms Designer generated code + /// <summary> + /// This method is required for Windows Forms designer support. + /// Do not change the method contents inside the source code editor. The Forms designer might + /// not be able to load this method if it was changed manually. + /// </summary> + private void InitializeComponent() + { + this.grpBoxConnectInfo = new System.Windows.Forms.GroupBox(); + this.chkBoxUseDefaultProxy = new System.Windows.Forms.CheckBox(); + this.txtProxyPort = new System.Windows.Forms.TextBox(); + this.label7 = new System.Windows.Forms.Label(); + this.txtProxyIPAddress = new System.Windows.Forms.TextBox(); + this.label6 = new System.Windows.Forms.Label(); + this.txtProxyPass = new System.Windows.Forms.TextBox(); + this.label5 = new System.Windows.Forms.Label(); + this.chkBoxUseProxy = new System.Windows.Forms.CheckBox(); + this.txtProxyUser = new System.Windows.Forms.TextBox(); + this.label4 = new System.Windows.Forms.Label(); + this.btnCancel = new System.Windows.Forms.Button(); + this.btnOK = new System.Windows.Forms.Button(); + this.tabControl1 = new System.Windows.Forms.TabControl(); + this.tabPage1 = new System.Windows.Forms.TabPage(); + this.tabPage2 = new System.Windows.Forms.TabPage(); + this.btnAddNewPlug = new System.Windows.Forms.Button(); + this.btnRemove = new System.Windows.Forms.Button(); + this.checkedListBox1 = new System.Windows.Forms.CheckedListBox(); + this.label1 = new System.Windows.Forms.Label(); + this.lblAuthor = new System.Windows.Forms.Label(); + this.grpBoxConnectInfo.SuspendLayout(); + this.tabControl1.SuspendLayout(); + this.tabPage1.SuspendLayout(); + this.tabPage2.SuspendLayout(); + this.SuspendLayout(); + // + // grpBoxConnectInfo + // + this.grpBoxConnectInfo.Controls.Add(this.chkBoxUseDefaultProxy); + this.grpBoxConnectInfo.Controls.Add(this.txtProxyPort); + this.grpBoxConnectInfo.Controls.Add(this.label7); + this.grpBoxConnectInfo.Controls.Add(this.txtProxyIPAddress); + this.grpBoxConnectInfo.Controls.Add(this.label6); + this.grpBoxConnectInfo.Controls.Add(this.txtProxyPass); + this.grpBoxConnectInfo.Controls.Add(this.label5); + this.grpBoxConnectInfo.Controls.Add(this.chkBoxUseProxy); + this.grpBoxConnectInfo.Controls.Add(this.txtProxyUser); + this.grpBoxConnectInfo.Controls.Add(this.label4); + this.grpBoxConnectInfo.Location = new System.Drawing.Point(6, 35); + this.grpBoxConnectInfo.Name = "grpBoxConnectInfo"; + this.grpBoxConnectInfo.Size = new System.Drawing.Size(640, 246); + this.grpBoxConnectInfo.TabIndex = 1; + this.grpBoxConnectInfo.TabStop = false; + this.grpBoxConnectInfo.Text = "Internet Connection Information"; + this.grpBoxConnectInfo.UseCompatibleTextRendering = true; + // + // chkBoxUseDefaultProxy + // + this.chkBoxUseDefaultProxy.Enabled = false; + this.chkBoxUseDefaultProxy.Location = new System.Drawing.Point(67, 99); + this.chkBoxUseDefaultProxy.Name = "chkBoxUseDefaultProxy"; + this.chkBoxUseDefaultProxy.Size = new System.Drawing.Size(242, 24); + this.chkBoxUseDefaultProxy.TabIndex = 9; + this.chkBoxUseDefaultProxy.Text = "Use Default Proxy Authentication?"; + this.chkBoxUseDefaultProxy.UseCompatibleTextRendering = true; + this.chkBoxUseDefaultProxy.CheckedChanged += new System.EventHandler(this.ChkBoxUseDefaultProxyCheckedChanged); + // + // txtProxyPort + // + this.txtProxyPort.Enabled = false; + this.txtProxyPort.Location = new System.Drawing.Point(488, 155); + this.txtProxyPort.Name = "txtProxyPort"; + this.txtProxyPort.Size = new System.Drawing.Size(49, 20); + this.txtProxyPort.TabIndex = 8; + // + // label7 + // + this.label7.Location = new System.Drawing.Point(382, 155); + this.label7.Name = "label7"; + this.label7.Size = new System.Drawing.Size(100, 23); + this.label7.TabIndex = 7; + this.label7.Text = "Port"; + this.label7.TextAlign = System.Drawing.ContentAlignment.MiddleLeft; + this.label7.UseCompatibleTextRendering = true; + // + // txtProxyIPAddress + // + this.txtProxyIPAddress.Enabled = false; + this.txtProxyIPAddress.Location = new System.Drawing.Point(488, 129); + this.txtProxyIPAddress.Name = "txtProxyIPAddress"; + this.txtProxyIPAddress.Size = new System.Drawing.Size(100, 20); + this.txtProxyIPAddress.TabIndex = 6; + // + // label6 + // + this.label6.Location = new System.Drawing.Point(382, 129); + this.label6.Name = "label6"; + this.label6.Size = new System.Drawing.Size(100, 23); + this.label6.TabIndex = 5; + this.label6.Text = "IP Address"; + this.label6.TextAlign = System.Drawing.ContentAlignment.MiddleLeft; + this.label6.UseCompatibleTextRendering = true; + // + // txtProxyPass + // + this.txtProxyPass.Enabled = false; + this.txtProxyPass.Location = new System.Drawing.Point(173, 155); + this.txtProxyPass.Name = "txtProxyPass"; + this.txtProxyPass.Size = new System.Drawing.Size(100, 20); + this.txtProxyPass.TabIndex = 4; + // + // label5 + // + this.label5.Location = new System.Drawing.Point(67, 155); + this.label5.Name = "label5"; + this.label5.Size = new System.Drawing.Size(100, 23); + this.label5.TabIndex = 3; + this.label5.Text = "Password"; + this.label5.TextAlign = System.Drawing.ContentAlignment.MiddleLeft; + this.label5.UseCompatibleTextRendering = true; + // + // chkBoxUseProxy + // + this.chkBoxUseProxy.Location = new System.Drawing.Point(33, 28); + this.chkBoxUseProxy.Name = "chkBoxUseProxy"; + this.chkBoxUseProxy.Size = new System.Drawing.Size(136, 24); + this.chkBoxUseProxy.TabIndex = 2; + this.chkBoxUseProxy.Text = "Use a Proxy Server?"; + this.chkBoxUseProxy.UseCompatibleTextRendering = true; + this.chkBoxUseProxy.CheckedChanged += new System.EventHandler(this.ChkBoxUseProxyCheckedChanged); + // + // txtProxyUser + // + this.txtProxyUser.Enabled = false; + this.txtProxyUser.Location = new System.Drawing.Point(173, 129); + this.txtProxyUser.Name = "txtProxyUser"; + this.txtProxyUser.Size = new System.Drawing.Size(100, 20); + this.txtProxyUser.TabIndex = 1; + // + // label4 + // + this.label4.Location = new System.Drawing.Point(67, 129); + this.label4.Name = "label4"; + this.label4.Size = new System.Drawing.Size(100, 23); + this.label4.TabIndex = 0; + this.label4.Text = "Username"; + this.label4.TextAlign = System.Drawing.ContentAlignment.MiddleLeft; + this.label4.UseCompatibleTextRendering = true; + // + // btnCancel + // + this.btnCancel.Location = new System.Drawing.Point(597, 384); + this.btnCancel.Name = "btnCancel"; + this.btnCancel.Size = new System.Drawing.Size(75, 23); + this.btnCancel.TabIndex = 2; + this.btnCancel.Text = "Cancel"; + this.btnCancel.TextAlign = System.Drawing.ContentAlignment.TopCenter; + this.btnCancel.UseCompatibleTextRendering = true; + this.btnCancel.Click += new System.EventHandler(this.BtnCancelClick); + // + // btnOK + // + this.btnOK.Location = new System.Drawing.Point(516, 384); + this.btnOK.Name = "btnOK"; + this.btnOK.Size = new System.Drawing.Size(75, 23); + this.btnOK.TabIndex = 3; + this.btnOK.Text = "OK"; + this.btnOK.TextAlign = System.Drawing.ContentAlignment.TopCenter; + this.btnOK.UseCompatibleTextRendering = true; + this.btnOK.Click += new System.EventHandler(this.BtnOKClick); + // + // tabControl1 + // + this.tabControl1.Controls.Add(this.tabPage2); + this.tabControl1.Controls.Add(this.tabPage1); + this.tabControl1.Location = new System.Drawing.Point(12, 12); + this.tabControl1.Name = "tabControl1"; + this.tabControl1.SelectedIndex = 0; + this.tabControl1.Size = new System.Drawing.Size(660, 357); + this.tabControl1.TabIndex = 4; + // + // tabPage1 + // + this.tabPage1.Controls.Add(this.grpBoxConnectInfo); + this.tabPage1.Location = new System.Drawing.Point(4, 23); + this.tabPage1.Name = "tabPage1"; + this.tabPage1.Padding = new System.Windows.Forms.Padding(3); + this.tabPage1.Size = new System.Drawing.Size(652, 330); + this.tabPage1.TabIndex = 0; + this.tabPage1.Text = "Proxy Settings"; + this.tabPage1.UseVisualStyleBackColor = true; + // + // tabPage2 + // + this.tabPage2.Controls.Add(this.lblAuthor); + this.tabPage2.Controls.Add(this.label1); + this.tabPage2.Controls.Add(this.btnAddNewPlug); + this.tabPage2.Controls.Add(this.btnRemove); + this.tabPage2.Controls.Add(this.checkedListBox1); + this.tabPage2.Location = new System.Drawing.Point(4, 23); + this.tabPage2.Name = "tabPage2"; + this.tabPage2.Padding = new System.Windows.Forms.Padding(3); + this.tabPage2.Size = new System.Drawing.Size(652, 330); + this.tabPage2.TabIndex = 1; + this.tabPage2.Text = "IPTV Mini Plugins"; + this.tabPage2.UseVisualStyleBackColor = true; + // + // btnAddNewPlug + // + this.btnAddNewPlug.Location = new System.Drawing.Point(526, 301); + this.btnAddNewPlug.Name = "btnAddNewPlug"; + this.btnAddNewPlug.Size = new System.Drawing.Size(107, 23); + this.btnAddNewPlug.TabIndex = 2; + this.btnAddNewPlug.Text = "Add New Plugin"; + this.btnAddNewPlug.UseCompatibleTextRendering = true; + this.btnAddNewPlug.UseVisualStyleBackColor = true; + this.btnAddNewPlug.Click += new System.EventHandler(this.BtnAddNewPlugClick); + // + // btnRemove + // + this.btnRemove.Location = new System.Drawing.Point(18, 301); + this.btnRemove.Name = "btnRemove"; + this.btnRemove.Size = new System.Drawing.Size(110, 23); + this.btnRemove.TabIndex = 1; + this.btnRemove.Text = "Remove Selected"; + this.btnRemove.UseCompatibleTextRendering = true; + this.btnRemove.UseVisualStyleBackColor = true; + this.btnRemove.Click += new System.EventHandler(this.BtnRemoveClick); + // + // checkedListBox1 + // + this.checkedListBox1.FormattingEnabled = true; + this.checkedListBox1.Location = new System.Drawing.Point(18, 36); + this.checkedListBox1.Name = "checkedListBox1"; + this.checkedListBox1.Size = new System.Drawing.Size(615, 259); + this.checkedListBox1.TabIndex = 0; + this.checkedListBox1.UseCompatibleTextRendering = true; + this.checkedListBox1.SelectedIndexChanged += new System.EventHandler(this.CheckedListBox1SelectedIndexChanged); + // + // label1 + // + this.label1.ImageAlign = System.Drawing.ContentAlignment.MiddleRight; + this.label1.Location = new System.Drawing.Point(18, 7); + this.label1.Name = "label1"; + this.label1.Size = new System.Drawing.Size(100, 23); + this.label1.TabIndex = 3; + this.label1.Text = "Author:"; + this.label1.TextAlign = System.Drawing.ContentAlignment.MiddleCenter; + this.label1.UseCompatibleTextRendering = true; + // + // lblAuthor + // + this.lblAuthor.Font = new System.Drawing.Font("Arial", 8.25F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(0))); + this.lblAuthor.Location = new System.Drawing.Point(99, 7); + this.lblAuthor.Name = "lblAuthor"; + this.lblAuthor.Size = new System.Drawing.Size(100, 23); + this.lblAuthor.TabIndex = 4; + this.lblAuthor.TextAlign = System.Drawing.ContentAlignment.MiddleLeft; + this.lblAuthor.UseCompatibleTextRendering = true; + // + // IPTVsetup + // + this.ClientSize = new System.Drawing.Size(686, 410); + this.Controls.Add(this.tabControl1); + this.Controls.Add(this.btnOK); + this.Controls.Add(this.btnCancel); + this.FormBorderStyle = System.Windows.Forms.FormBorderStyle.FixedDialog; + this.Name = "IPTVsetup"; + this.Text = "My IPTV Setup"; + this.Load += new System.EventHandler(this.MyIPTVsetupLoad); + this.grpBoxConnectInfo.ResumeLayout(false); + this.grpBoxConnectInfo.PerformLayout(); + this.tabControl1.ResumeLayout(false); + this.tabPage1.ResumeLayout(false); + this.tabPage2.ResumeLayout(false); + this.ResumeLayout(false); + } + private System.Windows.Forms.Label label1; + private System.Windows.Forms.Label lblAuthor; + private System.Windows.Forms.Button btnRemove; + private System.Windows.Forms.Button btnAddNewPlug; + private System.Windows.Forms.CheckedListBox checkedListBox1; + private System.Windows.Forms.TabPage tabPage2; + private System.Windows.Forms.TabPage tabPage1; + private System.Windows.Forms.TabControl tabControl1; + private System.Windows.Forms.Button btnOK; + private System.Windows.Forms.Button btnCancel; + private System.Windows.Forms.Label label4; + private System.Windows.Forms.TextBox txtProxyUser; + private System.Windows.Forms.CheckBox chkBoxUseProxy; + private System.Windows.Forms.Label label5; + private System.Windows.Forms.TextBox txtProxyPass; + private System.Windows.Forms.Label label6; + private System.Windows.Forms.TextBox txtProxyIPAddress; + private System.Windows.Forms.Label label7; + private System.Windows.Forms.TextBox txtProxyPort; + private System.Windows.Forms.CheckBox chkBoxUseDefaultProxy; + private System.Windows.Forms.GroupBox grpBoxConnectInfo; + #endregion + + void ChkBoxUseProxyCheckedChanged(object sender, System.EventArgs e) + { + if(chkBoxUseProxy.Checked==true) + { + chkBoxUseDefaultProxy.Checked = true; + chkBoxUseDefaultProxy.Enabled = true; + txtProxyIPAddress.Enabled = true; + txtProxyPort.Enabled = true; + } + else + { + chkBoxUseDefaultProxy.Checked = false; + chkBoxUseDefaultProxy.Enabled = false; + txtProxyIPAddress.Enabled = false; + txtProxyPort.Enabled = false; + txtProxyUser.Enabled = false; + txtProxyPass.Enabled = false; + } + + } + + void ChkBoxUseDefaultProxyCheckedChanged(object sender, System.EventArgs e) + { + if(chkBoxUseDefaultProxy.Checked==false) + { + txtProxyUser.Enabled = true; + txtProxyPass.Enabled = true; + } + else + { + txtProxyUser.Enabled = false; + txtProxyPass.Enabled = false; + } + } + + void MyIPTVsetupLoad(object sender, System.EventArgs e) + { + SetupManager setupManager = new SetupManager(); + setupManager.LoadXMLDoc(); + setupManager.GetPluginDetails(); + setupManager.LoadPluginItems(this.checkedListBox1); + + XmlDocument xmld = new XmlDocument(); + xmld.Load("iptvsettings.xml"); + + // Load Proxy Details from XML file + chkBoxUseProxy.Checked = Convert.ToBoolean(xmld.SelectSingleNode("/settings/proxydetails/useproxy").InnerText); + chkBoxUseDefaultProxy.Checked = Convert.ToBoolean(xmld.SelectSingleNode("/settings/proxydetails/usedefaultproxy").InnerText); + txtProxyUser.Text = xmld.SelectSingleNode("/settings/proxydetails/proxyuser").InnerText; + txtProxyPass.Text = xmld.SelectSingleNode("/settings/proxydetails/proxypassword").InnerText; + txtProxyIPAddress.Text = xmld.SelectSingleNode("/settings/proxydetails/proxyipaddress").InnerText; + txtProxyPort.Text = xmld.SelectSingleNode("/settings/proxydetails/proxyport").InnerText; + } + + void BtnOKClick(object sender, System.EventArgs e) + { + XmlNode nchkBoxUseProxyNode; + XmlNode nchkBoxUseDefaultProxyNode; + XmlNode ntxtProxyUserNode; + XmlNode ntxtProxyPassNode; + XmlNode ntxtProxyIPAddressNode; + XmlNode ntxtProxyPortNode; + + XmlDocument xmld = new XmlDocument(); + xmld.Load("iptvsettings.xml"); + + nchkBoxUseProxyNode = xmld.SelectSingleNode("/settings/proxydetails/useproxy"); + nchkBoxUseDefaultProxyNode = xmld.SelectSingleNode("/settings/proxydetails/usedefaultproxy"); + ntxtProxyUserNode = xmld.SelectSingleNode("/settings/proxydetails/proxyuser"); + ntxtProxyPassNode = xmld.SelectSingleNode("/settings/proxydetails/proxypassword"); + ntxtProxyIPAddressNode = xmld.SelectSingleNode("/settings/proxydetails/proxyipaddress"); + ntxtProxyPortNode = xmld.SelectSingleNode("/settings/proxydetails/proxyport"); + + nchkBoxUseProxyNode.InnerText = chkBoxUseProxy.Checked.ToString(); + nchkBoxUseDefaultProxyNode.InnerText = chkBoxUseDefaultProxy.Checked.ToString(); + ntxtProxyUserNode.InnerText = txtProxyUser.Text; + ntxtProxyPassNode.InnerText = txtProxyPass.Text; + ntxtProxyIPAddressNode.InnerText = txtProxyIPAddress.Text; + ntxtProxyPortNode.InnerText = txtProxyPort.Text; + + xmld.Save("iptvsettings.xml"); + this.Close(); + } + + void BtnCancelClick(object sender, System.EventArgs e) + { + this.Close(); + } + + #region ISetupForm Members + + public bool CanEnable() + { + return true; + } + + public string Description() + { + return "Plugin for viewing Internet TV"; + } + + public bool DefaultEnabled() + { + return true; + } + + public int GetWindowId() + { + return 5699; + } + + public bool GetHome(out string strButtonText, out string strButtonImage, out string strButtonImageFocus, out string strPictureImage) + { + strButtonText=PluginName(); + strButtonImage=String.Empty; + strButtonImageFocus=String.Empty; + strPictureImage=String.Empty; + return true; + } + + public string Author() + { + return "overture/juan pablo"; + } + + public string PluginName() + { + return "My IPTV"; + } + + public bool HasSetup() + { + return true; + } + + public void ShowPlugin() + { + IPTVsetup iptvSetup = new IPTVsetup(); + iptvSetup.ShowDialog(); + iptvSetup.Dispose(); + } + + #endregion + + + void BtnRemoveClick(object sender, System.EventArgs e) + { + SetupManager setupManager = new SetupManager(); + setupManager.LoadXMLDoc(); + setupManager.RemoveItem(checkedListBox1.Text); + checkedListBox1.Items.Clear(); + setupManager.GetPluginDetails(); + setupManager.LoadPluginItems(checkedListBox1); + } + + void BtnAddNewPlugClick(object sender, System.EventArgs e) + { + PluginsAddNew newplug = new PluginsAddNew(checkedListBox1); + newplug.ShowDialog(); + newplug.Dispose(); + } + + void CheckedListBox1SelectedIndexChanged(object sender, System.EventArgs e) + { + } + } +} Added: trunk/plugins/IPTVsetup.resx =================================================================== --- trunk/plugins/IPTVsetup.resx (rev 0) +++ trunk/plugins/IPTVsetup.resx 2007-02-28 21:00:46 UTC (rev 146) @@ -0,0 +1,120 @@ +<?xml version="1.0" encoding="utf-8"?> +<root> + <!-- + Microsoft ResX Schema + + Version 2.0 + + The primary goals of this format is to allow a simple XML format + that is mostly human readable. The generation and parsing of the + various data types are done through the TypeConverter classes + associated with the data types. + + Example: + + ... ado.net/XML headers & schema ... + <resheader name="resmimetype">text/microsoft-resx</resheader> + <resheader name="version">2.0</resheader> + <resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader> + <resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader> + <data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data> + <data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data> + <data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64"> + <value>[base64 mime encoded serialized .NET Framework object]</value> + </data> + <data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64"> + <value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value> + <comment>This is a comment</comment> + </data> + + There are any number of "resheader" rows that contain simple + name/value pairs. + + Each data row contains a name, and value. The row also contains a + type or mimetype. Type corresponds to a .NET class that support + text/value conversion through the TypeConverter architecture. + Classes that don't support this are serialized and stored with the + mimetype set. + + The mimetype is used for serialized objects, and tells the + ResXResourceReader how to depersist the object. This is currently not + extensible. For a given mimetype the value must be set accordingly: + + Note - application/x-microsoft.net.object.binary.base64 is the format + that the ResXResourceWriter will generate, however the reader can + read any of the formats listed below. + + mimetype: application/x-microsoft.net.object.binary.base64 + value : The object must be serialized with + : System.Runtime.Serialization.Formatters.Binary.BinaryFormatter + : and then encoded with base64 encoding. + + mimetype: application/x-microsoft.net.object.soap.base64 + value : The object must be serialized with + : System.Runtime.Serialization.Formatters.Soap.SoapFormatter + : and then encoded with base64 encoding. + + mimetype: application/x-microsoft.net.object.bytearray.base64 + value : The object must be serialized into a byte array + : using a System.ComponentModel.TypeConverter + : and then encoded with base64 encoding. + --> + <xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata"> + <xsd:import namespace="http://www.w3.org/XML/1998/namespace" /> + <xsd:element name="root" msdata:IsDataSet="true"> + <xsd:complexType> + <xsd:choice maxOccurs="unbounded"> + <xsd:element name="metadata"> + <xsd:complexType> + <xsd:sequence> + <xsd:element name="value" type="xsd:string" minOccurs="0" /> + </xsd:sequence> + <xsd:attribute name="name" use="required" type="xsd:string" /> + <xsd:attribute name="type" type="xsd:string" /> + <xsd:attribute name="mimetype" type="xsd:string" /> + <xsd:attribute ref="xml:space" /> + </xsd:complexType> + </xsd:element> + <xsd:element name="assembly"> + <xsd:complexType> + <xsd:attribute name="alias" type="xsd:string" /> + <xsd:attribute name="name" type="xsd:string" /> + </xsd:complexType> + </xsd:element> + <xsd:element name="data"> + <xsd:complexType> + <xsd:sequence> + <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" /> + <xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" /> + </xsd:sequence> + <xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" /> + <xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" /> + <xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" /> + <xsd:attribute ref="xml:space" /> + </xsd:complexType> + </xsd:element> + <xsd:element name="resheader"> + <xsd:complexType> + <xsd:sequence> + <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" /> + </xsd:sequence> + <xsd:attribute name="name" type="xsd:string" use="required" /> + </xsd:complexType> + </xsd:element> + </xsd:choice> + </xsd:complexType> + </xsd:element> + </xsd:schema> + <resheader name="resmimetype"> + <value>text/microsoft-resx</value> + </resheader> + <resheader name="version"> + <value>2.0</value> + </resheader> + <resheader name="reader"> + <value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value> + </resheader> + <resheader name="writer"> + <value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value> + </resheader> +</root> \ No newline at end of file Added: trunk/plugins/ReflectionManager.cs =================================================================== --- trunk/plugins/ReflectionManager.cs (rev 0) +++ trunk/plugins/ReflectionManager.cs 2007-02-28 21:00:46 UTC (rev 146) @@ -0,0 +1,161 @@ +using System; +using System.Reflection; +using SnapperInterface; + +namespace ReflectionManager +{ + /// <summary> + /// Controls runtime instances of the mini plugins. + /// </summary> + public class ReflectionControl + { + private object oInstance; + private Assembly theSnapInAsm = null; + + #region Default Constructor + + /// <summary> + /// Default Constructor + /// </summary> + public ReflectionControl() + { + } + + #endregion + + #region Properties + + /// <summary> + /// Property of a given type instance. + /// </summary> + public object ObjInstance + { + get { return this.oInstance; } + } + + #endregion + + #region Public Methods + + /// <summary> + /// Used to load an external assembley. + /// </summary> + /// <param name="path">Path to the assembly.</param> + /// <returns>bool</returns> + public bool LoadExternalModule(string path) + { + try + { + // Dynamically load the selected assembly. + this.theSnapInAsm = Assembly.LoadFrom(path); + } + catch + { + // If any error at all takes place, just return false. + return false; + } + + return true; + } + + /// <summary> + /// Creates an instance of a specified type. + /// </summary> + /// <param name="sFullName">Name of the type i.e. "Namespace.Class"</param> + /// <returns>Instance of the type object.</returns> + public object GetInstanceOfType(string sFullName) + { + // Get all types in assembly. + Type[] theTypes = theSnapInAsm.GetTypes(); + // See if a type implements ... + for (int i = 0; i < theTypes.Length; i++) + { + object[] theAtts = theTypes[i].GetCustomAttributes(false); + for(int j = 0;j< theAtts.Length;j++) + { + if(theAtts[j] is MiniIPTVPluginAttribute) + { + MiniIPTVPluginAttribute pa = theAtts[j] as MiniIPTVPluginAttribute; + // Use late binding to create the type. + this.oInstance = theSnapInAsm.CreateInstance(sFullName); + } + } + } + return this.oInstance; + } + + + /// <summary> + /// Checks if the DLL contains a compatiple type + /// </summary> + /// <returns>bool true or false</returns> + public bool CheckValidType() + { + bool ans = false; + int ctr = 0; + // Get all types in assembly. + Type[] theTypes = theSnapInAsm.GetTypes(); + + // Loop through each type in the assembly + for (int i = 0; i < theTypes.Length; i++) + { + // Get custom attributes for a given type + object[] theAtts = theTypes[i].GetCustomAttributes(false); + + // Loop through each attribute supported by the given type. + for(int j = 0;j< theAtts.Length;j++) + { + if(theAtts[j] is MiniIPTVPluginAttribute) + { + // Increment ctr for each type that supports + // the MiniIPTVPluginAttribute. + ctr++; + } + } + + } + + // If the MiniIPTVPluginAttribute is supported in any type + // in a given assembly then return true so the DLL + // is reported to be plugable. + if(ctr>0) + { + // At least one type supports the MiniIPTVPluginAttribute + ans = true; + } + else + { + // Zero types support the MiniIPTVPluginAttribute + ans = false; + } + + return ans; + } + + /// <summary> + /// Gets the custom attribute(s) of a plugin type. + /// </summary> + /// <param name="sTypeName">Name of the type i.e. "Namespace.Class"</param> + public void GetCustomAttributes(out string sTypeName) + { + sTypeName = ""; + + // Get all types in assembly. + Type[] theTypes = theSnapInAsm.GetTypes(); + // See if a type implements ... + for (int i = 0; i < theTypes.Length; i++) + { + object[] theAtts = theTypes[i].GetCustomAttributes(true); + for(int j = 0;j< theAtts.Length;j++) + { + if(theAtts[j] is MiniIPTVPluginAttribute) + { + MiniIPTVPluginAttribute pa = theAtts[j] as MiniIPTVPluginAttribute; + sTypeName = pa.TypeName; + } + } + } + } + #endregion + } +} Added: trunk/plugins/SetupManager.cs =================================================================== --- trunk/plugins/SetupManager.cs (rev 0) +++ trunk/plugins/SetupManager.cs 2007-02-28 21:00:46 UTC (rev 146) @@ -0,0 +1,279 @@ +using System; +using System.Xml; +using System.Windows.Forms; +using System.Drawing; +using ReflectionManager; +using SnapperInterface; + +namespace myIPTV +{ + /// <summary> + /// Performs working tasks for this assembly. + /// </summary> + public class SetupManager + { + private string[] sDesc; + private string[] sDescP; + private string[] sState; + private XmlDocument xmld; + private string sTypeName; + + #region Default Constructor + + /// <summary> + /// Default Constructor + /// </summary> + public SetupManager() + { + } + + #endregion + + #region Internal Methods + + /// <summary> + /// Load the IPTVMiniPluginDLLs.xml to an XmlDocument + /// </summary> + internal void LoadXMLDoc() + { + this.xmld = new XmlDocument(); + try + { + this.xmld.Load("IPTVMiniPluginDLLs.xml"); + } + catch(Exception ex) + { + MessageBox.Show(ex.Message); + } + } + + /// <summary> + /// Get the require details from the IPTVMiniPluginDLLs.xml file. + /// </summary> + internal void GetParams() + { + XmlNodeList nodeList = null; + this.sDesc = new string[10]; + int i=0; + + nodeList = this.xmld.SelectNodes("/interface/type"); + + foreach(XmlNode n in nodeList) + { + XmlNode StatusAtt = n.SelectSingleNode("dll/@state"); + XmlNode NameAtt = n.SelectSingleNode("dll/@name"); + + if(StatusAtt.InnerXml.ToLower()=="on") + { + this.sDesc[i] = NameAtt.InnerXml; + i++; + } + } + } + + + internal void GetPluginDetails() + { + XmlNodeList nodeList = null; + this.sDescP = new string[10]; + this.sState = new string[10]; + int i=0; + + nodeList = this.xmld.SelectNodes("/interface/type"); + + foreach(XmlNode n in nodeList) + { + XmlNode StatusAtt = n.SelectSingleNode("dll/@state"); + XmlNode NameAtt = n.SelectSingleNode("dll/@name"); + + this.sDescP[i] = NameAtt.InnerXml; + this.sState[i] = StatusAtt.InnerXml; + i++; + } + } + + /// <summary> + /// Load details into the ListBox on the NewItems form. + /// </summary> + /// <param name="listBox">ListBox from the NewItems form</param> + internal void LoadNewItem(ListBox listBox) + { + foreach(string s in this.sDesc) + { + if(s!=null) + { + listBox.Items.Add(s.ToString()); + } + } + } + + internal void LoadPluginItems(CheckedListBox chklistBox) + { + for(int i=0;i<10;i++) + { + if(this.sDescP[i]!=null) + { + if(this.sState[i].ToLower()=="on") + { + chklistBox.Items.Add(this.sDescP[i],CheckState.Checked); + } + else if(this.sState[i].ToLower()=="off") + { + chklistBox.Items.Add(this.sDescP[i],CheckState.Unchecked); + } + else + { + chklistBox.Items.Add(this.sDescP[i],CheckState.Indeterminate); + } + } + } + } + + internal void SavePluginItems(CheckedListBox chklistBox) + { + int itemIndex = 0; + foreach(string item in chklistBox.Items) + { + this.sDesc = new string[10]; + string sNewState = null; + XmlNode nodeInner = null; + XmlNode nodeStatus = null; + + nodeInner = this.xmld.SelectSingleNode("/interface/type/dll[@name='" + item.ToString().Trim() + "']"); + nodeStatus = this.xmld.SelectSingleNode("/interface/type/dll[@name='" + item.ToString().Trim() + "']/@state"); + + if(chklistBox.GetItemCheckState(itemIndex).ToString().ToLower()=="checked") + { + sNewState = "On"; + } + else if (chklistBox.GetItemCheckState(itemIndex).ToString().ToLower()=="unchecked") + { + sNewState = "Off"; + } + + nodeStatus.Value = sNewState; + this.xmld.Save("IPTVMiniPluginDLLs.xml"); + itemIndex++; + } + } + + internal void InsertNewItem(string sFilePath,string sDesc,bool sState) + { + XmlNode root = null; + root = this.xmld.SelectSingleNode("/interface"); + + //Create new nodes + XmlElement eleType = this.xmld.CreateElement("type"); + XmlElement eleDLL = this.xmld.CreateElement("dll"); + eleDLL.InnerText = sFilePath; + + XmlAttribute attState = this.xmld.CreateAttribute("state"); + if(sState) + { attState.InnerText = "On";} + else if(!sState) + { attState.InnerText = "Off";} + eleDLL.SetAttributeNode(attState); + + XmlAttribute attName = this.xmld.CreateAttribute("name"); + attName.InnerText = sDesc; + eleDLL.SetAttributeNode(attName); + + root.AppendChild(eleType); + eleType.InsertBefore(eleDLL,eleType.FirstChild); + + this.xmld.Save("IPTVMiniPluginDLLs.xml"); + } + + internal void RemoveItem(string sSelected) + { + if(sSelected!="") + { + XmlNode node = null; + XmlNode childnode = null; + node = this.xmld.SelectSingleNode("/interface"); + childnode = node.SelectSingleNode("type[dll/@name='" + sSelected + "']"); + node.RemoveChild(childnode); + this.xmld.Save("IPTVMiniPluginDLLs.xml"); + } + } + + internal string[,] GetChannelArray() + { + XmlNodeList nodeList = this.xmld.SelectNodes("/interface/type"); + string[,] sAllChannelDetails; + sAllChannelDetails = new string[4000,6]; // [Rows,Columns] + int iLastArrayIndex = 0; // Default Start Index + + foreach(XmlNode n in nodeList) + { + XmlNode nodeState = n.SelectSingleNode("dll/@state"); + XmlNode nodeDLL = n.SelectSingleNode("dll"); + + //Load Assembs. + ReflectionControl dir = new ReflectionControl(); + bool ans = dir.LoadExternalModule(nodeDLL.InnerXml); + if(ans) + { + dir.GetCustomAttributes(out sTypeName); + object o = dir.GetInstanceOfType(sTypeName); + IMiniIPTVPlugin iplug = o as IMiniIPTVPlugin; + string[,] sChannelDetails = iplug.IPTVChannel(); + sChannelDetails.CopyTo(sAllChannelDetails, iLastArrayIndex); + iLastArrayIndex = sChannelDetails.Length; + } + else + { + MessageBox.Show("ERROR: DLL Failed to load for '" + nodeDLL.InnerXml + "'.\n\nCheck that the DLL specified in the \n'IPTVMiniPluginDLLs.xml' file is correct."); + } + } + return sAllChannelDetails; + } + + internal string GetAuthor(string sDLL) + { + string sAuthor = "unknown"; // Default Author + ReflectionControl dir = new ReflectionControl(); + bool ans = dir.LoadExternalModule(sDLL); + if(ans) + { + dir.GetCustomAttributes(out sTypeName); + object o = dir.GetInstanceOfType(sTypeName); + IMiniIPTVPlugin iplug = o as IMiniIPTVPlugin; + sAuthor = iplug.Author(); + } + else + { + MessageBox.Show("ERROR: DLL Failed to load for '" + sDLL + "'.\n\nCheck that the DLL specified in the \n'IPTVMiniPluginDLLs.xml' file is correct."); + } + return sAuthor; + } + + internal bool TestNewItem(string sFilePath,string sDesc,bool sState) + { + bool ans = false; + if(sFilePath!="" && sDesc!="") + { + //Load Assem. + ReflectionControl dir = new ReflectionControl(); + ans = dir.LoadExternalModule(sFilePath); + if(ans) + { + if(!dir.CheckValidType()) + { + ans = false; + MessageBox.Show("ERROR: This DLL is not a valid IPTV Mini Plugin"); + } + } + else + { + MessageBox.Show("ERROR: DLL Failed to load for '" + sDesc + "'.\n\nThis file may not be a valid DLL File."); + } + dir = null; + } + return ans; + } + + #endregion + + } +} Added: trunk/plugins/SnapperInterface.cs =================================================================== --- trunk/plugins/SnapperInterface.cs (rev 0) +++ trunk/plugins/SnapperInterface.cs 2007-02-28 21:00:46 UTC (rev 146) @@ -0,0 +1,59 @@ +using System; +using System.Windows.Forms; + +namespace SnapperInterface +{ + #region IMiniIPTVPlugin Interface + /// <summary> + /// IMiniIPTVPlugin Interface - for plugging in IPTV providing data. + /// </summary> + public interface IMiniIPTVPlugin + { + /// <summary> + /// Should return a multi-dimensional array return in this order (string channelname, string channelDescription, string genre, string language, string country, string streamURL) + /// </summary> + /// <returns>A multi-dimensional array</returns> + string[,] IPTVChannel(); + string Author(); + } + + #endregion + + #region Plugin Attribute + + /// <summary> + /// MiniIPTVPluginAttribute will be used by classes which + /// support the IMiniIPTVPlugin interface...and thus which are + /// pluggable into the extendable application. + /// </summary> + [AttributeUsage(AttributeTargets.Class)] + public class MiniIPTVPluginAttribute : System.Attribute + { + private string typeName; + + /// <summary> + /// TypeName public property. + /// </summary> + public string TypeName + { + get { return typeName; } + set { typeName = value; } + } + + /// <summary> + /// Custom consturctor for PluginAttribute. + /// </summary> + /// <param name="typeName">TypeName is the full type name of the plugin i.e. formatted "Namespace.Class"</param> + public MiniIPTVPluginAttribute(string typeName) + { + this.typeName = typeName; + } + + /// <summary> + /// Default Constructor + /// </summary> + public MiniIPTVPluginAttribute() {} + } + + #endregion +} This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <du...@us...> - 2007-02-28 20:40:36
|
Revision: 145 http://mp-plugins.svn.sourceforge.net/mp-plugins/?rev=145&view=rev Author: dukus Date: 2007-02-28 12:36:51 -0800 (Wed, 28 Feb 2007) Log Message: ----------- Reinstall, New type : Others Minor bug Modified Paths: -------------- trunk/plugins/mpinstaler/MPInstaler/Form1.Designer.cs trunk/plugins/mpinstaler/MPInstaler/Form1.cs trunk/plugins/mpinstaler/MPInstaler/MPinstalerStruct.cs trunk/plugins/mpinstaler/MPInstaler/MPpackageStruct.cs trunk/plugins/mpinstaler/MPInstaler/start_form.cs trunk/plugins/mpinstaler/MPInstaler/wizard/controlp.Designer.cs trunk/plugins/mpinstaler/MPInstaler/wizard/controlp.cs trunk/plugins/mpinstaler/MPInstaler/wizard/wizard_1.cs trunk/plugins/mpinstaler/MPInstaler.suo Modified: trunk/plugins/mpinstaler/MPInstaler/Form1.Designer.cs =================================================================== --- trunk/plugins/mpinstaler/MPInstaler/Form1.Designer.cs 2007-02-28 14:22:45 UTC (rev 144) +++ trunk/plugins/mpinstaler/MPInstaler/Form1.Designer.cs 2007-02-28 20:36:51 UTC (rev 145) @@ -68,6 +68,8 @@ this.openFileDialog1 = new System.Windows.Forms.OpenFileDialog(); this.saveFileDialog1 = new System.Windows.Forms.SaveFileDialog(); this.tabPage_Skin = new System.Windows.Forms.TabPage(); + this.label6 = new System.Windows.Forms.Label(); + this.skint_comboBox1 = new System.Windows.Forms.ComboBox(); this.tabPage_Plugin = new System.Windows.Forms.TabPage(); this.tabControl1 = new System.Windows.Forms.TabControl(); this.tabPage_Text = new System.Windows.Forms.TabPage(); @@ -83,14 +85,20 @@ this.label3 = new System.Windows.Forms.Label(); this.proiectt_textBox1 = new System.Windows.Forms.TextBox(); this.label2 = new System.Windows.Forms.Label(); - this.skint_comboBox1 = new System.Windows.Forms.ComboBox(); - this.label6 = new System.Windows.Forms.Label(); + this.tabPage_Thumbs = new System.Windows.Forms.TabPage(); + this.thumbst_comboBox1 = new System.Windows.Forms.ComboBox(); + this.label7 = new System.Windows.Forms.Label(); + this.tabPage_Other = new System.Windows.Forms.TabPage(); + this.label8 = new System.Windows.Forms.Label(); + this.othert_comboBox1 = new System.Windows.Forms.ComboBox(); this.menuStrip1.SuspendLayout(); this.contextMenuStrip1.SuspendLayout(); this.tabPage_Skin.SuspendLayout(); this.tabControl1.SuspendLayout(); this.tabPage_Text.SuspendLayout(); this.tabPage_Proiect.SuspendLayout(); + this.tabPage_Thumbs.SuspendLayout(); + this.tabPage_Other.SuspendLayout(); this.SuspendLayout(); // // menuStrip1 @@ -185,9 +193,9 @@ this.skinToolStripMenuItem, this.languageToolStripMenuItem, this.textToolStripMenuItem, - this.otherToolStripMenuItem, this.settingsToolStripMenuItem, - this.textToolStripMenuItem1}); + this.textToolStripMenuItem1, + this.otherToolStripMenuItem}); this.addToolStripMenuItem.Name = "addToolStripMenuItem"; this.addToolStripMenuItem.Size = new System.Drawing.Size(38, 20); this.addToolStripMenuItem.Text = "Add"; @@ -252,14 +260,14 @@ // componentToolStripMenuItem // this.componentToolStripMenuItem.Name = "componentToolStripMenuItem"; - this.componentToolStripMenuItem.Size = new System.Drawing.Size(152, 22); + this.componentToolStripMenuItem.Size = new System.Drawing.Size(140, 22); this.componentToolStripMenuItem.Text = "Component"; this.componentToolStripMenuItem.Click += new System.EventHandler(this.componentToolStripMenuItem_Click); // // mediaToolStripMenuItem // this.mediaToolStripMenuItem.Name = "mediaToolStripMenuItem"; - this.mediaToolStripMenuItem.Size = new System.Drawing.Size(152, 22); + this.mediaToolStripMenuItem.Size = new System.Drawing.Size(140, 22); this.mediaToolStripMenuItem.Text = "Media"; this.mediaToolStripMenuItem.Click += new System.EventHandler(this.mediaToolStripMenuItem_Click); // @@ -267,7 +275,7 @@ // this.fullToolStripMenuItem.Enabled = false; this.fullToolStripMenuItem.Name = "fullToolStripMenuItem"; - this.fullToolStripMenuItem.Size = new System.Drawing.Size(152, 22); + this.fullToolStripMenuItem.Size = new System.Drawing.Size(140, 22); this.fullToolStripMenuItem.Text = "Full"; this.fullToolStripMenuItem.Visible = false; // @@ -290,6 +298,7 @@ this.otherToolStripMenuItem.Name = "otherToolStripMenuItem"; this.otherToolStripMenuItem.Size = new System.Drawing.Size(152, 22); this.otherToolStripMenuItem.Text = "Other"; + this.otherToolStripMenuItem.Click += new System.EventHandler(this.otherToolStripMenuItem_Click); // // settingsToolStripMenuItem // @@ -301,7 +310,7 @@ // this.textToolStripMenuItem1.Name = "textToolStripMenuItem1"; this.textToolStripMenuItem1.Size = new System.Drawing.Size(152, 22); - this.textToolStripMenuItem1.Text = "Text"; + this.textToolStripMenuItem1.Text = "Thumbs"; this.textToolStripMenuItem1.Click += new System.EventHandler(this.textToolStripMenuItem1_Click); // // bossview @@ -393,6 +402,24 @@ this.tabPage_Skin.Text = "Skin Properties"; this.tabPage_Skin.UseVisualStyleBackColor = true; // + // label6 + // + this.label6.AutoSize = true; + this.label6.Location = new System.Drawing.Point(6, 14); + this.label6.Name = "label6"; + this.label6.Size = new System.Drawing.Size(34, 13); + this.label6.TabIndex = 1; + this.label6.Text = "Skin :"; + // + // skint_comboBox1 + // + this.skint_comboBox1.FormattingEnabled = true; + this.skint_comboBox1.Location = new System.Drawing.Point(6, 30); + this.skint_comboBox1.Name = "skint_comboBox1"; + this.skint_comboBox1.Size = new System.Drawing.Size(141, 21); + this.skint_comboBox1.TabIndex = 0; + this.skint_comboBox1.TextChanged += new System.EventHandler(this.tab_skin_change); + // // tabPage_Plugin // this.tabPage_Plugin.Location = new System.Drawing.Point(4, 22); @@ -412,6 +439,8 @@ this.tabControl1.Controls.Add(this.tabPage_Text); this.tabControl1.Controls.Add(this.tabPage_Language); this.tabControl1.Controls.Add(this.tabPage_Proiect); + this.tabControl1.Controls.Add(this.tabPage_Thumbs); + this.tabControl1.Controls.Add(this.tabPage_Other); this.tabControl1.Location = new System.Drawing.Point(12, 273); this.tabControl1.Name = "tabControl1"; this.tabControl1.SelectedIndex = 0; @@ -546,24 +575,79 @@ this.label2.TabIndex = 0; this.label2.Text = "Name :"; // - // skint_comboBox1 + // tabPage_Thumbs // - this.skint_comboBox1.FormattingEnabled = true; - this.skint_comboBox1.Location = new System.Drawing.Point(6, 30); - this.skint_comboBox1.Name = "skint_comboBox1"; - this.skint_comboBox1.Size = new System.Drawing.Size(141, 21); - this.skint_comboBox1.TabIndex = 0; - this.skint_comboBox1.TextChanged += new System.EventHandler(this.tab_skin_change); + this.tabPage_Thumbs.Controls.Add(this.thumbst_comboBox1); + this.tabPage_Thumbs.Controls.Add(this.label7); + this.tabPage_Thumbs.Location = new System.Drawing.Point(4, 22); + this.tabPage_Thumbs.Name = "tabPage_Thumbs"; + this.tabPage_Thumbs.Padding = new System.Windows.Forms.Padding(3); + this.tabPage_Thumbs.Size = new System.Drawing.Size(643, 120); + this.tabPage_Thumbs.TabIndex = 5; + this.tabPage_Thumbs.Text = "Thumbs Properties"; + this.tabPage_Thumbs.UseVisualStyleBackColor = true; // - // label6 + // thumbst_comboBox1 // - this.label6.AutoSize = true; - this.label6.Location = new System.Drawing.Point(6, 14); - this.label6.Name = "label6"; - this.label6.Size = new System.Drawing.Size(34, 13); - this.label6.TabIndex = 1; - this.label6.Text = "Skin :"; + this.thumbst_comboBox1.DropDownStyle = System.Windows.Forms.ComboBoxStyle.DropDownList; + this.thumbst_comboBox1.FormattingEnabled = true; + this.thumbst_comboBox1.Items.AddRange(new object[] { + "TV\\Logos", + "TV\\Recorded", + "TV\\Shows", + "Music\\Albums", + "Music\\Artists", + "Music\\Genre", + "Videos\\Actors", + "Videos\\Genre", + "Videos\\Title", + "Radio", + "ExternalDisplay"}); + this.thumbst_comboBox1.Location = new System.Drawing.Point(9, 30); + this.thumbst_comboBox1.Name = "thumbst_comboBox1"; + this.thumbst_comboBox1.Size = new System.Drawing.Size(177, 21); + this.thumbst_comboBox1.TabIndex = 1; + this.thumbst_comboBox1.TextChanged += new System.EventHandler(this.tab_thumbs_change); // + // label7 + // + this.label7.AutoSize = true; + this.label7.Location = new System.Drawing.Point(6, 14); + this.label7.Name = "label7"; + this.label7.Size = new System.Drawing.Size(55, 13); + this.label7.TabIndex = 0; + this.label7.Text = "Directory :"; + // + // tabPage_Other + // + this.tabPage_Other.Controls.Add(this.othert_comboBox1); + this.tabPage_Other.Controls.Add(this.label8); + this.tabPage_Other.Location = new System.Drawing.Point(4, 22); + this.tabPage_Other.Name = "tabPage_Other"; + this.tabPage_Other.Padding = new System.Windows.Forms.Padding(3); + this.tabPage_Other.Size = new System.Drawing.Size(643, 120); + this.tabPage_Other.TabIndex = 6; + this.tabPage_Other.Text = "Properties"; + this.tabPage_Other.UseVisualStyleBackColor = true; + // + // label8 + // + this.label8.AutoSize = true; + this.label8.Location = new System.Drawing.Point(6, 12); + this.label8.Name = "label8"; + this.label8.Size = new System.Drawing.Size(98, 13); + this.label8.TabIndex = 0; + this.label8.Text = "Directory (relative) :"; + // + // othert_comboBox1 + // + this.othert_comboBox1.FormattingEnabled = true; + this.othert_comboBox1.Location = new System.Drawing.Point(9, 28); + this.othert_comboBox1.Name = "othert_comboBox1"; + this.othert_comboBox1.Size = new System.Drawing.Size(269, 21); + this.othert_comboBox1.TabIndex = 1; + this.othert_comboBox1.TextChanged += new System.EventHandler(this.tab_other_change); + // // Form1 // this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F); @@ -586,6 +670,10 @@ this.tabPage_Text.PerformLayout(); this.tabPage_Proiect.ResumeLayout(false); this.tabPage_Proiect.PerformLayout(); + this.tabPage_Thumbs.ResumeLayout(false); + this.tabPage_Thumbs.PerformLayout(); + this.tabPage_Other.ResumeLayout(false); + this.tabPage_Other.PerformLayout(); this.ResumeLayout(false); this.PerformLayout(); @@ -649,6 +737,12 @@ private System.Windows.Forms.TextBox proiectt_textBox4; private System.Windows.Forms.Label label6; private System.Windows.Forms.ComboBox skint_comboBox1; + private System.Windows.Forms.TabPage tabPage_Thumbs; + private System.Windows.Forms.ComboBox thumbst_comboBox1; + private System.Windows.Forms.Label label7; + private System.Windows.Forms.TabPage tabPage_Other; + private System.Windows.Forms.ComboBox othert_comboBox1; + private System.Windows.Forms.Label label8; } } Modified: trunk/plugins/mpinstaler/MPInstaler/Form1.cs =================================================================== --- trunk/plugins/mpinstaler/MPInstaler/Form1.cs 2007-02-28 14:22:45 UTC (rev 144) +++ trunk/plugins/mpinstaler/MPInstaler/Form1.cs 2007-02-28 20:36:51 UTC (rev 145) @@ -114,6 +114,19 @@ } } + private void addother(string ty, string sty) + { + // string fil; + openFileDialog1.Filter = "All files|*.*|xml files|*.xml|png files|*.png|bmp files|*.bmp|jpeg files|*.jpg"; + openFileDialog1.Multiselect = true; + if (openFileDialog1.ShowDialog(this) == DialogResult.OK) + { + foreach (string fil in openFileDialog1.FileNames) + addrow(Path.GetFileName(fil), ty, sty, Path.GetFullPath(fil), "04010", ""); + + } + } + private void subtitleToolStripMenuItem_Click(object sender, EventArgs e) { addplugin(3); @@ -305,27 +318,32 @@ { if (bossview.SelectedItems.Count > 0) { + tabControl1.Controls.Clear(); if (bossview.SelectedItems[0].SubItems[1].Text == MPinstalerStruct.PLUGIN_TYPE) { - tabControl1.Controls.Clear(); tabControl1.Controls.Add(tabPage_Plugin); - tabControl1.Controls.Add(tabPage_Proiect); } if (bossview.SelectedItems[0].SubItems[1].Text == MPinstalerStruct.SKIN_TYPE || bossview.SelectedItems[0].SubItems[1].Text == MPinstalerStruct.SKIN_MEDIA_TYPE) { - tabControl1.Controls.Clear(); tabControl1.Controls.Add(tabPage_Skin); - tabControl1.Controls.Add(tabPage_Proiect); skint_comboBox1.Text = bossview.SelectedItems[0].SubItems[2].Text; } if (bossview.SelectedItems[0].SubItems[1].Text == MPinstalerStruct.TEXT_TYPE) { - tabControl1.Controls.Clear(); tabControl1.Controls.Add(tabPage_Text); - tabControl1.Controls.Add(tabPage_Proiect); textt_comboBox1.Text = bossview.SelectedItems[0].SubItems[2].Text; } - + if (bossview.SelectedItems[0].SubItems[1].Text == MPinstalerStruct.THUMBS_TYPE) + { + tabControl1.Controls.Add(tabPage_Thumbs); + thumbst_comboBox1.Text = bossview.SelectedItems[0].SubItems[2].Text; + } + if (bossview.SelectedItems[0].SubItems[1].Text == MPinstalerStruct.OTHER_TYPE) + { + tabControl1.Controls.Add(tabPage_Other); + othert_comboBox1.Text = bossview.SelectedItems[0].SubItems[2].Text; + } + tabControl1.Controls.Add(tabPage_Proiect); } else { @@ -337,7 +355,7 @@ private void textToolStripMenuItem1_Click(object sender, EventArgs e) { - + addother(MPinstalerStruct.THUMBS_TYPE,thumbst_comboBox1.Text); } private void textToolStripMenuItem_Click(object sender, EventArgs e) @@ -361,6 +379,22 @@ } } + private void tab_thumbs_change(object sender, EventArgs e) + { + if (bossview.SelectedItems.Count > 0) + { + bossview.SelectedItems[0].SubItems[2].Text = thumbst_comboBox1.Text; + } + } + + private void tab_other_change(object sender, EventArgs e) + { + if (bossview.SelectedItems.Count > 0) + { + bossview.SelectedItems[0].SubItems[2].Text = othert_comboBox1.Text; + } + } + private void proiectt_textBox1_TextChanged(object sender, EventArgs e) { if (!_loading) @@ -372,6 +406,11 @@ } } + private void otherToolStripMenuItem_Click(object sender, EventArgs e) + { + addother(MPinstalerStruct.OTHER_TYPE, ""); + } + } } \ No newline at end of file Modified: trunk/plugins/mpinstaler/MPInstaler/MPinstalerStruct.cs =================================================================== --- trunk/plugins/mpinstaler/MPInstaler/MPinstalerStruct.cs 2007-02-28 14:22:45 UTC (rev 144) +++ trunk/plugins/mpinstaler/MPInstaler/MPinstalerStruct.cs 2007-02-28 20:36:51 UTC (rev 145) @@ -30,6 +30,8 @@ public const string TEXT_EULA_TYPE = "EULA"; public const string TEXT_LOG_TYPE = "Log"; public const string TEXT_README_TYPE = "Ream_me"; + public const string THUMBS_TYPE = "Thumbs"; + public const string OTHER_TYPE = "Other"; string _builFileName = string.Empty; string _proiectFileName = string.Empty; @@ -98,6 +100,7 @@ Author = string.Empty; Name = string.Empty; Version = string.Empty; + UpdateURL = string.Empty; } public bool SaveToFile(string fil) @@ -105,6 +108,7 @@ Stream myStream; if ((myStream = File.Open(fil, FileMode.Create, FileAccess.Write, FileShare.None)) != null) { + this.ProiectdFileName = fil; // Code to write the stream goes here. XmlDocument doc = new XmlDocument(); XmlWriter writer = null; @@ -286,6 +290,15 @@ { ret = "Release" + @"\" + "Text" + @"\" + flst.SubType + @"\" + Path.GetFileName(flst.FileName); } + + if (flst.Type == THUMBS_TYPE) + { + ret = "Release" + @"\" + "Thumbs" + @"\" + flst.SubType + @"\" + Path.GetFileName(flst.FileName); + } + if (flst.Type == OTHER_TYPE) + { + ret = "Release" + @"\" + "Other" + @"\" + Path.GetFileName(flst.FileName); + } return ret; } @@ -328,6 +341,17 @@ ret = Config.GetFolder(Config.Dir.Skin) + @"\" + flst.SubType + @"\" + "Media" + @"\" + Path.GetFileName(flst.FileName); } + if (flst.Type == THUMBS_TYPE) + { + ret = Config.GetFolder(Config.Dir.Thumbs) + @"\" + flst.SubType +@"\" + Path.GetFileName(flst.FileName); + } + if (flst.Type == OTHER_TYPE) + { + if (String.IsNullOrEmpty(flst.SubType)) + ret = Config.GetFolder(Config.Dir.Thumbs) + @"\" + flst.SubType + @"\" + Path.GetFileName(flst.FileName); + else + ret = Config.GetFolder(Config.Dir.Thumbs) + @"\" + flst.SubType + @"\" + Path.GetFileName(flst.FileName); + } if (flst.Type == TEXT_TYPE) { ret = Config.GetFolder(Config.Dir.Base) + @"\" + Path.GetFileName(flst.FileName); Modified: trunk/plugins/mpinstaler/MPInstaler/MPpackageStruct.cs =================================================================== --- trunk/plugins/mpinstaler/MPInstaler/MPpackageStruct.cs 2007-02-28 14:22:45 UTC (rev 144) +++ trunk/plugins/mpinstaler/MPInstaler/MPpackageStruct.cs 2007-02-28 20:36:51 UTC (rev 145) @@ -179,8 +179,14 @@ public void Add(MPpackageStruct pk) { + for (int i = 0; i < lst.Count; i++) + { + if (((MPpackageStruct)lst[i])._intalerStruct.Name.Trim() == pk._intalerStruct.Name.Trim()) + lst.RemoveAt(i); + } lst.Add(pk); - File.Copy(pk.FileName,InstalDir+@"\"+Path.GetFileName(pk.FileName),true); + if (Path.GetFullPath(pk.FileName) != Path.GetFullPath(InstalDir + @"\" + Path.GetFileName(pk.FileName))) + File.Copy(pk.FileName, InstalDir + @"\" + Path.GetFileName(pk.FileName), true); } public void SaveToFile() Modified: trunk/plugins/mpinstaler/MPInstaler/start_form.cs =================================================================== --- trunk/plugins/mpinstaler/MPInstaler/start_form.cs 2007-02-28 14:22:45 UTC (rev 144) +++ trunk/plugins/mpinstaler/MPInstaler/start_form.cs 2007-02-28 20:36:51 UTC (rev 145) @@ -43,8 +43,6 @@ } else MessageBox.Show("Invalid package !"); - - } private void button3_Click(object sender, EventArgs e) Modified: trunk/plugins/mpinstaler/MPInstaler/wizard/controlp.Designer.cs =================================================================== --- trunk/plugins/mpinstaler/MPInstaler/wizard/controlp.Designer.cs 2007-02-28 14:22:45 UTC (rev 144) +++ trunk/plugins/mpinstaler/MPInstaler/wizard/controlp.Designer.cs 2007-02-28 20:36:51 UTC (rev 145) @@ -29,14 +29,14 @@ private void InitializeComponent() { this.listView1 = new System.Windows.Forms.ListView(); + this.columnHeader1 = new System.Windows.Forms.ColumnHeader(); + this.columnHeader2 = new System.Windows.Forms.ColumnHeader(); + this.columnHeader3 = new System.Windows.Forms.ColumnHeader(); + this.columnHeader4 = new System.Windows.Forms.ColumnHeader(); this.button1 = new System.Windows.Forms.Button(); this.button2 = new System.Windows.Forms.Button(); this.button3 = new System.Windows.Forms.Button(); - this.columnHeader1 = new System.Windows.Forms.ColumnHeader(); - this.columnHeader2 = new System.Windows.Forms.ColumnHeader(); - this.columnHeader3 = new System.Windows.Forms.ColumnHeader(); this.button4 = new System.Windows.Forms.Button(); - this.columnHeader4 = new System.Windows.Forms.ColumnHeader(); this.SuspendLayout(); // // listView1 @@ -49,15 +49,38 @@ this.columnHeader2, this.columnHeader3, this.columnHeader4}); + this.listView1.Font = new System.Drawing.Font("Microsoft Sans Serif", 8.25F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(0))); + this.listView1.FullRowSelect = true; this.listView1.GridLines = true; this.listView1.HideSelection = false; this.listView1.Location = new System.Drawing.Point(-1, -3); + this.listView1.MultiSelect = false; this.listView1.Name = "listView1"; this.listView1.Size = new System.Drawing.Size(632, 304); this.listView1.TabIndex = 0; this.listView1.UseCompatibleStateImageBehavior = false; this.listView1.View = System.Windows.Forms.View.Details; + this.listView1.SelectedIndexChanged += new System.EventHandler(this.listView1_SelectedIndexChanged); // + // columnHeader1 + // + this.columnHeader1.Text = "Name"; + this.columnHeader1.Width = 179; + // + // columnHeader2 + // + this.columnHeader2.Text = "Author"; + this.columnHeader2.Width = 194; + // + // columnHeader3 + // + this.columnHeader3.Text = "Version"; + this.columnHeader3.Width = 202; + // + // columnHeader4 + // + this.columnHeader4.Text = "File"; + // // button1 // this.button1.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Left))); @@ -91,21 +114,6 @@ this.button3.Text = "Update"; this.button3.UseVisualStyleBackColor = true; // - // columnHeader1 - // - this.columnHeader1.Text = "Name"; - this.columnHeader1.Width = 179; - // - // columnHeader2 - // - this.columnHeader2.Text = "Author"; - this.columnHeader2.Width = 194; - // - // columnHeader3 - // - this.columnHeader3.Text = "Version"; - this.columnHeader3.Width = 202; - // // button4 // this.button4.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Left))); @@ -113,13 +121,10 @@ this.button4.Name = "button4"; this.button4.Size = new System.Drawing.Size(75, 23); this.button4.TabIndex = 4; - this.button4.Text = "Reinstal"; + this.button4.Text = "Reinstall"; this.button4.UseVisualStyleBackColor = true; + this.button4.Click += new System.EventHandler(this.button4_Click); // - // columnHeader4 - // - this.columnHeader4.Text = "File"; - // // controlp // this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F); Modified: trunk/plugins/mpinstaler/MPInstaler/wizard/controlp.cs =================================================================== --- trunk/plugins/mpinstaler/MPInstaler/wizard/controlp.cs 2007-02-28 14:22:45 UTC (rev 144) +++ trunk/plugins/mpinstaler/MPInstaler/wizard/controlp.cs 2007-02-28 20:36:51 UTC (rev 145) @@ -6,6 +6,7 @@ using System.Drawing; using System.Text; using System.Windows.Forms; +using MediaPortal.Configuration; namespace MPInstaler { @@ -43,8 +44,36 @@ item1.SubItems.Add(pk._intalerStruct.Version); item1.SubItems.Add(Path.GetFileName(pk.FileName)); listView1.Items.AddRange(new ListViewItem[] { item1 }); - MessageBox.Show(pk.FileName); } } + + private void listView1_SelectedIndexChanged(object sender, EventArgs e) + { + if (listView1.SelectedItems.Count > 0) + { + button1.Enabled = true; + button2.Enabled = true; + button3.Enabled = true; + } + else + { + button1.Enabled = false; + button2.Enabled = false; + button3.Enabled = false; + } + } + + private void button4_Click(object sender, EventArgs e) + { + wizard_1 wiz = new wizard_1(); + wiz.package.LoadFromFile(Config.GetFolder(Config.Dir.Base) + @"\" + "Instaler" + @"\" + listView1.SelectedItems[0].SubItems[3].Text); + if (wiz.package.isValid) + { + wiz.nextStep(1); + } + else + MessageBox.Show("Invalid package !"); + + } } } \ No newline at end of file Modified: trunk/plugins/mpinstaler/MPInstaler/wizard/wizard_1.cs =================================================================== --- trunk/plugins/mpinstaler/MPInstaler/wizard/wizard_1.cs 2007-02-28 14:22:45 UTC (rev 144) +++ trunk/plugins/mpinstaler/MPInstaler/wizard/wizard_1.cs 2007-02-28 20:36:51 UTC (rev 145) @@ -31,9 +31,10 @@ button_back.Visible = false; progressBar1.Visible = false; progressBar2.Visible = false; + label2.Visible = false; title_label.Text = package._intalerStruct.Name; - label2.Visible = false; button_next.Text = "Next"; + richTextBox1.Visible = true; richTextBox1.Text = String.Format(" Name : {0} \n\n Author : {1} \n\n Version : {2}", package._intalerStruct.Name,package._intalerStruct.Author,package._intalerStruct.Version); if (!this.Visible) this.ShowDialog(); break; @@ -46,6 +47,7 @@ label2.Text = "License Agreement"; button_next.Text = "I Agree"; button_back.Visible = true; + richTextBox1.Visible = true; richTextBox1.Text = package.txt_EULA; break; } @@ -57,6 +59,7 @@ label2.Text = "Change log"; button_next.Text = "Next"; button_back.Visible = true; + richTextBox1.Visible = true; richTextBox1.Text = package.txt_log; break; } @@ -67,6 +70,7 @@ label2.Visible = true; label2.Text = "Read me"; button_back.Visible = true; + richTextBox1.Visible = true; richTextBox1.Text = package.txt_readme; break; } @@ -75,13 +79,25 @@ progressBar1.Visible = false; progressBar2.Visible = false; label2.Visible = true; + label2.Text = "Select skin"; + button_next.Text = "Next"; + button_back.Visible = true; + richTextBox1.Visible = false; + break; + } + case 6: + { + progressBar1.Visible = false; + progressBar2.Visible = false; + label2.Visible = true; label2.Text = "Instaling ..."; button_next.Text = "Next"; button_back.Visible = true; + richTextBox1.Visible = true; richTextBox1.Text = String.Format("Intall paths : \nPlugins : {0}\nSkin : {1}", Config.GetFolder(Config.Dir.Plugins), Config.GetFolder(Config.Dir.Skin)); break; } - case 6: + case 7: { label2.Visible = true; progressBar1.Visible = true; @@ -101,6 +117,7 @@ private void install() { MPInstallHelper inst = new MPInstallHelper(); + inst.LoadFromFile(); button_next.Visible = false; button_back.Visible = false; button_cancel.Enabled = false; @@ -150,6 +167,10 @@ test_next_step(m); } break; + case 5: + step += m; + test_next_step(m); + break; default: break; } Modified: trunk/plugins/mpinstaler/MPInstaler.suo =================================================================== (Binary files differ) This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <an...@us...> - 2007-02-28 14:22:47
|
Revision: 144 http://mp-plugins.svn.sourceforge.net/mp-plugins/?rev=144&view=rev Author: and-81 Date: 2007-02-28 06:22:45 -0800 (Wed, 28 Feb 2007) Log Message: ----------- Modified Paths: -------------- trunk/plugins/MCEReplacement/MCEReplacement.csproj trunk/plugins/MCEReplacementTray/MCEReplacementTray.csproj trunk/plugins/MessagePlugin/MessagePlugin.csproj trunk/plugins/TV3ExtChannelChanger/TV3ExtChannelChanger.csproj trunk/plugins/TV3MceBlaster/TV3MceBlaster.csproj trunk/plugins/XBCDRC/XBCDRC Plugin.csproj Modified: trunk/plugins/MCEReplacement/MCEReplacement.csproj =================================================================== --- trunk/plugins/MCEReplacement/MCEReplacement.csproj 2007-02-28 06:21:21 UTC (rev 143) +++ trunk/plugins/MCEReplacement/MCEReplacement.csproj 2007-02-28 14:22:45 UTC (rev 144) @@ -255,6 +255,6 @@ </EmbeddedResource> </ItemGroup> <PropertyGroup> - <PostBuildEvent>copy "$(TargetPath)" "C:\MediaPortal Development\Plugin Releases\MCE Replacement Plugin\Release\"</PostBuildEvent> + <PostBuildEvent>copy "$(TargetPath)" "\MediaPortal Development\Plugin Releases\MCE Replacement Plugin\Release\"</PostBuildEvent> </PropertyGroup> </Project> \ No newline at end of file Modified: trunk/plugins/MCEReplacementTray/MCEReplacementTray.csproj =================================================================== --- trunk/plugins/MCEReplacementTray/MCEReplacementTray.csproj 2007-02-28 06:21:21 UTC (rev 143) +++ trunk/plugins/MCEReplacementTray/MCEReplacementTray.csproj 2007-02-28 14:22:45 UTC (rev 144) @@ -89,6 +89,6 @@ </Target> --> <PropertyGroup> - <PostBuildEvent>copy "$(TargetPath)" "C:\MediaPortal Development\Plugin Releases\MCE Replacement Plugin\Tray\"</PostBuildEvent> + <PostBuildEvent>copy "$(TargetPath)" "\MediaPortal Development\Plugin Releases\MCE Replacement Plugin\Tray\"</PostBuildEvent> </PropertyGroup> </Project> \ No newline at end of file Modified: trunk/plugins/MessagePlugin/MessagePlugin.csproj =================================================================== --- trunk/plugins/MessagePlugin/MessagePlugin.csproj 2007-02-28 06:21:21 UTC (rev 143) +++ trunk/plugins/MessagePlugin/MessagePlugin.csproj 2007-02-28 14:22:45 UTC (rev 144) @@ -72,6 +72,6 @@ </Target> --> <PropertyGroup> - <PostBuildEvent>copy "*.*" "C:\MediaPortal Development\Plugin Releases\Message Plugin\"</PostBuildEvent> + <PostBuildEvent>copy "*.*" "\MediaPortal Development\Plugin Releases\Message Plugin\"</PostBuildEvent> </PropertyGroup> </Project> \ No newline at end of file Modified: trunk/plugins/TV3ExtChannelChanger/TV3ExtChannelChanger.csproj =================================================================== --- trunk/plugins/TV3ExtChannelChanger/TV3ExtChannelChanger.csproj 2007-02-28 06:21:21 UTC (rev 143) +++ trunk/plugins/TV3ExtChannelChanger/TV3ExtChannelChanger.csproj 2007-02-28 14:22:45 UTC (rev 144) @@ -223,7 +223,7 @@ <PropertyGroup> <PreBuildEvent> </PreBuildEvent> - <PostBuildEvent>copy "$(TargetPath)" "C:\MediaPortal Development\Plugin Releases\TV3ExtChannelChanger\Release\" -copy "ReadMe.txt" "C:\MediaPortal Development\Plugin Releases\TV3ExtChannelChanger\"</PostBuildEvent> + <PostBuildEvent>copy "$(TargetPath)" "\MediaPortal Development\Plugin Releases\TV3ExtChannelChanger\Release\" +copy "ReadMe.txt" "\MediaPortal Development\Plugin Releases\TV3ExtChannelChanger\"</PostBuildEvent> </PropertyGroup> </Project> \ No newline at end of file Modified: trunk/plugins/TV3MceBlaster/TV3MceBlaster.csproj =================================================================== --- trunk/plugins/TV3MceBlaster/TV3MceBlaster.csproj 2007-02-28 06:21:21 UTC (rev 143) +++ trunk/plugins/TV3MceBlaster/TV3MceBlaster.csproj 2007-02-28 14:22:45 UTC (rev 144) @@ -269,6 +269,6 @@ <PropertyGroup> <PreBuildEvent> </PreBuildEvent> - <PostBuildEvent>copy "*.*" "C:\MediaPortal Development\Plugin Releases\TV3 MCE Blaster\Release\"</PostBuildEvent> + <PostBuildEvent>copy "*.*" "\MediaPortal Development\Plugin Releases\TV3 MCE Blaster\Release\"</PostBuildEvent> </PropertyGroup> </Project> \ No newline at end of file Modified: trunk/plugins/XBCDRC/XBCDRC Plugin.csproj =================================================================== --- trunk/plugins/XBCDRC/XBCDRC Plugin.csproj 2007-02-28 06:21:21 UTC (rev 143) +++ trunk/plugins/XBCDRC/XBCDRC Plugin.csproj 2007-02-28 14:22:45 UTC (rev 144) @@ -70,6 +70,6 @@ </Reference> </ItemGroup> <PropertyGroup> - <PostBuildEvent>copy "*.*" "C:\MediaPortal Development\Plugin Releases\XBCDRC Plugin\Release\"</PostBuildEvent> + <PostBuildEvent>copy "*.*" "\MediaPortal Development\Plugin Releases\XBCDRC Plugin\Release\"</PostBuildEvent> </PropertyGroup> </Project> \ No newline at end of file This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <se...@us...> - 2007-02-28 06:21:22
|
Revision: 143 http://mp-plugins.svn.sourceforge.net/mp-plugins/?rev=143&view=rev Author: sergem1 Date: 2007-02-27 22:21:21 -0800 (Tue, 27 Feb 2007) Log Message: ----------- paths adjusted a bit to aid build process Modified Paths: -------------- trunk/plugins/ETVNet/ETVNet/ETVNet.csproj trunk/plugins/ETVNet/ETVNet/ETVNet.csproj.user Modified: trunk/plugins/ETVNet/ETVNet/ETVNet.csproj =================================================================== --- trunk/plugins/ETVNet/ETVNet/ETVNet.csproj 2007-02-28 05:35:33 UTC (rev 142) +++ trunk/plugins/ETVNet/ETVNet/ETVNet.csproj 2007-02-28 06:21:21 UTC (rev 143) @@ -88,7 +88,7 @@ </Target> --> <PropertyGroup> - <PostBuildEvent>copy $(TargetPath) ..\..\mediaportal\xbmc\bin\Release\plugins\windows + <PostBuildEvent>copy $(TargetPath) $(ProjectDir)..\..\mediaportal\xbmc\bin\Release\plugins\windows copy $(ProjectDir)skinfiles\*.xml $(ProjectDir)..\..\mediaportal\xbmc\bin\Release\skin\BlueTwo copy $(ProjectDir)skinfiles\*.png $(ProjectDir)..\..\mediaportal\xbmc\bin\Release\skin\BlueTwo\Media copy $(ProjectDir)skinfiles\wide\*.xml "$(ProjectDir)..\..\mediaportal\xbmc\bin\Release\skin\BlueTwo Wide" Modified: trunk/plugins/ETVNet/ETVNet/ETVNet.csproj.user =================================================================== --- trunk/plugins/ETVNet/ETVNet/ETVNet.csproj.user 2007-02-28 05:35:33 UTC (rev 142) +++ trunk/plugins/ETVNet/ETVNet/ETVNet.csproj.user 2007-02-28 06:21:21 UTC (rev 143) @@ -4,6 +4,6 @@ </PropertyGroup> <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' "> <StartAction>Program</StartAction> - <StartProgram>C:\projects\mp-0.2.2.0\xbmc\bin\Release\MediaPortal.exe</StartProgram> + <StartProgram>C:\projects\mediaportal\xbmc\bin\Release\MediaPortal.exe</StartProgram> </PropertyGroup> </Project> \ No newline at end of file This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <se...@us...> - 2007-02-28 05:35:34
|
Revision: 142 http://mp-plugins.svn.sourceforge.net/mp-plugins/?rev=142&view=rev Author: sergem1 Date: 2007-02-27 21:35:33 -0800 (Tue, 27 Feb 2007) Log Message: ----------- Modified Paths: -------------- trunk/plugins/ETVNet/Readme.build.txt Modified: trunk/plugins/ETVNet/Readme.build.txt =================================================================== --- trunk/plugins/ETVNet/Readme.build.txt 2007-02-28 05:31:11 UTC (rev 141) +++ trunk/plugins/ETVNet/Readme.build.txt 2007-02-28 05:35:33 UTC (rev 142) @@ -1,2 +1,13 @@ -ETVNet assumes mediaportal build directory is beside it and is called mediaportal -check paths in project post build step - the files are copied into MediaPortal directory +Intro +===== +ETVNet plugin is a screen-scraper browser from http://etvnet.ca, russian tv-on-demand site. + +To view, one needs an account with etvnet (free demo accounts available on the site). +Make sure to input account data in plugin config dialog in Configuration. + + +Build +===== +ETVNet assumes mediaportal build directory is beside its project directory and is called mediaportal +Check paths in project post build step - the files are copied into MediaPortal release directory + This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <se...@us...> - 2007-02-28 05:31:12
|
Revision: 141 http://mp-plugins.svn.sourceforge.net/mp-plugins/?rev=141&view=rev Author: sergem1 Date: 2007-02-27 21:31:11 -0800 (Tue, 27 Feb 2007) Log Message: ----------- Removed file/folder Removed Paths: ------------- trunk/plugins/ETVNet/ETVNet.suo Deleted: trunk/plugins/ETVNet/ETVNet.suo =================================================================== (Binary files differ) This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <se...@us...> - 2007-02-28 05:30:12
|
Revision: 140 http://mp-plugins.svn.sourceforge.net/mp-plugins/?rev=140&view=rev Author: sergem1 Date: 2007-02-27 21:30:01 -0800 (Tue, 27 Feb 2007) Log Message: ----------- Added Paths: ----------- trunk/plugins/ETVNet/ trunk/plugins/ETVNet/ETVNet/ trunk/plugins/ETVNet/ETVNet/ClassDiagram1.cd trunk/plugins/ETVNet/ETVNet/DialogRuKeyboard.cs trunk/plugins/ETVNet/ETVNet/ETVBrowser.cs trunk/plugins/ETVNet/ETVNet/ETVNet.csproj trunk/plugins/ETVNet/ETVNet/ETVNet.csproj.user trunk/plugins/ETVNet/ETVNet/ETVNetStreamInfo.cs trunk/plugins/ETVNet/ETVNet/PathLink.cs trunk/plugins/ETVNet/ETVNet/PathNode.cs trunk/plugins/ETVNet/ETVNet/PathPage.cs trunk/plugins/ETVNet/ETVNet/PathTerminal.cs trunk/plugins/ETVNet/ETVNet/Plugin.cs trunk/plugins/ETVNet/ETVNet/Properties/ trunk/plugins/ETVNet/ETVNet/Properties/AssemblyInfo.cs trunk/plugins/ETVNet/ETVNet/SetupForm.Designer.cs trunk/plugins/ETVNet/ETVNet/SetupForm.cs trunk/plugins/ETVNet/ETVNet/SetupForm.resx trunk/plugins/ETVNet/ETVNet/TODO.txt trunk/plugins/ETVNet/ETVNet/TopList.cs trunk/plugins/ETVNet/ETVNet/skinfiles/ trunk/plugins/ETVNet/ETVNet/skinfiles/DialogETVNetStreamInfo.xml trunk/plugins/ETVNet/ETVNet/skinfiles/DialogRuKeyboard.xml trunk/plugins/ETVNet/ETVNet/skinfiles/ETVNet_logo.png trunk/plugins/ETVNet/ETVNet/skinfiles/etvnet.main.xml trunk/plugins/ETVNet/ETVNet/skinfiles/wide/ trunk/plugins/ETVNet/ETVNet/skinfiles/wide/DialogETVNetStreamInfo.xml trunk/plugins/ETVNet/ETVNet/skinfiles/wide/DialogRuKeyboard.xml trunk/plugins/ETVNet/ETVNet/skinfiles/wide/etvnet.main.xml trunk/plugins/ETVNet/ETVNet.sln trunk/plugins/ETVNet/ETVNet.suo trunk/plugins/ETVNet/Readme.build.txt Added: trunk/plugins/ETVNet/ETVNet/ClassDiagram1.cd =================================================================== --- trunk/plugins/ETVNet/ETVNet/ClassDiagram1.cd (rev 0) +++ trunk/plugins/ETVNet/ETVNet/ClassDiagram1.cd 2007-02-28 05:30:01 UTC (rev 140) @@ -0,0 +1 @@ + \ No newline at end of file Added: trunk/plugins/ETVNet/ETVNet/DialogRuKeyboard.cs =================================================================== --- trunk/plugins/ETVNet/ETVNet/DialogRuKeyboard.cs (rev 0) +++ trunk/plugins/ETVNet/ETVNet/DialogRuKeyboard.cs 2007-02-28 05:30:01 UTC (rev 140) @@ -0,0 +1,250 @@ +#region Copyright (C) 2005-2007 Team MediaPortal + +/* + * Copyright (C) 2005-2007 Team MediaPortal + * http://www.team-mediaportal.com + * + * This Program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2, or (at your option) + * any later version. + * + * This Program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with GNU Make; see the file COPYING. If not, write to + * the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA. + * http://www.gnu.org/copyleft/gpl.html + * + */ + +#endregion + +using System; +using System.Drawing; +using System.Net; +using System.Collections; +using MediaPortal.GUI.Library; +using MediaPortal.Util; + +namespace ETVNet +{ + /// <summary> + /// + /// </summary> + public class DialogRuKeyboard : GUIWindow, IRenderLayer + { + #region keyButtons + + [SkinControlAttribute(20)] + protected GUILabelControl inputLabel = null; + [SkinControlAttribute(21)] + protected GUIButtonControl doneButton = null; + #endregion + + public string inputString; + public bool done; + Hashtable keyTable; + + #region Base Dialog Variables + bool m_bRunning = false; + int m_dwParentWindowID = 0; + GUIWindow m_pParentWindow = null; + #endregion + + bool m_bOverlay = false; + + public DialogRuKeyboard() + { + GetID = 7767; + inputString = ""; + keyTable = new Hashtable(33); + // 1 + keyTable.Add(9011, "А"); + keyTable.Add(9012, "Б"); + keyTable.Add(9013, "В"); + keyTable.Add(9014, "Г"); + keyTable.Add(9015, "Д"); + keyTable.Add(9016, "Е"); + // 2 + keyTable.Add(9021, "Ё"); + keyTable.Add(9022, "Ж"); + keyTable.Add(9023, "З"); + keyTable.Add(9024, "И"); + keyTable.Add(9025, "Й"); + keyTable.Add(9026, "К"); + // 3 + keyTable.Add(9031, "Л"); + keyTable.Add(9032, "М"); + keyTable.Add(9033, "Н"); + keyTable.Add(9034, "О"); + keyTable.Add(9035, "П"); + keyTable.Add(9036, "Р"); + // 4 + keyTable.Add(9041, "С"); + keyTable.Add(9042, "Т"); + keyTable.Add(9043, "У"); + keyTable.Add(9044, "Ф"); + keyTable.Add(9045, "Х"); + keyTable.Add(9046, "Ц"); + // 5 + keyTable.Add(9051, "Ч"); + keyTable.Add(9052, "Ш"); + keyTable.Add(9053, "Щ"); + keyTable.Add(9054, "Ъ"); + keyTable.Add(9055, "Ы"); + keyTable.Add(9056, "Ь"); + // 6 + keyTable.Add(9061, "Э"); + keyTable.Add(9062, "Ю"); + keyTable.Add(9063, "Я"); + } + + public override bool Init() + { + done = false; + return Load(GUIGraphicsContext.Skin + @"\DialogRuKeyboard.xml"); + } + + public override void PreInit() + { + } + + public override void OnAction(Action action) + { + if (action.wID == Action.ActionType.ACTION_CONTEXT_MENU) + { + Close(); + return; + } + if (action.wID == Action.ActionType.ACTION_PREVIOUS_MENU) + { + if (doneButton.Focus) + { + Close(); + return; + } + else + { + if (inputString.Length > 0) + { + inputString = inputString.Substring(0, inputString.Length - 1); + if (inputString.Length > 0) + inputLabel.Label = inputString; + else + inputLabel.Label = "<...>"; + } + return; + } + } + base.OnAction(action); + } + + #region Base Dialog Members + public void RenderDlg(float timePassed) + { + base.Render(timePassed); + } + + void Close() + { + GUIMessage msg = new GUIMessage(GUIMessage.MessageType.GUI_MSG_WINDOW_DEINIT, GetID, 0, 0, 0, 0, null); + OnMessage(msg); + + GUIWindowManager.UnRoute(); + m_pParentWindow = null; + m_bRunning = false; + } + + public void DoModal(int dwParentId) + { + m_dwParentWindowID = dwParentId; + m_pParentWindow = GUIWindowManager.GetWindow(m_dwParentWindowID); + if (null == m_pParentWindow) + { + m_dwParentWindowID = 0; + return; + } + + GUIWindowManager.RouteToWindow(GetID); + + // activate this window... + GUIMessage msg = new GUIMessage(GUIMessage.MessageType.GUI_MSG_WINDOW_INIT, GetID, 0, 0, 0, 0, null); + OnMessage(msg); + + GUILayerManager.RegisterLayer(this, GUILayerManager.LayerType.Dialog); + m_bRunning = true; + GUILayerManager.RegisterLayer(this, GUILayerManager.LayerType.Dialog); + while (m_bRunning && GUIGraphicsContext.CurrentState == GUIGraphicsContext.State.RUNNING) + { + GUIWindowManager.Process(); + } + GUILayerManager.UnRegisterLayer(this); + } + #endregion + + + protected override void OnPageDestroy(int newWindowId) + { + if (m_bRunning) + { + // Probably user pressed H (SWITCH_HOME) + GUIWindowManager.UnRoute(); + m_pParentWindow = null; + m_bRunning = false; + } + GUIGraphicsContext.Overlay = m_bOverlay; + base.OnPageDestroy(newWindowId); + } + + protected override void OnPageLoad() + { + base.OnPageLoad(); + m_bOverlay = GUIGraphicsContext.Overlay; + Update(); + } + + protected override void OnClicked(int controlId, GUIControl control, MediaPortal.GUI.Library.Action.ActionType actionType) + { + base.OnClicked(controlId, control, actionType); + if (control == doneButton) + { + done = true; + Close(); + } + if (keyTable.ContainsKey(controlId)) + { + inputString += (string)keyTable[controlId]; + inputLabel.Label = inputString; + } + } + + void Update() + { + if(inputString.Length>0) + inputLabel.Label = inputString; + else + inputLabel.Label = "<...>"; + } + + public override void Render(float timePassed) + { + RenderDlg(timePassed); + } + + #region IRenderLayer + public bool ShouldRenderLayer() + { + return true; + } + + public void RenderLayer(float timePassed) + { + Render(timePassed); + } + #endregion + } +} Added: trunk/plugins/ETVNet/ETVNet/ETVBrowser.cs =================================================================== --- trunk/plugins/ETVNet/ETVNet/ETVBrowser.cs (rev 0) +++ trunk/plugins/ETVNet/ETVNet/ETVBrowser.cs 2007-02-28 05:30:01 UTC (rev 140) @@ -0,0 +1,436 @@ +#region Copyright (C) 2005-2007 Team MediaPortal + +/* + * Copyright (C) 2005-2007 Team MediaPortal + * http://www.team-mediaportal.com + * + * This Program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2, or (at your option) + * any later version. + * + * This Program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with GNU Make; see the file COPYING. If not, write to + * the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA. + * http://www.gnu.org/copyleft/gpl.html + * + */ + +#endregion + +using System; +using System.IO; +using System.Collections.Generic; +using System.Text; +using System.Net; +using System.Xml; +using System.Web; +using System.Collections; +using System.Text.RegularExpressions; + +namespace ETVNet +{ + // the component that goes to etvnet.ca and returns structured data + // most of the site intricacies is hidden here + class ETVBrowser + { + CookieContainer cookies; + Regex regexTopLinks; + Regex regexCategories; + Regex regexLetters; + Regex regexArchivedEntries; + Regex regexPrev; + Regex regexNext; + Regex regexInfo; + Regex regexMMS; + Regex regexJSOpen; + Regex regexDeQuote; + Regex regexTodayEntries; + bool traceHTML; + + public ETVBrowser(bool pTraceHTML) + { + traceHTML = pTraceHTML; + cookies = new CookieContainer(); + regexTopLinks = new Regex( + @"<th.*?>(.*?)</th>.*?(?:<a.*?href=""(.*?)"".*?>([^<]*)?</a>.*" + + @"?(?=<(?:a|th)))+", + RegexOptions.IgnoreCase + | RegexOptions.Singleline + | RegexOptions.CultureInvariant + | RegexOptions.IgnorePatternWhitespace + | RegexOptions.Compiled + ); + regexCategories = new Regex( + @"<a\s+href=""([^""]*?)""\s*>([^<]*?)</a>\s+\((\d+)\)", + RegexOptions.IgnoreCase + | RegexOptions.Singleline + | RegexOptions.CultureInvariant + | RegexOptions.IgnorePatternWhitespace + | RegexOptions.Compiled + ); + regexLetters = new Regex( + @"<a\s+href=""([^""]*?start_letter[^""]*?)""\s*>([^<]*?)</a>", + RegexOptions.IgnoreCase + | RegexOptions.Singleline + | RegexOptions.CultureInvariant + | RegexOptions.IgnorePatternWhitespace + | RegexOptions.Compiled + ); + regexArchivedEntries = new Regex( + @"<td[^>]*?>\d\d(\d\d-\d\d-\d\d)\s(\d\d:\d\d)</td>\s*" + "\r\n" + @"<td[^>]" + + @"*?>(\d+)</td>\s*" + "\r\n" + @"<td[^>]*?>\s*\[<a\s+href=""([^""]*?)""\s*>" + + @"[^<]*?</a>\]\s*</td>\s*" + "\r\n" + @"<td[^>]*?>.*?<a\s+href=""([^""]*?)""\s" + + @"*>([^<]*?)</a>.*?</td>\s*" + "\r\n" + @"<td[^>]*?>(.*?)</td>" + "\r\n" + @"", + RegexOptions.IgnoreCase + | RegexOptions.Singleline + | RegexOptions.CultureInvariant + | RegexOptions.IgnorePatternWhitespace + | RegexOptions.Compiled + ); + regexPrev = new Regex( + @"\[<a\s+href=""([^""]*?)""\s*>\d+</a>\].*?(?=\[<b>\d+</b>\])", + RegexOptions.IgnoreCase + | RegexOptions.Singleline + | RegexOptions.CultureInvariant + | RegexOptions.IgnorePatternWhitespace + | RegexOptions.Compiled + ); + regexNext = new Regex( + @"(?<=\[<b>\d+</b>\]).*?\[<a\s+href=""([^""]*?)""\s*>\d+</a>\]", + RegexOptions.IgnoreCase + | RegexOptions.Singleline + | RegexOptions.CultureInvariant + | RegexOptions.IgnorePatternWhitespace + | RegexOptions.Compiled + ); + regexInfo = new Regex( + @"(?<!(?:<style[^>]*?|<a[^>]*?))>(?:[\s]+|([^<]*?))<", + RegexOptions.IgnoreCase + | RegexOptions.Singleline + | RegexOptions.CultureInvariant + | RegexOptions.IgnorePatternWhitespace + | RegexOptions.Compiled + ); + regexMMS = new Regex( + @"<a\s+href=""(mms:[^""]+)""", + RegexOptions.IgnoreCase + | RegexOptions.Singleline + | RegexOptions.CultureInvariant + | RegexOptions.IgnorePatternWhitespace + | RegexOptions.Compiled + ); + regexJSOpen = new Regex( + @"open\(([^,]+),", + RegexOptions.IgnoreCase + | RegexOptions.Singleline + | RegexOptions.CultureInvariant + | RegexOptions.IgnorePatternWhitespace + | RegexOptions.Compiled + ); + regexDeQuote = new Regex( + @"'([^']+)'", + RegexOptions.IgnoreCase + | RegexOptions.Singleline + | RegexOptions.CultureInvariant + | RegexOptions.IgnorePatternWhitespace + | RegexOptions.Compiled + ); + regexTodayEntries = new Regex( + @"<td[^>]*?>\d\d(\d\d-\d\d-\d\d)\s(\d\d:\d\d)</td>\s*"+"\r\n"+ @" + <td[^>" + + @"]*?>\s*\[<a\s+href=""([^""]*?)""\s*>[^<]*?</a>\]\s*</td>\s*" +"\r\n" + + @"<td[^>]*?>.*?<a\s+href=""([^""]*?)""\s*>([^<]*?)</a>.*?</td>" + + @"\s*"+"\r\n"+ @"<td[^>]*?>(.*?)</td>"+"\r\n"+ @"", + RegexOptions.IgnoreCase + | RegexOptions.Singleline + | RegexOptions.CultureInvariant + | RegexOptions.IgnorePatternWhitespace + | RegexOptions.Compiled + ); + + } + + public void login(string username, string password) + { + System.Collections.Hashtable postData = new System.Collections.Hashtable(3); + postData.Add("action","login"); + postData.Add("login",username); + postData.Add("pwd",password); + Stream s = getHTML("http://www.etvnet.ca/cgi-bin/video/eitv_login.cgi", null, postData); // non-compliant + // how to check result ??? + byte[] buffer = new byte[1024]; + s.Read(buffer,0,1024); + String x = System.Text.Encoding.GetEncoding(0).GetString(buffer); + } + + public Hashtable getTopDirectoryPage() + { + Uri baseUrl = new Uri("http://www.etvnet.ca/main.html"); + String todayPage = getHTMLAsString(baseUrl.AbsoluteUri, null, null); + MatchCollection matches = regexTopLinks.Matches(todayPage, 0); + // + // find all stream types - archive, today, live + Hashtable streams = new Hashtable(3); + foreach (Match match in matches) + { + foreach (Capture streamtype in match.Groups[3].Captures) + { + streams[streamtype.Value] = new System.Collections.ArrayList(); + } + } + // + // fill in stream directory links + foreach (string stream in streams.Keys) + { + System.Collections.ArrayList list = (System.Collections.ArrayList)streams[stream]; + foreach (Match match in matches) + { + for (int i = 0; i < match.Groups[3].Captures.Count; i++) + { + if (match.Groups[3].Captures[i].Value == stream) + { + Hashtable entry = new Hashtable(2); + entry.Add("name", HttpUtility.HtmlDecode(match.Groups[1].Value)); + entry.Add("url", new Uri(baseUrl, match.Groups[2].Captures[i].Value).AbsoluteUri); + // ??? insert if video link analysis + list.Add(entry); + } + } + } + } + return streams; + } + + public Hashtable getDirectoryPage(string url) + { + Uri baseUrl = new Uri(url); + String dirPageString = getHTMLAsString(baseUrl.AbsoluteUri, null, null); + + Hashtable dirPage = new Hashtable(5); + System.Collections.ArrayList list; + MatchCollection matches; + + matches = regexCategories.Matches(dirPageString, 0); + list = new ArrayList(); + foreach (Match match in matches) + { + Hashtable entry = new Hashtable(2); + entry.Add("name", HttpUtility.HtmlDecode(match.Groups[2].Value)); + entry.Add("url", new Uri(baseUrl, match.Groups[1].Value).AbsoluteUri); + entry.Add("secondary", HttpUtility.HtmlDecode(match.Groups[2].Value)); + list.Add(entry); + } + dirPage.Add("categories", list); + + matches = regexLetters.Matches(dirPageString, 0); + list = new ArrayList(); + foreach (Match match in matches) + { + Hashtable entry = new Hashtable(2); + entry.Add("name", HttpUtility.HtmlDecode(match.Groups[2].Value)); + entry.Add("url", new Uri(baseUrl, match.Groups[1].Value).AbsoluteUri); + list.Add(entry); + } + dirPage.Add("letters", list); + + matches = regexArchivedEntries.Matches(dirPageString, 0); + list = new ArrayList(); + foreach (Match match in matches) + { + Hashtable entry = new Hashtable(2); + entry.Add("date", match.Groups[1].Value); + entry.Add("time", match.Groups[2].Value); + entry.Add("rating", match.Groups[3].Value); + entry.Add("infoUrl", new Uri(baseUrl, match.Groups[4].Value).AbsoluteUri); + entry.Add("url", new Uri(baseUrl, match.Groups[5].Value).AbsoluteUri); + entry.Add("name", HttpUtility.HtmlDecode(match.Groups[6].Value)); + entry.Add("length", HttpUtility.HtmlDecode(match.Groups[7].Value)); + entry.Add("pageType", "archive"); + list.Add(entry); + } + if (list.Count < 1) // today page + { + matches = regexTodayEntries.Matches(dirPageString, 0); + list = new ArrayList(); + foreach (Match match in matches) + { + Hashtable entry = new Hashtable(2); + entry.Add("date", match.Groups[1].Value); + entry.Add("time", match.Groups[2].Value); + entry.Add("rating", "0"); + entry.Add("infoUrl", new Uri(baseUrl, match.Groups[3].Value).AbsoluteUri); + entry.Add("url", new Uri(baseUrl, match.Groups[4].Value).AbsoluteUri); + entry.Add("name", HttpUtility.HtmlDecode(match.Groups[5].Value)); + entry.Add("length", HttpUtility.HtmlDecode(match.Groups[6].Value)); + entry.Add("pageType", "today"); + list.Add(entry); + } + } + dirPage.Add("entries", list); + + { + Match match; + match = regexPrev.Match(dirPageString, 0); + if (match.Groups[1].Success) + { + dirPage.Add("prev", new Uri(baseUrl, match.Groups[1].Value).AbsoluteUri); + } + + match = regexNext.Match(dirPageString, 0); + if (match.Groups[1].Success) + { + dirPage.Add("next", new Uri(baseUrl, match.Groups[1].Value).AbsoluteUri); + } + } + + return dirPage; + } + + public String getInfoPage(string url) + { + Uri baseUrl = new Uri(url); + String dirPageString = getHTMLAsString(baseUrl.AbsoluteUri, null, null); + + MatchCollection matches; + matches = regexInfo.Matches(dirPageString, 0); + string info = ""; + foreach (Match match in matches) + { + string text = match.Groups[1].Value; + if (text.Length > 0) + { + text = HttpUtility.HtmlDecode(text); + char [] trimChars = {' ','\t','\n','\r','<','>',';'}; + text = text.Trim(trimChars); + if (text.Length > 0) + { + info += text.Trim() + "\r\n"; + } + } + } + return info; + } + + public string getMMSURL(string paramUrl) + { + Match match = regexJSOpen.Match(paramUrl, 0); + if (!match.Groups[1].Success) + return null; + string url = ""; + MatchCollection matches = regexDeQuote.Matches(match.Groups[1].Value); + foreach (Match stringMatch in matches) + { + url+=stringMatch.Groups[1].Value; + } + if(url.Length < 1) + return null; + + String MMSPageString = getHTMLAsString(url, null, null); + match = regexMMS.Match(MMSPageString, 0); + if (!match.Groups[1].Success) + return null; + return match.Groups[1].Value; + } + + public String getHTMLAsString(string URL, Hashtable GETData, Hashtable POSTData) + { + Stream responseStream = getHTML(URL, GETData, POSTData); + // default encoding for non-unicode programs, set in control panel, in all reality should be win-1251 + StreamReader urlRdr = new StreamReader(new StreamReader(responseStream).BaseStream, Encoding.GetEncoding(0)); + string result = urlRdr.ReadToEnd(); + if (traceHTML) + { + StreamWriter writer; + writer = File.CreateText("htmltrace-"+HttpUtility.UrlEncode(URL)); + writer.Write(result); + writer.Close(); + } + return result; + } + + /* + * If etvnet was XHTML-compliant, we'd use this + public XmlDocument getXHTML(string URL, Hashtable GETData, Hashtable POSTData) + { + Stream responseStream = getHTML(URL, GETData, POSTData); + XmlTextReader reader = new XmlTextReader(responseStream); + reader.XmlResolver = null; + XmlDocument xmlDoc = new XmlDocument(); + xmlDoc.Load(reader); + return xmlDoc; + } + */ + + public Stream getHTML(string URL, Hashtable GETData, Hashtable POSTData) + { + // URL encode GET querystring data, if any + string GETDataString = ""; + if (GETData!=null && GETData.Count > 0) + { + foreach(string key in GETData.Keys) + { + if(GETDataString.Length > 0) + GETDataString += "&"; + GETDataString += HttpUtility.UrlEncode(key, Encoding.GetEncoding(0)) + + "=" + HttpUtility.UrlEncode(GETData[key].ToString(), Encoding.GetEncoding(0)); + } + } + // URL encode POST data, if any + string POSTDataString = ""; + if (POSTData!=null && POSTData.Count > 0) + { + foreach(string key in POSTData.Keys) + { + if(POSTDataString.Length > 0) + POSTDataString += "&"; + POSTDataString += HttpUtility.UrlEncode(key,Encoding.GetEncoding(0)) + + "=" + HttpUtility.UrlEncode(POSTData[key].ToString(), Encoding.GetEncoding(0)); + } + } + + HttpWebRequest webRequest; + Uri url; + if (GETData != null && GETData.Count > 0) + { + url = new Uri(URL); + if(url.Query.Length > 0) // some querystring is present already + url = new Uri(URL + "?" + GETDataString); + else + url = new Uri(URL + "&" + GETDataString); + } + else + { + url = new Uri(URL); + } + + if(POSTData!=null && POSTData.Count > 0) + { + webRequest = (HttpWebRequest)WebRequest.Create(url); + webRequest.CookieContainer = cookies; + webRequest.ContentType = "application/x-www-form-urlencoded"; // no file uploads supported so far + webRequest.Method = "POST"; + webRequest.UserAgent = "MediaPortal-ETVNet-Plugin/1.0"; + webRequest.ContentLength = POSTDataString.Length; + Stream postStream = webRequest.GetRequestStream(); + byte[] postBuffer = System.Text.Encoding.GetEncoding(0).GetBytes(POSTDataString); + postStream.Write(postBuffer,0,postBuffer.Length); + postStream.Close(); + }else + { + webRequest = (HttpWebRequest)WebRequest.Create(url); + webRequest.CookieContainer = cookies; + webRequest.Method = "GET"; + webRequest.UserAgent = "MediaPortal-ETVNet-Plugin/1.0"; + } + + WebResponse response = webRequest.GetResponse(); + return response.GetResponseStream(); + } + } +} Added: trunk/plugins/ETVNet/ETVNet/ETVNet.csproj =================================================================== --- trunk/plugins/ETVNet/ETVNet/ETVNet.csproj (rev 0) +++ trunk/plugins/ETVNet/ETVNet/ETVNet.csproj 2007-02-28 05:30:01 UTC (rev 140) @@ -0,0 +1,98 @@ +<Project DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> + <PropertyGroup> + <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration> + <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform> + <ProductVersion>8.0.50727</ProductVersion> + <SchemaVersion>2.0</SchemaVersion> + <ProjectGuid>{35AD720D-DC3B-46D8-BC67-C67335F1CB4C}</ProjectGuid> + <OutputType>Library</OutputType> + <AppDesignerFolder>Properties</AppDesignerFolder> + <RootNamespace>ETVNet</RootNamespace> + <AssemblyName>ETVNet</AssemblyName> + </PropertyGroup> + <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' "> + <DebugSymbols>true</DebugSymbols> + <DebugType>full</DebugType> + <Optimize>false</Optimize> + <OutputPath>bin\Debug\</OutputPath> + <DefineConstants>DEBUG;TRACE</DefineConstants> + <ErrorReport>prompt</ErrorReport> + <WarningLevel>4</WarningLevel> + </PropertyGroup> + <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' "> + <DebugType>pdbonly</DebugType> + <Optimize>true</Optimize> + <OutputPath>bin\Release\</OutputPath> + <DefineConstants>TRACE</DefineConstants> + <ErrorReport>prompt</ErrorReport> + <WarningLevel>4</WarningLevel> + </PropertyGroup> + <ItemGroup> + <Reference Include="Core, Version=1.0.2605.21111, Culture=neutral, processorArchitecture=MSIL"> + <SpecificVersion>False</SpecificVersion> + <HintPath>..\..\mediaportal\xbmc\bin\Release\Core.dll</HintPath> + </Reference> + <Reference Include="Dialogs, Version=0.0.0.0, Culture=neutral, processorArchitecture=MSIL"> + <SpecificVersion>False</SpecificVersion> + <HintPath>..\..\mediaportal\xbmc\bin\Release\plugins\windows\Dialogs.dll</HintPath> + </Reference> + <Reference Include="System" /> + <Reference Include="System.Data" /> + <Reference Include="System.Drawing" /> + <Reference Include="System.Web" /> + <Reference Include="System.Windows.Forms" /> + <Reference Include="System.Xml" /> + <Reference Include="Utils, Version=1.0.2605.20848, Culture=neutral, processorArchitecture=MSIL"> + <SpecificVersion>False</SpecificVersion> + <HintPath>..\..\mediaportal\xbmc\bin\Release\Utils.dll</HintPath> + </Reference> + </ItemGroup> + <ItemGroup> + <Compile Include="DialogRuKeyboard.cs" /> + <Compile Include="ETVBrowser.cs" /> + <Compile Include="ETVNetStreamInfo.cs" /> + <Compile Include="PathLink.cs"> + <SubType>Code</SubType> + </Compile> + <Compile Include="PathNode.cs" /> + <Compile Include="PathPage.cs" /> + <Compile Include="PathTerminal.cs" /> + <Compile Include="Plugin.cs" /> + <Compile Include="Properties\AssemblyInfo.cs" /> + <Compile Include="SetupForm.cs"> + <SubType>Form</SubType> + </Compile> + <Compile Include="SetupForm.Designer.cs"> + <DependentUpon>SetupForm.cs</DependentUpon> + </Compile> + <Compile Include="TopList.cs" /> + </ItemGroup> + <ItemGroup> + <None Include="ClassDiagram1.cd" /> + </ItemGroup> + <ItemGroup> + <Content Include="TODO.txt" /> + </ItemGroup> + <ItemGroup> + <EmbeddedResource Include="SetupForm.resx"> + <SubType>Designer</SubType> + <DependentUpon>SetupForm.cs</DependentUpon> + </EmbeddedResource> + </ItemGroup> + <Import Project="$(MSBuildBinPath)\Microsoft.CSharp.targets" /> + <!-- To modify your build process, add your task inside one of the targets below and uncomment it. + Other similar extension points exist, see Microsoft.Common.targets. + <Target Name="BeforeBuild"> + </Target> + <Target Name="AfterBuild"> + </Target> + --> + <PropertyGroup> + <PostBuildEvent>copy $(TargetPath) ..\..\mediaportal\xbmc\bin\Release\plugins\windows +copy $(ProjectDir)skinfiles\*.xml $(ProjectDir)..\..\mediaportal\xbmc\bin\Release\skin\BlueTwo +copy $(ProjectDir)skinfiles\*.png $(ProjectDir)..\..\mediaportal\xbmc\bin\Release\skin\BlueTwo\Media +copy $(ProjectDir)skinfiles\wide\*.xml "$(ProjectDir)..\..\mediaportal\xbmc\bin\Release\skin\BlueTwo Wide" +copy $(ProjectDir)skinfiles\*.png "$(ProjectDir)..\..\mediaportal\xbmc\bin\Release\skin\BlueTwo Wide\Media" +</PostBuildEvent> + </PropertyGroup> +</Project> \ No newline at end of file Added: trunk/plugins/ETVNet/ETVNet/ETVNet.csproj.user =================================================================== --- trunk/plugins/ETVNet/ETVNet/ETVNet.csproj.user (rev 0) +++ trunk/plugins/ETVNet/ETVNet/ETVNet.csproj.user 2007-02-28 05:30:01 UTC (rev 140) @@ -0,0 +1,9 @@ +<Project xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> + <PropertyGroup> + <ProjectView>ProjectFiles</ProjectView> + </PropertyGroup> + <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' "> + <StartAction>Program</StartAction> + <StartProgram>C:\projects\mp-0.2.2.0\xbmc\bin\Release\MediaPortal.exe</StartProgram> + </PropertyGroup> +</Project> \ No newline at end of file Added: trunk/plugins/ETVNet/ETVNet/ETVNetStreamInfo.cs =================================================================== --- trunk/plugins/ETVNet/ETVNet/ETVNetStreamInfo.cs (rev 0) +++ trunk/plugins/ETVNet/ETVNet/ETVNetStreamInfo.cs 2007-02-28 05:30:01 UTC (rev 140) @@ -0,0 +1,187 @@ +#region Copyright (C) 2005-2007 Team MediaPortal + +/* + * Copyright (C) 2005-2007 Team MediaPortal + * http://www.team-mediaportal.com + * + * This Program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2, or (at your option) + * any later version. + * + * This Program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with GNU Make; see the file COPYING. If not, write to + * the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA. + * http://www.gnu.org/copyleft/gpl.html + * + */ + +#endregion + +using System; +using System.Drawing; +using System.Net; +using System.Collections; +using MediaPortal.GUI.Library; +using MediaPortal.Util; + +namespace ETVNet +{ + /// <summary> + /// + /// </summary> + public class ETVNetStreamInfo : GUIWindow, IRenderLayer + { + [SkinControlAttribute(20)] + protected GUILabelControl streamLabel = null; + [SkinControlAttribute(4)] + protected GUITextControl streamInfo = null; + [SkinControlAttribute(5)] + protected GUIButtonControl playButton = null; + + #region Base Dialog Variables + bool m_bRunning = false; + int m_dwParentWindowID = 0; + GUIWindow m_pParentWindow = null; + #endregion + + public string streamInfoText; + public string streamTitleText; + public bool playPressed; + + bool m_bOverlay = false; + + public ETVNetStreamInfo() + { + GetID = 7768; + streamInfoText = "info"; + streamTitleText = "info"; + playPressed = false; + } + + public override bool Init() + { + playPressed = false; + return Load(GUIGraphicsContext.Skin + @"\DialogETVNetStreamInfo.xml"); + } + + public override void PreInit() + { + } + + public override void OnAction(Action action) + { + if (action.wID == Action.ActionType.ACTION_PREVIOUS_MENU || action.wID == Action.ActionType.ACTION_CONTEXT_MENU) + { + Close(); + return; + } + base.OnAction(action); + } + + #region Base Dialog Members + public void RenderDlg(float timePassed) + { + base.Render(timePassed); + } + + void Close() + { + GUIMessage msg = new GUIMessage(GUIMessage.MessageType.GUI_MSG_WINDOW_DEINIT, GetID, 0, 0, 0, 0, null); + OnMessage(msg); + + GUIWindowManager.UnRoute(); + m_pParentWindow = null; + m_bRunning = false; + } + + public void DoModal(int dwParentId) + { + m_dwParentWindowID = dwParentId; + m_pParentWindow = GUIWindowManager.GetWindow(m_dwParentWindowID); + if (null == m_pParentWindow) + { + m_dwParentWindowID = 0; + return; + } + + GUIWindowManager.RouteToWindow(GetID); + + // active this window... + GUIMessage msg = new GUIMessage(GUIMessage.MessageType.GUI_MSG_WINDOW_INIT, GetID, 0, 0, 0, 0, null); + OnMessage(msg); + + GUILayerManager.RegisterLayer(this, GUILayerManager.LayerType.Dialog); + m_bRunning = true; + GUILayerManager.RegisterLayer(this, GUILayerManager.LayerType.Dialog); + while (m_bRunning && GUIGraphicsContext.CurrentState == GUIGraphicsContext.State.RUNNING) + { + GUIWindowManager.Process(); + } + GUILayerManager.UnRegisterLayer(this); + } + #endregion + + + protected override void OnPageDestroy(int newWindowId) + { + if (m_bRunning) + { + // Probably user pressed H (SWITCH_HOME) + GUIWindowManager.UnRoute(); + m_pParentWindow = null; + m_bRunning = false; + } + GUIGraphicsContext.Overlay = m_bOverlay; + base.OnPageDestroy(newWindowId); + } + + protected override void OnPageLoad() + { + base.OnPageLoad(); + m_bOverlay = GUIGraphicsContext.Overlay; + Update(); + } + + protected override void OnClicked(int controlId, GUIControl control, MediaPortal.GUI.Library.Action.ActionType actionType) + { + base.OnClicked(controlId, control, actionType); + if (control == playButton) + { + // ??? set result var, exit + playPressed = true; + Close(); + } + } + + void Update() + { + playPressed = false; + streamLabel.Label = streamTitleText; + streamInfo.Clear(); + streamInfo.Label = streamInfoText; + } + + public override void Render(float timePassed) + { + RenderDlg(timePassed); + } + + #region IRenderLayer + public bool ShouldRenderLayer() + { + return true; + } + + public void RenderLayer(float timePassed) + { + Render(timePassed); + } + #endregion + } +} Added: trunk/plugins/ETVNet/ETVNet/PathLink.cs =================================================================== --- trunk/plugins/ETVNet/ETVNet/PathLink.cs (rev 0) +++ trunk/plugins/ETVNet/ETVNet/PathLink.cs 2007-02-28 05:30:01 UTC (rev 140) @@ -0,0 +1,55 @@ +#region Copyright (C) 2005-2007 Team MediaPortal + +/* + * Copyright (C) 2005-2007 Team MediaPortal + * http://www.team-mediaportal.com + * + * This Program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2, or (at your option) + * any later version. + * + * This Program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with GNU Make; see the file COPYING. If not, write to + * the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA. + * http://www.gnu.org/copyleft/gpl.html + * + */ + +#endregion + +using System; +using System.Collections.Generic; +using System.Collections; +using System.Text; +using System.Xml; + +namespace ETVNet +{ + // this is a list link class, sort of a keychain/placeholder, no data processing here + class PathLink: PathNode + { + public PathLink(string paramTitle, ETVBrowser browser, PathNode predecessor): base(browser, predecessor) + { + title = paramTitle; + nodeType = PathNodeType.Branch; + } + + public void setList(System.Collections.ArrayList paramList) + { + list = paramList; + } + + public override System.Collections.ArrayList getList() + { + if (list != null) + return list; + throw new SystemException("list is not set"); + } + } +} Added: trunk/plugins/ETVNet/ETVNet/PathNode.cs =================================================================== --- trunk/plugins/ETVNet/ETVNet/PathNode.cs (rev 0) +++ trunk/plugins/ETVNet/ETVNet/PathNode.cs 2007-02-28 05:30:01 UTC (rev 140) @@ -0,0 +1,95 @@ +#region Copyright (C) 2005-2007 Team MediaPortal + +/* + * Copyright (C) 2005-2007 Team MediaPortal + * http://www.team-mediaportal.com + * + * This Program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2, or (at your option) + * any later version. + * + * This Program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with GNU Make; see the file COPYING. If not, write to + * the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA. + * http://www.gnu.org/copyleft/gpl.html + * + */ + +#endregion + +using System; +using System.Collections.Generic; +using System.Text; + +namespace ETVNet +{ + enum PathNodeType + { + Branch, + Terminal + }; + // base path node class, mostly pure virtual + class PathNode + { + protected System.Collections.ArrayList list; + public ETVBrowser browser; + protected PathNode predecessor; + protected PathNodeType nodeType; + protected string title; + protected string title2; + + public PathNode(ETVBrowser paramBrowser, PathNode paramPredecessor) + { + list = null; + browser = paramBrowser; + predecessor = paramPredecessor; + nodeType = PathNodeType.Branch; + title = null; + title2 = null; + } + + public virtual PathNodeType getType() + { + return nodeType; + } + + public virtual string getPointInfo() + { + throw new SystemException("call to virtual method"); + } + + public virtual string getPointURL() + { + throw new SystemException("call to virtual method"); + } + + + public virtual System.Collections.ArrayList getList() + { + throw new SystemException("call to virtual method"); + } + + public virtual string getLabel() + { + if (title != null) + return title; + throw new SystemException("call to virtual method"); + } + + public virtual string getSecondaryLabel() + { + return title2; // null == none + } + + public PathNode getPredecessor() + { + return predecessor; + } + } +} Added: trunk/plugins/ETVNet/ETVNet/PathPage.cs =================================================================== --- trunk/plugins/ETVNet/ETVNet/PathPage.cs (rev 0) +++ trunk/plugins/ETVNet/ETVNet/PathPage.cs 2007-02-28 05:30:01 UTC (rev 140) @@ -0,0 +1,109 @@ +#region Copyright (C) 2005-2007 Team MediaPortal + +/* + * Copyright (C) 2005-2007 Team MediaPortal + * http://www.team-mediaportal.com + * + * This Program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2, or (at your option) + * any later version. + * + * This Program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with GNU Make; see the file COPYING. If not, write to + * the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA. + * http://www.gnu.org/copyleft/gpl.html + * + */ + +#endregion + +using System; +using System.Collections.Generic; +using System.Collections; +using System.Text; + +namespace ETVNet +{ + class PathPage: PathNode + { + string url; + + public PathPage(string paramTitle, string paramUrl, ETVBrowser browser, PathNode predecessor): base(browser, predecessor) + { + title = paramTitle; + url = paramUrl; + } + + public override System.Collections.ArrayList getList() + { + list = new ArrayList(); + Hashtable dirPage = browser.getDirectoryPage(url); + if (dirPage.ContainsKey("prev")) + { + list.Add(new PathPage("- previous",(string)dirPage["prev"], browser, this)); + } + // categories, if present + if (((ArrayList)dirPage["categories"]).Count > 0) + { + PathLink link = new PathLink("- categories", browser, this); + System.Collections.ArrayList newList = new ArrayList(); + foreach(Hashtable item in (ArrayList)dirPage["categories"]) + { + newList.Add(new PathPage((string)item["name"], (string)item["url"], browser, this)); + } + link.setList(newList); + list.Add(link); + } + // letters, if present + if (((ArrayList)dirPage["letters"]).Count > 0) + { + PathLink link = new PathLink("- jump to letter", browser, this); + System.Collections.ArrayList newList = new ArrayList(); + foreach(Hashtable item in (ArrayList)dirPage["letters"]) + { + newList.Add(new PathPage((string)item["name"], (string)item["url"], browser, this)); + } + link.setList(newList); + list.Add(link); + } + + // entries, if present + if (((ArrayList)dirPage["entries"]).Count > 0) + { + foreach(Hashtable node in (ArrayList)dirPage["entries"]) + { + PathNode pathnode; + if (((string)node["url"]).StartsWith("javascript:")) // stream link + { + string secondaryTitle = null; + if ((string)node["pageType"] == "today") + secondaryTitle = (string)node["time"]; + else + secondaryTitle = (string)node["date"]; + pathnode = new PathTerminal((string)node["name"], secondaryTitle, (string)node["url"], (string)node["infoUrl"], browser, this); + } + else + { + // archive or today page + pathnode = new PathPage((string)node["name"], (string)node["url"], browser, this); + } + list.Add(pathnode); + } + } + + if (dirPage.ContainsKey("next")) + { + list.Add(new PathPage("- next", (string)dirPage["next"], browser, this)); + } + + return list; + } + + } +} Added: trunk/plugins/ETVNet/ETVNet/PathTerminal.cs =================================================================== --- trunk/plugins/ETVNet/ETVNet/PathTerminal.cs (rev 0) +++ trunk/plugins/ETVNet/ETVNet/PathTerminal.cs 2007-02-28 05:30:01 UTC (rev 140) @@ -0,0 +1,71 @@ +#region Copyright (C) 2005-2007 Team MediaPortal + +/* + * Copyright (C) 2005-2007 Team MediaPortal + * http://www.team-mediaportal.com + * + * This Program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2, or (at your option) + * any later version. + * + * This Program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with GNU Make; see the file COPYING. If not, write to + * the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA. + * http://www.gnu.org/copyleft/gpl.html + * + */ + +#endregion + +using System; +using System.Collections.Generic; +using System.Collections; +using System.Text; +using System.Xml; + +namespace ETVNet +{ + class PathTerminal: PathNode + { + string url; + string infoUrl; + string info; + + public PathTerminal(string paramTitle, string secondaryTitle, string paramUrl, string paramInfoUrl, ETVBrowser browser, PathNode predecessor): base(browser, predecessor) + { + title = paramTitle; + url = paramUrl; + infoUrl = paramInfoUrl; + info = null; + nodeType = PathNodeType.Terminal; + title2 = secondaryTitle; + } + + public override string getPointInfo() + { + if (info!=null) + return info; + if (infoUrl != null) + info = browser.getInfoPage(infoUrl); + else + info = ""; + return info; + } + + public override string getPointURL() + { + return url; + } + + public string getMMS() + { + return browser.getMMSURL(url); + } + } +} Added: trunk/plugins/ETVNet/ETVNet/Plugin.cs =================================================================== --- trunk/plugins/ETVNet/ETVNet/Plugin.cs (rev 0) +++ trunk/plugins/ETVNet/ETVNet/Plugin.cs 2007-02-28 05:30:01 UTC (rev 140) @@ -0,0 +1,342 @@ +#region Copyright (C) 2005-2007 Team MediaPortal + +/* + * Copyright (C) 2005-2007 Team MediaPortal + * http://www.team-mediaportal.com + * + * This Program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2, or (at your option) + * any later version. + * + * This Program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with GNU Make; see the file COPYING. If not, write to + * the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA. + * http://www.gnu.org/copyleft/gpl.html + * + */ + +#endregion + +using System; +using System.Text; +using System.Web; +using System.Collections.Generic; +using System.Windows.Forms; +using MediaPortal.GUI.Library; +using MediaPortal.Dialogs; +using MediaPortal.Player; +using MediaPortal.Profile; +using MediaPortal.Util; +using MediaPortal.Configuration; + +namespace ETVNet +{ + /// <summary> + /// Summary description for Plugin. + /// </summary> + public class Plugin : GUIWindow, ISetupForm + { + [SkinControlAttribute(2)] + protected GUIButtonControl buttonRefresh = null; + [SkinControlAttribute(3)] + protected GUIButtonControl buttonSearchTitles = null; + [SkinControlAttribute(4)] + protected GUIButtonControl buttonSearchAll = null; + + [SkinControlAttribute(50)] + protected GUIFacadeControl facadeView = null; + + PathNode currentNode; + string username; + string password; + bool traceHTML; + + public Plugin() + { + // + // TODO: Add constructor logic here + // + } + + #region ISetupForm Members + + // Returns the name of the plugin which is shown in the plugin menu + public string PluginName() + { + return "ETVNet"; + } + + // Returns the description of the plugin is shown in the plugin menu + public string Description() + { + return "ETVNet.ca Russian TV-on-demand access plugin"; + } + + // Returns the author of the plugin which is shown in the plugin menu + public string Author() + { + return "Sergey Menshikov"; + } + + // show the setup dialog + public void ShowPlugin() + { + // ??? add configuration dialog for username and password + System.Windows.Forms.Form setup = new SetupForm(); + setup.ShowDialog(); + } + + // Indicates whether plugin can be enabled/disabled + public bool CanEnable() + { + return true; + } + + // get ID of windowplugin belonging to this setup + public int GetWindowId() + { + return 7769; + } + + // Indicates if plugin is enabled by default; + + public bool DefaultEnabled() + { + return true; + } + + // indicates if a plugin has its own setup screen + public bool HasSetup() + { + return true; + } + + /// <summary> + /// If the plugin should have its own button on the main menu of Mediaportal then it + /// should return true to this method, otherwise if it should not be on home + /// it should return false + /// </summary> + /// <param name="strButtonText">text the button should have</param> + /// <param name="strButtonImage">image for the button, or empty for default</param> + /// <param name="strButtonImageFocus">image for the button, or empty for default</param> + /// <param name="strPictureImage">subpicture for the button or empty for none</param> + /// <returns>true : plugin needs its own button on home + /// false : plugin does not need its own button on home</returns> + + public bool GetHome(out string strButtonText, out string strButtonImage, out string strButtonImageFocus, out string strPictureImage) + { + strButtonText = PluginName(); + strButtonImage = String.Empty; + strButtonImageFocus = String.Empty; + strPictureImage = String.Empty; + return true; + } + + #endregion + + #region CoreFunctionality + public override int GetID + { + get + { + return 7769; + } + + set + { + + } + } + + public override bool Init() + { + // ??? get from configuration + using (MediaPortal.Profile.Settings xmlreader = new MediaPortal.Profile.Settings(Config.GetFile(Config.Dir.Config, "MediaPortal.xml"))) + { + username = xmlreader.GetValueAsString("ETVNet", "username", "demo"); + password = xmlreader.GetValueAsString("ETVNet", "password", "demo"); + string traceHTMLstr = xmlreader.GetValueAsString("ETVNet", "traceHTML", "false"); + if (traceHTMLstr == "true") + traceHTML = true; + else + traceHTML = false; + } + currentNode = new TopList(username, password,traceHTML); + return Load(GUIGraphicsContext.Skin + @"\etvnet.main.xml"); + } + + public override void OnAction(Action action) + { + if ((action.wID == Action.ActionType.ACTION_PREVIOUS_MENU) && (facadeView.Focus)) + { + // select and render predecessor + PathNode predecessor = currentNode.getPredecessor(); + if (predecessor != null) + { + currentNode = predecessor; + RenderNode(); + return; + } + // allow to leave plugin from list only if there is no predecessor + } + + base.OnAction(action); + } + + protected void RenderNode() + { + System.Collections.ArrayList list = currentNode.getList(); + + facadeView.Clear(); + int i = 0; + foreach (PathNode listItem in list) + { + GUIListItem item = new GUIListItem(listItem.getLabel()); + if(listItem.getSecondaryLabel()!=null) + item.Label2 = listItem.getSecondaryLabel(); + item.ItemId = i++; + facadeView.Add(item); + } + } + + protected override void OnPageLoad() + { + base.OnPageLoad(); + // initial fill + RenderNode(); + } + + protected override void OnClicked(int controlId, GUIControl control, MediaPortal.GUI.Library.Action.ActionType actionType) + { + if (control == buttonRefresh) + OnButtonRefresh(); + else if (control == buttonSearchTitles) + OnButtonSearchTitles(); + else if (control == buttonSearchAll) + OnButtonSearchAll(); + else if (control == facadeView) + { + GUIMessage msg = new GUIMessage(GUIMessage.MessageType.GUI_MSG_ITEM_SELECTED, GetID, 0, controlId, 0, 0, null); + OnMessage(msg); + int iItem = (int)msg.Param1; + if (actionType == Action.ActionType.ACTION_SHOW_INFO) + { + // ??? auxiliary functions ? + } + if (actionType == Action.ActionType.ACTION_SELECT_ITEM) + { + // navigate forward + int index = facadeView.SelectedListItemIndex; + System.Collections.ArrayList list = currentNode.getList(); + PathNode newNode = (PathNode)list[index]; + if (newNode.getType() == PathNodeType.Branch) + { + currentNode = newNode; + RenderNode(); + } + else + { + ETVNetStreamInfo streamInfoDialog = (ETVNetStreamInfo)GUIWindowManager.GetWindow(7768); + if (null != streamInfoDialog) + { + streamInfoDialog.streamTitleText = newNode.getLabel(); + streamInfoDialog... [truncated message content] |
From: <du...@us...> - 2007-02-25 14:59:32
|
Revision: 139 http://mp-plugins.svn.sourceforge.net/mp-plugins/?rev=139&view=rev Author: dukus Date: 2007-02-25 06:59:25 -0800 (Sun, 25 Feb 2007) Log Message: ----------- First working Version. Modified Paths: -------------- trunk/plugins/mpinstaler/MPInstaler/Form1.Designer.cs trunk/plugins/mpinstaler/MPInstaler/Form1.cs trunk/plugins/mpinstaler/MPInstaler/MPInstaler.csproj trunk/plugins/mpinstaler/MPInstaler/MPinstalerStruct.cs trunk/plugins/mpinstaler/MPInstaler/MPpackageStruct.cs trunk/plugins/mpinstaler/MPInstaler/start_form.Designer.cs trunk/plugins/mpinstaler/MPInstaler/start_form.cs trunk/plugins/mpinstaler/MPInstaler/wizard/wizard_1.Designer.cs trunk/plugins/mpinstaler/MPInstaler/wizard/wizard_1.cs trunk/plugins/mpinstaler/MPInstaler.suo Added Paths: ----------- trunk/plugins/mpinstaler/MPInstaler/wizard/controlp.Designer.cs trunk/plugins/mpinstaler/MPInstaler/wizard/controlp.cs trunk/plugins/mpinstaler/MPInstaler/wizard/controlp.resx Modified: trunk/plugins/mpinstaler/MPInstaler/Form1.Designer.cs =================================================================== --- trunk/plugins/mpinstaler/MPInstaler/Form1.Designer.cs 2007-02-25 14:14:27 UTC (rev 138) +++ trunk/plugins/mpinstaler/MPInstaler/Form1.Designer.cs 2007-02-25 14:59:25 UTC (rev 139) @@ -75,16 +75,19 @@ this.label1 = new System.Windows.Forms.Label(); this.tabPage_Language = new System.Windows.Forms.TabPage(); this.tabPage_Proiect = new System.Windows.Forms.TabPage(); + this.proiectt_textBox4 = new System.Windows.Forms.TextBox(); + this.label5 = new System.Windows.Forms.Label(); this.proiectt_textBox3 = new System.Windows.Forms.TextBox(); this.label4 = new System.Windows.Forms.Label(); this.proiectt_textBox2 = new System.Windows.Forms.TextBox(); this.label3 = new System.Windows.Forms.Label(); this.proiectt_textBox1 = new System.Windows.Forms.TextBox(); this.label2 = new System.Windows.Forms.Label(); - this.label5 = new System.Windows.Forms.Label(); - this.proiectt_textBox4 = new System.Windows.Forms.TextBox(); + this.skint_comboBox1 = new System.Windows.Forms.ComboBox(); + this.label6 = new System.Windows.Forms.Label(); this.menuStrip1.SuspendLayout(); this.contextMenuStrip1.SuspendLayout(); + this.tabPage_Skin.SuspendLayout(); this.tabControl1.SuspendLayout(); this.tabPage_Text.SuspendLayout(); this.tabPage_Proiect.SuspendLayout(); @@ -198,7 +201,7 @@ this.tagReadersToolStripMenuItem, this.externalPlayersToolStripMenuItem}); this.windowPluginToolStripMenuItem.Name = "windowPluginToolStripMenuItem"; - this.windowPluginToolStripMenuItem.Size = new System.Drawing.Size(132, 22); + this.windowPluginToolStripMenuItem.Size = new System.Drawing.Size(152, 22); this.windowPluginToolStripMenuItem.Text = "Plugin"; // // windowToolStripMenuItem @@ -243,20 +246,20 @@ this.mediaToolStripMenuItem, this.fullToolStripMenuItem}); this.skinToolStripMenuItem.Name = "skinToolStripMenuItem"; - this.skinToolStripMenuItem.Size = new System.Drawing.Size(132, 22); + this.skinToolStripMenuItem.Size = new System.Drawing.Size(152, 22); this.skinToolStripMenuItem.Text = "Skin"; // // componentToolStripMenuItem // this.componentToolStripMenuItem.Name = "componentToolStripMenuItem"; - this.componentToolStripMenuItem.Size = new System.Drawing.Size(140, 22); + this.componentToolStripMenuItem.Size = new System.Drawing.Size(152, 22); this.componentToolStripMenuItem.Text = "Component"; this.componentToolStripMenuItem.Click += new System.EventHandler(this.componentToolStripMenuItem_Click); // // mediaToolStripMenuItem // this.mediaToolStripMenuItem.Name = "mediaToolStripMenuItem"; - this.mediaToolStripMenuItem.Size = new System.Drawing.Size(140, 22); + this.mediaToolStripMenuItem.Size = new System.Drawing.Size(152, 22); this.mediaToolStripMenuItem.Text = "Media"; this.mediaToolStripMenuItem.Click += new System.EventHandler(this.mediaToolStripMenuItem_Click); // @@ -264,40 +267,40 @@ // this.fullToolStripMenuItem.Enabled = false; this.fullToolStripMenuItem.Name = "fullToolStripMenuItem"; - this.fullToolStripMenuItem.Size = new System.Drawing.Size(140, 22); + this.fullToolStripMenuItem.Size = new System.Drawing.Size(152, 22); this.fullToolStripMenuItem.Text = "Full"; this.fullToolStripMenuItem.Visible = false; // // languageToolStripMenuItem // this.languageToolStripMenuItem.Name = "languageToolStripMenuItem"; - this.languageToolStripMenuItem.Size = new System.Drawing.Size(132, 22); + this.languageToolStripMenuItem.Size = new System.Drawing.Size(152, 22); this.languageToolStripMenuItem.Text = "Language"; this.languageToolStripMenuItem.Click += new System.EventHandler(this.languageToolStripMenuItem_Click); // // textToolStripMenuItem // this.textToolStripMenuItem.Name = "textToolStripMenuItem"; - this.textToolStripMenuItem.Size = new System.Drawing.Size(132, 22); + this.textToolStripMenuItem.Size = new System.Drawing.Size(152, 22); this.textToolStripMenuItem.Text = "Text"; this.textToolStripMenuItem.Click += new System.EventHandler(this.textToolStripMenuItem_Click); // // otherToolStripMenuItem // this.otherToolStripMenuItem.Name = "otherToolStripMenuItem"; - this.otherToolStripMenuItem.Size = new System.Drawing.Size(132, 22); + this.otherToolStripMenuItem.Size = new System.Drawing.Size(152, 22); this.otherToolStripMenuItem.Text = "Other"; // // settingsToolStripMenuItem // this.settingsToolStripMenuItem.Name = "settingsToolStripMenuItem"; - this.settingsToolStripMenuItem.Size = new System.Drawing.Size(132, 22); + this.settingsToolStripMenuItem.Size = new System.Drawing.Size(152, 22); this.settingsToolStripMenuItem.Text = "Settings"; // // textToolStripMenuItem1 // this.textToolStripMenuItem1.Name = "textToolStripMenuItem1"; - this.textToolStripMenuItem1.Size = new System.Drawing.Size(132, 22); + this.textToolStripMenuItem1.Size = new System.Drawing.Size(152, 22); this.textToolStripMenuItem1.Text = "Text"; this.textToolStripMenuItem1.Click += new System.EventHandler(this.textToolStripMenuItem1_Click); // @@ -380,6 +383,8 @@ // // tabPage_Skin // + this.tabPage_Skin.Controls.Add(this.label6); + this.tabPage_Skin.Controls.Add(this.skint_comboBox1); this.tabPage_Skin.Location = new System.Drawing.Point(4, 22); this.tabPage_Skin.Name = "tabPage_Skin"; this.tabPage_Skin.Padding = new System.Windows.Forms.Padding(3); @@ -432,7 +437,7 @@ "LOG", "EULA", "READ ME"}); - this.textt_comboBox1.Location = new System.Drawing.Point(43, 18); + this.textt_comboBox1.Location = new System.Drawing.Point(6, 28); this.textt_comboBox1.Name = "textt_comboBox1"; this.textt_comboBox1.Size = new System.Drawing.Size(111, 21); this.textt_comboBox1.TabIndex = 1; @@ -441,7 +446,7 @@ // label1 // this.label1.AutoSize = true; - this.label1.Location = new System.Drawing.Point(3, 21); + this.label1.Location = new System.Drawing.Point(3, 12); this.label1.Name = "label1"; this.label1.Size = new System.Drawing.Size(34, 13); this.label1.TabIndex = 0; @@ -473,6 +478,23 @@ this.tabPage_Proiect.Text = "Proiect Properties"; this.tabPage_Proiect.UseVisualStyleBackColor = true; // + // proiectt_textBox4 + // + this.proiectt_textBox4.Location = new System.Drawing.Point(94, 85); + this.proiectt_textBox4.Name = "proiectt_textBox4"; + this.proiectt_textBox4.Size = new System.Drawing.Size(298, 20); + this.proiectt_textBox4.TabIndex = 7; + this.proiectt_textBox4.TextChanged += new System.EventHandler(this.proiectt_textBox1_TextChanged); + // + // label5 + // + this.label5.AutoSize = true; + this.label5.Location = new System.Drawing.Point(5, 92); + this.label5.Name = "label5"; + this.label5.Size = new System.Drawing.Size(48, 13); + this.label5.TabIndex = 6; + this.label5.Text = "Version :"; + // // proiectt_textBox3 // this.proiectt_textBox3.Location = new System.Drawing.Point(94, 59); @@ -524,22 +546,23 @@ this.label2.TabIndex = 0; this.label2.Text = "Name :"; // - // label5 + // skint_comboBox1 // - this.label5.AutoSize = true; - this.label5.Location = new System.Drawing.Point(5, 92); - this.label5.Name = "label5"; - this.label5.Size = new System.Drawing.Size(48, 13); - this.label5.TabIndex = 6; - this.label5.Text = "Version :"; + this.skint_comboBox1.FormattingEnabled = true; + this.skint_comboBox1.Location = new System.Drawing.Point(6, 30); + this.skint_comboBox1.Name = "skint_comboBox1"; + this.skint_comboBox1.Size = new System.Drawing.Size(141, 21); + this.skint_comboBox1.TabIndex = 0; + this.skint_comboBox1.TextChanged += new System.EventHandler(this.tab_skin_change); // - // proiectt_textBox4 + // label6 // - this.proiectt_textBox4.Location = new System.Drawing.Point(94, 85); - this.proiectt_textBox4.Name = "proiectt_textBox4"; - this.proiectt_textBox4.Size = new System.Drawing.Size(298, 20); - this.proiectt_textBox4.TabIndex = 7; - this.proiectt_textBox4.TextChanged += new System.EventHandler(this.proiectt_textBox1_TextChanged); + this.label6.AutoSize = true; + this.label6.Location = new System.Drawing.Point(6, 14); + this.label6.Name = "label6"; + this.label6.Size = new System.Drawing.Size(34, 13); + this.label6.TabIndex = 1; + this.label6.Text = "Skin :"; // // Form1 // @@ -556,6 +579,8 @@ this.menuStrip1.ResumeLayout(false); this.menuStrip1.PerformLayout(); this.contextMenuStrip1.ResumeLayout(false); + this.tabPage_Skin.ResumeLayout(false); + this.tabPage_Skin.PerformLayout(); this.tabControl1.ResumeLayout(false); this.tabPage_Text.ResumeLayout(false); this.tabPage_Text.PerformLayout(); @@ -622,6 +647,8 @@ private System.Windows.Forms.Label label4; private System.Windows.Forms.Label label5; private System.Windows.Forms.TextBox proiectt_textBox4; + private System.Windows.Forms.Label label6; + private System.Windows.Forms.ComboBox skint_comboBox1; } } Modified: trunk/plugins/mpinstaler/MPInstaler/Form1.cs =================================================================== --- trunk/plugins/mpinstaler/MPInstaler/Form1.cs 2007-02-25 14:14:27 UTC (rev 138) +++ trunk/plugins/mpinstaler/MPInstaler/Form1.cs 2007-02-25 14:59:25 UTC (rev 139) @@ -8,6 +8,7 @@ using System.Xml; using System.IO; using ICSharpCode.SharpZipLib.Zip; +using MediaPortal.Configuration; namespace MPInstaler { @@ -103,9 +104,9 @@ foreach (string fil in openFileDialog1.FileNames) switch (type) { - case 1: addrow(Path.GetFileName(fil), MPinstalerStruct.SKIN_TYPE, MPinstalerStruct.SKIN_XML_SUBTYPE, Path.GetFullPath(fil), "02010",""); + case 1: addrow(Path.GetFileName(fil), MPinstalerStruct.SKIN_TYPE, "BlueTwo", Path.GetFullPath(fil), "02010", ""); break; - case 2: addrow(Path.GetFileName(fil), MPinstalerStruct.SKIN_MEDIA_TYPE, MPinstalerStruct.SKIN_XML_SUBTYPE, Path.GetFullPath(fil), "02020",""); + case 2: addrow(Path.GetFileName(fil), MPinstalerStruct.SKIN_MEDIA_TYPE, "BlueTwo", Path.GetFullPath(fil), "02020", ""); break; default: break; @@ -258,6 +259,46 @@ textt_comboBox1.Items.Add(MPinstalerStruct.TEXT_LOG_TYPE); textt_comboBox1.Items.Add(MPinstalerStruct.TEXT_README_TYPE); textt_comboBox1.Items.Add(MPinstalerStruct.TEXT_EULA_TYPE); + skint_comboBox1.Items.Clear(); + string SkinDirectory = Config.GetFolder(Config.Dir.Skin); + if (Directory.Exists(SkinDirectory)) + { + string[] skinFolders = Directory.GetDirectories(SkinDirectory, "*.*"); + + foreach (string skinFolder in skinFolders) + { + bool isInvalidDirectory = false; + string[] invalidDirectoryNames = new string[] { "cvs" }; + + string directoryName = skinFolder.Substring(SkinDirectory.Length + 1); + + if (directoryName != null && directoryName.Length > 0) + { + foreach (string invalidDirectory in invalidDirectoryNames) + { + if (invalidDirectory.Equals(directoryName.ToLower())) + { + isInvalidDirectory = true; + break; + } + } + + if (isInvalidDirectory == false) + { + // + // Check if we have a home.xml located in the directory, if so we consider it as a + // valid skin directory + // + string filename = Path.Combine(SkinDirectory, Path.Combine(directoryName, "references.xml")); + if (File.Exists(filename)) + { + skint_comboBox1.Items.Add(directoryName); + } + } + } + } + } + } private void bossview_SelectedIndexChanged(object sender, EventArgs e) @@ -270,11 +311,12 @@ tabControl1.Controls.Add(tabPage_Plugin); tabControl1.Controls.Add(tabPage_Proiect); } - if (bossview.SelectedItems[0].SubItems[1].Text == MPinstalerStruct.SKIN_TYPE) + if (bossview.SelectedItems[0].SubItems[1].Text == MPinstalerStruct.SKIN_TYPE || bossview.SelectedItems[0].SubItems[1].Text == MPinstalerStruct.SKIN_MEDIA_TYPE) { tabControl1.Controls.Clear(); tabControl1.Controls.Add(tabPage_Skin); tabControl1.Controls.Add(tabPage_Proiect); + skint_comboBox1.Text = bossview.SelectedItems[0].SubItems[2].Text; } if (bossview.SelectedItems[0].SubItems[1].Text == MPinstalerStruct.TEXT_TYPE) { @@ -311,6 +353,14 @@ } } + private void tab_skin_change(object sender, EventArgs e) + { + if (bossview.SelectedItems.Count > 0) + { + bossview.SelectedItems[0].SubItems[2].Text =skint_comboBox1.Text; + } + } + private void proiectt_textBox1_TextChanged(object sender, EventArgs e) { if (!_loading) Modified: trunk/plugins/mpinstaler/MPInstaler/MPInstaler.csproj =================================================================== --- trunk/plugins/mpinstaler/MPInstaler/MPInstaler.csproj 2007-02-25 14:14:27 UTC (rev 138) +++ trunk/plugins/mpinstaler/MPInstaler/MPInstaler.csproj 2007-02-25 14:59:25 UTC (rev 139) @@ -36,6 +36,7 @@ <DefineConstants>DEBUG;TRACE</DefineConstants> <ErrorReport>prompt</ErrorReport> <WarningLevel>4</WarningLevel> + <PlatformTarget>x86</PlatformTarget> </PropertyGroup> <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' "> <DebugType>pdbonly</DebugType> @@ -125,6 +126,10 @@ <SubType>Designer</SubType> <DependentUpon>start_form.cs</DependentUpon> </EmbeddedResource> + <EmbeddedResource Include="wizard\controlp.resx"> + <SubType>Designer</SubType> + <DependentUpon>controlp.cs</DependentUpon> + </EmbeddedResource> <EmbeddedResource Include="wizard\wizard_1.resx"> <SubType>Designer</SubType> <DependentUpon>wizard_1.cs</DependentUpon> @@ -133,6 +138,7 @@ <AutoGen>True</AutoGen> <DependentUpon>Resources.resx</DependentUpon> </Compile> + <None Include="app.config" /> <None Include="MPInstaler_TemporaryKey.pfx" /> <BaseApplicationManifest Include="Properties\app.manifest" /> <None Include="Properties\Settings.settings"> @@ -156,6 +162,12 @@ <Compile Include="start_form.Designer.cs"> <DependentUpon>start_form.cs</DependentUpon> </Compile> + <Compile Include="wizard\controlp.cs"> + <SubType>Form</SubType> + </Compile> + <Compile Include="wizard\controlp.Designer.cs"> + <DependentUpon>controlp.cs</DependentUpon> + </Compile> <Compile Include="wizard\wizard_1.cs"> <SubType>Form</SubType> </Compile> Modified: trunk/plugins/mpinstaler/MPInstaler/MPinstalerStruct.cs =================================================================== --- trunk/plugins/mpinstaler/MPInstaler/MPinstalerStruct.cs 2007-02-25 14:14:27 UTC (rev 138) +++ trunk/plugins/mpinstaler/MPInstaler/MPinstalerStruct.cs 2007-02-25 14:59:25 UTC (rev 139) @@ -9,7 +9,9 @@ using System.Xml; using System.IO; using ICSharpCode.SharpZipLib.Zip; +using MediaPortal.Configuration; + namespace MPInstaler { public class MPinstalerStruct @@ -183,7 +185,9 @@ s.PutNextEntry(entry); s.Write(buffer, 0, buffer.Length); + ls.Items.Add("Added file :" + GetZipEntry(file)); } + else ls.Items.Add("Error : File not found !"); } if (File.Exists(ProiectdFileName)) @@ -285,9 +289,53 @@ return ret; } + + public static string GetDirEntry(MPIFileList flst) + { + string ret = string.Empty; + if (flst.Type == PLUGIN_TYPE) + { + ret = Config.GetFolder(Config.Dir.Plugins) + @"\"; + switch (flst.SubType) + { + case PLUGIN_WINDOW_SUBTYPE: + ret += "Windows"; + break; + case PLUGIN_PLAYER_SUBTYPE: + ret += "ExternalPlayers"; + break; + case PLUGIN_PROCESS_SUBTYPE: + ret += "Process"; + break; + case PLUGIN_SUBTITLE_SUBTYPE: + ret += "Subtitle"; + break; + case PLUGIN_TAGREADER_SUBTYPE: + ret += "TagReaders"; + break; + + } + ret += @"\" + Path.GetFileName(flst.FileName); + } + + if (flst.Type == SKIN_TYPE) + { + ret = Config.GetFolder(Config.Dir.Skin) + @"\"+ flst.SubType + @"\" + Path.GetFileName(flst.FileName); + } + + if (flst.Type == SKIN_MEDIA_TYPE) + { + ret = Config.GetFolder(Config.Dir.Skin) + @"\" + flst.SubType + @"\" + "Media" + @"\" + Path.GetFileName(flst.FileName); + } + + if (flst.Type == TEXT_TYPE) + { + ret = Config.GetFolder(Config.Dir.Base) + @"\" + Path.GetFileName(flst.FileName); + } + return ret; + } } - public class MPIFileList { string _FileName = string.Empty; Modified: trunk/plugins/mpinstaler/MPInstaler/MPpackageStruct.cs =================================================================== --- trunk/plugins/mpinstaler/MPInstaler/MPpackageStruct.cs 2007-02-25 14:14:27 UTC (rev 138) +++ trunk/plugins/mpinstaler/MPInstaler/MPpackageStruct.cs 2007-02-25 14:59:25 UTC (rev 139) @@ -1,8 +1,12 @@ using System; using System.Collections.Generic; +using System.Collections; using System.Text; using System.IO; +using System.Xml; using ICSharpCode.SharpZipLib.Zip; +using System.Windows.Forms; +using MediaPortal.Configuration; namespace MPInstaler { @@ -21,7 +25,56 @@ txt_readme = String.Empty; } - + + public void instal_file(ProgressBar pb, MPIFileList fl) + { + string fil = FileName; + byte[] data = new byte[2048]; + int nb = data.Length; + ZipEntry entry; + try + { + if (File.Exists(fil)) + { + ZipInputStream s = new ZipInputStream(File.OpenRead(fil)); + while ((entry = s.GetNextEntry()) != null) + { + //MessageBox.Show(entry.Name); + if (Path.GetFileName(entry.Name) ==Path.GetFileName(fl.FileName)) + { + string tpf =Path.GetFullPath(MPinstalerStruct.GetDirEntry(fl)) ; + //MessageBox.Show(tpf); + FileStream fs = new FileStream(tpf, FileMode.Create); + if (pb != null) + { + pb.Minimum = 0; + pb.Maximum = (int)entry.Size; + pb.Value = 0; + } + while ((nb = s.Read(data, 0, data.Length)) > 0) + { + if (pb != null) + { + //MessageBox.Show(String.Format("{0} {1} {2}",pb.Minimum,pb.Value,pb.Maximum)); + pb.Value += nb; + pb.Refresh(); + pb.Update(); + } + fs.Write(data, 0, nb); + } + fs.Close(); + } + } + s.Close(); + load(); + } + } + catch (Exception ex) + { + MessageBox.Show(ex.Message); + } + } + public void load() { if (isValid) @@ -108,4 +161,105 @@ } } } + + public class MPInstallHelper + { + public ArrayList lst = new ArrayList(); + string InstalDir = Config.GetFolder(Config.Dir.Base) + @"\" + "Instaler"; + string FileName = ""; + public MPInstallHelper() + { + FileName = InstalDir + @"\" + "config.xml"; + if (!Directory.Exists(InstalDir)) + { + Directory.CreateDirectory(InstalDir); + } + //LoadFromFile(); + } + + public void Add(MPpackageStruct pk) + { + lst.Add(pk); + File.Copy(pk.FileName,InstalDir+@"\"+Path.GetFileName(pk.FileName),true); + } + + public void SaveToFile() + { + Stream myStream; + if ((myStream = File.Open(FileName, FileMode.Create, FileAccess.Write, FileShare.None)) != null) + { + // Code to write the stream goes here. + XmlDocument doc = new XmlDocument(); + XmlWriter writer = null; + try + { + // Create an XmlWriterSettings object with the correct options. + XmlWriterSettings settings = new XmlWriterSettings(); + string st = string.Empty; + settings.Indent = true; + settings.IndentChars = ("\t"); + settings.OmitXmlDeclaration = true; + // Create the XmlWriter object and write some content. + writer = XmlWriter.Create(myStream, settings); + writer.WriteStartElement("MPinstalerS"); + writer.WriteElementString("ver", "1.00.000"); + writer.WriteStartElement("ExtensionList"); + for (int i = 0; i < this.lst.Count; i++) + { + MPpackageStruct it = (MPpackageStruct)this.lst[i]; + writer.WriteStartElement("Extension"); + writer.WriteElementString("FileName", Path.GetFileName(it.FileName)); + writer.WriteElementString("Name", it._intalerStruct.Name); + writer.WriteElementString("URL", it._intalerStruct.UpdateURL); + writer.WriteElementString("Version", it._intalerStruct.Version); + writer.WriteElementString("Author", it._intalerStruct.Author); + writer.WriteEndElement(); + } + writer.WriteEndElement(); + writer.WriteStartElement("Option"); + writer.WriteEndElement(); + writer.WriteEndElement(); + writer.Flush(); + } + finally + { + if (writer != null) + writer.Close(); + } + myStream.Close(); + } + } + + public void LoadFromFile() + { + XmlDocument doc = new XmlDocument(); + if (File.Exists(FileName)) + { + doc.Load(FileName); + lst.Clear(); + XmlNode ver = doc.DocumentElement.SelectSingleNode("/MPinstalerS"); + XmlNodeList fileList = ver.SelectNodes("ExtensionList/Extension"); + foreach (XmlNode nodefile in fileList) + { + MPpackageStruct pkg = new MPpackageStruct(); + pkg.FileName = nodefile.SelectSingleNode("FileName").InnerText; + pkg._intalerStruct.Name = nodefile.SelectSingleNode("Name").InnerText; + pkg._intalerStruct.Author = nodefile.SelectSingleNode("Author").InnerText; + pkg._intalerStruct.Version = nodefile.SelectSingleNode("Version").InnerText; + pkg._intalerStruct.UpdateURL = nodefile.SelectSingleNode("URL").InnerText; + this.lst.Add(pkg); + } + //XmlNode nodeoption = ver.SelectSingleNode("Option"); + //this.BuildFileName = nodeoption.SelectSingleNode("BuildFileName").InnerText; + } + } + + } + + public class MPInstallHelperStruct + { + public MPInstallHelperStruct() + { + } + } } Modified: trunk/plugins/mpinstaler/MPInstaler/start_form.Designer.cs =================================================================== --- trunk/plugins/mpinstaler/MPInstaler/start_form.Designer.cs 2007-02-25 14:14:27 UTC (rev 138) +++ trunk/plugins/mpinstaler/MPInstaler/start_form.Designer.cs 2007-02-25 14:59:25 UTC (rev 139) @@ -62,10 +62,10 @@ this.button3.TabIndex = 2; this.button3.Text = "Control panel"; this.button3.UseVisualStyleBackColor = true; + this.button3.Click += new System.EventHandler(this.button3_Click); // // openFileDialog1 // - this.openFileDialog1.FileName = "openFileDialog1"; this.openFileDialog1.Filter = "MPI files|*.mpi|ZIP files|*.zip|All files|*.*"; // // start_form Modified: trunk/plugins/mpinstaler/MPInstaler/start_form.cs =================================================================== --- trunk/plugins/mpinstaler/MPInstaler/start_form.cs 2007-02-25 14:14:27 UTC (rev 138) +++ trunk/plugins/mpinstaler/MPInstaler/start_form.cs 2007-02-25 14:59:25 UTC (rev 139) @@ -39,12 +39,20 @@ wiz.package.LoadFromFile(fil); if (wiz.package.isValid) { - wiz.nextStep(); + wiz.nextStep(1); } else MessageBox.Show("Invalid package !"); } + + private void button3_Click(object sender, EventArgs e) + { + controlp cnt = new controlp(); + this.Hide(); + cnt.ShowDialog(); + this.Show(); + } } } \ No newline at end of file Added: trunk/plugins/mpinstaler/MPInstaler/wizard/controlp.Designer.cs =================================================================== --- trunk/plugins/mpinstaler/MPInstaler/wizard/controlp.Designer.cs (rev 0) +++ trunk/plugins/mpinstaler/MPInstaler/wizard/controlp.Designer.cs 2007-02-25 14:59:25 UTC (rev 139) @@ -0,0 +1,154 @@ +namespace MPInstaler +{ + partial class controlp + { + /// <summary> + /// Required designer variable. + /// </summary> + private System.ComponentModel.IContainer components = null; + + /// <summary> + /// Clean up any resources being used. + /// </summary> + /// <param name="disposing">true if managed resources should be disposed; otherwise, false.</param> + protected override void Dispose(bool disposing) + { + if (disposing && (components != null)) + { + components.Dispose(); + } + base.Dispose(disposing); + } + + #region Windows Form Designer generated code + + /// <summary> + /// Required method for Designer support - do not modify + /// the contents of this method with the code editor. + /// </summary> + private void InitializeComponent() + { + this.listView1 = new System.Windows.Forms.ListView(); + this.button1 = new System.Windows.Forms.Button(); + this.button2 = new System.Windows.Forms.Button(); + this.button3 = new System.Windows.Forms.Button(); + this.columnHeader1 = new System.Windows.Forms.ColumnHeader(); + this.columnHeader2 = new System.Windows.Forms.ColumnHeader(); + this.columnHeader3 = new System.Windows.Forms.ColumnHeader(); + this.button4 = new System.Windows.Forms.Button(); + this.columnHeader4 = new System.Windows.Forms.ColumnHeader(); + this.SuspendLayout(); + // + // listView1 + // + this.listView1.Anchor = ((System.Windows.Forms.AnchorStyles)((((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Bottom) + | System.Windows.Forms.AnchorStyles.Left) + | System.Windows.Forms.AnchorStyles.Right))); + this.listView1.Columns.AddRange(new System.Windows.Forms.ColumnHeader[] { + this.columnHeader1, + this.columnHeader2, + this.columnHeader3, + this.columnHeader4}); + this.listView1.GridLines = true; + this.listView1.HideSelection = false; + this.listView1.Location = new System.Drawing.Point(-1, -3); + this.listView1.Name = "listView1"; + this.listView1.Size = new System.Drawing.Size(632, 304); + this.listView1.TabIndex = 0; + this.listView1.UseCompatibleStateImageBehavior = false; + this.listView1.View = System.Windows.Forms.View.Details; + // + // button1 + // + this.button1.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Left))); + this.button1.Enabled = false; + this.button1.Location = new System.Drawing.Point(12, 321); + this.button1.Name = "button1"; + this.button1.Size = new System.Drawing.Size(75, 23); + this.button1.TabIndex = 1; + this.button1.Text = "Uninstall"; + this.button1.UseVisualStyleBackColor = true; + // + // button2 + // + this.button2.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Right))); + this.button2.Location = new System.Drawing.Point(542, 321); + this.button2.Name = "button2"; + this.button2.Size = new System.Drawing.Size(75, 23); + this.button2.TabIndex = 2; + this.button2.Text = "Close"; + this.button2.UseVisualStyleBackColor = true; + this.button2.Click += new System.EventHandler(this.button2_Click); + // + // button3 + // + this.button3.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Left))); + this.button3.Enabled = false; + this.button3.Location = new System.Drawing.Point(104, 321); + this.button3.Name = "button3"; + this.button3.Size = new System.Drawing.Size(75, 23); + this.button3.TabIndex = 3; + this.button3.Text = "Update"; + this.button3.UseVisualStyleBackColor = true; + // + // columnHeader1 + // + this.columnHeader1.Text = "Name"; + this.columnHeader1.Width = 179; + // + // columnHeader2 + // + this.columnHeader2.Text = "Author"; + this.columnHeader2.Width = 194; + // + // columnHeader3 + // + this.columnHeader3.Text = "Version"; + this.columnHeader3.Width = 202; + // + // button4 + // + this.button4.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Left))); + this.button4.Location = new System.Drawing.Point(196, 321); + this.button4.Name = "button4"; + this.button4.Size = new System.Drawing.Size(75, 23); + this.button4.TabIndex = 4; + this.button4.Text = "Reinstal"; + this.button4.UseVisualStyleBackColor = true; + // + // columnHeader4 + // + this.columnHeader4.Text = "File"; + // + // controlp + // + this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F); + this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font; + this.ClientSize = new System.Drawing.Size(629, 366); + this.Controls.Add(this.button4); + this.Controls.Add(this.button3); + this.Controls.Add(this.button2); + this.Controls.Add(this.button1); + this.Controls.Add(this.listView1); + this.Name = "controlp"; + this.StartPosition = System.Windows.Forms.FormStartPosition.CenterScreen; + this.Text = "Control panel"; + this.Shown += new System.EventHandler(this.controlp_Shown); + this.Load += new System.EventHandler(this.controlp_Load); + this.ResumeLayout(false); + + } + + #endregion + + private System.Windows.Forms.ListView listView1; + private System.Windows.Forms.Button button1; + private System.Windows.Forms.Button button2; + private System.Windows.Forms.Button button3; + private System.Windows.Forms.ColumnHeader columnHeader1; + private System.Windows.Forms.ColumnHeader columnHeader2; + private System.Windows.Forms.ColumnHeader columnHeader3; + private System.Windows.Forms.ColumnHeader columnHeader4; + private System.Windows.Forms.Button button4; + } +} \ No newline at end of file Added: trunk/plugins/mpinstaler/MPInstaler/wizard/controlp.cs =================================================================== --- trunk/plugins/mpinstaler/MPInstaler/wizard/controlp.cs (rev 0) +++ trunk/plugins/mpinstaler/MPInstaler/wizard/controlp.cs 2007-02-25 14:59:25 UTC (rev 139) @@ -0,0 +1,50 @@ +using System; +using System.Collections.Generic; +using System.ComponentModel; +using System.IO; +using System.Data; +using System.Drawing; +using System.Text; +using System.Windows.Forms; + +namespace MPInstaler +{ + public partial class controlp : Form + { + public MPInstallHelper lst = new MPInstallHelper(); + public controlp() + { + InitializeComponent(); + } + + private void button2_Click(object sender, EventArgs e) + { + this.Close(); + } + + private void controlp_Load(object sender, EventArgs e) + { + listView1.Items.Clear(); + lst.LoadFromFile(); + LoadToListview(); + } + private void controlp_Shown(object sender, EventArgs e) + { + + } + public void LoadToListview() + { + listView1.Items.Clear(); + for (int i = 0; i < lst.lst.Count; i++) + { + MPpackageStruct pk = (MPpackageStruct)lst.lst[i]; + ListViewItem item1 = new ListViewItem(pk._intalerStruct.Name, 0); + item1.SubItems.Add(pk._intalerStruct.Author); + item1.SubItems.Add(pk._intalerStruct.Version); + item1.SubItems.Add(Path.GetFileName(pk.FileName)); + listView1.Items.AddRange(new ListViewItem[] { item1 }); + MessageBox.Show(pk.FileName); + } + } + } +} \ No newline at end of file Added: trunk/plugins/mpinstaler/MPInstaler/wizard/controlp.resx =================================================================== --- trunk/plugins/mpinstaler/MPInstaler/wizard/controlp.resx (rev 0) +++ trunk/plugins/mpinstaler/MPInstaler/wizard/controlp.resx 2007-02-25 14:59:25 UTC (rev 139) @@ -0,0 +1,120 @@ +<?xml version="1.0" encoding="utf-8"?> +<root> + <!-- + Microsoft ResX Schema + + Version 2.0 + + The primary goals of this format is to allow a simple XML format + that is mostly human readable. The generation and parsing of the + various data types are done through the TypeConverter classes + associated with the data types. + + Example: + + ... ado.net/XML headers & schema ... + <resheader name="resmimetype">text/microsoft-resx</resheader> + <resheader name="version">2.0</resheader> + <resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader> + <resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader> + <data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data> + <data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data> + <data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64"> + <value>[base64 mime encoded serialized .NET Framework object]</value> + </data> + <data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64"> + <value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value> + <comment>This is a comment</comment> + </data> + + There are any number of "resheader" rows that contain simple + name/value pairs. + + Each data row contains a name, and value. The row also contains a + type or mimetype. Type corresponds to a .NET class that support + text/value conversion through the TypeConverter architecture. + Classes that don't support this are serialized and stored with the + mimetype set. + + The mimetype is used for serialized objects, and tells the + ResXResourceReader how to depersist the object. This is currently not + extensible. For a given mimetype the value must be set accordingly: + + Note - application/x-microsoft.net.object.binary.base64 is the format + that the ResXResourceWriter will generate, however the reader can + read any of the formats listed below. + + mimetype: application/x-microsoft.net.object.binary.base64 + value : The object must be serialized with + : System.Runtime.Serialization.Formatters.Binary.BinaryFormatter + : and then encoded with base64 encoding. + + mimetype: application/x-microsoft.net.object.soap.base64 + value : The object must be serialized with + : System.Runtime.Serialization.Formatters.Soap.SoapFormatter + : and then encoded with base64 encoding. + + mimetype: application/x-microsoft.net.object.bytearray.base64 + value : The object must be serialized into a byte array + : using a System.ComponentModel.TypeConverter + : and then encoded with base64 encoding. + --> + <xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata"> + <xsd:import namespace="http://www.w3.org/XML/1998/namespace" /> + <xsd:element name="root" msdata:IsDataSet="true"> + <xsd:complexType> + <xsd:choice maxOccurs="unbounded"> + <xsd:element name="metadata"> + <xsd:complexType> + <xsd:sequence> + <xsd:element name="value" type="xsd:string" minOccurs="0" /> + </xsd:sequence> + <xsd:attribute name="name" use="required" type="xsd:string" /> + <xsd:attribute name="type" type="xsd:string" /> + <xsd:attribute name="mimetype" type="xsd:string" /> + <xsd:attribute ref="xml:space" /> + </xsd:complexType> + </xsd:element> + <xsd:element name="assembly"> + <xsd:complexType> + <xsd:attribute name="alias" type="xsd:string" /> + <xsd:attribute name="name" type="xsd:string" /> + </xsd:complexType> + </xsd:element> + <xsd:element name="data"> + <xsd:complexType> + <xsd:sequence> + <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" /> + <xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" /> + </xsd:sequence> + <xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" /> + <xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" /> + <xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" /> + <xsd:attribute ref="xml:space" /> + </xsd:complexType> + </xsd:element> + <xsd:element name="resheader"> + <xsd:complexType> + <xsd:sequence> + <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" /> + </xsd:sequence> + <xsd:attribute name="name" type="xsd:string" use="required" /> + </xsd:complexType> + </xsd:element> + </xsd:choice> + </xsd:complexType> + </xsd:element> + </xsd:schema> + <resheader name="resmimetype"> + <value>text/microsoft-resx</value> + </resheader> + <resheader name="version"> + <value>2.0</value> + </resheader> + <resheader name="reader"> + <value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value> + </resheader> + <resheader name="writer"> + <value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value> + </resheader> +</root> \ No newline at end of file Modified: trunk/plugins/mpinstaler/MPInstaler/wizard/wizard_1.Designer.cs =================================================================== --- trunk/plugins/mpinstaler/MPInstaler/wizard/wizard_1.Designer.cs 2007-02-25 14:14:27 UTC (rev 138) +++ trunk/plugins/mpinstaler/MPInstaler/wizard/wizard_1.Designer.cs 2007-02-25 14:59:25 UTC (rev 139) @@ -30,14 +30,16 @@ { System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(wizard_1)); this.panel1 = new System.Windows.Forms.Panel(); + this.progressBar2 = new System.Windows.Forms.ProgressBar(); + this.progressBar1 = new System.Windows.Forms.ProgressBar(); + this.label2 = new System.Windows.Forms.Label(); + this.title_label = new System.Windows.Forms.Label(); + this.richTextBox1 = new System.Windows.Forms.RichTextBox(); this.panel2 = new System.Windows.Forms.Panel(); this.pictureBox1 = new System.Windows.Forms.PictureBox(); this.button_back = new System.Windows.Forms.Button(); this.button_next = new System.Windows.Forms.Button(); this.button_cancel = new System.Windows.Forms.Button(); - this.richTextBox1 = new System.Windows.Forms.RichTextBox(); - this.title_label = new System.Windows.Forms.Label(); - this.label2 = new System.Windows.Forms.Label(); this.panel1.SuspendLayout(); this.panel2.SuspendLayout(); ((System.ComponentModel.ISupportInitialize)(this.pictureBox1)).BeginInit(); @@ -46,6 +48,8 @@ // panel1 // this.panel1.BackColor = System.Drawing.Color.White; + this.panel1.Controls.Add(this.progressBar2); + this.panel1.Controls.Add(this.progressBar1); this.panel1.Controls.Add(this.label2); this.panel1.Controls.Add(this.title_label); this.panel1.Controls.Add(this.richTextBox1); @@ -54,6 +58,49 @@ this.panel1.Size = new System.Drawing.Size(334, 298); this.panel1.TabIndex = 0; // + // progressBar2 + // + this.progressBar2.Location = new System.Drawing.Point(14, 143); + this.progressBar2.Name = "progressBar2"; + this.progressBar2.Size = new System.Drawing.Size(308, 14); + this.progressBar2.TabIndex = 4; + // + // progressBar1 + // + this.progressBar1.Location = new System.Drawing.Point(14, 123); + this.progressBar1.Name = "progressBar1"; + this.progressBar1.Size = new System.Drawing.Size(308, 14); + this.progressBar1.TabIndex = 3; + // + // label2 + // + this.label2.AutoSize = true; + this.label2.Location = new System.Drawing.Point(9, 49); + this.label2.Name = "label2"; + this.label2.Size = new System.Drawing.Size(35, 13); + this.label2.TabIndex = 2; + this.label2.Text = "label2"; + // + // title_label + // + this.title_label.Font = new System.Drawing.Font("Microsoft Sans Serif", 15.75F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(0))); + this.title_label.Location = new System.Drawing.Point(9, 9); + this.title_label.Name = "title_label"; + this.title_label.Size = new System.Drawing.Size(313, 30); + this.title_label.TabIndex = 1; + this.title_label.Text = "label1"; + // + // richTextBox1 + // + this.richTextBox1.BackColor = System.Drawing.SystemColors.ActiveCaptionText; + this.richTextBox1.BorderStyle = System.Windows.Forms.BorderStyle.None; + this.richTextBox1.Location = new System.Drawing.Point(3, 74); + this.richTextBox1.Name = "richTextBox1"; + this.richTextBox1.ReadOnly = true; + this.richTextBox1.Size = new System.Drawing.Size(331, 224); + this.richTextBox1.TabIndex = 0; + this.richTextBox1.Text = ""; + // // panel2 // this.panel2.Controls.Add(this.pictureBox1); @@ -81,6 +128,7 @@ this.button_back.TabIndex = 2; this.button_back.Text = "< Back"; this.button_back.UseVisualStyleBackColor = true; + this.button_back.Click += new System.EventHandler(this.button_back_Click); // // button_next // @@ -100,36 +148,8 @@ this.button_cancel.TabIndex = 4; this.button_cancel.Text = "Cancel"; this.button_cancel.UseVisualStyleBackColor = true; + this.button_cancel.Click += new System.EventHandler(this.button_cancel_Click); // - // richTextBox1 - // - this.richTextBox1.BackColor = System.Drawing.SystemColors.ActiveCaptionText; - this.richTextBox1.BorderStyle = System.Windows.Forms.BorderStyle.None; - this.richTextBox1.Location = new System.Drawing.Point(3, 74); - this.richTextBox1.Name = "richTextBox1"; - this.richTextBox1.ReadOnly = true; - this.richTextBox1.Size = new System.Drawing.Size(331, 224); - this.richTextBox1.TabIndex = 0; - this.richTextBox1.Text = ""; - // - // title_label - // - this.title_label.Font = new System.Drawing.Font("Microsoft Sans Serif", 15.75F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(0))); - this.title_label.Location = new System.Drawing.Point(9, 9); - this.title_label.Name = "title_label"; - this.title_label.Size = new System.Drawing.Size(313, 30); - this.title_label.TabIndex = 1; - this.title_label.Text = "label1"; - // - // label2 - // - this.label2.AutoSize = true; - this.label2.Location = new System.Drawing.Point(9, 49); - this.label2.Name = "label2"; - this.label2.Size = new System.Drawing.Size(35, 13); - this.label2.TabIndex = 2; - this.label2.Text = "label2"; - // // wizard_1 // this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F); @@ -165,5 +185,7 @@ private System.Windows.Forms.Label label2; private System.Windows.Forms.Label title_label; private System.Windows.Forms.RichTextBox richTextBox1; + private System.Windows.Forms.ProgressBar progressBar2; + private System.Windows.Forms.ProgressBar progressBar1; } } \ No newline at end of file Modified: trunk/plugins/mpinstaler/MPInstaler/wizard/wizard_1.cs =================================================================== --- trunk/plugins/mpinstaler/MPInstaler/wizard/wizard_1.cs 2007-02-25 14:14:27 UTC (rev 138) +++ trunk/plugins/mpinstaler/MPInstaler/wizard/wizard_1.cs 2007-02-25 14:59:25 UTC (rev 139) @@ -5,6 +5,7 @@ using System.Drawing; using System.Text; using System.Windows.Forms; +using MediaPortal.Configuration; namespace MPInstaler { @@ -18,25 +19,30 @@ InitializeComponent(); } - public void nextStep() + public void nextStep(int m) { - step++; - test_next_step(); + step+=m; + test_next_step(m); switch (step) { case 1: { this.Text = "MediaPortal extension instaler"; button_back.Visible = false; + progressBar1.Visible = false; + progressBar2.Visible = false; title_label.Text = package._intalerStruct.Name; label2.Visible = false; + button_next.Text = "Next"; richTextBox1.Text = String.Format(" Name : {0} \n\n Author : {1} \n\n Version : {2}", package._intalerStruct.Name,package._intalerStruct.Author,package._intalerStruct.Version); - this.ShowDialog(); + if (!this.Visible) this.ShowDialog(); break; } case 2: { label2.Visible = true; + progressBar1.Visible = false; + progressBar2.Visible = false; label2.Text = "License Agreement"; button_next.Text = "I Agree"; button_back.Visible = true; @@ -46,6 +52,8 @@ case 3: { label2.Visible = true; + progressBar1.Visible = false; + progressBar2.Visible = false; label2.Text = "Change log"; button_next.Text = "Next"; button_back.Visible = true; @@ -54,6 +62,8 @@ } case 4: { + progressBar1.Visible = false; + progressBar2.Visible = false; label2.Visible = true; label2.Text = "Read me"; button_back.Visible = true; @@ -62,29 +72,59 @@ } case 5: { + progressBar1.Visible = false; + progressBar2.Visible = false; label2.Visible = true; label2.Text = "Instaling ..."; button_next.Text = "Next"; button_back.Visible = true; - richTextBox1.Text = ""; + richTextBox1.Text = String.Format("Intall paths : \nPlugins : {0}\nSkin : {1}", Config.GetFolder(Config.Dir.Plugins), Config.GetFolder(Config.Dir.Skin)); break; } case 6: { label2.Visible = true; + progressBar1.Visible = true; + progressBar2.Visible = true; label2.Text = "Instaling ..."; button_next.Visible = false; button_back.Visible = true; richTextBox1.Text = ""; richTextBox1.Visible = false; + install(); break; } } } - private void test_next_step() + private void install() { + MPInstallHelper inst = new MPInstallHelper(); + button_next.Visible = false; + button_back.Visible = false; + button_cancel.Enabled = false; + if (progressBar1 != null) + { + progressBar1.Minimum = 0; + progressBar1.Maximum = package._intalerStruct.FileList.Count; + } + for (int i = 0; i < package._intalerStruct.FileList.Count; i++) + { + package.instal_file(progressBar2,(MPIFileList) package._intalerStruct.FileList[i]); + progressBar1.Value++; + this.Refresh(); + this.Update(); + } + button_next.Visible = false; + button_cancel.Enabled = true; + inst.Add(package); + inst.SaveToFile(); + button_cancel.Text = "Finish"; + } + + private void test_next_step(int m) + { switch (step) { case 1: @@ -92,22 +132,22 @@ case 2: if (String.IsNullOrEmpty(package.txt_EULA)) { - step++; - test_step(); + step+=m; + test_next_step(m); } break; case 3: if (String.IsNullOrEmpty(package.txt_log)) { - step++; - test_step(); + step+=m; + test_next_step(m); } break; case 4: if (String.IsNullOrEmpty(package.txt_readme)) { - step++; - test_step(); + step+=m; + test_next_step(m); } break; default: @@ -117,7 +157,17 @@ private void button_next_Click(object sender, EventArgs e) { - nextStep(); + nextStep(1); } + + private void button_cancel_Click(object sender, EventArgs e) + { + this.Close(); + } + + private void button_back_Click(object sender, EventArgs e) + { + nextStep(-1); + } } } \ No newline at end of file Modified: trunk/plugins/mpinstaler/MPInstaler.suo =================================================================== (Binary files differ) This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <an...@us...> - 2007-02-25 14:14:33
|
Revision: 138 http://mp-plugins.svn.sourceforge.net/mp-plugins/?rev=138&view=rev Author: and-81 Date: 2007-02-25 06:14:27 -0800 (Sun, 25 Feb 2007) Log Message: ----------- Modified Paths: -------------- trunk/plugins/XBCDRC/XBCDRCPlugin.cs Modified: trunk/plugins/XBCDRC/XBCDRCPlugin.cs =================================================================== --- trunk/plugins/XBCDRC/XBCDRCPlugin.cs 2007-02-25 05:56:26 UTC (rev 137) +++ trunk/plugins/XBCDRC/XBCDRCPlugin.cs 2007-02-25 14:14:27 UTC (rev 138) @@ -19,9 +19,9 @@ FileStream _deviceStream; byte[] _deviceBuffer; - int _lastPacketID = 0; - int _lastKeyCode = -1; - int _lastKeyTick = 0; + int _lastPacketID = 0; + int _lastCode = -1; + DateTime _lastCodeTime = DateTime.Now; bool _disposed = false; @@ -357,24 +357,15 @@ { _lastPacketID = packetID; + TimeSpan timeSpan = DateTime.Now - _lastCodeTime; + _lastCodeTime = DateTime.Now; + int keyCode = (int)_deviceBuffer[3]; - if (keyCode == _lastKeyCode) - { - int tick = Environment.TickCount; - - if (tick >= (_lastKeyTick + 250)) - { - _lastKeyTick = tick; - _inputHandler.MapAction(keyCode); - } - } - else - { - _lastKeyCode = keyCode; - _lastKeyTick = Environment.TickCount; + if (keyCode != _lastCode || timeSpan.Milliseconds > 250) _inputHandler.MapAction(keyCode); - } + + _lastCode = keyCode; } } This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <an...@us...> - 2007-02-25 05:56:27
|
Revision: 137 http://mp-plugins.svn.sourceforge.net/mp-plugins/?rev=137&view=rev Author: and-81 Date: 2007-02-24 21:56:26 -0800 (Sat, 24 Feb 2007) Log Message: ----------- Modified Paths: -------------- trunk/plugins/MCEReplacement/MCEReplacement.cs trunk/plugins/MCEReplacement/MceIrApi.cs trunk/plugins/MCEReplacementTray/MceIrApi.cs trunk/plugins/TV3MceBlaster/MceIrApi.cs trunk/plugins/XBCDRC/XBCDRCPlugin.cs Modified: trunk/plugins/MCEReplacement/MCEReplacement.cs =================================================================== --- trunk/plugins/MCEReplacement/MCEReplacement.cs 2007-02-23 03:48:20 UTC (rev 136) +++ trunk/plugins/MCEReplacement/MCEReplacement.cs 2007-02-25 05:56:26 UTC (rev 137) @@ -1148,6 +1148,13 @@ { int card = int.Parse(tunerCard); + // To fix a known bug in MediaPortal scheduled recording (Added: 25-Feb-2007) + if (card < 0) + card = 0; + + if (card >= ExternalChannelConfigs.Length) + throw new ArgumentException("Card number is higher than last card in list, reconfigure plugin TV cards."); + ExternalChannelConfig config = ExternalChannelConfigs[card]; // Clean up the "externalChannel" string into "channel". Modified: trunk/plugins/MCEReplacement/MceIrApi.cs =================================================================== --- trunk/plugins/MCEReplacement/MceIrApi.cs 2007-02-23 03:48:20 UTC (rev 136) +++ trunk/plugins/MCEReplacement/MceIrApi.cs 2007-02-25 05:56:26 UTC (rev 137) @@ -235,6 +235,11 @@ [DllImport("MceIr.dll")] [return: MarshalAs(UnmanagedType.Bool)] static extern bool MceIrPlaybackFromFile(SafeFileHandle fileHandle); + /// <summary> + /// Transmit an IR Code from a file. + /// </summary> + /// <param name="fileHandle">Handle to the file containing the IR Code.</param> + /// <returns>Success.</returns> public static bool PlaybackFromFile(SafeFileHandle fileHandle) { _inUse = true; @@ -246,6 +251,9 @@ [DllImport("MceIr.dll")] [return: MarshalAs(UnmanagedType.Bool)] static extern bool MceIrSuspend(); + /// <summary> + /// Suspend the MceIrApi. + /// </summary> public static void Suspend() { if (!_isSuspended) @@ -259,6 +267,9 @@ [DllImport("MceIr.dll")] [return: MarshalAs(UnmanagedType.Bool)] static extern bool MceIrResume(); + /// <summary> + /// Resume the MceIrApi. + /// </summary> public static void Resume() { if (_isSuspended) @@ -273,6 +284,10 @@ [DllImport("MceIr.dll")] [return: MarshalAs(UnmanagedType.Bool)] static extern bool MceIrSelectBlaster(int portNumber); + /// <summary> + /// Select the Blaster port to use for transmitting IR Codes. + /// </summary> + /// <param name="port">Port to send to.</param> public static void SelectBlaster(BlasterPort port) { _inUse = true; @@ -282,6 +297,11 @@ [DllImport("MceIr.dll")] [return: MarshalAs(UnmanagedType.Bool)] static extern bool MceIrCheckFile(SafeFileHandle fileHandle); + /// <summary> + /// Check an IR Code file to ensure it is valid. + /// </summary> + /// <param name="fileHandle">Handle to file to check.</param> + /// <returns>True if file is valid, False if file is invalid.</returns> public static bool CheckFile(SafeFileHandle fileHandle) { _inUse = true; @@ -291,6 +311,10 @@ [DllImport("MceIr.dll")] [return: MarshalAs(UnmanagedType.Bool)] static extern bool MceIrSetBlasterSpeed(int speed); + /// <summary> + /// Set the Speed to transmit IR Codes at. + /// </summary> + /// <param name="speed">IR Code speed.</param> public static void SetBlasterSpeed(BlasterSpeed speed) { _inUse = true; @@ -300,6 +324,10 @@ [DllImport("MceIr.dll")] [return: MarshalAs(UnmanagedType.Bool)] static extern bool MceIrSetBlasterType(int type); + /// <summary> + /// Set the Type of MCE unit. + /// </summary> + /// <param name="type">Manufacturer of MCE unit.</param> public static void SetBlasterType(BlasterType type) { _inUse = true; Modified: trunk/plugins/MCEReplacementTray/MceIrApi.cs =================================================================== --- trunk/plugins/MCEReplacementTray/MceIrApi.cs 2007-02-23 03:48:20 UTC (rev 136) +++ trunk/plugins/MCEReplacementTray/MceIrApi.cs 2007-02-25 05:56:26 UTC (rev 137) @@ -235,6 +235,11 @@ [DllImport("MceIr.dll")] [return: MarshalAs(UnmanagedType.Bool)] static extern bool MceIrPlaybackFromFile(SafeFileHandle fileHandle); + /// <summary> + /// Transmit an IR Code from a file. + /// </summary> + /// <param name="fileHandle">Handle to the file containing the IR Code.</param> + /// <returns>Success.</returns> public static bool PlaybackFromFile(SafeFileHandle fileHandle) { _inUse = true; @@ -246,6 +251,9 @@ [DllImport("MceIr.dll")] [return: MarshalAs(UnmanagedType.Bool)] static extern bool MceIrSuspend(); + /// <summary> + /// Suspend the MceIrApi. + /// </summary> public static void Suspend() { if (!_isSuspended) @@ -259,6 +267,9 @@ [DllImport("MceIr.dll")] [return: MarshalAs(UnmanagedType.Bool)] static extern bool MceIrResume(); + /// <summary> + /// Resume the MceIrApi. + /// </summary> public static void Resume() { if (_isSuspended) @@ -273,6 +284,10 @@ [DllImport("MceIr.dll")] [return: MarshalAs(UnmanagedType.Bool)] static extern bool MceIrSelectBlaster(int portNumber); + /// <summary> + /// Select the Blaster port to use for transmitting IR Codes. + /// </summary> + /// <param name="port">Port to send to.</param> public static void SelectBlaster(BlasterPort port) { _inUse = true; @@ -282,6 +297,11 @@ [DllImport("MceIr.dll")] [return: MarshalAs(UnmanagedType.Bool)] static extern bool MceIrCheckFile(SafeFileHandle fileHandle); + /// <summary> + /// Check an IR Code file to ensure it is valid. + /// </summary> + /// <param name="fileHandle">Handle to file to check.</param> + /// <returns>True if file is valid, False if file is invalid.</returns> public static bool CheckFile(SafeFileHandle fileHandle) { _inUse = true; @@ -291,6 +311,10 @@ [DllImport("MceIr.dll")] [return: MarshalAs(UnmanagedType.Bool)] static extern bool MceIrSetBlasterSpeed(int speed); + /// <summary> + /// Set the Speed to transmit IR Codes at. + /// </summary> + /// <param name="speed">IR Code speed.</param> public static void SetBlasterSpeed(BlasterSpeed speed) { _inUse = true; @@ -300,6 +324,10 @@ [DllImport("MceIr.dll")] [return: MarshalAs(UnmanagedType.Bool)] static extern bool MceIrSetBlasterType(int type); + /// <summary> + /// Set the Type of MCE unit. + /// </summary> + /// <param name="type">Manufacturer of MCE unit.</param> public static void SetBlasterType(BlasterType type) { _inUse = true; Modified: trunk/plugins/TV3MceBlaster/MceIrApi.cs =================================================================== --- trunk/plugins/TV3MceBlaster/MceIrApi.cs 2007-02-23 03:48:20 UTC (rev 136) +++ trunk/plugins/TV3MceBlaster/MceIrApi.cs 2007-02-25 05:56:26 UTC (rev 137) @@ -235,6 +235,11 @@ [DllImport("MceIr.dll")] [return: MarshalAs(UnmanagedType.Bool)] static extern bool MceIrPlaybackFromFile(SafeFileHandle fileHandle); + /// <summary> + /// Transmit an IR Code from a file. + /// </summary> + /// <param name="fileHandle">Handle to the file containing the IR Code.</param> + /// <returns>Success.</returns> public static bool PlaybackFromFile(SafeFileHandle fileHandle) { _inUse = true; @@ -246,6 +251,9 @@ [DllImport("MceIr.dll")] [return: MarshalAs(UnmanagedType.Bool)] static extern bool MceIrSuspend(); + /// <summary> + /// Suspend the MceIrApi. + /// </summary> public static void Suspend() { if (!_isSuspended) @@ -259,6 +267,9 @@ [DllImport("MceIr.dll")] [return: MarshalAs(UnmanagedType.Bool)] static extern bool MceIrResume(); + /// <summary> + /// Resume the MceIrApi. + /// </summary> public static void Resume() { if (_isSuspended) @@ -273,6 +284,10 @@ [DllImport("MceIr.dll")] [return: MarshalAs(UnmanagedType.Bool)] static extern bool MceIrSelectBlaster(int portNumber); + /// <summary> + /// Select the Blaster port to use for transmitting IR Codes. + /// </summary> + /// <param name="port">Port to send to.</param> public static void SelectBlaster(BlasterPort port) { _inUse = true; @@ -282,6 +297,11 @@ [DllImport("MceIr.dll")] [return: MarshalAs(UnmanagedType.Bool)] static extern bool MceIrCheckFile(SafeFileHandle fileHandle); + /// <summary> + /// Check an IR Code file to ensure it is valid. + /// </summary> + /// <param name="fileHandle">Handle to file to check.</param> + /// <returns>True if file is valid, False if file is invalid.</returns> public static bool CheckFile(SafeFileHandle fileHandle) { _inUse = true; @@ -291,6 +311,10 @@ [DllImport("MceIr.dll")] [return: MarshalAs(UnmanagedType.Bool)] static extern bool MceIrSetBlasterSpeed(int speed); + /// <summary> + /// Set the Speed to transmit IR Codes at. + /// </summary> + /// <param name="speed">IR Code speed.</param> public static void SetBlasterSpeed(BlasterSpeed speed) { _inUse = true; @@ -300,6 +324,10 @@ [DllImport("MceIr.dll")] [return: MarshalAs(UnmanagedType.Bool)] static extern bool MceIrSetBlasterType(int type); + /// <summary> + /// Set the Type of MCE unit. + /// </summary> + /// <param name="type">Manufacturer of MCE unit.</param> public static void SetBlasterType(BlasterType type) { _inUse = true; Modified: trunk/plugins/XBCDRC/XBCDRCPlugin.cs =================================================================== --- trunk/plugins/XBCDRC/XBCDRCPlugin.cs 2007-02-23 03:48:20 UTC (rev 136) +++ trunk/plugins/XBCDRC/XBCDRCPlugin.cs 2007-02-25 05:56:26 UTC (rev 137) @@ -39,11 +39,6 @@ [MarshalAs(UnmanagedType.U4)] EFileAttributes flags, IntPtr template); - //[DllImport("kernel32", SetLastError = true)] - //[return: MarshalAs(UnmanagedType.Bool)] - //static extern bool CloseHandle( - // SafeFileHandle hObject); - [Flags] enum EFileAttributes : uint { This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <an...@us...> - 2007-02-23 03:48:22
|
Revision: 136 http://mp-plugins.svn.sourceforge.net/mp-plugins/?rev=136&view=rev Author: and-81 Date: 2007-02-22 19:48:20 -0800 (Thu, 22 Feb 2007) Log Message: ----------- Modified Paths: -------------- trunk/plugins/MCEReplacement/MCEReplacement.csproj Modified: trunk/plugins/MCEReplacement/MCEReplacement.csproj =================================================================== --- trunk/plugins/MCEReplacement/MCEReplacement.csproj 2007-02-22 12:45:00 UTC (rev 135) +++ trunk/plugins/MCEReplacement/MCEReplacement.csproj 2007-02-23 03:48:20 UTC (rev 136) @@ -148,10 +148,6 @@ <Compile Include="MceIrApi.cs" /> <Compile Include="MCEReplacement.cs" /> <Compile Include="Mouse.cs" /> - <None Include="USBUIRT\USBUIRT.cs" /> - <None Include="USBUIRT\USBUIRTLearnForm.cs"> - <SubType>Form</SubType> - </None> <Compile Include="Util.cs" /> <Compile Include="Win32.cs" /> </ItemGroup> @@ -257,10 +253,6 @@ <DependentUpon>InputMappingForm.cs</DependentUpon> <SubType>Designer</SubType> </EmbeddedResource> - <EmbeddedResource Include="USBUIRT\USBUIRTLearnForm.resx"> - <DependentUpon>USBUIRTLearnForm.cs</DependentUpon> - <SubType>Designer</SubType> - </EmbeddedResource> </ItemGroup> <PropertyGroup> <PostBuildEvent>copy "$(TargetPath)" "C:\MediaPortal Development\Plugin Releases\MCE Replacement Plugin\Release\"</PostBuildEvent> This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <an...@us...> - 2007-02-22 12:45:01
|
Revision: 135 http://mp-plugins.svn.sourceforge.net/mp-plugins/?rev=135&view=rev Author: and-81 Date: 2007-02-22 04:45:00 -0800 (Thu, 22 Feb 2007) Log Message: ----------- Modified Paths: -------------- trunk/plugins/MCEReplacement/InputMapper/InputHandler.cs trunk/plugins/MCEReplacement/InputMapper/InputMappingForm.cs trunk/plugins/MCEReplacement/MCEReplacement.csproj trunk/plugins/MCEReplacement/MceIrApi.cs Removed Paths: ------------- trunk/plugins/MCEReplacement/InputMapper/NewButtonForm.Designer.cs trunk/plugins/MCEReplacement/InputMapper/NewButtonForm.cs trunk/plugins/MCEReplacement/InputMapper/NewButtonForm.resx Modified: trunk/plugins/MCEReplacement/InputMapper/InputHandler.cs =================================================================== --- trunk/plugins/MCEReplacement/InputMapper/InputHandler.cs 2007-02-22 12:41:20 UTC (rev 134) +++ trunk/plugins/MCEReplacement/InputMapper/InputHandler.cs 2007-02-22 12:45:00 UTC (rev 135) @@ -1,8 +1,8 @@ -#region Copyright (C) 2005-2006 Team MediaPortal - Author: mPod +#region Copyright (C) 2005-2007 Team MediaPortal /* - * Copyright (C) 2005-2006 Team MediaPortal - Author: mPod - * http://www.team-mediaportal.com + * Copyright (C) 2005-2007 Team MediaPortal + * http://www.team-mediaportal.com * * This Program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by @@ -29,11 +29,11 @@ using System.Collections; using System.Xml; using System.IO; - using MediaPortal.GUI.Library; using MediaPortal.Util; using MediaPortal.Player; using MediaPortal.TV.Recording; +using MediaPortal.Configuration; namespace MediaPortal.Plugins { @@ -218,10 +218,10 @@ { int cmdKeyChar = 0; int cmdKeyCode = 0; - string condition = nodeAction.Attributes["condition"].Value.ToUpperInvariant(); - string conProperty = nodeAction.Attributes["conproperty"].Value.ToUpperInvariant(); - string command = nodeAction.Attributes["command"].Value.ToUpperInvariant(); - string cmdProperty = nodeAction.Attributes["cmdproperty"].Value.ToUpperInvariant(); + string condition = nodeAction.Attributes["condition"].Value.ToUpper(); + string conProperty = nodeAction.Attributes["conproperty"].Value.ToUpper(); + string command = nodeAction.Attributes["command"].Value.ToUpper(); + string cmdProperty = nodeAction.Attributes["cmdproperty"].Value.ToUpper(); if ((command == "ACTION") && (cmdProperty == "93")) { cmdKeyChar = Convert.ToInt32(nodeAction.Attributes["cmdkeychar"].Value); @@ -392,6 +392,7 @@ break; case "PROCESS": { + GUIGraphicsContext.ResetLastActivity(); if (processID > 0) { Process proc = Process.GetProcessById(processID); Modified: trunk/plugins/MCEReplacement/InputMapper/InputMappingForm.cs =================================================================== --- trunk/plugins/MCEReplacement/InputMapper/InputMappingForm.cs 2007-02-22 12:41:20 UTC (rev 134) +++ trunk/plugins/MCEReplacement/InputMapper/InputMappingForm.cs 2007-02-22 12:45:00 UTC (rev 135) @@ -150,7 +150,6 @@ private MediaPortal.UserInterface.Controls.MPTextBox textBoxKeyCode; private MediaPortal.UserInterface.Controls.MPLabel labelExpand; private MediaPortal.UserInterface.Controls.MPCheckBox checkBoxGainFocus; - private MediaPortal.UserInterface.Controls.MPButton buttonEdit; #endregion private MediaPortal.UserInterface.Controls.MPRadioButton radioButtonBlast; @@ -254,7 +253,6 @@ this.labelExpand = new MediaPortal.UserInterface.Controls.MPLabel(); this.buttonDefault = new MediaPortal.UserInterface.Controls.MPButton(); this.buttonRemove = new MediaPortal.UserInterface.Controls.MPButton(); - this.buttonNew = new MediaPortal.UserInterface.Controls.MPButton(); this.buttonDown = new MediaPortal.UserInterface.Controls.MPButton(); this.buttonUp = new MediaPortal.UserInterface.Controls.MPButton(); this.beveledLine1 = new MediaPortal.UserInterface.Controls.MPBeveledLine(); @@ -285,7 +283,7 @@ this.groupBoxLayer = new MediaPortal.UserInterface.Controls.MPGroupBox(); this.comboBoxLayer = new MediaPortal.UserInterface.Controls.MPComboBox(); this.labelLayer = new MediaPortal.UserInterface.Controls.MPLabel(); - this.buttonEdit = new MediaPortal.UserInterface.Controls.MPButton(); + this.buttonNew = new MediaPortal.UserInterface.Controls.MPButton(); this.buttonRemoveReplacements = new System.Windows.Forms.Button(); this.groupBoxAction.SuspendLayout(); this.groupBoxCondition.SuspendLayout(); @@ -302,7 +300,7 @@ this.treeMapping.Location = new System.Drawing.Point(16, 56); this.treeMapping.Name = "treeMapping"; this.treeMapping.Size = new System.Drawing.Size(312, 335); - this.treeMapping.TabIndex = 1; + this.treeMapping.TabIndex = 0; this.treeMapping.AfterSelect += new System.Windows.Forms.TreeViewEventHandler(this.treeMapping_AfterSelect); // // labelExpand @@ -311,17 +309,17 @@ this.labelExpand.Location = new System.Drawing.Point(328, 374); this.labelExpand.Name = "labelExpand"; this.labelExpand.Size = new System.Drawing.Size(13, 13); - this.labelExpand.TabIndex = 7; + this.labelExpand.TabIndex = 5; this.labelExpand.Text = "+"; this.labelExpand.Click += new System.EventHandler(this.labelExpand_Click); // // buttonDefault // - this.buttonDefault.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Right))); + this.buttonDefault.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Left))); this.buttonDefault.Location = new System.Drawing.Point(268, 442); this.buttonDefault.Name = "buttonDefault"; this.buttonDefault.Size = new System.Drawing.Size(75, 23); - this.buttonDefault.TabIndex = 13; + this.buttonDefault.TabIndex = 11; this.buttonDefault.Text = "Reset"; this.buttonDefault.UseVisualStyleBackColor = true; this.buttonDefault.Click += new System.EventHandler(this.buttonDefault_Click); @@ -332,29 +330,18 @@ this.buttonRemove.Location = new System.Drawing.Point(272, 397); this.buttonRemove.Name = "buttonRemove"; this.buttonRemove.Size = new System.Drawing.Size(56, 20); - this.buttonRemove.TabIndex = 6; + this.buttonRemove.TabIndex = 4; this.buttonRemove.Text = "Remove"; this.buttonRemove.UseVisualStyleBackColor = true; this.buttonRemove.Click += new System.EventHandler(this.buttonRemove_Click); // - // buttonNew - // - this.buttonNew.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Left))); - this.buttonNew.Location = new System.Drawing.Point(144, 397); - this.buttonNew.Name = "buttonNew"; - this.buttonNew.Size = new System.Drawing.Size(56, 20); - this.buttonNew.TabIndex = 4; - this.buttonNew.Text = "New"; - this.buttonNew.UseVisualStyleBackColor = true; - this.buttonNew.Click += new System.EventHandler(this.buttonNew_Click); - // // buttonDown // this.buttonDown.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Left))); - this.buttonDown.Location = new System.Drawing.Point(80, 397); + this.buttonDown.Location = new System.Drawing.Point(97, 397); this.buttonDown.Name = "buttonDown"; this.buttonDown.Size = new System.Drawing.Size(56, 20); - this.buttonDown.TabIndex = 3; + this.buttonDown.TabIndex = 2; this.buttonDown.Text = "Down"; this.buttonDown.UseVisualStyleBackColor = true; this.buttonDown.Click += new System.EventHandler(this.buttonDown_Click); @@ -365,7 +352,7 @@ this.buttonUp.Location = new System.Drawing.Point(16, 397); this.buttonUp.Name = "buttonUp"; this.buttonUp.Size = new System.Drawing.Size(56, 20); - this.buttonUp.TabIndex = 2; + this.buttonUp.TabIndex = 1; this.buttonUp.Text = "Up"; this.buttonUp.UseVisualStyleBackColor = true; this.buttonUp.Click += new System.EventHandler(this.buttonUp_Click); @@ -376,8 +363,8 @@ | System.Windows.Forms.AnchorStyles.Right))); this.beveledLine1.Location = new System.Drawing.Point(8, 432); this.beveledLine1.Name = "beveledLine1"; - this.beveledLine1.Size = new System.Drawing.Size(572, 2); - this.beveledLine1.TabIndex = 11; + this.beveledLine1.Size = new System.Drawing.Size(328, 2); + this.beveledLine1.TabIndex = 9; // // buttonApply // @@ -385,7 +372,7 @@ this.buttonApply.Location = new System.Drawing.Point(346, 442); this.buttonApply.Name = "buttonApply"; this.buttonApply.Size = new System.Drawing.Size(75, 23); - this.buttonApply.TabIndex = 14; + this.buttonApply.TabIndex = 12; this.buttonApply.Text = "Apply"; this.buttonApply.UseVisualStyleBackColor = true; this.buttonApply.Click += new System.EventHandler(this.buttonApply_Click); @@ -396,7 +383,7 @@ this.buttonOk.Location = new System.Drawing.Point(426, 442); this.buttonOk.Name = "buttonOk"; this.buttonOk.Size = new System.Drawing.Size(75, 23); - this.buttonOk.TabIndex = 15; + this.buttonOk.TabIndex = 13; this.buttonOk.Text = "OK"; this.buttonOk.UseVisualStyleBackColor = true; this.buttonOk.Click += new System.EventHandler(this.buttonOk_Click); @@ -408,7 +395,7 @@ this.buttonCancel.Location = new System.Drawing.Point(505, 442); this.buttonCancel.Name = "buttonCancel"; this.buttonCancel.Size = new System.Drawing.Size(75, 23); - this.buttonCancel.TabIndex = 16; + this.buttonCancel.TabIndex = 14; this.buttonCancel.Text = "Cancel"; this.buttonCancel.UseVisualStyleBackColor = true; // @@ -424,7 +411,7 @@ this.headerLabel.Name = "headerLabel"; this.headerLabel.PaddingLeft = 2; this.headerLabel.Size = new System.Drawing.Size(558, 24); - this.headerLabel.TabIndex = 0; + this.headerLabel.TabIndex = 15; this.headerLabel.TextColor = System.Drawing.Color.WhiteSmoke; this.headerLabel.TextFont = new System.Drawing.Font("Verdana", 14.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0))); // @@ -448,8 +435,8 @@ this.groupBoxAction.FlatStyle = System.Windows.Forms.FlatStyle.Popup; this.groupBoxAction.Location = new System.Drawing.Point(350, 221); this.groupBoxAction.Name = "groupBoxAction"; - this.groupBoxAction.Size = new System.Drawing.Size(224, 203); - this.groupBoxAction.TabIndex = 10; + this.groupBoxAction.Size = new System.Drawing.Size(224, 211); + this.groupBoxAction.TabIndex = 8; this.groupBoxAction.TabStop = false; this.groupBoxAction.Text = "Action"; // @@ -459,9 +446,9 @@ this.radioButtonBlast.FlatStyle = System.Windows.Forms.FlatStyle.Popup; this.radioButtonBlast.Location = new System.Drawing.Point(112, 68); this.radioButtonBlast.Name = "radioButtonBlast"; - this.radioButtonBlast.Size = new System.Drawing.Size(61, 17); + this.radioButtonBlast.Size = new System.Drawing.Size(102, 17); this.radioButtonBlast.TabIndex = 5; - this.radioButtonBlast.Text = "Blast IR"; + this.radioButtonBlast.Text = "Blast IR / Macro"; this.radioButtonBlast.UseVisualStyleBackColor = true; this.radioButtonBlast.Click += new System.EventHandler(this.radioButtonBlast_Click); // @@ -481,7 +468,7 @@ // this.textBoxKeyCode.BorderColor = System.Drawing.Color.Empty; this.textBoxKeyCode.Enabled = false; - this.textBoxKeyCode.Location = new System.Drawing.Point(152, 144); + this.textBoxKeyCode.Location = new System.Drawing.Point(152, 152); this.textBoxKeyCode.MaxLength = 3; this.textBoxKeyCode.Name = "textBoxKeyCode"; this.textBoxKeyCode.Size = new System.Drawing.Size(48, 20); @@ -492,7 +479,7 @@ // label1 // this.label1.AutoSize = true; - this.label1.Location = new System.Drawing.Point(24, 148); + this.label1.Location = new System.Drawing.Point(24, 156); this.label1.Name = "label1"; this.label1.Size = new System.Drawing.Size(28, 13); this.label1.TabIndex = 8; @@ -502,7 +489,7 @@ // this.textBoxKeyChar.BorderColor = System.Drawing.Color.Empty; this.textBoxKeyChar.Enabled = false; - this.textBoxKeyChar.Location = new System.Drawing.Point(72, 144); + this.textBoxKeyChar.Location = new System.Drawing.Point(72, 152); this.textBoxKeyChar.MaxLength = 3; this.textBoxKeyChar.Name = "textBoxKeyChar"; this.textBoxKeyChar.Size = new System.Drawing.Size(80, 20); @@ -525,7 +512,7 @@ // labelSound // this.labelSound.AutoSize = true; - this.labelSound.Location = new System.Drawing.Point(24, 171); + this.labelSound.Location = new System.Drawing.Point(24, 184); this.labelSound.Name = "labelSound"; this.labelSound.Size = new System.Drawing.Size(41, 13); this.labelSound.TabIndex = 11; @@ -536,7 +523,7 @@ this.comboBoxSound.BorderColor = System.Drawing.Color.Empty; this.comboBoxSound.DropDownStyle = System.Windows.Forms.ComboBoxStyle.DropDownList; this.comboBoxSound.ForeColor = System.Drawing.Color.DarkRed; - this.comboBoxSound.Location = new System.Drawing.Point(72, 168); + this.comboBoxSound.Location = new System.Drawing.Point(72, 181); this.comboBoxSound.Name = "comboBoxSound"; this.comboBoxSound.Size = new System.Drawing.Size(128, 21); this.comboBoxSound.TabIndex = 12; @@ -595,7 +582,7 @@ this.comboBoxCmdProperty.BorderColor = System.Drawing.Color.Empty; this.comboBoxCmdProperty.DropDownStyle = System.Windows.Forms.ComboBoxStyle.DropDownList; this.comboBoxCmdProperty.ForeColor = System.Drawing.Color.DarkGreen; - this.comboBoxCmdProperty.Location = new System.Drawing.Point(24, 116); + this.comboBoxCmdProperty.Location = new System.Drawing.Point(24, 120); this.comboBoxCmdProperty.Name = "comboBoxCmdProperty"; this.comboBoxCmdProperty.Size = new System.Drawing.Size(176, 21); this.comboBoxCmdProperty.Sorted = true; @@ -615,7 +602,7 @@ this.groupBoxCondition.Location = new System.Drawing.Point(350, 110); this.groupBoxCondition.Name = "groupBoxCondition"; this.groupBoxCondition.Size = new System.Drawing.Size(224, 100); - this.groupBoxCondition.TabIndex = 9; + this.groupBoxCondition.TabIndex = 7; this.groupBoxCondition.TabStop = false; this.groupBoxCondition.Text = "Condition"; // @@ -689,7 +676,7 @@ this.groupBoxLayer.Location = new System.Drawing.Point(350, 48); this.groupBoxLayer.Name = "groupBoxLayer"; this.groupBoxLayer.Size = new System.Drawing.Size(224, 52); - this.groupBoxLayer.TabIndex = 8; + this.groupBoxLayer.TabIndex = 6; this.groupBoxLayer.TabStop = false; this.groupBoxLayer.Text = "Layer"; // @@ -713,16 +700,16 @@ this.labelLayer.TabIndex = 0; this.labelLayer.Text = "Layer:"; // - // buttonEdit + // buttonNew // - this.buttonEdit.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Left))); - this.buttonEdit.Location = new System.Drawing.Point(208, 397); - this.buttonEdit.Name = "buttonEdit"; - this.buttonEdit.Size = new System.Drawing.Size(56, 20); - this.buttonEdit.TabIndex = 5; - this.buttonEdit.Text = "Edit"; - this.buttonEdit.UseVisualStyleBackColor = true; - this.buttonEdit.Click += new System.EventHandler(this.buttonEdit_Click); + this.buttonNew.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Left))); + this.buttonNew.Location = new System.Drawing.Point(189, 397); + this.buttonNew.Name = "buttonNew"; + this.buttonNew.Size = new System.Drawing.Size(56, 20); + this.buttonNew.TabIndex = 3; + this.buttonNew.Text = "New"; + this.buttonNew.UseVisualStyleBackColor = true; + this.buttonNew.Click += new System.EventHandler(this.buttonNew_Click); // // buttonRemoveReplacements // @@ -730,7 +717,7 @@ this.buttonRemoveReplacements.Location = new System.Drawing.Point(8, 442); this.buttonRemoveReplacements.Name = "buttonRemoveReplacements"; this.buttonRemoveReplacements.Size = new System.Drawing.Size(224, 24); - this.buttonRemoveReplacements.TabIndex = 12; + this.buttonRemoveReplacements.TabIndex = 10; this.buttonRemoveReplacements.Text = "Remove replacement driver mappings"; this.buttonRemoveReplacements.UseVisualStyleBackColor = true; this.buttonRemoveReplacements.Click += new System.EventHandler(this.buttonRemoveReplacements_Click); @@ -740,7 +727,6 @@ this.AutoScaleBaseSize = new System.Drawing.Size(5, 13); this.AutoScroll = true; this.ClientSize = new System.Drawing.Size(590, 475); - this.Controls.Add(this.buttonEdit); this.Controls.Add(this.buttonRemoveReplacements); this.Controls.Add(this.labelExpand); this.Controls.Add(this.treeMapping); @@ -1621,30 +1607,7 @@ } } - private void buttonEdit_Click(object sender, EventArgs e) - { - TreeNode node = treeMapping.SelectedNode; - Data data = (Data)node.Tag; - if (data.Type == "BUTTON") - { - NewButtonForm newButtonForm = new NewButtonForm(); - newButtonForm.ButtonName = (string)data.Parameter; - newButtonForm.ButtonCode = (string)data.Value; - - newButtonForm.ShowDialog(); - if (newButtonForm.Accepted) - { - ((Data)(node.Tag)).Parameter = newButtonForm.ButtonName; - ((Data)(node.Tag)).Value = newButtonForm.ButtonCode; - node.Text = newButtonForm.ButtonName; - Log.Info("Name: {0}", newButtonForm.ButtonName); - Log.Info("Code: {0}", newButtonForm.ButtonCode); - changedSettings = true; - } - } - } - private void buttonNew_Click(object sender, System.EventArgs e) { TreeNode node = treeMapping.SelectedNode; Deleted: trunk/plugins/MCEReplacement/InputMapper/NewButtonForm.Designer.cs =================================================================== --- trunk/plugins/MCEReplacement/InputMapper/NewButtonForm.Designer.cs 2007-02-22 12:41:20 UTC (rev 134) +++ trunk/plugins/MCEReplacement/InputMapper/NewButtonForm.Designer.cs 2007-02-22 12:45:00 UTC (rev 135) @@ -1,149 +0,0 @@ -#region Copyright (C) 2005-2007 Team MediaPortal - -/* - * Copyright (C) 2005-2007 Team MediaPortal - * http://www.team-mediaportal.com - * - * This Program is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; either version 2, or (at your option) - * any later version. - * - * This Program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with GNU Make; see the file COPYING. If not, write to - * the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA. - * http://www.gnu.org/copyleft/gpl.html - * - */ - -#endregion - -namespace MediaPortal.Plugins -{ - partial class NewButtonForm - { - /// <summary> - /// Required designer variable. - /// </summary> - private System.ComponentModel.IContainer components = null; - - /// <summary> - /// Clean up any resources being used. - /// </summary> - /// <param name="disposing">true if managed resources should be disposed; otherwise, false.</param> - protected override void Dispose(bool disposing) - { - if (disposing && (components != null)) - { - components.Dispose(); - } - base.Dispose(disposing); - } - - #region Windows Form Designer generated code - - /// <summary> - /// Required method for Designer support - do not modify - /// the contents of this method with the code editor. - /// </summary> - private void InitializeComponent() - { - System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(NewButtonForm)); - this.textBoxButton = new MediaPortal.UserInterface.Controls.MPTextBox(); - this.textBoxName = new MediaPortal.UserInterface.Controls.MPTextBox(); - this.buttonOk = new MediaPortal.UserInterface.Controls.MPButton(); - this.buttonCancel = new MediaPortal.UserInterface.Controls.MPButton(); - this.labelButton = new MediaPortal.UserInterface.Controls.MPLabel(); - this.labelName = new MediaPortal.UserInterface.Controls.MPLabel(); - this.SuspendLayout(); - // - // textBoxButton - // - this.textBoxButton.BorderColor = System.Drawing.Color.Empty; - this.textBoxButton.Location = new System.Drawing.Point(88, 48); - this.textBoxButton.Name = "textBoxButton"; - this.textBoxButton.Size = new System.Drawing.Size(176, 20); - this.textBoxButton.TabIndex = 0; - // - // textBoxName - // - this.textBoxName.BorderColor = System.Drawing.Color.Empty; - this.textBoxName.Location = new System.Drawing.Point(88, 80); - this.textBoxName.Name = "textBoxName"; - this.textBoxName.Size = new System.Drawing.Size(176, 20); - this.textBoxName.TabIndex = 1; - // - // buttonOk - // - this.buttonOk.Location = new System.Drawing.Point(120, 136); - this.buttonOk.Name = "buttonOk"; - this.buttonOk.Size = new System.Drawing.Size(75, 23); - this.buttonOk.TabIndex = 2; - this.buttonOk.Text = "&OK"; - this.buttonOk.UseVisualStyleBackColor = true; - this.buttonOk.Click += new System.EventHandler(this.buttonOk_Click); - // - // buttonCancel - // - this.buttonCancel.Location = new System.Drawing.Point(208, 136); - this.buttonCancel.Name = "buttonCancel"; - this.buttonCancel.Size = new System.Drawing.Size(75, 23); - this.buttonCancel.TabIndex = 3; - this.buttonCancel.Text = "&Cancel"; - this.buttonCancel.UseVisualStyleBackColor = true; - this.buttonCancel.Click += new System.EventHandler(this.buttonCancel_Click); - // - // labelButton - // - this.labelButton.AutoSize = true; - this.labelButton.Location = new System.Drawing.Point(24, 48); - this.labelButton.Name = "labelButton"; - this.labelButton.Size = new System.Drawing.Size(41, 13); - this.labelButton.TabIndex = 4; - this.labelButton.Text = "Button:"; - // - // labelName - // - this.labelName.AutoSize = true; - this.labelName.Location = new System.Drawing.Point(24, 80); - this.labelName.Name = "labelName"; - this.labelName.Size = new System.Drawing.Size(38, 13); - this.labelName.TabIndex = 5; - this.labelName.Text = "Name:"; - // - // NewButtonForm - // - this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F); - this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font; - this.ClientSize = new System.Drawing.Size(292, 170); - this.Controls.Add(this.labelName); - this.Controls.Add(this.labelButton); - this.Controls.Add(this.buttonCancel); - this.Controls.Add(this.buttonOk); - this.Controls.Add(this.textBoxName); - this.Controls.Add(this.textBoxButton); - this.Icon = ((System.Drawing.Icon)(resources.GetObject("$this.Icon"))); - this.MaximizeBox = false; - this.MinimizeBox = false; - this.Name = "NewButtonForm"; - this.Text = "Add new button"; - this.ResumeLayout(false); - this.PerformLayout(); - - } - - #endregion - - private MediaPortal.UserInterface.Controls.MPTextBox textBoxButton; - private MediaPortal.UserInterface.Controls.MPTextBox textBoxName; - private MediaPortal.UserInterface.Controls.MPButton buttonOk; - private MediaPortal.UserInterface.Controls.MPButton buttonCancel; - private MediaPortal.UserInterface.Controls.MPLabel labelButton; - private MediaPortal.UserInterface.Controls.MPLabel labelName; - } -} \ No newline at end of file Deleted: trunk/plugins/MCEReplacement/InputMapper/NewButtonForm.cs =================================================================== --- trunk/plugins/MCEReplacement/InputMapper/NewButtonForm.cs 2007-02-22 12:41:20 UTC (rev 134) +++ trunk/plugins/MCEReplacement/InputMapper/NewButtonForm.cs 2007-02-22 12:45:00 UTC (rev 135) @@ -1,87 +0,0 @@ -#region Copyright (C) 2005-2007 Team MediaPortal - -/* - * Copyright (C) 2005-2007 Team MediaPortal - * http://www.team-mediaportal.com - * - * This Program is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; either version 2, or (at your option) - * any later version. - * - * This Program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with GNU Make; see the file COPYING. If not, write to - * the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA. - * http://www.gnu.org/copyleft/gpl.html - * - */ - -#endregion - -using System; -using System.Collections.Generic; -using System.ComponentModel; -using System.Data; -using System.Drawing; -using System.Text; -using System.Windows.Forms; - -namespace MediaPortal.Plugins -{ - public partial class NewButtonForm : Form - { - private bool _accepted = false; - - public bool Accepted - { - get { return _accepted; } - } - - public string ButtonCode - { - get { return textBoxButton.Text; } - set - { - textBoxButton.Text = value; - this.Text = "Edit button"; - } - } - - public string ButtonName - { - get - { - if (textBoxButton.Text != string.Empty) - return textBoxName.Text; - else - return string.Empty; - } - set - { - textBoxName.Text = value; - this.Text = "Edit button"; - } - } - - public NewButtonForm() - { - InitializeComponent(); - } - - private void buttonCancel_Click(object sender, EventArgs e) - { - this.Close(); - } - - private void buttonOk_Click(object sender, EventArgs e) - { - _accepted = true; - this.Close(); - } - } -} \ No newline at end of file Deleted: trunk/plugins/MCEReplacement/InputMapper/NewButtonForm.resx =================================================================== --- trunk/plugins/MCEReplacement/InputMapper/NewButtonForm.resx 2007-02-22 12:41:20 UTC (rev 134) +++ trunk/plugins/MCEReplacement/InputMapper/NewButtonForm.resx 2007-02-22 12:45:00 UTC (rev 135) @@ -1,413 +0,0 @@ -<?xml version="1.0" encoding="utf-8"?> -<root> - <!-- - Microsoft ResX Schema - - Version 2.0 - - The primary goals of this format is to allow a simple XML format - that is mostly human readable. The generation and parsing of the - various data types are done through the TypeConverter classes - associated with the data types. - - Example: - - ... ado.net/XML headers & schema ... - <resheader name="resmimetype">text/microsoft-resx</resheader> - <resheader name="version">2.0</resheader> - <resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader> - <resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader> - <data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data> - <data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data> - <data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64"> - <value>[base64 mime encoded serialized .NET Framework object]</value> - </data> - <data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64"> - <value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value> - <comment>This is a comment</comment> - </data> - - There are any number of "resheader" rows that contain simple - name/value pairs. - - Each data row contains a name, and value. The row also contains a - type or mimetype. Type corresponds to a .NET class that support - text/value conversion through the TypeConverter architecture. - Classes that don't support this are serialized and stored with the - mimetype set. - - The mimetype is used for serialized objects, and tells the - ResXResourceReader how to depersist the object. This is currently not - extensible. For a given mimetype the value must be set accordingly: - - Note - application/x-microsoft.net.object.binary.base64 is the format - that the ResXResourceWriter will generate, however the reader can - read any of the formats listed below. - - mimetype: application/x-microsoft.net.object.binary.base64 - value : The object must be serialized with - : System.Runtime.Serialization.Formatters.Binary.BinaryFormatter - : and then encoded with base64 encoding. - - mimetype: application/x-microsoft.net.object.soap.base64 - value : The object must be serialized with - : System.Runtime.Serialization.Formatters.Soap.SoapFormatter - : and then encoded with base64 encoding. - - mimetype: application/x-microsoft.net.object.bytearray.base64 - value : The object must be serialized into a byte array - : using a System.ComponentModel.TypeConverter - : and then encoded with base64 encoding. - --> - <xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata"> - <xsd:import namespace="http://www.w3.org/XML/1998/namespace" /> - <xsd:element name="root" msdata:IsDataSet="true"> - <xsd:complexType> - <xsd:choice maxOccurs="unbounded"> - <xsd:element name="metadata"> - <xsd:complexType> - <xsd:sequence> - <xsd:element name="value" type="xsd:string" minOccurs="0" /> - </xsd:sequence> - <xsd:attribute name="name" use="required" type="xsd:string" /> - <xsd:attribute name="type" type="xsd:string" /> - <xsd:attribute name="mimetype" type="xsd:string" /> - <xsd:attribute ref="xml:space" /> - </xsd:complexType> - </xsd:element> - <xsd:element name="assembly"> - <xsd:complexType> - <xsd:attribute name="alias" type="xsd:string" /> - <xsd:attribute name="name" type="xsd:string" /> - </xsd:complexType> - </xsd:element> - <xsd:element name="data"> - <xsd:complexType> - <xsd:sequence> - <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" /> - <xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" /> - </xsd:sequence> - <xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" /> - <xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" /> - <xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" /> - <xsd:attribute ref="xml:space" /> - </xsd:complexType> - </xsd:element> - <xsd:element name="resheader"> - <xsd:complexType> - <xsd:sequence> - <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" /> - </xsd:sequence> - <xsd:attribute name="name" type="xsd:string" use="required" /> - </xsd:complexType> - </xsd:element> - </xsd:choice> - </xsd:complexType> - </xsd:element> - </xsd:schema> - <resheader name="resmimetype"> - <value>text/microsoft-resx</value> - </resheader> - <resheader name="version"> - <value>2.0</value> - </resheader> - <resheader name="reader"> - <value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value> - </resheader> - <resheader name="writer"> - <value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value> - </resheader> - <assembly alias="System.Drawing" name="System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" /> - <data name="$this.Icon" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64"> - <value> - AAABAAcAEBAQAAAAAAAoAQAAdgAAABAQAAABAAgAaAUAAJ4BAAAQEAAAAQAYAGgDAAAGBwAAICAQAAAA - AADoAgAAbgoAACAgAAABAAgAqAgAAFYNAAAwMAAAAQAYAKgcAAD+FQAAICAAAAEAIACoEAAApjIAACgA - AAAQAAAAIAAAAAEABAAAAAAAwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACAAACAAAAAgIAAgAAAAIAA - gACAgAAAwMDAAICAgAAAAP8AAP8AAAD//wD/AAAA/wD/AP//AAD///8ACwCwCwCwAAALC7C7ALu7AAu7 - u7sAsAsAALsLsAC7uwAAAAAAAAAAAAiIiIiAAAAAiIiIiIgAAACIiIiIiAAAAIiIiIiIAAAAiIiIiIgA - CACIiIiIiAiIgIiIiIiIiIiIiIiIiIiI/4iIiIiIiIj3iIiIiIiAiIiHCIcAiHAIiHC23wAApMMAAIDb - AADJwwAA//8AAAB/AAAAPwAAAD8AAAA/AAAAIwAAAAEAAAAAAAAAAAAAAAAAAABAAACMYQAAKAAAABAA - AAAgAAAAAQAIAAAAAABAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAABFRUUAS0tLAEZHSABAQEAATU1NADw9 - PQArKisASUlJAEpKSgBeXl4AqampAJ6engCsrKwAREREAFVWVgCrq6sAnZ2dAK6urgBLS0oAMTQ2ALS0 - tQCYl5YAmpqaAKioqABoaWkAbm5uAJWVlQCgn58APUJFAKCgnwCWlpYAn5+fAD1BQwCqqqkAi4qJAL/I - zACpqqsAkpGRAGxrawCfn54AREhKAJeXlwBZXF4AoaGgAJGRkQD///8AgYB/AERHSgCYl5cAoKCgADU3 - OQCtrKwAiYmIAMvP0gCxsLAAj4+PAJqamwCVlZYAnp2dAFdYVwBFSEoAsrGxAJGRkACpqKgAZ2lpAG1s - bQCql40Ap5KGAK+bkQBHOzYAmZeVAJWWlgBQT08ALyEbAH5vaAB9fn8AT1JUAHReUwAgs/8ADL3/ACax - /QAEsf8AlpCNAKeUiQClkogAoJ6cAGVVTgADSWgAD4TIABG2/wAYLz4AIKnoAAk6VwAagLQACF6QAFeR - swAkqvQAG7v/AJqBdAAps/8AHcX/ABR0qgAIM0QAEFyMACn5/wAVdqwAABwvAFLF/QAAJkAAYbHVAAM/ - YgAOdbIAGpTPAAZFaAAGZ6AAF6HfAAo5WQATfLoAGJfQACG2/wACAwoAIMf/AAInPwBS0P8AACpGAGO+ - 4wAGUX0AElB1ACLb/wAdsfYADDlVACPS/wAhyf8AD010ABqk3QASd6oAIb//AB29/wAsUmwACDFKAAAG - DgABBwwAAggMAAk2VQAWExIAAxkpAAo3UwAILkYABy1EAA5NdAADFSAAHcf/AB69/wANTGcAD1Z1ABBg - hAATco8ABB4yACTm/wANWXMAD1t8AA5MaAAQXoEABiY6ABJqhQAGJTgAGp7gABd6rgAdo/EAGJjeACLF - /wARaZ4AGqDqABdsmAAesf8AFFmDABNrnwAduP8AG6jtABFilAAQYnwABiU3AB+4/wANTnMADUBeABiC - tgAaqvQAF5DUAAw/XAAl5P8ABSQ6AAskNgAUbqQAGYzPABBjgAACDhUACjVLAA9ghgAKOVEABB4sAAcj - NAAHIzYAEnGSAAYlMgAHLEQAEGWEAAcqQAAHKjUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUgAAUgAAUgAAUgAAAAAAAFIAUlIA - UlIAAFJSUlIAAABSUlJSUlJSAABSAABSAAAAAFJSAFJSAAAAUlJSUgAAAAAAAAAAAAAAAAAAAAAAAEof - Hx9BAR8fHwAAAAAAAAAfHx8fKx8fHx8fAAAAAAAAHx8fHycfHx8fHwAAAAAAAB8fHx8nHx8fHx8AAAAA - AAAfHx8fJx8fHx8fAAAHBQAAHx8fHycfHx8fH5EfHx8fAB8fHx8nHx8fHwofHyY4HzkfHx8fJx8fHx8r - HyYuLhsfHx8fHycfHx8fCh8mLjYfHx8fHx8fJx8fHwAjHx8fHzYAHx8kAAAxHzYAADgfHzYAtt8AAKTD - AACA2wAAycMAAP//AAAAfwAAAD8AAAA/AAAAPwAAACMAAAABAAAAAAAAAAAAAAAAAAAAQAAAjGEAACgA - AAAQAAAAIAAAAAEAGAAAAAAAQAMAAAAAAAAAAAAAAAAAAAAAAAAAAAAEsf8AAAAAAAAEsf8AAAAAAAAE - sf8AAAAAAAAEsf8AAAAAAAAAAAAAAAAAAAAAAAAEsf8AAAAEsf8Esf8AAAAEsf8Esf8AAAAAAAAEsf8E - sf8Esf8Esf8AAAAAAAAAAAAEsf8Esf8Esf8Esf8Esf8Esf8Esf8AAAAAAAAEsf8AAAAAAAAEsf8AAAAA - AAAAAAAAAAAEsf8Esf8AAAAEsf8Esf8AAAAAAAAAAAAEsf8Esf8Esf8Esf8AAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAvIRuWlpaWlpaWlpZnaWlFRUWWlpaW - lpaWlpYAAAAAAAAAAAAAAAAAAAAAAAAAAACWlpaWlpaWlpaWlpZZXF6WlpaWlpaWlpaWlpaWlpYAAAAA - AAAAAAAAAAAAAAAAAACWlpaWlpaWlpaWlpZsa2uWlpaWlpaWlpaWlpaWlpYAAAAAAAAAAAAAAAAAAAAA - AACWlpaWlpaWlpaWlpZsa2uWlpaWlpaWlpaWlpaWlpYAAAAAAAAAAAAAAAAAAAAAAACWlpaWlpaWlpaW - lpZsa2uWlpaWlpaWlpaWlpaWlpYAAAAAAAArKitNTU0AAAAAAACWlpaWlpaWlpaWlpZsa2uWlpaWlpaW - lpaWlpaWlpYWExKWlpaWlpaWlpaWlpYAAACWlpaWlpaWlpaWlpZsa2uWlpaWlpaWlpaWlpZeXl6WlpaW - lpaSkZGPj4+WlpaampuWlpaWlpaWlpaWlpZsa2uWlpaWlpaWlpaWlpZZXF6WlpaSkZH///////+VlZWW - lpaWlpaWlpaWlpaWlpZsa2uWlpaWlpaWlpaWlpZeXl6WlpaSkZH////Lz9KWlpaWlpaWlpaWlpaWlpaW - lpaWlpaRkZGWlpaWlpaWlpYAAACLiomWlpaWlpaWlpaWlpbLz9IAAACWlpaWlpa/yMwAAAAAAACYl5eW - lpbLz9IAAAAAAACPj4+WlpaWlpbLz9IAAAC23wAApMMAAIDbAADJwwAA//8AAAB/AAAAPwAAAD8AAAA/ - AAAAIwAAAAEAAAAAAAAAAAAAAAAAAABAAACMYQAAKAAAACAAAABAAAAAAQAEAAAAAACAAgAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAIAAAIAAAACAgACAAAAAgACAAICAAADAwMAAgICAAAAA/wAA/wAAAP//AP8A - AAD/AP8A//8AAP///wAAAAAAAAAAAAAAAAAAAAAAA7AAALuzCzAAC7uwO7szsAOzAAOzuxswALszMLs7 - M7ADu7MDMDs7MAC7AAGzAzOwA7s7M7E7OzEQswAxszszsAOxC7O7uwu7szs7M7u7M7ADszuwO7MAuzO7 - u7M7swOwAbu7MAAAAAAAuwAAAAADsAADMwAAAAAAAAMAAAAAADAAOAEwAzADM4ADMwAxADMzA7gDuAsw - u7uwO7swswu7uwO4A7gLM7szMLs7MbM7M7sDuAO4CzOzAzOzA7OzOwC7A7gDuAszszsxszuzszszuwOz - A7MLuLu7iLu7s7M7u7ODsxOzO7iLuIiLO7AAA7swiLu7u7uIiIiIgwOzswAAAIiLu4uziIiIiIALsbMA - AACIiIiIgIiIiIiAAACIgzAAiIiIiICIiIiIgACIiIiIAIiIiIiAiIiIiIAIiIiIiICIiIiIgIiIiIiI - OIiIiIiIiIiIiICIiIiIgIiIh3iIiIiIiIiAiIiIiICIiP/3iIiIiIiIgIiIiIiIiIf//4iIiIiIiICI - iIiIg4iH//+IiIiIiIiAiIiIiICIiP/3iIiIiIiIgIiIiIiAiIiIiIiIiIiIiHCIiIiIcAiIiIiIiAiI - iIiACIiIh4AIeIiIiIAAiHd4AACId4gAAIh3d3gAAAAAAAAAAAAAAAAAAAAAAP////+PCcEBjgHAAYAB - jiGAAAABgAgAAYEMAAmB/8/54//v/cmQIzCIgAAgiIAAAIiAAACIgAAAgAAAAAAAAOEAAAg/AAAYPwAA - HgcAABwDAAAYAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQBAAAGAYAcDgPAP/////KAAAACAA - AABAAAAAAQAIAAAAAACABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAAAAQAAAAEB - AQACAgIABAQEAAUGBwAFCQsABQoNAAQLDgAECw8ABQ0RAAUOEwAFDxUABRAXAAUSGQAHFBwACRYdAAsY - HwAOGSAAERshABMdIgAWHiMAGSAkABsiJQAcIycAGiQqABYlLQASJTAADiYzAAwnNQAKKToACSs/AAgu - QwAIMUcACTRNAAk2UAAKOVMACjxZAApAXgAMQWAAEENgABpEXAAjQ1YAKURTADFETwA7REkAP0RHAEFF - RgBERkcAR0hIAEtKSgBPTk4AVlVVAFxcWwBhYWAAZmVlAG1sbAB0dXUAd3p8AHh9gAB9gIIAhISFAIiH - hgCJiIcAiomIAIqKiQCLi4oAi4uLAIyMjACOjo4AkJCQAJKSkgCUk5MAlJSTAJWUlACXlZQAmJWTAJqV - kgCalZIAmpWSAJqVkgCalZIAmZWTAJiVlACWlpUAlpaVAJaWlQCWlpUAlpaVAJaVlQCWlpYAlpaWAJaW - lgCWlpYAl5eXAJeXlwCYmJgAmJiYAJiYmACYmJgAmZmZAJmZmQCampoAm5ubAJubmwCcnJwAnZ2dAJ6e - ngCgoKAAoKCgAKGhoQCioqIAoqKiAKOjowClpaUApaWmAKSlpgCgo6UAm6KmAJahpwCNn6kAgp2sAHub - rQB1ma8AbZiwAGeXtABjl7YAYpa0AGKTsABhkq4AX5CsAFqMqQBWiaYAUIWkAEqCoQBGfp8APHmcADBx - lgAoao8AIGOJABldgwAWWoAAElh/AA5WfwAOVn4ADVV9AA1WfwAOWIIADlqFAA9chwAPXYkAD16MABBg - jQAQYY8AEWSTABFmlgASaJkAEmqdABJtoQASb6QAEnKoABNzqwAUda0AFXiwABZ5sgAXe7QAGH64ABiA - uwAYgb4AGIK/ABeDwQAXhMIAGIXEABqHxgAaickAGovLABuNzgAaj9EAG5DUABuS1gAclNkAHJbcAByY - 3wAdmuEAHJvkACCf5wAen+kAG6DrABqg7AAaoO0AGqHuABmi7wAZovAAGqPyABqk8wAapfUAGqb2ABun - 9wAcqPcAHKn5ABuq+wAbqvsAG6v8ABus/QAbrP4AG63+ABut/gAbrv4AG6/+ABqv/gAbr/4AG7D+AByx - /gAbsv4AG7L+AByz/gAetP4AHrX+AB+2/gAgt/4AILj+AB+5/gAeuv4AHrr+AB67/gAeu/4AHrz+AB69 - /gAfvv4AH7/+ACDA/gAgwv4AIMP+ACDE/gAhxf4AIcX+ACHG/gAlxv0AK8b8ADLG+gBDyPgAXcz0AH7R - 8QCd1u4Aut/uANDm7wDe6vAA6O/yAPD09gD09vcA////APj4+AADAwMDAwMDAwMDAwMDAwMDAwMDAwMD - AwMDAwMDAwMDAwOU2iEDAwMDv+jglwPOtgMDAyK/6+vhAyvX5uqxlfADA5zcKwMDA6/nuM7TKs63AwMD - xemlqawf6dy32LSi6wMDmd/S17kJubwJleegy6kDAw/nvgMDAyjpnwO5taDrAwOc4ca04KmtySmz4J+/ - tycoH920FSIrJeauK9CwnuwDA5zeJxHC0Lrc09jpA8jb09+vvNy8vry5wtrY6JWU7wMDleOkntTrA7nr - 6rwDA/DqvCvQ0+jo7LW06uq8A5rvAwMn6eHh6LoDAwMDAwMDAwMDA/DrAwMDAwMDAwMDqPADAwMDpqks - AwMDAwMDAwMDAwMDA7EDAwMDAwMDAwMDqQMDA6s8AyiqAwOZKwMNnKWxiwsDlaivAwOxKgMDpqCgpgOe - 6oIDsOg+A821CsXj5eXHDrrl4eefI/CdA9Tj49jcA5vhggOs3j8Dw6ss5eCiq5Ei6tyq1Lkn6ZWi47es - 1NIDmuGCA6zePwPCsaHgkAOkqpXmngOuyCvmmbLhDQ7f0gOY4YIDrN4/A8GyluOmldq7KuevK8LCleid - qN+dptjYA5bjjAOq3DAIv706x93f14I5wt3m2NSh6qQr1N7c3rM6K+WmJbrak5XSv1+AvcqCVVV/yrbJ - yxMDAwO48PC8AzY70Nre2NLb39uDVVFTUVNPX28wA7HLlfCfAwMDAwMDNlWAytO9gs/UoEFiX11dWl9f - cwMD58kq26MDAwMDAwM2X1FTUVNTVUIZRGVfX19fX19zAwMDAwk0NTcyMgMDAzZfX11dWl9lRhxFZV9f - X19fX3UDAwM3Q2ptbU0+PQMDNl9fX19fX2VHHEVlX19fX19fawMDO3ZpX2JfYmprQgM2X19fX19fZUcc - RWVfX19fX2JIMzFtX19dSEtfX19uPjZfX19fX19lRxxFZV9fX19fZUUJXWVfTEx3ckldX19qNl9fX19f - X2VHHEVlX19fX19lQhxzX01I+v//d0lfX182X19fX19fZUccRWVfX19fX2VBM29fSnf////8R01fXzZf - X19fX19lRxxFZV9fX19fZUEyb19Kd/////tFTV9fNl9fX19fX2VHHEVlX19fX19lRRtzX11F+f37d0tf - X182Yl9fX19fZUgPR2lfX19fX2JdDkRqX11LYl1LX19fajZuX19fX19fcgM3a19fX19fX3gDHWViX11N - TV9fX28+A0duYl9fX29AAwM+b2JfX2VwQgMDN3dpX19fX19vQgMDA0FrdXN3QAMDAxw+anV4Sz0DAwMD - N0F3c3Nzd0IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMD/////48JwQGOAcABgAGOIYAA - AAGACAABgQwACYH/z/nj/+/9yZAjMIiAACCIgAAAiIAAAIiAAACAAAAAAAAA4QAACD8AABg/AAAeBwAA - HAMAABgBAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAEAAAYBgBwOA8A/////8oAAAAMAAAAGAA - AAABABgAAAAAAIAcAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQMF - D1iBHaz+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACz9dGJDUHKb0GpvkF4nKAQkNAAAAD1qEFobFFobF - CTRNAAAAAAAAAAAAAAAAAAECByxBFoK/HKTyG6DsHKb0Haz9EWWVAAAAAQUIDU90GZffG6TxG5/qHaz9 - GpnhBBomDU91Ha3/Ha3/AAAAAAAAAgwRFX+7Ha3/F4jJBR8uAAAAAAAAAAAAAAAAAAAACThSG5/rHaz+ - Ha3/Ha3/G6HuDlV+AQcLFX66Ha3/Ha3/CTRNAAAAAAAAAAAAAAAABR4sGI7SHaz9Ha3/Ha3/Ha3/Ha3/ - FoTDAQcLC0JhHKXzHa3/Ha3/Ha3/Ha3/Haz+Cj5bFoTDHa3/Ha3/AAAAAAAAAg4UFoTCHa3/FYC8AxAX - AAAAAAAAAAAAAAAABRsoGZbdHa3/Ha3/Ha3/Ha3/Ha3/GJHVByxBFYC9Ha3/Ha3/CTRNAAAAAAAAAAAA - AgwSE3GnHa3/Ha3/Ha3/Ha3/Ha3/Ha3/EGCNBSEwG5/qHa3/Ha3/Ha3/Ha3/Ha3/Ha3/DElrF4vNHa3/ - Ha3/AAAAAAAAAg0TFoLAHa3/G6HuF4bGFoK/FHWtCDJKAAAAC0NjHKf2Ha3/G6DsCTNLFHixHa3/HKb1 - D1qEFX66Ha3/Ha3/CTRNAAAAAAAAAAEBBiU3Gp3oHa3/Ha3/AAAAAAAAAAAADUtvAAIDDlJ5Haz+Ha3/ - GZffCjtXFX66Ha3/Ha3/DEdoF4nKHa3/Ha3/AAAAAAAAAg0TFoPBHa3/Ha3/Ha3/Ha3/Ha3/GpvlBRwp - DU5zHKf2Ha3/Cj5bAAAABiExHaz9Ha3/E3ClFoLAHa3/GI7RCTRNAAAAAAAAAAEBCC1DHKf2Ha3/E2+j - AAAAAAAAAAAAAAAAAAAAEWiZHa3/G6HtCDJJAAAACjxZHav8Ha3/DEdpF4nKHa3/Ha3/AAAAAAAAAg0T - F4jIHa3/Ha3/HKr6G6LvHav8Ha3/FoK/DlF4G6PwHa3/EWOSAxMcD1qFHa3/Haz+EmqcFHmyHa3/G6Lv - CTRNAxEZBBonAw8WByxBHKTyHa3/EWOSAxQdAxAYBBomDU1yAQUHD1yHHa3/HKb0D1eAAxIaE3GmHa3/ - Ha3/C0JhF4rLHa3/Ha3/AAAAAAAAAg0TFobFHa3/Hav8EmiaCjpVGIzPHa3/Haz+EWOSGJHWHa3/Hav8 - GZbdHaz+Ha3/Ha3/E3GnEWSUHaz9Ha3/G6HuGIzPGpnhFX66DEZnGZffHa3/G5/rEWOSEWOSEWOSEWOS - EWOSDEptHKXzHa3/HKn5GpvlHaz+Ha3/G6HuBiIyF4fHHa3/Ha3/AAAAAAAAAg4UFoXEHa3/F4fHAgwR - AAAAEWaWHa3/Ha3/Ha3/GI7SHav8Ha3/Ha3/Ha3/Ha3/Ha3/AAAAF4jJGp7pHa3/Ha3/Ha3/Ha3/Ha3/ - FoPBGJLXHa3/Ha3/Ha3/Ha3/Ha3/Ha3/Ha3/Ha3/GJLXHaz+Ha3/Ha3/Ha3/Ha3/EWaXAQUHF4nKHa3/ - Ha3/AAAAAAAAAw8WFX24Ha3/GZffDEVmCC9FGZXbHa3/Ha3/Ha3/AAAAHa3/Ha3/Ha3/Ha3/Ha3/Ha3/ - AAAAAAAAHa3/Ha3/Ha3/Ha3/Har7F4rLD1qFGpvlHa3/Ha3/Ha3/Ha3/Ha3/Ha3/Ha3/Ha3/Ha3/Ha3/ - Ha3/Ha3/Ha3/Ha3/Ag4VAAAAF4rMHa3/Ha3/AAAAAAAAAxMcEWOSHa3/Ha3/HKTyG6PwHa3/Ha3/Ha3/ - Ha3/AAAAAAAAHa3/Ha3/Ha3/Ha3/AAAAAAAAAAAAAAAAHa3/Ha3/Ha3/F4vNByxBByg7HKj4Ha3/Ha3/ - Ha3/Ha3/Ha3/Ha3/Ha3/AAAAAAAAHa3/Ha3/Ha3/Ha3/AAAAAAAAAQMFGZTaHa3/Ha3/AAAAAAAAAAAA - DUtuGpniHa3/Ha3/Ha3/Ha3/Ha3/Ha3/AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAHa3/Ha3/Ha3/AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAHa3/Ha3/Ha3/AAAAAAAAAAAAAAAABSAvE3ClHKj3Ha3/F4jJD1iCCDJJAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHa3/Ha3/AAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHa3/Ha3/Ha3/AAAAAAAAAAAAAAAAAwMDHx8fOjo6 - ICAgAAAAGxsbGxsbAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgICAgICBQUFAgICBAQEQkJCMzMzJCQk - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAIDDUdoHa3+TqLSdXZ3HR0dAxAXIIO8Iqr4Q4KlDxUXAAAABys/G5/qGIzPBBUfAwMD - AxAXD1yHGpvlHKXzG6PwHqn4LKryPl1vAQEBAgsQDlF3GpzmHaz+G6DsHa3/AxAYAAAAByk9G6TxHa3/ - CDBHAAAAAQkNDlJ5GpniHKf2G6LvHKj3Haz9Ha3/AAAAAg4UGIK+Ha3/MqntX4CTGRkZCTNLHpzkHa3/ - R6XbRE1TAQEBEF2JHa3/G6HtDDxXAQMFEmyfHav8Ha3/Ha3/Ha3/Ha3/Hq3+FGiYAAAAD1iBHav8Ha3/ - Ha3/Haz+Haz+FoPBAAAADlV+Ha3/Hav8C0FgAAAAEF6LHKn5Haz+Ha3/Ha3/Har7Ha3/Ha3/AAAAAg4V - GYbFHa3/L6rwXYKXGhoaCTdRHp7nHa3/RqXcV2BlBAQED1yIHa3/HKDrCThSC0FgHar6Ha3/Ha3+Hqz9 - Hqz9Hq3+H6v6C0NjBiMzHaz+Ha3/Haz+Hav8Haz+Ha3/HKj3Byk9DUtuHa3/HKf2CTRNCC5EG6PwHa3/ - Haz+Hav8Haz+HKn5Ha3/Ha3/AAAAAw4VGYXCHa3/MKnvXoGVGhoaCTdRHp7nHa3/R6XbWGBkBgYGEFuG - Ha3/HZ/pC0NjGXWpHa3/Hq3+PaXfJWCDEkViSIqwNWyMAQQGFWSRHa3/Ha3/G6TxD1yHF4jJHaz+Ha3/ - EWSTDEdoHa3/G6PwCj1aEWSTHa3/Ha3/GpvkC0JhFoTCHar7Haz+Ha3/AAAAAw4VGYXCHa3/MKnvXoGV - GhoaCTdRHp7nHa3/R6XbWGBkBwcHEFuGHa3/HqHrDU91GIK/Ha3/LKfuPVdlAgICAQYJJozHK5POBSEw - FnWrHa3/I6r3DlV+AAAACTRMG6TxHa3/E3SrDU90Ha3/G6TxDEhqE3OpHa3/HKn5C0JiAAAACjlUHKf2 - Haz+Ha3/AAAAAw4VGYTBHa3/MKnvXoGVGhoaCTdRHp7nHa3/R6XbWWBlCAgIEFyHHa3/IaPtDk90FX+7 - Ha3/HpnfDDBEAQcLEWWVHa3/Ha3/EF6KEWWVHa3/HKDrC0BeAQcKC0FgHKTyHa3/E3KoDU90Ha3/HKf2 - DElrE2+kHa3/Gp3oC0JiAxAYD1mDHKn5Ha3/Ha3/ODg4Aw4VGYO/Ha3/MKnvYoWZHBwcCTdRHp7nHa3/ - R6XbWGBkBgYGEFuGHa3/JafxH1RyEmmbHa3/Ha3/FoG+EWaWHaTxHa3/Ha3/J1t4DEdpHa3/Ha3/GI7S - EWSUGZPZHa3/Ha3/FHq0D1qEHa3/Haz9DU91D1mDHa3/Ha3/GZTaFHewG6TxHaz9Ha3/Ha3/JCQkAw4V - F4LAHa3/MKfrTm+CDg4OCTRMHJvjHa3/RJ/TNz1BAQEBD1mDHa3/JKn1WIWeJlJqHKb0Ha3/Ha3/Ha3/ - Ha3/Ha3/L6nveYOJLEdWG5/qHa3/Ha3/Ha3/Ha3/Ha3/Ha3/G6DsFXy3Ha3/Ha3/E3ClCThTGp3oHa3/ - Ha3/Ha3/Ha3/Ha3/Ha3/Ha3/JCQkAg0TFYC8Ha3/H53lGT1RAAAACjpWGp7pHa3/IInFCREWAAAAE2+j - Ha3/I6r2a567g4iLQ4mxH6v6Ha3/Ha3/Ha3/MKnvd5yxlpaWiY2PSoWmH6n4Ha3/Ha3/Ha3/Ha3/Ha3/ - GI7RBBYhF4vNHa3/AAAABic5FXu2HKn5Ha3/Ha3/Ha3/Ha3/Ha3/AAAAJCQkKS8yEWeYHa3/HKn5FXu1 - DVB2FoLAHav8Ha3/HKb0EWSTD1yIHaLuHa3/JKn2dZyylpaWkZebb524TKTXQqbfVaLOgJqplpaWlpaW - lpaWk5eZZ5++GZbdFHewFoPBHKn5Ha3/FHewAAECAAAAAAAAAAAAAAAAAAAAHa3/Ha3/Ha3/Ha3/Ha3/ - AAAAAAAAJCQkgICAK1RtHar7Ha3/HKn5Haj2Haz+Ha3/Ha3/Ha3/HKj4Hqr6Ha3/Ha3/Np/cjZidlpaW - lpaWlpaWj5ecjJifkZealpaWlpaWlpaWlpaWlpaWlpaWCThTAxAXCTdRG6PwHa3/E3KoCjpWHKb1Ha3/ - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAJCQklpaWhIyQQY+8Ha3/Ha3/Ha3/Ha3/H6z9Iqf0 - Ha3/Ha3/Ha3/Ha3/Hp7nY4eblpaWlpaWlpaWlpaWlpaWlpaWlpaWlpaWlpaWlpaWlpaWlpaWlpaWAAAA - AAAADlV9Haz9Ha3/GZbdFHWtHa3/Haz+Gp3oAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAJCQklpaW - lpaWjpabZZ6+NKjrJav4Oqflb524gJimVKLOLKryKav1NZHGIz5NeXp7lpaWlpaWlpaWlpaWlpaWlpaW - lpaWlpaWlpaWlpaWlpaWlpaWlpaWAAAAAAAAGJHVG6TxHKXzDElsBys/GZffF4rMBiIyAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAJCQklpaWlpaWlpaWlpaWkpeajJifkZealpaWlpaWlpaWjpedjZidXmBg - JCQkenp6lpaWlpaWlpaWlpaWlpaWlpaWlpaWlpaWlpaWlpaWlpaWlpaWlpaWAAAAAAAAAAAAAAAAAAAA - AAAABwcHIiktLTM3MTExMDAwLy8vJCQkSkpKAAAAAAAAAAAAAAAAAAAAJCQklpaWlpaWlpaWlpaWlpaW - lpaWlpaWlpaWlpaWlpaWlpaWlpaWX19fJCQkenp6lpaWlpaWlpaWlpaWlpaWlpaWlpaWlpaWlpaWlpaW - lpaWlpaWlpaWAAAAAAAAAAAAAAAABgYGMjIyXl5ef39/jo6OkZGRkJCQh4eHbGxsSkpKSkpKAAAAAAAA - AAAAAAAAJCQklpaWlpaWlpaWlpaWlpaWlpaWlpaWlpaWlpaWlpaWlpaWlpaWX19fJCQkenp6lpaWlpaW - lpaWlpaWlpaWlpaWlpaWlpaWlpaWlpaWlpaWlpaWlZWVAAAAAAAAAAAAFRUVWVlZjY2NlpaWlpaWlpaW - lpaWlpaWlpaWlpaWlpaWfHx8SkpKAAAAAAAAAAAAJCQklpaWlpaWlpaWlpaWlpaWlpaWlpaWlpaWlpaW - lpaWlpaWlpaWX19fJCQkenp6lpaWlpaWlpaWlpaWlpaWlpaWlpaWlpaWlpaWlpaWlpaWlpaWioqKAAAA - AAAAFRUVampqlpaWlpaWlpaWlpaWlpaWlpaWlpaWlpaWlpaWlpaWlpaWjo6OSkpKAAAAAAAAJCQklpaW - lpaWlpaWlpaWlpaWlpaWlpaWlpaWlpaWlpaWlpaWlpaWX19fJCQkenp6lpaWlpaWlpaWlpaWlpaWlpaW - lpaWlpaWlpaWlpaWlpaWlpaWc3NzAAAABwcHXV1dlpaWlpaWlpaWlpaWlpaWlpaWl5eXlpaWlpaWlpaW - lpaWlpaWlpaWlJSUSkpKAAAAJCQklpaWlpaWlpaWlpaWlpaWlpaWlpaWlpaWlpaWlpaWlpaWlpaWX19f - JCQkenp6lpaWlpaWlpaWlpaWlpaWlpaWlpaWlpaWlpaWlpaWlpaWlpaWY2NjSkpKNTU1kpKSlpaWlpaW - lpaWlpaWl5eXk5OTj4+PkZGRlpaWlpaWlpaWlpaWlpaWlpaWlpaWSkpKJCQklpaWlpaWlpaWlpaWlpaW - lpaWlpaWlpaWlpaWlpaWlpaWlpaWX19fJCQkenp6lpaWlpaWlpaWlpaWlpaWlpaWlpaWlpaWlpaWlpaW - lpaWlZWVXV1dBAQEc3NzlpaWlpaWlpaWlpaWlpaWj4+PkpKSnp6elpaWjY2NlJSUlpaWlpaWlpaWlpaW - lpaWSkpKJCQklpaWlpaWlpaWlpaWlpaWlpaWlpaWlpaWlpaWlpaWlpaWlpaWX19fJCQkenp6lpaWlpaW - lpaWlpaWlpaWlpaWlpaWlpaWlpaWlpaWlpaWlZWVWVlZGRkZkpKSlpaWlpaWlpaWlpaWkJCQpaWl0dHR - 5OTk3d3dsrKykpKSlZWVlpaWlpaWlpaWlpaWlpaWJCQklpaWlpaWlpaWlpaWlpaWlpaWlpaWlpaWlpaW - lpaWlpaWlpaWX19fJCQkenp6lpaWlpaWlpaWlpaWlpaWlpaWlpaWlpaWlpaWlpaWlpaWlJSUWFhYMzMz - lpaWlpaWlpaWlpaWkJCQn5+f3d3d/v7+////////8vLyr6+vkpKSlZWVlpaWlpaWlpaWlpaWJCQklpaW - lpaWlpaWlpaWlpaWlpaWlpaWlpaWlpaWlpaWlpaWlpaWX19fJCQkenp6lpaWlpaWlpaWlpaWlpaWlpaW - lpaWlpaWlpaWlpaWlpaWlJSUW1tbRUVFlpaWlpaWlpaWlZWVkpKSu7u7+fn5////////////////1NTU - lZWVlJSUlpaWlpaWlpaWlpaWJCQklpaWlpaWlpaWlpaWlpaWlpaWlpaWlpaWlpaWlpaWlpaWlpaWX19f - JCQkenp6lpaWlpaWlpaWlpaWlpaWlpaWlpaWlpaWlpaWlpaWlpaWlJSUXl5eTExMlpaWlpaWlpaWlJSU - k5OTxMTE/v7+////////////////4ODgl5eXlJSUlpaWlpaWlpaWlpaWJCQklpaWlpaWlpaWlpaWlpaW - lpaWlpaWlpaWlpaWlpaWlpaWlpaWX19fJCQkenp6lpaWlpaWlpaWlpaWlpaWlpaWlpaWlpaWlpaWlpaW - lpaWlZWVWVlZQEBAlpaWlpaWlpaWlpaWj4+Ps7Oz9/f3////////////////zs7OlJSUlJSUlpaWlpaW - lpaWlpaWJCQklpaWlpaWlpaWlpaWlpaWlpaWlpaWlpaWlpaWlpaWlpaWlpaWX19fJiYmenp6lpaWlpaW - lpaWlpaWlpaWlpaWlpaWlpaWlpaWlpaWlpaWlZWVXFxcLS0tlpaWlpaWlpaWlpaWkpKSlZWVzc3N//// - ////////5OTko6Ojk5OTlpaWlpaWlpaWlpaWlpaWJCQklpaWlpaWlpaWlpaWlpaWlpaWlpaWlpaWlpaW - lpaWlpaWlpaWY2NjISEheXl5lpaWlpaWlpaWlpaWlpaWlpaWlpaWlpaWlpaWlpaWlpaWlpaWaWlpDw8P - jo6OlpaWlpaWlpaWlpaWk5OTmJiYs7OzxMTEvb29oKCglJSUlpaWlpaWlpaWlpaWlpaWlpaWJCQklpaW - lpaWlpaWlpaWlpaWlpaWlpaWlpaWlpaWlpaWlpaWlpaWYmJiBgYGcHBwlpaWlpaWlpaWlpaWlpaWlpaW - lpaWlpaWlpaWlpaWlpaWlpaWenp6AQEBYmJilpaWlpaWlpaWlpaWlpaWlJSUkJCQj4+PkJCQk5OTlpaW - lpaWlpaWlpaWlpaWlpaWlpaWExMTlpaWlpaWlpaWlpaWlpaWlpaWlpaWlpaWlpaWlpaWlpaWlpaWfn5+ - AAAAS0tLkZGRlpaWlpaWlpaWlpaWlpaWlpaWlpaWlpaWlpaWlpaWlpaWi4uLAAAAIyMji4uLlpaWlpaW - lpaWlpaWlpaWlpaWlpaWlZWVlpaWlpaWlpaWlpaWlpaWlpaWlpaWlpaWExMTf39/lpaWlpaWlpaWlpaW - lpaWlpaWlpaWlpaWlpaWlpaWlpaWlpaWAAAAFhYWdHR0lpaWlpaWlpaWlpaWlpaWlpaWlpaWlpaWlpaW - lpaWlpaWlpaWAAAABwcHQkJClpaWlpaWlpaWlpaWlpaWlpaWlpaWlpaWlpaWlpaWlpaWlpaWlpaWlpaW - lpaWAAAAAAAAExMTkpKSlpaWlpaWlpaWlpaWlpaWlpaWlpaWlpaWlpaWlpaWAAAAAAAABQUFKysrfHx8 - lpaWlpaWlpaWlpaWlpaWlpaWlpaWlpaWlpaWlpaWAAAAAAAAAAAAExMTUVFRlpaWlpaWlpaWlpaWlpaW - lpaWlpaWlpaWlpaWlpaWlpaWlpaWlpaWAAAAAAAAAAAAAAAASkpKgoKClpaWlpaWlpaWlpaWlpaWlpaW - lpaWlpaWlpaWAAAAAAAAAAAAMjIyTk5OeXl5kpKSlpaWlpaWlpaWlpaWlpaWlpaWlpaWAAAAAAAAAAAA - AAAAAAAALi4uXV1dg4ODlpaWlpaWlpaWlpaWlpaWlpaWlpaWlpaWlpaWlpaWAAAAAAAAAAAAAAAAAAAA - AAAASkpKSkpKlpaWlpaWlpaWlpaWlpaWlpaWAAAAAAAAAAAAAAAAAAAAAAAAAAAASkpKSkpKlpaWlpaW - lpaWlpaWlpaWAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAASkpKSkpKlpaWlpaWlpaWlpaWlpaWlpaW - lpaWlpaWAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA//////////+P8CHgEAH//4Pg - AeAAAf//g8ABwAAB//+AQAGDgAH//4AAAYPAAf//gAAAAAAB//+AAAAAAAH//4AAIAAAAf//gBAwAAAB - //+AGHgAGGH//8A//+P/8f//4D//8//x///gP8A//////4AIAAAhAP//gAAAACEA//+AAAAAAAD//4AA - AAAAAP//gAAAAAAA//+AAAAAAAD//wAAAAAAAP//AAAAAAAA//8AAAAAAgH//wAAAAAPg///AAAAAAP/ - //8AAAAGAf///wAAAAYB////AAAAB+Af//8AAAAHgA///wAAAAcAB///AAAABgAD//8AAAAEAAH//wAA - AAAAAP//AAAAAAAA//8AAAAAAAD//wAAAAAAAP//AAAAAAAA//8AAAAAAAD//wAAAAAAAP//AAAAAAAA - //8AAAAAAAD//wAAAAAAAP//AAIABAAA//8AAgAEAAH//4AGAA4AA///wAcAHwAH///gH8B/wA////// - ////////KAAAACAAAABAAAAAAQAgAAAAAACAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAkAAAAbAAA - AJAAAABsAAAAJAAAAAAAAAAMAAAAPAAAAHgAAACQAAAAkAAAAJAAAACQAAAAkAAAAGwAAAAkAAAADAAA - ADwAAAB4AAAAkAAAAJAAAACQAAAAkAAAAJAAAACQAAAAkAAAAJAAAACQAAAAkAAAAJAAAABsAAAAAAAE - CP8dsv//BiU3/wAAAJwAAABUAAAAMAAAAEgbnur/IL7//x64//8OWIP/AxUe/xyr/P8YkdX/AAAAkAAA - ADAAAAAkBSY5/xqf6v8gwv//IMH//x+5//8EHCr/C0Ji/x2w//8fvP//IMD//xeHyP8NVHz/I9P//wAA - AJAAAAAAAAQI/x20//8MSWv/AAAAtAAAAJwAAACQFYTD/x+9//8ZlNv/HKv8/x2u//8KQF7/HKv9/xiT - 2P8AAACcAAAAVAAAAP8bo/H/IL///xNzqv8UerX/FoG//wUgMP8gv///HbT//xiR1v8dsf//F4zP/xFt - oP8gwv//AAAAkAAAAAAABAj/Hrf//x2t//8dsP//GJTc/wEFB/8Yldz/Gp3n/wAFB/8OVHz/H73//xFn - mP8cqfr/FHq0/wAAALQAAACcAg0U/x+9//8anun/AAAAtAAAAJwAAACQCTlV/x+///8QZpb/AAAB/xmV - 3P8XjtL/EWmb/yDC//8AAACQAAAAAAAECP8fuf//G6Xz/xiMz/8euP//FHy3/xaCv/8cpvf/Cj1a/xeK - y/8fuP//EWaW/xqg6/8Ykdf/CTZP/wk6Vv8FHi7/HrX//xeMzv8EGib/Bic5/wtDYv8HMEb/H7z//xWC - wf8KQ2P/Haz+/xaGxv8QZJP/IMP//wAAAJAAAAAAAAQI/x62//8JNlD/AxAY/xqh7f8crP7/GZff/x6z - //8drv//HbH//x+///8AAABsG6b0/x2z//8drv//Hrf//xWEw/8Zm+X/HrL//xqb5f8anej/Gpvl/xmW - 3f8boe3/HbL//x2x//8fvv//DU5z/w5Vfv8gxf//AAAAkAAAAAAABAj/H7r//xJxqP8RZJP/Ha///yDB - //8AAACQGZXc/yDB//8gwP//Gpzm/wAAACQAAAAMIcf//yDA//8am+X/DEZo/xys//8drv//H77//x++ - //8gw///GI/T/xeN0P8gwP//IMD//xqb5P8AAAD/D12K/yHF//8AAACEAAAAAAk2UP8fv///Hbn//x65 - //8fvv//GJjh/wAAAJwAAABIAAAAGAAAACQAAAAwAAAAMAAAADAAAAAwAAAAMAAAADAAAAAwItH//yDC - //8AAACEAAAAVAAAACQAAAAMAAAADAAAACQAAAAkAAAAGAAAACQUebP/Icr//wAAAIQAAAAAAAAAJAQP - FP8ed6r/GXuy/xBBXf8EAQD/AAAAtAAAAIQAAABgAAAAeAAAAJAAAACQAAAAkAAAAJAAAACQAAAAkAAA - AJAAAACQFofH/wAAAKgAAACcAAAAeAAAAEgAAABIAAAAeAAAAGwAAABIAAAAbAAAAJAUerX/AAAAqAAA - AAAABAj/IYK5/2tra/8LAAD/EjxT/yp/sP8SHCD/AAAAtA9ch/8MSWz/AAAA/wILEP8RYI7/E3Ss/yWK - w/89f6b/Eg8N/wAAAP8NTnP/FHmz/xWEw/8AAAC0AAAAnBaHx/8KP13/AAAAnAQZJf8Uda7/EWma/xFp - m/8Tdq3/AAAAAAAECP8gwP//W5zC/wwLCv8VhcX/Kr7//1p4iv8ACxL/HKr8/xiO0f8BBwr/G6Pw/x26 - //8eu///G7v//xil9v8BDBL/GZfe/x+7//8fuf//H73//xFml/8GKz//Isr//xBikf8AAAC0HK///x+6 - //8fuv//HbH//x60//8AAAAAAAQI/x+5//9bl7z/DAsK/xSBvv8otv//YHyM/wAIEP8aou//FoC9/w9L - bf8cu///Mbj//x5vnv82i7v/IVNw/wcpPP8fwP//HrT//xV+uv8dr///GZbc/wk3UP8fv///DU91/xJu - ov8fuv//GJHW/xWBvv8dr///Ha3//wAAACQABAj/H7n//1uXuv8MCwn/FIG+/yi2//9ge4r/AAsR/xqh - 7v8ZiMb/EWqd/yG4//8zX3j/AAAA/xlzqP8dfrT/DVN7/yG8//8SY5H/AAAA/xWDv/8cpvX/DEpt/x+8 - //8PW4b/FonK/x65//8BChD/AgwR/x63//8drf//YGZq/wAECP8fuf//YJ3B/w8NDf8Ugb7/Kbb//2R/ - j/8AChH/GqDt/yCKyP8LVoD/Hbr//xJ1rv8NUnn/HLL//xeZ4v8IPlz/Hb3//xaExP8LRWb/G6Hu/xuh - 7f8NUHT/IL7//w9ikf8UebL/Hrf//xBikv8Td67/HbH//x2x//8lJSX/CFWC/yG6//8/dpX/AAAA/xR9 - uf8ntP//MUZS/wAECP8Wnuv/Oano/1Viaf8Zpfb/GLX//xq3//8UsP//Y6DE/2deWf8Zoe3/G7X//x+8 - //8dsf//HK///xJrn/8gwP//E3Ko/wtHav8dr///Hrb//x6z//8etv//F4vN/yUlJf8DRmz/Hbv//xV2 - rf8GMEj/GZjh/x2y//8OVn//DEtv/xmt//81quv/l5aW/3CUqv88p+X/LKrw/1ehzP+alpP/npeT/3KV - p/8nq/f/FpDW/xun9v8cqfr/AxMd/wAAALQAAACcAAAAbBiT2f8hyP//Icf//xmb5v8AAAAkJSUl/2Bm - av8Xq///GLL//x22//8Ysf//F63//xqz//8et///FLP//1+VtP+clpL/m5WS/5uUkP+alZL/nJSP/5eV - lf+Wlpb/p5+a/zE/R/8AAAD/FofH/xyp+v8OVHv/Is3//xFml/8AAACcAAAAVAAAADAAAAAkAAAADAAA - AAAlJSX/nJaT/2mWr/8qqvP/FK7//0ak2/9bncP/Iaz7/x2v//8YaZf/iYSC/5mXl/+Wlpb/lpWV/5aV - lf+WlpX/lpaW/5aWlv+ioqL/AAAAkAAAADAfvf//G6f3/whAYP8WtP//Cmyk/wAAALQAAACcAAAAkAAA - AHgAAAA8AAAADCUlJf+Wlpb/nJWR/5+Ujv+clZD/npSN/56Ujv+glpH/kIeC/ycdF/+KiYj/mJiY/5aW - lv+Wlpb/lpaW/5aWlv+Wlpb/lpaW/6Kiov8AAACQAAAAPAAAACQAAABIEQkE/0U6Nf9QR0L/UVFR/0BA - QP89PT3/AAAAtAAAAIQAAAAAJSUl/5aWlv+Wlpb/lpWV/5aVlf+WlpX/lpaW/5iYl/+Li4r/JSUl/4qK - iv+YmJj/lpaW/5aWlv+Wlpb/lpaW/5aWlv+Wlpb/o6Oj/wAAAJwAAABsAAAAeFBQUP+IiIj/mpqZ/5yc - nP+cnJz/lJSU/3p6ev9xcXH/AAAAtAAAAAwlJSX/lpaW/5aWlv+Wlpb/lpaW/5aWlv+Wlpb/mJiY/4uL - i/8lJSX/ioqK/5iYmP+Wlpb/lpaW/5aWlv+Wlpb/lpaW/5aWlv+bm5v/AAAAtAAAAP9nZ2f/paWl/5mZ - mf+Wlpb/l5eX/5aWlv+Xl5f/mpqa/5ubm/+Hh4f/AAAADCUlJf+Wlpb/lpaW/5aWlv+Wlpb/lpaW/5aW - lv+YmJj/i4uL/yUlJf+Kior/mJiY/5aWlv+Wlpb/lpaW/5aWlv+Wlpb/l5eX/4yMjP9BQUH/ODg4/5yc - nP+Wlpb/lpaW/5WVlf+NjY3/kZGR/5aWlv+Wlpb/lpaW/52dnf94eHj/JSUl/5aWlv+Wlpb/lpaW/5aW - lv+Wlpb/lpaW/5iYmP+Li4v/JSUl/4qKiv+YmJj/lpaW/5aWlv+Wlpb/lpaW/5aWlv+YmJj/ioqK/wgI - CP+VlZX/mJiY/5aWlv+Tk5P/k5OT/6+vr/+hoaH/j4+P/5WVlf+Wlpb/lpaW/5qamv8lJSX/lpaW/5aW - lv+Wlpb/lpaW/5aWlv+Wlpb/mJiY/4uLi/8lJSX/ioqK/5iYmP+Wlpb/lpaW/5aWlv+Wlpb/lpaW/5iY - mP+Ghob/JCQk/6Kiov+Wlpb/lJSU/42Njf/d3d3///////j4+P+0tLT/jo6O/5aWlv+Wlpb/lpaW/yUl - Jf+Wlpb/lpaW/5aWlv+Wlpb/lpaW/5aWlv+YmJj/i4uL/yUlJf+Kior/mJiY/5aWlv+Wlpb/lpaW/5aW - lv+Wlpb/mJiY/4WFhf9BQUH/n5+f/5aWlv+QkJD/rKys//////////////////Hx8f+Li4v/lJSU/5aW - lv+Wlpb/JSUl/5aWlv+Wlpb/lpaW/5aWlv+Wlpb/lpaW/5iYmP+Li4v/JSUl/4qKiv+YmJj/lpaW/5aW - lv+Wlpb/lpaW/5aWlv+YmJj/hYWF/z09Pf+fn5//lpaW/5CQkP+mpqb/////////////////7u7u/4qK - iv+UlJT/lpaW/5aWlv8lJSX/lpaW/5aWlv+Wlpb/lpaW/5aWlv+Wlpb/mJiY/4uLi/8nJyf/ioqK/5iY - mP+Wlpb/lpaW/5aWlv+Wlpb/lpaW/5iYmP+Kior/ISEh/6Kiov+Wlpb/lZWV/4qKiv/MzMz/9fX1/+np - 6f+np6f/kZGR/5aWlv+Wlpb/lpaW/xMTE/+Li4v/mZmZ/5aWlv+Wlpb/lpaW/5aWlv+YmJj/jIyM/xMT - E/+Li4v/mZmZ/5aWlv+Wlpb/lpaW/5aWlv+Wlpb/l5eX/5WVlf8RERH/iYmJ/5qamv+Wlpb/lZWV/5GR - kf+Xl5f/lZWV/5KSkv+Wlpb/lpaW/5aWlv+ampr/AAAAeFFRUf+bm5v/lpaW/5aWlv+Wlpb/lpaW/5aW - lv+hoaH/AAAAeFFRUf+bm5v/lpaW/5aWlv+Wlpb/lpaW/5aWlv+Wlpb/pKSk/wAAAHgrKyv/mJiY/5eX - l/+Wlpb/lZWV/5SUlP+UlJT/lpaW/5aWlv+Wlpb/np6e/3h4eP8AAAAAEBAQ/3h4eP+fn5//l5eX/5aW - lv+Wlpb/np6e/39/f/8AAAAAEBAQ/3h4eP+fn5//l5eX/5aWlv+Wlpb/mJiY/6CgoP+Hh4f/AAAAPAAA - AP9QUFD/p6en/5mZmf+Wlpb/lpaW/5aWlv+Wlpb/lpaW/56env+Hh4f/AAAAAAAAAAwAAAAAJycn/3h4 - eP+ampr/oqKi/6ampv9/f3//AAAAAAAAAAwAAAAAJycn/3h4eP+ampr/o6Oj/6SkpP+RkZH/cnJy/wAA - ACQAAAAMAAAAAAAAAABRUVH/goKC/6ampv+ioqL/oqKi/6Kiov+mpqb/h4eH/wAAAAAAAAAMAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AACCAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAQAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIBA - AAFAoAwC/////w== -</value> - </data> -</root> \ No newline at end of file Modified: trunk/plugins/MCEReplacement/MCEReplacement.csproj =================================================================== --- trunk/plugins/MCEReplacement/MCEReplacement.csproj 2007-02-22 12:41:20 UTC (rev 134) +++ trunk/plugins/MCEReplacement/MCEReplacement.csproj 2007-02-22 12:45:00 UTC (rev 135) @@ -144,16 +144,14 @@ <Compile Include="InputMapper\InputMappingForm.cs"> <SubType>Form</SubType> </Compile> - <Compile Include="InputMapper\NewButtonForm.cs"> - <SubType>Form</SubType> - </Compile> - <Compile Include="InputMapper\NewButtonForm.Designer.cs"> - <DependentUpon>NewButtonForm.cs</DependentUpon> - </Compile> <Compi... [truncated message content] |
From: <an...@us...> - 2007-02-22 12:41:22
|
Revision: 134 http://mp-plugins.svn.sourceforge.net/mp-plugins/?rev=134&view=rev Author: and-81 Date: 2007-02-22 04:41:20 -0800 (Thu, 22 Feb 2007) Log Message: ----------- Modified Paths: -------------- trunk/plugins/MCEReplacementTray/MceIrApi.cs trunk/plugins/TV3MceBlaster/MceIrApi.cs Modified: trunk/plugins/MCEReplacementTray/MceIrApi.cs =================================================================== --- trunk/plugins/MCEReplacementTray/MceIrApi.cs 2007-02-22 09:54:55 UTC (rev 133) +++ trunk/plugins/MCEReplacementTray/MceIrApi.cs 2007-02-22 12:41:20 UTC (rev 134) @@ -57,22 +57,29 @@ } /// <summary> - /// Speed to transmit at + /// Speed to transmit IR codes at /// </summary> public enum BlasterSpeed { /// <summary> + /// None - Do not set the blaster speed + /// (Note: If an IR code has been sent with a speed setting previously + /// then that speed setting will continue to take effect, until the + /// unit's power is cycled) + /// </summary> + None = 0, + /// <summary> /// Fast - Set blaster speed to fast /// </summary> - Fast = 0, + Fast = 1, /// <summary> /// Medium - Set blaster speed to medium /// </summary> - Medium = 1, + Medium = 2, /// <summary> /// Slow - Set blaster speed to slow /// </summary> - Slow = 2 + Slow = 3, } /// <summary> Modified: trunk/plugins/TV3MceBlaster/MceIrApi.cs =================================================================== --- trunk/plugins/TV3MceBlaster/MceIrApi.cs 2007-02-22 09:54:55 UTC (rev 133) +++ trunk/plugins/TV3MceBlaster/MceIrApi.cs 2007-02-22 12:41:20 UTC (rev 134) @@ -57,22 +57,29 @@ } /// <summary> - /// Speed to transmit at + /// Speed to transmit IR codes at /// </summary> public enum BlasterSpeed { /// <summary> + /// None - Do not set the blaster speed + /// (Note: If an IR code has been sent with a speed setting previously + /// then that speed setting will continue to take effect, until the + /// unit's power is cycled) + /// </summary> + None = 0, + /// <summary> /// Fast - Set blaster speed to fast /// </summary> - Fast = 0, + Fast = 1, /// <summary> /// Medium - Set blaster speed to medium /// </summary> - Medium = 1, + Medium = 2, /// <summary> /// Slow - Set blaster speed to slow /// </summary> - Slow = 2 + Slow = 3, } /// <summary> This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <mis...@us...> - 2007-02-22 09:54:56
|
Revision: 133 http://mp-plugins.svn.sourceforge.net/mp-plugins/?rev=133&view=rev Author: misterd_sf Date: 2007-02-22 01:54:55 -0800 (Thu, 22 Feb 2007) Log Message: ----------- MPlayer: Removed unneeded code Modified Paths: -------------- trunk/plugins/My MPlayer/MPlayer_ExtPlayer/ConfigurationForm.cs Modified: trunk/plugins/My MPlayer/MPlayer_ExtPlayer/ConfigurationForm.cs =================================================================== --- trunk/plugins/My MPlayer/MPlayer_ExtPlayer/ConfigurationForm.cs 2007-02-22 09:53:53 UTC (rev 132) +++ trunk/plugins/My MPlayer/MPlayer_ExtPlayer/ConfigurationForm.cs 2007-02-22 09:54:55 UTC (rev 133) @@ -28,7 +28,6 @@ using System.ComponentModel; using System.Data; using System.Drawing; -using System.Runtime.InteropServices; using System.Text; using System.Windows.Forms; using System.Xml; @@ -450,22 +449,5 @@ } #endregion - #region external calls - /// <summary> - /// The mixerGetDevCaps function queries a specified mixer device to determine its capabilities. - /// </summary> - /// <param name="uMxId">Identifier or handle of an open mixer device.</param> - /// <param name="pmxcaps">Pointer to a MIXERCAPS structure that receives information about the capabilities of the device.</param> - /// <param name="cbmxcaps">Size, in bytes, of the MIXERCAPS structure.</param> - /// <returns>Returns MMSYSERR_NOERROR if successful or an error otherwise. Possible error values include the following.</returns> - [DllImport("winmm.dll", CharSet = CharSet.Ansi)] - public static extern int mixerGetDevCaps(int uMxId, ref AudioMixerHelper.MIXERCAPS pmxcaps, int cbmxcaps); - /// <summary> - /// The mixerGetNumDevs function retrieves the number of mixer devices present in the system. - /// </summary> - /// <returns>Returns the number of mixer devices or zero if no mixer devices are available.</returns> - [DllImport("winmm.dll", SetLastError = true)] - public static extern int mixerGetNumDevs(); - #endregion } } \ No newline at end of file This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <mis...@us...> - 2007-02-22 09:53:57
|
Revision: 132 http://mp-plugins.svn.sourceforge.net/mp-plugins/?rev=132&view=rev Author: misterd_sf Date: 2007-02-22 01:53:53 -0800 (Thu, 22 Feb 2007) Log Message: ----------- Changed sound output driver behaviour Modified Paths: -------------- trunk/plugins/My MPlayer/MPlayer_ExtPlayer/ConfigurationForm.cs trunk/plugins/My MPlayer/MPlayer_ExtPlayer/MPlayer_ExtPlayer.csproj Modified: trunk/plugins/My MPlayer/MPlayer_ExtPlayer/ConfigurationForm.cs =================================================================== --- trunk/plugins/My MPlayer/MPlayer_ExtPlayer/ConfigurationForm.cs 2007-02-22 09:40:19 UTC (rev 131) +++ trunk/plugins/My MPlayer/MPlayer_ExtPlayer/ConfigurationForm.cs 2007-02-22 09:53:53 UTC (rev 132) @@ -23,6 +23,7 @@ #endregion using System; +using System.Collections; using System.Collections.Generic; using System.ComponentModel; using System.Data; @@ -31,6 +32,7 @@ using System.Text; using System.Windows.Forms; using System.Xml; +using DShowNET.Helper; using MediaPortal.GUI.Library; using MediaPortal.Util; using MediaPortal.Configuration; @@ -64,11 +66,13 @@ osdFont.Items.AddRange(manager.PossibleFonts); soundOutputDevice.Items.Clear(); soundOutputDevice.Items.Add("Default DirectSound Device"); - AudioMixerHelper.MIXERCAPS wic = new AudioMixerHelper.MIXERCAPS(); - int iNumDevs = mixerGetNumDevs(); - for (int i = 0; i < iNumDevs; i++) { - mixerGetDevCaps(i, ref wic, Marshal.SizeOf(wic)); - soundOutputDevice.Items.Add(wic.szPname); + // + // Fetch available Audio Renderers + // + foreach (Filter audioRenderer in Filters.AudioRenderers) { + if(audioRenderer.Name.StartsWith("DirectSound: ")){ + soundOutputDevice.Items.Add(audioRenderer.Name.Remove(0,13)); + } } } #endregion Modified: trunk/plugins/My MPlayer/MPlayer_ExtPlayer/MPlayer_ExtPlayer.csproj =================================================================== --- trunk/plugins/My MPlayer/MPlayer_ExtPlayer/MPlayer_ExtPlayer.csproj 2007-02-22 09:40:19 UTC (rev 131) +++ trunk/plugins/My MPlayer/MPlayer_ExtPlayer/MPlayer_ExtPlayer.csproj 2007-02-22 09:53:53 UTC (rev 132) @@ -31,10 +31,6 @@ <DocumentationFile>bin\Release\MPlayer_ExtPlayer.xml</DocumentationFile> </PropertyGroup> <ItemGroup> - <Reference Include="Bass.Net, Version=2.3.1.1, Culture=neutral, PublicKeyToken=b7566c273e6ef480, processorArchitecture=MSIL"> - <SpecificVersion>False</SpecificVersion> - <HintPath>..\..\..\MediaPortal\MediaPortal.Base\Bass.Net.dll</HintPath> - </Reference> <Reference Include="Core, Version=1.0.2417.39196, Culture=neutral, processorArchitecture=x86"> <SpecificVersion>False</SpecificVersion> <HintPath>..\..\..\MediaPortal\Core\bin\Release\Core.dll</HintPath> This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <mis...@us...> - 2007-02-22 09:40:23
|
Revision: 131 http://mp-plugins.svn.sourceforge.net/mp-plugins/?rev=131&view=rev Author: misterd_sf Date: 2007-02-22 01:40:19 -0800 (Thu, 22 Feb 2007) Log Message: ----------- Modified Paths: -------------- trunk/plugins/My MPlayer/MPlayer_ExtPlayer/ConfigurationForm.cs Modified: trunk/plugins/My MPlayer/MPlayer_ExtPlayer/ConfigurationForm.cs =================================================================== --- trunk/plugins/My MPlayer/MPlayer_ExtPlayer/ConfigurationForm.cs 2007-02-21 20:39:12 UTC (rev 130) +++ trunk/plugins/My MPlayer/MPlayer_ExtPlayer/ConfigurationForm.cs 2007-02-22 09:40:19 UTC (rev 131) @@ -27,15 +27,14 @@ using System.ComponentModel; using System.Data; using System.Drawing; +using System.Runtime.InteropServices; using System.Text; using System.Windows.Forms; using System.Xml; using MediaPortal.GUI.Library; using MediaPortal.Util; using MediaPortal.Configuration; -using Un4seen.Bass; - namespace MPlayer { /// <summary> /// Configuration Form for the External player plugin @@ -65,9 +64,11 @@ osdFont.Items.AddRange(manager.PossibleFonts); soundOutputDevice.Items.Clear(); soundOutputDevice.Items.Add("Default DirectSound Device"); - string[] soundDevices = Bass.BASS_GetDeviceDescriptions(); - for (int i = 1; i < soundDevices.Length; i++) { - soundOutputDevice.Items.Add(soundDevices[i]); + AudioMixerHelper.MIXERCAPS wic = new AudioMixerHelper.MIXERCAPS(); + int iNumDevs = mixerGetNumDevs(); + for (int i = 0; i < iNumDevs; i++) { + mixerGetDevCaps(i, ref wic, Marshal.SizeOf(wic)); + soundOutputDevice.Items.Add(wic.szPname); } } #endregion @@ -445,6 +446,22 @@ } #endregion - + #region external calls + /// <summary> + /// The mixerGetDevCaps function queries a specified mixer device to determine its capabilities. + /// </summary> + /// <param name="uMxId">Identifier or handle of an open mixer device.</param> + /// <param name="pmxcaps">Pointer to a MIXERCAPS structure that receives information about the capabilities of the device.</param> + /// <param name="cbmxcaps">Size, in bytes, of the MIXERCAPS structure.</param> + /// <returns>Returns MMSYSERR_NOERROR if successful or an error otherwise. Possible error values include the following.</returns> + [DllImport("winmm.dll", CharSet = CharSet.Ansi)] + public static extern int mixerGetDevCaps(int uMxId, ref AudioMixerHelper.MIXERCAPS pmxcaps, int cbmxcaps); + /// <summary> + /// The mixerGetNumDevs function retrieves the number of mixer devices present in the system. + /// </summary> + /// <returns>Returns the number of mixer devices or zero if no mixer devices are available.</returns> + [DllImport("winmm.dll", SetLastError = true)] + public static extern int mixerGetNumDevs(); + #endregion } } \ No newline at end of file This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <mis...@us...> - 2007-02-21 20:39:21
|
Revision: 130 http://mp-plugins.svn.sourceforge.net/mp-plugins/?rev=130&view=rev Author: misterd_sf Date: 2007-02-21 12:39:12 -0800 (Wed, 21 Feb 2007) Log Message: ----------- MPlayer: Updated documentation Added possibility to change the displayed name of the gui plugin Changed behaviour of gui plugin to prevent that the plugin doesn't go back to root folder. Modified Paths: -------------- trunk/plugins/My MPlayer/Liesmich.pdf trunk/plugins/My MPlayer/MPlayer_GUIPlugin/ConfigurationForm.Designer.cs trunk/plugins/My MPlayer/MPlayer_GUIPlugin/ConfigurationForm.cs trunk/plugins/My MPlayer/MPlayer_GUIPlugin/MPlayer_GUIPlugin.cs trunk/plugins/My MPlayer/Readme.pdf Modified: trunk/plugins/My MPlayer/Liesmich.pdf =================================================================== (Binary files differ) Modified: trunk/plugins/My MPlayer/MPlayer_GUIPlugin/ConfigurationForm.Designer.cs =================================================================== --- trunk/plugins/My MPlayer/MPlayer_GUIPlugin/ConfigurationForm.Designer.cs 2007-02-21 20:13:55 UTC (rev 129) +++ trunk/plugins/My MPlayer/MPlayer_GUIPlugin/ConfigurationForm.Designer.cs 2007-02-21 20:39:12 UTC (rev 130) @@ -58,11 +58,13 @@ this.shareList = new System.Windows.Forms.ListBox(); this.browseButton = new System.Windows.Forms.Button(); this.label1 = new System.Windows.Forms.Label(); + this.label2 = new System.Windows.Forms.Label(); + this.pluginName = new System.Windows.Forms.TextBox(); this.SuspendLayout(); // // okButton // - this.okButton.Location = new System.Drawing.Point(12, 211); + this.okButton.Location = new System.Drawing.Point(12, 237); this.okButton.Name = "okButton"; this.okButton.Size = new System.Drawing.Size(75, 23); this.okButton.TabIndex = 3; @@ -73,7 +75,7 @@ // cancelButton // this.cancelButton.DialogResult = System.Windows.Forms.DialogResult.Cancel; - this.cancelButton.Location = new System.Drawing.Point(322, 211); + this.cancelButton.Location = new System.Drawing.Point(322, 237); this.cancelButton.Name = "cancelButton"; this.cancelButton.Size = new System.Drawing.Size(75, 23); this.cancelButton.TabIndex = 20; @@ -87,7 +89,7 @@ // // shareLocation // - this.shareLocation.Location = new System.Drawing.Point(90, 181); + this.shareLocation.Location = new System.Drawing.Point(90, 210); this.shareLocation.Name = "shareLocation"; this.shareLocation.Size = new System.Drawing.Size(207, 20); this.shareLocation.TabIndex = 33; @@ -96,7 +98,7 @@ // label24 // this.label24.AutoSize = true; - this.label24.Location = new System.Drawing.Point(12, 184); + this.label24.Location = new System.Drawing.Point(12, 213); this.label24.Name = "label24"; this.label24.Size = new System.Drawing.Size(48, 13); this.label24.TabIndex = 32; @@ -105,7 +107,7 @@ // label23 // this.label23.AutoSize = true; - this.label23.Location = new System.Drawing.Point(12, 158); + this.label23.Location = new System.Drawing.Point(12, 187); this.label23.Name = "label23"; this.label23.Size = new System.Drawing.Size(38, 13); this.label23.TabIndex = 31; @@ -113,7 +115,7 @@ // // shareName // - this.shareName.Location = new System.Drawing.Point(90, 155); + this.shareName.Location = new System.Drawing.Point(90, 184); this.shareName.Name = "shareName"; this.shareName.Size = new System.Drawing.Size(207, 20); this.shareName.TabIndex = 30; @@ -121,7 +123,7 @@ // // shareDelete // - this.shareDelete.Location = new System.Drawing.Point(90, 126); + this.shareDelete.Location = new System.Drawing.Point(90, 155); this.shareDelete.Name = "shareDelete"; this.shareDelete.Size = new System.Drawing.Size(75, 23); this.shareDelete.TabIndex = 29; @@ -131,7 +133,7 @@ // // shareAdd // - this.shareAdd.Location = new System.Drawing.Point(12, 126); + this.shareAdd.Location = new System.Drawing.Point(12, 155); this.shareAdd.Name = "shareAdd"; this.shareAdd.Size = new System.Drawing.Size(75, 23); this.shareAdd.TabIndex = 28; @@ -142,7 +144,7 @@ // shareList // this.shareList.FormattingEnabled = true; - this.shareList.Location = new System.Drawing.Point(12, 25); + this.shareList.Location = new System.Drawing.Point(12, 54); this.shareList.Name = "shareList"; this.shareList.Size = new System.Drawing.Size(385, 95); this.shareList.TabIndex = 27; @@ -150,7 +152,7 @@ // // browseButton // - this.browseButton.Location = new System.Drawing.Point(322, 179); + this.browseButton.Location = new System.Drawing.Point(322, 208); this.browseButton.Name = "browseButton"; this.browseButton.Size = new System.Drawing.Size(75, 23); this.browseButton.TabIndex = 34; @@ -161,17 +163,35 @@ // label1 // this.label1.AutoSize = true; - this.label1.Location = new System.Drawing.Point(9, 9); + this.label1.Location = new System.Drawing.Point(9, 32); this.label1.Name = "label1"; this.label1.Size = new System.Drawing.Size(74, 13); this.label1.TabIndex = 35; this.label1.Text = "List of Shares:"; // + // label2 + // + this.label2.AutoSize = true; + this.label2.Location = new System.Drawing.Point(9, 12); + this.label2.Name = "label2"; + this.label2.Size = new System.Drawing.Size(170, 13); + this.label2.TabIndex = 36; + this.label2.Text = "Name of plugin displayed in Home:"; + // + // pluginName + // + this.pluginName.Location = new System.Drawing.Point(185, 9); + this.pluginName.Name = "pluginName"; + this.pluginName.Size = new System.Drawing.Size(212, 20); + this.pluginName.TabIndex = 37; + // // ConfigurationForm // this.AutoScaleBaseSize = new System.Drawing.Size(5, 13); this.CancelButton = this.cancelButton; - this.ClientSize = new System.Drawing.Size(409, 245); + this.ClientSize = new System.Drawing.Size(409, 274); + this.Controls.Add(this.pluginName); + this.Controls.Add(this.label2); this.Controls.Add(this.label1); this.Controls.Add(this.browseButton); this.Controls.Add(this.shareLocation); @@ -215,6 +235,8 @@ private System.Windows.Forms.ListBox shareList; private System.Windows.Forms.Button browseButton; private System.Windows.Forms.Label label1; + private System.Windows.Forms.Label label2; + private System.Windows.Forms.TextBox pluginName; } } \ No newline at end of file Modified: trunk/plugins/My MPlayer/MPlayer_GUIPlugin/ConfigurationForm.cs =================================================================== --- trunk/plugins/My MPlayer/MPlayer_GUIPlugin/ConfigurationForm.cs 2007-02-21 20:13:55 UTC (rev 129) +++ trunk/plugins/My MPlayer/MPlayer_GUIPlugin/ConfigurationForm.cs 2007-02-21 20:39:12 UTC (rev 130) @@ -193,6 +193,9 @@ share.Path = nodeShare.Attributes["path"].Value; shareList.Items.Add(share); } + using (MediaPortal.Profile.Settings xmlreader = new MediaPortal.Profile.Settings(Config.GetFile(Config.Dir.Config, "MediaPortal.xml"))) { + pluginName.Text = xmlreader.GetValueAsString("mplayer", "displayNameOfGUI", "My MPlayer GUI"); + } } catch (Exception e) { Log.Info("MPlayer GUI Error: Configuration could not be loaded: " + e.Message); } @@ -222,6 +225,13 @@ writer.WriteEndElement(); //</mplayer> writer.WriteEndDocument(); writer.Close(); + using (MediaPortal.Profile.Settings xmlWriter = new MediaPortal.Profile.Settings(Config.GetFile(Config.Dir.Config, "MediaPortal.xml"))) { + if (pluginName.Text.Equals(String.Empty)) { + xmlWriter.SetValue("mplayer", "displayNameOfGUI", "My MPlayer"); + } else { + xmlWriter.SetValue("mplayer", "displayNameOfGUI", pluginName.Text); + } + } } #endregion Modified: trunk/plugins/My MPlayer/MPlayer_GUIPlugin/MPlayer_GUIPlugin.cs =================================================================== --- trunk/plugins/My MPlayer/MPlayer_GUIPlugin/MPlayer_GUIPlugin.cs 2007-02-21 20:13:55 UTC (rev 129) +++ trunk/plugins/My MPlayer/MPlayer_GUIPlugin/MPlayer_GUIPlugin.cs 2007-02-21 20:39:12 UTC (rev 130) @@ -127,6 +127,15 @@ /// </summary> private static PlayListPlayer playlistPlayer; + /// <summary> + /// Current virtual Path + /// </summary> + private string virtualPath; + + /// <summary> + /// Display name of the plugin + /// </summary> + private string displayName; #endregion #region ctor @@ -134,7 +143,6 @@ /// Static Constructor for the Playlistplayer instance /// </summary> static MPlayer_GUIPlugin() { - playlistPlayer = PlayListPlayer.SingletonPlayer; } @@ -143,6 +151,10 @@ /// </summary> public MPlayer_GUIPlugin() { GetID = 9533; + virtualPath = String.Empty; + using (MediaPortal.Profile.Settings xmlreader = new MediaPortal.Profile.Settings(Config.GetFile(Config.Dir.Config, "MediaPortal.xml"))) { + displayName = xmlreader.GetValueAsString("mplayer", "displayNameOfGUI", "My MPlayer"); + } } #endregion @@ -177,6 +189,30 @@ /// <returns>true, if init was successful</returns> public override bool Init() { bool bResult = Load(GUIGraphicsContext.Skin + @"\myMPlayer.xml"); + m_directory.SetExtensions(getExtenstions()); + m_directory.Clear(); + Share share = null; + string[] drives = Environment.GetLogicalDrives(); + foreach (string driveElement in drives) { + if (Utils.getDriveType(driveElement) == 5) { + string driveLetter = driveElement.Substring(0, 1); + share = new Share(); + share.Name = driveLetter + ":\\"; + share.Path = driveLetter + ":\\"; + m_directory.Add(share); + } + } + XmlDocument doc = new XmlDocument(); + string path = Config.GetFile(Config.Dir.Config, "MPlayer_GUIPlugin.xml"); + doc.Load(path); + XmlNodeList listShare = doc.DocumentElement.SelectNodes("/mplayergui/Share"); + foreach (XmlNode nodeShare in listShare) { + share = new Share(); + share.Name = nodeShare.Attributes["name"].Value; + share.Path = nodeShare.Attributes["path"].Value; + m_directory.Add(share); + } + return bResult; } @@ -400,6 +436,7 @@ if ((item.IsFolder) && (!isFolderAMovie)) { //currentSelectedItem = -1; + virtualPath = path; LoadDirectory(path); } else { string movieFileName = path + ".mplayer"; @@ -491,31 +528,7 @@ GUIVideoOverlay videoOverlay = (GUIVideoOverlay)GUIWindowManager.GetWindow((int)GUIWindow.Window.WINDOW_VIDEO_OVERLAY); if ((videoOverlay != null) && (videoOverlay.Focused)) videoOverlay.Focused = false; - m_directory.SetExtensions(getExtenstions()); - m_directory.Clear(); - Share share = null; - string[] drives = Environment.GetLogicalDrives(); - foreach (string driveElement in drives) { - if (Utils.getDriveType(driveElement) == 5) { - string driveLetter = driveElement.Substring(0, 1); - share = new Share(); - share.Name = driveLetter + ":\\"; - share.Path = driveLetter + ":\\"; - m_directory.Add(share); - } - } - XmlDocument doc = new XmlDocument(); - string path = Config.GetFile(Config.Dir.Config,"MPlayer_GUIPlugin.xml"); - doc.Load(path); - XmlNodeList listShare = doc.DocumentElement.SelectNodes("/mplayergui/Share"); - foreach (XmlNode nodeShare in listShare) { - share = new Share(); - share.Name = nodeShare.Attributes["name"].Value; - share.Path = nodeShare.Attributes["path"].Value; - m_directory.Add(share); - } - - LoadDirectory(""); + LoadDirectory(virtualPath); if (btnSortBy != null) { btnSortBy.SortChanged += new SortEventHandler(SortChanged); } @@ -682,7 +695,7 @@ /// <param name="strPictureImage">Hover image of the plugin</param> /// <returns>true, if it should be display in menu</returns> public bool GetHome(out string strButtonText, out string strButtonImage, out string strButtonImageFocus, out string strPictureImage) { - strButtonText = PluginName(); + strButtonText = displayName; strButtonImage = String.Empty; strButtonImageFocus = String.Empty; strPictureImage = "hover_my videos.png"; Modified: trunk/plugins/My MPlayer/Readme.pdf =================================================================== (Binary files differ) This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <sa...@us...> - 2007-02-21 20:13:56
|
Revision: 129 http://mp-plugins.svn.sourceforge.net/mp-plugins/?rev=129&view=rev Author: saamand Date: 2007-02-21 12:13:55 -0800 (Wed, 21 Feb 2007) Log Message: ----------- Modified Paths: -------------- trunk/plugins/MyLyrics/LRC/Properties/AssemblyInfo.cs trunk/plugins/MyLyrics/LyricsEngine/LyricController.cs trunk/plugins/MyLyrics/LyricsEngine/LyricSearch.cs trunk/plugins/MyLyrics/LyricsEngine/LyricUtil.cs trunk/plugins/MyLyrics/LyricsEngine/LyricsEngine.csproj trunk/plugins/MyLyrics/LyricsEngine/Properties/AssemblyInfo.cs trunk/plugins/MyLyrics/LyricsEngine/Setup.cs trunk/plugins/MyLyrics/My Lyrics/MyLyrics.cs trunk/plugins/MyLyrics/My Lyrics/MyLyricsSetup.Designer.cs trunk/plugins/MyLyrics/My Lyrics/MyLyricsSetup.cs trunk/plugins/MyLyrics/My Lyrics/MyLyricsSetup.resx trunk/plugins/MyLyrics/My Lyrics/MyLyricsSetup_LyricsLibrary.cs trunk/plugins/MyLyrics/My Lyrics/Properties/AssemblyInfo.cs trunk/plugins/MyLyrics/MyLyric Windows Application/MyLyric Windows Application/LyricSiteTestUC.Designer.cs trunk/plugins/MyLyrics/MyLyric Windows Application/MyLyric Windows Application/LyricSiteTestUC.cs trunk/plugins/MyLyrics/MyLyric Windows Application/MyLyric Windows Application/LyricsEngine Tester.cs trunk/plugins/MyLyrics/MyLyric Windows Application/MyLyric Windows Application/MyLyric Windows Application.csproj trunk/plugins/MyLyrics/MyLyric Windows Application/MyLyric Windows Application/Properties/AssemblyInfo.cs Modified: trunk/plugins/MyLyrics/LRC/Properties/AssemblyInfo.cs =================================================================== --- trunk/plugins/MyLyrics/LRC/Properties/AssemblyInfo.cs 2007-02-20 22:44:49 UTC (rev 128) +++ trunk/plugins/MyLyrics/LRC/Properties/AssemblyInfo.cs 2007-02-21 20:13:55 UTC (rev 129) @@ -29,5 +29,5 @@ // Build Number // Revision // -[assembly: AssemblyVersion("0.14")] -[assembly: AssemblyFileVersion("0.14")] +[assembly: AssemblyVersion("0.15")] +[assembly: AssemblyFileVersion("0.15")] Modified: trunk/plugins/MyLyrics/LyricsEngine/LyricController.cs =================================================================== --- trunk/plugins/MyLyrics/LyricsEngine/LyricController.cs 2007-02-20 22:44:49 UTC (rev 128) +++ trunk/plugins/MyLyrics/LyricsEngine/LyricController.cs 2007-02-21 20:13:55 UTC (rev 129) @@ -79,7 +79,7 @@ } } eastSites = (string[])easySitesArrayList.ToArray(typeof(string)); - LyricSearch_EasySites.EasySites = eastSites; + LyricSearch.EasySites = eastSites; // initialize events m_EventStop_LyricController = eventStopThread; @@ -88,7 +88,7 @@ m_EventStop_LyricSearches = new ManualResetEvent(false); m_EventStop_LyricSearches.Set(); - LyricSearch_EasySites.Abort = false; + LyricSearch.Abort = false; } @@ -167,7 +167,7 @@ ThreadStart easySitesThreadInstance = delegate { - LyricSearch_EasySites lyricSearch_EasySites = new LyricSearch_EasySites(m_EventStop_LyricController, m_EventStopped_LyricController, this); + LyricSearch lyricSearch_EasySites = new LyricSearch(m_EventStop_LyricController, m_EventStopped_LyricController, this); lyricSearch_EasySites.setLyricInfo(artist, title); lyricSearch_EasySites.Run(); }; @@ -266,14 +266,14 @@ { m_StopSearches = true; m_EventStop_LyricSearches.Reset(); - LyricSearch_EasySites.Abort = true; + LyricSearch.Abort = true; //StopTheSearchAndAbort.Invoke(this, EventArgs.Empty); } else { m_StopSearches = false; m_EventStop_LyricSearches.Set(); - LyricSearch_EasySites.Abort = false; + LyricSearch.Abort = false; } } } Modified: trunk/plugins/MyLyrics/LyricsEngine/LyricSearch.cs =================================================================== (Binary files differ) Modified: trunk/plugins/MyLyrics/LyricsEngine/LyricUtil.cs =================================================================== --- trunk/plugins/MyLyrics/LyricsEngine/LyricUtil.cs 2007-02-20 22:44:49 UTC (rev 128) +++ trunk/plugins/MyLyrics/LyricsEngine/LyricUtil.cs 2007-02-21 20:13:55 UTC (rev 129) @@ -8,7 +8,7 @@ { static string[] parenthesesAndAlike = new string[6] { "(album", "(acoustic", "(live", "(radio", "[", "{" }; - static string[] charsToDelete = new string[11] { ".", ",", "&", "'", "!", "\"", "&", "?", "(", ")", "+" }; + static string[] charsToDelete = new string[11] { ".", ",", "&", "'", "!", "\"", "&", "?", "(", ")", "+" /*, "ä", "ö", "ü", "Ä", "Ö", "Ü", "ß" */ }; // capatalize string and make ready for XML @@ -28,7 +28,7 @@ { capatalizedTitle += words[i].Substring(0, 1).ToUpper() + (words[i].Length > 1 ? words[i].Substring(1, words[i].Length - 1).ToLower() : "") + " "; } - return capatalizedTitle.Trim(); ; + return capatalizedTitle.Trim(); } public static string removeFeatComment(string str) Modified: trunk/plugins/MyLyrics/LyricsEngine/LyricsEngine.csproj =================================================================== --- trunk/plugins/MyLyrics/LyricsEngine/LyricsEngine.csproj 2007-02-20 22:44:49 UTC (rev 128) +++ trunk/plugins/MyLyrics/LyricsEngine/LyricsEngine.csproj 2007-02-21 20:13:55 UTC (rev 129) @@ -40,8 +40,9 @@ <Reference Include="System.Xml" /> </ItemGroup> <ItemGroup> - <Compile Include="LyricSearch_EasySites.cs" /> + <Compile Include="LyricSearch.cs" /> <Compile Include="LyricDiagnostics.cs" /> + <Compile Include="LyricSites\HotLyrics.cs" /> <Compile Include="LyricSites\EvilLabs.cs" /> <Compile Include="LyricSites\Lyrics007.cs" /> <Compile Include="LyricSites\LyricsOnDemand.cs" /> Modified: trunk/plugins/MyLyrics/LyricsEngine/Properties/AssemblyInfo.cs =================================================================== --- trunk/plugins/MyLyrics/LyricsEngine/Properties/AssemblyInfo.cs 2007-02-20 22:44:49 UTC (rev 128) +++ trunk/plugins/MyLyrics/LyricsEngine/Properties/AssemblyInfo.cs 2007-02-21 20:13:55 UTC (rev 129) @@ -26,7 +26,7 @@ // You can specify all the values or you can default the Revision and Build Numbers // by using the '*' as shown below: -[assembly: AssemblyVersion("0.14")] +[assembly: AssemblyVersion("0.15")] // // In order to sign your assembly you must specify a key to use. Refer to the Modified: trunk/plugins/MyLyrics/LyricsEngine/Setup.cs =================================================================== --- trunk/plugins/MyLyrics/LyricsEngine/Setup.cs 2007-02-20 22:44:49 UTC (rev 128) +++ trunk/plugins/MyLyrics/LyricsEngine/Setup.cs 2007-02-21 20:13:55 UTC (rev 129) @@ -12,7 +12,8 @@ //"EvilLabs", "Lyrics007", "LyricsOnDemand", - "SeekLyrics" + "HotLyrics" + //"SeekLyrics" }; @@ -26,12 +27,12 @@ public static bool IsMember(string value) { - return System.Array.IndexOf(Setup.EasySites, value) != -1; + return System.Array.IndexOf<string>(Setup.EasySites, value) != -1; } public static bool IsMemberOfEasySites(string value) { - return System.Array.IndexOf(Setup.EasySites, value) != -1; + return System.Array.IndexOf<string>(Setup.EasySites, value) != -1; } public static int NoOfSites() Modified: trunk/plugins/MyLyrics/My Lyrics/MyLyrics.cs =================================================================== --- trunk/plugins/MyLyrics/My Lyrics/MyLyrics.cs 2007-02-20 22:44:49 UTC (rev 128) +++ trunk/plugins/MyLyrics/My Lyrics/MyLyrics.cs 2007-02-21 20:13:55 UTC (rev 129) @@ -214,7 +214,22 @@ StopThread(); m_Path = g_Player.CurrentFile; MusicTag tag = MediaPortal.TagReader.TagReader.ReadTag(m_Path); - findLyric(tag); + + if (!m_Path.Equals("")) + { + findLyric(tag); + } + else + { + m_artist = ""; + m_title = ""; + m_TrackText = ""; + GUIControl.SetControlLabel(GetID, (int)Controls.CONTROL_LBTrack, m_StatusText); + m_StatusText = "No music file playing"; + GUIControl.SetControlLabel(GetID, (int)Controls.CONTROL_LBStatus, m_StatusText); + m_LyricText = ""; + GUIControl.SetControlLabel(GetID, (int)Controls.CONTROL_Lyric, m_LyricText); + } } base.Process(); } @@ -234,7 +249,7 @@ GUIControl.ClearControl(GetID, (int)Controls.CONTROL_Lyric); GUIControl.SetControlLabel(GetID, (int)Controls.CONTROL_Lyric, m_LyricText); - bool useLyricWiki, useEvilLabs, useLyrics007, useLyricsOnDemand, useSeekLyrics; + bool useLyricWiki, useEvilLabs, useLyrics007, useLyricsOnDemand, useSeekLyrics, useHotLyrics; using (MediaPortal.Profile.Settings xmlreader = new MediaPortal.Profile.Settings("MediaPortal.xml")) { @@ -243,6 +258,7 @@ useLyrics007 = ((string)xmlreader.GetValueAsString("myLyrics", "useLyrics007", "True")).ToString().Equals("True") ? true : false; useLyricsOnDemand = ((string)xmlreader.GetValueAsString("myLyrics", "useLyricsOnDemand", "True")).ToString().Equals("True") ? true : false; useSeekLyrics = ((string)xmlreader.GetValueAsString("myLyrics", "useSeekLyrics", "True")).ToString().Equals("True") ? true : false; + useHotLyrics = ((string)xmlreader.GetValueAsString("myLyrics", "useHotLyrics", "True")).ToString().Equals("True") ? true : false; } ArrayList sitesToSearch = new ArrayList(); @@ -266,6 +282,10 @@ { sitesToSearch.Add("SeekLyrics"); } + if (useHotLyrics && Setup.IsMember("HotLyrics")) + { + sitesToSearch.Add("HotLyrics"); + } m_sitesToSearch = (string[])sitesToSearch.ToArray(typeof(string)); } @@ -284,12 +304,13 @@ m_EventStopThread.Reset(); m_EventThreadStopped.Reset(); + GUIControl.ClearControl(GetID, (int)Controls.CONTROL_Lyric); GUIControl.SetControlLabel(GetID, (int)Controls.CONTROL_Lyric, ""); if (tag != null && tag.Artist != "") { - m_artist = tag.Artist; - m_title = tag.Title; + m_artist = tag.Artist.Trim(); + m_title = tag.Title.Trim(); m_TrackText = m_artist + " - " + m_title; GUIControl.SetControlLabel(GetID, (int)Controls.CONTROL_LBTrack, m_TrackText); m_StatusText = "Searching for a matching lyric. Please wait a moment..."; @@ -394,7 +415,7 @@ { m_TrackText = ""; GUIControl.SetControlLabel(GetID, (int)Controls.CONTROL_LBTrack, m_StatusText); - m_StatusText = "No music file playing"; + m_StatusText = "The music tag isn't complete"; GUIControl.SetControlLabel(GetID, (int)Controls.CONTROL_LBStatus, m_StatusText); return; } Modified: trunk/plugins/MyLyrics/My Lyrics/MyLyricsSetup.Designer.cs =================================================================== --- trunk/plugins/MyLyrics/My Lyrics/MyLyricsSetup.Designer.cs 2007-02-20 22:44:49 UTC (rev 128) +++ trunk/plugins/MyLyrics/My Lyrics/MyLyricsSetup.Designer.cs 2007-02-21 20:13:55 UTC (rev 129) @@ -32,6 +32,7 @@ this.tabPageLyricsDatabase = new MediaPortal.UserInterface.Controls.MPTabPage(); this.tabPageSetup = new MediaPortal.UserInterface.Controls.MPTabPage(); this.gbLyricSites = new MediaPortal.UserInterface.Controls.MPGroupBox(); + this.cbHotLyrics = new MediaPortal.UserInterface.Controls.MPCheckBox(); this.cbSeekLyrics = new MediaPortal.UserInterface.Controls.MPCheckBox(); this.cbLyricsOnDemand = new MediaPortal.UserInterface.Controls.MPCheckBox(); this.cbLyrics007 = new MediaPortal.UserInterface.Controls.MPCheckBox(); @@ -43,12 +44,19 @@ this.btCancel = new MediaPortal.UserInterface.Controls.MPButton(); this.mpLabel3 = new MediaPortal.UserInterface.Controls.MPLabel(); this.gbGenerel = new MediaPortal.UserInterface.Controls.MPGroupBox(); + this.cbDisregardSongWithLyricInTag = new MediaPortal.UserInterface.Controls.MPCheckBox(); + this.cbDisregardVariousArtist = new MediaPortal.UserInterface.Controls.MPCheckBox(); + this.cbDisregardSongsWithNoLyric = new MediaPortal.UserInterface.Controls.MPCheckBox(); + this.cbMarkSongsWithNoLyrics = new MediaPortal.UserInterface.Controls.MPCheckBox(); + this.cbDisconsiderTitlesWithLyrics = new MediaPortal.UserInterface.Controls.MPCheckBox(); this.lbSongsLimitNote = new MediaPortal.UserInterface.Controls.MPLabel(); this.lbLimit = new MediaPortal.UserInterface.Controls.MPTextBox(); this.lbSongsLimit = new MediaPortal.UserInterface.Controls.MPLabel(); this.gbMessages = new MediaPortal.UserInterface.Controls.MPGroupBox(); this.lbMessage = new MediaPortal.UserInterface.Controls.MPLabel(); this.gbProgress = new MediaPortal.UserInterface.Controls.MPGroupBox(); + this.lbTimer = new MediaPortal.UserInterface.Controls.MPLabel(); + this.lbTimeElapsed = new MediaPortal.UserInterface.Controls.MPLabel(); this.lbLastActivity2 = new MediaPortal.UserInterface.Controls.MPLabel(); this.lbLastActivity = new MediaPortal.UserInterface.Controls.MPLabel(); this.lbStep2a = new MediaPortal.UserInterface.Controls.MPLabel(); @@ -74,11 +82,7 @@ this.btSave = new MediaPortal.UserInterface.Controls.MPButton(); this.btClose = new MediaPortal.UserInterface.Controls.MPButton(); this.bgWorkerSearch = new System.ComponentModel.BackgroundWorker(); - this.cbDisregardSongWithLyricInTag = new MediaPortal.UserInterface.Controls.MPCheckBox(); - this.cbDisregardVariousArtist = new MediaPortal.UserInterface.Controls.MPCheckBox(); - this.cbDisregardSongsWithNoLyric = new MediaPortal.UserInterface.Controls.MPCheckBox(); - this.cbMarkSongsWithNoLyrics = new MediaPortal.UserInterface.Controls.MPCheckBox(); - this.cbDisconsiderTitlesWithLyrics = new MediaPortal.UserInterface.Controls.MPCheckBox(); + this.tbNote = new MediaPortal.UserInterface.Controls.MPLabel(); this.tabControl.SuspendLayout(); this.tabPageSetup.SuspendLayout(); this.gbLyricSites.SuspendLayout(); @@ -98,7 +102,7 @@ this.tabControl.Location = new System.Drawing.Point(12, 12); this.tabControl.Name = "tabControl"; this.tabControl.SelectedIndex = 0; - this.tabControl.Size = new System.Drawing.Size(528, 476); + this.tabControl.Size = new System.Drawing.Size(528, 495); this.tabControl.TabIndex = 1; // // tabPageLyricsDatabase @@ -106,18 +110,19 @@ this.tabPageLyricsDatabase.Location = new System.Drawing.Point(4, 22); this.tabPageLyricsDatabase.Name = "tabPageLyricsDatabase"; this.tabPageLyricsDatabase.Padding = new System.Windows.Forms.Padding(3); - this.tabPageLyricsDatabase.Size = new System.Drawing.Size(520, 450); + this.tabPageLyricsDatabase.Size = new System.Drawing.Size(520, 469); this.tabPageLyricsDatabase.TabIndex = 1; this.tabPageLyricsDatabase.Text = "Lyrics database"; this.tabPageLyricsDatabase.UseVisualStyleBackColor = true; // // tabPageSetup // + this.tabPageSetup.Controls.Add(this.tbNote); this.tabPageSetup.Controls.Add(this.gbLyricSites); this.tabPageSetup.Location = new System.Drawing.Point(4, 22); this.tabPageSetup.Name = "tabPageSetup"; this.tabPageSetup.Padding = new System.Windows.Forms.Padding(3); - this.tabPageSetup.Size = new System.Drawing.Size(520, 450); + this.tabPageSetup.Size = new System.Drawing.Size(520, 469); this.tabPageSetup.TabIndex = 2; this.tabPageSetup.Text = "General setup"; this.tabPageSetup.UseVisualStyleBackColor = true; @@ -125,6 +130,7 @@ // gbLyricSites // this.gbLyricSites.AutoSize = true; + this.gbLyricSites.Controls.Add(this.cbHotLyrics); this.gbLyricSites.Controls.Add(this.cbSeekLyrics); this.gbLyricSites.Controls.Add(this.cbLyricsOnDemand); this.gbLyricSites.Controls.Add(this.cbLyrics007); @@ -138,13 +144,26 @@ this.gbLyricSites.TabStop = false; this.gbLyricSites.Text = "Lyric sites to search"; // + // cbHotLyrics + // + this.cbHotLyrics.AutoSize = true; + this.cbHotLyrics.Checked = true; + this.cbHotLyrics.CheckState = System.Windows.Forms.CheckState.Checked; + this.cbHotLyrics.FlatStyle = System.Windows.Forms.FlatStyle.Popup; + this.cbHotLyrics.Location = new System.Drawing.Point(148, 21); + this.cbHotLyrics.Name = "cbHotLyrics"; + this.cbHotLyrics.Size = new System.Drawing.Size(71, 17); + this.cbHotLyrics.TabIndex = 7; + this.cbHotLyrics.Text = "Hot Lyrics"; + this.cbHotLyrics.UseVisualStyleBackColor = true; + // // cbSeekLyrics // this.cbSeekLyrics.AutoSize = true; this.cbSeekLyrics.Checked = true; this.cbSeekLyrics.CheckState = System.Windows.Forms.CheckState.Checked; this.cbSeekLyrics.FlatStyle = System.Windows.Forms.FlatStyle.Popup; - this.cbSeekLyrics.Location = new System.Drawing.Point(148, 21); + this.cbSeekLyrics.Location = new System.Drawing.Point(148, 43); this.cbSeekLyrics.Name = "cbSeekLyrics"; this.cbSeekLyrics.Size = new System.Drawing.Size(79, 17); this.cbSeekLyrics.TabIndex = 6; @@ -183,7 +202,7 @@ this.cbEvilLabs.Checked = true; this.cbEvilLabs.CheckState = System.Windows.Forms.CheckState.Checked; this.cbEvilLabs.FlatStyle = System.Windows.Forms.FlatStyle.Popup; - this.cbEvilLabs.Location = new System.Drawing.Point(148, 44); + this.cbEvilLabs.Location = new System.Drawing.Point(148, 66); this.cbEvilLabs.Name = "cbEvilLabs"; this.cbEvilLabs.Size = new System.Drawing.Size(67, 17); this.cbEvilLabs.TabIndex = 3; @@ -213,7 +232,7 @@ this.tabPageDatabase.Location = new System.Drawing.Point(4, 22); this.tabPageDatabase.Name = "tabPageDatabase"; this.tabPageDatabase.Padding = new System.Windows.Forms.Padding(3); - this.tabPageDatabase.Size = new System.Drawing.Size(520, 450); + this.tabPageDatabase.Size = new System.Drawing.Size(520, 469); this.tabPageDatabase.TabIndex = 2; this.tabPageDatabase.Text = "Search music database"; this.tabPageDatabase.UseVisualStyleBackColor = true; @@ -226,7 +245,7 @@ this.mpGroupBox1.FlatStyle = System.Windows.Forms.FlatStyle.Popup; this.mpGroupBox1.Location = new System.Drawing.Point(2, 133); this.mpGroupBox1.Name = "mpGroupBox1"; - this.mpGroupBox1.Size = new System.Drawing.Size(509, 52); + this.mpGroupBox1.Size = new System.Drawing.Size(509, 53); this.mpGroupBox1.TabIndex = 32; this.mpGroupBox1.TabStop = false; this.mpGroupBox1.Text = "Search music database"; @@ -280,6 +299,71 @@ this.gbGenerel.TabStop = false; this.gbGenerel.Text = "Music database search setup"; // + // cbDisregardSongWithLyricInTag + // + this.cbDisregardSongWithLyricInTag.AutoSize = true; + this.cbDisregardSongWithLyricInTag.Checked = true; + this.cbDisregardSongWithLyricInTag.CheckState = System.Windows.Forms.CheckState.Checked; + this.cbDisregardSongWithLyricInTag.FlatStyle = System.Windows.Forms.FlatStyle.Popup; + this.cbDisregardSongWithLyricInTag.Location = new System.Drawing.Point(15, 68); + this.cbDisregardSongWithLyricInTag.Name = "cbDisregardSongWithLyricInTag"; + this.cbDisregardSongWithLyricInTag.Size = new System.Drawing.Size(202, 17); + this.cbDisregardSongWithLyricInTag.TabIndex = 18; + this.cbDisregardSongWithLyricInTag.Text = "Disregard songs with lyric in music tag"; + this.cbDisregardSongWithLyricInTag.UseVisualStyleBackColor = true; + // + // cbDisregardVariousArtist + // + this.cbDisregardVariousArtist.AutoSize = true; + this.cbDisregardVariousArtist.Checked = true; + this.cbDisregardVariousArtist.CheckState = System.Windows.Forms.CheckState.Checked; + this.cbDisregardVariousArtist.FlatStyle = System.Windows.Forms.FlatStyle.Popup; + this.cbDisregardVariousArtist.Location = new System.Drawing.Point(15, 91); + this.cbDisregardVariousArtist.Name = "cbDisregardVariousArtist"; + this.cbDisregardVariousArtist.Size = new System.Drawing.Size(191, 17); + this.cbDisregardVariousArtist.TabIndex = 17; + this.cbDisregardVariousArtist.Text = "Disregard songs by \"various artists\""; + this.cbDisregardVariousArtist.UseVisualStyleBackColor = true; + // + // cbDisregardSongsWithNoLyric + // + this.cbDisregardSongsWithNoLyric.AutoSize = true; + this.cbDisregardSongsWithNoLyric.Checked = true; + this.cbDisregardSongsWithNoLyric.CheckState = System.Windows.Forms.CheckState.Checked; + this.cbDisregardSongsWithNoLyric.FlatStyle = System.Windows.Forms.FlatStyle.Popup; + this.cbDisregardSongsWithNoLyric.Location = new System.Drawing.Point(245, 68); + this.cbDisregardSongsWithNoLyric.Name = "cbDisregardSongsWithNoLyric"; + this.cbDisregardSongsWithNoLyric.Size = new System.Drawing.Size(246, 17); + this.cbDisregardSongsWithNoLyric.TabIndex = 16; + this.cbDisregardSongsWithNoLyric.Text = "Disregard previously marked songs (only batch)"; + this.cbDisregardSongsWithNoLyric.UseVisualStyleBackColor = true; + // + // cbMarkSongsWithNoLyrics + // + this.cbMarkSongsWithNoLyrics.AutoSize = true; + this.cbMarkSongsWithNoLyrics.Checked = true; + this.cbMarkSongsWithNoLyrics.CheckState = System.Windows.Forms.CheckState.Checked; + this.cbMarkSongsWithNoLyrics.FlatStyle = System.Windows.Forms.FlatStyle.Popup; + this.cbMarkSongsWithNoLyrics.Location = new System.Drawing.Point(245, 45); + this.cbMarkSongsWithNoLyrics.Name = "cbMarkSongsWithNoLyrics"; + this.cbMarkSongsWithNoLyrics.Size = new System.Drawing.Size(224, 17); + this.cbMarkSongsWithNoLyrics.TabIndex = 15; + this.cbMarkSongsWithNoLyrics.Text = "Mark songs to which no lyric can be found"; + this.cbMarkSongsWithNoLyrics.UseVisualStyleBackColor = true; + // + // cbDisconsiderTitlesWithLyrics + // + this.cbDisconsiderTitlesWithLyrics.AutoSize = true; + this.cbDisconsiderTitlesWithLyrics.Checked = true; + this.cbDisconsiderTitlesWithLyrics.CheckState = System.Windows.Forms.CheckState.Checked; + this.cbDisconsiderTitlesWithLyrics.FlatStyle = System.Windows.Forms.FlatStyle.Popup; + this.cbDisconsiderTitlesWithLyrics.Location = new System.Drawing.Point(15, 45); + this.cbDisconsiderTitlesWithLyrics.Name = "cbDisconsiderTitlesWithLyrics"; + this.cbDisconsiderTitlesWithLyrics.Size = new System.Drawing.Size(201, 17); + this.cbDisconsiderTitlesWithLyrics.TabIndex = 14; + this.cbDisconsiderTitlesWithLyrics.Text = "Disregard songs with lyric in database"; + this.cbDisconsiderTitlesWithLyrics.UseVisualStyleBackColor = true; + // // lbSongsLimitNote // this.lbSongsLimitNote.AutoSize = true; @@ -312,7 +396,7 @@ // this.gbMessages.Controls.Add(this.lbMessage); this.gbMessages.FlatStyle = System.Windows.Forms.FlatStyle.Popup; - this.gbMessages.Location = new System.Drawing.Point(257, 317); + this.gbMessages.Location = new System.Drawing.Point(257, 334); this.gbMessages.Name = "gbMessages"; this.gbMessages.Size = new System.Drawing.Size(255, 127); this.gbMessages.TabIndex = 28; @@ -328,6 +412,8 @@ // // gbProgress // + this.gbProgress.Controls.Add(this.lbTimer); + this.gbProgress.Controls.Add(this.lbTimeElapsed); this.gbProgress.Controls.Add(this.lbLastActivity2); this.gbProgress.Controls.Add(this.lbLastActivity); this.gbProgress.Controls.Add(this.lbStep2a); @@ -336,24 +422,40 @@ this.gbProgress.Controls.Add(this.progressBar); this.gbProgress.Controls.Add(this.lbStep1); this.gbProgress.FlatStyle = System.Windows.Forms.FlatStyle.Popup; - this.gbProgress.Location = new System.Drawing.Point(2, 191); + this.gbProgress.Location = new System.Drawing.Point(2, 192); this.gbProgress.Name = "gbProgress"; - this.gbProgress.Size = new System.Drawing.Size(509, 120); + this.gbProgress.Size = new System.Drawing.Size(509, 136); this.gbProgress.TabIndex = 18; this.gbProgress.TabStop = false; this.gbProgress.Text = "Progress"; // + // lbTimer + // + this.lbTimer.Location = new System.Drawing.Point(86, 88); + this.lbTimer.Name = "lbTimer"; + this.lbTimer.Size = new System.Drawing.Size(135, 15); + this.lbTimer.TabIndex = 25; + this.lbTimer.Text = "-"; + // + // lbTimeElapsed + // + this.lbTimeElapsed.Location = new System.Drawing.Point(12, 88); + this.lbTimeElapsed.Name = "lbTimeElapsed"; + this.lbTimeElapsed.Size = new System.Drawing.Size(77, 17); + this.lbTimeElapsed.TabIndex = 24; + this.lbTimeElapsed.Text = "Time elapsed:"; + // // lbLastActivity2 // - this.lbLastActivity2.Location = new System.Drawing.Point(82, 92); + this.lbLastActivity2.Location = new System.Drawing.Point(86, 108); this.lbLastActivity2.Name = "lbLastActivity2"; - this.lbLastActivity2.Size = new System.Drawing.Size(427, 25); + this.lbLastActivity2.Size = new System.Drawing.Size(420, 25); this.lbLastActivity2.TabIndex = 23; this.lbLastActivity2.Text = "-"; // // lbLastActivity // - this.lbLastActivity.Location = new System.Drawing.Point(12, 92); + this.lbLastActivity.Location = new System.Drawing.Point(12, 108); this.lbLastActivity.Name = "lbLastActivity"; this.lbLastActivity.Size = new System.Drawing.Size(77, 18); this.lbLastActivity.TabIndex = 22; @@ -386,7 +488,7 @@ // progressBar // this.progressBar.Enabled = false; - this.progressBar.Location = new System.Drawing.Point(28, 64); + this.progressBar.Location = new System.Drawing.Point(28, 62); this.progressBar.Name = "progressBar"; this.progressBar.Size = new System.Drawing.Size(466, 20); this.progressBar.Step = 1; @@ -417,7 +519,7 @@ this.gbMusicDBSearchStats.Controls.Add(this.lbLyricsFound2); this.gbMusicDBSearchStats.Controls.Add(this.lbLyricsFound); this.gbMusicDBSearchStats.FlatStyle = System.Windows.Forms.FlatStyle.Popup; - this.gbMusicDBSearchStats.Location = new System.Drawing.Point(2, 317); + this.gbMusicDBSearchStats.Location = new System.Drawing.Point(2, 334); this.gbMusicDBSearchStats.Name = "gbMusicDBSearchStats"; this.gbMusicDBSearchStats.Size = new System.Drawing.Size(249, 127); this.gbMusicDBSearchStats.TabIndex = 12; @@ -538,7 +640,7 @@ // // btSave // - this.btSave.Location = new System.Drawing.Point(356, 494); + this.btSave.Location = new System.Drawing.Point(356, 513); this.btSave.Name = "btSave"; this.btSave.Size = new System.Drawing.Size(78, 23); this.btSave.TabIndex = 16; @@ -548,7 +650,7 @@ // // btClose // - this.btClose.Location = new System.Drawing.Point(440, 494); + this.btClose.Location = new System.Drawing.Point(440, 513); this.btClose.Name = "btClose"; this.btClose.Size = new System.Drawing.Size(78, 23); this.btClose.TabIndex = 99; @@ -563,76 +665,20 @@ this.bgWorkerSearch.RunWorkerCompleted += new System.ComponentModel.RunWorkerCompletedEventHandler(this.bgWorkerSearch_RunWorkerCompleted); this.bgWorkerSearch.ProgressChanged += new System.ComponentModel.ProgressChangedEventHandler(this.bgWorkerSearch_ProgressChanged); // - // cbDisregardSongWithLyricInTag + // tbNote // - this.cbDisregardSongWithLyricInTag.AutoSize = true; - this.cbDisregardSongWithLyricInTag.Checked = true; - this.cbDisregardSongWithLyricInTag.CheckState = System.Windows.Forms.CheckState.Checked; - this.cbDisregardSongWithLyricInTag.FlatStyle = System.Windows.Forms.FlatStyle.Popup; - this.cbDisregardSongWithLyricInTag.Location = new System.Drawing.Point(15, 68); - this.cbDisregardSongWithLyricInTag.Name = "cbDisregardSongWithLyricInTag"; - this.cbDisregardSongWithLyricInTag.Size = new System.Drawing.Size(202, 17); - this.cbDisregardSongWithLyricInTag.TabIndex = 18; - this.cbDisregardSongWithLyricInTag.Text = "Disregard songs with lyric in music tag"; - this.cbDisregardSongWithLyricInTag.UseVisualStyleBackColor = true; + this.tbNote.Font = new System.Drawing.Font("Microsoft Sans Serif", 7.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0))); + this.tbNote.Location = new System.Drawing.Point(17, 111); + this.tbNote.Name = "tbNote"; + this.tbNote.Size = new System.Drawing.Size(377, 18); + this.tbNote.TabIndex = 19; + this.tbNote.Text = "(Seek Lyrics and Evil Labs are currently disabled due to instable servers)"; // - // cbDisregardVariousArtist - // - this.cbDisregardVariousArtist.AutoSize = true; - this.cbDisregardVariousArtist.Checked = true; - this.cbDisregardVariousArtist.CheckState = System.Windows.Forms.CheckState.Checked; - this.cbDisregardVariousArtist.FlatStyle = System.Windows.Forms.FlatStyle.Popup; - this.cbDisregardVariousArtist.Location = new System.Drawing.Point(15, 91); - this.cbDisregardVariousArtist.Name = "cbDisregardVariousArtist"; - this.cbDisregardVariousArtist.Size = new System.Drawing.Size(191, 17); - this.cbDisregardVariousArtist.TabIndex = 17; - this.cbDisregardVariousArtist.Text = "Disregard songs by \"various artists\""; - this.cbDisregardVariousArtist.UseVisualStyleBackColor = true; - // - // cbDisregardSongsWithNoLyric - // - this.cbDisregardSongsWithNoLyric.AutoSize = true; - this.cbDisregardSongsWithNoLyric.Checked = true; - this.cbDisregardSongsWithNoLyric.CheckState = System.Windows.Forms.CheckState.Checked; - this.cbDisregardSongsWithNoLyric.FlatStyle = System.Windows.Forms.FlatStyle.Popup; - this.cbDisregardSongsWithNoLyric.Location = new System.Drawing.Point(245, 68); - this.cbDisregardSongsWithNoLyric.Name = "cbDisregardSongsWithNoLyric"; - this.cbDisregardSongsWithNoLyric.Size = new System.Drawing.Size(246, 17); - this.cbDisregardSongsWithNoLyric.TabIndex = 16; - this.cbDisregardSongsWithNoLyric.Text = "Disregard previously marked songs (only batch)"; - this.cbDisregardSongsWithNoLyric.UseVisualStyleBackColor = true; - // - // cbMarkSongsWithNoLyrics - // - this.cbMarkSongsWithNoLyrics.AutoSize = true; - this.cbMarkSongsWithNoLyrics.Checked = true; - this.cbMarkSongsWithNoLyrics.CheckState = System.Windows.Forms.CheckState.Checked; - this.cbMarkSongsWithNoLyrics.FlatStyle = System.Windows.Forms.FlatStyle.Popup; - this.cbMarkSongsWithNoLyrics.Location = new System.Drawing.Point(245, 45); - this.cbMarkSongsWithNoLyrics.Name = "cbMarkSongsWithNoLyrics"; - this.cbMarkSongsWithNoLyrics.Size = new System.Drawing.Size(224, 17); - this.cbMarkSongsWithNoLyrics.TabIndex = 15; - this.cbMarkSongsWithNoLyrics.Text = "Mark songs to which no lyric can be found"; - this.cbMarkSongsWithNoLyrics.UseVisualStyleBackColor = true; - // - // cbDisconsiderTitlesWithLyrics - // - this.cbDisconsiderTitlesWithLyrics.AutoSize = true; - this.cbDisconsiderTitlesWithLyrics.Checked = true; - this.cbDisconsiderTitlesWithLyrics.CheckState = System.Windows.Forms.CheckState.Checked; - this.cbDisconsiderTitlesWithLyrics.FlatStyle = System.Windows.Forms.FlatStyle.Popup; - this.cbDisconsiderTitlesWithLyrics.Location = new System.Drawing.Point(15, 45); - this.cbDisconsiderTitlesWithLyrics.Name = "cbDisconsiderTitlesWithLyrics"; - this.cbDisconsiderTitlesWithLyrics.Size = new System.Drawing.Size(201, 17); - this.cbDisconsiderTitlesWithLyrics.TabIndex = 14; - this.cbDisconsiderTitlesWithLyrics.Text = "Disregard songs with lyric in database"; - this.cbDisconsiderTitlesWithLyrics.UseVisualStyleBackColor = true; - // // MyLyricsSetup // this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F); this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font; - this.ClientSize = new System.Drawing.Size(546, 520); + this.ClientSize = new System.Drawing.Size(541, 539); this.ControlBox = false; this.Controls.Add(this.btClose); this.Controls.Add(this.tabControl); @@ -714,5 +760,9 @@ private MediaPortal.UserInterface.Controls.MPCheckBox cbDisregardSongsWithNoLyric; private MediaPortal.UserInterface.Controls.MPCheckBox cbMarkSongsWithNoLyrics; private MediaPortal.UserInterface.Controls.MPCheckBox cbDisconsiderTitlesWithLyrics; + private MediaPortal.UserInterface.Controls.MPLabel lbTimer; + private MediaPortal.UserInterface.Controls.MPLabel lbTimeElapsed; + internal MediaPortal.UserInterface.Controls.MPCheckBox cbHotLyrics; + private MediaPortal.UserInterface.Controls.MPLabel tbNote; } } \ No newline at end of file Modified: trunk/plugins/MyLyrics/My Lyrics/MyLyricsSetup.cs =================================================================== --- trunk/plugins/MyLyrics/My Lyrics/MyLyricsSetup.cs 2007-02-20 22:44:49 UTC (rev 128) +++ trunk/plugins/MyLyrics/My Lyrics/MyLyricsSetup.cs 2007-02-21 20:13:55 UTC (rev 129) @@ -76,7 +76,7 @@ bool m_DisregardMarkedLyric = true; int m_noOfCurrentlySearches = 0; - const int m_NoOfCurrentSearchesAllowed = 5; + const int m_NoOfCurrentSearchesAllowed = 4; int m_Limit = 100; ArrayList songs = new ArrayList(); @@ -93,7 +93,15 @@ MusicDatabase dbs; + // Timer variables + int hour = 0; + int min = 0; + int sec = 0; + System.Windows.Forms.Timer timer; + StopWatch stopwatch = new StopWatch(); + + public MyLyricsSetup() { InitializeComponent(); @@ -127,6 +135,7 @@ cbLyrics007.Checked = ((string)xmlreader.GetValueAsString("myLyrics", "useLyrics007", "True")).ToString().Equals("True") ? true : false; cbLyricsOnDemand.Checked = ((string)xmlreader.GetValueAsString("myLyrics", "useLyricsOnDemand", "True")).ToString().Equals("True") ? true : false; cbSeekLyrics.Checked = ((string)xmlreader.GetValueAsString("myLyrics", "useSeekLyrics", "True")).ToString().Equals("True") ? true : false; + cbHotLyrics.Checked = ((string)xmlreader.GetValueAsString("myLyrics", "useHotLyrics", "True")).ToString().Equals("True") ? true : false; if (Setup.IsMember("LyricWiki") == false) { @@ -148,6 +157,10 @@ { cbSeekLyrics.Visible = false; } + if (Setup.IsMember("HotLyrics") == false) + { + cbHotLyrics.Visible = false; + } } catch { MessageBox.Show("Something has gone wrong when reading Mediaportal.xml"); @@ -197,6 +210,7 @@ xmlwriter.SetValue("myLyrics", "useLyrics007", cbLyrics007.Checked.ToString()); xmlwriter.SetValue("myLyrics", "useLyricOnDemand", cbLyricsOnDemand.Checked.ToString()); xmlwriter.SetValue("myLyrics", "useSeekLyrics", cbSeekLyrics.Checked.ToString()); + xmlwriter.SetValue("myLyrics", "useHotLyrics", cbHotLyrics.Checked.ToString()); } } @@ -229,6 +243,14 @@ private void btImportAll_Click(object sender, System.EventArgs e) { + stopwatch.StartZero(); + lbTimer.Text = "00:00.00"; + timer = new System.Windows.Forms.Timer(); + timer.Enabled = true; + timer.Interval = 1000; + timer.Tick += new EventHandler(timer_Tick); + timer.Start(); + isSearching(true); lbStep1a.Text = "The collecting of songs has started."; lbStep2a.Text = ""; @@ -271,7 +293,6 @@ m_MarkSongsWhenNoLyricFound = cbMarkSongsWithNoLyrics.Checked; m_DisregardMarkedLyric = cbDisregardSongsWithNoLyric.Checked; - m_TotalTitles = 0; m_SongsNotKnown = 0; m_SongsWithLyric = 0; m_SongsWithMark = 0; @@ -298,6 +319,8 @@ sitesToSearch.Add("LyricsOnDemand"); if (cbSeekLyrics.Checked) sitesToSearch.Add("SeekLyrics"); + if (cbHotLyrics.Checked) + sitesToSearch.Add("HotLyrics"); sitesToSearchArray = (string[])sitesToSearch.ToArray(typeof(string)); @@ -385,6 +408,15 @@ // Called from worker thread using delegate and Control.Invoke private void ThreadFinishedMethod(String artist, String title, String message, String site) { + if (timer != null) + { + timer.Enabled = false; + timer.Stop(); + timer.Dispose(); + timer = null; + hour = 0; min = 0; sec = 0; + } + if (lc != null) { lc.StopSearches = true; @@ -396,6 +428,7 @@ lbStep2a.Text = "Completed"; lbMessage.Text = "#" + ((int)(++m_noOfMessages)).ToString() + " - " + message + "\r\n" + lbMessage.Text + "\r\n"; btImportAll.Enabled = true; + btCancel.Enabled = false; isSearching(false); lyricUC.updateLyricsTree(); } @@ -597,7 +630,6 @@ { if (lc != null) { - btCancel.Enabled = false; lc.finishThread(m_artist, m_track, "The search has been cancelled by the user.", "none"); lc.Dispose(); lc = null; @@ -608,9 +640,6 @@ //bgWorkerSearch.Dispose(); //bgWorkerSearch = null; - - //bgWorkerTestWebservices.Dispose(); - //bgWorkerTestWebservices = null; } } @@ -618,5 +647,21 @@ { LyricDiagnostics.Dispose(); } + + private void timer_Tick(object sender, EventArgs e) + { + int t = (int)stopwatch.ElapsedMilliseconds; + sec = (t /= 1000); + + int secOverflow = sec / 60; + sec -= (secOverflow * 60); + min = secOverflow; + + int minOverflow = min / 60; + min -= (minOverflow * 60); + hour = minOverflow; + + lbTimer.Text = (hour < 10 ? "0" + hour.ToString() : hour.ToString()) + ":" + (min < 10 ? "0" + min.ToString() : min.ToString()) + "." + (sec < 10 ? "0" + sec.ToString() : sec.ToString()); + } } } \ No newline at end of file Modified: trunk/plugins/MyLyrics/My Lyrics/MyLyricsSetup.resx =================================================================== --- trunk/plugins/MyLyrics/My Lyrics/MyLyricsSetup.resx 2007-02-20 22:44:49 UTC (rev 128) +++ trunk/plugins/MyLyrics/My Lyrics/MyLyricsSetup.resx 2007-02-21 20:13:55 UTC (rev 129) @@ -118,7 +118,7 @@ <value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value> </resheader> <metadata name="bgWorkerSearch.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a"> - <value>200, 17</value> + <value>94, 17</value> </metadata> <metadata name="$this.TrayHeight" type="System.Int32, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"> <value>51</value> Modified: trunk/plugins/MyLyrics/My Lyrics/MyLyricsSetup_LyricsLibrary.cs =================================================================== --- trunk/plugins/MyLyrics/My Lyrics/MyLyricsSetup_LyricsLibrary.cs 2007-02-20 22:44:49 UTC (rev 128) +++ trunk/plugins/MyLyrics/My Lyrics/MyLyricsSetup_LyricsLibrary.cs 2007-02-21 20:13:55 UTC (rev 129) @@ -255,7 +255,8 @@ lbTitle.Text = ""; tbLyrics.Enabled = false; - + + // Selected a title if (treeView.SelectedNode != null && treeView.SelectedNode.Parent != null) { string artist = treeView.SelectedNode.Parent.Text; @@ -281,6 +282,12 @@ lbTitle.Text = m_CurrentArtist + " - " + m_CurrentTitle; } } + // Selected an artist + else if (treeView.SelectedNode != null) + { + string artist = treeView.SelectedNode.Text; + m_CurrentArtist = LyricUtil.capatalizeString(artist); + } } private MusicTag GetTag(Song song) Modified: trunk/plugins/MyLyrics/My Lyrics/Properties/AssemblyInfo.cs =================================================================== --- trunk/plugins/MyLyrics/My Lyrics/Properties/AssemblyInfo.cs 2007-02-20 22:44:49 UTC (rev 128) +++ trunk/plugins/MyLyrics/My Lyrics/Properties/AssemblyInfo.cs 2007-02-21 20:13:55 UTC (rev 129) @@ -31,5 +31,5 @@ // // You can specify all the values or you can default the Revision and Build Numbers // by using the '*' as shown below: -[assembly: AssemblyVersion("0.14")] -[assembly: AssemblyFileVersion("0.14")] +[assembly: AssemblyVersion("0.15")] +[assembly: AssemblyFileVersion("0.15")] Modified: trunk/plugins/MyLyrics/MyLyric Windows Application/MyLyric Windows Application/LyricSiteTestUC.Designer.cs =================================================================== --- trunk/plugins/MyLyrics/MyLyric Windows Application/MyLyric Windows Application/LyricSiteTestUC.Designer.cs 2007-02-20 22:44:49 UTC (rev 128) +++ trunk/plugins/MyLyrics/MyLyric Windows Application/MyLyric Windows Application/LyricSiteTestUC.Designer.cs 2007-02-21 20:13:55 UTC (rev 129) @@ -35,11 +35,13 @@ this.label2 = new System.Windows.Forms.Label(); this.label1 = new System.Windows.Forms.Label(); this.checkBox1 = new System.Windows.Forms.CheckBox(); + this.button1 = new System.Windows.Forms.Button(); this.groupBox1.SuspendLayout(); this.SuspendLayout(); // // groupBox1 // + this.groupBox1.Controls.Add(this.button1); this.groupBox1.Controls.Add(this.textBox1); this.groupBox1.Controls.Add(this.label4); this.groupBox1.Controls.Add(this.label3); @@ -103,12 +105,22 @@ this.checkBox1.CheckState = System.Windows.Forms.CheckState.Checked; this.checkBox1.Location = new System.Drawing.Point(16, 3); this.checkBox1.Name = "checkBox1"; - this.checkBox1.Size = new System.Drawing.Size(139, 17); + this.checkBox1.Size = new System.Drawing.Size(97, 17); this.checkBox1.TabIndex = 1; this.checkBox1.Text = "Enable test for "; this.checkBox1.UseVisualStyleBackColor = true; this.checkBox1.CheckedChanged += new System.EventHandler(this.checkBox1_CheckedChanged); // + // button1 + // + this.button1.Location = new System.Drawing.Point(240, 15); + this.button1.Name = "button1"; + this.button1.Size = new System.Drawing.Size(75, 23); + this.button1.TabIndex = 5; + this.button1.Text = "Show lyric"; + this.button1.UseVisualStyleBackColor = true; + this.button1.Click += new System.EventHandler(this.button1_Click); + // // LyricSiteTestUC // this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F); @@ -133,5 +145,6 @@ private System.Windows.Forms.Label label3; private System.Windows.Forms.Label label2; private System.Windows.Forms.CheckBox checkBox1; + private System.Windows.Forms.Button button1; } } Modified: trunk/plugins/MyLyrics/MyLyric Windows Application/MyLyric Windows Application/LyricSiteTestUC.cs =================================================================== --- trunk/plugins/MyLyrics/MyLyric Windows Application/MyLyric Windows Application/LyricSiteTestUC.cs 2007-02-20 22:44:49 UTC (rev 128) +++ trunk/plugins/MyLyrics/MyLyric Windows Application/MyLyric Windows Application/LyricSiteTestUC.cs 2007-02-21 20:13:55 UTC (rev 129) @@ -94,5 +94,10 @@ { isSiteSelected = this.checkBox1.Checked; } + + private void button1_Click(object sender, EventArgs e) + { + MessageBox.Show(textBox1.Text); + } } } Modified: trunk/plugins/MyLyrics/MyLyric Windows Application/MyLyric Windows Application/LyricsEngine Tester.cs =================================================================== --- trunk/plugins/MyLyrics/MyLyric Windows Application/MyLyric Windows Application/LyricsEngine Tester.cs 2007-02-20 22:44:49 UTC (rev 128) +++ trunk/plugins/MyLyrics/MyLyric Windows Application/MyLyric Windows Application/LyricsEngine Tester.cs 2007-02-21 20:13:55 UTC (rev 129) @@ -128,33 +128,19 @@ m_EventStopThread.Reset(); m_EventThreadStopped.Reset(); - //resetGui(); - //LyricController lc = new LyricController(this, m_EventStopThread, m_EventThreadStopped, false); - //// create worker thread instance - //ThreadStart job = delegate - //{ - // lc.Run(); - //}; + ArrayList sites = new ArrayList(); - //m_LyricControllerThread = new Thread(job); - //m_LyricControllerThread.Name = "lyricSearch Thread"; // looks nice in Output window - //m_LyricControllerThread.Start(); - - //lc.GoogleLicenseKey = tbLicenseKey.Text; - - //ArrayList lyricStrings = new ArrayList(); - foreach (LyricSiteTestUC lyricSite in lyricSiteArray) { if (lyricSite.IsSiteSelected) { - //lyricStrings.Add(lyricSite.LyricSiteName); lyricSite.start(); + sites.Add(lyricSite.LyricSiteName); } } - LyricController lc = new LyricController(this, m_EventStopThread, m_EventThreadStopped, Setup.AllSites()); + LyricController lc = new LyricController(this, m_EventStopThread, m_EventThreadStopped, (string[])sites.ToArray(typeof(string))); ThreadStart job = delegate { @@ -189,7 +175,7 @@ private void updateStringMethod(String message, String site) { string m_message = message.ToString(); - int siteIndex = System.Array.IndexOf(Setup.AllSites(), site); + int siteIndex = System.Array.IndexOf<string>(Setup.AllSites(), site); lyricSiteArray[siteIndex].Lyric = m_message; lyricSiteArray[siteIndex].stop(); } @@ -201,7 +187,7 @@ private void lyricFoundMethod(String lyricStrings, String artist, String title, String site) { - int siteIndex = System.Array.IndexOf(Setup.AllSites(), site); + int siteIndex = System.Array.IndexOf<string>(Setup.AllSites(), site); lyricSiteArray[siteIndex].Lyric = lyricStrings; lyricSiteArray[siteIndex].stop(); setMark(artist, title, siteIndex, true); @@ -209,16 +195,13 @@ private void lyricNotFoundMethod(String artist, String title, String message, String site) { - int siteIndex = System.Array.IndexOf(Setup.AllSites(), site); + int siteIndex = System.Array.IndexOf<string>(Setup.AllSites(), site); if (lyricSiteArray[siteIndex].Lyric.Equals("")) { lyricSiteArray[siteIndex].Lyric = message; lyricSiteArray[siteIndex].stop(); } setMark(artist, title, siteIndex, false); - - - } Modified: trunk/plugins/MyLyrics/MyLyric Windows Application/MyLyric Windows Application/MyLyric Windows Application.csproj =================================================================== --- trunk/plugins/MyLyrics/MyLyric Windows Application/MyLyric Windows Application/MyLyric Windows Application.csproj 2007-02-20 22:44:49 UTC (rev 128) +++ trunk/plugins/MyLyrics/MyLyric Windows Application/MyLyric Windows Application/MyLyric Windows Application.csproj 2007-02-21 20:13:55 UTC (rev 129) @@ -9,8 +9,7 @@ <AppDesignerFolder>Properties</AppDesignerFolder> <RootNamespace>MyLyric_Windows_Application</RootNamespace> <AssemblyName>MyLyric Windows Application</AssemblyName> - <StartupObject> - </StartupObject> + <StartupObject>MyLyric_Windows_Application.Class1</StartupObject> </PropertyGroup> <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' "> <DebugSymbols>true</DebugSymbols> Modified: trunk/plugins/MyLyrics/MyLyric Windows Application/MyLyric Windows Application/Properties/AssemblyInfo.cs =================================================================== --- trunk/plugins/MyLyrics/MyLyric Windows Application/MyLyric Windows Application/Properties/AssemblyInfo.cs 2007-02-20 22:44:49 UTC (rev 128) +++ trunk/plugins/MyLyrics/MyLyric Windows Application/MyLyric Windows Application/Properties/AssemblyInfo.cs 2007-02-21 20:13:55 UTC (rev 129) @@ -29,5 +29,5 @@ // Build Number // Revision // -[assembly: AssemblyVersion("0.14")] -[assembly: AssemblyFileVersion("0.14")] +[assembly: AssemblyVersion("0.15")] +[assembly: AssemblyFileVersion("0.15")] This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <mis...@us...> - 2007-02-20 22:45:01
|
Revision: 128 http://mp-plugins.svn.sourceforge.net/mp-plugins/?rev=128&view=rev Author: misterd_sf Date: 2007-02-20 14:44:49 -0800 (Tue, 20 Feb 2007) Log Message: ----------- MPlayer: Bugfixes for options "Volume normalize" and "Noise/Denoise->High Quality Denoise". Small other bugfixes. Added additional Options for "cacheSize", "passthrough AC3 and DTS" and "sound output device" Videostreams will be played in fullscreen at startup Modified Paths: -------------- trunk/plugins/My MPlayer/MPlayer_ExtPlayer/ConfigurationForm.Designer.cs trunk/plugins/My MPlayer/MPlayer_ExtPlayer/ConfigurationForm.cs trunk/plugins/My MPlayer/MPlayer_ExtPlayer/ConfigurationForm.resx trunk/plugins/My MPlayer/MPlayer_ExtPlayer/ConfigurationManager.cs trunk/plugins/My MPlayer/MPlayer_ExtPlayer/MPlayer_ExtPlayer.cs trunk/plugins/My MPlayer/MPlayer_ExtPlayer/MPlayer_ExtPlayer.csproj trunk/plugins/My MPlayer/MPlayer_GUIPlugin/MPlayer_GUIPlugin.cs Modified: trunk/plugins/My MPlayer/MPlayer_ExtPlayer/ConfigurationForm.Designer.cs =================================================================== --- trunk/plugins/My MPlayer/MPlayer_ExtPlayer/ConfigurationForm.Designer.cs 2007-02-20 19:41:57 UTC (rev 127) +++ trunk/plugins/My MPlayer/MPlayer_ExtPlayer/ConfigurationForm.Designer.cs 2007-02-20 22:44:49 UTC (rev 128) @@ -76,7 +76,7 @@ this.label7 = new System.Windows.Forms.Label(); this.noiseDenoise = new System.Windows.Forms.ComboBox(); this.audioChannels = new System.Windows.Forms.ComboBox(); - this.video_Tab = new System.Windows.Forms.TabPage(); + this.video_audio_Tab = new System.Windows.Forms.TabPage(); this.label25 = new System.Windows.Forms.Label(); this.videoPlayerUse = new System.Windows.Forms.CheckBox(); this.videoArgument = new System.Windows.Forms.TextBox(); @@ -86,17 +86,7 @@ this.videoDelete = new System.Windows.Forms.Button(); this.videoAdd = new System.Windows.Forms.Button(); this.videoExtList = new System.Windows.Forms.ListBox(); - this.audio_Tab = new System.Windows.Forms.TabPage(); - this.label26 = new System.Windows.Forms.Label(); - this.audioPlayerUse = new System.Windows.Forms.CheckBox(); - this.audioArgument = new System.Windows.Forms.TextBox(); - this.label27 = new System.Windows.Forms.Label(); - this.label28 = new System.Windows.Forms.Label(); - this.audioExtension = new System.Windows.Forms.TextBox(); - this.audioDelete = new System.Windows.Forms.Button(); - this.audioAdd = new System.Windows.Forms.Button(); - this.audioExtList = new System.Windows.Forms.ListBox(); - this.dvd_vcd_svcd_Tab = new System.Windows.Forms.TabPage(); + this.dvd_vcd_svcd_streams_Tab = new System.Windows.Forms.TabPage(); this.audioCDArguments = new System.Windows.Forms.TextBox(); this.label6 = new System.Windows.Forms.Label(); this.label11 = new System.Windows.Forms.Label(); @@ -105,7 +95,13 @@ this.vcdArguments = new System.Windows.Forms.TextBox(); this.label9 = new System.Windows.Forms.Label(); this.dvdArguments = new System.Windows.Forms.TextBox(); - this.streaming_cue_Tab = new System.Windows.Forms.TabPage(); + this.openFileDialog1 = new System.Windows.Forms.OpenFileDialog(); + this.fontDialog1 = new System.Windows.Forms.FontDialog(); + this.passthroughAC3_DTS = new System.Windows.Forms.CheckBox(); + this.soundOutputDevice = new System.Windows.Forms.ComboBox(); + this.label29 = new System.Windows.Forms.Label(); + this.label30 = new System.Windows.Forms.Label(); + this.cacheSize = new System.Windows.Forms.ComboBox(); this.label20 = new System.Windows.Forms.Label(); this.unsvArguments = new System.Windows.Forms.TextBox(); this.label19 = new System.Windows.Forms.Label(); @@ -124,19 +120,28 @@ this.ftpArguments = new System.Windows.Forms.TextBox(); this.label12 = new System.Windows.Forms.Label(); this.cueArguments = new System.Windows.Forms.TextBox(); - this.openFileDialog1 = new System.Windows.Forms.OpenFileDialog(); - this.fontDialog1 = new System.Windows.Forms.FontDialog(); + this.groupBox1 = new System.Windows.Forms.GroupBox(); + this.groupBox2 = new System.Windows.Forms.GroupBox(); + this.label26 = new System.Windows.Forms.Label(); + this.audioPlayerUse = new System.Windows.Forms.CheckBox(); + this.audioArgument = new System.Windows.Forms.TextBox(); + this.label27 = new System.Windows.Forms.Label(); + this.label28 = new System.Windows.Forms.Label(); + this.audioExtension = new System.Windows.Forms.TextBox(); + this.audioDelete = new System.Windows.Forms.Button(); + this.audioAdd = new System.Windows.Forms.Button(); + this.audioExtList = new System.Windows.Forms.ListBox(); this.tabControl1.SuspendLayout(); this.general_Tab.SuspendLayout(); - this.video_Tab.SuspendLayout(); - this.audio_Tab.SuspendLayout(); - this.dvd_vcd_svcd_Tab.SuspendLayout(); - this.streaming_cue_Tab.SuspendLayout(); + this.video_audio_Tab.SuspendLayout(); + this.dvd_vcd_svcd_streams_Tab.SuspendLayout(); + this.groupBox1.SuspendLayout(); + this.groupBox2.SuspendLayout(); this.SuspendLayout(); // // okButton // - this.okButton.Location = new System.Drawing.Point(16, 396); + this.okButton.Location = new System.Drawing.Point(16, 475); this.okButton.Name = "okButton"; this.okButton.Size = new System.Drawing.Size(75, 23); this.okButton.TabIndex = 3; @@ -154,7 +159,7 @@ // // label2 // - this.label2.Location = new System.Drawing.Point(3, 41); + this.label2.Location = new System.Drawing.Point(3, 68); this.label2.Name = "label2"; this.label2.Size = new System.Drawing.Size(117, 23); this.label2.TabIndex = 9; @@ -162,7 +167,7 @@ // // label3 // - this.label3.Location = new System.Drawing.Point(3, 68); + this.label3.Location = new System.Drawing.Point(3, 95); this.label3.Name = "label3"; this.label3.Size = new System.Drawing.Size(117, 23); this.label3.TabIndex = 10; @@ -170,7 +175,7 @@ // // label4 // - this.label4.Location = new System.Drawing.Point(3, 95); + this.label4.Location = new System.Drawing.Point(3, 122); this.label4.Name = "label4"; this.label4.Size = new System.Drawing.Size(117, 23); this.label4.TabIndex = 11; @@ -178,7 +183,7 @@ // // rebuildIndex // - this.rebuildIndex.Location = new System.Drawing.Point(6, 228); + this.rebuildIndex.Location = new System.Drawing.Point(6, 291); this.rebuildIndex.Name = "rebuildIndex"; this.rebuildIndex.Size = new System.Drawing.Size(188, 23); this.rebuildIndex.TabIndex = 12; @@ -187,7 +192,7 @@ // // priorityBoost // - this.priorityBoost.Location = new System.Drawing.Point(6, 257); + this.priorityBoost.Location = new System.Drawing.Point(6, 320); this.priorityBoost.Name = "priorityBoost"; this.priorityBoost.Size = new System.Drawing.Size(188, 23); this.priorityBoost.TabIndex = 13; @@ -196,7 +201,7 @@ // // label5 // - this.label5.Location = new System.Drawing.Point(3, 205); + this.label5.Location = new System.Drawing.Point(3, 259); this.label5.Name = "label5"; this.label5.Size = new System.Drawing.Size(117, 23); this.label5.TabIndex = 14; @@ -204,7 +209,7 @@ // // optionalArguments // - this.optionalArguments.Location = new System.Drawing.Point(122, 202); + this.optionalArguments.Location = new System.Drawing.Point(122, 256); this.optionalArguments.Name = "optionalArguments"; this.optionalArguments.Size = new System.Drawing.Size(260, 20); this.optionalArguments.TabIndex = 15; @@ -222,6 +227,7 @@ this.soundOutputDriver.Name = "soundOutputDriver"; this.soundOutputDriver.Size = new System.Drawing.Size(260, 21); this.soundOutputDriver.TabIndex = 16; + this.soundOutputDriver.SelectedIndexChanged += new System.EventHandler(this.soundOutputDriver_SelectedIndexChanged); // // postProcessing // @@ -231,7 +237,7 @@ "Off", "Automatic", "Maximum quality"}); - this.postProcessing.Location = new System.Drawing.Point(122, 38); + this.postProcessing.Location = new System.Drawing.Point(122, 65); this.postProcessing.Name = "postProcessing"; this.postProcessing.Size = new System.Drawing.Size(260, 21); this.postProcessing.TabIndex = 17; @@ -245,7 +251,7 @@ "4:3", "16:9", "2,35"}); - this.aspectRatio.Location = new System.Drawing.Point(122, 65); + this.aspectRatio.Location = new System.Drawing.Point(122, 92); this.aspectRatio.Name = "aspectRatio"; this.aspectRatio.Size = new System.Drawing.Size(260, 21); this.aspectRatio.TabIndex = 18; @@ -258,7 +264,7 @@ "Off", "Simple", "Adaptive"}); - this.deinterlace.Location = new System.Drawing.Point(122, 92); + this.deinterlace.Location = new System.Drawing.Point(122, 119); this.deinterlace.Name = "deinterlace"; this.deinterlace.Size = new System.Drawing.Size(260, 21); this.deinterlace.TabIndex = 19; @@ -266,7 +272,7 @@ // cancelButton // this.cancelButton.DialogResult = System.Windows.Forms.DialogResult.Cancel; - this.cancelButton.Location = new System.Drawing.Point(344, 396); + this.cancelButton.Location = new System.Drawing.Point(348, 475); this.cancelButton.Name = "cancelButton"; this.cancelButton.Size = new System.Drawing.Size(75, 23); this.cancelButton.TabIndex = 20; @@ -276,7 +282,7 @@ // // mplayerPath // - this.mplayerPath.Location = new System.Drawing.Point(126, 315); + this.mplayerPath.Location = new System.Drawing.Point(126, 401); this.mplayerPath.Name = "mplayerPath"; this.mplayerPath.Size = new System.Drawing.Size(174, 20); this.mplayerPath.TabIndex = 21; @@ -284,7 +290,7 @@ // // label8 // - this.label8.Location = new System.Drawing.Point(3, 318); + this.label8.Location = new System.Drawing.Point(3, 404); this.label8.Name = "label8"; this.label8.Size = new System.Drawing.Size(117, 23); this.label8.TabIndex = 22; @@ -292,7 +298,7 @@ // // folderSearch // - this.folderSearch.Location = new System.Drawing.Point(306, 313); + this.folderSearch.Location = new System.Drawing.Point(306, 399); this.folderSearch.Name = "folderSearch"; this.folderSearch.Size = new System.Drawing.Size(76, 23); this.folderSearch.TabIndex = 23; @@ -307,18 +313,21 @@ // tabControl1 // this.tabControl1.Controls.Add(this.general_Tab); - this.tabControl1.Controls.Add(this.video_Tab); - this.tabControl1.Controls.Add(this.audio_Tab); - this.tabControl1.Controls.Add(this.dvd_vcd_svcd_Tab); - this.tabControl1.Controls.Add(this.streaming_cue_Tab); + this.tabControl1.Controls.Add(this.video_audio_Tab); + this.tabControl1.Controls.Add(this.dvd_vcd_svcd_streams_Tab); this.tabControl1.Location = new System.Drawing.Point(12, 12); this.tabControl1.Name = "tabControl1"; this.tabControl1.SelectedIndex = 0; - this.tabControl1.Size = new System.Drawing.Size(411, 378); + this.tabControl1.Size = new System.Drawing.Size(411, 457); this.tabControl1.TabIndex = 24; // // general_Tab // + this.general_Tab.Controls.Add(this.label30); + this.general_Tab.Controls.Add(this.cacheSize); + this.general_Tab.Controls.Add(this.label29); + this.general_Tab.Controls.Add(this.soundOutputDevice); + this.general_Tab.Controls.Add(this.passthroughAC3_DTS); this.general_Tab.Controls.Add(this.label22); this.general_Tab.Controls.Add(this.osdFont); this.general_Tab.Controls.Add(this.audioNormalize); @@ -347,14 +356,14 @@ this.general_Tab.Location = new System.Drawing.Point(4, 22); this.general_Tab.Name = "general_Tab"; this.general_Tab.Padding = new System.Windows.Forms.Padding(3); - this.general_Tab.Size = new System.Drawing.Size(403, 352); + this.general_Tab.Size = new System.Drawing.Size(403, 431); this.general_Tab.TabIndex = 0; this.general_Tab.Text = "General"; this.general_Tab.UseVisualStyleBackColor = true; // // label22 // - this.label22.Location = new System.Drawing.Point(3, 178); + this.label22.Location = new System.Drawing.Point(3, 205); this.label22.Name = "label22"; this.label22.Size = new System.Drawing.Size(117, 23); this.label22.TabIndex = 33; @@ -364,14 +373,14 @@ // this.osdFont.DropDownStyle = System.Windows.Forms.ComboBoxStyle.DropDownList; this.osdFont.FormattingEnabled = true; - this.osdFont.Location = new System.Drawing.Point(122, 175); + this.osdFont.Location = new System.Drawing.Point(122, 202); this.osdFont.Name = "osdFont"; this.osdFont.Size = new System.Drawing.Size(260, 21); this.osdFont.TabIndex = 32; // // audioNormalize // - this.audioNormalize.Location = new System.Drawing.Point(200, 286); + this.audioNormalize.Location = new System.Drawing.Point(200, 349); this.audioNormalize.Name = "audioNormalize"; this.audioNormalize.Size = new System.Drawing.Size(178, 23); this.audioNormalize.TabIndex = 31; @@ -380,7 +389,7 @@ // // framedrop // - this.framedrop.Location = new System.Drawing.Point(6, 286); + this.framedrop.Location = new System.Drawing.Point(6, 349); this.framedrop.Name = "framedrop"; this.framedrop.Size = new System.Drawing.Size(188, 23); this.framedrop.TabIndex = 30; @@ -389,7 +398,7 @@ // // directRendering // - this.directRendering.Location = new System.Drawing.Point(200, 228); + this.directRendering.Location = new System.Drawing.Point(200, 291); this.directRendering.Name = "directRendering"; this.directRendering.Size = new System.Drawing.Size(178, 23); this.directRendering.TabIndex = 29; @@ -398,7 +407,7 @@ // // doubleBuffering // - this.doubleBuffering.Location = new System.Drawing.Point(200, 257); + this.doubleBuffering.Location = new System.Drawing.Point(200, 320); this.doubleBuffering.Name = "doubleBuffering"; this.doubleBuffering.Size = new System.Drawing.Size(178, 23); this.doubleBuffering.TabIndex = 28; @@ -407,7 +416,7 @@ // // label21 // - this.label21.Location = new System.Drawing.Point(3, 151); + this.label21.Location = new System.Drawing.Point(3, 178); this.label21.Name = "label21"; this.label21.Size = new System.Drawing.Size(117, 23); this.label21.TabIndex = 27; @@ -415,7 +424,7 @@ // // label7 // - this.label7.Location = new System.Drawing.Point(3, 122); + this.label7.Location = new System.Drawing.Point(3, 149); this.label7.Name = "label7"; this.label7.Size = new System.Drawing.Size(117, 23); this.label7.TabIndex = 26; @@ -430,7 +439,7 @@ "Noise", "High Quality Denoise", "Denoise"}); - this.noiseDenoise.Location = new System.Drawing.Point(122, 148); + this.noiseDenoise.Location = new System.Drawing.Point(122, 175); this.noiseDenoise.Name = "noiseDenoise"; this.noiseDenoise.Size = new System.Drawing.Size(260, 21); this.noiseDenoise.TabIndex = 25; @@ -444,34 +453,27 @@ "Stereo", "Surround", "Full 5.1"}); - this.audioChannels.Location = new System.Drawing.Point(122, 119); + this.audioChannels.Location = new System.Drawing.Point(122, 146); this.audioChannels.Name = "audioChannels"; this.audioChannels.Size = new System.Drawing.Size(260, 21); this.audioChannels.TabIndex = 24; // - // video_Tab + // video_audio_Tab // - this.video_Tab.Controls.Add(this.label25); - this.video_Tab.Controls.Add(this.videoPlayerUse); - this.video_Tab.Controls.Add(this.videoArgument); - this.video_Tab.Controls.Add(this.label24); - this.video_Tab.Controls.Add(this.label23); - this.video_Tab.Controls.Add(this.videoExtension); - this.video_Tab.Controls.Add(this.videoDelete); - this.video_Tab.Controls.Add(this.videoAdd); - this.video_Tab.Controls.Add(this.videoExtList); - this.video_Tab.Location = new System.Drawing.Point(4, 22); - this.video_Tab.Name = "video_Tab"; - this.video_Tab.Padding = new System.Windows.Forms.Padding(3); - this.video_Tab.Size = new System.Drawing.Size(403, 352); - this.video_Tab.TabIndex = 1; - this.video_Tab.Text = "Video"; - this.video_Tab.UseVisualStyleBackColor = true; + this.video_audio_Tab.Controls.Add(this.groupBox2); + this.video_audio_Tab.Controls.Add(this.groupBox1); + this.video_audio_Tab.Location = new System.Drawing.Point(4, 22); + this.video_audio_Tab.Name = "video_audio_Tab"; + this.video_audio_Tab.Padding = new System.Windows.Forms.Padding(3); + this.video_audio_Tab.Size = new System.Drawing.Size(403, 431); + this.video_audio_Tab.TabIndex = 1; + this.video_audio_Tab.Text = "Video/Audio"; + this.video_audio_Tab.UseVisualStyleBackColor = true; // // label25 // this.label25.AutoSize = true; - this.label25.Location = new System.Drawing.Point(87, 64); + this.label25.Location = new System.Drawing.Point(90, 72); this.label25.Name = "label25"; this.label25.Size = new System.Drawing.Size(100, 13); this.label25.TabIndex = 26; @@ -480,7 +482,7 @@ // videoPlayerUse // this.videoPlayerUse.AutoSize = true; - this.videoPlayerUse.Location = new System.Drawing.Point(193, 63); + this.videoPlayerUse.Location = new System.Drawing.Point(196, 71); this.videoPlayerUse.Name = "videoPlayerUse"; this.videoPlayerUse.Size = new System.Drawing.Size(15, 14); this.videoPlayerUse.TabIndex = 25; @@ -488,15 +490,15 @@ // // videoArgument // - this.videoArgument.Location = new System.Drawing.Point(193, 37); + this.videoArgument.Location = new System.Drawing.Point(196, 45); this.videoArgument.Name = "videoArgument"; - this.videoArgument.Size = new System.Drawing.Size(202, 20); + this.videoArgument.Size = new System.Drawing.Size(192, 20); this.videoArgument.TabIndex = 24; // // label24 // this.label24.AutoSize = true; - this.label24.Location = new System.Drawing.Point(87, 40); + this.label24.Location = new System.Drawing.Point(90, 48); this.label24.Name = "label24"; this.label24.Size = new System.Drawing.Size(60, 13); this.label24.TabIndex = 23; @@ -505,7 +507,7 @@ // label23 // this.label23.AutoSize = true; - this.label23.Location = new System.Drawing.Point(87, 14); + this.label23.Location = new System.Drawing.Point(90, 22); this.label23.Name = "label23"; this.label23.Size = new System.Drawing.Size(56, 13); this.label23.TabIndex = 22; @@ -513,15 +515,15 @@ // // videoExtension // - this.videoExtension.Location = new System.Drawing.Point(193, 11); + this.videoExtension.Location = new System.Drawing.Point(196, 19); this.videoExtension.Name = "videoExtension"; - this.videoExtension.Size = new System.Drawing.Size(202, 20); + this.videoExtension.Size = new System.Drawing.Size(192, 20); this.videoExtension.TabIndex = 21; this.videoExtension.Leave += new System.EventHandler(this.videoExtension_Leave); // // videoDelete // - this.videoDelete.Location = new System.Drawing.Point(171, 317); + this.videoDelete.Location = new System.Drawing.Point(174, 169); this.videoDelete.Name = "videoDelete"; this.videoDelete.Size = new System.Drawing.Size(75, 23); this.videoDelete.TabIndex = 20; @@ -531,7 +533,7 @@ // // videoAdd // - this.videoAdd.Location = new System.Drawing.Point(90, 317); + this.videoAdd.Location = new System.Drawing.Point(93, 169); this.videoAdd.Name = "videoAdd"; this.videoAdd.Size = new System.Drawing.Size(75, 23); this.videoAdd.TabIndex = 19; @@ -542,127 +544,47 @@ // videoExtList // this.videoExtList.FormattingEnabled = true; - this.videoExtList.Location = new System.Drawing.Point(3, 11); + this.videoExtList.Location = new System.Drawing.Point(6, 19); this.videoExtList.Name = "videoExtList"; - this.videoExtList.Size = new System.Drawing.Size(78, 329); + this.videoExtList.Size = new System.Drawing.Size(78, 173); this.videoExtList.TabIndex = 18; this.videoExtList.SelectedIndexChanged += new System.EventHandler(this.videoExtList_SelectedIndexChanged); // - // audio_Tab + // dvd_vcd_svcd_streams_Tab // - this.audio_Tab.Controls.Add(this.label26); - this.audio_Tab.Controls.Add(this.audioPlayerUse); - this.audio_Tab.Controls.Add(this.audioArgument); - this.audio_Tab.Controls.Add(this.label27); - this.audio_Tab.Controls.Add(this.label28); - this.audio_Tab.Controls.Add(this.audioExtension); - this.audio_Tab.Controls.Add(this.audioDelete); - this.audio_Tab.Controls.Add(this.audioAdd); - this.audio_Tab.Controls.Add(this.audioExtList); - this.audio_Tab.Location = new System.Drawing.Point(4, 22); - this.audio_Tab.Name = "audio_Tab"; - this.audio_Tab.Size = new System.Drawing.Size(403, 352); - this.audio_Tab.TabIndex = 2; - this.audio_Tab.Text = "Audio"; - this.audio_Tab.UseVisualStyleBackColor = true; + this.dvd_vcd_svcd_streams_Tab.Controls.Add(this.label20); + this.dvd_vcd_svcd_streams_Tab.Controls.Add(this.unsvArguments); + this.dvd_vcd_svcd_streams_Tab.Controls.Add(this.label19); + this.dvd_vcd_svcd_streams_Tab.Controls.Add(this.udpArguments); + this.dvd_vcd_svcd_streams_Tab.Controls.Add(this.label18); + this.dvd_vcd_svcd_streams_Tab.Controls.Add(this.sdpArguments); + this.dvd_vcd_svcd_streams_Tab.Controls.Add(this.label17); + this.dvd_vcd_svcd_streams_Tab.Controls.Add(this.rtspArguments); + this.dvd_vcd_svcd_streams_Tab.Controls.Add(this.label16); + this.dvd_vcd_svcd_streams_Tab.Controls.Add(this.mpstArguments); + this.dvd_vcd_svcd_streams_Tab.Controls.Add(this.label15); + this.dvd_vcd_svcd_streams_Tab.Controls.Add(this.mmsArguments); + this.dvd_vcd_svcd_streams_Tab.Controls.Add(this.label14); + this.dvd_vcd_svcd_streams_Tab.Controls.Add(this.httpArguments); + this.dvd_vcd_svcd_streams_Tab.Controls.Add(this.label13); + this.dvd_vcd_svcd_streams_Tab.Controls.Add(this.ftpArguments); + this.dvd_vcd_svcd_streams_Tab.Controls.Add(this.label12); + this.dvd_vcd_svcd_streams_Tab.Controls.Add(this.cueArguments); + this.dvd_vcd_svcd_streams_Tab.Controls.Add(this.audioCDArguments); + this.dvd_vcd_svcd_streams_Tab.Controls.Add(this.label6); + this.dvd_vcd_svcd_streams_Tab.Controls.Add(this.label11); + this.dvd_vcd_svcd_streams_Tab.Controls.Add(this.svcdArguments); + this.dvd_vcd_svcd_streams_Tab.Controls.Add(this.label10); + this.dvd_vcd_svcd_streams_Tab.Controls.Add(this.vcdArguments); + this.dvd_vcd_svcd_streams_Tab.Controls.Add(this.label9); + this.dvd_vcd_svcd_streams_Tab.Controls.Add(this.dvdArguments); + this.dvd_vcd_svcd_streams_Tab.Location = new System.Drawing.Point(4, 22); + this.dvd_vcd_svcd_streams_Tab.Name = "dvd_vcd_svcd_streams_Tab"; + this.dvd_vcd_svcd_streams_Tab.Size = new System.Drawing.Size(403, 431); + this.dvd_vcd_svcd_streams_Tab.TabIndex = 3; + this.dvd_vcd_svcd_streams_Tab.Text = "DVD/VCD/SVCD/Streams"; + this.dvd_vcd_svcd_streams_Tab.UseVisualStyleBackColor = true; // - // label26 - // - this.label26.AutoSize = true; - this.label26.Location = new System.Drawing.Point(87, 64); - this.label26.Name = "label26"; - this.label26.Size = new System.Drawing.Size(100, 13); - this.label26.TabIndex = 35; - this.label26.Text = "External Player use:"; - // - // audioPlayerUse - // - this.audioPlayerUse.AutoSize = true; - this.audioPlayerUse.Location = new System.Drawing.Point(193, 63); - this.audioPlayerUse.Name = "audioPlayerUse"; - this.audioPlayerUse.Size = new System.Drawing.Size(15, 14); - this.audioPlayerUse.TabIndex = 34; - this.audioPlayerUse.UseVisualStyleBackColor = true; - // - // audioArgument - // - this.audioArgument.Location = new System.Drawing.Point(193, 37); - this.audioArgument.Name = "audioArgument"; - this.audioArgument.Size = new System.Drawing.Size(202, 20); - this.audioArgument.TabIndex = 33; - // - // label27 - // - this.label27.AutoSize = true; - this.label27.Location = new System.Drawing.Point(87, 40); - this.label27.Name = "label27"; - this.label27.Size = new System.Drawing.Size(60, 13); - this.label27.TabIndex = 32; - this.label27.Text = "Arguments:"; - // - // label28 - // - this.label28.AutoSize = true; - this.label28.Location = new System.Drawing.Point(87, 14); - this.label28.Name = "label28"; - this.label28.Size = new System.Drawing.Size(56, 13); - this.label28.TabIndex = 31; - this.label28.Text = "Extension:"; - // - // audioExtension - // - this.audioExtension.Location = new System.Drawing.Point(193, 11); - this.audioExtension.Name = "audioExtension"; - this.audioExtension.Size = new System.Drawing.Size(202, 20); - this.audioExtension.TabIndex = 30; - this.audioExtension.Leave += new System.EventHandler(this.audioExtension_Leave); - // - // audioDelete - // - this.audioDelete.Location = new System.Drawing.Point(171, 317); - this.audioDelete.Name = "audioDelete"; - this.audioDelete.Size = new System.Drawing.Size(75, 23); - this.audioDelete.TabIndex = 29; - this.audioDelete.Text = "&Delete"; - this.audioDelete.UseVisualStyleBackColor = true; - this.audioDelete.Click += new System.EventHandler(this.audioDelete_Click); - // - // audioAdd - // - this.audioAdd.Location = new System.Drawing.Point(90, 317); - this.audioAdd.Name = "audioAdd"; - this.audioAdd.Size = new System.Drawing.Size(75, 23); - this.audioAdd.TabIndex = 28; - this.audioAdd.Text = "&Add"; - this.audioAdd.UseVisualStyleBackColor = true; - this.audioAdd.Click += new System.EventHandler(this.audioAdd_Click); - // - // audioExtList - // - this.audioExtList.FormattingEnabled = true; - this.audioExtList.Location = new System.Drawing.Point(3, 11); - this.audioExtList.Name = "audioExtList"; - this.audioExtList.Size = new System.Drawing.Size(78, 329); - this.audioExtList.TabIndex = 27; - this.audioExtList.SelectedIndexChanged += new System.EventHandler(this.audioExtList_SelectedIndexChanged); - // - // dvd_vcd_svcd_Tab - // - this.dvd_vcd_svcd_Tab.Controls.Add(this.audioCDArguments); - this.dvd_vcd_svcd_Tab.Controls.Add(this.label6); - this.dvd_vcd_svcd_Tab.Controls.Add(this.label11); - this.dvd_vcd_svcd_Tab.Controls.Add(this.svcdArguments); - this.dvd_vcd_svcd_Tab.Controls.Add(this.label10); - this.dvd_vcd_svcd_Tab.Controls.Add(this.vcdArguments); - this.dvd_vcd_svcd_Tab.Controls.Add(this.label9); - this.dvd_vcd_svcd_Tab.Controls.Add(this.dvdArguments); - this.dvd_vcd_svcd_Tab.Location = new System.Drawing.Point(4, 22); - this.dvd_vcd_svcd_Tab.Name = "dvd_vcd_svcd_Tab"; - this.dvd_vcd_svcd_Tab.Size = new System.Drawing.Size(403, 352); - this.dvd_vcd_svcd_Tab.TabIndex = 3; - this.dvd_vcd_svcd_Tab.Text = "DVD/VCD/SVCD"; - this.dvd_vcd_svcd_Tab.UseVisualStyleBackColor = true; - // // audioCDArguments // this.audioCDArguments.Location = new System.Drawing.Point(122, 89); @@ -723,177 +645,314 @@ this.dvdArguments.Size = new System.Drawing.Size(256, 20); this.dvdArguments.TabIndex = 17; // - // streaming_cue_Tab + // openFileDialog1 // - this.streaming_cue_Tab.Controls.Add(this.label20); - this.streaming_cue_Tab.Controls.Add(this.unsvArguments); - this.streaming_cue_Tab.Controls.Add(this.label19); - this.streaming_cue_Tab.Controls.Add(this.udpArguments); - this.streaming_cue_Tab.Controls.Add(this.label18); - this.streaming_cue_Tab.Controls.Add(this.sdpArguments); - this.streaming_cue_Tab.Controls.Add(this.label17); - this.streaming_cue_Tab.Controls.Add(this.rtspArguments); - this.streaming_cue_Tab.Controls.Add(this.label16); - this.streaming_cue_Tab.Controls.Add(this.mpstArguments); - this.streaming_cue_Tab.Controls.Add(this.label15); - this.streaming_cue_Tab.Controls.Add(this.mmsArguments); - this.streaming_cue_Tab.Controls.Add(this.label14); - this.streaming_cue_Tab.Controls.Add(this.httpArguments); - this.streaming_cue_Tab.Controls.Add(this.label13); - this.streaming_cue_Tab.Controls.Add(this.ftpArguments); - this.streaming_cue_Tab.Controls.Add(this.label12); - this.streaming_cue_Tab.Controls.Add(this.cueArguments); - this.streaming_cue_Tab.Location = new System.Drawing.Point(4, 22); - this.streaming_cue_Tab.Name = "streaming_cue_Tab"; - this.streaming_cue_Tab.Size = new System.Drawing.Size(403, 352); - this.streaming_cue_Tab.TabIndex = 5; - this.streaming_cue_Tab.Text = "Other"; - this.streaming_cue_Tab.UseVisualStyleBackColor = true; + this.openFileDialog1.FileName = "openFileDialog1"; + this.openFileDialog1.Title = "Select MPlayer:"; // + // passthroughAC3_DTS + // + this.passthroughAC3_DTS.Location = new System.Drawing.Point(6, 378); + this.passthroughAC3_DTS.Name = "passthroughAC3_DTS"; + this.passthroughAC3_DTS.Size = new System.Drawing.Size(178, 23); + this.passthroughAC3_DTS.TabIndex = 34; + this.passthroughAC3_DTS.Text = "Passthrough AC3/DTS"; + this.passthroughAC3_DTS.UseVisualStyleBackColor = true; + // + // soundOutputDevice + // + this.soundOutputDevice.DropDownStyle = System.Windows.Forms.ComboBoxStyle.DropDownList; + this.soundOutputDevice.FormattingEnabled = true; + this.soundOutputDevice.Items.AddRange(new object[] { + "(don\'t decode sound)", + "(don\'t play sound)", + "Win32", + "DirectSound"}); + this.soundOutputDevice.Location = new System.Drawing.Point(122, 38); + this.soundOutputDevice.Name = "soundOutputDevice"; + this.soundOutputDevice.Size = new System.Drawing.Size(260, 21); + this.soundOutputDevice.TabIndex = 35; + // + // label29 + // + this.label29.Location = new System.Drawing.Point(3, 41); + this.label29.Name = "label29"; + this.label29.Size = new System.Drawing.Size(117, 23); + this.label29.TabIndex = 36; + this.label29.Text = "Sound output device:"; + // + // label30 + // + this.label30.Location = new System.Drawing.Point(3, 232); + this.label30.Name = "label30"; + this.label30.Size = new System.Drawing.Size(117, 23); + this.label30.TabIndex = 38; + this.label30.Text = "Cachesize:"; + // + // cacheSize + // + this.cacheSize.FormattingEnabled = true; + this.cacheSize.Items.AddRange(new object[] { + "2048", + "4096", + "8192"}); + this.cacheSize.Location = new System.Drawing.Point(122, 229); + this.cacheSize.Name = "cacheSize"; + this.cacheSize.Size = new System.Drawing.Size(260, 21); + this.cacheSize.TabIndex = 37; + this.cacheSize.KeyPress += new System.Windows.Forms.KeyPressEventHandler(this.cacheSize_KeyPress); + // // label20 // - this.label20.Location = new System.Drawing.Point(3, 222); + this.label20.Location = new System.Drawing.Point(3, 326); this.label20.Name = "label20"; this.label20.Size = new System.Drawing.Size(117, 23); - this.label20.TabIndex = 32; + this.label20.TabIndex = 50; this.label20.Text = "UNSV Arguments:"; // // unsvArguments // - this.unsvArguments.Location = new System.Drawing.Point(122, 219); + this.unsvArguments.Location = new System.Drawing.Point(122, 323); this.unsvArguments.Name = "unsvArguments"; this.unsvArguments.Size = new System.Drawing.Size(256, 20); - this.unsvArguments.TabIndex = 33; + this.unsvArguments.TabIndex = 51; // // label19 // - this.label19.Location = new System.Drawing.Point(3, 196); + this.label19.Location = new System.Drawing.Point(3, 300); this.label19.Name = "label19"; this.label19.Size = new System.Drawing.Size(117, 23); - this.label19.TabIndex = 30; + this.label19.TabIndex = 48; this.label19.Text = "UDP Arguments:"; // // udpArguments // - this.udpArguments.Location = new System.Drawing.Point(122, 193); + this.udpArguments.Location = new System.Drawing.Point(122, 297); this.udpArguments.Name = "udpArguments"; this.udpArguments.Size = new System.Drawing.Size(256, 20); - this.udpArguments.TabIndex = 31; + this.udpArguments.TabIndex = 49; // // label18 // - this.label18.Location = new System.Drawing.Point(3, 170); + this.label18.Location = new System.Drawing.Point(3, 274); this.label18.Name = "label18"; this.label18.Size = new System.Drawing.Size(117, 23); - this.label18.TabIndex = 28; + this.label18.TabIndex = 46; this.label18.Text = "SDP Arguments:"; // // sdpArguments // - this.sdpArguments.Location = new System.Drawing.Point(122, 167); + this.sdpArguments.Location = new System.Drawing.Point(122, 271); this.sdpArguments.Name = "sdpArguments"; this.sdpArguments.Size = new System.Drawing.Size(256, 20); - this.sdpArguments.TabIndex = 29; + this.sdpArguments.TabIndex = 47; // // label17 // - this.label17.Location = new System.Drawing.Point(3, 144); + this.label17.Location = new System.Drawing.Point(3, 248); this.label17.Name = "label17"; this.label17.Size = new System.Drawing.Size(117, 23); - this.label17.TabIndex = 26; + this.label17.TabIndex = 44; this.label17.Text = "RT(S)P Arguments:"; // // rtspArguments // - this.rtspArguments.Location = new System.Drawing.Point(122, 141); + this.rtspArguments.Location = new System.Drawing.Point(122, 245); this.rtspArguments.Name = "rtspArguments"; this.rtspArguments.Size = new System.Drawing.Size(256, 20); - this.rtspArguments.TabIndex = 27; + this.rtspArguments.TabIndex = 45; // // label16 // - this.label16.Location = new System.Drawing.Point(3, 118); + this.label16.Location = new System.Drawing.Point(3, 222); this.label16.Name = "label16"; this.label16.Size = new System.Drawing.Size(117, 23); - this.label16.TabIndex = 24; + this.label16.TabIndex = 42; this.label16.Text = "MPST Arguments:"; // // mpstArguments // - this.mpstArguments.Location = new System.Drawing.Point(122, 115); + this.mpstArguments.Location = new System.Drawing.Point(122, 219); this.mpstArguments.Name = "mpstArguments"; this.mpstArguments.Size = new System.Drawing.Size(256, 20); - this.mpstArguments.TabIndex = 25; + this.mpstArguments.TabIndex = 43; // // label15 // - this.label15.Location = new System.Drawing.Point(3, 92); + this.label15.Location = new System.Drawing.Point(3, 196); this.label15.Name = "label15"; this.label15.Size = new System.Drawing.Size(117, 23); - this.label15.TabIndex = 22; + this.label15.TabIndex = 40; this.label15.Text = "MMS(T) Arguments:"; // // mmsArguments // - this.mmsArguments.Location = new System.Drawing.Point(122, 89); + this.mmsArguments.Location = new System.Drawing.Point(122, 193); this.mmsArguments.Name = "mmsArguments"; this.mmsArguments.Size = new System.Drawing.Size(256, 20); - this.mmsArguments.TabIndex = 23; + this.mmsArguments.TabIndex = 41; // // label14 // - this.label14.Location = new System.Drawing.Point(3, 66); + this.label14.Location = new System.Drawing.Point(3, 170); this.label14.Name = "label14"; this.label14.Size = new System.Drawing.Size(117, 23); - this.label14.TabIndex = 20; + this.label14.TabIndex = 38; this.label14.Text = "HTTP Arguments:"; // // httpArguments // - this.httpArguments.Location = new System.Drawing.Point(122, 63); + this.httpArguments.Location = new System.Drawing.Point(122, 167); this.httpArguments.Name = "httpArguments"; this.httpArguments.Size = new System.Drawing.Size(256, 20); - this.httpArguments.TabIndex = 21; + this.httpArguments.TabIndex = 39; // // label13 // - this.label13.Location = new System.Drawing.Point(3, 40); + this.label13.Location = new System.Drawing.Point(3, 144); this.label13.Name = "label13"; this.label13.Size = new System.Drawing.Size(117, 23); - this.label13.TabIndex = 18; + this.label13.TabIndex = 36; this.label13.Text = "FTP Arguments:"; // // ftpArguments // - this.ftpArguments.Location = new System.Drawing.Point(122, 37); + this.ftpArguments.Location = new System.Drawing.Point(122, 141); this.ftpArguments.Name = "ftpArguments"; this.ftpArguments.Size = new System.Drawing.Size(256, 20); - this.ftpArguments.TabIndex = 19; + this.ftpArguments.TabIndex = 37; // // label12 // - this.label12.Location = new System.Drawing.Point(3, 14); + this.label12.Location = new System.Drawing.Point(3, 118); this.label12.Name = "label12"; this.label12.Size = new System.Drawing.Size(117, 23); - this.label12.TabIndex = 16; + this.label12.TabIndex = 34; this.label12.Text = "CUE Arguments:"; // // cueArguments // - this.cueArguments.Location = new System.Drawing.Point(122, 11); + this.cueArguments.Location = new System.Drawing.Point(122, 115); this.cueArguments.Name = "cueArguments"; this.cueArguments.Size = new System.Drawing.Size(256, 20); - this.cueArguments.TabIndex = 17; + this.cueArguments.TabIndex = 35; // - // openFileDialog1 + // groupBox1 // - this.openFileDialog1.FileName = "openFileDialog1"; - this.openFileDialog1.Title = "Select MPlayer:"; + this.groupBox1.Controls.Add(this.videoExtList); + this.groupBox1.Controls.Add(this.videoDelete); + this.groupBox1.Controls.Add(this.label24); + this.groupBox1.Controls.Add(this.label23); + this.groupBox1.Controls.Add(this.label25); + this.groupBox1.Controls.Add(this.videoExtension); + this.groupBox1.Controls.Add(this.videoPlayerUse); + this.groupBox1.Controls.Add(this.videoAdd); + this.groupBox1.Controls.Add(this.videoArgument); + this.groupBox1.Location = new System.Drawing.Point(3, 6); + this.groupBox1.Name = "groupBox1"; + this.groupBox1.Size = new System.Drawing.Size(394, 201); + this.groupBox1.TabIndex = 29; + this.groupBox1.TabStop = false; + this.groupBox1.Text = "Video"; // + // groupBox2 + // + this.groupBox2.Controls.Add(this.label26); + this.groupBox2.Controls.Add(this.audioPlayerUse); + this.groupBox2.Controls.Add(this.audioArgument); + this.groupBox2.Controls.Add(this.label27); + this.groupBox2.Controls.Add(this.label28); + this.groupBox2.Controls.Add(this.audioExtension); + this.groupBox2.Controls.Add(this.audioDelete); + this.groupBox2.Controls.Add(this.audioAdd); + this.groupBox2.Controls.Add(this.audioExtList); + this.groupBox2.Location = new System.Drawing.Point(3, 224); + this.groupBox2.Name = "groupBox2"; + this.groupBox2.Size = new System.Drawing.Size(394, 201); + this.groupBox2.TabIndex = 30; + this.groupBox2.TabStop = false; + this.groupBox2.Text = "Audio"; + // + // label26 + // + this.label26.AutoSize = true; + this.label26.Location = new System.Drawing.Point(90, 72); + this.label26.Name = "label26"; + this.label26.Size = new System.Drawing.Size(100, 13); + this.label26.TabIndex = 44; + this.label26.Text = "External Player use:"; + // + // audioPlayerUse + // + this.audioPlayerUse.AutoSize = true; + this.audioPlayerUse.Location = new System.Drawing.Point(196, 71); + this.audioPlayerUse.Name = "audioPlayerUse"; + this.audioPlayerUse.Size = new System.Drawing.Size(15, 14); + this.audioPlayerUse.TabIndex = 43; + this.audioPlayerUse.UseVisualStyleBackColor = true; + // + // audioArgument + // + this.audioArgument.Location = new System.Drawing.Point(196, 45); + this.audioArgument.Name = "audioArgument"; + this.audioArgument.Size = new System.Drawing.Size(192, 20); + this.audioArgument.TabIndex = 42; + // + // label27 + // + this.label27.AutoSize = true; + this.label27.Location = new System.Drawing.Point(90, 48); + this.label27.Name = "label27"; + this.label27.Size = new System.Drawing.Size(60, 13); + this.label27.TabIndex = 41; + this.label27.Text = "Arguments:"; + // + // label28 + // + this.label28.AutoSize = true; + this.label28.Location = new System.Drawing.Point(90, 22); + this.label28.Name = "label28"; + this.label28.Size = new System.Drawing.Size(56, 13); + this.label28.TabIndex = 40; + this.label28.Text = "Extension:"; + // + // audioExtension + // + this.audioExtension.Location = new System.Drawing.Point(196, 19); + this.audioExtension.Name = "audioExtension"; + this.audioExtension.Size = new System.Drawing.Size(192, 20); + this.audioExtension.TabIndex = 39; + // + // audioDelete + // + this.audioDelete.Location = new System.Drawing.Point(174, 169); + this.audioDelete.Name = "audioDelete"; + this.audioDelete.Size = new System.Drawing.Size(75, 23); + this.audioDelete.TabIndex = 38; + this.audioDelete.Text = "&Delete"; + this.audioDelete.UseVisualStyleBackColor = true; + // + // audioAdd + // + this.audioAdd.Location = new System.Drawing.Point(93, 169); + this.audioAdd.Name = "audioAdd"; + this.audioAdd.Size = new System.Drawing.Size(75, 23); + this.audioAdd.TabIndex = 37; + this.audioAdd.Text = "&Add"; + this.audioAdd.UseVisualStyleBackColor = true; + // + // audioExtList + // + this.audioExtList.FormattingEnabled = true; + this.audioExtList.Location = new System.Drawing.Point(6, 19); + this.audioExtList.Name = "audioExtList"; + this.audioExtList.Size = new System.Drawing.Size(78, 173); + this.audioExtList.TabIndex = 36; + // // ConfigurationForm // this.AutoScaleBaseSize = new System.Drawing.Size(5, 13); - this.ClientSize = new System.Drawing.Size(435, 434); + this.ClientSize = new System.Drawing.Size(435, 508); this.Controls.Add(this.tabControl1); this.Controls.Add(this.cancelButton); this.Controls.Add(this.okButton); @@ -906,14 +965,13 @@ this.tabControl1.ResumeLayout(false); this.general_Tab.ResumeLayout(false); this.general_Tab.PerformLayout(); - this.video_Tab.ResumeLayout(false); - this.video_Tab.PerformLayout(); - this.audio_Tab.ResumeLayout(false); - this.audio_Tab.PerformLayout(); - this.dvd_vcd_svcd_Tab.ResumeLayout(false); - this.dvd_vcd_svcd_Tab.PerformLayout(); - this.streaming_cue_Tab.ResumeLayout(false); - this.streaming_cue_Tab.PerformLayout(); + this.video_audio_Tab.ResumeLayout(false); + this.dvd_vcd_svcd_streams_Tab.ResumeLayout(false); + this.dvd_vcd_svcd_streams_Tab.PerformLayout(); + this.groupBox1.ResumeLayout(false); + this.groupBox1.PerformLayout(); + this.groupBox2.ResumeLayout(false); + this.groupBox2.PerformLayout(); this.ResumeLayout(false); } @@ -946,16 +1004,42 @@ private System.Windows.Forms.FolderBrowserDialog folderBrowserDialog1; private System.Windows.Forms.TabControl tabControl1; private System.Windows.Forms.TabPage general_Tab; - private System.Windows.Forms.TabPage video_Tab; - private System.Windows.Forms.TabPage audio_Tab; - private System.Windows.Forms.TabPage dvd_vcd_svcd_Tab; + private System.Windows.Forms.TabPage video_audio_Tab; + private System.Windows.Forms.TabPage dvd_vcd_svcd_streams_Tab; private System.Windows.Forms.Label label11; private System.Windows.Forms.TextBox svcdArguments; private System.Windows.Forms.Label label10; private System.Windows.Forms.TextBox vcdArguments; private System.Windows.Forms.Label label9; private System.Windows.Forms.TextBox dvdArguments; - private System.Windows.Forms.TabPage streaming_cue_Tab; + private System.Windows.Forms.Label label25; + private System.Windows.Forms.CheckBox videoPlayerUse; + private System.Windows.Forms.TextBox videoArgument; + private System.Windows.Forms.Label label24; + private System.Windows.Forms.Label label23; + private System.Windows.Forms.TextBox videoExtension; + private System.Windows.Forms.Button videoDelete; + private System.Windows.Forms.Button videoAdd; + private System.Windows.Forms.ListBox videoExtList; + private System.Windows.Forms.TextBox audioCDArguments; + private System.Windows.Forms.Label label6; + private System.Windows.Forms.OpenFileDialog openFileDialog1; + private System.Windows.Forms.Label label7; + private System.Windows.Forms.ComboBox noiseDenoise; + private System.Windows.Forms.ComboBox audioChannels; + private System.Windows.Forms.CheckBox audioNormalize; + private System.Windows.Forms.CheckBox framedrop; + private System.Windows.Forms.CheckBox directRendering; + private System.Windows.Forms.CheckBox doubleBuffering; + private System.Windows.Forms.Label label21; + private System.Windows.Forms.FontDialog fontDialog1; + private System.Windows.Forms.Label label22; + private System.Windows.Forms.ComboBox osdFont; + private System.Windows.Forms.CheckBox passthroughAC3_DTS; + private System.Windows.Forms.Label label30; + private System.Windows.Forms.ComboBox cacheSize; + private System.Windows.Forms.Label label29; + private System.Windows.Forms.ComboBox soundOutputDevice; private System.Windows.Forms.Label label20; private System.Windows.Forms.TextBox unsvArguments; private System.Windows.Forms.Label label19; @@ -974,15 +1058,8 @@ private System.Windows.Forms.TextBox ftpArguments; private System.Windows.Forms.Label label12; private System.Windows.Forms.TextBox cueArguments; - private System.Windows.Forms.Label label25; - private System.Windows.Forms.CheckBox videoPlayerUse; - private System.Windows.Forms.TextBox videoArgument; - private System.Windows.Forms.Label label24; - private System.Windows.Forms.Label label23; - private System.Windows.Forms.TextBox videoExtension; - private System.Windows.Forms.Button videoDelete; - private System.Windows.Forms.Button videoAdd; - private System.Windows.Forms.ListBox videoExtList; + private System.Windows.Forms.GroupBox groupBox1; + private System.Windows.Forms.GroupBox groupBox2; private System.Windows.Forms.Label label26; private System.Windows.Forms.CheckBox audioPlayerUse; private System.Windows.Forms.TextBox audioArgument; @@ -992,20 +1069,6 @@ private System.Windows.Forms.Button audioDelete; private System.Windows.Forms.Button audioAdd; private System.Windows.Forms.ListBox audioExtList; - private System.Windows.Forms.TextBox audioCDArguments; - private System.Windows.Forms.Label label6; - private System.Windows.Forms.OpenFileDialog openFileDialog1; - private System.Windows.Forms.Label label7; - private System.Windows.Forms.ComboBox noiseDenoise; - private System.Windows.Forms.ComboBox audioChannels; - private System.Windows.Forms.CheckBox audioNormalize; - private System.Windows.Forms.CheckBox framedrop; - private System.Windows.Forms.CheckBox directRendering; - private System.Windows.Forms.CheckBox doubleBuffering; - private System.Windows.Forms.Label label21; - private System.Windows.Forms.FontDialog fontDialog1; - private System.Windows.Forms.Label label22; - private System.Windows.Forms.ComboBox osdFont; } } \ No newline at end of file Modified: trunk/plugins/My MPlayer/MPlayer_ExtPlayer/ConfigurationForm.cs =================================================================== --- trunk/plugins/My MPlayer/MPlayer_ExtPlayer/ConfigurationForm.cs 2007-02-20 19:41:57 UTC (rev 127) +++ trunk/plugins/My MPlayer/MPlayer_ExtPlayer/ConfigurationForm.cs 2007-02-20 22:44:49 UTC (rev 128) @@ -33,7 +33,9 @@ using MediaPortal.GUI.Library; using MediaPortal.Util; using MediaPortal.Configuration; +using Un4seen.Bass; + namespace MPlayer { /// <summary> /// Configuration Form for the External player plugin @@ -45,7 +47,7 @@ /// Last video extension setting /// </summary> private ExtensionSettings lastVideoSettings; - + /// <summary> /// Last audio extension setting /// </summary> @@ -61,6 +63,12 @@ ConfigurationManager manager = ConfigurationManager.getInstance(); osdFont.Items.Clear(); osdFont.Items.AddRange(manager.PossibleFonts); + soundOutputDevice.Items.Clear(); + soundOutputDevice.Items.Add("Default DirectSound Device"); + string[] soundDevices = Bass.BASS_GetDeviceDescriptions(); + for (int i = 1; i < soundDevices.Length; i++) { + soundOutputDevice.Items.Add(soundDevices[i]); + } } #endregion @@ -83,7 +91,7 @@ saveConfiguration(); this.Close(); } - + /// <summary> /// Handles the Cancel-Button click event /// </summary> @@ -92,7 +100,7 @@ private void cancelButton_Click(object sender, EventArgs e) { this.Close(); } - + /// <summary> /// Handles the Browse-Button click event /// </summary> @@ -102,15 +110,15 @@ openFileDialog1.Filter = "MPlayer commandline version (mplayer.exe)|mplayer.exe|MPlayer GUI version (gmplayer.exe)|gmplayer.exe"; openFileDialog1.InitialDirectory = System.IO.Path.GetDirectoryName(mplayerPath.Text); openFileDialog1.FileName = System.IO.Path.GetFileName(mplayerPath.Text); - if(openFileDialog1.FileName.Equals("mplayer.exe")){ + if (openFileDialog1.FileName.Equals("mplayer.exe")) { openFileDialog1.FilterIndex = 1; - }else{ + } else { openFileDialog1.FilterIndex = 2; } openFileDialog1.ShowDialog(); mplayerPath.Text = openFileDialog1.FileName; } - + /// <summary> /// Handles the Selected index change on the video Extension List /// </summary> @@ -137,7 +145,7 @@ } /// <summary> - /// Handles the Add-Button click event on the video tab + /// Handles the Add-Button click event on the video_audio tab /// </summary> /// <param name="sender">Sender object</param> /// <param name="e">Event Arguments</param> @@ -148,7 +156,7 @@ } /// <summary> - /// Handles the Delete-Button click event on the audio tab + /// Handles the Delete-Button click event on the video_audio tab /// </summary> /// <param name="sender">Sender object</param> /// <param name="e">Event Arguments</param> @@ -164,7 +172,7 @@ } /// <summary> - /// Handles the Leave event on the extension Textfield on the video tab + /// Handles the Leave event on the extension Textfield on the video_audio tab /// </summary> /// <param name="sender">Sender object</param> /// <param name="e">Event Arguments</param> @@ -177,7 +185,7 @@ } /// <summary> - /// Handles the Add-Button click event on the audio tab + /// Handles the Add-Button click event on the video_audio tab /// </summary> /// <param name="sender">Sender object</param> /// <param name="e">Event Arguments</param> @@ -188,7 +196,7 @@ } /// <summary> - /// Handles the Delete-Button click event on the audio tab + /// Handles the Delete-Button click event on the video_audio tab /// </summary> /// <param name="sender">Sender object</param> /// <param name="e">Event Arguments</param> @@ -232,7 +240,7 @@ } /// <summary> - /// Handles the Leave event on the extension textfield on the audio tab + /// Handles the Leave event on the exte... [truncated message content] |
From: <du...@us...> - 2007-02-20 19:42:00
|
Revision: 127 http://mp-plugins.svn.sourceforge.net/mp-plugins/?rev=127&view=rev Author: dukus Date: 2007-02-20 11:41:57 -0800 (Tue, 20 Feb 2007) Log Message: ----------- Wizard added Modified Paths: -------------- trunk/plugins/mpinstaler/MPInstaler/MPinstalerStruct.cs trunk/plugins/mpinstaler/MPInstaler/MPpackageStruct.cs trunk/plugins/mpinstaler/MPInstaler/wizard/wizard_1.Designer.cs trunk/plugins/mpinstaler/MPInstaler/wizard/wizard_1.cs trunk/plugins/mpinstaler/MPInstaler.suo Modified: trunk/plugins/mpinstaler/MPInstaler/MPinstalerStruct.cs =================================================================== --- trunk/plugins/mpinstaler/MPInstaler/MPinstalerStruct.cs 2007-02-19 16:06:40 UTC (rev 126) +++ trunk/plugins/mpinstaler/MPInstaler/MPinstalerStruct.cs 2007-02-20 19:41:57 UTC (rev 127) @@ -206,6 +206,7 @@ { XmlDocument doc = new XmlDocument(); doc.Load(fil); + FileList.Clear(); XmlNode ver = doc.DocumentElement.SelectSingleNode("/MPinstaler"); XmlNodeList fileList = ver.SelectNodes("FileList/File"); foreach (XmlNode nodefile in fileList) @@ -225,6 +226,19 @@ this.Version = nodeoption.SelectSingleNode("Version").InnerText; } + + public MPIFileList FindList(string typ, string stpy) + { + MPIFileList fs=new MPIFileList(); + for (int i = 0; i < FileList.Count; i++) + { + if ((((MPIFileList)FileList[i]).Type == typ) && (((MPIFileList)FileList[i]).SubType == stpy)) + { + fs = (MPIFileList)FileList[i]; + } + } + return fs; + } public string GetZipEntry(MPIFileList flst) { @@ -281,7 +295,16 @@ string _SubType = string.Empty; string _Id = string.Empty; string _Op = string.Empty; - + + public MPIFileList() + { + FileName = String.Empty;; + Type = String.Empty; + SubType = String.Empty; + ID = String.Empty; + Option = String.Empty; + } + public MPIFileList(string fn, string ty, string sty, string i) { FileName = fn; Modified: trunk/plugins/mpinstaler/MPInstaler/MPpackageStruct.cs =================================================================== --- trunk/plugins/mpinstaler/MPInstaler/MPpackageStruct.cs 2007-02-19 16:06:40 UTC (rev 126) +++ trunk/plugins/mpinstaler/MPInstaler/MPpackageStruct.cs 2007-02-20 19:41:57 UTC (rev 127) @@ -9,17 +9,74 @@ public class MPpackageStruct { public MPinstalerStruct _intalerStruct= new MPinstalerStruct(); + public string FileName = String.Empty; + public string txt_EULA = String.Empty; + public string txt_log = String.Empty; + public string txt_readme = String.Empty; public bool isValid = false; public MPpackageStruct() { + txt_EULA = String.Empty; + txt_log = String.Empty; + txt_readme = String.Empty; } + public void load() + { + if (isValid) + { + byte[] data = new byte[2048]; + int nb = data.Length; + ZipEntry entry; + try + { + if (File.Exists(FileName)) + { + ZipInputStream s = new ZipInputStream(File.OpenRead(FileName)); + while ((entry = s.GetNextEntry()) != null) + { + if (Path.GetFileName(entry.Name) == Path.GetFileName(_intalerStruct.FindList(MPinstalerStruct.TEXT_TYPE,MPinstalerStruct.TEXT_EULA_TYPE).FileName)) + { + txt_EULA = String.Empty; + while ((nb = s.Read(data, 0, data.Length)) > 0) + { + txt_EULA += new ASCIIEncoding().GetString(data, 0, data.Length); + } + } + if (Path.GetFileName(entry.Name) == Path.GetFileName(_intalerStruct.FindList(MPinstalerStruct.TEXT_TYPE, MPinstalerStruct.TEXT_LOG_TYPE).FileName)) + { + txt_log = String.Empty; + while ((nb = s.Read(data, 0, data.Length)) > 0) + { + txt_log += new ASCIIEncoding().GetString(data, 0, data.Length); + } + } + if (Path.GetFileName(entry.Name) == Path.GetFileName(_intalerStruct.FindList(MPinstalerStruct.TEXT_TYPE, MPinstalerStruct.TEXT_README_TYPE).FileName)) + { + txt_readme = String.Empty; + while ((nb = s.Read(data, 0, data.Length)) > 0) + { + txt_readme += new ASCIIEncoding().GetString(data, 0, data.Length); + } + } + + } + s.Close(); + } + } + catch (Exception) + { + } + } + } + + public void LoadFromFile(string fil) { + FileName = fil; byte[] data = new byte[2048]; int nb = data.Length; - ZipEntry entry; try { @@ -36,13 +93,13 @@ while ((nb = s.Read(data, 0, data.Length)) > 0) { fs.Write(data, 0, nb); - //progressBar.Value = +nb; } fs.Close(); _intalerStruct.LoadFromFile(tpf); } } s.Close(); + load(); } } catch (Exception) Modified: trunk/plugins/mpinstaler/MPInstaler/wizard/wizard_1.Designer.cs =================================================================== --- trunk/plugins/mpinstaler/MPInstaler/wizard/wizard_1.Designer.cs 2007-02-19 16:06:40 UTC (rev 126) +++ trunk/plugins/mpinstaler/MPInstaler/wizard/wizard_1.Designer.cs 2007-02-20 19:41:57 UTC (rev 127) @@ -35,6 +35,10 @@ this.button_back = new System.Windows.Forms.Button(); this.button_next = new System.Windows.Forms.Button(); this.button_cancel = new System.Windows.Forms.Button(); + this.richTextBox1 = new System.Windows.Forms.RichTextBox(); + this.title_label = new System.Windows.Forms.Label(); + this.label2 = new System.Windows.Forms.Label(); + this.panel1.SuspendLayout(); this.panel2.SuspendLayout(); ((System.ComponentModel.ISupportInitialize)(this.pictureBox1)).BeginInit(); this.SuspendLayout(); @@ -42,6 +46,9 @@ // panel1 // this.panel1.BackColor = System.Drawing.Color.White; + this.panel1.Controls.Add(this.label2); + this.panel1.Controls.Add(this.title_label); + this.panel1.Controls.Add(this.richTextBox1); this.panel1.Location = new System.Drawing.Point(165, 0); this.panel1.Name = "panel1"; this.panel1.Size = new System.Drawing.Size(334, 298); @@ -83,6 +90,7 @@ this.button_next.TabIndex = 3; this.button_next.Text = "Next >"; this.button_next.UseVisualStyleBackColor = true; + this.button_next.Click += new System.EventHandler(this.button_next_Click); // // button_cancel // @@ -93,6 +101,35 @@ this.button_cancel.Text = "Cancel"; this.button_cancel.UseVisualStyleBackColor = true; // + // richTextBox1 + // + this.richTextBox1.BackColor = System.Drawing.SystemColors.ActiveCaptionText; + this.richTextBox1.BorderStyle = System.Windows.Forms.BorderStyle.None; + this.richTextBox1.Location = new System.Drawing.Point(3, 74); + this.richTextBox1.Name = "richTextBox1"; + this.richTextBox1.ReadOnly = true; + this.richTextBox1.Size = new System.Drawing.Size(331, 224); + this.richTextBox1.TabIndex = 0; + this.richTextBox1.Text = ""; + // + // title_label + // + this.title_label.Font = new System.Drawing.Font("Microsoft Sans Serif", 15.75F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(0))); + this.title_label.Location = new System.Drawing.Point(9, 9); + this.title_label.Name = "title_label"; + this.title_label.Size = new System.Drawing.Size(313, 30); + this.title_label.TabIndex = 1; + this.title_label.Text = "label1"; + // + // label2 + // + this.label2.AutoSize = true; + this.label2.Location = new System.Drawing.Point(9, 49); + this.label2.Name = "label2"; + this.label2.Size = new System.Drawing.Size(35, 13); + this.label2.TabIndex = 2; + this.label2.Text = "label2"; + // // wizard_1 // this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F); @@ -109,6 +146,8 @@ this.Name = "wizard_1"; this.StartPosition = System.Windows.Forms.FormStartPosition.CenterScreen; this.Text = "wizard_1"; + this.panel1.ResumeLayout(false); + this.panel1.PerformLayout(); this.panel2.ResumeLayout(false); ((System.ComponentModel.ISupportInitialize)(this.pictureBox1)).EndInit(); this.ResumeLayout(false); @@ -123,5 +162,8 @@ private System.Windows.Forms.Button button_next; private System.Windows.Forms.Button button_cancel; private System.Windows.Forms.PictureBox pictureBox1; + private System.Windows.Forms.Label label2; + private System.Windows.Forms.Label title_label; + private System.Windows.Forms.RichTextBox richTextBox1; } } \ No newline at end of file Modified: trunk/plugins/mpinstaler/MPInstaler/wizard/wizard_1.cs =================================================================== --- trunk/plugins/mpinstaler/MPInstaler/wizard/wizard_1.cs 2007-02-19 16:06:40 UTC (rev 126) +++ trunk/plugins/mpinstaler/MPInstaler/wizard/wizard_1.cs 2007-02-20 19:41:57 UTC (rev 127) @@ -17,16 +17,107 @@ package = new MPpackageStruct(); InitializeComponent(); } + public void nextStep() { + step++; + test_next_step(); switch (step) { - case 0: + case 1: { + this.Text = "MediaPortal extension instaler"; + button_back.Visible = false; + title_label.Text = package._intalerStruct.Name; + label2.Visible = false; + richTextBox1.Text = String.Format(" Name : {0} \n\n Author : {1} \n\n Version : {2}", package._intalerStruct.Name,package._intalerStruct.Author,package._intalerStruct.Version); this.ShowDialog(); break; } + case 2: + { + label2.Visible = true; + label2.Text = "License Agreement"; + button_next.Text = "I Agree"; + button_back.Visible = true; + richTextBox1.Text = package.txt_EULA; + break; + } + case 3: + { + label2.Visible = true; + label2.Text = "Change log"; + button_next.Text = "Next"; + button_back.Visible = true; + richTextBox1.Text = package.txt_log; + break; + } + case 4: + { + label2.Visible = true; + label2.Text = "Read me"; + button_back.Visible = true; + richTextBox1.Text = package.txt_readme; + break; + } + case 5: + { + label2.Visible = true; + label2.Text = "Instaling ..."; + button_next.Text = "Next"; + button_back.Visible = true; + richTextBox1.Text = ""; + break; + } + case 6: + { + label2.Visible = true; + label2.Text = "Instaling ..."; + button_next.Visible = false; + button_back.Visible = true; + richTextBox1.Text = ""; + richTextBox1.Visible = false; + break; + } + } } + + private void test_next_step() + { + switch (step) + { + case 1: + break; + case 2: + if (String.IsNullOrEmpty(package.txt_EULA)) + { + step++; + test_step(); + } + break; + case 3: + if (String.IsNullOrEmpty(package.txt_log)) + { + step++; + test_step(); + } + break; + case 4: + if (String.IsNullOrEmpty(package.txt_readme)) + { + step++; + test_step(); + } + break; + default: + break; + } + } + + private void button_next_Click(object sender, EventArgs e) + { + nextStep(); + } } } \ No newline at end of file Modified: trunk/plugins/mpinstaler/MPInstaler.suo =================================================================== (Binary files differ) This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <chr...@us...> - 2007-02-19 16:06:49
|
Revision: 126 http://mp-plugins.svn.sourceforge.net/mp-plugins/?rev=126&view=rev Author: chreekar Date: 2007-02-19 08:06:40 -0800 (Mon, 19 Feb 2007) Log Message: ----------- Changed a lot of the comments to English Modified Paths: -------------- trunk/plugins/MyEmulators/myEmulators/Class1.cs trunk/plugins/MyEmulators/myEmulators/DB.cs trunk/plugins/MyEmulators/myEmulators/Emulator.cs trunk/plugins/MyEmulators/myEmulators/myEmulators.csproj trunk/plugins/MyEmulators/myEmulators/setupForm.cs Modified: trunk/plugins/MyEmulators/myEmulators/Class1.cs =================================================================== --- trunk/plugins/MyEmulators/myEmulators/Class1.cs 2007-02-19 11:19:27 UTC (rev 125) +++ trunk/plugins/MyEmulators/myEmulators/Class1.cs 2007-02-19 16:06:40 UTC (rev 126) @@ -10,24 +10,24 @@ { public class Class1 : GUIWindow, ISetupForm { - //Logiska listan med emulatorerna + //The logical list with emulators private List<Emulator> emulators; - //Variabel som h\xE5ller koll p\xE5 om man tryckt p\xE5 en knapp + //Variable for checking if is browsing roms or emulators private bool isInFolder; - //Variabel som h\xE5ller koll p\xE5 vilken emulators mapp man \xE4r i + //Variable for checking the parent emulator of a ROM folder private int indexOfEmulator; - //F\xF6r att j\xE4mf\xF6ra med den nu markerade + //To compare with the current marked private int previouslySelectedIndex; - //Knapparna f\xF6r emulatorerna + //The emulator/rom list control [SkinControlAttribute(50)] protected GUIFacadeControl lstEmulators = null; - //Knapparna i menyn till v\xE4nster + //The buttons in the menu to the left [SkinControlAttribute(10)] protected GUIButtonControl button_viewAs = null; [SkinControlAttribute(11)] protected GUIButtonControl button_mostPlayed = null; [SkinControlAttribute(12)] protected GUIButtonControl button_recentlyPlayed = null; [SkinControlAttribute(13)] protected GUIButtonControl button_topGraded = null; - //Speltexten + //Description text [SkinControlAttribute(40)] protected GUITextScrollUpControl text_description = null; - //Stj\xE4rnbilderna + //Grade star images [SkinControlAttribute(101)] protected GUIImage starimage1 = null; [SkinControlAttribute(102)] protected GUIImage starimage2 = null; [SkinControlAttribute(103)] protected GUIImage starimage3 = null; @@ -40,7 +40,7 @@ [SkinControlAttribute(110)] protected GUIImage starimage10 = null; private GUIImage[] stars; - #region Metoder som beskriver pluginet + #region Methods for plugin description //Namn p\xE5 pluginet public string PluginName() { @@ -95,14 +95,13 @@ } strButtonImage = String.Empty; strButtonImageFocus = String.Empty; - //Det st\xE5r r\xE4tt nedan, fast bilden m\xE5ste heta hover_myEmulators.png + //It is correct below, but the image must be named hover_myEmulators.png strPictureImage = GUIGraphicsContext.Skin + @"\\Media\\myEmulators.png"; return true; } #endregion - #region Metoder f\xF6r att skinet ska fungera - //Returnerar r\xE4tt id-nummer + #region Obligatory methods for the plugin to work public override int GetID { get @@ -114,14 +113,14 @@ } } - //Vid start av MediaPortal + //At start of MP public override bool Init() { DB.launch(); emulators = new List<Emulator>(); stars = new GUIImage[10]; previouslySelectedIndex = -1; - //Laddar listan \xF6ver emulatorer + //Loads the list of emulators Emulator[] loaded = DB.loadEmus(); for (int i = 0; i < loaded.Length; i++) { @@ -129,12 +128,12 @@ } _autoHideTopbar = true; _autoHideTopbarType = AutoHideTopBar.Yes; - //Laddar skinet + //Loads the skin return Load(GUIGraphicsContext.Skin+@"\myEmulators.xml"); } #endregion - #region Metoder f\xF6r h\xE4ndelser + #region Methods for events protected override void OnPageLoad() { stars[0] = starimage1; stars[1] = starimage2; stars[2] = starimage3; stars[3] = starimage4; stars[4] = starimage5; @@ -156,7 +155,7 @@ if (emulators.Count > 0) { isInFolder = false; - //Fyller listan med emulatorerna + //Fills the list with the emulators refreshEmulatorList(true); } else @@ -246,24 +245,24 @@ base.OnClicked(controlId, control, actionType); if (controlId == lstEmulators.GetID) { - //\xC4r i katalogen + //Is in folder if (isInFolder || ((GUIFacadeControl)control)[0].Label == "..") { int index = ((GUIFacadeControl)control).SelectedListItemIndex; - //Om tryckt p\xE5 tillbakaknappen + //If selected back button if (index == 0) { OnPageLoad(); } else { - //K\xF6r emulatorn med r\xE4tt ROM + //Run the emulator with the correct ROM try { ROMItem selected = ((ROMItem)(((GUIFacadeControl)control).SelectedListItem)); String path = selected.getParentItem().getEmulator_path(); String args = ""; - //Skalar bort switchen fr\xE5n path om det finns en s\xE5dan + //Takes away the switch from path if it exists if (!path.EndsWith(".exe")) { args += path.Substring(path.LastIndexOf('.') + 5) + " "; @@ -318,10 +317,10 @@ } } } - //\xC4r i listan \xF6ver emulatorer + //Is in the list of emulators else { - //Kontrollerar vilken emulator man tryckt p\xE5 + //Checks which emulator has been selected indexOfEmulator = ((GUIFacadeControl)control).SelectedListItemIndex; switch (emulators[indexOfEmulator].View) { @@ -330,11 +329,11 @@ case (2): { lstEmulators.View = GUIFacadeControl.ViewMode.List; button_viewAs.Label = "View: List"; break; } } isInFolder = true; - //Fyller listan med filer fr\xE5n katalogen + //Fills the list with files from the directory refreshROMList(true); } } - //Tryckt p\xE5 knapparna i menyn till v\xE4nster + //The buttons on the left have been pushed else if (controlId == button_viewAs.GetID) { switch (lstEmulators.View) @@ -461,7 +460,7 @@ private void refreshEmulatorList(bool log) { lstEmulators.Clear(); - //Fyller listan med emulatorerna + //Fills the list with the emulators for (int i = 0; i < emulators.Count; i++) { if (log) @@ -488,9 +487,8 @@ private void refreshROMList(bool log) { lstEmulators.Clear(); - //L\xE4gger till tillbaka-knappen + //Adds the back button GUIListItem backdots = new GUIListItem(".."); - //TODO: Kan h\xE4nda att raden nedanf\xF6r f\xE5r MP att bete sig konstigt efter \xE5terkomst av spelande backdots.ThumbnailImage = GUIGraphicsContext.Skin + @"\\Media\\DefaultFolderBackBig.png"; backdots.IconImage = GUIGraphicsContext.Skin + @"\\Media\\defaultFolderBack.png"; lstEmulators.Add(backdots); @@ -531,9 +529,8 @@ private void refreshROMList(ROMItem[] list, DB.SortButton type) { lstEmulators.Clear(); - //L\xE4gger till tillbaka-knappen + //Adds the back-button GUIListItem backdots = new GUIListItem(".."); - //TODO: Kan h\xE4nda att raden nedanf\xF6r f\xE5r MP att bete sig konstigt efter \xE5terkomst av spelande backdots.ThumbnailImage = GUIGraphicsContext.Skin + @"\\Media\\DefaultFolderBackBig.png"; backdots.IconImage = GUIGraphicsContext.Skin + @"\\Media\\defaultFolderBack.png"; lstEmulators.Add(backdots); Modified: trunk/plugins/MyEmulators/myEmulators/DB.cs =================================================================== --- trunk/plugins/MyEmulators/myEmulators/DB.cs 2007-02-19 11:19:27 UTC (rev 125) +++ trunk/plugins/MyEmulators/myEmulators/DB.cs 2007-02-19 16:06:40 UTC (rev 126) @@ -33,7 +33,7 @@ BUTTON_TOPGRADED } - //TODO: Kom ih\xE5g att skriva r\xE4tt version + //TODO: REMEMBER to put the correct version number! private static int current_version = 151; public static void launch() @@ -296,7 +296,7 @@ sqlDB.Execute("UPDATE " + tableROMName + " SET name='" + encode(item.getTitle()) + "',grade='" + item.Grade + "',count='" + item.Count + "',dateplayed='" + item.DatePlayed + "',description='" + encode(item.Description) + "' WHERE path='" + encode(item.getPath()) + "';"); } - //Kontrollerar vilka filer som ska f\xE5 visas + //Check which files will be shown public static bool filterFile(string filename, string[] filters) { for (int i = 0; i < filters.Length; i++) Modified: trunk/plugins/MyEmulators/myEmulators/Emulator.cs =================================================================== --- trunk/plugins/MyEmulators/myEmulators/Emulator.cs 2007-02-19 11:19:27 UTC (rev 125) +++ trunk/plugins/MyEmulators/myEmulators/Emulator.cs 2007-02-19 16:06:40 UTC (rev 126) @@ -123,7 +123,7 @@ return usequotes; } - //TODO: s\xE5h\xE4r funkar getters och setters + //TODO: this is how getters och setters work public int View { get @@ -337,7 +337,7 @@ { filter = "*.*"; } - //Sparar informationen + //Saves the information if (indexInList < 0) { Emulator temp = new Emulator(emulator_path, ROM_path, emulator_name, filter, usequotes, view); Modified: trunk/plugins/MyEmulators/myEmulators/myEmulators.csproj =================================================================== --- trunk/plugins/MyEmulators/myEmulators/myEmulators.csproj 2007-02-19 11:19:27 UTC (rev 125) +++ trunk/plugins/MyEmulators/myEmulators/myEmulators.csproj 2007-02-19 16:06:40 UTC (rev 126) @@ -76,9 +76,6 @@ <DependentUpon>setupForm.cs</DependentUpon> </EmbeddedResource> </ItemGroup> - <ItemGroup> - <None Include="ClassDiagram1.cd" /> - </ItemGroup> <Import Project="$(MSBuildBinPath)\Microsoft.CSharp.targets" /> <!-- To modify your build process, add your task inside one of the targets below and uncomment it. Other similar extension points exist, see Microsoft.Common.targets. Modified: trunk/plugins/MyEmulators/myEmulators/setupForm.cs =================================================================== --- trunk/plugins/MyEmulators/myEmulators/setupForm.cs 2007-02-19 11:19:27 UTC (rev 125) +++ trunk/plugins/MyEmulators/myEmulators/setupForm.cs 2007-02-19 16:06:40 UTC (rev 126) @@ -101,7 +101,7 @@ //Save ROMs for (int i = 0; i < dataGridView1.Rows.Count; i++) { - //TODO: kolla att v\xE4rdena f\xF6r varje cell inte \xE4r null och r\xE4tt format + //TODO: check for not null and correct format DataGridViewRow row = dataGridView1.Rows[i]; ROMs[i].setName(((DataGridViewTextBoxCell)row.Cells[1]).Value.ToString()); ROMs[i].Grade = Int32.Parse(((DataGridViewComboBoxCell)row.Cells[3]).Value.ToString()); @@ -165,8 +165,9 @@ for (int i = 0; i < emulators.Count; i++) { listBox1.Items.Add(emulators[i].getName()); - //TODO: Kom ih\xE5g: S\xE5 fort man \xE4ndrar n\xE5t med listbox s\xE5 g\xF6rs - //den om till ickestatisk, s\xE5 det m\xE5ste \xE4ndras i definitionen + //TODO: REMEMBER: if anything changes with listbox, it will + //be remade as non-static and errors will occur. It has to be + //changed to static in the definition each time (setupForm.Designer.cs) } } @@ -262,7 +263,7 @@ private void listBox1_KeyPress(object sender, KeyPressEventArgs e) { - //TODO: kolla om e.getchar() =0 'DEL' + //TODO: catch delete key //{ // remove_Click_1(sender, EventArgs.Empty); //} @@ -326,7 +327,7 @@ private void dataGridView1_CellEndEdit(object sender, DataGridViewCellEventArgs e) { - //TODO: S\xE4tt flaggan att r\xE4tt romitem \xE4r \xE4ndrad och spara sedan bara de som \xE4r \xE4ndrade + //TODO: Set a flag that changes have been made and only save the ROMItems that has the flag set } } This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <an...@us...> - 2007-02-19 11:19:28
|
Revision: 125 http://mp-plugins.svn.sourceforge.net/mp-plugins/?rev=125&view=rev Author: and-81 Date: 2007-02-19 03:19:27 -0800 (Mon, 19 Feb 2007) Log Message: ----------- Modified Paths: -------------- trunk/plugins/TV3ExtChannelChanger/TV3ExtChannelChanger.cs trunk/plugins/TV3MceBlaster/TV3MceBlaster.cs Modified: trunk/plugins/TV3ExtChannelChanger/TV3ExtChannelChanger.cs =================================================================== --- trunk/plugins/TV3ExtChannelChanger/TV3ExtChannelChanger.cs 2007-02-19 11:18:05 UTC (rev 124) +++ trunk/plugins/TV3ExtChannelChanger/TV3ExtChannelChanger.cs 2007-02-19 11:19:27 UTC (rev 125) @@ -400,7 +400,7 @@ return null; } - string[] commands = runCommand.Split(new char[] { '|' }); + string[] commands = runCommand.Split(new char[] { '|' }, StringSplitOptions.None); if (commands.Length != 7) { @@ -466,7 +466,7 @@ return null; } - string[] commands = serialCommand.Split(new char[] { '|' }); + string[] commands = serialCommand.Split(new char[] { '|' }, StringSplitOptions.None); if (commands.Length != 6) { @@ -542,7 +542,7 @@ return null; } - string[] commands = messageCommand.Split(new char[] { '|' }); + string[] commands = messageCommand.Split(new char[] { '|' }, StringSplitOptions.None); if (commands.Length != 4) { Modified: trunk/plugins/TV3MceBlaster/TV3MceBlaster.cs =================================================================== --- trunk/plugins/TV3MceBlaster/TV3MceBlaster.cs 2007-02-19 11:18:05 UTC (rev 124) +++ trunk/plugins/TV3MceBlaster/TV3MceBlaster.cs 2007-02-19 11:19:27 UTC (rev 125) @@ -592,7 +592,7 @@ return null; } - string[] commands = runCommand.Split(new char[] { '|' }); + string[] commands = runCommand.Split(new char[] { '|' }, StringSplitOptions.None); if (commands.Length != 7) { @@ -658,7 +658,7 @@ return null; } - string[] commands = serialCommand.Split(new char[] { '|' }); + string[] commands = serialCommand.Split(new char[] { '|' }, StringSplitOptions.None); if (commands.Length != 6) { @@ -852,7 +852,7 @@ return null; } - string[] commands = messageCommand.Split(new char[] { '|' }); + string[] commands = messageCommand.Split(new char[] { '|' }, StringSplitOptions.None); if (commands.Length != 4) { This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <an...@us...> - 2007-02-19 11:18:08
|
Revision: 124 http://mp-plugins.svn.sourceforge.net/mp-plugins/?rev=124&view=rev Author: and-81 Date: 2007-02-19 03:18:05 -0800 (Mon, 19 Feb 2007) Log Message: ----------- Modified Paths: -------------- trunk/plugins/MCEReplacement/MCEReplacement.cs trunk/plugins/MCEReplacement/MappedEvent.cs Modified: trunk/plugins/MCEReplacement/MCEReplacement.cs =================================================================== --- trunk/plugins/MCEReplacement/MCEReplacement.cs 2007-02-18 17:54:30 UTC (rev 123) +++ trunk/plugins/MCEReplacement/MCEReplacement.cs 2007-02-19 11:18:05 UTC (rev 124) @@ -839,8 +839,7 @@ if (LogVerbose) Log.Info("MCEReplacement: Tune External Channel: {0}, Tuner card: {1}", msg.Label, msg.Label2); - //if (!ProcessExternalChannel(msg.Label, msg.Label2)) - if (!ProcessExternalChannel(msg.Label, "0")) + if (!ProcessExternalChannel(msg.Label, msg.Label2)) Log.Error("MCEReplacement: Failed to process external channel request"); } @@ -1656,7 +1655,7 @@ return null; } - string[] commands = runCommand.Split(new char[] { '|' }); + string[] commands = runCommand.Split(new char[] { '|' }, StringSplitOptions.None); if (commands.Length != 7) { @@ -1722,7 +1721,7 @@ return null; } - string[] commands = serialCommand.Split(new char[] { '|' }); + string[] commands = serialCommand.Split(new char[] { '|' }, StringSplitOptions.None); if (commands.Length != 6) { @@ -1920,7 +1919,7 @@ return null; } - string[] commands = messageCommand.Split(new char[] { '|' }); + string[] commands = messageCommand.Split(new char[] { '|' }, StringSplitOptions.None); if (commands.Length != 4) { @@ -2006,7 +2005,7 @@ return null; } - string[] commands = popupCommand.Split(new char[] { '|' }); + string[] commands = popupCommand.Split(new char[] { '|' }, StringSplitOptions.None); if (commands.Length != 3) { Modified: trunk/plugins/MCEReplacement/MappedEvent.cs =================================================================== --- trunk/plugins/MCEReplacement/MappedEvent.cs 2007-02-18 17:54:30 UTC (rev 123) +++ trunk/plugins/MCEReplacement/MappedEvent.cs 2007-02-19 11:18:05 UTC (rev 124) @@ -200,7 +200,7 @@ if (eventString == null || commandString == null) return null; - string[] eventStringElements = eventString.Split(new char[] { ',', '=' }); + string[] eventStringElements = eventString.Split(new char[] { ',', '=' }, StringSplitOptions.None); if (eventStringElements.Length == 1) { This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <mis...@us...> - 2007-02-18 17:54:37
|
Revision: 123 http://mp-plugins.svn.sourceforge.net/mp-plugins/?rev=123&view=rev Author: misterd_sf Date: 2007-02-18 09:54:30 -0800 (Sun, 18 Feb 2007) Log Message: ----------- Initial version of My MPlayer Added Paths: ----------- trunk/plugins/My MPlayer/ trunk/plugins/My MPlayer/License.txt trunk/plugins/My MPlayer/Liesmich.pdf trunk/plugins/My MPlayer/MPlayer_ExtPlayer/ trunk/plugins/My MPlayer/MPlayer_ExtPlayer/ConfigurationForm.Designer.cs trunk/plugins/My MPlayer/MPlayer_ExtPlayer/ConfigurationForm.cs trunk/plugins/My MPlayer/MPlayer_ExtPlayer/ConfigurationForm.resx trunk/plugins/My MPlayer/MPlayer_ExtPlayer/ConfigurationManager.cs trunk/plugins/My MPlayer/MPlayer_ExtPlayer/ExtensionSettings.cs trunk/plugins/My MPlayer/MPlayer_ExtPlayer/MPlayer_ExtPlayer.cs trunk/plugins/My MPlayer/MPlayer_ExtPlayer/MPlayer_ExtPlayer.csproj trunk/plugins/My MPlayer/MPlayer_ExtPlayer/Properties/ trunk/plugins/My MPlayer/MPlayer_ExtPlayer/Properties/AssemblyInfo.cs trunk/plugins/My MPlayer/MPlayer_ExtPlayer/SampleConfiguration/ trunk/plugins/My MPlayer/MPlayer_ExtPlayer/SampleConfiguration/MPlayer_ExtPlayer.xml trunk/plugins/My MPlayer/MPlayer_ExtPlayer/config.ico trunk/plugins/My MPlayer/MPlayer_GUIPlugin/ trunk/plugins/My MPlayer/MPlayer_GUIPlugin/ConfigurationForm.Designer.cs trunk/plugins/My MPlayer/MPlayer_GUIPlugin/ConfigurationForm.cs trunk/plugins/My MPlayer/MPlayer_GUIPlugin/ConfigurationForm.resx trunk/plugins/My MPlayer/MPlayer_GUIPlugin/MPlayer_GUIPlugin.cs trunk/plugins/My MPlayer/MPlayer_GUIPlugin/MPlayer_GUIPlugin.csproj trunk/plugins/My MPlayer/MPlayer_GUIPlugin/MPlayer_Share.cs trunk/plugins/My MPlayer/MPlayer_GUIPlugin/Properties/ trunk/plugins/My MPlayer/MPlayer_GUIPlugin/Properties/AssemblyInfo.cs trunk/plugins/My MPlayer/MPlayer_GUIPlugin/SampleConfiguration/ trunk/plugins/My MPlayer/MPlayer_GUIPlugin/SampleConfiguration/MPlayer_GUIPlugin.xml trunk/plugins/My MPlayer/MPlayer_GUIPlugin/SkinFiles/ trunk/plugins/My MPlayer/MPlayer_GUIPlugin/SkinFiles/BlueTwo 16x9/ trunk/plugins/My MPlayer/MPlayer_GUIPlugin/SkinFiles/BlueTwo 16x9/myMPlayer.xml trunk/plugins/My MPlayer/MPlayer_GUIPlugin/SkinFiles/BlueTwo 4x3/ trunk/plugins/My MPlayer/MPlayer_GUIPlugin/SkinFiles/BlueTwo 4x3/myMPlayer.xml trunk/plugins/My MPlayer/MPlayer_GUIPlugin/SkinFiles/PM III/ trunk/plugins/My MPlayer/MPlayer_GUIPlugin/SkinFiles/PM III/myMPlayer.xml trunk/plugins/My MPlayer/MPlayer_GUIPlugin/VirtualWebKeyboard.cs trunk/plugins/My MPlayer/My Mplayer.sln trunk/plugins/My MPlayer/Readme.pdf Added: trunk/plugins/My MPlayer/License.txt =================================================================== --- trunk/plugins/My MPlayer/License.txt (rev 0) +++ trunk/plugins/My MPlayer/License.txt 2007-02-18 17:54:30 UTC (rev 123) @@ -0,0 +1,289 @@ +The plugin is licensed under the terms of the terms of the GNU General +Public License as published by the Free Software Foundation, which is +displayed below. You are only allowed to use this plugin if your with +this plugin used version of MPlayer does not violate the laws of your +country! + +------------------------------------------------------------------------- + + + GNU GENERAL PUBLIC LICENSE + Version 2, June 1991 + + Copyright (C) 1989, 1991 Free Software Foundation, Inc., + 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + Everyone is permitted to copy and distribute verbatim copies + of this license document, but changing it is not allowed. + + Preamble + + The licenses for most software are designed to take away your +freedom to share and change it. By contrast, the GNU General Public +License is intended to guarantee your freedom to share and change free +software--to make sure the software is free for all its users. This +General Public License applies to most of the Free Software +Foundation's software and to any other program whose authors commit to +using it. (Some other Free Software Foundation software is covered by +the GNU Lesser General Public License instead.) You can apply it to +your programs, too. + + When we speak of free software, we are referring to freedom, not +price. Our General Public Licenses are designed to make sure that you +have the freedom to distribute copies of free software (and charge for +this service if you wish), that you receive source code or can get it +if you want it, that you can change the software or use pieces of it +in new free programs; and that you know you can do these things. + + To protect your rights, we need to make restrictions that forbid +anyone to deny you these rights or to ask you to surrender the rights. +These restrictions translate to certain responsibilities for you if you +distribute copies of the software, or if you modify it. + + For example, if you distribute copies of such a program, whether +gratis or for a fee, you must give the recipients all the rights that +you have. You must make sure that they, too, receive or can get the +source code. And you must show them these terms so they know their +rights. + + We protect your rights with two steps: (1) copyright the software, and +(2) offer you this license which gives you legal permission to copy, +distribute and/or modify the software. + + Also, for each author's protection and ours, we want to make certain +that everyone understands that there is no warranty for this free +software. If the software is modified by someone else and passed on, we +want its recipients to know that what they have is not the original, so +that any problems introduced by others will not reflect on the original +authors' reputations. + + Finally, any free program is threatened constantly by software +patents. We wish to avoid the danger that redistributors of a free +program will individually obtain patent licenses, in effect making the +program proprietary. To prevent this, we have made it clear that any +patent must be licensed for everyone's free use or not licensed at all. + + The precise terms and conditions for copying, distribution and +modification follow. + + GNU GENERAL PUBLIC LICENSE + TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION + + 0. This License applies to any program or other work which contains +a notice placed by the copyright holder saying it may be distributed +under the terms of this General Public License. The "Program", below, +refers to any such program or work, and a "work based on the Program" +means either the Program or any derivative work under copyright law: +that is to say, a work containing the Program or a portion of it, +either verbatim or with modifications and/or translated into another +language. (Hereinafter, translation is included without limitation in +the term "modification".) Each licensee is addressed as "you". + +Activities other than copying, distribution and modification are not +covered by this License; they are outside its scope. The act of +running the Program is not restricted, and the output from the Program +is covered only if its contents constitute a work based on the +Program (independent of having been made by running the Program). +Whether that is true depends on what the Program does. + + 1. You may copy and distribute verbatim copies of the Program's +source code as you receive it, in any medium, provided that you +conspicuously and appropriately publish on each copy an appropriate +copyright notice and disclaimer of warranty; keep intact all the +notices that refer to this License and to the absence of any warranty; +and give any other recipients of the Program a copy of this License +along with the Program. + +You may charge a fee for the physical act of transferring a copy, and +you may at your option offer warranty protection in exchange for a fee. + + 2. You may modify your copy or copies of the Program or any portion +of it, thus forming a work based on the Program, and copy and +distribute such modifications or work under the terms of Section 1 +above, provided that you also meet all of these conditions: + + a) You must cause the modified files to carry prominent notices + stating that you changed the files and the date of any change. + + b) You must cause any work that you distribute or publish, that in + whole or in part contains or is derived from the Program or any + part thereof, to be licensed as a whole at no charge to all third + parties under the terms of this License. + + c) If the modified program normally reads commands interactively + when run, you must cause it, when started running for such + interactive use in the most ordinary way, to print or display an + announcement including an appropriate copyright notice and a + notice that there is no warranty (or else, saying that you provide + a warranty) and that users may redistribute the program under + these conditions, and telling the user how to view a copy of this + License. (Exception: if the Program itself is interactive but + does not normally print such an announcement, your work based on + the Program is not required to print an announcement.) + +These requirements apply to the modified work as a whole. If +identifiable sections of that work are not derived from the Program, +and can be reasonably considered independent and separate works in +themselves, then this License, and its terms, do not apply to those +sections when you distribute them as separate works. But when you +distribute the same sections as part of a whole which is a work based +on the Program, the distribution of the whole must be on the terms of +this License, whose permissions for other licensees extend to the +entire whole, and thus to each and every part regardless of who wrote it. + +Thus, it is not the intent of this section to claim rights or contest +your rights to work written entirely by you; rather, the intent is to +exercise the right to control the distribution of derivative or +collective works based on the Program. + +In addition, mere aggregation of another work not based on the Program +with the Program (or with a work based on the Program) on a volume of +a storage or distribution medium does not bring the other work under +the scope of this License. + + 3. You may copy and distribute the Program (or a work based on it, +under Section 2) in object code or executable form under the terms of +Sections 1 and 2 above provided that you also do one of the following: + + a) Accompany it with the complete corresponding machine-readable + source code, which must be distributed under the terms of Sections + 1 and 2 above on a medium customarily used for software interchange; or, + + b) Accompany it with a written offer, valid for at least three + years, to give any third party, for a charge no more than your + cost of physically performing source distribution, a complete + machine-readable copy of the corresponding source code, to be + distributed under the terms of Sections 1 and 2 above on a medium + customarily used for software interchange; or, + + c) Accompany it with the information you received as to the offer + to distribute corresponding source code. (This alternative is + allowed only for noncommercial distribution and only if you + received the program in object code or executable form with such + an offer, in accord with Subsection b above.) + +The source code for a work means the preferred form of the work for +making modifications to it. For an executable work, complete source +code means all the source code for all modules it contains, plus any +associated interface definition files, plus the scripts used to +control compilation and installation of the executable. However, as a +special exception, the source code distributed need not include +anything that is normally distributed (in either source or binary +form) with the major components (compiler, kernel, and so on) of the +operating system on which the executable runs, unless that component +itself accompanies the executable. + +If distribution of executable or object code is made by offering +access to copy from a designated place, then offering equivalent +access to copy the source code from the same place counts as +distribution of the source code, even though third parties are not +compelled to copy the source along with the object code. + + 4. You may not copy, modify, sublicense, or distribute the Program +except as expressly provided under this License. Any attempt +otherwise to copy, modify, sublicense or distribute the Program is +void, and will automatically terminate your rights under this License. +However, parties who have received copies, or rights, from you under +this License will not have their licenses terminated so long as such +parties remain in full compliance. + + 5. You are not required to accept this License, since you have not +signed it. However, nothing else grants you permission to modify or +distribute the Program or its derivative works. These actions are +prohibited by law if you do not accept this License. Therefore, by +modifying or distributing the Program (or any work based on the +Program), you indicate your acceptance of this License to do so, and +all its terms and conditions for copying, distributing or modifying +the Program or works based on it. + + 6. Each time you redistribute the Program (or any work based on the +Program), the recipient automatically receives a license from the +original licensor to copy, distribute or modify the Program subject to +these terms and conditions. You may not impose any further +restrictions on the recipients' exercise of the rights granted herein. +You are not responsible for enforcing compliance by third parties to +this License. + + 7. If, as a consequence of a court judgment or allegation of patent +infringement or for any other reason (not limited to patent issues), +conditions are imposed on you (whether by court order, agreement or +otherwise) that contradict the conditions of this License, they do not +excuse you from the conditions of this License. If you cannot +distribute so as to satisfy simultaneously your obligations under this +License and any other pertinent obligations, then as a consequence you +may not distribute the Program at all. For example, if a patent +license would not permit royalty-free redistribution of the Program by +all those who receive copies directly or indirectly through you, then +the only way you could satisfy both it and this License would be to +refrain entirely from distribution of the Program. + +If any portion of this section is held invalid or unenforceable under +any particular circumstance, the balance of the section is intended to +apply and the section as a whole is intended to apply in other +circumstances. + +It is not the purpose of this section to induce you to infringe any +patents or other property right claims or to contest validity of any +such claims; this section has the sole purpose of protecting the +integrity of the free software distribution system, which is +implemented by public license practices. Many people have made +generous contributions to the wide range of software distributed +through that system in reliance on consistent application of that +system; it is up to the author/donor to decide if he or she is willing +to distribute software through any other system and a licensee cannot +impose that choice. + +This section is intended to make thoroughly clear what is believed to +be a consequence of the rest of this License. + + 8. If the distribution and/or use of the Program is restricted in +certain countries either by patents or by copyrighted interfaces, the +original copyright holder who places the Program under this License +may add an explicit geographical distribution limitation excluding +those countries, so that distribution is permitted only in or among +countries not thus excluded. In such case, this License incorporates +the limitation as if written in the body of this License. + + 9. The Free Software Foundation may publish revised and/or new versions +of the General Public License from time to time. Such new versions will +be similar in spirit to the present version, but may differ in detail to +address new problems or concerns. + +Each version is given a distinguishing version number. If the Program +specifies a version number of this License which applies to it and "any +later version", you have the option of following the terms and conditions +either of that version or of any later version published by the Free +Software Foundation. If the Program does not specify a version number of +this License, you may choose any version ever published by the Free Software +Foundation. + + 10. If you wish to incorporate parts of the Program into other free +programs whose distribution conditions are different, write to the author +to ask for permission. For software which is copyrighted by the Free +Software Foundation, write to the Free Software Foundation; we sometimes +make exceptions for this. Our decision will be guided by the two goals +of preserving the free status of all derivatives of our free software and +of promoting the sharing and reuse of software generally. + + NO WARRANTY + + 11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY +FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN +OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES +PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED +OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF +MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS +TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE +PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING, +REPAIR OR CORRECTION. + + 12. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING +WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR +REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, +INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING +OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED +TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY +YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER +PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE +POSSIBILITY OF SUCH DAMAGES. + + END OF TERMS AND CONDITIONS Added: trunk/plugins/My MPlayer/Liesmich.pdf =================================================================== (Binary files differ) Property changes on: trunk/plugins/My MPlayer/Liesmich.pdf ___________________________________________________________________ Name: svn:mime-type + application/octet-stream Added: trunk/plugins/My MPlayer/MPlayer_ExtPlayer/ConfigurationForm.Designer.cs =================================================================== --- trunk/plugins/My MPlayer/MPlayer_ExtPlayer/ConfigurationForm.Designer.cs (rev 0) +++ trunk/plugins/My MPlayer/MPlayer_ExtPlayer/ConfigurationForm.Designer.cs 2007-02-18 17:54:30 UTC (rev 123) @@ -0,0 +1,1011 @@ +#region Copyright (C) 2006-2007 MisterD + +/* + * Copyright (C) 2006-2007 MisterD + * + * This Program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2, or (at your option) + * any later version. + * + * This Program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with GNU Make; see the file COPYING. If not, write to + * the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA. + * http://www.gnu.org/copyleft/gpl.html + * + */ + +#endregion + +namespace MPlayer { + partial class ConfigurationForm { + + #region Dispose + /// <summary> + /// Verwendete Ressourcen bereinigen. + /// </summary> + /// <param name="disposing">True, wenn verwaltete Ressourcen gelöscht werden sollen; andernfalls False.</param> + protected override void Dispose(bool disposing) { + if (disposing && (components != null)) { + components.Dispose(); + } + base.Dispose(disposing); + } + #endregion + + #region Vom Windows Form-Designer generierter Code + + /// <summary> + /// Erforderliche Methode für die Designerunterstützung. + /// Der Inhalt der Methode darf nicht mit dem Code-Editor geändert werden. + /// </summary> + private void InitializeComponent() { + System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(ConfigurationForm)); + this.okButton = new System.Windows.Forms.Button(); + this.label1 = new System.Windows.Forms.Label(); + this.label2 = new System.Windows.Forms.Label(); + this.label3 = new System.Windows.Forms.Label(); + this.label4 = new System.Windows.Forms.Label(); + this.rebuildIndex = new System.Windows.Forms.CheckBox(); + this.priorityBoost = new System.Windows.Forms.CheckBox(); + this.label5 = new System.Windows.Forms.Label(); + this.optionalArguments = new System.Windows.Forms.TextBox(); + this.soundOutputDriver = new System.Windows.Forms.ComboBox(); + this.postProcessing = new System.Windows.Forms.ComboBox(); + this.aspectRatio = new System.Windows.Forms.ComboBox(); + this.deinterlace = new System.Windows.Forms.ComboBox(); + this.cancelButton = new System.Windows.Forms.Button(); + this.mplayerPath = new System.Windows.Forms.TextBox(); + this.label8 = new System.Windows.Forms.Label(); + this.folderSearch = new System.Windows.Forms.Button(); + this.folderBrowserDialog1 = new System.Windows.Forms.FolderBrowserDialog(); + this.tabControl1 = new System.Windows.Forms.TabControl(); + this.general_Tab = new System.Windows.Forms.TabPage(); + this.label22 = new System.Windows.Forms.Label(); + this.osdFont = new System.Windows.Forms.ComboBox(); + this.audioNormalize = new System.Windows.Forms.CheckBox(); + this.framedrop = new System.Windows.Forms.CheckBox(); + this.directRendering = new System.Windows.Forms.CheckBox(); + this.doubleBuffering = new System.Windows.Forms.CheckBox(); + this.label21 = new System.Windows.Forms.Label(); + this.label7 = new System.Windows.Forms.Label(); + this.noiseDenoise = new System.Windows.Forms.ComboBox(); + this.audioChannels = new System.Windows.Forms.ComboBox(); + this.video_Tab = new System.Windows.Forms.TabPage(); + this.label25 = new System.Windows.Forms.Label(); + this.videoPlayerUse = new System.Windows.Forms.CheckBox(); + this.videoArgument = new System.Windows.Forms.TextBox(); + this.label24 = new System.Windows.Forms.Label(); + this.label23 = new System.Windows.Forms.Label(); + this.videoExtension = new System.Windows.Forms.TextBox(); + this.videoDelete = new System.Windows.Forms.Button(); + this.videoAdd = new System.Windows.Forms.Button(); + this.videoExtList = new System.Windows.Forms.ListBox(); + this.audio_Tab = new System.Windows.Forms.TabPage(); + this.label26 = new System.Windows.Forms.Label(); + this.audioPlayerUse = new System.Windows.Forms.CheckBox(); + this.audioArgument = new System.Windows.Forms.TextBox(); + this.label27 = new System.Windows.Forms.Label(); + this.label28 = new System.Windows.Forms.Label(); + this.audioExtension = new System.Windows.Forms.TextBox(); + this.audioDelete = new System.Windows.Forms.Button(); + this.audioAdd = new System.Windows.Forms.Button(); + this.audioExtList = new System.Windows.Forms.ListBox(); + this.dvd_vcd_svcd_Tab = new System.Windows.Forms.TabPage(); + this.audioCDArguments = new System.Windows.Forms.TextBox(); + this.label6 = new System.Windows.Forms.Label(); + this.label11 = new System.Windows.Forms.Label(); + this.svcdArguments = new System.Windows.Forms.TextBox(); + this.label10 = new System.Windows.Forms.Label(); + this.vcdArguments = new System.Windows.Forms.TextBox(); + this.label9 = new System.Windows.Forms.Label(); + this.dvdArguments = new System.Windows.Forms.TextBox(); + this.streaming_cue_Tab = new System.Windows.Forms.TabPage(); + this.label20 = new System.Windows.Forms.Label(); + this.unsvArguments = new System.Windows.Forms.TextBox(); + this.label19 = new System.Windows.Forms.Label(); + this.udpArguments = new System.Windows.Forms.TextBox(); + this.label18 = new System.Windows.Forms.Label(); + this.sdpArguments = new System.Windows.Forms.TextBox(); + this.label17 = new System.Windows.Forms.Label(); + this.rtspArguments = new System.Windows.Forms.TextBox(); + this.label16 = new System.Windows.Forms.Label(); + this.mpstArguments = new System.Windows.Forms.TextBox(); + this.label15 = new System.Windows.Forms.Label(); + this.mmsArguments = new System.Windows.Forms.TextBox(); + this.label14 = new System.Windows.Forms.Label(); + this.httpArguments = new System.Windows.Forms.TextBox(); + this.label13 = new System.Windows.Forms.Label(); + this.ftpArguments = new System.Windows.Forms.TextBox(); + this.label12 = new System.Windows.Forms.Label(); + this.cueArguments = new System.Windows.Forms.TextBox(); + this.openFileDialog1 = new System.Windows.Forms.OpenFileDialog(); + this.fontDialog1 = new System.Windows.Forms.FontDialog(); + this.tabControl1.SuspendLayout(); + this.general_Tab.SuspendLayout(); + this.video_Tab.SuspendLayout(); + this.audio_Tab.SuspendLayout(); + this.dvd_vcd_svcd_Tab.SuspendLayout(); + this.streaming_cue_Tab.SuspendLayout(); + this.SuspendLayout(); + // + // okButton + // + this.okButton.Location = new System.Drawing.Point(16, 396); + this.okButton.Name = "okButton"; + this.okButton.Size = new System.Drawing.Size(75, 23); + this.okButton.TabIndex = 3; + this.okButton.Text = "&OK"; + this.okButton.UseVisualStyleBackColor = true; + this.okButton.Click += new System.EventHandler(this.okButton_Click); + // + // label1 + // + this.label1.Location = new System.Drawing.Point(3, 14); + this.label1.Name = "label1"; + this.label1.Size = new System.Drawing.Size(117, 23); + this.label1.TabIndex = 8; + this.label1.Text = "Sound output driver:"; + // + // label2 + // + this.label2.Location = new System.Drawing.Point(3, 41); + this.label2.Name = "label2"; + this.label2.Size = new System.Drawing.Size(117, 23); + this.label2.TabIndex = 9; + this.label2.Text = "Postprocessing:"; + // + // label3 + // + this.label3.Location = new System.Drawing.Point(3, 68); + this.label3.Name = "label3"; + this.label3.Size = new System.Drawing.Size(117, 23); + this.label3.TabIndex = 10; + this.label3.Text = "Aspect Ratio:"; + // + // label4 + // + this.label4.Location = new System.Drawing.Point(3, 95); + this.label4.Name = "label4"; + this.label4.Size = new System.Drawing.Size(117, 23); + this.label4.TabIndex = 11; + this.label4.Text = "Deinterlace:"; + // + // rebuildIndex + // + this.rebuildIndex.Location = new System.Drawing.Point(6, 228); + this.rebuildIndex.Name = "rebuildIndex"; + this.rebuildIndex.Size = new System.Drawing.Size(188, 23); + this.rebuildIndex.TabIndex = 12; + this.rebuildIndex.Text = "Rebuild file index if necessary"; + this.rebuildIndex.UseVisualStyleBackColor = true; + // + // priorityBoost + // + this.priorityBoost.Location = new System.Drawing.Point(6, 257); + this.priorityBoost.Name = "priorityBoost"; + this.priorityBoost.Size = new System.Drawing.Size(188, 23); + this.priorityBoost.TabIndex = 13; + this.priorityBoost.Text = "Priority Boost"; + this.priorityBoost.UseVisualStyleBackColor = true; + // + // label5 + // + this.label5.Location = new System.Drawing.Point(3, 205); + this.label5.Name = "label5"; + this.label5.Size = new System.Drawing.Size(117, 23); + this.label5.TabIndex = 14; + this.label5.Text = "Optional Arguments:"; + // + // optionalArguments + // + this.optionalArguments.Location = new System.Drawing.Point(122, 202); + this.optionalArguments.Name = "optionalArguments"; + this.optionalArguments.Size = new System.Drawing.Size(260, 20); + this.optionalArguments.TabIndex = 15; + // + // soundOutputDriver + // + this.soundOutputDriver.DropDownStyle = System.Windows.Forms.ComboBoxStyle.DropDownList; + this.soundOutputDriver.FormattingEnabled = true; + this.soundOutputDriver.Items.AddRange(new object[] { + "(don\'t decode sound)", + "(don\'t play sound)", + "Win32", + "DirectSound"}); + this.soundOutputDriver.Location = new System.Drawing.Point(122, 11); + this.soundOutputDriver.Name = "soundOutputDriver"; + this.soundOutputDriver.Size = new System.Drawing.Size(260, 21); + this.soundOutputDriver.TabIndex = 16; + // + // postProcessing + // + this.postProcessing.DropDownStyle = System.Windows.Forms.ComboBoxStyle.DropDownList; + this.postProcessing.FormattingEnabled = true; + this.postProcessing.Items.AddRange(new object[] { + "Off", + "Automatic", + "Maximum quality"}); + this.postProcessing.Location = new System.Drawing.Point(122, 38); + this.postProcessing.Name = "postProcessing"; + this.postProcessing.Size = new System.Drawing.Size(260, 21); + this.postProcessing.TabIndex = 17; + // + // aspectRatio + // + this.aspectRatio.DropDownStyle = System.Windows.Forms.ComboBoxStyle.DropDownList; + this.aspectRatio.FormattingEnabled = true; + this.aspectRatio.Items.AddRange(new object[] { + "Autodetect", + "4:3", + "16:9", + "2,35"}); + this.aspectRatio.Location = new System.Drawing.Point(122, 65); + this.aspectRatio.Name = "aspectRatio"; + this.aspectRatio.Size = new System.Drawing.Size(260, 21); + this.aspectRatio.TabIndex = 18; + // + // deinterlace + // + this.deinterlace.DropDownStyle = System.Windows.Forms.ComboBoxStyle.DropDownList; + this.deinterlace.FormattingEnabled = true; + this.deinterlace.Items.AddRange(new object[] { + "Off", + "Simple", + "Adaptive"}); + this.deinterlace.Location = new System.Drawing.Point(122, 92); + this.deinterlace.Name = "deinterlace"; + this.deinterlace.Size = new System.Drawing.Size(260, 21); + this.deinterlace.TabIndex = 19; + // + // cancelButton + // + this.cancelButton.DialogResult = System.Windows.Forms.DialogResult.Cancel; + this.cancelButton.Location = new System.Drawing.Point(344, 396); + this.cancelButton.Name = "cancelButton"; + this.cancelButton.Size = new System.Drawing.Size(75, 23); + this.cancelButton.TabIndex = 20; + this.cancelButton.Text = "&Cancel"; + this.cancelButton.UseVisualStyleBackColor = true; + this.cancelButton.Click += new System.EventHandler(this.cancelButton_Click); + // + // mplayerPath + // + this.mplayerPath.Location = new System.Drawing.Point(126, 315); + this.mplayerPath.Name = "mplayerPath"; + this.mplayerPath.Size = new System.Drawing.Size(174, 20); + this.mplayerPath.TabIndex = 21; + this.mplayerPath.Text = "C:\\Program Files\\MPlayer"; + // + // label8 + // + this.label8.Location = new System.Drawing.Point(3, 318); + this.label8.Name = "label8"; + this.label8.Size = new System.Drawing.Size(117, 23); + this.label8.TabIndex = 22; + this.label8.Text = "Path to MPlayer:"; + // + // folderSearch + // + this.folderSearch.Location = new System.Drawing.Point(306, 313); + this.folderSearch.Name = "folderSearch"; + this.folderSearch.Size = new System.Drawing.Size(76, 23); + this.folderSearch.TabIndex = 23; + this.folderSearch.Text = "&Browse ..."; + this.folderSearch.UseVisualStyleBackColor = true; + this.folderSearch.Click += new System.EventHandler(this.folderSearch_Click); + // + // folderBrowserDialog1 + // + this.folderBrowserDialog1.Description = "Select the folger of MPlayer:"; + // + // tabControl1 + // + this.tabControl1.Controls.Add(this.general_Tab); + this.tabControl1.Controls.Add(this.video_Tab); + this.tabControl1.Controls.Add(this.audio_Tab); + this.tabControl1.Controls.Add(this.dvd_vcd_svcd_Tab); + this.tabControl1.Controls.Add(this.streaming_cue_Tab); + this.tabControl1.Location = new System.Drawing.Point(12, 12); + this.tabControl1.Name = "tabControl1"; + this.tabControl1.SelectedIndex = 0; + this.tabControl1.Size = new System.Drawing.Size(411, 378); + this.tabControl1.TabIndex = 24; + // + // general_Tab + // + this.general_Tab.Controls.Add(this.label22); + this.general_Tab.Controls.Add(this.osdFont); + this.general_Tab.Controls.Add(this.audioNormalize); + this.general_Tab.Controls.Add(this.framedrop); + this.general_Tab.Controls.Add(this.directRendering); + this.general_Tab.Controls.Add(this.doubleBuffering); + this.general_Tab.Controls.Add(this.label21); + this.general_Tab.Controls.Add(this.label7); + this.general_Tab.Controls.Add(this.noiseDenoise); + this.general_Tab.Controls.Add(this.audioChannels); + this.general_Tab.Controls.Add(this.label1); + this.general_Tab.Controls.Add(this.folderSearch); + this.general_Tab.Controls.Add(this.label2); + this.general_Tab.Controls.Add(this.label8); + this.general_Tab.Controls.Add(this.mplayerPath); + this.general_Tab.Controls.Add(this.label3); + this.general_Tab.Controls.Add(this.label4); + this.general_Tab.Controls.Add(this.rebuildIndex); + this.general_Tab.Controls.Add(this.deinterlace); + this.general_Tab.Controls.Add(this.priorityBoost); + this.general_Tab.Controls.Add(this.aspectRatio); + this.general_Tab.Controls.Add(this.label5); + this.general_Tab.Controls.Add(this.postProcessing); + this.general_Tab.Controls.Add(this.optionalArguments); + this.general_Tab.Controls.Add(this.soundOutputDriver); + this.general_Tab.Location = new System.Drawing.Point(4, 22); + this.general_Tab.Name = "general_Tab"; + this.general_Tab.Padding = new System.Windows.Forms.Padding(3); + this.general_Tab.Size = new System.Drawing.Size(403, 352); + this.general_Tab.TabIndex = 0; + this.general_Tab.Text = "General"; + this.general_Tab.UseVisualStyleBackColor = true; + // + // label22 + // + this.label22.Location = new System.Drawing.Point(3, 178); + this.label22.Name = "label22"; + this.label22.Size = new System.Drawing.Size(117, 23); + this.label22.TabIndex = 33; + this.label22.Text = "Font of OSD:"; + // + // osdFont + // + this.osdFont.DropDownStyle = System.Windows.Forms.ComboBoxStyle.DropDownList; + this.osdFont.FormattingEnabled = true; + this.osdFont.Location = new System.Drawing.Point(122, 175); + this.osdFont.Name = "osdFont"; + this.osdFont.Size = new System.Drawing.Size(260, 21); + this.osdFont.TabIndex = 32; + // + // audioNormalize + // + this.audioNormalize.Location = new System.Drawing.Point(200, 286); + this.audioNormalize.Name = "audioNormalize"; + this.audioNormalize.Size = new System.Drawing.Size(178, 23); + this.audioNormalize.TabIndex = 31; + this.audioNormalize.Text = "Volume normalize"; + this.audioNormalize.UseVisualStyleBackColor = true; + // + // framedrop + // + this.framedrop.Location = new System.Drawing.Point(6, 286); + this.framedrop.Name = "framedrop"; + this.framedrop.Size = new System.Drawing.Size(188, 23); + this.framedrop.TabIndex = 30; + this.framedrop.Text = "Framedrop"; + this.framedrop.UseVisualStyleBackColor = true; + // + // directRendering + // + this.directRendering.Location = new System.Drawing.Point(200, 228); + this.directRendering.Name = "directRendering"; + this.directRendering.Size = new System.Drawing.Size(178, 23); + this.directRendering.TabIndex = 29; + this.directRendering.Text = "Direct Rendering"; + this.directRendering.UseVisualStyleBackColor = true; + // + // doubleBuffering + // + this.doubleBuffering.Location = new System.Drawing.Point(200, 257); + this.doubleBuffering.Name = "doubleBuffering"; + this.doubleBuffering.Size = new System.Drawing.Size(178, 23); + this.doubleBuffering.TabIndex = 28; + this.doubleBuffering.Text = "Double Buffering"; + this.doubleBuffering.UseVisualStyleBackColor = true; + // + // label21 + // + this.label21.Location = new System.Drawing.Point(3, 151); + this.label21.Name = "label21"; + this.label21.Size = new System.Drawing.Size(117, 23); + this.label21.TabIndex = 27; + this.label21.Text = "Noise/Denoise:"; + // + // label7 + // + this.label7.Location = new System.Drawing.Point(3, 122); + this.label7.Name = "label7"; + this.label7.Size = new System.Drawing.Size(117, 23); + this.label7.TabIndex = 26; + this.label7.Text = "Audio Channels:"; + // + // noiseDenoise + // + this.noiseDenoise.DropDownStyle = System.Windows.Forms.ComboBoxStyle.DropDownList; + this.noiseDenoise.FormattingEnabled = true; + this.noiseDenoise.Items.AddRange(new object[] { + "Nothing", + "Noise", + "High Quality Denoise", + "Denoise"}); + this.noiseDenoise.Location = new System.Drawing.Point(122, 148); + this.noiseDenoise.Name = "noiseDenoise"; + this.noiseDenoise.Size = new System.Drawing.Size(260, 21); + this.noiseDenoise.TabIndex = 25; + // + // audioChannels + // + this.audioChannels.DropDownStyle = System.Windows.Forms.ComboBoxStyle.DropDownList; + this.audioChannels.FormattingEnabled = true; + this.audioChannels.Items.AddRange(new object[] { + "Default", + "Stereo", + "Surround", + "Full 5.1"}); + this.audioChannels.Location = new System.Drawing.Point(122, 119); + this.audioChannels.Name = "audioChannels"; + this.audioChannels.Size = new System.Drawing.Size(260, 21); + this.audioChannels.TabIndex = 24; + // + // video_Tab + // + this.video_Tab.Controls.Add(this.label25); + this.video_Tab.Controls.Add(this.videoPlayerUse); + this.video_Tab.Controls.Add(this.videoArgument); + this.video_Tab.Controls.Add(this.label24); + this.video_Tab.Controls.Add(this.label23); + this.video_Tab.Controls.Add(this.videoExtension); + this.video_Tab.Controls.Add(this.videoDelete); + this.video_Tab.Controls.Add(this.videoAdd); + this.video_Tab.Controls.Add(this.videoExtList); + this.video_Tab.Location = new System.Drawing.Point(4, 22); + this.video_Tab.Name = "video_Tab"; + this.video_Tab.Padding = new System.Windows.Forms.Padding(3); + this.video_Tab.Size = new System.Drawing.Size(403, 352); + this.video_Tab.TabIndex = 1; + this.video_Tab.Text = "Video"; + this.video_Tab.UseVisualStyleBackColor = true; + // + // label25 + // + this.label25.AutoSize = true; + this.label25.Location = new System.Drawing.Point(87, 64); + this.label25.Name = "label25"; + this.label25.Size = new System.Drawing.Size(100, 13); + this.label25.TabIndex = 26; + this.label25.Text = "External Player use:"; + // + // videoPlayerUse + // + this.videoPlayerUse.AutoSize = true; + this.videoPlayerUse.Location = new System.Drawing.Point(193, 63); + this.videoPlayerUse.Name = "videoPlayerUse"; + this.videoPlayerUse.Size = new System.Drawing.Size(15, 14); + this.videoPlayerUse.TabIndex = 25; + this.videoPlayerUse.UseVisualStyleBackColor = true; + // + // videoArgument + // + this.videoArgument.Location = new System.Drawing.Point(193, 37); + this.videoArgument.Name = "videoArgument"; + this.videoArgument.Size = new System.Drawing.Size(202, 20); + this.videoArgument.TabIndex = 24; + // + // label24 + // + this.label24.AutoSize = true; + this.label24.Location = new System.Drawing.Point(87, 40); + this.label24.Name = "label24"; + this.label24.Size = new System.Drawing.Size(60, 13); + this.label24.TabIndex = 23; + this.label24.Text = "Arguments:"; + // + // label23 + // + this.label23.AutoSize = true; + this.label23.Location = new System.Drawing.Point(87, 14); + this.label23.Name = "label23"; + this.label23.Size = new System.Drawing.Size(56, 13); + this.label23.TabIndex = 22; + this.label23.Text = "Extension:"; + // + // videoExtension + // + this.videoExtension.Location = new System.Drawing.Point(193, 11); + this.videoExtension.Name = "videoExtension"; + this.videoExtension.Size = new System.Drawing.Size(202, 20); + this.videoExtension.TabIndex = 21; + this.videoExtension.Leave += new System.EventHandler(this.videoExtension_Leave); + // + // videoDelete + // + this.videoDelete.Location = new System.Drawing.Point(171, 317); + this.videoDelete.Name = "videoDelete"; + this.videoDelete.Size = new System.Drawing.Size(75, 23); + this.videoDelete.TabIndex = 20; + this.videoDelete.Text = "&Delete"; + this.videoDelete.UseVisualStyleBackColor = true; + this.videoDelete.Click += new System.EventHandler(this.videoDelete_Click); + // + // videoAdd + // + this.videoAdd.Location = new System.Drawing.Point(90, 317); + this.videoAdd.Name = "videoAdd"; + this.videoAdd.Size = new System.Drawing.Size(75, 23); + this.videoAdd.TabIndex = 19; + this.videoAdd.Text = "&Add"; + this.videoAdd.UseVisualStyleBackColor = true; + this.videoAdd.Click += new System.EventHandler(this.videoAdd_Click); + // + // videoExtList + // + this.videoExtList.FormattingEnabled = true; + this.videoExtList.Location = new System.Drawing.Point(3, 11); + this.videoExtList.Name = "videoExtList"; + this.videoExtList.Size = new System.Drawing.Size(78, 329); + this.videoExtList.TabIndex = 18; + this.videoExtList.SelectedIndexChanged += new System.EventHandler(this.videoExtList_SelectedIndexChanged); + // + // audio_Tab + // + this.audio_Tab.Controls.Add(this.label26); + this.audio_Tab.Controls.Add(this.audioPlayerUse); + this.audio_Tab.Controls.Add(this.audioArgument); + this.audio_Tab.Controls.Add(this.label27); + this.audio_Tab.Controls.Add(this.label28); + this.audio_Tab.Controls.Add(this.audioExtension); + this.audio_Tab.Controls.Add(this.audioDelete); + this.audio_Tab.Controls.Add(this.audioAdd); + this.audio_Tab.Controls.Add(this.audioExtList); + this.audio_Tab.Location = new System.Drawing.Point(4, 22); + this.audio_Tab.Name = "audio_Tab"; + this.audio_Tab.Size = new System.Drawing.Size(403, 352); + this.audio_Tab.TabIndex = 2; + this.audio_Tab.Text = "Audio"; + this.audio_Tab.UseVisualStyleBackColor = true; + // + // label26 + // + this.label26.AutoSize = true; + this.label26.Location = new System.Drawing.Point(87, 64); + this.label26.Name = "label26"; + this.label26.Size = new System.Drawing.Size(100, 13); + this.label26.TabIndex = 35; + this.label26.Text = "External Player use:"; + // + // audioPlayerUse + // + this.audioPlayerUse.AutoSize = true; + this.audioPlayerUse.Location = new System.Drawing.Point(193, 63); + this.audioPlayerUse.Name = "audioPlayerUse"; + this.audioPlayerUse.Size = new System.Drawing.Size(15, 14); + this.audioPlayerUse.TabIndex = 34; + this.audioPlayerUse.UseVisualStyleBackColor = true; + // + // audioArgument + // + this.audioArgument.Location = new System.Drawing.Point(193, 37); + this.audioArgument.Name = "audioArgument"; + this.audioArgument.Size = new System.Drawing.Size(202, 20); + this.audioArgument.TabIndex = 33; + // + // label27 + // + this.label27.AutoSize = true; + this.label27.Location = new System.Drawing.Point(87, 40); + this.label27.Name = "label27"; + this.label27.Size = new System.Drawing.Size(60, 13); + this.label27.TabIndex = 32; + this.label27.Text = "Arguments:"; + // + // label28 + // + this.label28.AutoSize = true; + this.label28.Location = new System.Drawing.Point(87, 14); + this.label28.Name = "label28"; + this.label28.Size = new System.Drawing.Size(56, 13); + this.label28.TabIndex = 31; + this.label28.Text = "Extension:"; + // + // audioExtension + // + this.audioExtension.Location = new System.Drawing.Point(193, 11); + this.audioExtension.Name = "audioExtension"; + this.audioExtension.Size = new System.Drawing.Size(202, 20); + this.audioExtension.TabIndex = 30; + this.audioExtension.Leave += new System.EventHandler(this.audioExtension_Leave); + // + // audioDelete + // + this.audioDelete.Location = new System.Drawing.Point(171, 317); + this.audioDelete.Name = "audioDelete"; + this.audioDelete.Size = new System.Drawing.Size(75, 23); + this.audioDelete.TabIndex = 29; + this.audioDelete.Text = "&Delete"; + this.audioDelete.UseVisualStyleBackColor = true; + this.audioDelete.Click += new System.EventHandler(this.audioDelete_Click); + // + // audioAdd + // + this.audioAdd.Location = new System.Drawing.Point(90, 317); + this.audioAdd.Name = "audioAdd"; + this.audioAdd.Size = new System.Drawing.Size(75, 23); + this.audioAdd.TabIndex = 28; + this.audioAdd.Text = "&Add"; + this.audioAdd.UseVisualStyleBackColor = true; + this.audioAdd.Click += new System.EventHandler(this.audioAdd_Click); + // + // audioExtList + // + this.audioExtList.FormattingEnabled = true; + this.audioExtList.Location = new System.Drawing.Point(3, 11); + this.audioExtList.Name = "audioExtList"; + this.audioExtList.Size = new System.Drawing.Size(78, 329); + this.audioExtList.TabIndex = 27; + this.audioExtList.SelectedIndexChanged += new System.EventHandler(this.audioExtList_SelectedIndexChanged); + // + // dvd_vcd_svcd_Tab + // + this.dvd_vcd_svcd_Tab.Controls.Add(this.audioCDArguments); + this.dvd_vcd_svcd_Tab.Controls.Add(this.label6); + this.dvd_vcd_svcd_Tab.Controls.Add(this.label11); + this.dvd_vcd_svcd_Tab.Controls.Add(this.svcdArguments); + this.dvd_vcd_svcd_Tab.Controls.Add(this.label10); + this.dvd_vcd_svcd_Tab.Controls.Add(this.vcdArguments); + this.dvd_vcd_svcd_Tab.Controls.Add(this.label9); + this.dvd_vcd_svcd_Tab.Controls.Add(this.dvdArguments); + this.dvd_vcd_svcd_Tab.Location = new System.Drawing.Point(4, 22); + this.dvd_vcd_svcd_Tab.Name = "dvd_vcd_svcd_Tab"; + this.dvd_vcd_svcd_Tab.Size = new System.Drawing.Size(403, 352); + this.dvd_vcd_svcd_Tab.TabIndex = 3; + this.dvd_vcd_svcd_Tab.Text = "DVD/VCD/SVCD"; + this.dvd_vcd_svcd_Tab.UseVisualStyleBackColor = true; + // + // audioCDArguments + // + this.audioCDArguments.Location = new System.Drawing.Point(122, 89); + this.audioCDArguments.Name = "audioCDArguments"; + this.audioCDArguments.Size = new System.Drawing.Size(256, 20); + this.audioCDArguments.TabIndex = 23; + // + // label6 + // + this.label6.Location = new System.Drawing.Point(3, 92); + this.label6.Name = "label6"; + this.label6.Size = new System.Drawing.Size(117, 23); + this.label6.TabIndex = 22; + this.label6.Text = "AudioCD Arguments:"; + // + // label11 + // + this.label11.Location = new System.Drawing.Point(3, 66); + this.label11.Name = "label11"; + this.label11.Size = new System.Drawing.Size(117, 23); + this.label11.TabIndex = 20; + this.label11.Text = "SVCD Arguments:"; + // + // svcdArguments + // + this.svcdArguments.Location = new System.Drawing.Point(122, 63); + this.svcdArguments.Name = "svcdArguments"; + this.svcdArguments.Size = new System.Drawing.Size(256, 20); + this.svcdArguments.TabIndex = 21; + // + // label10 + // + this.label10.Location = new System.Drawing.Point(3, 40); + this.label10.Name = "label10"; + this.label10.Size = new System.Drawing.Size(117, 23); + this.label10.TabIndex = 18; + this.label10.Text = "VCD Arguments:"; + // + // vcdArguments + // + this.vcdArguments.Location = new System.Drawing.Point(122, 37); + this.vcdArguments.Name = "vcdArguments"; + this.vcdArguments.Size = new System.Drawing.Size(256, 20); + this.vcdArguments.TabIndex = 19; + // + // label9 + // + this.label9.Location = new System.Drawing.Point(3, 14); + this.label9.Name = "label9"; + this.label9.Size = new System.Drawing.Size(117, 23); + this.label9.TabIndex = 16; + this.label9.Text = "DVD Arguments:"; + // + // dvdArguments + // + this.dvdArguments.Location = new System.Drawing.Point(122, 11); + this.dvdArguments.Name = "dvdArguments"; + this.dvdArguments.Size = new System.Drawing.Size(256, 20); + this.dvdArguments.TabIndex = 17; + // + // streaming_cue_Tab + // + this.streaming_cue_Tab.Controls.Add(this.label20); + this.streaming_cue_Tab.Controls.Add(this.unsvArguments); + this.streaming_cue_Tab.Controls.Add(this.label19); + this.streaming_cue_Tab.Controls.Add(this.udpArguments); + this.streaming_cue_Tab.Controls.Add(this.label18); + this.streaming_cue_Tab.Controls.Add(this.sdpArguments); + this.streaming_cue_Tab.Controls.Add(this.label17); + this.streaming_cue_Tab.Controls.Add(this.rtspArguments); + this.streaming_cue_Tab.Controls.Add(this.label16); + this.streaming_cue_Tab.Controls.Add(this.mpstArguments); + this.streaming_cue_Tab.Controls.Add(this.label15); + this.streaming_cue_Tab.Controls.Add(this.mmsArguments); + this.streaming_cue_Tab.Controls.Add(this.label14); + this.streaming_cue_Tab.Controls.Add(this.httpArguments); + this.streaming_cue_Tab.Controls.Add(this.label13); + this.streaming_cue_Tab.Controls.Add(this.ftpArguments); + this.streaming_cue_Tab.Controls.Add(this.label12); + this.streaming_cue_Tab.Controls.Add(this.cueArguments); + this.streaming_cue_Tab.Location = new System.Drawing.Point(4, 22); + this.streaming_cue_Tab.Name = "streaming_cue_Tab"; + this.streaming_cue_Tab.Size = new System.Drawing.Size(403, 352); + this.streaming_cue_Tab.TabIndex = 5; + this.streaming_cue_Tab.Text = "Other"; + this.streaming_cue_Tab.UseVisualStyleBackColor = true; + // + // label20 + // + this.label20.Location = new System.Drawing.Point(3, 222); + this.label20.Name = "label20"; + this.label20.Size = new System.Drawing.Size(117, 23); + this.label20.TabIndex = 32; + this.label20.Text = "UNSV Arguments:"; + // + // unsvArguments + // + this.unsvArguments.Location = new System.Drawing.Point(122, 219); + this.unsvArguments.Name = "unsvArguments"; + this.unsvArguments.Size = new System.Drawing.Size(256, 20); + this.unsvArguments.TabIndex = 33; + // + // label19 + // + this.label19.Location = new System.Drawing.Point(3, 196); + this.label19.Name = "label19"; + this.label19.Size = new System.Drawing.Size(117, 23); + this.label19.TabIndex = 30; + this.label19.Text = "UDP Arguments:"; + // + // udpArguments + // + this.udpArguments.Location = new System.Drawing.Point(122, 193); + this.udpArguments.Name = "udpArguments"; + this.udpArguments.Size = new System.Drawing.Size(256, 20); + this.udpArguments.TabIndex = 31; + // + // label18 + // + this.label18.Location = new System.Drawing.Point(3, 170); + this.label18.Name = "label18"; + this.label18.Size = new System.Drawing.Size(117, 23); + this.label18.TabIndex = 28; + this.label18.Text = "SDP Arguments:"; + // + // sdpArguments + // + this.sdpArguments.Location = new System.Drawing.Point(122, 167); + this.sdpArguments.Name = "sdpArguments"; + this.sdpArguments.Size = new System.Drawing.Size(256, 20); + this.sdpArguments.TabIndex = 29; + // + // label17 + // + this.label17.Location = new System.Drawing.Point(3, 144); + this.label17.Name = "label17"; + this.label17.Size = new System.Drawing.Size(117, 23); + this.label17.TabIndex = 26; + this.label17.Text = "RT(S)P Arguments:"; + // + // rtspArguments + // + this.rtspArguments.Location = new System.Drawing.Point(122, 141); + this.rtspArguments.Name = "rtspArguments"; + this.rtspArguments.Size = new System.Drawing.Size(256, 20); + this.rtspArguments.TabIndex = 27; + // + // label16 + // + this.label16.Location = new System.Drawing.Point(3, 118); + this.label16.Name = "label16"; + this.label16.Size = new System.Drawing.Size(117, 23); + this.label16.TabIndex = 24; + this.label16.Text = "MPST Arguments:"; + // + // mpstArguments + // + this.mpstArguments.Location = new System.Drawing.Point(122, 115); + this.mpstArguments.Name = "mpstArguments"; + this.mpstArguments.Size = new System.Drawing.Size(256, 20); + this.mpstArguments.TabIndex = 25; + // + // label15 + // + this.label15.Location = new System.Drawing.Point(3, 92); + this.label15.Name = "label15"; + this.label15.Size = new System.Drawing.Size(117, 23); + this.label15.TabIndex = 22; + this.label15.Text = "MMS(T) Arguments:"; + // + // mmsArguments + // + this.mmsArguments.Location = new System.Drawing.Point(122, 89); + this.mmsArguments.Name = "mmsArguments"; + this.mmsArguments.Size = new System.Drawing.Size(256, 20); + this.mmsArguments.TabIndex = 23; + // + // label14 + // + this.label14.Location = new System.Drawing.Point(3, 66); + this.label14.Name = "l... [truncated message content] |