49 Commits
Author SHA1 Message Date
McSchneidar cf2fa796e2 .NET10 Migration (#946)
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
2026-11-02 08:11:20 +01:00
McSchneidarandFlorian Ostertag 336d08040e New Webserver and WebApp (#942)
* Replace the WCF webserver with an ASP.NET Core webserver (VocaluxeWeb)

- New project VocaluxeWeb: ASP.NET Core 2.3 (Kestrel) on .NET Framework 4.8.1, HTTP or HTTPS
  with a self-signed certificate, REST API (/api/v1) with Swagger, live events (Server-Sent Events)
- Access to the game only through IVocaluxeRemote; requests run on the main thread once per frame
- Sessions with roles (guest, player, admin) and configurable permissions, PINs hashed with PBKDF2
- Queue as a playlist with requesters and singers, fair order (one song per person and round)
- Admin: settings, server status, logged-in devices, activate/deactivate and delete profiles
- Profile pictures: own photo or one of the Vocaluxe avatars
- Game: WebApp queue screen (song options, playlist group) to start the next song with the chosen
  singers, return to it after singing, warning when the webserver is off, remote keyboard
- Old WCF server, WebserverInitalConfig and URL reservations removed; libraries moved to libs/managed
- Unit tests for PIN hashing, settings and permissions, queue order and device names
- AppVeyor: Visual Studio 2022 image and Node.js 24 (the build compiles the WebApp)
- Documentation in VocaluxeWeb/README.md

* New WebApp (Vue 3, TypeScript, Vite) replacing the old jQuery Mobile website

- Login with profile and PIN, create profiles
- Songs with search, filters, sorting and 30 second previews
- Queue: add songs with game mode, audio and singers, edit, reorder, start in the game
- Playlists: create, edit, add to the queue
- Now playing with live updates, remote control and keyboard
- Players: own profile with picture (photo or Vocaluxe avatar), roles for admins
- Admin settings: permissions, server status, devices, profiles
- Help page, responsive layout for phones, tablets and desktops, light and dark mode
- Texts in WebApp/src/locales/en.json, translated with Transifex
- Old website and PhoneGap config removed

---------

Co-authored-by: Florian Ostertag <flokuep@users.noreply.github.com>
2026-10-26 05:40:11 +01:00
Quentin Bray 6ffa63b923 Apply R# clean-up for reliability (#877)
* Apply R# clean-up for reliability

- Migrate to NUnit4 Assert.That
- Update dependencise versions
- Fix LangVersion to 9.0 (until net core migration)
- Reformat code
- Apply 'var' style (easier for refactoring)
- Remove redundant parentheses
- Add braces on every condition blocks (1 line)
- Uses new null checking patterns
- Uses AutoProperties when possible
- Uses string scalar type instead of class
- Clean usings
- Add .orig files in git ignore
- Rename some properties to respect defined conventions and US format definition
	- ID -> Id
	- BPM -> Bpm
	- Finish -> End

* Update R# settings according to the clean-up made
2026-06-22 19:52:06 +02:00
Metin Celik 9fbcc077ff Modernize NuGet dependencies and migrate to PackageReference (#823)
* Add .vscode to .gitignore

* Update copyright year

* Update Newtonsoft.Json package to version 13.0.4

* Migrate NuGet to PackageReference

* Replace vocaluxe.dependencies.sqlite with Microsoft.Data.Sqlite

* Update Serilog package references to latest versions

* Fix typo
2025-12-29 14:09:03 +01:00
Metin Celik f11e27d98b Visual Studio 2026 (#821)
* Fix quoting in PreBuildEvent for Windows

* Add /Output/*.xml to .gitignore

* Add support for Visual Studio 2022 (v145) platform toolset

* Fix build scripts for paths with spaces
2025-12-27 17:12:52 +01:00
lukeIam a844beb4cf Updated gitignore (exclude Test/bin) 2018-03-16 13:31:13 +01:00
lukeIam 92a6bcee49 Ignore the log folder in .gitignore 2018-01-19 19:05:49 +01:00
lukeIam 29375e9b80 Merge branch 'dependencyErrorMessage' into installer 2017-09-01 20:48:31 +02:00
Florian Küpper 6e39633a87 updated gitignore
- pngs in profiles folder
- .dll.config files
- .vs folder (visual studio stuff)
2017-08-31 23:25:10 +02:00
Florian Küpper 7ae2e33024 Updated installer to new ai version, added script
- Installer should now work properly
- Use buildinstaller.bat to create installer for x86 and x64.
2017-08-26 18:10:32 +02:00
Florian Küpper 1c6c090360 First draft of new installer 2017-08-15 02:49:39 +02:00
lukeIam a61f5ea448 Add /PitchTracker/bin and /PitchTracker/obj to gitignore 2016-11-18 17:54:07 +01:00
lukeIam 81fca1c991 Add new IntelliSense database files to gitignore 2016-11-18 17:34:26 +01:00
Florian Küpper 4fb905d0b3 Language update 2016-04-01 11:16:48 +02:00
lukeIam 27cf45fb07 Add the Ambient theme to git again 2015-12-07 20:52:39 +01:00
lukeIam 8b4ecfce7c Updated git ignore 2015-12-06 13:48:17 +01:00
lukeIam e66cb853c5 Updated .gitignore 2015-12-06 13:42:28 +01:00
Flamefire f9e85d8168 Add unit test for serializer 2014-10-27 17:54:31 +01:00
Florian Küpper 4eb5872e2f Update installer. Add gstreamer-installer-files manually (don't want to blow up repository) 2014-09-21 16:22:06 +02:00
Florian Küpper b2aefe8854 Update installer. 2014-08-03 15:13:20 +02:00
Florian Küpper ed6a845168 Do some cleanup (remove unneeded, old client-server-stuff), another update of .gitignore 2014-08-03 14:56:07 +02:00
Florian Küpper 342731084b Update of .gitignore 2014-08-03 13:13:15 +02:00
Flamefire 8eb42b5a5f Add a native version of the pitch detection algo as C# is to slow for exact real time detection(Speedup: 10) 2014-03-23 22:01:44 +01:00
Flamefire 8b1b44ad49 Refactoring to make names conistent and remove warnings 2014-02-15 13:08:24 +01:00
Flamefire b8629c1a74 Update gitignore 2014-02-15 12:36:07 +01:00
Florian Küpper 97abd86661 update .gitignore 2013-12-26 13:44:15 +01:00
lukeIam 4c932ba85c Exclude output 2013-12-13 18:02:18 +01:00
lukeIam ee3f524109 ClientServerLib.dll is generated automatically - ignore it 2013-12-13 17:56:48 +01:00
Stephan Sundermann eb2dc4b839 Updated gitignore 2013-08-29 14:29:30 +02:00
Alexander Eckart 2811fc002f added missing dll 2013-05-06 22:15:31 +02:00
Alexander Eckart d335cad775 added .apk to gitignore 2013-05-06 22:10:03 +02:00
Alexander Eckart 0a4d1ebe61 added a simple android test application (using xamarin) 2013-05-05 17:03:12 +02:00
Alexander Eckart eb9e17d2e6 using json as serializer 2013-05-05 16:53:16 +02:00
Alexander Eckart b959c5ff8a introduced controller framework, simple control test implementation 2013-05-04 23:48:08 +02:00
Alexander Eckart 7f71853672 added Server/CVocaluxeServer.cs 2013-05-04 19:01:09 +02:00
Alexander Eckart 40c470c184 added Client Test Form 2013-05-04 16:53:36 +02:00
Alexander Eckart 7346ce5f11 adjusted .gitignore 2013-05-04 15:58:35 +02:00
Alexander Eckart a1084d2bea added ClientServerLib Project (not tested) 2013-05-04 15:57:04 +02:00
Flamefire 7a2450782c Added better output dirs 2013-04-29 00:52:26 +02:00
Flamefire f437620e54 Changed output dir for gstreamer helper 2013-04-28 20:46:01 +02:00
Flamefire 2df9c2d6f4 Fixed missing renamings
Added support for Win XP
2013-04-16 22:12:00 +02:00
Flamefire 1f695a7b83 Added StyleCop Cleanups 2013-03-22 23:17:33 +01:00
Flamefire 91e6d4901b Changed namespace of VocaluxeLib 2013-03-22 20:53:22 +01:00
Flamefire 8b70a42e09 Merge branch 'gstreamer' into develop
Conflicts:
	.gitignore
	Vocaluxe/Vocaluxe.csproj
2013-03-15 14:57:17 +01:00
Flamefire 0012a21c90 Fixed warnings and possible bug 2013-03-15 14:52:44 +01:00
Flamefire da889c9d40 Removed duplicate code in CMenu 2013-03-14 00:16:41 +01:00
Flamefire dbb9c6355f Added option to start current song/enter current category
Added CSong.IsInCategory
2013-02-27 01:03:33 +01:00
Flamefire ce9e426bae Refactored sorting and filtering 2013-02-25 00:17:14 +01:00
Flamefire 1a644ab22c Added Mic delay in calculation of line breaks
Added config entry for minimal time before text is show
2013-02-21 13:11:30 +01:00