|
From: <fr...@us...> - 2007-01-31 21:34:52
|
Revision: 67
http://mp-plugins.svn.sourceforge.net/mp-plugins/?rev=67&view=rev
Author: framug
Date: 2007-01-31 13:34:49 -0800 (Wed, 31 Jan 2007)
Log Message:
-----------
Add MultiShortcut plugin (tested, it works), enjoy ;)
Added Paths:
-----------
trunk/plugins/MultiShortcut/
trunk/plugins/MultiShortcut/DLLFix/
trunk/plugins/MultiShortcut/DLLFix/DLLFix.csproj
trunk/plugins/MultiShortcut/DLLFix/Program.cs
trunk/plugins/MultiShortcut/DLLFix/Properties/
trunk/plugins/MultiShortcut/DLLFix/Properties/AssemblyInfo.cs
trunk/plugins/MultiShortcut/DLLFix/bin/
trunk/plugins/MultiShortcut/DLLFix/bin/Release/
trunk/plugins/MultiShortcut/DLLFix/bin/Release/AxInterop.WMPLib.dll
trunk/plugins/MultiShortcut/DLLFix/bin/Release/Bass.Net.dll
trunk/plugins/MultiShortcut/DLLFix/bin/Release/BassRegistration.dll
trunk/plugins/MultiShortcut/DLLFix/bin/Release/Core.dll
trunk/plugins/MultiShortcut/DLLFix/bin/Release/DLLFix.exe
trunk/plugins/MultiShortcut/DLLFix/bin/Release/DLLFix.pdb
trunk/plugins/MultiShortcut/DLLFix/bin/Release/Databases.dll
trunk/plugins/MultiShortcut/DLLFix/bin/Release/Dialogs.dll
trunk/plugins/MultiShortcut/DLLFix/bin/Release/DirectShowLib.dll
trunk/plugins/MultiShortcut/DLLFix/bin/Release/ICSharpCode.SharpZipLib.dll
trunk/plugins/MultiShortcut/DLLFix/bin/Release/Interop.SHDocVw.dll
trunk/plugins/MultiShortcut/DLLFix/bin/Release/Interop.WMPLib.dll
trunk/plugins/MultiShortcut/DLLFix/bin/Release/MediaPortal.Support.dll
trunk/plugins/MultiShortcut/DLLFix/bin/Release/MediaPortal.Support.pdb
trunk/plugins/MultiShortcut/DLLFix/bin/Release/MultiShortcut00.dll
trunk/plugins/MultiShortcut/DLLFix/bin/Release/MultiShortcut00.pdb
trunk/plugins/MultiShortcut/DLLFix/bin/Release/Utils.dll
trunk/plugins/MultiShortcut/DLLFix/bin/Release/edtftpnet-1.2.2.dll
trunk/plugins/MultiShortcut/MultiButton.sln
trunk/plugins/MultiShortcut/MultiButton.suo
trunk/plugins/MultiShortcut/MultiShortcut/
trunk/plugins/MultiShortcut/MultiShortcut/Config.Designer.cs
trunk/plugins/MultiShortcut/MultiShortcut/Config.cs
trunk/plugins/MultiShortcut/MultiShortcut/Config.resx
trunk/plugins/MultiShortcut/MultiShortcut/MultiShortcut.cs
trunk/plugins/MultiShortcut/MultiShortcut/MultiShortcut.csproj
trunk/plugins/MultiShortcut/MultiShortcut/Properties/
trunk/plugins/MultiShortcut/MultiShortcut/Properties/AssemblyInfo.cs
trunk/plugins/MultiShortcut/MultiShortcut/bin/
trunk/plugins/MultiShortcut/MultiShortcut/bin/Release/
trunk/plugins/MultiShortcut/MultiShortcut/bin/Release/AxInterop.WMPLib.dll
trunk/plugins/MultiShortcut/MultiShortcut/bin/Release/Bass.Net.dll
trunk/plugins/MultiShortcut/MultiShortcut/bin/Release/BassRegistration.dll
trunk/plugins/MultiShortcut/MultiShortcut/bin/Release/Core.dll
trunk/plugins/MultiShortcut/MultiShortcut/bin/Release/Databases.dll
trunk/plugins/MultiShortcut/MultiShortcut/bin/Release/Dialogs.dll
trunk/plugins/MultiShortcut/MultiShortcut/bin/Release/DirectShowLib.dll
trunk/plugins/MultiShortcut/MultiShortcut/bin/Release/ICSharpCode.SharpZipLib.dll
trunk/plugins/MultiShortcut/MultiShortcut/bin/Release/Interop.SHDocVw.dll
trunk/plugins/MultiShortcut/MultiShortcut/bin/Release/Interop.WMPLib.dll
trunk/plugins/MultiShortcut/MultiShortcut/bin/Release/MediaPortal.Support.dll
trunk/plugins/MultiShortcut/MultiShortcut/bin/Release/MediaPortal.Support.pdb
trunk/plugins/MultiShortcut/MultiShortcut/bin/Release/MultiShortcut00.dll
trunk/plugins/MultiShortcut/MultiShortcut/bin/Release/MultiShortcut00.pdb
trunk/plugins/MultiShortcut/MultiShortcut/bin/Release/Utils.dll
trunk/plugins/MultiShortcut/MultiShortcut/bin/Release/edtftpnet-1.2.2.dll
trunk/plugins/MultiShortcut/TestServer/
trunk/plugins/MultiShortcut/TestServer/Program.cs
trunk/plugins/MultiShortcut/TestServer/Properties/
trunk/plugins/MultiShortcut/TestServer/Properties/AssemblyInfo.cs
trunk/plugins/MultiShortcut/TestServer/TestServer.csproj
trunk/plugins/MultiShortcut/TestServer/bin/
trunk/plugins/MultiShortcut/TestServer/bin/Release/
trunk/plugins/MultiShortcut/TestServer/bin/Release/AxInterop.WMPLib.dll
trunk/plugins/MultiShortcut/TestServer/bin/Release/Bass.Net.dll
trunk/plugins/MultiShortcut/TestServer/bin/Release/BassRegistration.dll
trunk/plugins/MultiShortcut/TestServer/bin/Release/Core.dll
trunk/plugins/MultiShortcut/TestServer/bin/Release/Databases.dll
trunk/plugins/MultiShortcut/TestServer/bin/Release/Dialogs.dll
trunk/plugins/MultiShortcut/TestServer/bin/Release/DirectShowLib.dll
trunk/plugins/MultiShortcut/TestServer/bin/Release/ICSharpCode.SharpZipLib.dll
trunk/plugins/MultiShortcut/TestServer/bin/Release/Interop.SHDocVw.dll
trunk/plugins/MultiShortcut/TestServer/bin/Release/Interop.WMPLib.dll
trunk/plugins/MultiShortcut/TestServer/bin/Release/MediaPortal.Support.dll
trunk/plugins/MultiShortcut/TestServer/bin/Release/MediaPortal.Support.pdb
trunk/plugins/MultiShortcut/TestServer/bin/Release/MultiShortcut00.dll
trunk/plugins/MultiShortcut/TestServer/bin/Release/MultiShortcut00.pdb
trunk/plugins/MultiShortcut/TestServer/bin/Release/TestServer.exe
trunk/plugins/MultiShortcut/TestServer/bin/Release/TestServer.pdb
trunk/plugins/MultiShortcut/TestServer/bin/Release/Utils.dll
trunk/plugins/MultiShortcut/TestServer/bin/Release/edtftpnet-1.2.2.dll
Added: trunk/plugins/MultiShortcut/DLLFix/DLLFix.csproj
===================================================================
--- trunk/plugins/MultiShortcut/DLLFix/DLLFix.csproj (rev 0)
+++ trunk/plugins/MultiShortcut/DLLFix/DLLFix.csproj 2007-01-31 21:34:49 UTC (rev 67)
@@ -0,0 +1,57 @@
+<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>{8EDA7E5D-E56B-486E-BFB3-DB3A47733E39}</ProjectGuid>
+ <OutputType>Exe</OutputType>
+ <AppDesignerFolder>Properties</AppDesignerFolder>
+ <RootNamespace>DLLFix</RootNamespace>
+ <AssemblyName>DLLFix</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.2587.38185, Culture=neutral, processorArchitecture=MSIL">
+ <SpecificVersion>False</SpecificVersion>
+ <HintPath>..\..\..\MediaPortal\Core\bin\Release\Core.dll</HintPath>
+ </Reference>
+ <Reference Include="System" />
+ <Reference Include="System.Data" />
+ <Reference Include="System.Xml" />
+ </ItemGroup>
+ <ItemGroup>
+ <Compile Include="Program.cs" />
+ <Compile Include="Properties\AssemblyInfo.cs" />
+ </ItemGroup>
+ <ItemGroup>
+ <ProjectReference Include="..\MultiShortcut\MultiShortcut.csproj">
+ <Project>{7CBDA33F-E11F-400B-8B3F-ABB0B54462AC}</Project>
+ <Name>MultiShortcut</Name>
+ </ProjectReference>
+ </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>
+ -->
+</Project>
\ No newline at end of file
Added: trunk/plugins/MultiShortcut/DLLFix/Program.cs
===================================================================
--- trunk/plugins/MultiShortcut/DLLFix/Program.cs (rev 0)
+++ trunk/plugins/MultiShortcut/DLLFix/Program.cs 2007-01-31 21:34:49 UTC (rev 67)
@@ -0,0 +1,96 @@
+using System;
+using System.Collections.Generic;
+using System.Text;
+using System.IO;
+using System.Reflection;
+
+using MediaPortal.MultiShortcut;
+
+namespace DLLFix
+{
+ class Program
+ {
+ const int fixStart = 11290;
+
+ static void Main(string[] args)
+ {
+
+ byte[] search_bytes = new byte[]
+ {
+ 0x52, 0x75, 0x6E, 0x74, 0x69, 0x6D, 0x65, 0x43,
+ 0x6F, 0x6D, 0x70, 0x61, 0x74, 0x69, 0x62, 0x69,
+ 0x6C, 0x69, 0x74, 0x79, 0x41, 0x74, 0x74, 0x72,
+ 0x69, 0x62, 0x75, 0x74, 0x65, 0x00, 0x4D, 0x75,
+ 0x6C, 0x74, 0x69, 0x53, 0x68, 0x6F, 0x72, 0x74,
+ 0x63, 0x75, 0x74
+ };
+
+ byte fileCounter = 0;
+
+ string myPath = System.Reflection.Assembly.GetExecutingAssembly().Location;
+ myPath = myPath.Substring(0, myPath.LastIndexOf('\\'));
+
+ string[] files = Directory.GetFiles(myPath, "*.dll");
+
+ Console.WriteLine("*******************************************************");
+ Console.WriteLine("** **");
+ Console.WriteLine("** MultiShortcut DLL fix (.net metadata changer) **");
+ Console.WriteLine("** **");
+ Console.WriteLine("*******************************************************");
+ Console.WriteLine("");
+ Console.WriteLine("1.) Patching files...\n");
+ foreach (string s in files)
+ {
+ using (Stream st = new FileStream(s, FileMode.Open, FileAccess.ReadWrite))
+ {
+ int offset = 0;
+ long file_pos = 0;
+ int bytes_read = 0;
+ byte[] buffer = new byte[65536];
+
+ bool match = false;
+
+ while ((bytes_read = st.Read(buffer, offset, buffer.Length - offset)) > 0 && !match)
+ {
+ for (int i = 0; i < bytes_read + offset - search_bytes.Length; i++)
+ {
+ match = true;
+
+ for (int j = 0; j < search_bytes.Length; j++)
+ {
+ if (search_bytes[j] != buffer[i + j])
+ {
+ match = false;
+ break;
+ }
+ }
+
+ if (match)
+ {
+ st.Seek(file_pos + i - offset + search_bytes.Length, SeekOrigin.Begin);
+ byte[] replaceBuffer = new byte[] { (Byte)(48 + (fileCounter > 9 ? ((int)fileCounter / 10) : 0)), (Byte)(48 + ((int)fileCounter % 10)) };
+ st.Write(replaceBuffer, 0, replaceBuffer.Length);
+ Console.WriteLine(" - PATCHED: {0}",s.Substring(s.LastIndexOf('\\')+1));
+ break;
+ }
+ }
+
+ file_pos = st.Position;
+
+ offset = search_bytes.Length;
+ for (int i = 0; i < offset; i++)
+ {
+ buffer[i] = buffer[buffer.Length - offset + i];
+ }
+ }
+
+ }
+ fileCounter++;
+ }
+
+ Console.WriteLine("\n2.) Done.");
+ Console.WriteLine("\n3.) Press Enter to close...");
+ Console.ReadKey();
+ }
+ }
+}
Added: trunk/plugins/MultiShortcut/DLLFix/Properties/AssemblyInfo.cs
===================================================================
--- trunk/plugins/MultiShortcut/DLLFix/Properties/AssemblyInfo.cs (rev 0)
+++ trunk/plugins/MultiShortcut/DLLFix/Properties/AssemblyInfo.cs 2007-01-31 21:34:49 UTC (rev 67)
@@ -0,0 +1,33 @@
+using System.Reflection;
+using System.Runtime.CompilerServices;
+using System.Runtime.InteropServices;
+
+// General Information about an assembly is controlled through the following
+// set of attributes. Change these attribute values to modify the information
+// associated with an assembly.
+[assembly: AssemblyTitle("DLLFix")]
+[assembly: AssemblyDescription("")]
+[assembly: AssemblyConfiguration("")]
+[assembly: AssemblyCompany("lr-software")]
+[assembly: AssemblyProduct("DLLFix")]
+[assembly: AssemblyCopyright("Copyright © lr-software 2006")]
+[assembly: AssemblyTrademark("")]
+[assembly: AssemblyCulture("")]
+
+// Setting ComVisible to false makes the types in this assembly not visible
+// to COM components. If you need to access a type in this assembly from
+// COM, set the ComVisible attribute to true on that type.
+[assembly: ComVisible(false)]
+
+// The following GUID is for the ID of the typelib if this project is exposed to COM
+[assembly: Guid("351bc816-4ecd-4da5-b4fb-a8af512fec21")]
+
+// Version information for an assembly consists of the following four values:
+//
+// Major Version
+// Minor Version
+// Build Number
+// Revision
+//
+[assembly: AssemblyVersion("1.0.0.0")]
+[assembly: AssemblyFileVersion("1.0.0.0")]
Added: trunk/plugins/MultiShortcut/DLLFix/bin/Release/AxInterop.WMPLib.dll
===================================================================
(Binary files differ)
Property changes on: trunk/plugins/MultiShortcut/DLLFix/bin/Release/AxInterop.WMPLib.dll
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
Added: trunk/plugins/MultiShortcut/DLLFix/bin/Release/Bass.Net.dll
===================================================================
(Binary files differ)
Property changes on: trunk/plugins/MultiShortcut/DLLFix/bin/Release/Bass.Net.dll
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
Added: trunk/plugins/MultiShortcut/DLLFix/bin/Release/BassRegistration.dll
===================================================================
(Binary files differ)
Property changes on: trunk/plugins/MultiShortcut/DLLFix/bin/Release/BassRegistration.dll
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
Added: trunk/plugins/MultiShortcut/DLLFix/bin/Release/Core.dll
===================================================================
(Binary files differ)
Property changes on: trunk/plugins/MultiShortcut/DLLFix/bin/Release/Core.dll
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
Added: trunk/plugins/MultiShortcut/DLLFix/bin/Release/DLLFix.exe
===================================================================
(Binary files differ)
Property changes on: trunk/plugins/MultiShortcut/DLLFix/bin/Release/DLLFix.exe
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
Added: trunk/plugins/MultiShortcut/DLLFix/bin/Release/DLLFix.pdb
===================================================================
(Binary files differ)
Property changes on: trunk/plugins/MultiShortcut/DLLFix/bin/Release/DLLFix.pdb
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
Added: trunk/plugins/MultiShortcut/DLLFix/bin/Release/Databases.dll
===================================================================
(Binary files differ)
Property changes on: trunk/plugins/MultiShortcut/DLLFix/bin/Release/Databases.dll
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
Added: trunk/plugins/MultiShortcut/DLLFix/bin/Release/Dialogs.dll
===================================================================
(Binary files differ)
Property changes on: trunk/plugins/MultiShortcut/DLLFix/bin/Release/Dialogs.dll
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
Added: trunk/plugins/MultiShortcut/DLLFix/bin/Release/DirectShowLib.dll
===================================================================
(Binary files differ)
Property changes on: trunk/plugins/MultiShortcut/DLLFix/bin/Release/DirectShowLib.dll
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
Added: trunk/plugins/MultiShortcut/DLLFix/bin/Release/ICSharpCode.SharpZipLib.dll
===================================================================
(Binary files differ)
Property changes on: trunk/plugins/MultiShortcut/DLLFix/bin/Release/ICSharpCode.SharpZipLib.dll
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
Added: trunk/plugins/MultiShortcut/DLLFix/bin/Release/Interop.SHDocVw.dll
===================================================================
(Binary files differ)
Property changes on: trunk/plugins/MultiShortcut/DLLFix/bin/Release/Interop.SHDocVw.dll
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
Added: trunk/plugins/MultiShortcut/DLLFix/bin/Release/Interop.WMPLib.dll
===================================================================
(Binary files differ)
Property changes on: trunk/plugins/MultiShortcut/DLLFix/bin/Release/Interop.WMPLib.dll
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
Added: trunk/plugins/MultiShortcut/DLLFix/bin/Release/MediaPortal.Support.dll
===================================================================
(Binary files differ)
Property changes on: trunk/plugins/MultiShortcut/DLLFix/bin/Release/MediaPortal.Support.dll
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
Added: trunk/plugins/MultiShortcut/DLLFix/bin/Release/MediaPortal.Support.pdb
===================================================================
(Binary files differ)
Property changes on: trunk/plugins/MultiShortcut/DLLFix/bin/Release/MediaPortal.Support.pdb
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
Added: trunk/plugins/MultiShortcut/DLLFix/bin/Release/MultiShortcut00.dll
===================================================================
(Binary files differ)
Property changes on: trunk/plugins/MultiShortcut/DLLFix/bin/Release/MultiShortcut00.dll
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
Added: trunk/plugins/MultiShortcut/DLLFix/bin/Release/MultiShortcut00.pdb
===================================================================
(Binary files differ)
Property changes on: trunk/plugins/MultiShortcut/DLLFix/bin/Release/MultiShortcut00.pdb
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
Added: trunk/plugins/MultiShortcut/DLLFix/bin/Release/Utils.dll
===================================================================
(Binary files differ)
Property changes on: trunk/plugins/MultiShortcut/DLLFix/bin/Release/Utils.dll
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
Added: trunk/plugins/MultiShortcut/DLLFix/bin/Release/edtftpnet-1.2.2.dll
===================================================================
(Binary files differ)
Property changes on: trunk/plugins/MultiShortcut/DLLFix/bin/Release/edtftpnet-1.2.2.dll
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
Added: trunk/plugins/MultiShortcut/MultiButton.sln
===================================================================
--- trunk/plugins/MultiShortcut/MultiButton.sln (rev 0)
+++ trunk/plugins/MultiShortcut/MultiButton.sln 2007-01-31 21:34:49 UTC (rev 67)
@@ -0,0 +1,32 @@
+
+Microsoft Visual Studio Solution File, Format Version 9.00
+# Visual Studio 2005
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "TestServer", "TestServer\TestServer.csproj", "{D2159E0B-44FA-41D8-B701-081D2C931CC0}"
+EndProject
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "MultiShortcut", "MultiShortcut\MultiShortcut.csproj", "{7CBDA33F-E11F-400B-8B3F-ABB0B54462AC}"
+EndProject
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "DLLFix", "DLLFix\DLLFix.csproj", "{8EDA7E5D-E56B-486E-BFB3-DB3A47733E39}"
+EndProject
+Global
+ GlobalSection(SolutionConfigurationPlatforms) = preSolution
+ Debug|Any CPU = Debug|Any CPU
+ Release|Any CPU = Release|Any CPU
+ EndGlobalSection
+ GlobalSection(ProjectConfigurationPlatforms) = postSolution
+ {D2159E0B-44FA-41D8-B701-081D2C931CC0}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {D2159E0B-44FA-41D8-B701-081D2C931CC0}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {D2159E0B-44FA-41D8-B701-081D2C931CC0}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {D2159E0B-44FA-41D8-B701-081D2C931CC0}.Release|Any CPU.Build.0 = Release|Any CPU
+ {7CBDA33F-E11F-400B-8B3F-ABB0B54462AC}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {7CBDA33F-E11F-400B-8B3F-ABB0B54462AC}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {7CBDA33F-E11F-400B-8B3F-ABB0B54462AC}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {7CBDA33F-E11F-400B-8B3F-ABB0B54462AC}.Release|Any CPU.Build.0 = Release|Any CPU
+ {8EDA7E5D-E56B-486E-BFB3-DB3A47733E39}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {8EDA7E5D-E56B-486E-BFB3-DB3A47733E39}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {8EDA7E5D-E56B-486E-BFB3-DB3A47733E39}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {8EDA7E5D-E56B-486E-BFB3-DB3A47733E39}.Release|Any CPU.Build.0 = Release|Any CPU
+ EndGlobalSection
+ GlobalSection(SolutionProperties) = preSolution
+ HideSolutionNode = FALSE
+ EndGlobalSection
+EndGlobal
Added: trunk/plugins/MultiShortcut/MultiButton.suo
===================================================================
(Binary files differ)
Property changes on: trunk/plugins/MultiShortcut/MultiButton.suo
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
Added: trunk/plugins/MultiShortcut/MultiShortcut/Config.Designer.cs
===================================================================
--- trunk/plugins/MultiShortcut/MultiShortcut/Config.Designer.cs (rev 0)
+++ trunk/plugins/MultiShortcut/MultiShortcut/Config.Designer.cs 2007-01-31 21:34:49 UTC (rev 67)
@@ -0,0 +1,90 @@
+namespace MediaPortal.MultiShortcut
+{
+ partial class Config
+ {
+ /// <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.propertyGrid1 = new System.Windows.Forms.PropertyGrid();
+ this.button1 = new System.Windows.Forms.Button();
+ this.button2 = new System.Windows.Forms.Button();
+ this.SuspendLayout();
+ //
+ // propertyGrid1
+ //
+ this.propertyGrid1.HelpVisible = false;
+ this.propertyGrid1.Location = new System.Drawing.Point(12, 12);
+ this.propertyGrid1.Name = "propertyGrid1";
+ this.propertyGrid1.Size = new System.Drawing.Size(270, 383);
+ this.propertyGrid1.TabIndex = 0;
+ this.propertyGrid1.ToolbarVisible = false;
+ //
+ // button1
+ //
+ this.button1.DialogResult = System.Windows.Forms.DialogResult.OK;
+ this.button1.Location = new System.Drawing.Point(126, 401);
+ this.button1.Name = "button1";
+ this.button1.Size = new System.Drawing.Size(75, 23);
+ this.button1.TabIndex = 1;
+ this.button1.Text = "&Save";
+ this.button1.UseVisualStyleBackColor = true;
+ //
+ // button2
+ //
+ this.button2.DialogResult = System.Windows.Forms.DialogResult.Cancel;
+ this.button2.Location = new System.Drawing.Point(207, 401);
+ this.button2.Name = "button2";
+ this.button2.Size = new System.Drawing.Size(75, 23);
+ this.button2.TabIndex = 2;
+ this.button2.Text = "Cancel";
+ this.button2.UseVisualStyleBackColor = true;
+ //
+ // Config
+ //
+ this.AcceptButton = this.button1;
+ this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F);
+ this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
+ this.AutoSize = true;
+ this.CancelButton = this.button2;
+ this.ClientSize = new System.Drawing.Size(295, 434);
+ this.ControlBox = false;
+ this.Controls.Add(this.button2);
+ this.Controls.Add(this.button1);
+ this.Controls.Add(this.propertyGrid1);
+ this.FormBorderStyle = System.Windows.Forms.FormBorderStyle.FixedDialog;
+ this.Name = "Config";
+ this.Text = "MultiShortcut Configuration";
+ this.ResumeLayout(false);
+
+ }
+
+ #endregion
+
+ private System.Windows.Forms.PropertyGrid propertyGrid1;
+ private System.Windows.Forms.Button button1;
+ private System.Windows.Forms.Button button2;
+ }
+}
\ No newline at end of file
Added: trunk/plugins/MultiShortcut/MultiShortcut/Config.cs
===================================================================
--- trunk/plugins/MultiShortcut/MultiShortcut/Config.cs (rev 0)
+++ trunk/plugins/MultiShortcut/MultiShortcut/Config.cs 2007-01-31 21:34:49 UTC (rev 67)
@@ -0,0 +1,24 @@
+using System;
+using System.Collections.Generic;
+using System.ComponentModel;
+using System.Data;
+using System.Drawing;
+using System.Text;
+using System.Windows.Forms;
+
+namespace MediaPortal.MultiShortcut
+{
+ public partial class Config : Form
+ {
+ public Config()
+ {
+ InitializeComponent();
+ }
+
+ public void SetPropertyGrid(object o)
+ {
+ propertyGrid1.SelectedObject = o;
+ }
+
+ }
+}
\ No newline at end of file
Added: trunk/plugins/MultiShortcut/MultiShortcut/Config.resx
===================================================================
--- trunk/plugins/MultiShortcut/MultiShortcut/Config.resx (rev 0)
+++ trunk/plugins/MultiShortcut/MultiShortcut/Config.resx 2007-01-31 21:34:49 UTC (rev 67)
@@ -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/MultiShortcut/MultiShortcut/MultiShortcut.cs
===================================================================
--- trunk/plugins/MultiShortcut/MultiShortcut/MultiShortcut.cs (rev 0)
+++ trunk/plugins/MultiShortcut/MultiShortcut/MultiShortcut.cs 2007-01-31 21:34:49 UTC (rev 67)
@@ -0,0 +1,375 @@
+// THIS IS NOTHING MORE THAN A HACK!
+using System;
+using System.Collections.Generic;
+using System.Text;
+using System.Diagnostics;
+using System.Reflection;
+using System.IO;
+using System.Runtime.InteropServices;
+using System.Threading;
+
+using System.ComponentModel;
+
+using MediaPortal.GUI.Library;
+using MediaPortal.Dialogs;
+using MediaPortal.Util;
+
+namespace MediaPortal.MultiShortcut
+{
+ public class MultiShortcut: GUIWindow, ISetupForm, IShowPlugin
+ {
+ #region ISetupForm Members
+
+ protected internal int m_ID = -1;
+ protected internal string m_Name = String.Empty;
+
+ protected internal string m_ExeFile = String.Empty;
+ protected internal string m_ProgFile = String.Empty;
+ protected internal string m_Arguments = String.Empty;
+
+ protected internal string m_Picture = String.Empty;
+ protected internal string m_ButtonImg = String.Empty;
+ protected internal string m_ButtonImgF = String.Empty;
+ protected internal string m_Caption = String.Empty;
+ protected internal bool m_HandleMPWindow = false;
+
+ int m_MP_WindowHWND = 0;
+
+ public MultiShortcut()
+ {
+ m_Name = System.Reflection.Assembly.GetExecutingAssembly().Location;
+ string[] nameParts = m_Name.Split('\\');
+ m_Name = nameParts[nameParts.Length - 1];
+ nameParts = m_Name.Split('.');
+ if (nameParts.Length > 0)
+ {
+ m_Name = nameParts[0];
+ m_ID = FindID(ref m_Name);
+ }
+
+ using (MediaPortal.Profile.Settings xmlreader = new MediaPortal.Profile.Settings("MediaPortal.xml"))
+ {
+ m_ExeFile = xmlreader.GetValueAsString(m_Name, "exefile", string.Empty);
+ m_Arguments = xmlreader.GetValueAsString(m_Name, "arguments", string.Empty);
+ m_Picture = xmlreader.GetValueAsString(m_Name, "picture", string.Empty);
+ m_ButtonImg = xmlreader.GetValueAsString(m_Name, "buttonimage", string.Empty);
+ m_ButtonImgF = xmlreader.GetValueAsString(m_Name, "buttonimagefocus", string.Empty);
+ m_Caption = xmlreader.GetValueAsString(m_Name, "caption", string.Empty);
+ m_ID = xmlreader.GetValueAsInt(m_Name, "pluginid", -1);
+ m_HandleMPWindow = xmlreader.GetValueAsInt(m_Name, "handlempwindow", 1) == 0;
+
+ if (m_ExeFile.Length > 0)
+ {
+ string[] parts = m_ExeFile.Split('\\');
+ if (parts.Length > 0) m_ProgFile = parts[parts.Length - 1];
+ }
+ }
+
+ if (m_ID < 0)
+ {
+ List<int> lst = new List<int>(25);
+
+ foreach (object o in PluginManager.GUIPlugins)
+ lst.Add(((ISetupForm)o).GetWindowId());
+
+ foreach (object o in PluginManager.NonGUIPlugins)
+ lst.Add(((ISetupForm)o).GetWindowId());
+
+ foreach (object o in PluginManager.WakeablePlugins)
+ lst.Add(((ISetupForm)o).GetWindowId());
+
+ Random rd = new Random((int)DateTime.Now.Ticks);
+ int id = rd.Next(1000, 9000);
+ while (IsInList(lst, id)) id = rd.Next(1000,9000);
+
+ m_ID = id;
+ }
+
+ using (MediaPortal.Profile.Settings xmlwrite = new MediaPortal.Profile.Settings("MediaPortal.xml"))
+ {
+ xmlwrite.SetValue(m_Name, "pluginid", m_ID);
+ }
+ }
+
+ private bool IsInList(List<int> lst, int id)
+ {
+ foreach(int i in lst)
+ if (i == id) return true;
+
+ return false;
+ }
+
+ private int FindID(ref string name)
+ {
+ int i = name.LastIndexOf('_');
+ if (i < 0)
+ return -1;
+ else
+ {
+ try
+ {
+ int newID = Convert.ToInt32(name.Substring(i + 1));
+ name = name.Substring(0, i);
+ return newID;
+ }
+ catch (Exception e)
+ {
+//fmu Log.Write(e);
+ Log.Error(e);
+ return -1;
+ }
+ }
+ }
+
+ public string Author()
+ {
+ return "kuerb";
+ }
+
+ public bool CanEnable()
+ {
+ return true;
+ }
+
+ public bool DefaultEnabled()
+ {
+ return true;
+ }
+
+ public string Description()
+ {
+ return "Adds button to homepage (dynamic id!)";
+ }
+
+ public bool GetHome(out string strButtonText, out string strButtonImage, out string strButtonImageFocus, out string strPictureImage)
+ {
+ strButtonText = m_Caption.Length > 0 ? m_Caption : "-no name-";
+ strButtonImage = m_ButtonImg;
+ strButtonImageFocus = m_ButtonImgF;
+ strPictureImage = m_Picture;
+ return true;
+ }
+
+ public int GetWindowId()
+ {
+ return m_ID;
+ }
+
+ public bool HasSetup()
+ {
+ return true;
+ }
+
+ public string PluginName()
+ {
+ return String.Format(m_Name);
+ }
+
+ public void ShowPlugin()
+ {
+ Config cf = new Config();
+ cf.SetPropertyGrid(new ConfigWrapper(this));
+
+
+ if (cf.ShowDialog() == System.Windows.Forms.DialogResult.OK)
+ {
+ using (MediaPortal.Profile.Settings xmlwrite = new MediaPortal.Profile.Settings("MediaPortal.xml"))
+ {
+ xmlwrite.SetValue(m_Name, "exefile", m_ExeFile);
+ xmlwrite.SetValue(m_Name, "arguments", m_Arguments);
+ xmlwrite.SetValue(m_Name, "picture", m_Picture);
+ xmlwrite.SetValue(m_Name, "buttonimage", m_ButtonImg);
+ xmlwrite.SetValue(m_Name, "buttonimagefocus", m_ButtonImgF);
+ xmlwrite.SetValue(m_Name, "caption", m_Caption);
+ xmlwrite.SetValue(m_Name, "pluginid", m_ID);
+ xmlwrite.SetValue(m_Name, "handlempwindow", m_HandleMPWindow ? 0 : 1);
+ }
+ }
+ }
+
+ #endregion
+
+ #region GUIWindow
+
+ public override int GetID
+ {
+ get { return m_ID; }
+ set {}
+ }
+
+ public override bool Init()
+ {
+ return false;
+ }
+
+ protected override void OnPageLoad()
+ {
+
+ if (m_ExeFile == string.Empty || !File.Exists(m_ExeFile))
+ {
+ GUIDialogOK dlg = (GUIDialogOK)GUIWindowManager.GetWindow((int)GUIWindow.Window.WINDOW_DIALOG_OK);
+ dlg.SetHeading("Could not start program!");
+ dlg.SetLine(1, String.Format("ConfigSection: [{0}]",m_Name));
+ dlg.DoModal(GUIWindowManager.ActiveWindow);
+ }
+ else
+ RunProgram(m_ExeFile, m_Arguments);
+
+ GUIWindowManager.ShowPreviousWindow();
+ }
+
+ private void RunProgram(string exeName, string argsLine)
+ {
+ ProcessStartInfo psI = new ProcessStartInfo(exeName, argsLine);
+ Process newProcess = new Process();
+
+ try
+ {
+ newProcess.StartInfo.FileName = exeName;
+ newProcess.StartInfo.Arguments = argsLine;
+ newProcess.StartInfo.UseShellExecute = true;
+ newProcess.EnableRaisingEvents = true;
+ if (newProcess.Start())
+ {
+ if (m_HandleMPWindow)
+ {
+ m_MP_WindowHWND = Win32Wrapper.FindWindow(null, "MediaPortal - ");
+ if (m_MP_WindowHWND > 0)
+ {
+ Win32Wrapper.ShowWindow(m_MP_WindowHWND, Win32Wrapper.SW_HIDE);
+ /* next two lines not yet need.
+ Thread.Sleep(2000);
+ Win32Wrapper.SetWindowPos(newProcess.MainWindowHandle, Win32Wrapper.HWND_TOPMOST, 0, 0, 0, 0, Win32Wrapper.SWP_NOSIZE | Win32Wrapper.SWP_NOMOVE);
+ */
+ newProcess.Exited += new EventHandler(newProcess_Exited);
+ }
+ }
+ }
+
+ }
+ catch (Exception e)
+ {
+ throw e;
+ }
+ }
+
+ void newProcess_Exited(object sender, EventArgs e)
+ {
+ Win32Wrapper.ShowWindow(m_MP_WindowHWND, Win32Wrapper.SW_SHOWDEFAULT);
+ }
+
+ #endregion
+
+ #region IShowPlugin Members
+
+ public bool ShowDefaultHome()
+ {
+ return true;
+ }
+
+ #endregion
+ }
+
+ internal class ConfigWrapper
+ {
+ MultiShortcut m_MS = null;
+
+ public ConfigWrapper(MultiShortcut ms)
+ {
+ m_MS = ms;
+ }
+
+ [Category("Program")]
+ public string Exefile
+ {
+ get { return m_MS.m_ExeFile; }
+ set { m_MS.m_ExeFile = value; }
+ }
+
+ [Category("Program")]
+ public string Arguments
+ {
+ get { return m_MS.m_Arguments; }
+ set { m_MS.m_Arguments = value; }
+ }
+
+ [Category("Program")]
+ public bool HideMPWhileExecuting
+ {
+ get { return m_MS.m_HandleMPWindow; }
+ set { m_MS.m_HandleMPWindow = value; }
+ }
+
+ [Category("Homescreen")]
+ public string Picture
+ {
+ get { return m_MS.m_Picture; }
+ set { m_MS.m_Picture = value; }
+ }
+
+ [Category("Homescreen")]
+ public string ButtonImage
+ {
+ get { return m_MS.m_ButtonImg; }
+ set { m_MS.m_ButtonImg = value; }
+ }
+
+ [Category("Homescreen")]
+ public string ButtonImageFocus
+ {
+ get { return m_MS.m_ButtonImgF; }
+ set { m_MS.m_ButtonImgF = value; }
+ }
+
+ [Category("Homescreen")]
+ public string ButtonCaption
+ {
+ get { return m_MS.m_Caption; }
+ set { m_MS.m_Caption = value; }
+ }
+ }
+
+ internal class Win32Wrapper
+ {
+ public const int GWL_STYLE = -16;
+ public const int GWL_EXSTYLE = -20;
+
+ public const uint SWP_NOSIZE = 0x0001;
+ public const uint SWP_NOMOVE = 0x0002;
+ public const uint SWP_NOZORDER = 0x0004;
+ public const uint SWP_NOREDRAW = 0x0008;
+ public const uint SWP_NOACTIVATE = 0x0010;
+ public const uint SWP_FRAMECHANGED = 0x0020;
+ public const uint SWP_SHOWWINDOW = 0x0040;
+ public const uint SWP_HIDEWINDOW = 0x0080;
+ public const uint SWP_NOCOPYBITS = 0x0100;
+ public const uint SWP_NOOWNERZORDER = 0x0200;
+ public const uint SWP_NOSENDCHANGING = 0x0400;
+ public const int SW_HIDE = 0;
+ public const int SW_SHOWDEFAULT = 10;
+
+ public const int HWND_TOPMOST = -1;
+
+ [DllImport("User32", ExactSpelling = true)]
+ public static extern int SetWindowPos(IntPtr hWnd, int hWndInsertAfter,
+ int x, int y, int cx, int cy, uint uFlags);
+
+ public const int WM_SYSCOMMAND = 0x0112;
+ public const int BM_CLICK = 0x00F5;
+
+
+
+ [DllImport("user32.dll")]
+ public static extern int FindWindow(
+ string lpClassName, // class name
+ string lpWindowName // window name
+ );
+
+ [DllImport("User32", EntryPoint = "SetForegroundWindow")]
+ public static extern bool SetForegroundWindow(int hWnd);
+
+ [DllImport("User32", ExactSpelling = true)]
+ public static extern bool ShowWindow(int hWnd, int nCmdShow);
+
+ }
+}
Added: trunk/plugins/MultiShortcut/MultiShortcut/MultiShortcut.csproj
===================================================================
--- trunk/plugins/MultiShortcut/MultiShortcut/MultiShortcut.csproj (rev 0)
+++ trunk/plugins/MultiShortcut/MultiShortcut/MultiShortcut.csproj 2007-01-31 21:34:49 UTC (rev 67)
@@ -0,0 +1,78 @@
+<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>{7CBDA33F-E11F-400B-8B3F-ABB0B54462AC}</ProjectGuid>
+ <OutputType>Library</OutputType>
+ <AppDesignerFolder>Properties</AppDesignerFolder>
+ <RootNamespace>MultiShortcut</RootNamespace>
+ <AssemblyName>MultiShortcut00</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.2587.38185, Culture=neutral, processorArchitecture=MSIL">
+ <SpecificVersion>False</SpecificVersion>
+ <HintPath>..\..\..\MediaPortal\Core\bin\Release\Core.dll</HintPath>
+ </Reference>
+ <Reference Include="Databases, Version=1.0.2587.38186, Culture=neutral, processorArchitecture=MSIL">
+ <SpecificVersion>False</SpecificVersion>
+ <HintPath>..\..\..\MediaPortal\Databases\bin\Release\Databases.dll</HintPath>
+ </Reference>
+ <Reference Include="Dialogs, Version=0.0.0.0, Culture=neutral, processorArchitecture=MSIL">
+ <SpecificVersion>False</SpecificVersion>
+ <HintPath>..\..\..\MediaPortal\Dialogs\bin\Release\Dialogs.dll</HintPath>
+ </Reference>
+ <Reference Include="System" />
+ <Reference Include="System.Data" />
+ <Reference Include="System.Drawing" />
+ <Reference Include="System.Windows.Forms" />
+ <Reference Include="System.Xml" />
+ <Reference Include="Utils, Version=1.0.2587.38184, Culture=neutral, processorArchitecture=MSIL">
+ <SpecificVersion>False</SpecificVersion>
+ <HintPath>..\..\..\MediaPortal\Utils\bin\Release\Utils.dll</HintPath>
+ </Reference>
+ </ItemGroup>
+ <ItemGroup>
+ <Compile Include="Config.cs">
+ <SubType>Form</SubType>
+ </Compile>
+ <Compile Include="Config.Designer.cs">
+ <DependentUpon>Config.cs</DependentUpon>
+ </Compile>
+ <Compile Include="MultiShortcut.cs">
+ </Compile>
+ <Compile Include="Properties\AssemblyInfo.cs" />
+ </ItemGroup>
+ <ItemGroup>
+ <EmbeddedResource Include="Config.resx">
+ <SubType>Designer</SubType>
+ <DependentUpon>Config.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>
+ -->
+</Project>
\ No newline at end of file
Added: trunk/plugins/MultiShortcut/MultiShortcut/Properties/AssemblyInfo.cs
===================================================================
--- trunk/plugins/MultiShortcut/MultiShortcut/Properties/AssemblyInfo.cs (rev 0)
+++ trunk/plugins/MultiShortcut/MultiShortcut/Properties/AssemblyInfo.cs 2007-01-31 21:34:49 UTC (rev 67)
@@ -0,0 +1,35 @@
+using System.Reflection;
+using System.Runtime.CompilerServices;
+using System.Runtime.InteropServices;
+
+// General Information about an assembly is controlled through the following
+// set of attributes. Change these attribute values to modify the information
+// associated with an assembly.
+[assembly: AssemblyTitle("MultiShortcut")]
+[assembly: AssemblyDescription("")]
+[assembly: AssemblyConfiguration("")]
+[assembly: AssemblyCompany("lr-software")]
+[assembly: AssemblyProduct("MultiShortcut")]
+[assembly: AssemblyCopyright("Copyright © lr-software 2006")]
+[assembly: AssemblyTrademark("")]
+[assembly: AssemblyCulture("")]
+
+// Setting ComVisible to false makes the types in this assembly not visible
+// to COM components. If you need to access a type in this assembly from
+// COM, set the ComVisible attribute to true on that type.
+[assembly: ComVisible(false)]
+
+// The following GUID is for the ID of the typelib if this project is exposed to COM
+[assembly: Guid("6fc5722f-e54a-4fef-8ff5-70ff897c0ccd")]
+
+// Version information for an assembly consists of the following four values:
+//
+// Major Version
+// Minor Version
+// Build Number
+// Revision
+//
+// You can specify all the values or you can default the Revision and Build Numbers
+// by using the '*' as shown below:
+[assembly: AssemblyVersion("1.0.0.0")]
+[assembly: AssemblyFileVersion("1.0.0.0")]
Added: trunk/plugins/MultiShortcut/MultiShortcut/bin/Release/AxInterop.WMPLib.dll
===================================================================
(Binary files differ)
Property changes on: trunk/plugins/MultiShortcut/MultiShortcut/bin/Release/AxInterop.WMPLib.dll
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
Added: trunk/plugins/MultiShortcut/MultiShortcut/bin/Release/Bass.Net.dll
===================================================================
(Binary files differ)
Property changes on: trunk/plugins/MultiShortcut/MultiShortcut/bin/Release/Bass.Net.dll
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
Added: trunk/plugins/MultiShortcut/MultiShortcut/bin/Release/BassRegistration.dll
===================================================================
(Binary files differ)
Property changes on: trunk/plugins/MultiShortcut/MultiShortcut/bin/Release/BassRegistration.dll
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
Added: trunk/plugins/MultiShortcut/MultiShortcut/bin/Release/Core.dll
===================================================================
(Binary files differ)
Property changes on: trunk/plugins/MultiShortcut/MultiShortcut/bin/Release/Core.dll
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
Added: trunk/plugins/MultiShortcut/MultiShortcut/bin/Release/Databases.dll
===================================================================
(Binary files differ)
Property changes on: trunk/plugins/MultiShortcut/MultiShortcut/bin/Release/Databases.dll
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
Added: trunk/plugins/MultiShortcut/MultiShortcut/bin/Release/Dialogs.dll
===================================================================
(Binary files differ)
Property changes on: trunk/plugins/MultiShortcut/MultiShortcut/bin/Release/Dialogs.dll
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
Added: trunk/plugins/MultiShortcut/MultiShortcut/bin/Release/DirectShowLib.dll
===================================================================
(Binary files differ)
Property changes on: trunk/plugins/MultiShortcut/MultiShortcut/bin/Release/DirectShowLib.dll
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
Added: trunk/plugins/MultiShortcut/MultiShortcut/bin/Release/ICSharpCode.SharpZipLib.dll
===================================================================
(Binary files differ)
Property changes on: trunk/plugins/MultiShortcut/MultiShortcut/bin/Release/ICSharpCode.SharpZipLib.dll
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
Added: trunk/plugins/MultiShortcut/MultiShortcut/bin/Release/Interop.SHDocVw.dll
===================================================================
(Binary files differ)
Property changes on: trunk/plugins/MultiShortcut/MultiShortcut/bin/Release/Interop.SHDocVw.dll
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
Added: trunk/plugins/MultiShortcut/MultiShortcut/bin/Release/Interop.WMPLib.dll
===================================================================
(Binary files differ)
Property changes on: trunk/plugins/MultiShortcut/MultiShortcut/bin/Release/Interop.WMPLib.dll
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
Added: trunk/plugins/MultiShortcut/MultiShortcut/bin/Release/MediaPortal.Support.dll
===================================================================
(Binary files differ)
Property changes on: trunk/plugins/MultiShortcut/MultiShortcut/bin/Release/MediaPortal.Support.dll
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
Added: trunk/plugins/MultiShortcut/MultiShortcut/bin/Release/MediaPortal.Support.pdb
===================================================================
(Binary files differ)
Property changes on: trunk/plugins/MultiShortcut/MultiShortcut/bin/Release/MediaPortal.Support.pdb
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
Added: trunk/plugins/MultiShortcut/MultiShortcut/bin/Release/MultiShortcut00.dll
===================================================================
(Binary files differ)
Property changes on: trunk/plugins/MultiShortcut/MultiShortcut/bin/Release/MultiShortcut00.dll
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
Added: trunk/plugins/MultiShortcut/MultiShortcut/bin/Release/MultiShortcut00.pdb
===================================================================
(Binary files differ)
Property changes on: trunk/plugins/MultiShortcut/MultiShortcut/bin/Release/MultiShortcut00.pdb
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
Added: trunk/plugins/MultiShortcut/MultiShortcut/bin/Release/Utils.dll
===================================================================
(Binary files differ)
Property changes on: trunk/plugins/MultiShortcut/MultiShortcut/bin/Release/Utils.dll
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
Added: trunk/plugins/MultiShortcut/MultiShortcut/bin/Release/edtftpnet-1.2.2.dll
===================================================================
(Binary files differ)
Property changes on: trunk/plugins/MultiShortcut/MultiShortcut/bin/Release/edtftpnet-1.2.2.dll
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
Added: trunk/plugins/MultiShortcut/TestServer/Program.cs
===================================================================
--- trunk/plugins/MultiShortcut/TestServer/Program.cs (rev 0)
+++ trunk/plugins/MultiShortcut/TestServer/Program.cs 2007-01-31 21:34:49 UTC (rev 67)
@@ -0,0 +1,24 @@
+using System;
+using System.Collections.Generic;
+using System.Text;
+
+using MediaPortal.GUI.Library;
+using MediaPortal.Util;
+
+using MediaPortal.MultiShortcut;
+
+
+namespace TestServer
+{
+ class Program
+ {
+ static void Main(string[] args)
+ {
+ MultiShortcut ms = new MultiShortcut();
+ MultiShortcut ms2 = new MultiShortcut();
+ //ms.RunProgram(@"c:\windows\notepad.exe", String.Empty);
+
+ Console.ReadKey();
+ }
+ }
+}
Added: trunk/plugins/MultiShortcut/TestServer/Properties/AssemblyInfo.cs
===================================================================
--- trunk/plugins/MultiShortcut/TestServer/Properties/AssemblyInfo.cs (rev 0)
+++ trunk/plugins/MultiShortcut/TestServer/Properties/AssemblyInfo.cs 2007-01-31 21:34:49 UTC (rev 67)
@@ -0,0 +1,33 @@
+using System.Reflection;
+using System.Runtime.CompilerServices;
+using System.Runtime.InteropServices;
+
+// General Information about an assembly is controlled through the following
+// set of attributes. Change these attribute values to modify the information
+// associated with an assembly.
+[assembly: AssemblyTitle("TestServer")]
+[assembly: AssemblyDescription("")]
+[assembly: AssemblyConfiguration("")]
+[assembly: AssemblyCompany("lr-software")]
+[assembly: AssemblyProduct("TestServer")]
+[assembly: AssemblyCopyright("Copyright © lr-software 2006")]
+[assembly: AssemblyTrademark("")]
+[assembly: AssemblyCulture("")]
+
+// Setting ComVisible to false makes the types in this assembly not visible
+// to COM components. If you need to access a type in this assembly from
+// COM, set the ComVisible attribute to true on that type.
+[assembly: ComVisible(false)]
+
+// The following GUID is for the ID of the typelib if this project is exposed to COM
+[assembly: Guid("33c0939b-dc1d-41ed-be34-d3cf04a41197")]
+
+// Version information fo...
[truncated message content] |