78 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 d03224f29b Audio mode for each playlist entry (#909)
- Playlist entries get a second select slide for the audio mode (normal, instrumental, vocals, karaoke)
- The slide is only shown if the song has an instrumental file, otherwise normal is used
- The audio mode is saved in the playlist file and used for each round
- Sing, score and highscore screens use the audio mode of the current round
- Song options select the audio mode by mode instead of position
- ScreenSong theme version 15

Co-authored-by: Florian Ostertag <flokuep@users.noreply.github.com>
2026-10-17 04:46:28 +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
Stefan d4fd0c7ba1 Scroll offset was ignored while singing a single playlist song (fix #487) 2020-02-07 21:10:31 +01:00
Stefan 752b8e91fe Add list button to toggle playlist filter (#218) 2020-02-04 12:15:28 +01:00
Stefan 7838b26b0f New function to check playlist name edit state 2020-02-02 11:39:54 +01:00
Florian Küpper c5bfd46865 Removed outdated xml loading stuff 2017-09-02 18:00:06 +02:00
lukeIam 3c7f696756 Fix: Scrolling issue when changing from long list to short list - reset scrolling if the list is changed (fixes #217) 2016-11-19 19:29:42 +01:00
lukeIam 28e4c2b3f5 Fixed Playlist buttons (2nd try) 2015-09-08 16:52:23 +02:00
Flamefire 9e4a14985e More fixes for playlist handling 2014-12-21 13:35:55 +01:00
Flamefire aa77d2d95c Fix drag&drop of playlist 2014-12-21 12:38:40 +01:00
Florian Küpper 4ede575ea1 Fix drawing playlist. (Still broken) 2014-12-19 18:23:29 +01:00
Flamefire 1ba0d429a1 Simplify SelectSlides and fix a couple of problems there 2014-12-13 13:52:59 +01:00
Flamefire cd59b82b7b Fix some resharper warnings and errors 2014-12-02 21:59:33 +01:00
Flamefire 4b0f563a6c Fix crashes/assertion failures on theme/skin change
First step of fixing theme saving (still needs some work)
2014-12-01 22:40:47 +01:00
Flamefire 26484ad137 Fix blank screen issue
Also fix some other bugs and improvements (easier party modes, volume fixes, new fields for screens to control volume and popups)
2014-11-27 21:47:02 +01:00
Flamefire dd6b0416b6 Rename XML to lowercase Xml in classes and names for consistency 2014-11-17 19:33:48 +01:00
Flamefire 7188208b6b Add documentation 2014-10-30 19:21:28 +01:00
Flamefire 1698c1b027 Serialize playlists 2014-10-27 18:40:47 +01:00
Flamefire 10c456cbff Unify name of selected color to SelColor 2014-10-23 00:39:57 +02:00
Flamefire 8c3a50c18f More improvements for objectinteractions
Also removes highlight textures and colors
2014-10-22 13:46:34 +02:00
Flamefire 4c7013836b Move non-drawing stuff out of Draw methods 2014-10-19 18:37:16 +02:00
Flamefire ae7a7fd390 Implement a common Interface for all MenuElements
Also remove CSongMenu and replace it with a factory class
2014-10-19 17:17:39 +02:00
Flamefire b07d31f697 Unify object interactions 2014-10-18 18:46:13 +02:00
Flamefire d8cce13211 Rename LoadTextures to LoadSkin
(Its also Colors, not only textures!)
2014-10-18 10:42:35 +02:00
Flamefire 3f76d039b6 Change color representation
Allow missing ARGB values (defaults to 1)
Allow Name+ARGB to easily overwrite some values
2014-10-16 22:40:18 +02:00
Flamefire 86fb73ca48 Cleanup not required XML attributes 2014-10-16 21:27:09 +02:00
Flamefire defb2ca6c7 Rewrite Theme Engine 2014-10-08 22:29:02 +02:00
Flamefire 9e5011374f Rename CTheme to CThemes 2014-10-05 17:27:45 +02:00
Flamefire 355d7b4b5f Merge branch 'develop' into Better_Graphics_Handling
Conflicts:
	VocaluxeLib/Menu/CNameSelection.cs
	VocaluxeLib/Menu/CPlaylist.cs
	VocaluxeLib/Menu/CText.cs
	VocaluxeLib/Menu/SongMenu/CSongMenuFramework.cs
	VocaluxeLib/Structs.cs
	VocaluxeLib/VocaluxeLib.csproj
	VocaluxeLib/Xml/CXMLReader.cs
2014-10-05 15:09:52 +02:00
Flamefire 89e528c2a6 Factor out CSkin class
Replace usages of GetColor and remove GetColor(..., skinIndex,...)
2014-10-05 13:36:11 +02:00
Flamefire 6ebbf7df6f Introduce example for a more flexible deserialization
Also make the CoverGenerator themes serializeable
Rest is automatic reformatting.
2014-10-01 00:54:04 +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 cc7d8058e2 Move extension methods to Extensions.cs
Add IsInRange function
2014-09-24 16:40:45 +02:00
Florian Küpper c07441bc63 Load complete theme-date with de-serialization. 2014-09-18 15:35:52 +02:00
Florian Küpper 9ab0ea5f34 Update more LoadTextures-methods. Some changes are a bit ugly, but will removed later. 2014-09-15 19:35:00 +02:00
Florian Küpper d248292fa3 Update LoadTextures for some elements. 2014-09-12 09:34:55 +02:00
Florian Küpper e936fe4126 Added constructors with STheme*-structs, LoadTextures() will be LoadTheme later and set all needed values from theme-struct to object. 2014-09-10 20:44:39 +02:00
Florian Küpper 9cca49745a Added constructors to STheme* for copying. 2014-09-10 11:17:36 +02:00
Florian Küpper 96e50f7723 Changed theme-color-handling. 2014-09-09 21:32:07 +02:00
Florian Küpper b2102b11d9 Add serialization for all theme-elements. 2014-08-26 16:48:30 +02:00
Flamefire 75ff5a0291 Remove redundant names in playlist functions
Fix handling of playlist IDs
2014-08-08 23:49:01 +02:00
Flamefire eba5deba2b Make CSettings contain only constant values to avoid accidental misuse. Everything changeable is in CConfig 2014-03-19 19:54:55 +01:00
Flamefire 6de23ea428 Use IsGameModeAvail for duet check 2013-10-12 21:50:39 +02:00
Flamefire b12e4156fa Allow #ENDSHORT tags
Detect where Preview and ShortEnd came from
Introduce a function to check whether a given GameMode is available for a song
2013-10-12 21:42:03 +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 339e0b41f7 fixed playlist texts 2013-05-20 21:01:46 +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