38 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
McSchneidar e665e31f4a Improved animations (#907)
* Smoother countdown and new menu and in-game animations

- Countdown digits pop in and fade out each second, with a ring of dots showing the remaining part of the second
- Medley countdown uses a smoothed timer and no longer stutters
- Rating popups scale in from below and drift upwards while fading out
- Player scores pulse briefly at the end of a line
- Pause menu fades and scales in and out
- Buttons and select slides pulse briefly when they get selected
- Shared easing functions and a draw transform for animations

* Retrigger CI
2026-10-17 12:39:18 +02: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
Jeff Dolan 1e19e2928c Adding a regex based solution for enumerating files looking for multiple extensions at same time (#811)
* Adding a regex based solution for enumerating files looking for multiple extensions at same time. This should give better performance than enumerating over the same files multiple times looking for different patterns

* Adding a timeout value for regex per security recommendation

* Store the regex directly so we don't have to keep constructing it, also adding some logging and handling for exceptions when enumerating files
2025-11-03 17:11:31 +01:00
Stefan c59f2c937a Adding PillarBox as own EAspect (fix #499)
Prior this change PillarBox was made in a special case at LetterBox, but that has an effect on the cover image creation.
Fix #499
2020-02-18 10:10:59 +01:00
Stefan 94aa28112d On LetterBox make a Pillarbox if aspect ratio is equal
If background video and Vocaluxe have the same aspect ratio, switching to aspect ratio LetterBox would do a Pillarbox, so you can add 4:3 borders, if a video file has the wrong aspect ratio (maybe SAR value at 16:9, but a DAR value at 4:3). Without this change, LetterBox would do exactly the same as Crop in this special case.
2020-01-12 21:32:36 +01:00
Stefan Wurzinger b5185d56b2 ListFiles: enumerate files lazily 2018-10-24 01:07:40 +02:00
lukeIam c907ec0f44 Refactor logging 2018-01-16 11:57:15 +01:00
Flamefire 19f81943d6 Introduce RenderRect for easy access to the full screen rect 2014-09-26 15:05:19 +02:00
Flamefire c156fa69ab Merge branch 'develop' of git://github.com/flokuep/Vocaluxe into Better_Graphics_Handling
Conflicts:
	Vocaluxe/COSFunctions.cs
	VocaluxeLib/CHelper.cs
	VocaluxeLib/Menu/CStatic.cs
	VocaluxeLib/Structs.cs
2014-09-25 18:49:18 +02:00
Flamefire 879176a87f Rename SetRect to something more appropriate and tune it 2014-09-25 12:15:18 +02:00
Flamefire cc7d8058e2 Move extension methods to Extensions.cs
Add IsInRange function
2014-09-24 16:40:45 +02:00
Flamefire 649f81494e Fix some race conditions with the texture references
Add queuing of files
Split CEncoding to separate file
2014-09-23 21:37:46 +02:00
Flamefire c9c907e3f0 Add more queue and update functions
Add CopyTexture function
Document CDraw
2014-09-22 15:08:45 +02:00
Florian Küpper e915e72ce6 Added to zoom-levels to VideoAspect. Toogle on ScreenSing with 'V', saved to song-text if saving is enabled in config.xml. 2014-09-19 16:15:53 +02:00
Florian Küpper b2102b11d9 Add serialization for all theme-elements. 2014-08-26 16:48:30 +02:00
Flamefire ced12ac064 Fix NPE with few songs in category 2014-08-09 15:27:05 +02:00
Flamefire 03b9ea8e49 Rename File/Folder name variables to distinguish them from real (full) paths
Make sure full path is used everywhere (if I didn't miss anything)
2014-08-08 17:27:36 +02:00
Flamefire fe60f6f5df Simplify Songmenu (only selected and preview numbers)
More consistent handling of mouse and keyboard selection of songs
2014-08-07 19:31:17 +02:00
Flamefire 251e2f0986 Reformat doc and include license in headers (important) 2014-03-23 21:59:27 +01:00
Flamefire 6053102b8f Rework CBackgroundMusic to avoid crash on startup and assure correct behaviour on runtime 2014-03-18 16:46:59 +01:00
Flamefire 658a3068b0 Add helper function for listing image files (common task) 2014-03-16 18:58:01 +01:00
Flamefire 45bc144559 Merge branch 'Better_Rounds_Handling' into develop
Conflicts:
	Vocaluxe/Screens/CScreenNames.cs
2014-03-11 22:38:31 +01:00
Flamefire 149026ec32 IMPORTANT: Format of all files with Resharper
NO functional changes. If you have problems merging your changes, merge/rebase on previous commit then merge this. Conflicts can easily be resolved (take yours if in doubt)
After that merge next commits
2014-02-26 00:36:00 +01:00
Flamefire f8b80a5911 Merge branch 'develop' into Better_Rounds_Handling
Conflicts:
	Vocaluxe/Base/CGame.cs
	Vocaluxe/Screens/CScreenNames.cs
2013-10-21 15:55:46 +02:00
Flamefire 73e4a9fa74 Merge branch 'release-0.3' into develop
Conflicts:
	Vocaluxe/Base/CConfig.cs
	Vocaluxe/Lib/Playlist/CPlaylistFile.cs
	Vocaluxe/Screens/CScreenSong.cs
	VocaluxeLib/CHelper.cs
	VocaluxeLib/Menu/CMenu.cs
	VocaluxeLib/Menu/SongMenu/CSongMenuFramework.cs
	VocaluxeLib/Menu/SongMenu/CSongMenuTileBoard.cs
2013-10-19 00:42:56 +02:00
Flamefire 155718456c Fix file-not-found exception 2013-10-18 21:29:43 +02:00
Flamefire 1702859e79 Write decimals in international format
No warning on #RESOLUTION tag
2013-10-14 21:55:26 +02:00
Flamefire 87ba525811 Fix for SongWriter 2013-10-12 18:08:46 +02:00
Flamefire ed22088728 Split CSong to have single file for note and header reading.
Some simpler assignments and more error checking
2013-10-11 14:50:28 +02:00
Flamefire 271772301d Fix some bugs where round was actually roundNr
Now round (0 based) is always used
2013-10-08 18:01:08 +02:00
Flamefire 370964ee99 Fix file headers and indentations 2013-09-20 18:09:32 +02:00
Flamefire 762d2c80d2 Code cleanup
Added license stuff
2013-08-22 00:56:58 +02:00
Alexander Eckart ca5fc16332 fixed loading songs (TryReadInt) 2013-06-06 21:34:06 +02:00
Flamefire 11398dbb2f Cleanups after merge 2013-05-19 18:38:50 +02:00
Flamefire 9d13c32b93 Merge branch 'Better_Graphics_Handling' into develop
Conflicts:
	Vocaluxe/Base/CBackgroundMusic.cs
	Vocaluxe/Base/CCover.cs
	Vocaluxe/Base/CDataBase.cs
	Vocaluxe/Base/CDraw.cs
	Vocaluxe/Base/CMain.cs
	Vocaluxe/Base/CProfiles.cs
	Vocaluxe/Base/CTheme.cs
	Vocaluxe/Base/CVideo.cs
	Vocaluxe/Base/CWebcam.cs
	Vocaluxe/Base/Fonts/CFont.cs
	Vocaluxe/Base/Fonts/CGlyph.cs
	Vocaluxe/Lib/Draw/CDirect3D.cs
	Vocaluxe/Lib/Draw/CDrawWinForm.cs
	Vocaluxe/Lib/Draw/COpenGL.cs
	Vocaluxe/Lib/Draw/IDraw.cs
	Vocaluxe/Lib/Video/CVideoDecoder.cs
	Vocaluxe/Lib/Video/CVideoDecoderFFmpeg.cs
	Vocaluxe/Lib/Video/CVideoDecoderGstreamer.cs
	Vocaluxe/Lib/Video/IVideoDecoder.cs
	Vocaluxe/Lib/Webcam/CAForgeNet.cs
	Vocaluxe/Lib/Webcam/IWebcam.cs
	Vocaluxe/Screens/CScreenCredits.cs
	Vocaluxe/Screens/CScreenNames.cs
	Vocaluxe/Screens/CScreenOptionsVideo.cs
	Vocaluxe/Screens/CScreenProfiles.cs
	Vocaluxe/Screens/CScreenSing.cs
	VocaluxeLib/Menu/IMenu.cs
	VocaluxeLib/Songs/CCategory.cs
	VocaluxeLib/Songs/CSong.cs
	VocaluxeLib/Structs.cs
	VocaluxeLib/VocaluxeLib.csproj
2013-05-19 17:53:46 +02:00
Alexander Eckart ed3047314b finished moving around 2013-05-06 23:18:02 +02:00
Alexander Eckart 685bc019fd moved some files 2013-05-06 23:11:56 +02:00