Change project name.
|
@ -6,8 +6,8 @@
|
|||
<Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
|
||||
<ProjectGuid>{EF437C2D-9F33-4A80-985D-FAFD8ABCF304}</ProjectGuid>
|
||||
<OutputType>WinExe</OutputType>
|
||||
<RootNamespace>RemoteGlassLauncher</RootNamespace>
|
||||
<AssemblyName>RemoteGlassLauncher</AssemblyName>
|
||||
<RootNamespace>ALVR</RootNamespace>
|
||||
<AssemblyName>ALVR</AssemblyName>
|
||||
<TargetFrameworkVersion>v4.6.1</TargetFrameworkVersion>
|
||||
<FileAlignment>512</FileAlignment>
|
||||
<AutoGenerateBindingRedirects>true</AutoGenerateBindingRedirects>
|
||||
|
@ -32,6 +32,16 @@
|
|||
<WarningLevel>4</WarningLevel>
|
||||
</PropertyGroup>
|
||||
<ItemGroup>
|
||||
<Reference Include="MetroFramework, Version=1.2.0.3, Culture=neutral, PublicKeyToken=5f91a84759bf584a, processorArchitecture=MSIL">
|
||||
<HintPath>..\packages\MetroFramework.RunTime.1.2.0.3\lib\net40-Client\MetroFramework.dll</HintPath>
|
||||
</Reference>
|
||||
<Reference Include="MetroFramework.Design, Version=1.2.0.3, Culture=neutral, PublicKeyToken=5f91a84759bf584a, processorArchitecture=MSIL">
|
||||
<HintPath>..\packages\MetroFramework.Design.1.2.0.3\lib\net40\MetroFramework.Design.dll</HintPath>
|
||||
<Private>False</Private>
|
||||
</Reference>
|
||||
<Reference Include="MetroFramework.Fonts, Version=1.2.0.3, Culture=neutral, PublicKeyToken=5f91a84759bf584a, processorArchitecture=MSIL">
|
||||
<HintPath>..\packages\MetroFramework.Fonts.1.2.0.3\lib\net40\MetroFramework.Fonts.dll</HintPath>
|
||||
</Reference>
|
||||
<Reference Include="System" />
|
||||
<Reference Include="System.Core" />
|
||||
<Reference Include="System.Xml.Linq" />
|
||||
|
@ -45,16 +55,16 @@
|
|||
<Reference Include="System.Xml" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<Compile Include="Form1.cs">
|
||||
<Compile Include="Launcher.cs">
|
||||
<SubType>Form</SubType>
|
||||
</Compile>
|
||||
<Compile Include="Form1.Designer.cs">
|
||||
<DependentUpon>Form1.cs</DependentUpon>
|
||||
<Compile Include="Launcher.Designer.cs">
|
||||
<DependentUpon>Launcher.cs</DependentUpon>
|
||||
</Compile>
|
||||
<Compile Include="Program.cs" />
|
||||
<Compile Include="Properties\AssemblyInfo.cs" />
|
||||
<EmbeddedResource Include="Form1.resx">
|
||||
<DependentUpon>Form1.cs</DependentUpon>
|
||||
<EmbeddedResource Include="Launcher.resx">
|
||||
<DependentUpon>Launcher.cs</DependentUpon>
|
||||
</EmbeddedResource>
|
||||
<EmbeddedResource Include="Properties\Resources.resx">
|
||||
<Generator>ResXFileCodeGenerator</Generator>
|
||||
|
@ -64,7 +74,9 @@
|
|||
<Compile Include="Properties\Resources.Designer.cs">
|
||||
<AutoGen>True</AutoGen>
|
||||
<DependentUpon>Resources.resx</DependentUpon>
|
||||
<DesignTime>True</DesignTime>
|
||||
</Compile>
|
||||
<None Include="packages.config" />
|
||||
<None Include="Properties\Settings.settings">
|
||||
<Generator>SettingsSingleFileGenerator</Generator>
|
||||
<LastGenOutput>Settings.Designer.cs</LastGenOutput>
|
||||
|
@ -78,5 +90,8 @@
|
|||
<ItemGroup>
|
||||
<None Include="App.config" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<Content Include="MetroFramework.txt" />
|
||||
</ItemGroup>
|
||||
<Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />
|
||||
</Project>
|
|
@ -0,0 +1,209 @@
|
|||
namespace RemoteGlassLauncher
|
||||
{
|
||||
partial class Launcher
|
||||
{
|
||||
/// <summary>
|
||||
/// 必要なデザイナー変数です。
|
||||
/// </summary>
|
||||
private System.ComponentModel.IContainer components = null;
|
||||
|
||||
/// <summary>
|
||||
/// 使用中のリソースをすべてクリーンアップします。
|
||||
/// </summary>
|
||||
/// <param name="disposing">マネージ リソースを破棄する場合は true を指定し、その他の場合は false を指定します。</param>
|
||||
protected override void Dispose(bool disposing)
|
||||
{
|
||||
if (disposing && (components != null))
|
||||
{
|
||||
components.Dispose();
|
||||
}
|
||||
base.Dispose(disposing);
|
||||
}
|
||||
|
||||
#region Windows フォーム デザイナーで生成されたコード
|
||||
|
||||
/// <summary>
|
||||
/// デザイナー サポートに必要なメソッドです。このメソッドの内容を
|
||||
/// コード エディターで変更しないでください。
|
||||
/// </summary>
|
||||
private void InitializeComponent()
|
||||
{
|
||||
this.metroButton1 = new MetroFramework.Controls.MetroButton();
|
||||
this.metroButton2 = new MetroFramework.Controls.MetroButton();
|
||||
this.metroProgressSpinner1 = new MetroFramework.Controls.MetroProgressSpinner();
|
||||
this.metroButton3 = new MetroFramework.Controls.MetroButton();
|
||||
this.metroTabControl1 = new MetroFramework.Controls.MetroTabControl();
|
||||
this.metroTabPage1 = new MetroFramework.Controls.MetroTabPage();
|
||||
this.metroTabPage2 = new MetroFramework.Controls.MetroTabPage();
|
||||
this.metroTabPage3 = new MetroFramework.Controls.MetroTabPage();
|
||||
this.metroTextBox2 = new MetroFramework.Controls.MetroTextBox();
|
||||
this.metroTextBox1 = new MetroFramework.Controls.MetroTextBox();
|
||||
this.metroLabel2 = new MetroFramework.Controls.MetroLabel();
|
||||
this.metroLabel1 = new MetroFramework.Controls.MetroLabel();
|
||||
this.metroLabel3 = new MetroFramework.Controls.MetroLabel();
|
||||
this.metroTabControl1.SuspendLayout();
|
||||
this.metroTabPage3.SuspendLayout();
|
||||
this.SuspendLayout();
|
||||
//
|
||||
// metroButton1
|
||||
//
|
||||
this.metroButton1.Location = new System.Drawing.Point(283, 12);
|
||||
this.metroButton1.Name = "metroButton1";
|
||||
this.metroButton1.Size = new System.Drawing.Size(75, 23);
|
||||
this.metroButton1.TabIndex = 6;
|
||||
this.metroButton1.Text = "Send";
|
||||
//
|
||||
// metroButton2
|
||||
//
|
||||
this.metroButton2.Location = new System.Drawing.Point(283, 53);
|
||||
this.metroButton2.Name = "metroButton2";
|
||||
this.metroButton2.Size = new System.Drawing.Size(75, 23);
|
||||
this.metroButton2.TabIndex = 6;
|
||||
this.metroButton2.Text = "Send";
|
||||
//
|
||||
// metroProgressSpinner1
|
||||
//
|
||||
this.metroProgressSpinner1.Location = new System.Drawing.Point(473, 32);
|
||||
this.metroProgressSpinner1.Maximum = 100;
|
||||
this.metroProgressSpinner1.Name = "metroProgressSpinner1";
|
||||
this.metroProgressSpinner1.Size = new System.Drawing.Size(38, 36);
|
||||
this.metroProgressSpinner1.TabIndex = 7;
|
||||
//
|
||||
// metroButton3
|
||||
//
|
||||
this.metroButton3.Location = new System.Drawing.Point(283, 101);
|
||||
this.metroButton3.Name = "metroButton3";
|
||||
this.metroButton3.Size = new System.Drawing.Size(75, 23);
|
||||
this.metroButton3.TabIndex = 6;
|
||||
this.metroButton3.Text = "Capture DDS";
|
||||
//
|
||||
// metroTabControl1
|
||||
//
|
||||
this.metroTabControl1.Controls.Add(this.metroTabPage1);
|
||||
this.metroTabControl1.Controls.Add(this.metroTabPage2);
|
||||
this.metroTabControl1.Controls.Add(this.metroTabPage3);
|
||||
this.metroTabControl1.Location = new System.Drawing.Point(23, 63);
|
||||
this.metroTabControl1.Name = "metroTabControl1";
|
||||
this.metroTabControl1.SelectedIndex = 0;
|
||||
this.metroTabControl1.Size = new System.Drawing.Size(664, 325);
|
||||
this.metroTabControl1.TabIndex = 8;
|
||||
//
|
||||
// metroTabPage1
|
||||
//
|
||||
this.metroTabPage1.HorizontalScrollbarBarColor = true;
|
||||
this.metroTabPage1.Location = new System.Drawing.Point(4, 38);
|
||||
this.metroTabPage1.Name = "metroTabPage1";
|
||||
this.metroTabPage1.Size = new System.Drawing.Size(656, 283);
|
||||
this.metroTabPage1.TabIndex = 0;
|
||||
this.metroTabPage1.Text = "Video";
|
||||
this.metroTabPage1.VerticalScrollbarBarColor = true;
|
||||
//
|
||||
// metroTabPage2
|
||||
//
|
||||
this.metroTabPage2.HorizontalScrollbarBarColor = true;
|
||||
this.metroTabPage2.Location = new System.Drawing.Point(4, 38);
|
||||
this.metroTabPage2.Name = "metroTabPage2";
|
||||
this.metroTabPage2.Size = new System.Drawing.Size(656, 283);
|
||||
this.metroTabPage2.TabIndex = 1;
|
||||
this.metroTabPage2.Text = "Network";
|
||||
this.metroTabPage2.VerticalScrollbarBarColor = true;
|
||||
//
|
||||
// metroTabPage3
|
||||
//
|
||||
this.metroTabPage3.Controls.Add(this.metroTextBox2);
|
||||
this.metroTabPage3.Controls.Add(this.metroTextBox1);
|
||||
this.metroTabPage3.Controls.Add(this.metroLabel2);
|
||||
this.metroTabPage3.Controls.Add(this.metroLabel1);
|
||||
this.metroTabPage3.Controls.Add(this.metroButton3);
|
||||
this.metroTabPage3.Controls.Add(this.metroButton2);
|
||||
this.metroTabPage3.Controls.Add(this.metroButton1);
|
||||
this.metroTabPage3.HorizontalScrollbarBarColor = true;
|
||||
this.metroTabPage3.Location = new System.Drawing.Point(4, 38);
|
||||
this.metroTabPage3.Name = "metroTabPage3";
|
||||
this.metroTabPage3.Size = new System.Drawing.Size(656, 283);
|
||||
this.metroTabPage3.TabIndex = 2;
|
||||
this.metroTabPage3.Text = "Debug";
|
||||
this.metroTabPage3.VerticalScrollbarBarColor = true;
|
||||
//
|
||||
// metroTextBox2
|
||||
//
|
||||
this.metroTextBox2.Location = new System.Drawing.Point(161, 53);
|
||||
this.metroTextBox2.Name = "metroTextBox2";
|
||||
this.metroTextBox2.Size = new System.Drawing.Size(116, 23);
|
||||
this.metroTextBox2.TabIndex = 8;
|
||||
this.metroTextBox2.Text = "0";
|
||||
//
|
||||
// metroTextBox1
|
||||
//
|
||||
this.metroTextBox1.Location = new System.Drawing.Point(161, 11);
|
||||
this.metroTextBox1.Name = "metroTextBox1";
|
||||
this.metroTextBox1.Size = new System.Drawing.Size(116, 23);
|
||||
this.metroTextBox1.TabIndex = 8;
|
||||
this.metroTextBox1.Text = "0";
|
||||
//
|
||||
// metroLabel2
|
||||
//
|
||||
this.metroLabel2.AutoSize = true;
|
||||
this.metroLabel2.Location = new System.Drawing.Point(3, 57);
|
||||
this.metroLabel2.Name = "metroLabel2";
|
||||
this.metroLabel2.Size = new System.Drawing.Size(139, 19);
|
||||
this.metroLabel2.TabIndex = 7;
|
||||
this.metroLabel2.Text = "EnableDriverTestMode";
|
||||
//
|
||||
// metroLabel1
|
||||
//
|
||||
this.metroLabel1.AutoSize = true;
|
||||
this.metroLabel1.Location = new System.Drawing.Point(3, 16);
|
||||
this.metroLabel1.Name = "metroLabel1";
|
||||
this.metroLabel1.Size = new System.Drawing.Size(104, 19);
|
||||
this.metroLabel1.TabIndex = 7;
|
||||
this.metroLabel1.Text = "EnableTestMode";
|
||||
//
|
||||
// metroLabel3
|
||||
//
|
||||
this.metroLabel3.CustomBackground = true;
|
||||
this.metroLabel3.CustomForeColor = true;
|
||||
this.metroLabel3.FontWeight = MetroFramework.MetroLabelWeight.Regular;
|
||||
this.metroLabel3.Location = new System.Drawing.Point(517, 32);
|
||||
this.metroLabel3.Name = "metroLabel3";
|
||||
this.metroLabel3.Size = new System.Drawing.Size(115, 39);
|
||||
this.metroLabel3.TabIndex = 9;
|
||||
this.metroLabel3.Text = "metroLabel3";
|
||||
this.metroLabel3.TextAlign = System.Drawing.ContentAlignment.MiddleCenter;
|
||||
//
|
||||
// Launcher
|
||||
//
|
||||
this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 12F);
|
||||
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
|
||||
this.ClientSize = new System.Drawing.Size(710, 411);
|
||||
this.Controls.Add(this.metroProgressSpinner1);
|
||||
this.Controls.Add(this.metroLabel3);
|
||||
this.Controls.Add(this.metroTabControl1);
|
||||
this.Name = "Launcher";
|
||||
this.Text = "ALVR";
|
||||
this.Load += new System.EventHandler(this.Launcher_Load);
|
||||
this.metroTabControl1.ResumeLayout(false);
|
||||
this.metroTabPage3.ResumeLayout(false);
|
||||
this.metroTabPage3.PerformLayout();
|
||||
this.ResumeLayout(false);
|
||||
|
||||
}
|
||||
|
||||
#endregion
|
||||
|
||||
private MetroFramework.Controls.MetroButton metroButton1;
|
||||
private MetroFramework.Controls.MetroButton metroButton2;
|
||||
private MetroFramework.Controls.MetroProgressSpinner metroProgressSpinner1;
|
||||
private MetroFramework.Controls.MetroButton metroButton3;
|
||||
private MetroFramework.Controls.MetroTabControl metroTabControl1;
|
||||
private MetroFramework.Controls.MetroTabPage metroTabPage1;
|
||||
private MetroFramework.Controls.MetroTabPage metroTabPage2;
|
||||
private MetroFramework.Controls.MetroTabPage metroTabPage3;
|
||||
private MetroFramework.Controls.MetroTextBox metroTextBox2;
|
||||
private MetroFramework.Controls.MetroTextBox metroTextBox1;
|
||||
private MetroFramework.Controls.MetroLabel metroLabel2;
|
||||
private MetroFramework.Controls.MetroLabel metroLabel1;
|
||||
private MetroFramework.Controls.MetroLabel metroLabel3;
|
||||
}
|
||||
}
|
||||
|
|
@ -9,47 +9,19 @@ using System.Net.Sockets;
|
|||
using System.Text;
|
||||
using System.Threading.Tasks;
|
||||
using System.Windows.Forms;
|
||||
using MetroFramework.Forms;
|
||||
|
||||
namespace RemoteGlassLauncher
|
||||
{
|
||||
public partial class Form1 : Form
|
||||
public partial class Launcher : MetroFramework.Forms.MetroForm
|
||||
{
|
||||
string m_Host = "127.0.0.1";
|
||||
int m_Port = 9944;
|
||||
TcpClient client = new TcpClient();
|
||||
|
||||
public Form1()
|
||||
public Launcher()
|
||||
{
|
||||
InitializeComponent();
|
||||
|
||||
checkBox1.Text = "Checking server state...";
|
||||
checkBox1.Checked = false;
|
||||
client.BeginConnect(m_Host, m_Port, (e)=> {
|
||||
bool success = false;
|
||||
|
||||
try
|
||||
{
|
||||
client.EndConnect(e);
|
||||
success = true;
|
||||
} catch (SocketException e1) {
|
||||
success = false;
|
||||
}
|
||||
|
||||
Invoke((MethodInvoker)(() =>
|
||||
{
|
||||
if (success)
|
||||
{
|
||||
checkBox1.Text = "Server is alive!";
|
||||
checkBox1.Checked = true;
|
||||
}
|
||||
else
|
||||
{
|
||||
checkBox1.Text = "Server is down";
|
||||
checkBox1.Checked = false;
|
||||
}
|
||||
}));
|
||||
}, null);
|
||||
|
||||
}
|
||||
|
||||
private void SendCommand(string command)
|
||||
|
@ -74,12 +46,52 @@ namespace RemoteGlassLauncher
|
|||
|
||||
private void button2_Click(object sender, EventArgs e)
|
||||
{
|
||||
SendCommand("EnableTestMode " + textBox1.Text);
|
||||
SendCommand("EnableTestMode " + metroTextBox1.Text);
|
||||
}
|
||||
|
||||
private void button3_Click(object sender, EventArgs e)
|
||||
{
|
||||
SendCommand("EnableDriverTestMode " + textBox2.Text);
|
||||
SendCommand("EnableDriverTestMode " + metroTextBox2.Text);
|
||||
}
|
||||
|
||||
private void Launcher_Load(object sender, EventArgs e)
|
||||
{
|
||||
|
||||
metroLabel3.Text = "Checking server state...";
|
||||
metroLabel3.BackColor = Color.White;
|
||||
metroLabel3.ForeColor = Color.Black;
|
||||
|
||||
client.BeginConnect(m_Host, m_Port, (e2) => {
|
||||
bool success = false;
|
||||
|
||||
try
|
||||
{
|
||||
client.EndConnect(e2);
|
||||
success = true;
|
||||
}
|
||||
catch (SocketException e1)
|
||||
{
|
||||
success = false;
|
||||
}
|
||||
|
||||
Invoke((MethodInvoker)(() =>
|
||||
{
|
||||
metroProgressSpinner1.Hide();
|
||||
if (success)
|
||||
{
|
||||
metroLabel3.Text = "Server is alive!";
|
||||
metroLabel3.BackColor = Color.LimeGreen;
|
||||
metroLabel3.ForeColor = Color.White;
|
||||
}
|
||||
else
|
||||
{
|
||||
metroLabel3.Text = "Server is down";
|
||||
metroLabel3.BackColor = Color.Gray;
|
||||
metroLabel3.ForeColor = Color.White;
|
||||
}
|
||||
}));
|
||||
}, null);
|
||||
|
||||
}
|
||||
}
|
||||
}
|
|
@ -16,7 +16,7 @@ namespace RemoteGlassLauncher
|
|||
{
|
||||
Application.EnableVisualStyles();
|
||||
Application.SetCompatibleTextRenderingDefault(false);
|
||||
Application.Run(new Form1());
|
||||
Application.Run(new Launcher());
|
||||
}
|
||||
}
|
||||
}
|
|
@ -5,11 +5,11 @@ using System.Runtime.InteropServices;
|
|||
// アセンブリに関する一般情報は以下の属性セットをとおして制御されます。
|
||||
// アセンブリに関連付けられている情報を変更するには、
|
||||
// これらの属性値を変更してください。
|
||||
[assembly: AssemblyTitle("RemoteGlassLauncher")]
|
||||
[assembly: AssemblyTitle("ALVR")]
|
||||
[assembly: AssemblyDescription("")]
|
||||
[assembly: AssemblyConfiguration("")]
|
||||
[assembly: AssemblyCompany("")]
|
||||
[assembly: AssemblyProduct("RemoteGlassLauncher")]
|
||||
[assembly: AssemblyProduct("ALVR")]
|
||||
[assembly: AssemblyCopyright("Copyright © 2018")]
|
||||
[assembly: AssemblyTrademark("")]
|
||||
[assembly: AssemblyCulture("")]
|
|
@ -4,66 +4,58 @@
|
|||
// ランタイム バージョン:4.0.30319.42000
|
||||
//
|
||||
// このファイルへの変更は、以下の状況下で不正な動作の原因になったり、
|
||||
// コードが再生成されるときに損失したりします
|
||||
// コードが再生成されるときに損失したりします。
|
||||
// </auto-generated>
|
||||
//------------------------------------------------------------------------------
|
||||
|
||||
namespace RemoteGlassLauncher.Properties
|
||||
{
|
||||
|
||||
|
||||
namespace ALVR.Properties {
|
||||
using System;
|
||||
|
||||
|
||||
/// <summary>
|
||||
/// ローカライズされた文字列などを検索するための、厳密に型指定されたリソース クラスです。
|
||||
/// </summary>
|
||||
// このクラスは StronglyTypedResourceBuilder クラスが ResGen
|
||||
// または Visual Studio のようなツールを使用して自動生成されました。
|
||||
// メンバーを追加または削除するには、.ResX ファイルを編集して、/str オプションと共に
|
||||
// ResGen を実行し直すか、または VS プロジェクトをリビルドします。
|
||||
[global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Resources.Tools.StronglyTypedResourceBuilder", "4.0.0.0")]
|
||||
// ResGen を実行し直すか、または VS プロジェクトをビルドし直します。
|
||||
[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
|
||||
{
|
||||
|
||||
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()
|
||||
{
|
||||
internal Resources() {
|
||||
}
|
||||
|
||||
|
||||
/// <summary>
|
||||
/// このクラスで使用されるキャッシュされた ResourceManager インスタンスを返します。
|
||||
/// このクラスで使用されているキャッシュされた ResourceManager インスタンスを返します。
|
||||
/// </summary>
|
||||
[global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)]
|
||||
internal static global::System.Resources.ResourceManager ResourceManager
|
||||
{
|
||||
get
|
||||
{
|
||||
if ((resourceMan == null))
|
||||
{
|
||||
global::System.Resources.ResourceManager temp = new global::System.Resources.ResourceManager("RemoteGlassLauncher.Properties.Resources", typeof(Resources).Assembly);
|
||||
internal static global::System.Resources.ResourceManager ResourceManager {
|
||||
get {
|
||||
if (object.ReferenceEquals(resourceMan, null)) {
|
||||
global::System.Resources.ResourceManager temp = new global::System.Resources.ResourceManager("ALVR.Properties.Resources", typeof(Resources).Assembly);
|
||||
resourceMan = temp;
|
||||
}
|
||||
return resourceMan;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
/// <summary>
|
||||
/// 厳密に型指定されたこのリソース クラスを使用して、すべての検索リソースに対し、
|
||||
/// 現在のスレッドの CurrentUICulture プロパティをオーバーライドします。
|
||||
/// </summary>
|
||||
[global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)]
|
||||
internal static global::System.Globalization.CultureInfo Culture
|
||||
{
|
||||
get
|
||||
{
|
||||
internal static global::System.Globalization.CultureInfo Culture {
|
||||
get {
|
||||
return resourceCulture;
|
||||
}
|
||||
set
|
||||
{
|
||||
set {
|
||||
resourceCulture = value;
|
||||
}
|
||||
}
|
|
@ -1,28 +1,24 @@
|
|||
//------------------------------------------------------------------------------
|
||||
// <auto-generated>
|
||||
// This code was generated by a tool.
|
||||
// Runtime Version:4.0.30319.42000
|
||||
// このコードはツールによって生成されました。
|
||||
// ランタイム バージョン:4.0.30319.42000
|
||||
//
|
||||
// Changes to this file may cause incorrect behavior and will be lost if
|
||||
// the code is regenerated.
|
||||
// このファイルへの変更は、以下の状況下で不正な動作の原因になったり、
|
||||
// コードが再生成されるときに損失したりします。
|
||||
// </auto-generated>
|
||||
//------------------------------------------------------------------------------
|
||||
|
||||
namespace RemoteGlassLauncher.Properties
|
||||
{
|
||||
|
||||
|
||||
namespace ALVR.Properties {
|
||||
|
||||
|
||||
[global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]
|
||||
[global::System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.VisualStudio.Editors.SettingsDesigner.SettingsSingleFileGenerator", "11.0.0.0")]
|
||||
internal sealed partial class Settings : global::System.Configuration.ApplicationSettingsBase
|
||||
{
|
||||
|
||||
[global::System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.VisualStudio.Editors.SettingsDesigner.SettingsSingleFileGenerator", "15.5.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
|
||||
{
|
||||
|
||||
public static Settings Default {
|
||||
get {
|
||||
return defaultInstance;
|
||||
}
|
||||
}
|
|
@ -0,0 +1,7 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<packages>
|
||||
<package id="MetroFramework" version="1.2.0.3" targetFramework="net461" />
|
||||
<package id="MetroFramework.Design" version="1.2.0.3" targetFramework="net461" />
|
||||
<package id="MetroFramework.Fonts" version="1.2.0.3" targetFramework="net461" />
|
||||
<package id="MetroFramework.RunTime" version="1.2.0.3" targetFramework="net461" />
|
||||
</packages>
|
|
@ -1,146 +0,0 @@
|
|||
namespace RemoteGlassLauncher
|
||||
{
|
||||
partial class Form1
|
||||
{
|
||||
/// <summary>
|
||||
/// 必要なデザイナー変数です。
|
||||
/// </summary>
|
||||
private System.ComponentModel.IContainer components = null;
|
||||
|
||||
/// <summary>
|
||||
/// 使用中のリソースをすべてクリーンアップします。
|
||||
/// </summary>
|
||||
/// <param name="disposing">マネージ リソースを破棄する場合は true を指定し、その他の場合は false を指定します。</param>
|
||||
protected override void Dispose(bool disposing)
|
||||
{
|
||||
if (disposing && (components != null))
|
||||
{
|
||||
components.Dispose();
|
||||
}
|
||||
base.Dispose(disposing);
|
||||
}
|
||||
|
||||
#region Windows フォーム デザイナーで生成されたコード
|
||||
|
||||
/// <summary>
|
||||
/// デザイナー サポートに必要なメソッドです。このメソッドの内容を
|
||||
/// コード エディターで変更しないでください。
|
||||
/// </summary>
|
||||
private void InitializeComponent()
|
||||
{
|
||||
this.button1 = new System.Windows.Forms.Button();
|
||||
this.textBox1 = new System.Windows.Forms.TextBox();
|
||||
this.textBox2 = new System.Windows.Forms.TextBox();
|
||||
this.label1 = new System.Windows.Forms.Label();
|
||||
this.label2 = new System.Windows.Forms.Label();
|
||||
this.button2 = new System.Windows.Forms.Button();
|
||||
this.button3 = new System.Windows.Forms.Button();
|
||||
this.checkBox1 = new System.Windows.Forms.CheckBox();
|
||||
this.SuspendLayout();
|
||||
//
|
||||
// button1
|
||||
//
|
||||
this.button1.Location = new System.Drawing.Point(287, 68);
|
||||
this.button1.Name = "button1";
|
||||
this.button1.Size = new System.Drawing.Size(106, 23);
|
||||
this.button1.TabIndex = 0;
|
||||
this.button1.Text = "Capture DDS";
|
||||
this.button1.UseVisualStyleBackColor = true;
|
||||
this.button1.Click += new System.EventHandler(this.button1_Click);
|
||||
//
|
||||
// textBox1
|
||||
//
|
||||
this.textBox1.Location = new System.Drawing.Point(155, 112);
|
||||
this.textBox1.Name = "textBox1";
|
||||
this.textBox1.Size = new System.Drawing.Size(100, 19);
|
||||
this.textBox1.TabIndex = 1;
|
||||
//
|
||||
// textBox2
|
||||
//
|
||||
this.textBox2.Location = new System.Drawing.Point(155, 153);
|
||||
this.textBox2.Name = "textBox2";
|
||||
this.textBox2.Size = new System.Drawing.Size(100, 19);
|
||||
this.textBox2.TabIndex = 2;
|
||||
//
|
||||
// label1
|
||||
//
|
||||
this.label1.AutoSize = true;
|
||||
this.label1.Location = new System.Drawing.Point(29, 115);
|
||||
this.label1.Name = "label1";
|
||||
this.label1.Size = new System.Drawing.Size(89, 12);
|
||||
this.label1.TabIndex = 3;
|
||||
this.label1.Text = "EnableTestMode";
|
||||
//
|
||||
// label2
|
||||
//
|
||||
this.label2.AutoSize = true;
|
||||
this.label2.Location = new System.Drawing.Point(29, 156);
|
||||
this.label2.Name = "label2";
|
||||
this.label2.Size = new System.Drawing.Size(120, 12);
|
||||
this.label2.TabIndex = 3;
|
||||
this.label2.Text = "EnableDriverTestMode";
|
||||
//
|
||||
// button2
|
||||
//
|
||||
this.button2.Location = new System.Drawing.Point(287, 110);
|
||||
this.button2.Name = "button2";
|
||||
this.button2.Size = new System.Drawing.Size(75, 23);
|
||||
this.button2.TabIndex = 4;
|
||||
this.button2.Text = "Send";
|
||||
this.button2.UseVisualStyleBackColor = true;
|
||||
this.button2.Click += new System.EventHandler(this.button2_Click);
|
||||
//
|
||||
// button3
|
||||
//
|
||||
this.button3.Location = new System.Drawing.Point(287, 151);
|
||||
this.button3.Name = "button3";
|
||||
this.button3.Size = new System.Drawing.Size(75, 23);
|
||||
this.button3.TabIndex = 4;
|
||||
this.button3.Text = "Send";
|
||||
this.button3.UseVisualStyleBackColor = true;
|
||||
this.button3.Click += new System.EventHandler(this.button3_Click);
|
||||
//
|
||||
// checkBox1
|
||||
//
|
||||
this.checkBox1.AutoSize = true;
|
||||
this.checkBox1.Enabled = false;
|
||||
this.checkBox1.Location = new System.Drawing.Point(31, 12);
|
||||
this.checkBox1.Name = "checkBox1";
|
||||
this.checkBox1.Size = new System.Drawing.Size(80, 16);
|
||||
this.checkBox1.TabIndex = 5;
|
||||
this.checkBox1.Text = "checkBox1";
|
||||
this.checkBox1.UseVisualStyleBackColor = true;
|
||||
//
|
||||
// Form1
|
||||
//
|
||||
this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 12F);
|
||||
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
|
||||
this.ClientSize = new System.Drawing.Size(710, 411);
|
||||
this.Controls.Add(this.checkBox1);
|
||||
this.Controls.Add(this.button3);
|
||||
this.Controls.Add(this.button2);
|
||||
this.Controls.Add(this.label2);
|
||||
this.Controls.Add(this.label1);
|
||||
this.Controls.Add(this.textBox2);
|
||||
this.Controls.Add(this.textBox1);
|
||||
this.Controls.Add(this.button1);
|
||||
this.Name = "Form1";
|
||||
this.Text = "Form1";
|
||||
this.ResumeLayout(false);
|
||||
this.PerformLayout();
|
||||
|
||||
}
|
||||
|
||||
#endregion
|
||||
|
||||
private System.Windows.Forms.Button button1;
|
||||
private System.Windows.Forms.TextBox textBox1;
|
||||
private System.Windows.Forms.TextBox textBox2;
|
||||
private System.Windows.Forms.Label label1;
|
||||
private System.Windows.Forms.Label label2;
|
||||
private System.Windows.Forms.Button button2;
|
||||
private System.Windows.Forms.Button button3;
|
||||
private System.Windows.Forms.CheckBox checkBox1;
|
||||
}
|
||||
}
|
||||
|
|
@ -1,6 +1,6 @@
|
|||
{
|
||||
"alwaysActivate": true,
|
||||
"name" : "virtual_display",
|
||||
"name" : "alvr_server",
|
||||
"redirectsDisplay": true,
|
||||
|
||||
"hmd_presence" :
|
||||
|
|
|
@ -133,7 +133,7 @@ namespace
|
|||
//-----------------------------------------------------------------------------
|
||||
// Settings
|
||||
//-----------------------------------------------------------------------------
|
||||
static const char * const k_pch_Settings_Section = "driver_remote_glass";
|
||||
static const char * const k_pch_Settings_Section = "driver_alvr_server";
|
||||
static const char * const k_pch_Settings_SerialNumber_String = "serialNumber";
|
||||
static const char * const k_pch_Settings_ModelNumber_String = "modelNumber";
|
||||
static const char * const k_pch_Settings_RenderWidth_Int32 = "renderWidth";
|
||||
|
@ -1136,6 +1136,9 @@ public:
|
|||
virtual void Present(vr::SharedTextureHandle_t syncTexture) {
|
||||
Log("Present syncTexture=%p m_prevSubmitFrameIndex=%llu m_submitFrameIndex=%llu", syncTexture, m_prevSubmitFrameIndex, m_submitFrameIndex);
|
||||
|
||||
bool useMutex = false;
|
||||
IDXGIKeyedMutex *pKeyedMutex = NULL;
|
||||
|
||||
uint32_t layerCount = m_submitLayer;
|
||||
m_submitLayer = 0;
|
||||
|
||||
|
@ -1153,34 +1156,37 @@ public:
|
|||
return;
|
||||
}
|
||||
|
||||
// Access to shared texture must be wrapped in AcquireSync/ReleaseSync
|
||||
// to ensure the compositor has finished rendering to it before it gets used.
|
||||
// This enforces scheduling of work on the gpu between processes.
|
||||
IDXGIKeyedMutex *pKeyedMutex = NULL;
|
||||
if (SUCCEEDED(pSyncTexture->QueryInterface(__uuidof(IDXGIKeyedMutex), (void **)&pKeyedMutex)))
|
||||
{
|
||||
Log("[VDispDvr] Wait for SyncTexture Mutex.");
|
||||
// TODO: Reasonable timeout and timeout handling
|
||||
HRESULT hr = pKeyedMutex->AcquireSync(0, 10);
|
||||
if (hr != S_OK)
|
||||
if (useMutex) {
|
||||
// Access to shared texture must be wrapped in AcquireSync/ReleaseSync
|
||||
// to ensure the compositor has finished rendering to it before it gets used.
|
||||
// This enforces scheduling of work on the gpu between processes.
|
||||
if (SUCCEEDED(pSyncTexture->QueryInterface(__uuidof(IDXGIKeyedMutex), (void **)&pKeyedMutex)))
|
||||
{
|
||||
Log("[VDispDvr] ACQUIRESYNC FAILED!!! hr=%d %p %s", hr, hr, GetDxErrorStr(hr).c_str());
|
||||
pKeyedMutex->Release();
|
||||
return;
|
||||
Log("[VDispDvr] Wait for SyncTexture Mutex.");
|
||||
// TODO: Reasonable timeout and timeout handling
|
||||
HRESULT hr = pKeyedMutex->AcquireSync(0, 10);
|
||||
if (hr != S_OK)
|
||||
{
|
||||
Log("[VDispDvr] ACQUIRESYNC FAILED!!! hr=%d %p %s", hr, hr, GetDxErrorStr(hr).c_str());
|
||||
pKeyedMutex->Release();
|
||||
return;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Log("[VDispDvr] Mutex Acquired.");
|
||||
Log("[VDispDvr] Mutex Acquired.");
|
||||
}
|
||||
|
||||
CopyTexture(layerCount);
|
||||
|
||||
if (pKeyedMutex)
|
||||
{
|
||||
pKeyedMutex->ReleaseSync(0);
|
||||
pKeyedMutex->Release();
|
||||
if (useMutex) {
|
||||
if (pKeyedMutex)
|
||||
{
|
||||
pKeyedMutex->ReleaseSync(0);
|
||||
pKeyedMutex->Release();
|
||||
}
|
||||
Log("[VDispDvr] Mutex Released.");
|
||||
}
|
||||
|
||||
Log("[VDispDvr] Mutex Released.");
|
||||
m_pEncoder->NewFrameReady();
|
||||
}
|
||||
|
|
@ -22,6 +22,7 @@
|
|||
<ProjectGuid>{6FB51D67-327E-4A18-BC74-7AA6AAB4C827}</ProjectGuid>
|
||||
<RootNamespace>driver_virtual_display</RootNamespace>
|
||||
<WindowsTargetPlatformVersion>10.0.16299.0</WindowsTargetPlatformVersion>
|
||||
<ProjectName>alvr_server</ProjectName>
|
||||
</PropertyGroup>
|
||||
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">
|
||||
|
@ -66,7 +67,12 @@
|
|||
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
|
||||
</ImportGroup>
|
||||
<PropertyGroup Label="UserMacros" />
|
||||
<PropertyGroup />
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
|
||||
<TargetName>driver_alvr_server</TargetName>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
|
||||
<TargetName>driver_alvr_server</TargetName>
|
||||
</PropertyGroup>
|
||||
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
|
||||
<ClCompile>
|
||||
<WarningLevel>Level3</WarningLevel>
|
||||
|
@ -151,7 +157,7 @@
|
|||
</ItemDefinitionGroup>
|
||||
<ItemGroup>
|
||||
<ClCompile Include="ControlSocket.cpp" />
|
||||
<ClCompile Include="driver_virtual_display.cpp" />
|
||||
<ClCompile Include="alvr_server.cpp" />
|
||||
<ClCompile Include="FrameRender.cpp" />
|
||||
<ClCompile Include="Logger.cpp" />
|
||||
<ClCompile Include="NvEncoder.cpp" />
|
||||
|
|
|
@ -0,0 +1,36 @@
|
|||
{
|
||||
"jsonid" : "vrresources",
|
||||
"statusicons" : {
|
||||
"HMD" : {
|
||||
"Prop_NamedIconPathDeviceOff_String" : "{sample}/icons/headset_sample_status_off.png",
|
||||
"Prop_NamedIconPathDeviceSearching_String" : "{sample}/icons/headset_sample_status_searching.gif",
|
||||
"Prop_NamedIconPathDeviceSearchingAlert_String" : "{sample}/icons/headset_sample_status_searching_alert.gif",
|
||||
"Prop_NamedIconPathDeviceReady_String" : "{sample}/icons/headset_sample_status_ready.png",
|
||||
"Prop_NamedIconPathDeviceReadyAlert_String" : "{sample}/icons/headset_sample_status_ready_alert.png",
|
||||
"Prop_NamedIconPathDeviceNotReady_String" : "{sample}/icons/headset_sample_status_error.png",
|
||||
"Prop_NamedIconPathDeviceStandby_String" : "{sample}/icons/headset_sample_status_standby.png",
|
||||
"Prop_NamedIconPathDeviceAlertLow_String" : "{sample}/icons/headset_sample_status_ready_low.png"
|
||||
},
|
||||
|
||||
"Model-v Defaults" : {
|
||||
"Prop_NamedIconPathDeviceOff_String" : "{sample}/icons/headset_sample_status_off.png",
|
||||
"Prop_NamedIconPathDeviceSearching_String" : "Prop_NamedIconPathDeviceOff_String",
|
||||
"Prop_NamedIconPathDeviceSearchingAlert_String" : "Prop_NamedIconPathDeviceOff_String",
|
||||
"Prop_NamedIconPathDeviceReady_String" : "Prop_NamedIconPathDeviceOff_String",
|
||||
"Prop_NamedIconPathDeviceReadyAlert_String" : "Prop_NamedIconPathDeviceOff_String",
|
||||
"Prop_NamedIconPathDeviceNotReady_String" : "Prop_NamedIconPathDeviceOff_String",
|
||||
"Prop_NamedIconPathDeviceStandby_String" : "Prop_NamedIconPathDeviceOff_String",
|
||||
"Prop_NamedIconPathDeviceAlertLow_String" : "Prop_NamedIconPathDeviceOff_String"
|
||||
},
|
||||
|
||||
"Model-v1.0" : {
|
||||
"Alias" : "Model-v Defaults",
|
||||
"Prop_NamedIconPathDeviceAlertLow_String" : "{sample}/icons/headset_model1_alertlow.png"
|
||||
},
|
||||
|
||||
"Model-v2.0" : {
|
||||
"Alias" : "Model-v1.0",
|
||||
"Prop_NamedIconPathDeviceAlertLow_String" : "{sample}/icons/headset_model2_alertlow.png"
|
||||
}
|
||||
}
|
||||
}
|
After Width: | Height: | Size: 2.9 KiB |
After Width: | Height: | Size: 1.4 KiB |
After Width: | Height: | Size: 2.3 KiB |
After Width: | Height: | Size: 2.8 KiB |
After Width: | Height: | Size: 2.8 KiB |
After Width: | Height: | Size: 20 KiB |
After Width: | Height: | Size: 23 KiB |
After Width: | Height: | Size: 1.6 KiB |
|
@ -1,5 +1,5 @@
|
|||
{
|
||||
"driver_remote_glass": {
|
||||
"driver_alvr_server": {
|
||||
"serialNumber": "RG-001",
|
||||
"modelNumber": "Remote Glass",
|
||||
"displayWidth": 2048,
|
||||
|
|
|
@ -3,14 +3,14 @@ Microsoft Visual Studio Solution File, Format Version 12.00
|
|||
# Visual Studio 15
|
||||
VisualStudioVersion = 15.0.27130.2010
|
||||
MinimumVisualStudioVersion = 10.0.40219.1
|
||||
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "driver_virtual_display", "driver_virtual_display\driver_virtual_display.vcxproj", "{6FB51D67-327E-4A18-BC74-7AA6AAB4C827}"
|
||||
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "alvr_server", "driver_virtual_display\driver_virtual_display.vcxproj", "{6FB51D67-327E-4A18-BC74-7AA6AAB4C827}"
|
||||
ProjectSection(ProjectDependencies) = postProject
|
||||
{10868996-D864-4E88-8BCB-BA530AF64712} = {10868996-D864-4E88-8BCB-BA530AF64712}
|
||||
EndProjectSection
|
||||
EndProject
|
||||
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "shared", "shared\shared.vcxproj", "{10868996-D864-4E88-8BCB-BA530AF64712}"
|
||||
EndProject
|
||||
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "RemoteGlassLauncher", "RemoteGlassLauncher\RemoteGlassLauncher.csproj", "{EF437C2D-9F33-4A80-985D-FAFD8ABCF304}"
|
||||
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ALVR", "ALVR\ALVR.csproj", "{EF437C2D-9F33-4A80-985D-FAFD8ABCF304}"
|
||||
EndProject
|
||||
Global
|
||||
GlobalSection(SolutionConfigurationPlatforms) = preSolution
|
||||
|
|