Commit 4f25cd07 authored by Martin Finkel's avatar Martin Finkel

Initial WinForms control and sample.

Consumer apps need to use old style sdk right now for designer support.

 framework version
parent 282507aa
<Project Sdk="Microsoft.NET.Sdk">
<PropertyGroup>
<Title>LibVLCSharp.WinForms</Title>
<Summary>WinForms integration for LibVLCSharp</Summary>
<Description>
LibVLCSharp is a cross-platform audio and video API for .NET platforms based on VideoLAN's LibVLC Library.
It provides a comprehensive multimedia API that can be used across mobile, server and desktop to render video and output audio. Mono, .NET Framework and .NET Core runtimes are supported.
Use this package in your WinForms project to get a VideoView with LibVLCSharp integration.
Features:
- Network browsing for distant filesystems (SMB, FTP, SFTP, NFS...).
- HDMI passthrough for Audio HD codecs, like E-AC3, TrueHD or DTS-HD.
- Stream to distant renderers, like Chromecast.
- 360 video and 3D audio playback with viewpoint change.
- Support for Ambisonics audio and more than 8 audio channels.
- Subtitles size modification live.
- Hardware decoding and display on all platforms.
- DVD playback and menu navigation.
</Description>
<TargetFrameworks>net40</TargetFrameworks>
<RootNamespace>LibVLCSharp.WinForms</RootNamespace>
<Version>0.0.1</Version>
<PackageId>LibVLCSharp.WinForms</PackageId>
<Authors>VideoLAN</Authors>
<Owners>VideoLAN</Owners>
<GeneratePackageOnBuild Condition=" '$(Configuration)' == 'Release' ">true</GeneratePackageOnBuild>
<GenerateDocumentationFile Condition=" '$(Configuration)' == 'Release' ">true</GenerateDocumentationFile>
<UseFullSemVerForNuGet>false</UseFullSemVerForNuGet>
<PackageLicenseExpression>LGPL-2.1-or-later</PackageLicenseExpression>
<RepositoryType>git</RepositoryType>
<RepositoryUrl>https://code.videolan.org/videolan/LibVLCSharp</RepositoryUrl>
<PackageIconUrl>https://code.videolan.org/videolan/LibVLCSharp/raw/master/Assets/icon.png</PackageIconUrl>
<PackageReleaseNotes>https://code.videolan.org/videolan/LibVLCSharp/blob/master/NEWS</PackageReleaseNotes>
<PackageTags>libvlc;vlc;videolan;native;c/c++;video;audio;player;media;mediaplayer;codec;ffmpeg;xamarin;graphics;ios;android;linux;windows;macos;cross-platform</PackageTags>
</PropertyGroup>
<ItemGroup>
<ProjectReference Include="..\LibVLCSharp\LibVLCSharp.csproj" />
</ItemGroup>
<ItemGroup>
<Reference Include="System.Windows.Forms" />
</ItemGroup>
</Project>
\ No newline at end of file
using LibVLCSharp.Shared;
using System;
using System.ComponentModel;
using System.Windows.Forms;
namespace LibVLCSharp.WinForms
{
/// <summary>
/// WinForms VideoView control with a LibVLCSharp MediaPlayer
/// </summary>
public class VideoView : Control, ISupportInitialize, IVideoView, IDisposable
{
/// <summary>
/// The VideoView constructor.
/// </summary>
public VideoView()
{
BackColor = System.Drawing.Color.Black;
}
MediaPlayer _mp;
/// <summary>
/// The MediaPlayer attached to this view (or null)
/// </summary>
public MediaPlayer MediaPlayer
{
get => _mp;
set
{
if (ReferenceEquals(_mp, value))
{
return;
}
Detach();
_mp = value;
Attach();
}
}
/// <summary>
/// This currently does not do anything
/// </summary>
void ISupportInitialize.BeginInit()
{
}
/// <summary>
/// This attaches the mediaplayer to the view (if any)
/// </summary>
void ISupportInitialize.EndInit()
{
if (IsInDesignMode)
return;
Attach();
}
bool IsInDesignMode
{
get
{
if (LicenseManager.UsageMode == LicenseUsageMode.Designtime)
return true;
Control ctrl = this;
while (ctrl != null)
{
if ((ctrl.Site != null) && ctrl.Site.DesignMode)
return true;
ctrl = ctrl.Parent;
}
return false;
}
}
void Detach()
{
if (_mp == null)
return;
_mp.Hwnd = IntPtr.Zero;
}
void Attach()
{
if (_mp == null)
return;
_mp.Hwnd = Handle;
}
bool disposedValue;
protected override void Dispose(bool disposing)
{
if (!disposedValue)
{
if (disposing)
{
if (MediaPlayer != null)
{
MediaPlayer.Hwnd = IntPtr.Zero;
}
}
disposedValue = true;
}
}
}
}
\ No newline at end of file
......@@ -57,6 +57,9 @@ EndProject
Project("{9344BDBB-3E7F-41FC-A0DD-8665D75EE146}") = "LibVLCSharp.WPF", "LibVLCSharp.WPF\LibVLCSharp.WPF.csproj", "{7A63D691-F205-4805-A118-D0CD7EF4268C}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "LibVLCSharp.tvOS.Sample", "Samples\LibVLCSharp.tvOS.Sample\LibVLCSharp.tvOS.Sample.csproj", "{B6182E93-C6B0-4494-840E-BB045933857C}"
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "LibVLCSharp.WinForms", "LibVLCSharp.WinForms\LibVLCSharp.WinForms.csproj", "{66420176-ADD8-4407-9530-4F15676EFFD1}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "LibVLCSharp.WinForms.Sample", "Samples\LibVLCSharp.WinForms.Sample\LibVLCSharp.WinForms.Sample.csproj", "{65A8ECFD-4D73-48A3-A05E-3D8807FEB0C2}"
EndProject
Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution
......@@ -1016,6 +1019,86 @@ Global
{B6182E93-C6B0-4494-840E-BB045933857C}.Release|x64.Build.0 = Release|iPhone
{B6182E93-C6B0-4494-840E-BB045933857C}.Release|x86.ActiveCfg = Release|iPhone
{B6182E93-C6B0-4494-840E-BB045933857C}.Release|x86.Build.0 = Release|iPhone
{66420176-ADD8-4407-9530-4F15676EFFD1}.Ad-Hoc|Any CPU.ActiveCfg = Release|Any CPU
{66420176-ADD8-4407-9530-4F15676EFFD1}.Ad-Hoc|Any CPU.Build.0 = Release|Any CPU
{66420176-ADD8-4407-9530-4F15676EFFD1}.Ad-Hoc|iPhone.ActiveCfg = Release|Any CPU
{66420176-ADD8-4407-9530-4F15676EFFD1}.Ad-Hoc|iPhone.Build.0 = Release|Any CPU
{66420176-ADD8-4407-9530-4F15676EFFD1}.Ad-Hoc|iPhoneSimulator.ActiveCfg = Release|Any CPU
{66420176-ADD8-4407-9530-4F15676EFFD1}.Ad-Hoc|iPhoneSimulator.Build.0 = Release|Any CPU
{66420176-ADD8-4407-9530-4F15676EFFD1}.Ad-Hoc|x64.ActiveCfg = Release|Any CPU
{66420176-ADD8-4407-9530-4F15676EFFD1}.Ad-Hoc|x64.Build.0 = Release|Any CPU
{66420176-ADD8-4407-9530-4F15676EFFD1}.Ad-Hoc|x86.ActiveCfg = Release|Any CPU
{66420176-ADD8-4407-9530-4F15676EFFD1}.Ad-Hoc|x86.Build.0 = Release|Any CPU
{66420176-ADD8-4407-9530-4F15676EFFD1}.AppStore|Any CPU.ActiveCfg = Release|Any CPU
{66420176-ADD8-4407-9530-4F15676EFFD1}.AppStore|Any CPU.Build.0 = Release|Any CPU
{66420176-ADD8-4407-9530-4F15676EFFD1}.AppStore|iPhone.ActiveCfg = Release|Any CPU
{66420176-ADD8-4407-9530-4F15676EFFD1}.AppStore|iPhone.Build.0 = Release|Any CPU
{66420176-ADD8-4407-9530-4F15676EFFD1}.AppStore|iPhoneSimulator.ActiveCfg = Release|Any CPU
{66420176-ADD8-4407-9530-4F15676EFFD1}.AppStore|iPhoneSimulator.Build.0 = Release|Any CPU
{66420176-ADD8-4407-9530-4F15676EFFD1}.AppStore|x64.ActiveCfg = Release|Any CPU
{66420176-ADD8-4407-9530-4F15676EFFD1}.AppStore|x64.Build.0 = Release|Any CPU
{66420176-ADD8-4407-9530-4F15676EFFD1}.AppStore|x86.ActiveCfg = Release|Any CPU
{66420176-ADD8-4407-9530-4F15676EFFD1}.AppStore|x86.Build.0 = Release|Any CPU
{66420176-ADD8-4407-9530-4F15676EFFD1}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{66420176-ADD8-4407-9530-4F15676EFFD1}.Debug|Any CPU.Build.0 = Debug|Any CPU
{66420176-ADD8-4407-9530-4F15676EFFD1}.Debug|iPhone.ActiveCfg = Debug|Any CPU
{66420176-ADD8-4407-9530-4F15676EFFD1}.Debug|iPhone.Build.0 = Debug|Any CPU
{66420176-ADD8-4407-9530-4F15676EFFD1}.Debug|iPhoneSimulator.ActiveCfg = Debug|Any CPU
{66420176-ADD8-4407-9530-4F15676EFFD1}.Debug|iPhoneSimulator.Build.0 = Debug|Any CPU
{66420176-ADD8-4407-9530-4F15676EFFD1}.Debug|x64.ActiveCfg = Debug|Any CPU
{66420176-ADD8-4407-9530-4F15676EFFD1}.Debug|x64.Build.0 = Debug|Any CPU
{66420176-ADD8-4407-9530-4F15676EFFD1}.Debug|x86.ActiveCfg = Debug|Any CPU
{66420176-ADD8-4407-9530-4F15676EFFD1}.Debug|x86.Build.0 = Debug|Any CPU
{66420176-ADD8-4407-9530-4F15676EFFD1}.Release|Any CPU.ActiveCfg = Release|Any CPU
{66420176-ADD8-4407-9530-4F15676EFFD1}.Release|Any CPU.Build.0 = Release|Any CPU
{66420176-ADD8-4407-9530-4F15676EFFD1}.Release|iPhone.ActiveCfg = Release|Any CPU
{66420176-ADD8-4407-9530-4F15676EFFD1}.Release|iPhone.Build.0 = Release|Any CPU
{66420176-ADD8-4407-9530-4F15676EFFD1}.Release|iPhoneSimulator.ActiveCfg = Release|Any CPU
{66420176-ADD8-4407-9530-4F15676EFFD1}.Release|iPhoneSimulator.Build.0 = Release|Any CPU
{66420176-ADD8-4407-9530-4F15676EFFD1}.Release|x64.ActiveCfg = Release|Any CPU
{66420176-ADD8-4407-9530-4F15676EFFD1}.Release|x64.Build.0 = Release|Any CPU
{66420176-ADD8-4407-9530-4F15676EFFD1}.Release|x86.ActiveCfg = Release|Any CPU
{66420176-ADD8-4407-9530-4F15676EFFD1}.Release|x86.Build.0 = Release|Any CPU
{65A8ECFD-4D73-48A3-A05E-3D8807FEB0C2}.Ad-Hoc|Any CPU.ActiveCfg = Release|Any CPU
{65A8ECFD-4D73-48A3-A05E-3D8807FEB0C2}.Ad-Hoc|Any CPU.Build.0 = Release|Any CPU
{65A8ECFD-4D73-48A3-A05E-3D8807FEB0C2}.Ad-Hoc|iPhone.ActiveCfg = Release|Any CPU
{65A8ECFD-4D73-48A3-A05E-3D8807FEB0C2}.Ad-Hoc|iPhone.Build.0 = Release|Any CPU
{65A8ECFD-4D73-48A3-A05E-3D8807FEB0C2}.Ad-Hoc|iPhoneSimulator.ActiveCfg = Release|Any CPU
{65A8ECFD-4D73-48A3-A05E-3D8807FEB0C2}.Ad-Hoc|iPhoneSimulator.Build.0 = Release|Any CPU
{65A8ECFD-4D73-48A3-A05E-3D8807FEB0C2}.Ad-Hoc|x64.ActiveCfg = Release|Any CPU
{65A8ECFD-4D73-48A3-A05E-3D8807FEB0C2}.Ad-Hoc|x64.Build.0 = Release|Any CPU
{65A8ECFD-4D73-48A3-A05E-3D8807FEB0C2}.Ad-Hoc|x86.ActiveCfg = Release|Any CPU
{65A8ECFD-4D73-48A3-A05E-3D8807FEB0C2}.Ad-Hoc|x86.Build.0 = Release|Any CPU
{65A8ECFD-4D73-48A3-A05E-3D8807FEB0C2}.AppStore|Any CPU.ActiveCfg = Release|Any CPU
{65A8ECFD-4D73-48A3-A05E-3D8807FEB0C2}.AppStore|Any CPU.Build.0 = Release|Any CPU
{65A8ECFD-4D73-48A3-A05E-3D8807FEB0C2}.AppStore|iPhone.ActiveCfg = Release|Any CPU
{65A8ECFD-4D73-48A3-A05E-3D8807FEB0C2}.AppStore|iPhone.Build.0 = Release|Any CPU
{65A8ECFD-4D73-48A3-A05E-3D8807FEB0C2}.AppStore|iPhoneSimulator.ActiveCfg = Release|Any CPU
{65A8ECFD-4D73-48A3-A05E-3D8807FEB0C2}.AppStore|iPhoneSimulator.Build.0 = Release|Any CPU
{65A8ECFD-4D73-48A3-A05E-3D8807FEB0C2}.AppStore|x64.ActiveCfg = Release|Any CPU
{65A8ECFD-4D73-48A3-A05E-3D8807FEB0C2}.AppStore|x64.Build.0 = Release|Any CPU
{65A8ECFD-4D73-48A3-A05E-3D8807FEB0C2}.AppStore|x86.ActiveCfg = Release|Any CPU
{65A8ECFD-4D73-48A3-A05E-3D8807FEB0C2}.AppStore|x86.Build.0 = Release|Any CPU
{65A8ECFD-4D73-48A3-A05E-3D8807FEB0C2}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{65A8ECFD-4D73-48A3-A05E-3D8807FEB0C2}.Debug|Any CPU.Build.0 = Debug|Any CPU
{65A8ECFD-4D73-48A3-A05E-3D8807FEB0C2}.Debug|iPhone.ActiveCfg = Debug|Any CPU
{65A8ECFD-4D73-48A3-A05E-3D8807FEB0C2}.Debug|iPhone.Build.0 = Debug|Any CPU
{65A8ECFD-4D73-48A3-A05E-3D8807FEB0C2}.Debug|iPhoneSimulator.ActiveCfg = Debug|Any CPU
{65A8ECFD-4D73-48A3-A05E-3D8807FEB0C2}.Debug|iPhoneSimulator.Build.0 = Debug|Any CPU
{65A8ECFD-4D73-48A3-A05E-3D8807FEB0C2}.Debug|x64.ActiveCfg = Debug|Any CPU
{65A8ECFD-4D73-48A3-A05E-3D8807FEB0C2}.Debug|x64.Build.0 = Debug|Any CPU
{65A8ECFD-4D73-48A3-A05E-3D8807FEB0C2}.Debug|x86.ActiveCfg = Debug|Any CPU
{65A8ECFD-4D73-48A3-A05E-3D8807FEB0C2}.Debug|x86.Build.0 = Debug|Any CPU
{65A8ECFD-4D73-48A3-A05E-3D8807FEB0C2}.Release|Any CPU.ActiveCfg = Release|Any CPU
{65A8ECFD-4D73-48A3-A05E-3D8807FEB0C2}.Release|Any CPU.Build.0 = Release|Any CPU
{65A8ECFD-4D73-48A3-A05E-3D8807FEB0C2}.Release|iPhone.ActiveCfg = Release|Any CPU
{65A8ECFD-4D73-48A3-A05E-3D8807FEB0C2}.Release|iPhone.Build.0 = Release|Any CPU
{65A8ECFD-4D73-48A3-A05E-3D8807FEB0C2}.Release|iPhoneSimulator.ActiveCfg = Release|Any CPU
{65A8ECFD-4D73-48A3-A05E-3D8807FEB0C2}.Release|iPhoneSimulator.Build.0 = Release|Any CPU
{65A8ECFD-4D73-48A3-A05E-3D8807FEB0C2}.Release|x64.ActiveCfg = Release|Any CPU
{65A8ECFD-4D73-48A3-A05E-3D8807FEB0C2}.Release|x64.Build.0 = Release|Any CPU
{65A8ECFD-4D73-48A3-A05E-3D8807FEB0C2}.Release|x86.ActiveCfg = Release|Any CPU
{65A8ECFD-4D73-48A3-A05E-3D8807FEB0C2}.Release|x86.Build.0 = Release|Any CPU
EndGlobalSection
GlobalSection(SolutionProperties) = preSolution
HideSolutionNode = FALSE
......@@ -1037,6 +1120,7 @@ Global
{94DF9F22-6E0B-4774-9B13-CABC3D3A2E3E} = {799A84A2-2161-4676-878B-5610E3586137}
{FBBF3364-2581-48FD-A6F8-68319640E785} = {FC68D8B7-758E-4164-945B-9F922FA883F6}
{B6182E93-C6B0-4494-840E-BB045933857C} = {799A84A2-2161-4676-878B-5610E3586137}
{65A8ECFD-4D73-48A3-A05E-3D8807FEB0C2} = {799A84A2-2161-4676-878B-5610E3586137}
EndGlobalSection
GlobalSection(ExtensibilityGlobals) = postSolution
SolutionGuid = {AB1424F9-871B-444A-9278-18227672889C}
......
//------------------------------------------------------------------------------
// <auto-generated>
// This code was generated by a tool.
// Runtime Version:4.0.30319.42000
//
// Changes to this file may cause incorrect behavior and will be lost if
// the code is regenerated.
// </auto-generated>
//------------------------------------------------------------------------------
namespace LibVLCSharp.WinForms.Sample {
[global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]
[global::System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.VisualStudio.Editors.SettingsDesigner.SettingsSingleFileGenerator", "15.9.0.0")]
internal sealed partial class App : global::System.Configuration.ApplicationSettingsBase {
private static App defaultInstance = ((App)(global::System.Configuration.ApplicationSettingsBase.Synchronized(new App())));
public static App Default {
get {
return defaultInstance;
}
}
}
}
<?xml version="1.0" encoding="utf-8" ?>
<configuration>
<startup>
<supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.7" />
</startup>
</configuration>
\ No newline at end of file
namespace LibVLCSharp.WinForms.Sample
{
partial class Form1
{
/// <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();
this._mp?.Dispose();
this._libVLC?.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.videoView1 = new LibVLCSharp.WinForms.VideoView();
((System.ComponentModel.ISupportInitialize)(this.videoView1)).BeginInit();
this.SuspendLayout();
//
// videoView1
//
this.videoView1.BackColor = System.Drawing.Color.Black;
this.videoView1.Dock = System.Windows.Forms.DockStyle.Fill;
this.videoView1.Location = new System.Drawing.Point(0, 0);
this.videoView1.MediaPlayer = null;
this.videoView1.Name = "videoView1";
this.videoView1.Size = new System.Drawing.Size(800, 450);
this.videoView1.TabIndex = 0;
//
// Form1
//
this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F);
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
this.ClientSize = new System.Drawing.Size(800, 450);
this.Controls.Add(this.videoView1);
this.Name = "Form1";
this.Text = "LibVLCSharp.WinForms";
((System.ComponentModel.ISupportInitialize)(this.videoView1)).EndInit();
this.ResumeLayout(false);
}
#endregion
private VideoView videoView1;
}
}
\ No newline at end of file
using System;
using System.Windows.Forms;
using LibVLCSharp.Shared;
namespace LibVLCSharp.WinForms.Sample
{
public partial class Form1 : Form
{
public LibVLC _libVLC;
public MediaPlayer _mp;
public Form1()
{
if (!DesignMode)
{
Core.Initialize();
}
InitializeComponent();
_libVLC = new LibVLC();
_mp = new MediaPlayer(_libVLC);
videoView1.MediaPlayer = _mp;
Load += Form1_Load;
}
private void Form1_Load(object sender, EventArgs e)
{
_mp.Play(new Media(_libVLC, "http://www.quirksmode.org/html5/videos/big_buck_bunny.mp4", Media.FromType.FromLocation));
}
}
}
\ No newline at end of file
<Project Sdk="MSBuild.Sdk.Extras/1.6.46">
<PropertyGroup>
<Title>LibVLCSharp.WinForms.Sample</Title>
<OutputType>WinExe</OutputType>
<TargetFramework>net40</TargetFramework>
<RootNamespace>LibVLCSharp.WinForms.Sample</RootNamespace>
<ExtrasEnableWinFormsProjectSetup>true</ExtrasEnableWinFormsProjectSetup>
</PropertyGroup>
<ItemGroup>
<PackageReference Include="VideoLAN.LibVLC.Windows" Version="3.0.6" />
</ItemGroup>
<ItemGroup>
<ProjectReference Include="..\..\LibVLCSharp.WinForms\LibVLCSharp.WinForms.csproj" />
</ItemGroup>
<ItemGroup>
<Compile Update="Form1.cs">
<SubType>Form</SubType>
</Compile>
</ItemGroup>
</Project>
\ No newline at end of file
using System;
using System.Collections.Generic;
using System.Linq;
using System.Threading.Tasks;
using System.Windows.Forms;
namespace LibVLCSharp.WinForms.Sample
{
static class Program
{
/// <summary>
/// The main entry point for the application.
/// </summary>
[STAThread]
static void Main()
{
Application.EnableVisualStyles();
Application.SetCompatibleTextRenderingDefault(false);
Application.Run(new Form1());
}
}
}
//------------------------------------------------------------------------------
// <auto-generated>
// This code was generated by a tool.
// Runtime Version:4.0.30319.42000
//
// Changes to this file may cause incorrect behavior and will be lost if
// the code is regenerated.
// </auto-generated>
//------------------------------------------------------------------------------
namespace LibVLCSharp.WinForms.Sample.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", "15.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("LibVLCSharp.WinForms.Sample.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;
}
}
}
}
<?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.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: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" type="xsd:string" />
<xsd:attribute name="type" type="xsd:string" />
<xsd:attribute name="mimetype" type="xsd:string" />
</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" msdata:Ordinal="1" />
<xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
<xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
</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
//------------------------------------------------------------------------------
// <auto-generated>
// This code was generated by a tool.
// Runtime Version:4.0.30319.42000
//
// Changes to this file may cause incorrect behavior and will be lost if
// the code is regenerated.
// </auto-generated>
//------------------------------------------------------------------------------
namespace LibVLCSharp.WinForms.Sample.Properties {
[global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]
[global::System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.VisualStudio.Editors.SettingsDesigner.SettingsSingleFileGenerator", "15.9.0.0")]
internal sealed partial class Settings : global::System.Configuration.ApplicationSettingsBase {
private static Settings defaultInstance = ((Settings)(global::System.Configuration.ApplicationSettingsBase.Synchronized(new Settings())));
public static Settings Default {
get {
return defaultInstance;
}
}
}
}
<?xml version='1.0' encoding='utf-8'?>
<SettingsFile xmlns="http://schemas.microsoft.com/VisualStudio/2004/01/settings" CurrentProfile="(Default)">
<Profiles>
<Profile Name="(Default)" />
</Profiles>
<Settings />
</SettingsFile>
//------------------------------------------------------------------------------
// <auto-generated>
// This code was generated by a tool.
// Runtime Version:4.0.30319.42000
//
// Changes to this file may cause incorrect behavior and will be lost if
// the code is regenerated.
// </auto-generated>
//------------------------------------------------------------------------------
namespace LibVLCSharp.WinForms.Sample {
[global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]
[global::System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.VisualStudio.Editors.SettingsDesigner.SettingsSingleFileGenerator", "15.9.0.0")]
internal sealed partial class packages : global::System.Configuration.ApplicationSettingsBase {
private static packages defaultInstance = ((packages)(global::System.Configuration.ApplicationSettingsBase.Synchronized(new packages())));
public static packages Default {
get {
return defaultInstance;
}
}
}
}
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment