From: <tou...@us...> - 2008-11-30 17:52:27
|
Revision: 2375 http://mp-plugins.svn.sourceforge.net/mp-plugins/?rev=2375&view=rev Author: tourettes_ Date: 2008-11-30 17:52:21 +0000 (Sun, 30 Nov 2008) Log Message: ----------- Added Arcsoft HD DVD / Blu-Ray player plugin. Added Paths: ----------- trunk/plugins/ArcsoftPlayer/ trunk/plugins/ArcsoftPlayer/Arcsoft player plugin.csproj trunk/plugins/ArcsoftPlayer/ArcsoftPlayer.mpi trunk/plugins/ArcsoftPlayer/ArcsoftPlayer.sln trunk/plugins/ArcsoftPlayer/ArcsoftPlayer.xml trunk/plugins/ArcsoftPlayer/ArcsoftPlayerPlugin.cs trunk/plugins/ArcsoftPlayer/AssemblyInfo.cs trunk/plugins/ArcsoftPlayer/Blu-ray.gif trunk/plugins/ArcsoftPlayer/Blu-ray_disabled.gif trunk/plugins/ArcsoftPlayer/MPI.xmp trunk/plugins/ArcsoftPlayer/PluginSetupForm.Designer.cs trunk/plugins/ArcsoftPlayer/PluginSetupForm.cs trunk/plugins/ArcsoftPlayer/PluginSetupForm.resx trunk/plugins/ArcsoftPlayer/Properties/ trunk/plugins/ArcsoftPlayer/Properties/Resources.Designer.cs trunk/plugins/ArcsoftPlayer/Properties/Resources.resx trunk/plugins/ArcsoftPlayer/logo.png Added: trunk/plugins/ArcsoftPlayer/Arcsoft player plugin.csproj =================================================================== --- trunk/plugins/ArcsoftPlayer/Arcsoft player plugin.csproj (rev 0) +++ trunk/plugins/ArcsoftPlayer/Arcsoft player plugin.csproj 2008-11-30 17:52:21 UTC (rev 2375) @@ -0,0 +1,272 @@ +<Project DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> + <PropertyGroup> + <ProjectType>Local</ProjectType> + <ProductVersion>8.0.50727</ProductVersion> + <SchemaVersion>2.0</SchemaVersion> + <ProjectGuid>{B282C55B-A37B-4CEC-A4FC-00791069BF00}</ProjectGuid> + <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration> + <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform> + <ApplicationIcon> + </ApplicationIcon> + <AssemblyKeyContainerName> + </AssemblyKeyContainerName> + <AssemblyName>ArcsoftPlayer</AssemblyName> + <AssemblyOriginatorKeyFile> + </AssemblyOriginatorKeyFile> + <DefaultClientScript>JScript</DefaultClientScript> + <DefaultHTMLPageLayout>Grid</DefaultHTMLPageLayout> + <DefaultTargetSchema>IE50</DefaultTargetSchema> + <DelaySign>false</DelaySign> + <OutputType>Library</OutputType> + <RootNamespace>WindowPlugins.ArcsoftPlayer</RootNamespace> + <RunPostBuildEvent>OnBuildSuccess</RunPostBuildEvent> + <StartupObject> + </StartupObject> + <FileUpgradeFlags> + </FileUpgradeFlags> + <UpgradeBackupLocation> + </UpgradeBackupLocation> + <SccProjectName> + </SccProjectName> + <SccLocalPath> + </SccLocalPath> + <SccAuxPath> + </SccAuxPath> + <SccProvider> + </SccProvider> + </PropertyGroup> + <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' "> + <OutputPath>bin\Debug\</OutputPath> + <AllowUnsafeBlocks>true</AllowUnsafeBlocks> + <BaseAddress>285212672</BaseAddress> + <CheckForOverflowUnderflow>false</CheckForOverflowUnderflow> + <ConfigurationOverrideFile> + </ConfigurationOverrideFile> + <DefineConstants>DEBUG;TRACE</DefineConstants> + <DocumentationFile> + </DocumentationFile> + <DebugSymbols>true</DebugSymbols> + <FileAlignment>4096</FileAlignment> + <NoStdLib>false</NoStdLib> + <NoWarn> + </NoWarn> + <Optimize>false</Optimize> + <RegisterForComInterop>false</RegisterForComInterop> + <RemoveIntegerChecks>false</RemoveIntegerChecks> + <TreatWarningsAsErrors>false</TreatWarningsAsErrors> + <WarningLevel>4</WarningLevel> + <DebugType>full</DebugType> + <ErrorReport>prompt</ErrorReport> + </PropertyGroup> + <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' "> + <OutputPath>bin\Release\</OutputPath> + <AllowUnsafeBlocks>true</AllowUnsafeBlocks> + <BaseAddress>285212672</BaseAddress> + <CheckForOverflowUnderflow>false</CheckForOverflowUnderflow> + <ConfigurationOverrideFile> + </ConfigurationOverrideFile> + <DefineConstants>TRACE</DefineConstants> + <DocumentationFile> + </DocumentationFile> + <DebugSymbols>false</DebugSymbols> + <FileAlignment>4096</FileAlignment> + <NoStdLib>false</NoStdLib> + <NoWarn> + </NoWarn> + <Optimize>true</Optimize> + <RegisterForComInterop>false</RegisterForComInterop> + <RemoveIntegerChecks>false</RemoveIntegerChecks> + <TreatWarningsAsErrors>false</TreatWarningsAsErrors> + <WarningLevel>4</WarningLevel> + <DebugType>none</DebugType> + <ErrorReport>prompt</ErrorReport> + </PropertyGroup> + <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'UseCaptureCardDefinitions|AnyCPU' "> + <OutputPath>bin\Debug\</OutputPath> + <AllowUnsafeBlocks>true</AllowUnsafeBlocks> + <BaseAddress>285212672</BaseAddress> + <CheckForOverflowUnderflow>false</CheckForOverflowUnderflow> + <ConfigurationOverrideFile> + </ConfigurationOverrideFile> + <DefineConstants>DEBUG;TRACE</DefineConstants> + <DocumentationFile> + </DocumentationFile> + <DebugSymbols>true</DebugSymbols> + <FileAlignment>4096</FileAlignment> + <NoStdLib>false</NoStdLib> + <NoWarn> + </NoWarn> + <Optimize>false</Optimize> + <RegisterForComInterop>false</RegisterForComInterop> + <RemoveIntegerChecks>false</RemoveIntegerChecks> + <TreatWarningsAsErrors>false</TreatWarningsAsErrors> + <WarningLevel>4</WarningLevel> + <DebugType>full</DebugType> + <ErrorReport>prompt</ErrorReport> + </PropertyGroup> + <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'UseCaptureDefintionsRelease|AnyCPU' "> + <OutputPath>bin\Release\</OutputPath> + <AllowUnsafeBlocks>true</AllowUnsafeBlocks> + <BaseAddress>285212672</BaseAddress> + <CheckForOverflowUnderflow>false</CheckForOverflowUnderflow> + <ConfigurationOverrideFile> + </ConfigurationOverrideFile> + <DefineConstants>TRACE;UseCaptureCardDefinitions</DefineConstants> + <DocumentationFile> + </DocumentationFile> + <DebugSymbols>false</DebugSymbols> + <FileAlignment>4096</FileAlignment> + <NoStdLib>false</NoStdLib> + <NoWarn> + </NoWarn> + <Optimize>true</Optimize> + <RegisterForComInterop>false</RegisterForComInterop> + <RemoveIntegerChecks>false</RemoveIntegerChecks> + <TreatWarningsAsErrors>false</TreatWarningsAsErrors> + <WarningLevel>4</WarningLevel> + <DebugType>none</DebugType> + <ErrorReport>prompt</ErrorReport> + </PropertyGroup> + <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|x86' "> + <DebugSymbols>true</DebugSymbols> + <OutputPath>bin\Debug\</OutputPath> + <DefineConstants>DEBUG;TRACE</DefineConstants> + <BaseAddress>285212672</BaseAddress> + <AllowUnsafeBlocks>true</AllowUnsafeBlocks> + <DebugType>full</DebugType> + <PlatformTarget>x86</PlatformTarget> + <ErrorReport>prompt</ErrorReport> + <Optimize>false</Optimize> + </PropertyGroup> + <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|x86' "> + <OutputPath>bin\Release\</OutputPath> + <DefineConstants>TRACE</DefineConstants> + <BaseAddress>285212672</BaseAddress> + <AllowUnsafeBlocks>true</AllowUnsafeBlocks> + <Optimize>true</Optimize> + <DebugType> + </DebugType> + <PlatformTarget>x86</PlatformTarget> + <ErrorReport>prompt</ErrorReport> + </PropertyGroup> + <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'UseCaptureCardDefinitions|x86' "> + <DebugSymbols>true</DebugSymbols> + <OutputPath>bin\UseCaptureCardDefinitions\</OutputPath> + <DefineConstants>DEBUG;TRACE</DefineConstants> + <BaseAddress>285212672</BaseAddress> + <AllowUnsafeBlocks>true</AllowUnsafeBlocks> + <DebugType>full</DebugType> + <PlatformTarget>x86</PlatformTarget> + <ErrorReport>prompt</ErrorReport> + </PropertyGroup> + <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'UseCaptureDefintionsRelease|x86' "> + <OutputPath>bin\UseCaptureDefintionsRelease\</OutputPath> + <DefineConstants>TRACE;UseCaptureCardDefinitions</DefineConstants> + <BaseAddress>285212672</BaseAddress> + <AllowUnsafeBlocks>true</AllowUnsafeBlocks> + <Optimize>true</Optimize> + <DebugType> + </DebugType> + <PlatformTarget>x86</PlatformTarget> + <ErrorReport>prompt</ErrorReport> + </PropertyGroup> + <ItemGroup> + <Reference Include="Core, Version=0.9.3.30398, Culture=neutral, processorArchitecture=MSIL"> + <SpecificVersion>False</SpecificVersion> + <HintPath>..\..\Mediaportal\mediaportal\xbmc\bin\Release\Core.dll</HintPath> + </Reference> + <Reference Include="Dialogs, Version=0.9.3.378, Culture=neutral, processorArchitecture=MSIL"> + <SpecificVersion>False</SpecificVersion> + <HintPath>..\..\Mediaportal\mediaportal\Dialogs\bin\Release\Dialogs.dll</HintPath> + </Reference> + <Reference Include="Microsoft.DirectX, Version=1.0.2902.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35"> + <SpecificVersion>False</SpecificVersion> + <HintPath>..\MediaPortal.Base\Microsoft.DirectX.dll</HintPath> + </Reference> + <Reference Include="Microsoft.DirectX.Direct3D, Version=1.0.2902.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35"> + <SpecificVersion>False</SpecificVersion> + <HintPath>..\MediaPortal.Base\Microsoft.DirectX.Direct3D.dll</HintPath> + </Reference> + <Reference Include="Microsoft.DirectX.Direct3DX, Version=1.0.2906.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35"> + <SpecificVersion>False</SpecificVersion> + <HintPath>..\MediaPortal.Base\Microsoft.DirectX.Direct3DX.dll</HintPath> + </Reference> + <Reference Include="Microsoft.DirectX.DirectDraw, Version=1.0.2902.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35"> + <SpecificVersion>False</SpecificVersion> + <HintPath>..\MediaPortal.Base\Microsoft.DirectX.DirectDraw.dll</HintPath> + </Reference> + <Reference Include="RemotePlugins, Version=0.9.3.30400, Culture=neutral, processorArchitecture=MSIL"> + <SpecificVersion>False</SpecificVersion> + <HintPath>..\..\Mediaportal\mediaportal\xbmc\bin\Release\RemotePlugins.dll</HintPath> + </Reference> + <Reference Include="System"> + <Name>System</Name> + </Reference> + <Reference Include="System.Data"> + <Name>System.Data</Name> + </Reference> + <Reference Include="System.Drawing"> + <Name>System.Drawing</Name> + </Reference> + <Reference Include="System.Drawing.Design"> + <Name>System.Drawing.Design</Name> + </Reference> + <Reference Include="System.Management"> + <Name>System.Management</Name> + </Reference> + <Reference Include="System.Runtime.Serialization.Formatters.Soap"> + <Name>System.Runtime.Serialization.Formatters.Soap</Name> + </Reference> + <Reference Include="System.Web"> + <Name>System.Web</Name> + </Reference> + <Reference Include="System.Windows.Forms"> + <Name>System.Windows.Forms</Name> + </Reference> + <Reference Include="System.Xml"> + <Name>System.XML</Name> + </Reference> + <Reference Include="Utils, Version=2.2.6.375, Culture=neutral, processorArchitecture=MSIL"> + <SpecificVersion>False</SpecificVersion> + <HintPath>..\..\Mediaportal\mediaportal\xbmc\bin\Release\Utils.dll</HintPath> + </Reference> + </ItemGroup> + <ItemGroup> + <Compile Include="ArcsoftPlayerPlugin.cs" /> + <Compile Include="AssemblyInfo.cs" /> + <Compile Include="PluginSetupForm.cs"> + <SubType>Form</SubType> + </Compile> + <Compile Include="PluginSetupForm.Designer.cs"> + <DependentUpon>PluginSetupForm.cs</DependentUpon> + </Compile> + <Compile Include="Properties\Resources.Designer.cs"> + <AutoGen>True</AutoGen> + <DesignTime>True</DesignTime> + <DependentUpon>Resources.resx</DependentUpon> + </Compile> + <EmbeddedResource Include="PluginSetupForm.resx"> + <DependentUpon>PluginSetupForm.cs</DependentUpon> + <SubType>Designer</SubType> + </EmbeddedResource> + <EmbeddedResource Include="Properties\Resources.resx"> + <SubType>Designer</SubType> + <Generator>ResXFileCodeGenerator</Generator> + <LastGenOutput>Resources.Designer.cs</LastGenOutput> + </EmbeddedResource> + </ItemGroup> + <ItemGroup> + <None Include="logo.png" /> + </ItemGroup> + <ItemGroup> + <EmbeddedResource Include="Blu-ray_disabled.gif" /> + <EmbeddedResource Include="Blu-ray.gif" /> + </ItemGroup> + <Import Project="$(MSBuildBinPath)\Microsoft.CSharp.targets" /> + <PropertyGroup> + <PreBuildEvent> + </PreBuildEvent> + <PostBuildEvent> + </PostBuildEvent> + </PropertyGroup> +</Project> \ No newline at end of file Added: trunk/plugins/ArcsoftPlayer/ArcsoftPlayer.mpi =================================================================== (Binary files differ) Property changes on: trunk/plugins/ArcsoftPlayer/ArcsoftPlayer.mpi ___________________________________________________________________ Added: svn:mime-type + application/octet-stream Added: trunk/plugins/ArcsoftPlayer/ArcsoftPlayer.sln =================================================================== --- trunk/plugins/ArcsoftPlayer/ArcsoftPlayer.sln (rev 0) +++ trunk/plugins/ArcsoftPlayer/ArcsoftPlayer.sln 2008-11-30 17:52:21 UTC (rev 2375) @@ -0,0 +1,38 @@ + +Microsoft Visual Studio Solution File, Format Version 9.00 +# Visual Studio 2005 +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Arcsoft player plugin", "Arcsoft player plugin.csproj", "{B282C55B-A37B-4CEC-A4FC-00791069BF00}" +EndProject +Global + GlobalSection(SolutionConfigurationPlatforms) = preSolution + Debug|Any CPU = Debug|Any CPU + Debug|x86 = Debug|x86 + Release|Any CPU = Release|Any CPU + Release|x86 = Release|x86 + UseCaptureCardDefinitions|Any CPU = UseCaptureCardDefinitions|Any CPU + UseCaptureCardDefinitions|x86 = UseCaptureCardDefinitions|x86 + UseCaptureDefintionsRelease|Any CPU = UseCaptureDefintionsRelease|Any CPU + UseCaptureDefintionsRelease|x86 = UseCaptureDefintionsRelease|x86 + EndGlobalSection + GlobalSection(ProjectConfigurationPlatforms) = postSolution + {B282C55B-A37B-4CEC-A4FC-00791069BF00}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {B282C55B-A37B-4CEC-A4FC-00791069BF00}.Debug|Any CPU.Build.0 = Debug|Any CPU + {B282C55B-A37B-4CEC-A4FC-00791069BF00}.Debug|x86.ActiveCfg = Debug|x86 + {B282C55B-A37B-4CEC-A4FC-00791069BF00}.Debug|x86.Build.0 = Debug|x86 + {B282C55B-A37B-4CEC-A4FC-00791069BF00}.Release|Any CPU.ActiveCfg = Release|Any CPU + {B282C55B-A37B-4CEC-A4FC-00791069BF00}.Release|Any CPU.Build.0 = Release|Any CPU + {B282C55B-A37B-4CEC-A4FC-00791069BF00}.Release|x86.ActiveCfg = Release|x86 + {B282C55B-A37B-4CEC-A4FC-00791069BF00}.Release|x86.Build.0 = Release|x86 + {B282C55B-A37B-4CEC-A4FC-00791069BF00}.UseCaptureCardDefinitions|Any CPU.ActiveCfg = UseCaptureCardDefinitions|Any CPU + {B282C55B-A37B-4CEC-A4FC-00791069BF00}.UseCaptureCardDefinitions|Any CPU.Build.0 = UseCaptureCardDefinitions|Any CPU + {B282C55B-A37B-4CEC-A4FC-00791069BF00}.UseCaptureCardDefinitions|x86.ActiveCfg = UseCaptureCardDefinitions|x86 + {B282C55B-A37B-4CEC-A4FC-00791069BF00}.UseCaptureCardDefinitions|x86.Build.0 = UseCaptureCardDefinitions|x86 + {B282C55B-A37B-4CEC-A4FC-00791069BF00}.UseCaptureDefintionsRelease|Any CPU.ActiveCfg = UseCaptureDefintionsRelease|Any CPU + {B282C55B-A37B-4CEC-A4FC-00791069BF00}.UseCaptureDefintionsRelease|Any CPU.Build.0 = UseCaptureDefintionsRelease|Any CPU + {B282C55B-A37B-4CEC-A4FC-00791069BF00}.UseCaptureDefintionsRelease|x86.ActiveCfg = UseCaptureDefintionsRelease|x86 + {B282C55B-A37B-4CEC-A4FC-00791069BF00}.UseCaptureDefintionsRelease|x86.Build.0 = UseCaptureDefintionsRelease|x86 + EndGlobalSection + GlobalSection(SolutionProperties) = preSolution + HideSolutionNode = FALSE + EndGlobalSection +EndGlobal Added: trunk/plugins/ArcsoftPlayer/ArcsoftPlayer.xml =================================================================== --- trunk/plugins/ArcsoftPlayer/ArcsoftPlayer.xml (rev 0) +++ trunk/plugins/ArcsoftPlayer/ArcsoftPlayer.xml 2008-11-30 17:52:21 UTC (rev 2375) @@ -0,0 +1,26 @@ +<MPinstalerS> + <ver>1.00.000</ver> + <ExtensionList> + <Extension> + <FileName>ArcsoftPlayer.mpi</FileName> + <Name>Arcsoft Blu-Ray / HD DVD plugin</Name> + <URL>http://www.team-mediaportal.com</URL> + <Version>0.1</Version> + <Author>tourettes</Author> + <Description>Allow users to play HD DVD & Blu-Ray disks using Arcsoft's MCE plugin.</Description> + <Group>Video/Movies</Group> + <Properties> + <MPMaxVersion /> + <MPMinVersion /> + <MinExtensionVersion /> + <MaxExtensionVersion /> + <ForumURL /> + <WebURL /> + <CreationDate>30-11-08</CreationDate> + <SingleGroupSelect>False</SingleGroupSelect> + </Properties> + <Uninstall /> + </Extension> + </ExtensionList> + <Option /> +</MPinstalerS> \ No newline at end of file Added: trunk/plugins/ArcsoftPlayer/ArcsoftPlayerPlugin.cs =================================================================== --- trunk/plugins/ArcsoftPlayer/ArcsoftPlayerPlugin.cs (rev 0) +++ trunk/plugins/ArcsoftPlayer/ArcsoftPlayerPlugin.cs 2008-11-30 17:52:21 UTC (rev 2375) @@ -0,0 +1,397 @@ +#region Copyright (C) 2005-2008 Team MediaPortal + +/* + * Copyright (C) 2005-2008 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.IO; +using System.Threading; +using System.Windows.Forms; +using System.Diagnostics; + +using MediaPortal.Configuration; +using MediaPortal.Dialogs; +using MediaPortal.GUI.Library; +using MediaPortal.Player; +using MediaPortal.Util; +using MediaPortal.InputDevices; + +namespace WindowPlugins.ArcsoftPlayer +{ + [PluginIcons("WindowPlugins.ArcsoftPlayer.Blu-ray.gif", "WindowPlugins.ArcsoftPlayer.Blu-ray_disabled.gif")] + + public class ArcsoftPlayerPlugin : GUIWindow, ISetupForm, IShowPlugin + { + string _playerExecutable; + bool _ejectReceived; + + // + // Constructor + // + public ArcsoftPlayerPlugin() + { + Log.Info("ArcsoftPlayerPlugin: construct"); + GetID = 8080; + + using (MediaPortal.Profile.Settings xmlreader = new MediaPortal.Profile.Settings(Config.GetFile(Config.Dir.Config, "MediaPortal.xml"))) + { + _playerExecutable = xmlreader.GetValueAsString("arcsoftplayer", "executable", null); + } + } + + // Invoke needs to be used so that previus view is changed from correct thread. + private delegate void PlayerExitedInvoke(); + + #region BaseWindow Members + + // + // Init + // + public override bool Init() + { + bool bResult = Load(GUIGraphicsContext.Skin + @"\arcsoftplayer.xml"); + GUIWindowManager.Receivers += new SendMessageHandler(OnGlobalMessage); + return bResult; + } + + // + // Handle global messages, disk insert notification will be handled here in the future + // + private void OnGlobalMessage(GUIMessage message) + { + switch (message.Message) + { + /*case GUIMessage.MessageType.GUI_MSG_BLURAY_DISK_INSERTED: + { + Log.Info("ArcsoftPlayerPlugin: GUI_MSG_BLURAY_DISK_INSERTED"); + _ejectReceived = false; + PreparePlayback(); + SetRefreshRate(); + LaunchPlayer(); + break; + }*/ + /*case GUIMessage.MessageType.GUI_MSG_BLURAY_DISK_REMOVED: + { + Log.Info("ArcsoftPlayerPlugin: GUI_MSG_BLURAY_DISK_REMOVED"); + _ejectReceived = true; + StopPlayer(); + ResumeFromPlayback(); + RestoreRefreshRate(); + break; + }*/ + /*case GUIMessage.MessageType.GUI_MSG_HDDVD_DISK_INSERTED: + { + Log.Info("ArcsoftPlayerPlugin: GUI_MSG_HDDVD_DISK_INSERTED"); + _ejectReceived = false; + PreparePlayback(); + SetRefreshRate(); + LaunchPlayer(); + break; + }*/ + /*case GUIMessage.MessageType.GUI_MSG_HDDVD_DISK_REMOVED: + { + Log.Info("ArcsoftPlayerPlugin: GUI_MSG_HDDVD_DISK_REMOVED"); + break; + }*/ + } + } + + // + // OnAction + // + public override void OnAction(Action action) + { + // TODO, not needed most likely + base.OnAction(action); + } + + // + // OnPageLoad + // + protected override void OnPageLoad() + { + base.OnPageLoad(); + + // Manual launch from the home screen + _ejectReceived = false; + PreparePlayback(); + SetRefreshRate(); + LaunchPlayer(); + //LoadSettings(); + } + + // + // OnPageDestroy + // + protected override void OnPageDestroy(int newWindowId) + { + base.OnPageDestroy(newWindowId); + } + + + // + // Deinit + // + public override void DeInit() + { + base.DeInit(); + } + + + // + // OnClicked + // + protected override void OnClicked(int controlId, GUIControl control, MediaPortal.GUI.Library.Action.ActionType actionType) + { + // TODO, not needed most likely (no GUI in the plungin...) + base.OnClicked(controlId, control, actionType); + } + + + // + // Handle message + // + public override bool OnMessage(GUIMessage message) + { + // TODO, do we need to hanle any messages? + return base.OnMessage(message); + } + #endregion + #region Private helper methods + + + // + // Susend GUI rendering + // + private void PreparePlayback() + { + Log.Info("ArcsoftPlayerPlugin: PreparePlayback"); + GUIGraphicsContext.BlankScreen = true; + //GUIGraphicsContext.CurrentState = GUIGraphicsContext.State.SUSPENDING; + MediaPortal.InputDevices.InputDevices.Stop(); + g_Player.Stop(); + } + + + // + // Resume GUI rendering + // + private void ResumeFromPlayback() + { + Log.Info("ArcsoftPlayerPlugin: ResumeFromPlayback"); + GUIGraphicsContext.BlankScreen = false; + //GUIGraphicsContext.CurrentState = GUIGraphicsContext.State.RUNNING; + MediaPortal.InputDevices.InputDevices.Init(); + } + + // + // Set new refresh rate + // + private void SetRefreshRate() + { + Log.Info("ArcsoftPlayerPlugin: SetRefreshRate"); + // TODO + // - Fetcs FPS from the correct .mt2s file (main movie, requires A**DVD...) + //RefreshRateChanger.SetRefreshRateBasedOnFPS (yourFPS, "", RefreshRateChanger.MediaType.Video) + + ProcessStartInfo psi = new ProcessStartInfo(); + Process dc = new Process(); + psi.FileName = "c:\\dccmd.exe"; + psi.Arguments = "-refresh=24"; + dc.StartInfo = psi; + try + { + //dc.Start(); + } + catch (Exception e) + { + Log.Error("ArcsoftPlayerPlugin: RestoreRefreshRate - exception {0}", e); + } + } + + // + // Restore previous refresh rate + // + private void RestoreRefreshRate() + { + // TODO + // - restore previous refresh rate + //refreshratechanger.adaptrefreshrate(); + Log.Info("ArcsoftPlayerPlugin: RestoreRefreshRate"); + + ProcessStartInfo psi = new ProcessStartInfo(); + Process dc = new Process(); + psi.FileName = "c:\\dccmd.exe"; + psi.Arguments = "-refresh=25"; + dc.StartInfo = psi; + try + { + //dc.Start(); + } + catch (Exception e) + { + Log.Error("ArcsoftPlayerPlugin: RestoreRefreshRate - exception {0}", e); + } + } + + // + // Player exited event is rised when Arcsoft player process is exiting + // + private void PlayerExited(object o, EventArgs e) + { + Log.Info("ArcsoftPlayerPlugin: PlayerExited"); + // Cleanup only if no eject has been received + if (!_ejectReceived) + { + Log.Info("ArcsoftPlayerPlugin: No eject has been received, cleaning up"); + ResumeFromPlayback(); + RestoreRefreshRate(); + } + GUIGraphicsContext.form.Invoke(new PlayerExitedInvoke(PreviousView)); + } + + // + // Go back to previous view + // + public void PreviousView() + { + GUIWindowManager.ShowPreviousWindow(); + } + + // + // Launch external player + // + private void LaunchPlayer() + { + Log.Info("ArcsoftPlayerPlugin: LaunchPlayer"); + ProcessStartInfo psi = new ProcessStartInfo(); + Process arcsoftPlayer = new Process(); + psi.FileName = _playerExecutable; + + if (!File.Exists(psi.FileName)) + { + Log.Info("ArcsoftPlayerPlugin: missing player executable - {0}", psi.FileName); + ResumeFromPlayback(); + RestoreRefreshRate(); + return; + } + + arcsoftPlayer.EnableRaisingEvents = true; + arcsoftPlayer.Exited += PlayerExited; + arcsoftPlayer.StartInfo = psi; + try + { + arcsoftPlayer.Start(); + } + catch (Exception e) + { + // TODO - Add more error handling? + Log.Error("ArcsoftPlayerPlugin: LaunchPlayer - exception {0}", e); + } + } + + // + // Player exited event is rised when Arcsoft player process is exiting + // + private void StopPlayer() + { + Log.Info("ArcsoftPlayerPlugin: StopPlayer"); + // TODO parse executable name from the settings + string processName = "uMCEDVDPlayer.exe"; + Process[] processes = System.Diagnostics.Process.GetProcessesByName(processName); + + foreach (Process process in processes) + { + process.CloseMainWindow(); + //process.Kill(); + } + } + #endregion + + #region ISetupForm Members + + public int GetWindowId() + { + return GetID; + } + + public string PluginName() + { + return "Arcsoft player"; + } + + public string Description() + { + return "Provide support for launching Arcsoft's MCE plugin inside MediaPortal"; + } + + public string Author() + { + return "tourettes"; + } + + public bool CanEnable() + { + return true; + } + + public bool DefaultEnabled() + { + return false; + } + + public bool HasSetup() + { + return true; + } + + public bool GetHome(out string strButtonText, out string strButtonImage, out string strButtonImageFocus, out string strPictureImage) + { + strButtonText = "Play Bluray"; + strButtonImage = String.Empty; + strButtonImageFocus = String.Empty; + strPictureImage = "hover_my videos.png"; + return true; + } + + // show the setup dialog + public void ShowPlugin() + { + PluginSetupForm setupForm = new PluginSetupForm(); + setupForm.ShowDialog(); + } + + #endregion + + #region IShowPlugin Members + + public bool ShowDefaultHome() + { + return false; + } + + #endregion + } +} \ No newline at end of file Added: trunk/plugins/ArcsoftPlayer/AssemblyInfo.cs =================================================================== --- trunk/plugins/ArcsoftPlayer/AssemblyInfo.cs (rev 0) +++ trunk/plugins/ArcsoftPlayer/AssemblyInfo.cs 2008-11-30 17:52:21 UTC (rev 2375) @@ -0,0 +1,14 @@ +// Assembly Arcsoft Player, Version 0.1.1888.15616 + +[assembly: System.Reflection.AssemblyVersion("0.1.0001.00001")] +[assembly: System.Reflection.AssemblyKeyName("")] +[assembly: System.Reflection.AssemblyKeyFile("")] +[assembly: System.Reflection.AssemblyDelaySign(false)] +[assembly: System.Reflection.AssemblyTrademark("")] +[assembly: System.Reflection.AssemblyCopyright("GPL")] +[assembly: System.Reflection.AssemblyProduct("Arcsoft player")] +[assembly: System.Reflection.AssemblyCompany("")] +[assembly: System.Reflection.AssemblyConfiguration("")] +[assembly: System.Reflection.AssemblyDescription("Arcsoft player plugin for MediaPortal")] +[assembly: System.Reflection.AssemblyTitle("Arcsoft player")] + Added: trunk/plugins/ArcsoftPlayer/Blu-ray.gif =================================================================== (Binary files differ) Property changes on: trunk/plugins/ArcsoftPlayer/Blu-ray.gif ___________________________________________________________________ Added: svn:mime-type + application/octet-stream Added: trunk/plugins/ArcsoftPlayer/Blu-ray_disabled.gif =================================================================== (Binary files differ) Property changes on: trunk/plugins/ArcsoftPlayer/Blu-ray_disabled.gif ___________________________________________________________________ Added: svn:mime-type + application/octet-stream Added: trunk/plugins/ArcsoftPlayer/MPI.xmp =================================================================== --- trunk/plugins/ArcsoftPlayer/MPI.xmp (rev 0) +++ trunk/plugins/ArcsoftPlayer/MPI.xmp 2008-11-30 17:52:21 UTC (rev 2375) @@ -0,0 +1,57 @@ +<MPinstaler> + <ver>1.00.000</ver> + <FileList> + <File> + <FileName>ArcsoftPlayer.dll</FileName> + <Type>Plugin</Type> + <SubType>Window</SubType> + <Source>bin\Release\ArcsoftPlayer.dll</Source> + <Id>01010</Id> + <Option /> + <Guid>1ae08570-0b1d-492f-88cc-66c54e6fbc9a</Guid> + </File> + <File> + <FileName>ArcsoftPlayer.xml</FileName> + <Type>Skin</Type> + <SubType>Blue3</SubType> + <Source>ArcsoftPlayer.xml</Source> + <Id>02010</Id> + <Option /> + <Guid>0419f4e8-2ab9-4200-987e-c8dcd36b5830</Guid> + </File> + <File> + <FileName>ArcsoftPlayer.xml</FileName> + <Type>Skin</Type> + <SubType>Blue3wide</SubType> + <Source>ArcsoftPlayer.xml</Source> + <Id>02010</Id> + <Option /> + <Guid>f05e0beb-a890-40a3-97f8-e7da20c0f2a4</Guid> + </File> + </FileList> + <StringList /> + <Actions /> + <SetupGroups /> + <SetupGroupMappings /> + <Option> + <BuildFileName>D:\Projects\ArcsoftPlayer\ArcsoftPlayer.mpi</BuildFileName> + <ProiectFileName>D:\Projects\ArcsoftPlayer\MPI.xmp</ProiectFileName> + <ProiectName>Arcsoft Blu-Ray / HD DVD plugin</ProiectName> + <Author>tourettes</Author> + <UpdateURL>http://www.team-mediaportal.com</UpdateURL> + <Version>0.1</Version> + <Description>Allow users to play HD DVD & Blu-Ray disks using Arcsoft's MCE plugin.</Description> + <Group>Video/Movies</Group> + <Release>Beta</Release> + </Option> + <Properties> + <MPMaxVersion /> + <MPMinVersion /> + <MinExtensionVersion /> + <MaxExtensionVersion /> + <ForumURL /> + <WebURL /> + <CreationDate>30-11-08</CreationDate> + <SingleGroupSelect>False</SingleGroupSelect> + </Properties> +</MPinstaler> \ No newline at end of file Added: trunk/plugins/ArcsoftPlayer/PluginSetupForm.Designer.cs =================================================================== --- trunk/plugins/ArcsoftPlayer/PluginSetupForm.Designer.cs (rev 0) +++ trunk/plugins/ArcsoftPlayer/PluginSetupForm.Designer.cs 2008-11-30 17:52:21 UTC (rev 2375) @@ -0,0 +1,182 @@ +#region Copyright (C) 2005-2008 Team MediaPortal + +/* + * Copyright (C) 2005-2008 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 WindowPlugins.ArcsoftPlayer +{ + partial class PluginSetupForm + { + private System.ComponentModel.IContainer components = null; + + /*protected override void Dispose(bool disposing) + { + if (disposing && (components != null)) + { + components.Dispose(); + } + base.Dispose(disposing); + }*/ + + #region Form-Designer generated code + + /// <summary> + /// </summary> + private void InitializeComponent() + { + this.openFileDialog1 = new System.Windows.Forms.OpenFileDialog(); + this.panel1 = new System.Windows.Forms.Panel(); + this.groupBox1 = new System.Windows.Forms.GroupBox(); + this.button1 = new System.Windows.Forms.Button(); + this.text_filename = new System.Windows.Forms.TextBox(); + this.label1 = new System.Windows.Forms.Label(); + this.button_OK = new System.Windows.Forms.Button(); + this.button2 = new System.Windows.Forms.Button(); + this.groupBox1.SuspendLayout(); + this.SuspendLayout(); + // + // openFileDialog1 + // + this.openFileDialog1.FileName = "openFileDialog1"; + // + // panel1 + // + this.panel1.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left) + | System.Windows.Forms.AnchorStyles.Right))); + this.panel1.BackColor = System.Drawing.SystemColors.ControlLightLight; + this.panel1.BackgroundImage = global::WindowPlugins.ArcsoftPlayer.Properties.Resources.logo; + this.panel1.BackgroundImageLayout = System.Windows.Forms.ImageLayout.None; + this.panel1.Location = new System.Drawing.Point(0, 0); + this.panel1.Name = "panel1"; + this.panel1.Size = new System.Drawing.Size(496, 55); + this.panel1.TabIndex = 5; + // + // groupBox1 + // + this.groupBox1.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.groupBox1.Controls.Add(this.button1); + this.groupBox1.Controls.Add(this.text_filename); + this.groupBox1.Controls.Add(this.label1); + this.groupBox1.Location = new System.Drawing.Point(11, 61); + this.groupBox1.Name = "groupBox1"; + this.groupBox1.Size = new System.Drawing.Size(474, 122); + this.groupBox1.TabIndex = 2; + this.groupBox1.TabStop = false; + // + // button1 + // + this.button1.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right))); + this.button1.Location = new System.Drawing.Point(392, 32); + this.button1.Name = "button1"; + this.button1.Size = new System.Drawing.Size(68, 25); + this.button1.TabIndex = 2; + this.button1.Text = "Browse"; + this.button1.UseVisualStyleBackColor = true; + this.button1.Click += new System.EventHandler(this.button1_Click); + // + // text_filename + // + this.text_filename.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left) + | System.Windows.Forms.AnchorStyles.Right))); + this.text_filename.Location = new System.Drawing.Point(9, 32); + this.text_filename.Name = "text_filename"; + this.text_filename.Size = new System.Drawing.Size(374, 20); + this.text_filename.TabIndex = 1; + // + // label1 + // + this.label1.AutoSize = true; + this.label1.Location = new System.Drawing.Point(6, 16); + this.label1.Name = "label1"; + this.label1.Size = new System.Drawing.Size(155, 13); + this.label1.TabIndex = 0; + this.label1.Text = "Arcsoft MCE plugin executable:"; + // + // button_OK + // + this.button_OK.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Right))); + this.button_OK.Location = new System.Drawing.Point(403, 189); + this.button_OK.Name = "button_OK"; + this.button_OK.Size = new System.Drawing.Size(68, 25); + this.button_OK.TabIndex = 3; + this.button_OK.Text = "OK"; + this.button_OK.UseVisualStyleBackColor = true; + this.button_OK.Click += new System.EventHandler(this.button_OK_Click); + // + // 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(326, 189); + this.button2.Name = "button2"; + this.button2.Size = new System.Drawing.Size(68, 25); + this.button2.TabIndex = 4; + this.button2.Text = "Cancel"; + this.button2.UseVisualStyleBackColor = true; + this.button2.Click += new System.EventHandler(this.button2_Click); + // + // PluginSetupForm + // + this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F); + this.BackColor = System.Drawing.SystemColors.Control; + this.ClientSize = new System.Drawing.Size(497, 228); + this.Controls.Add(this.button2); + this.Controls.Add(this.button_OK); + this.Controls.Add(this.groupBox1); + this.Controls.Add(this.panel1); + this.Name = "PluginSetupForm"; + this.Text = "Arcsoft player setup"; + this.Load += new System.EventHandler(this.PluginSetupForm_Load); + this.groupBox1.ResumeLayout(false); + this.groupBox1.PerformLayout(); + this.ResumeLayout(false); + + } + + #endregion + + private System.Windows.Forms.Panel panelBannerAlign; + private System.Windows.Forms.PictureBox pictureBoxBanner; + private System.Windows.Forms.GroupBox groupBoxSettings; + private System.Windows.Forms.Button buttonCancel; + private System.Windows.Forms.Button buttonSave; + private MediaPortal.UserInterface.Controls.MPCheckBox checkBoxUseTrayIcon; + private MediaPortal.UserInterface.Controls.MPCheckBox checkBoxSubmitToProfile; + private MediaPortal.UserInterface.Controls.MPCheckBox checkBoxShowBallonTips; + private MediaPortal.UserInterface.Controls.MPLabel labelListEntries; + private System.Windows.Forms.NumericUpDown numericUpDownListEntries; + private MediaPortal.UserInterface.Controls.MPLabel labelEngine; + private MediaPortal.UserInterface.Controls.MPComboBox comboBoxStreamPlayerType; + private MediaPortal.UserInterface.Controls.MPCheckBox checkBoxDirectSkip; + private MediaPortal.UserInterface.Controls.MPCheckBox checkBoxOneClickMode; + private System.Windows.Forms.OpenFileDialog openFileDialog1; + private System.Windows.Forms.Panel panel1; + private System.Windows.Forms.GroupBox groupBox1; + private System.Windows.Forms.Label label1; + private System.Windows.Forms.Button button1; + private System.Windows.Forms.TextBox text_filename; + private System.Windows.Forms.Button button_OK; + private System.Windows.Forms.Button button2; + } +} \ No newline at end of file Added: trunk/plugins/ArcsoftPlayer/PluginSetupForm.cs =================================================================== --- trunk/plugins/ArcsoftPlayer/PluginSetupForm.cs (rev 0) +++ trunk/plugins/ArcsoftPlayer/PluginSetupForm.cs 2008-11-30 17:52:21 UTC (rev 2375) @@ -0,0 +1,101 @@ +#region Copyright (C) 2005-2008 Team MediaPortal + +/* + * Copyright (C) 2005-2008 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.Windows.Forms; + +using MediaPortal.Configuration; + +namespace WindowPlugins.ArcsoftPlayer +{ + public partial class PluginSetupForm : MediaPortal.UserInterface.Controls.MPConfigForm + { + public PluginSetupForm() + { + InitializeComponent(); + LoadSettings(); + } + + #region Serialisation + + private void LoadSettings() + { + using (MediaPortal.Profile.Settings xmlreader = new MediaPortal.Profile.Settings(Config.GetFile(Config.Dir.Config, "MediaPortal.xml"))) + { + text_filename.Text = xmlreader.GetValueAsString("arcsoftplayer", "executable", "...uMCEDVDPlayer.exe"); + } + } + + void SaveSettings() + { + using (MediaPortal.Profile.Settings xmlwriter = new MediaPortal.Profile.Settings(Config.GetFile(Config.Dir.Config, "MediaPortal.xml"))) + { + xmlwriter.SetValue("arcsoftplayer", "executable", text_filename.Text); + } + } + + #endregion + + + private void PluginSetupForm_Load(object sender, EventArgs e) + { + + } + + private void button1_Click(object sender, EventArgs e) + { + if (System.IO.File.Exists(text_filename.Text)) + { + openFileDialog1.FileName = System.IO.Path.GetFileName(text_filename.Text); + } + else + { + openFileDialog1.FileName = "uMCEDVDPlayer.exe"; + } + + openFileDialog1.Filter.EndsWith(".exe"); + openFileDialog1.InitialDirectory = System.IO.Path.GetDirectoryName(text_filename.Text); + openFileDialog1.ShowDialog(); + text_filename.Text = openFileDialog1.FileName; + } + + private void button_OK_Click(object sender, EventArgs e) + { + if (!System.IO.File.Exists(text_filename.Text)) + { + System.Windows.Forms.MessageBox.Show("Invalid executable specified!", "Error"); + return; + } + + SaveSettings(); + this.Close(); + } + + private void button2_Click(object sender, EventArgs e) + { + this.Close(); + } + } +} \ No newline at end of file Added: trunk/plugins/ArcsoftPlayer/PluginSetupForm.resx =================================================================== --- trunk/plugins/ArcsoftPlayer/PluginSetupForm.resx (rev 0) +++ trunk/plugins/ArcsoftPlayer/PluginSetupForm.resx 2008-11-30 17:52:21 UTC (rev 2375) @@ -0,0 +1,124 @@ +<?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="openFileDialog1.TrayLocation" type="System.Drawing.Point, System.Drawing"> + <value>17, 17</value> + </data> +</root> \ No newline at end of file Added: trunk/plugins/ArcsoftPlayer/Properties/Resources.Designer.cs =================================================================== --- trunk/plugins/ArcsoftPlayer/Properties/Resources.Designer.cs (rev 0) +++ trunk/plugins/ArcsoftPlayer/Properties/Resources.Designer.cs 2008-11-30 17:52:21 UTC (rev 2375) @@ -0,0 +1,70 @@ +//------------------------------------------------------------------------------ +// <auto-generated> +// This code was generated by a tool. +// Runtime Version:2.0.50727.1434 +// +// Changes to this file may cause incorrect behavior and will be lost if +// the code is regenerated. +// </auto-generated> +//------------------------------------------------------------------------------ + +namespace WindowPlugins.ArcsoftPlayer.Properties { + using System; + + + /// <summary> + /// A strongly-typed resource class, for looking up localized strings, etc. + /// </summary> + // This class was auto-generated by the StronglyTypedResourceBuilder + // class via a tool like ResGen or Visual Studio. + // To add or remove a member, edit your .ResX file then rerun ResGen + // with the /str option, or rebuild your VS project. + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Resources.Tools.StronglyTypedResourceBuilder", "2.0.0.0")] + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()] + internal class Resources { + + private static global::System.Resources.ResourceManager resourceMan; + + private static global::System.Globalization.CultureInfo resourceCulture; + + [global::System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1811:AvoidUncalledPrivateCode")] + internal Resources() { + } + + /// <summary> + /// Returns the cached ResourceManager instance used by this class. + /// </summary> + [global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)] + internal static global::System.Resources.ResourceManager ResourceManager { + get { + if (object.ReferenceEquals(resourceMan, null)) { + global::System.Resources.ResourceManager temp = new global::System.Resources.ResourceManager("WindowPlugins.ArcsoftPlayer.Properties.Resources", typeof(Resources).Assembly); + resourceMan = temp; + } + return resourceMan; + } + } + + /// <summary> + /// Overrides the current thread's CurrentUICulture property for all + /// resource lookups using this strongly typed resource class. + /// </summary> + [global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)] + internal static global::System.Globalization.CultureInfo Culture { + get { + return resourceCulture; + } + set { + resourceCulture = value; + } + } + + internal static System.Drawing.Bitmap logo { + get { + object obj = ResourceManager.GetObject("logo", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + } +} Added: trunk/plugins/ArcsoftPlayer/Properties/Resources.resx =================================================================== --- trunk/plugins/ArcsoftPlayer/Properties/Resources.resx (rev 0) +++ trunk/plugins/ArcsoftPlayer/Properties/Resources.resx 2008-11-30 17:52:21 UTC (rev 2375) @@ -0,0 +1,124 @@ +<?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.Windows.Forms" name="System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" /> + <data name="logo" type="System.Resources.ResXFileRef, System.Windows.Forms"> + <value>..\logo.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value> + </data> +</root> \ No newline at end of file Added: trunk/plugins/ArcsoftPlayer/logo.png =================================================================== (Binary files differ) Property changes on: trunk/plugins/ArcsoftPlayer/logo.png ___________________________________________________________________ Added: svn:mime-type + application/octet-stream This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |