Runtime and build - Move all projects to .NET 10 with SDK-style project files and a shared Directory.Build.props (WIN/LINUX, x86/x64 defines) - Load managed and unmanaged dependencies from libs/managed and libs/unmanaged through assembly and native library resolvers - Compile party modes with Roslyn instead of CodeDom - Update AppVeyor to the .NET 10 SDK and dotnet test - Download the FFmpeg and gstreamer runtimes from the dependencies repository during the build - Remove the VC++ 2015-2022 runtime check, no dependency needs it anymore Graphics and windowing - Replace the Direct3D 9 renderer with Direct3D 11 (Vortice) - Pace Direct3D 11 frames with a frame latency waitable swap chain - Move window, input and message boxes to SDL3 - Replace System.Drawing with SkiaSharp and WinForms with SDL3 and a software renderer Video and audio - Replace Acinerella with FFmpeg 8.1.3 (FFmpeg.AutoGen) - Add hardware accelerated video decoding (D3D11VA, DXVA2, VideoToolbox, VAAPI, VDPAU) with software fallback - Convert YUV video frames to RGB on the GPU in Direct3D 11 and OpenGL - Add the video options HardwareDecoding, GpuColorConversion, DecoderThreads and VideoDownscaleResolution - Update OpenAL to OpenTK 4 and NAudio recording to WasapiRecorder Fixes - Fix the song preview start and shorten the reporter buttons - Fix a crash when opening the highscore without a selected song - Use the options slide highlight in the party mode screens to avoid brightness flicker on VRR displays - Disable GameInput in the x86 build, SDL3 crashes in GameInputCreate on 32-bit systems with the GameInput runtime installed - Fix a truncation warning in PitchTracker
162 lines
3.5 KiB
C#
162 lines
3.5 KiB
C#
#region license
|
|
// This file is part of Vocaluxe.
|
|
//
|
|
// Vocaluxe 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 3 of the License, or
|
|
// (at your option) any later version.
|
|
//
|
|
// Vocaluxe 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 Vocaluxe. If not, see <http://www.gnu.org/licenses/>.
|
|
#endregion
|
|
|
|
using System;
|
|
|
|
namespace VocaluxeLib
|
|
{
|
|
[Flags]
|
|
public enum Keys
|
|
{
|
|
None = 0,
|
|
Back = 8,
|
|
Tab = 9,
|
|
Clear = 12,
|
|
Enter = 13,
|
|
Return = 13,
|
|
ShiftKey = 16,
|
|
ControlKey = 17,
|
|
Menu = 18,
|
|
Pause = 19,
|
|
CapsLock = 20,
|
|
Escape = 27,
|
|
Space = 32,
|
|
PageUp = 33,
|
|
PageDown = 34,
|
|
End = 35,
|
|
Home = 36,
|
|
Left = 37,
|
|
Up = 38,
|
|
Right = 39,
|
|
Down = 40,
|
|
PrintScreen = 44,
|
|
Insert = 45,
|
|
Delete = 46,
|
|
D0 = 48,
|
|
D1 = 49,
|
|
D2 = 50,
|
|
D3 = 51,
|
|
D4 = 52,
|
|
D5 = 53,
|
|
D6 = 54,
|
|
D7 = 55,
|
|
D8 = 56,
|
|
D9 = 57,
|
|
A = 65,
|
|
B = 66,
|
|
C = 67,
|
|
D = 68,
|
|
E = 69,
|
|
F = 70,
|
|
G = 71,
|
|
H = 72,
|
|
I = 73,
|
|
J = 74,
|
|
K = 75,
|
|
L = 76,
|
|
M = 77,
|
|
N = 78,
|
|
O = 79,
|
|
P = 80,
|
|
Q = 81,
|
|
R = 82,
|
|
S = 83,
|
|
T = 84,
|
|
U = 85,
|
|
V = 86,
|
|
W = 87,
|
|
X = 88,
|
|
Y = 89,
|
|
Z = 90,
|
|
LWin = 91,
|
|
RWin = 92,
|
|
Apps = 93,
|
|
NumPad0 = 96,
|
|
NumPad1 = 97,
|
|
NumPad2 = 98,
|
|
NumPad3 = 99,
|
|
NumPad4 = 100,
|
|
NumPad5 = 101,
|
|
NumPad6 = 102,
|
|
NumPad7 = 103,
|
|
NumPad8 = 104,
|
|
NumPad9 = 105,
|
|
Multiply = 106,
|
|
Add = 107,
|
|
Separator = 108,
|
|
Subtract = 109,
|
|
Decimal = 110,
|
|
Divide = 111,
|
|
F1 = 112,
|
|
F2 = 113,
|
|
F3 = 114,
|
|
F4 = 115,
|
|
F5 = 116,
|
|
F6 = 117,
|
|
F7 = 118,
|
|
F8 = 119,
|
|
F9 = 120,
|
|
F10 = 121,
|
|
F11 = 122,
|
|
F12 = 123,
|
|
F13 = 124,
|
|
F14 = 125,
|
|
F15 = 126,
|
|
F16 = 127,
|
|
F17 = 128,
|
|
F18 = 129,
|
|
F19 = 130,
|
|
F20 = 131,
|
|
F21 = 132,
|
|
F22 = 133,
|
|
F23 = 134,
|
|
F24 = 135,
|
|
NumLock = 144,
|
|
Scroll = 145,
|
|
LShiftKey = 160,
|
|
RShiftKey = 161,
|
|
LControlKey = 162,
|
|
RControlKey = 163,
|
|
LMenu = 164,
|
|
RMenu = 165,
|
|
VolumeMute = 173,
|
|
VolumeDown = 174,
|
|
VolumeUp = 175,
|
|
MediaNextTrack = 176,
|
|
MediaPreviousTrack = 177,
|
|
MediaStop = 178,
|
|
MediaPlayPause = 179,
|
|
OemSemicolon = 186,
|
|
Oemplus = 187,
|
|
Oemcomma = 188,
|
|
OemMinus = 189,
|
|
OemPeriod = 190,
|
|
OemQuestion = 191,
|
|
Oemtilde = 192,
|
|
OemOpenBrackets = 219,
|
|
OemPipe = 220,
|
|
OemCloseBrackets = 221,
|
|
OemQuotes = 222,
|
|
OemBackslash = 226,
|
|
KeyCode = 0x0000FFFF,
|
|
Shift = 0x00010000,
|
|
Control = 0x00020000,
|
|
Alt = 0x00040000,
|
|
Modifiers = unchecked((int)0xFFFF0000)
|
|
}
|
|
}
|